@espresso-lab/mantine-data-table 1.10.10 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../node_modules/react/cjs/react-compiler-runtime.production.js","../node_modules/react/cjs/react-compiler-runtime.development.js","../node_modules/react/compiler-runtime.js","../node_modules/@tanstack/query-core/build/modern/subscribable.js","../node_modules/@tanstack/query-core/build/modern/timeoutManager.js","../node_modules/@tanstack/query-core/build/modern/utils.js","../node_modules/@tanstack/query-core/build/modern/focusManager.js","../node_modules/@tanstack/query-core/build/modern/thenable.js","../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../node_modules/@tanstack/query-core/build/modern/retryer.js","../node_modules/@tanstack/query-core/build/modern/query.js","../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../node_modules/@tanstack/query-core/build/modern/mutation.js","../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js","../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../node_modules/@tanstack/react-query/build/modern/suspense.js","../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../node_modules/@tanstack/react-query/build/modern/useQuery.js","../node_modules/@tanstack/react-query/build/modern/useMutation.js","../node_modules/@espresso-lab/mantine-cognito/dist/index.es.js","../src/Context/DataTableContext.tsx","../src/Hooks/useDataTable.ts","../src/Hooks/useApi.ts","../node_modules/dayjs/dayjs.min.js","../node_modules/@mantine/dates/esm/utils/handle-control-key-down/handle-control-key-down.mjs","../node_modules/@mantine/dates/esm/utils/to-date-string/to-date-string.mjs","../node_modules/@mantine/dates/esm/components/DatesProvider/DatesProvider.mjs","../node_modules/@mantine/dates/esm/components/DatesProvider/use-dates-context.mjs","../node_modules/@mantine/dates/esm/components/HiddenDatesInput/HiddenDatesInput.mjs","../node_modules/clsx/dist/clsx.mjs","../node_modules/@mantine/dates/esm/components/Day/Day.module.css.mjs","../node_modules/@mantine/dates/esm/components/Day/Day.mjs","../node_modules/@mantine/dates/esm/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.mjs","../node_modules/@mantine/dates/esm/components/WeekdaysRow/WeekdaysRow.module.css.mjs","../node_modules/@mantine/dates/esm/components/WeekdaysRow/WeekdaysRow.mjs","../node_modules/@mantine/dates/esm/components/Month/get-end-of-week/get-end-of-week.mjs","../node_modules/@mantine/dates/esm/components/Month/get-start-of-week/get-start-of-week.mjs","../node_modules/@mantine/dates/esm/components/Month/get-month-days/get-month-days.mjs","../node_modules/@mantine/dates/esm/components/Month/is-same-month/is-same-month.mjs","../node_modules/@mantine/dates/esm/components/Month/is-after-min-date/is-after-min-date.mjs","../node_modules/@mantine/dates/esm/components/Month/is-before-max-date/is-before-max-date.mjs","../node_modules/@mantine/dates/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.mjs","../node_modules/dayjs/plugin/isoWeek.js","../node_modules/@mantine/dates/esm/components/Month/get-week-number/get-week-number.mjs","../node_modules/@mantine/dates/esm/components/Month/Month.module.css.mjs","../node_modules/@mantine/dates/esm/components/Month/Month.mjs","../node_modules/@mantine/dates/esm/components/PickerControl/PickerControl.module.css.mjs","../node_modules/@mantine/dates/esm/components/PickerControl/PickerControl.mjs","../node_modules/@mantine/dates/esm/components/YearsList/is-year-disabled/is-year-disabled.mjs","../node_modules/@mantine/dates/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.mjs","../node_modules/@mantine/dates/esm/components/YearsList/get-years-data/get-years-data.mjs","../node_modules/@mantine/dates/esm/components/YearsList/YearsList.module.css.mjs","../node_modules/@mantine/dates/esm/components/YearsList/YearsList.mjs","../node_modules/@mantine/dates/esm/components/MonthsList/is-month-disabled/is-month-disabled.mjs","../node_modules/@mantine/dates/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.mjs","../node_modules/@mantine/dates/esm/components/MonthsList/get-months-data/get-months-data.mjs","../node_modules/@mantine/dates/esm/components/MonthsList/MonthsList.module.css.mjs","../node_modules/@mantine/dates/esm/components/MonthsList/MonthsList.mjs","../node_modules/@mantine/dates/esm/components/CalendarHeader/CalendarHeader.module.css.mjs","../node_modules/@mantine/dates/esm/components/CalendarHeader/CalendarHeader.mjs","../node_modules/@mantine/dates/esm/components/DecadeLevel/get-decade-range/get-decade-range.mjs","../node_modules/@mantine/dates/esm/components/DecadeLevel/DecadeLevel.mjs","../node_modules/@mantine/dates/esm/components/YearLevel/YearLevel.mjs","../node_modules/@mantine/dates/esm/components/MonthLevel/MonthLevel.mjs","../node_modules/@mantine/dates/esm/components/LevelsGroup/LevelsGroup.module.css.mjs","../node_modules/@mantine/dates/esm/components/LevelsGroup/LevelsGroup.mjs","../node_modules/@mantine/dates/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs","../node_modules/@mantine/dates/esm/components/YearLevelGroup/YearLevelGroup.mjs","../node_modules/@mantine/dates/esm/components/MonthLevelGroup/MonthLevelGroup.mjs","../node_modules/@mantine/dates/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs","../node_modules/@mantine/dates/esm/components/Calendar/clamp-level/clamp-level.mjs","../node_modules/@mantine/dates/esm/components/Calendar/Calendar.mjs","../node_modules/@mantine/dates/esm/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.mjs","../node_modules/@mantine/dates/esm/components/DateInput/date-string-parser/date-string-parser.mjs","../node_modules/@mantine/dates/esm/components/DateInput/is-date-valid/is-date-valid.mjs","../node_modules/@mantine/dates/esm/components/DateInput/DateInput.mjs","../src/DataTable/CreateModal.tsx","../node_modules/mantine-datatable/dist/index.mjs","../src/DataTable/UpdateModal.tsx","../src/DataTable/DeleteModal.tsx","../src/Hooks/usePersitentState.ts","../src/utils/sort.ts","../src/DataTable/MobileCardList.tsx","../src/DataTable/DataTableInner.tsx","../src/DataTable/DataTable.tsx"],"sourcesContent":["/**\n * @license React\n * react-compiler-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar ReactSharedInternals =\n require(\"react\").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nexports.c = function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n};\n","/**\n * @license React\n * react-compiler-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n var ReactSharedInternals =\n require(\"react\").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n exports.c = function (size) {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher.useMemoCache(size);\n };\n })();\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-compiler-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-compiler-runtime.development.js');\n}\n","// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/timeoutManager.ts\nvar 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: (timeoutId) => clearTimeout(timeoutId),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: (intervalId) => clearInterval(intervalId)\n};\nvar 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 ReturnType<typeof setTimeout>, which is infeasible.\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 (process.env.NODE_ENV !== \"production\") {\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 (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = false;\n }\n }\n setTimeout(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setTimeout(callback, delay);\n }\n clearTimeout(timeoutId) {\n this.#provider.clearTimeout(timeoutId);\n }\n setInterval(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n this.#provider.clearInterval(intervalId);\n }\n};\nvar timeoutManager = new TimeoutManager();\nfunction systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n}\nexport {\n TimeoutManager,\n defaultTimeoutProvider,\n systemSetTimeoutZero,\n timeoutManager\n};\n//# sourceMappingURL=timeoutManager.js.map","// src/utils.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveEnabled(enabled, query) {\n return typeof enabled === \"function\" ? enabled(query) : enabled;\n}\nfunction 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}\nfunction 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}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction 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}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n const array = isPlainArray(a) && isPlainArray(b);\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b;\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? new Array(bSize) : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n const aItem = a[key];\n const bItem = b[key];\n if (aItem === bItem) {\n copy[key] = aItem;\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++;\n continue;\n }\n if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n copy[key] = bItem;\n continue;\n }\n const v = replaceEqualDeep(aItem, bItem);\n copy[key] = v;\n if (v === aItem) equalItems++;\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction 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}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== \"production\") {\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. [${options.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n}\nexport {\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n shouldThrowError,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\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((listener) => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/thenable.ts\nimport { noop } from \"./utils.js\";\nfunction 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 finalize(data) {\n Object.assign(thenable, data);\n delete thenable.resolve;\n delete thenable.reject;\n }\n thenable.resolve = (value) => {\n finalize({\n status: \"fulfilled\",\n value\n });\n resolve(value);\n };\n thenable.reject = (reason) => {\n finalize({\n status: \"rejected\",\n reason\n });\n reject(reason);\n };\n return thenable;\n}\nfunction tryResolveSync(promise) {\n let data;\n promise.then((result) => {\n data = result;\n return result;\n }, noop)?.catch(noop);\n if (data !== void 0) {\n return { data };\n }\n return void 0;\n}\nexport {\n pendingThenable,\n tryResolveSync\n};\n//# sourceMappingURL=thenable.js.map","// src/notifyManager.ts\nimport { systemSetTimeoutZero } from \"./timeoutManager.js\";\nvar defaultScheduler = systemSetTimeoutZero;\nfunction 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}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n defaultScheduler,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (!isServer && 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((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport { isServer, sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class extends Error {\n constructor(options) {\n super(\"CancelledError\");\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction 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 ?? (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}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/query.ts\nimport {\n ensureQueryFn,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n skipToken,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { CancelledError, canFetch, createRetryer } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar 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(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n if (this.state && this.state.data === void 0) {\n const defaultState = getDefaultState(this.options);\n if (defaultState.data !== void 0) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt)\n );\n this.#initialState = defaultState;\n }\n }\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n this.#dispatch({ type: \"setState\", state, setStateOptions });\n }\n cancel(options) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n reset() {\n this.destroy();\n this.setState(this.#initialState);\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.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((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x) => x.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((x) => x !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\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 invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n async fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\" && // If the promise in the retyer 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 (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\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 (process.env.NODE_ENV !== \"production\") {\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 = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.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 ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\"\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\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};\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n}\nfunction successState(data, dataUpdatedAt) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\"\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.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}\nexport {\n Query,\n fetchState\n};\n//# sourceMappingURL=query.js.map","// src/queryObserver.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { fetchState } from \"./query.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n this.bindMethods();\n this.setOptions(options);\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(options) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\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(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\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({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\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 (isServer || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time + 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 (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) {\n timeoutManager.clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId) {\n timeoutManager.clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\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 } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(data);\n data = replaceData(prevResult?.data, data, options);\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: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\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, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n isEnabled: resolveEnabled(options.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const finalizeThenableIfPossible = (thenable) => {\n if (nextResult.status === \"error\") {\n thenable.reject(nextResult.error);\n } else if (nextResult.data !== void 0) {\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 (nextResult.status === \"error\" || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (nextResult.status !== \"error\" || 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((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return resolveEnabled(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (resolveEnabled(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || resolveEnabled(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return resolveEnabled(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar 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 || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\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((x) => x !== 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 await this.#mutationCache.config.onMutate?.(\n variables,\n this,\n mutationFnContext\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 await this.options.onError?.(\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\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 await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n throw error;\n } finally {\n this.#dispatch({ type: \"error\", error });\n }\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\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 ...state,\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 ...state,\n data: void 0,\n error: action.error,\n failureCount: state.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};\nfunction getDefaultState() {\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}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\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(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\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, options) {\n this.#mutateOptions = options;\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 state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.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 this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } else if (action?.type === \"error\") {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + 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 children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n maybeKey,\n getOwner(),\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar 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};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/IsRestoringProvider.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=IsRestoringProvider.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction 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}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"@tanstack/query-core\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => {\n if (options.suspense || options.throwOnError || options.experimental_prefetchInRender) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar 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};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureSuspenseTimers = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n const MIN_SUSPENSE_TIME_MS = 1e3;\n const clamp = (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) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(\n defaultedOptions.gcTime,\n MIN_SUSPENSE_TIME_MS\n );\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { isServer, noop, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n} from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\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(options);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\n );\n if (process.env.NODE_ENV !== \"production\") {\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);\n useClearResetErrorBoundary(errorResetBoundary);\n const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.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 React.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: client.getQueryCache().get(defaultedOptions.queryHash),\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 && !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 client.getQueryCache().get(defaultedOptions.queryHash)?.promise\n );\n promise?.catch(noop).finally(() => {\n observer.updateResult();\n });\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.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}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","var xi = Object.defineProperty;\nvar Ai = (t, e, n) => e in t ? xi(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;\nvar fn = (t, e, n) => Ai(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nimport Jr, { useState as qe, createContext as Ei, useEffect as at, useContext as ui, useRef as Ui } from \"react\";\nimport { Progress as Ti, PasswordInput as ci, Stack as Ri, Text as Pe, Center as je, Group as ut, Box as wt, Paper as lr, InputLabel as or, PinInput as sr, Anchor as Ze, Button as Ne, TextInput as fr, Container as Di, Title as Pi } from \"@mantine/core\";\nimport { isEmail as Zr, isNotEmpty as st, useForm as Xe } from \"@mantine/form\";\nimport { IconCheck as Ii, IconX as Fi, IconArrowLeft as mt } from \"@tabler/icons-react\";\nimport { useInputState as ki, useClipboard as Oi } from \"@mantine/hooks\";\nvar hn = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {};\nfunction Mi(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t.default : t;\n}\nfunction Xr(t) {\n if (Object.prototype.hasOwnProperty.call(t, \"__esModule\")) return t;\n var e = t.default;\n if (typeof e == \"function\") {\n var n = function r() {\n return this instanceof r ? Reflect.construct(e, arguments, this.constructor) : e.apply(this, arguments);\n };\n n.prototype = e.prototype;\n } else n = {};\n return Object.defineProperty(n, \"__esModule\", { value: !0 }), Object.keys(t).forEach(function(r) {\n var i = Object.getOwnPropertyDescriptor(t, r);\n Object.defineProperty(n, r, i.get ? i : {\n enumerable: !0,\n get: function() {\n return t[r];\n }\n });\n }), n;\n}\nvar Gt = { exports: {} }, At = {};\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 */\nvar dn;\nfunction Bi() {\n if (dn) return At;\n dn = 1;\n var t = Symbol.for(\"react.transitional.element\"), e = Symbol.for(\"react.fragment\");\n function n(r, i, o) {\n var s = null;\n if (o !== void 0 && (s = \"\" + o), i.key !== void 0 && (s = \"\" + i.key), \"key\" in i) {\n o = {};\n for (var c in i)\n c !== \"key\" && (o[c] = i[c]);\n } else o = i;\n return i = o.ref, {\n $$typeof: t,\n type: r,\n key: s,\n ref: i !== void 0 ? i : null,\n props: o\n };\n }\n return At.Fragment = e, At.jsx = n, At.jsxs = n, At;\n}\nvar Et = {};\n/**\n * @license React\n * react-jsx-runtime.development.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 */\nvar gn;\nfunction Ni() {\n return gn || (gn = 1, process.env.NODE_ENV !== \"production\" && function() {\n function t(g) {\n if (g == null) return null;\n if (typeof g == \"function\")\n return g.$$typeof === de ? null : g.displayName || g.name || null;\n if (typeof g == \"string\") return g;\n switch (g) {\n case U:\n return \"Fragment\";\n case B:\n return \"Profiler\";\n case $:\n return \"StrictMode\";\n case re:\n return \"Suspense\";\n case ae:\n return \"SuspenseList\";\n case pe:\n return \"Activity\";\n }\n if (typeof g == \"object\")\n switch (typeof g.tag == \"number\" && console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ), g.$$typeof) {\n case R:\n return \"Portal\";\n case J:\n return (g.displayName || \"Context\") + \".Provider\";\n case K:\n return (g._context.displayName || \"Context\") + \".Consumer\";\n case Q:\n var d = g.render;\n return g = g.displayName, g || (g = d.displayName || d.name || \"\", g = g !== \"\" ? \"ForwardRef(\" + g + \")\" : \"ForwardRef\"), g;\n case be:\n return d = g.displayName || null, d !== null ? d : t(g.type) || \"Memo\";\n case we:\n d = g._payload, g = g._init;\n try {\n return t(g(d));\n } catch {\n }\n }\n return null;\n }\n function e(g) {\n return \"\" + g;\n }\n function n(g) {\n try {\n e(g);\n var d = !1;\n } catch {\n d = !0;\n }\n if (d) {\n d = console;\n var S = d.error, j = typeof Symbol == \"function\" && Symbol.toStringTag && g[Symbol.toStringTag] || g.constructor.name || \"Object\";\n return S.call(\n d,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n j\n ), e(g);\n }\n }\n function r(g) {\n if (g === U) return \"<>\";\n if (typeof g == \"object\" && g !== null && g.$$typeof === we)\n return \"<...>\";\n try {\n var d = t(g);\n return d ? \"<\" + d + \">\" : \"<...>\";\n } catch {\n return \"<...>\";\n }\n }\n function i() {\n var g = me.A;\n return g === null ? null : g.getOwner();\n }\n function o() {\n return Error(\"react-stack-top-frame\");\n }\n function s(g) {\n if (ve.call(g, \"key\")) {\n var d = Object.getOwnPropertyDescriptor(g, \"key\").get;\n if (d && d.isReactWarning) return !1;\n }\n return g.key !== void 0;\n }\n function c(g, d) {\n function S() {\n D || (D = !0, console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n d\n ));\n }\n S.isReactWarning = !0, Object.defineProperty(g, \"key\", {\n get: S,\n configurable: !0\n });\n }\n function p() {\n var g = t(this.type);\n return E[g] || (E[g] = !0, console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n )), g = this.props.ref, g !== void 0 ? g : null;\n }\n function w(g, d, S, j, P, Z, G, te) {\n return S = Z.ref, g = {\n $$typeof: T,\n type: g,\n key: d,\n props: Z,\n _owner: P\n }, (S !== void 0 ? S : null) !== null ? Object.defineProperty(g, \"ref\", {\n enumerable: !1,\n get: p\n }) : Object.defineProperty(g, \"ref\", { enumerable: !1, value: null }), g._store = {}, Object.defineProperty(g._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n }), Object.defineProperty(g, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n }), Object.defineProperty(g, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: G\n }), Object.defineProperty(g, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: te\n }), Object.freeze && (Object.freeze(g.props), Object.freeze(g)), g;\n }\n function y(g, d, S, j, P, Z, G, te) {\n var W = d.children;\n if (W !== void 0)\n if (j)\n if (Se(W)) {\n for (j = 0; j < W.length; j++)\n C(W[j]);\n Object.freeze && Object.freeze(W);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else C(W);\n if (ve.call(d, \"key\")) {\n W = t(g);\n var ie = Object.keys(d).filter(function(ue) {\n return ue !== \"key\";\n });\n j = 0 < ie.length ? \"{key: someKey, \" + ie.join(\": ..., \") + \": ...}\" : \"{key: someKey}\", v[W + j] || (ie = 0 < ie.length ? \"{\" + ie.join(\": ..., \") + \": ...}\" : \"{}\", console.error(\n `A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />`,\n j,\n W,\n ie,\n W\n ), v[W + j] = !0);\n }\n if (W = null, S !== void 0 && (n(S), W = \"\" + S), s(d) && (n(d.key), W = \"\" + d.key), \"key\" in d) {\n S = {};\n for (var le in d)\n le !== \"key\" && (S[le] = d[le]);\n } else S = d;\n return W && c(\n S,\n typeof g == \"function\" ? g.displayName || g.name || \"Unknown\" : g\n ), w(\n g,\n W,\n Z,\n P,\n i(),\n S,\n G,\n te\n );\n }\n function C(g) {\n typeof g == \"object\" && g !== null && g.$$typeof === T && g._store && (g._store.validated = 1);\n }\n var A = Jr, T = Symbol.for(\"react.transitional.element\"), R = Symbol.for(\"react.portal\"), U = Symbol.for(\"react.fragment\"), $ = Symbol.for(\"react.strict_mode\"), B = Symbol.for(\"react.profiler\"), K = Symbol.for(\"react.consumer\"), J = Symbol.for(\"react.context\"), Q = Symbol.for(\"react.forward_ref\"), re = Symbol.for(\"react.suspense\"), ae = Symbol.for(\"react.suspense_list\"), be = Symbol.for(\"react.memo\"), we = Symbol.for(\"react.lazy\"), pe = Symbol.for(\"react.activity\"), de = Symbol.for(\"react.client.reference\"), me = A.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ve = Object.prototype.hasOwnProperty, Se = Array.isArray, k = console.createTask ? console.createTask : function() {\n return null;\n };\n A = {\n react_stack_bottom_frame: function(g) {\n return g();\n }\n };\n var D, E = {}, f = A.react_stack_bottom_frame.bind(\n A,\n o\n )(), l = k(r(o)), v = {};\n Et.Fragment = U, Et.jsx = function(g, d, S, j, P) {\n var Z = 1e4 > me.recentlyCreatedOwnerStacks++;\n return y(\n g,\n d,\n S,\n !1,\n j,\n P,\n Z ? Error(\"react-stack-top-frame\") : f,\n Z ? k(r(g)) : l\n );\n }, Et.jsxs = function(g, d, S, j, P) {\n var Z = 1e4 > me.recentlyCreatedOwnerStacks++;\n return y(\n g,\n d,\n S,\n !0,\n j,\n P,\n Z ? Error(\"react-stack-top-frame\") : f,\n Z ? k(r(g)) : l\n );\n };\n }()), Et;\n}\nvar pn;\nfunction ji() {\n return pn || (pn = 1, process.env.NODE_ENV === \"production\" ? Gt.exports = Bi() : Gt.exports = Ni()), Gt.exports;\n}\nvar z = ji(), Jt = { exports: {} }, mr = {};\n/**\n * @license React\n * react-compiler-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 */\nvar wn;\nfunction qi() {\n if (wn) return mr;\n wn = 1;\n var t = Jr.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n return mr.c = function(e) {\n return t.H.useMemoCache(e);\n }, mr;\n}\nvar vr = {};\n/**\n * @license React\n * react-compiler-runtime.development.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 */\nvar mn;\nfunction Li() {\n return mn || (mn = 1, process.env.NODE_ENV !== \"production\" && function() {\n var t = Jr.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n vr.c = function(e) {\n var n = t.H;\n return n === null && console.error(\n `Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`\n ), n.useMemoCache(e);\n };\n }()), vr;\n}\nvar vn;\nfunction $i() {\n return vn || (vn = 1, process.env.NODE_ENV === \"production\" ? Jt.exports = qi() : Jt.exports = Li()), Jt.exports;\n}\nvar Le = $i();\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nvar zi = /* @__PURE__ */ function() {\n function t(n) {\n var r = n || {}, i = r.ValidationData, o = r.Username, s = r.Password, c = r.AuthParameters, p = r.ClientMetadata;\n this.validationData = i || {}, this.authParameters = c || {}, this.clientMetadata = p || {}, this.username = o, this.password = s;\n }\n var e = t.prototype;\n return e.getUsername = function() {\n return this.username;\n }, e.getPassword = function() {\n return this.password;\n }, e.getValidationData = function() {\n return this.validationData;\n }, e.getAuthParameters = function() {\n return this.authParameters;\n }, e.getClientMetadata = function() {\n return this.clientMetadata;\n }, t;\n}(), yr = {}, Ut = {}, yn;\nfunction Vi() {\n if (yn) return Ut;\n yn = 1, Ut.byteLength = c, Ut.toByteArray = w, Ut.fromByteArray = A;\n for (var t = [], e = [], n = typeof Uint8Array < \"u\" ? Uint8Array : Array, r = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", i = 0, o = r.length; i < o; ++i)\n t[i] = r[i], e[r.charCodeAt(i)] = i;\n e[45] = 62, e[95] = 63;\n function s(T) {\n var R = T.length;\n if (R % 4 > 0)\n throw new Error(\"Invalid string. Length must be a multiple of 4\");\n var U = T.indexOf(\"=\");\n U === -1 && (U = R);\n var $ = U === R ? 0 : 4 - U % 4;\n return [U, $];\n }\n function c(T) {\n var R = s(T), U = R[0], $ = R[1];\n return (U + $) * 3 / 4 - $;\n }\n function p(T, R, U) {\n return (R + U) * 3 / 4 - U;\n }\n function w(T) {\n var R, U = s(T), $ = U[0], B = U[1], K = new n(p(T, $, B)), J = 0, Q = B > 0 ? $ - 4 : $, re;\n for (re = 0; re < Q; re += 4)\n R = e[T.charCodeAt(re)] << 18 | e[T.charCodeAt(re + 1)] << 12 | e[T.charCodeAt(re + 2)] << 6 | e[T.charCodeAt(re + 3)], K[J++] = R >> 16 & 255, K[J++] = R >> 8 & 255, K[J++] = R & 255;\n return B === 2 && (R = e[T.charCodeAt(re)] << 2 | e[T.charCodeAt(re + 1)] >> 4, K[J++] = R & 255), B === 1 && (R = e[T.charCodeAt(re)] << 10 | e[T.charCodeAt(re + 1)] << 4 | e[T.charCodeAt(re + 2)] >> 2, K[J++] = R >> 8 & 255, K[J++] = R & 255), K;\n }\n function y(T) {\n return t[T >> 18 & 63] + t[T >> 12 & 63] + t[T >> 6 & 63] + t[T & 63];\n }\n function C(T, R, U) {\n for (var $, B = [], K = R; K < U; K += 3)\n $ = (T[K] << 16 & 16711680) + (T[K + 1] << 8 & 65280) + (T[K + 2] & 255), B.push(y($));\n return B.join(\"\");\n }\n function A(T) {\n for (var R, U = T.length, $ = U % 3, B = [], K = 16383, J = 0, Q = U - $; J < Q; J += K)\n B.push(C(T, J, J + K > Q ? Q : J + K));\n return $ === 1 ? (R = T[U - 1], B.push(\n t[R >> 2] + t[R << 4 & 63] + \"==\"\n )) : $ === 2 && (R = (T[U - 2] << 8) + T[U - 1], B.push(\n t[R >> 10] + t[R >> 4 & 63] + t[R << 2 & 63] + \"=\"\n )), B.join(\"\");\n }\n return Ut;\n}\nvar Zt = {};\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nvar bn;\nfunction Hi() {\n return bn || (bn = 1, Zt.read = function(t, e, n, r, i) {\n var o, s, c = i * 8 - r - 1, p = (1 << c) - 1, w = p >> 1, y = -7, C = n ? i - 1 : 0, A = n ? -1 : 1, T = t[e + C];\n for (C += A, o = T & (1 << -y) - 1, T >>= -y, y += c; y > 0; o = o * 256 + t[e + C], C += A, y -= 8)\n ;\n for (s = o & (1 << -y) - 1, o >>= -y, y += r; y > 0; s = s * 256 + t[e + C], C += A, y -= 8)\n ;\n if (o === 0)\n o = 1 - w;\n else {\n if (o === p)\n return s ? NaN : (T ? -1 : 1) * (1 / 0);\n s = s + Math.pow(2, r), o = o - w;\n }\n return (T ? -1 : 1) * s * Math.pow(2, o - r);\n }, Zt.write = function(t, e, n, r, i, o) {\n var s, c, p, w = o * 8 - i - 1, y = (1 << w) - 1, C = y >> 1, A = i === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, T = r ? 0 : o - 1, R = r ? 1 : -1, U = e < 0 || e === 0 && 1 / e < 0 ? 1 : 0;\n for (e = Math.abs(e), isNaN(e) || e === 1 / 0 ? (c = isNaN(e) ? 1 : 0, s = y) : (s = Math.floor(Math.log(e) / Math.LN2), e * (p = Math.pow(2, -s)) < 1 && (s--, p *= 2), s + C >= 1 ? e += A / p : e += A * Math.pow(2, 1 - C), e * p >= 2 && (s++, p /= 2), s + C >= y ? (c = 0, s = y) : s + C >= 1 ? (c = (e * p - 1) * Math.pow(2, i), s = s + C) : (c = e * Math.pow(2, C - 1) * Math.pow(2, i), s = 0)); i >= 8; t[n + T] = c & 255, T += R, c /= 256, i -= 8)\n ;\n for (s = s << i | c, w += i; w > 0; t[n + T] = s & 255, T += R, s /= 256, w -= 8)\n ;\n t[n + T - R] |= U * 128;\n }), Zt;\n}\nvar br, Sn;\nfunction Ki() {\n if (Sn) return br;\n Sn = 1;\n var t = {}.toString;\n return br = Array.isArray || function(e) {\n return t.call(e) == \"[object Array]\";\n }, br;\n}\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\nvar _n;\nfunction Yi() {\n return _n || (_n = 1, function(t) {\n var e = Vi(), n = Hi(), r = Ki();\n t.Buffer = c, t.SlowBuffer = B, t.INSPECT_MAX_BYTES = 50, c.TYPED_ARRAY_SUPPORT = hn.TYPED_ARRAY_SUPPORT !== void 0 ? hn.TYPED_ARRAY_SUPPORT : i(), t.kMaxLength = o();\n function i() {\n try {\n var h = new Uint8Array(1);\n return h.__proto__ = { __proto__: Uint8Array.prototype, foo: function() {\n return 42;\n } }, h.foo() === 42 && // typed array instances can be augmented\n typeof h.subarray == \"function\" && // chrome 9-10 lack `subarray`\n h.subarray(1, 1).byteLength === 0;\n } catch {\n return !1;\n }\n }\n function o() {\n return c.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;\n }\n function s(h, a) {\n if (o() < a)\n throw new RangeError(\"Invalid typed array length\");\n return c.TYPED_ARRAY_SUPPORT ? (h = new Uint8Array(a), h.__proto__ = c.prototype) : (h === null && (h = new c(a)), h.length = a), h;\n }\n function c(h, a, u) {\n if (!c.TYPED_ARRAY_SUPPORT && !(this instanceof c))\n return new c(h, a, u);\n if (typeof h == \"number\") {\n if (typeof a == \"string\")\n throw new Error(\n \"If encoding is specified then the first argument must be a string\"\n );\n return C(this, h);\n }\n return p(this, h, a, u);\n }\n c.poolSize = 8192, c._augment = function(h) {\n return h.__proto__ = c.prototype, h;\n };\n function p(h, a, u, m) {\n if (typeof a == \"number\")\n throw new TypeError('\"value\" argument must not be a number');\n return typeof ArrayBuffer < \"u\" && a instanceof ArrayBuffer ? R(h, a, u, m) : typeof a == \"string\" ? A(h, a, u) : U(h, a);\n }\n c.from = function(h, a, u) {\n return p(null, h, a, u);\n }, c.TYPED_ARRAY_SUPPORT && (c.prototype.__proto__ = Uint8Array.prototype, c.__proto__ = Uint8Array, typeof Symbol < \"u\" && Symbol.species && c[Symbol.species] === c && Object.defineProperty(c, Symbol.species, {\n value: null,\n configurable: !0\n }));\n function w(h) {\n if (typeof h != \"number\")\n throw new TypeError('\"size\" argument must be a number');\n if (h < 0)\n throw new RangeError('\"size\" argument must not be negative');\n }\n function y(h, a, u, m) {\n return w(a), a <= 0 ? s(h, a) : u !== void 0 ? typeof m == \"string\" ? s(h, a).fill(u, m) : s(h, a).fill(u) : s(h, a);\n }\n c.alloc = function(h, a, u) {\n return y(null, h, a, u);\n };\n function C(h, a) {\n if (w(a), h = s(h, a < 0 ? 0 : $(a) | 0), !c.TYPED_ARRAY_SUPPORT)\n for (var u = 0; u < a; ++u)\n h[u] = 0;\n return h;\n }\n c.allocUnsafe = function(h) {\n return C(null, h);\n }, c.allocUnsafeSlow = function(h) {\n return C(null, h);\n };\n function A(h, a, u) {\n if ((typeof u != \"string\" || u === \"\") && (u = \"utf8\"), !c.isEncoding(u))\n throw new TypeError('\"encoding\" must be a valid string encoding');\n var m = K(a, u) | 0;\n h = s(h, m);\n var b = h.write(a, u);\n return b !== m && (h = h.slice(0, b)), h;\n }\n function T(h, a) {\n var u = a.length < 0 ? 0 : $(a.length) | 0;\n h = s(h, u);\n for (var m = 0; m < u; m += 1)\n h[m] = a[m] & 255;\n return h;\n }\n function R(h, a, u, m) {\n if (a.byteLength, u < 0 || a.byteLength < u)\n throw new RangeError(\"'offset' is out of bounds\");\n if (a.byteLength < u + (m || 0))\n throw new RangeError(\"'length' is out of bounds\");\n return u === void 0 && m === void 0 ? a = new Uint8Array(a) : m === void 0 ? a = new Uint8Array(a, u) : a = new Uint8Array(a, u, m), c.TYPED_ARRAY_SUPPORT ? (h = a, h.__proto__ = c.prototype) : h = T(h, a), h;\n }\n function U(h, a) {\n if (c.isBuffer(a)) {\n var u = $(a.length) | 0;\n return h = s(h, u), h.length === 0 || a.copy(h, 0, 0, u), h;\n }\n if (a) {\n if (typeof ArrayBuffer < \"u\" && a.buffer instanceof ArrayBuffer || \"length\" in a)\n return typeof a.length != \"number\" || oe(a.length) ? s(h, 0) : T(h, a);\n if (a.type === \"Buffer\" && r(a.data))\n return T(h, a.data);\n }\n throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\");\n }\n function $(h) {\n if (h >= o())\n throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\" + o().toString(16) + \" bytes\");\n return h | 0;\n }\n function B(h) {\n return +h != h && (h = 0), c.alloc(+h);\n }\n c.isBuffer = function(a) {\n return !!(a != null && a._isBuffer);\n }, c.compare = function(a, u) {\n if (!c.isBuffer(a) || !c.isBuffer(u))\n throw new TypeError(\"Arguments must be Buffers\");\n if (a === u) return 0;\n for (var m = a.length, b = u.length, O = 0, M = Math.min(m, b); O < M; ++O)\n if (a[O] !== u[O]) {\n m = a[O], b = u[O];\n break;\n }\n return m < b ? -1 : b < m ? 1 : 0;\n }, c.isEncoding = function(a) {\n switch (String(a).toLowerCase()) {\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return !0;\n default:\n return !1;\n }\n }, c.concat = function(a, u) {\n if (!r(a))\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n if (a.length === 0)\n return c.alloc(0);\n var m;\n if (u === void 0)\n for (u = 0, m = 0; m < a.length; ++m)\n u += a[m].length;\n var b = c.allocUnsafe(u), O = 0;\n for (m = 0; m < a.length; ++m) {\n var M = a[m];\n if (!c.isBuffer(M))\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n M.copy(b, O), O += M.length;\n }\n return b;\n };\n function K(h, a) {\n if (c.isBuffer(h))\n return h.length;\n if (typeof ArrayBuffer < \"u\" && typeof ArrayBuffer.isView == \"function\" && (ArrayBuffer.isView(h) || h instanceof ArrayBuffer))\n return h.byteLength;\n typeof h != \"string\" && (h = \"\" + h);\n var u = h.length;\n if (u === 0) return 0;\n for (var m = !1; ; )\n switch (a) {\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return u;\n case \"utf8\":\n case \"utf-8\":\n case void 0:\n return _(h).length;\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return u * 2;\n case \"hex\":\n return u >>> 1;\n case \"base64\":\n return I(h).length;\n default:\n if (m) return _(h).length;\n a = (\"\" + a).toLowerCase(), m = !0;\n }\n }\n c.byteLength = K;\n function J(h, a, u) {\n var m = !1;\n if ((a === void 0 || a < 0) && (a = 0), a > this.length || ((u === void 0 || u > this.length) && (u = this.length), u <= 0) || (u >>>= 0, a >>>= 0, u <= a))\n return \"\";\n for (h || (h = \"utf8\"); ; )\n switch (h) {\n case \"hex\":\n return v(this, a, u);\n case \"utf8\":\n case \"utf-8\":\n return k(this, a, u);\n case \"ascii\":\n return f(this, a, u);\n case \"latin1\":\n case \"binary\":\n return l(this, a, u);\n case \"base64\":\n return Se(this, a, u);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return g(this, a, u);\n default:\n if (m) throw new TypeError(\"Unknown encoding: \" + h);\n h = (h + \"\").toLowerCase(), m = !0;\n }\n }\n c.prototype._isBuffer = !0;\n function Q(h, a, u) {\n var m = h[a];\n h[a] = h[u], h[u] = m;\n }\n c.prototype.swap16 = function() {\n var a = this.length;\n if (a % 2 !== 0)\n throw new RangeError(\"Buffer size must be a multiple of 16-bits\");\n for (var u = 0; u < a; u += 2)\n Q(this, u, u + 1);\n return this;\n }, c.prototype.swap32 = function() {\n var a = this.length;\n if (a % 4 !== 0)\n throw new RangeError(\"Buffer size must be a multiple of 32-bits\");\n for (var u = 0; u < a; u += 4)\n Q(this, u, u + 3), Q(this, u + 1, u + 2);\n return this;\n }, c.prototype.swap64 = function() {\n var a = this.length;\n if (a % 8 !== 0)\n throw new RangeError(\"Buffer size must be a multiple of 64-bits\");\n for (var u = 0; u < a; u += 8)\n Q(this, u, u + 7), Q(this, u + 1, u + 6), Q(this, u + 2, u + 5), Q(this, u + 3, u + 4);\n return this;\n }, c.prototype.toString = function() {\n var a = this.length | 0;\n return a === 0 ? \"\" : arguments.length === 0 ? k(this, 0, a) : J.apply(this, arguments);\n }, c.prototype.equals = function(a) {\n if (!c.isBuffer(a)) throw new TypeError(\"Argument must be a Buffer\");\n return this === a ? !0 : c.compare(this, a) === 0;\n }, c.prototype.inspect = function() {\n var a = \"\", u = t.INSPECT_MAX_BYTES;\n return this.length > 0 && (a = this.toString(\"hex\", 0, u).match(/.{2}/g).join(\" \"), this.length > u && (a += \" ... \")), \"<Buffer \" + a + \">\";\n }, c.prototype.compare = function(a, u, m, b, O) {\n if (!c.isBuffer(a))\n throw new TypeError(\"Argument must be a Buffer\");\n if (u === void 0 && (u = 0), m === void 0 && (m = a ? a.length : 0), b === void 0 && (b = 0), O === void 0 && (O = this.length), u < 0 || m > a.length || b < 0 || O > this.length)\n throw new RangeError(\"out of range index\");\n if (b >= O && u >= m)\n return 0;\n if (b >= O)\n return -1;\n if (u >= m)\n return 1;\n if (u >>>= 0, m >>>= 0, b >>>= 0, O >>>= 0, this === a) return 0;\n for (var M = O - b, ne = m - u, se = Math.min(M, ne), X = this.slice(b, O), ge = a.slice(u, m), he = 0; he < se; ++he)\n if (X[he] !== ge[he]) {\n M = X[he], ne = ge[he];\n break;\n }\n return M < ne ? -1 : ne < M ? 1 : 0;\n };\n function re(h, a, u, m, b) {\n if (h.length === 0) return -1;\n if (typeof u == \"string\" ? (m = u, u = 0) : u > 2147483647 ? u = 2147483647 : u < -2147483648 && (u = -2147483648), u = +u, isNaN(u) && (u = b ? 0 : h.length - 1), u < 0 && (u = h.length + u), u >= h.length) {\n if (b) return -1;\n u = h.length - 1;\n } else if (u < 0)\n if (b) u = 0;\n else return -1;\n if (typeof a == \"string\" && (a = c.from(a, m)), c.isBuffer(a))\n return a.length === 0 ? -1 : ae(h, a, u, m, b);\n if (typeof a == \"number\")\n return a = a & 255, c.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf == \"function\" ? b ? Uint8Array.prototype.indexOf.call(h, a, u) : Uint8Array.prototype.lastIndexOf.call(h, a, u) : ae(h, [a], u, m, b);\n throw new TypeError(\"val must be string, number or Buffer\");\n }\n function ae(h, a, u, m, b) {\n var O = 1, M = h.length, ne = a.length;\n if (m !== void 0 && (m = String(m).toLowerCase(), m === \"ucs2\" || m === \"ucs-2\" || m === \"utf16le\" || m === \"utf-16le\")) {\n if (h.length < 2 || a.length < 2)\n return -1;\n O = 2, M /= 2, ne /= 2, u /= 2;\n }\n function se(Ae, xe) {\n return O === 1 ? Ae[xe] : Ae.readUInt16BE(xe * O);\n }\n var X;\n if (b) {\n var ge = -1;\n for (X = u; X < M; X++)\n if (se(h, X) === se(a, ge === -1 ? 0 : X - ge)) {\n if (ge === -1 && (ge = X), X - ge + 1 === ne) return ge * O;\n } else\n ge !== -1 && (X -= X - ge), ge = -1;\n } else\n for (u + ne > M && (u = M - ne), X = u; X >= 0; X--) {\n for (var he = !0, ce = 0; ce < ne; ce++)\n if (se(h, X + ce) !== se(a, ce)) {\n he = !1;\n break;\n }\n if (he) return X;\n }\n return -1;\n }\n c.prototype.includes = function(a, u, m) {\n return this.indexOf(a, u, m) !== -1;\n }, c.prototype.indexOf = function(a, u, m) {\n return re(this, a, u, m, !0);\n }, c.prototype.lastIndexOf = function(a, u, m) {\n return re(this, a, u, m, !1);\n };\n function be(h, a, u, m) {\n u = Number(u) || 0;\n var b = h.length - u;\n m ? (m = Number(m), m > b && (m = b)) : m = b;\n var O = a.length;\n if (O % 2 !== 0) throw new TypeError(\"Invalid hex string\");\n m > O / 2 && (m = O / 2);\n for (var M = 0; M < m; ++M) {\n var ne = parseInt(a.substr(M * 2, 2), 16);\n if (isNaN(ne)) return M;\n h[u + M] = ne;\n }\n return M;\n }\n function we(h, a, u, m) {\n return L(_(a, h.length - u), h, u, m);\n }\n function pe(h, a, u, m) {\n return L(F(a), h, u, m);\n }\n function de(h, a, u, m) {\n return pe(h, a, u, m);\n }\n function me(h, a, u, m) {\n return L(I(a), h, u, m);\n }\n function ve(h, a, u, m) {\n return L(x(a, h.length - u), h, u, m);\n }\n c.prototype.write = function(a, u, m, b) {\n if (u === void 0)\n b = \"utf8\", m = this.length, u = 0;\n else if (m === void 0 && typeof u == \"string\")\n b = u, m = this.length, u = 0;\n else if (isFinite(u))\n u = u | 0, isFinite(m) ? (m = m | 0, b === void 0 && (b = \"utf8\")) : (b = m, m = void 0);\n else\n throw new Error(\n \"Buffer.write(string, encoding, offset[, length]) is no longer supported\"\n );\n var O = this.length - u;\n if ((m === void 0 || m > O) && (m = O), a.length > 0 && (m < 0 || u < 0) || u > this.length)\n throw new RangeError(\"Attempt to write outside buffer bounds\");\n b || (b = \"utf8\");\n for (var M = !1; ; )\n switch (b) {\n case \"hex\":\n return be(this, a, u, m);\n case \"utf8\":\n case \"utf-8\":\n return we(this, a, u, m);\n case \"ascii\":\n return pe(this, a, u, m);\n case \"latin1\":\n case \"binary\":\n return de(this, a, u, m);\n case \"base64\":\n return me(this, a, u, m);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return ve(this, a, u, m);\n default:\n if (M) throw new TypeError(\"Unknown encoding: \" + b);\n b = (\"\" + b).toLowerCase(), M = !0;\n }\n }, c.prototype.toJSON = function() {\n return {\n type: \"Buffer\",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n function Se(h, a, u) {\n return a === 0 && u === h.length ? e.fromByteArray(h) : e.fromByteArray(h.slice(a, u));\n }\n function k(h, a, u) {\n u = Math.min(h.length, u);\n for (var m = [], b = a; b < u; ) {\n var O = h[b], M = null, ne = O > 239 ? 4 : O > 223 ? 3 : O > 191 ? 2 : 1;\n if (b + ne <= u) {\n var se, X, ge, he;\n switch (ne) {\n case 1:\n O < 128 && (M = O);\n break;\n case 2:\n se = h[b + 1], (se & 192) === 128 && (he = (O & 31) << 6 | se & 63, he > 127 && (M = he));\n break;\n case 3:\n se = h[b + 1], X = h[b + 2], (se & 192) === 128 && (X & 192) === 128 && (he = (O & 15) << 12 | (se & 63) << 6 | X & 63, he > 2047 && (he < 55296 || he > 57343) && (M = he));\n break;\n case 4:\n se = h[b + 1], X = h[b + 2], ge = h[b + 3], (se & 192) === 128 && (X & 192) === 128 && (ge & 192) === 128 && (he = (O & 15) << 18 | (se & 63) << 12 | (X & 63) << 6 | ge & 63, he > 65535 && he < 1114112 && (M = he));\n }\n }\n M === null ? (M = 65533, ne = 1) : M > 65535 && (M -= 65536, m.push(M >>> 10 & 1023 | 55296), M = 56320 | M & 1023), m.push(M), b += ne;\n }\n return E(m);\n }\n var D = 4096;\n function E(h) {\n var a = h.length;\n if (a <= D)\n return String.fromCharCode.apply(String, h);\n for (var u = \"\", m = 0; m < a; )\n u += String.fromCharCode.apply(\n String,\n h.slice(m, m += D)\n );\n return u;\n }\n function f(h, a, u) {\n var m = \"\";\n u = Math.min(h.length, u);\n for (var b = a; b < u; ++b)\n m += String.fromCharCode(h[b] & 127);\n return m;\n }\n function l(h, a, u) {\n var m = \"\";\n u = Math.min(h.length, u);\n for (var b = a; b < u; ++b)\n m += String.fromCharCode(h[b]);\n return m;\n }\n function v(h, a, u) {\n var m = h.length;\n (!a || a < 0) && (a = 0), (!u || u < 0 || u > m) && (u = m);\n for (var b = \"\", O = a; O < u; ++O)\n b += ue(h[O]);\n return b;\n }\n function g(h, a, u) {\n for (var m = h.slice(a, u), b = \"\", O = 0; O < m.length; O += 2)\n b += String.fromCharCode(m[O] + m[O + 1] * 256);\n return b;\n }\n c.prototype.slice = function(a, u) {\n var m = this.length;\n a = ~~a, u = u === void 0 ? m : ~~u, a < 0 ? (a += m, a < 0 && (a = 0)) : a > m && (a = m), u < 0 ? (u += m, u < 0 && (u = 0)) : u > m && (u = m), u < a && (u = a);\n var b;\n if (c.TYPED_ARRAY_SUPPORT)\n b = this.subarray(a, u), b.__proto__ = c.prototype;\n else {\n var O = u - a;\n b = new c(O, void 0);\n for (var M = 0; M < O; ++M)\n b[M] = this[M + a];\n }\n return b;\n };\n function d(h, a, u) {\n if (h % 1 !== 0 || h < 0) throw new RangeError(\"offset is not uint\");\n if (h + a > u) throw new RangeError(\"Trying to access beyond buffer length\");\n }\n c.prototype.readUIntLE = function(a, u, m) {\n a = a | 0, u = u | 0, m || d(a, u, this.length);\n for (var b = this[a], O = 1, M = 0; ++M < u && (O *= 256); )\n b += this[a + M] * O;\n return b;\n }, c.prototype.readUIntBE = function(a, u, m) {\n a = a | 0, u = u | 0, m || d(a, u, this.length);\n for (var b = this[a + --u], O = 1; u > 0 && (O *= 256); )\n b += this[a + --u] * O;\n return b;\n }, c.prototype.readUInt8 = function(a, u) {\n return u || d(a, 1, this.length), this[a];\n }, c.prototype.readUInt16LE = function(a, u) {\n return u || d(a, 2, this.length), this[a] | this[a + 1] << 8;\n }, c.prototype.readUInt16BE = function(a, u) {\n return u || d(a, 2, this.length), this[a] << 8 | this[a + 1];\n }, c.prototype.readUInt32LE = function(a, u) {\n return u || d(a, 4, this.length), (this[a] | this[a + 1] << 8 | this[a + 2] << 16) + this[a + 3] * 16777216;\n }, c.prototype.readUInt32BE = function(a, u) {\n return u || d(a, 4, this.length), this[a] * 16777216 + (this[a + 1] << 16 | this[a + 2] << 8 | this[a + 3]);\n }, c.prototype.readIntLE = function(a, u, m) {\n a = a | 0, u = u | 0, m || d(a, u, this.length);\n for (var b = this[a], O = 1, M = 0; ++M < u && (O *= 256); )\n b += this[a + M] * O;\n return O *= 128, b >= O && (b -= Math.pow(2, 8 * u)), b;\n }, c.prototype.readIntBE = function(a, u, m) {\n a = a | 0, u = u | 0, m || d(a, u, this.length);\n for (var b = u, O = 1, M = this[a + --b]; b > 0 && (O *= 256); )\n M += this[a + --b] * O;\n return O *= 128, M >= O && (M -= Math.pow(2, 8 * u)), M;\n }, c.prototype.readInt8 = function(a, u) {\n return u || d(a, 1, this.length), this[a] & 128 ? (255 - this[a] + 1) * -1 : this[a];\n }, c.prototype.readInt16LE = function(a, u) {\n u || d(a, 2, this.length);\n var m = this[a] | this[a + 1] << 8;\n return m & 32768 ? m | 4294901760 : m;\n }, c.prototype.readInt16BE = function(a, u) {\n u || d(a, 2, this.length);\n var m = this[a + 1] | this[a] << 8;\n return m & 32768 ? m | 4294901760 : m;\n }, c.prototype.readInt32LE = function(a, u) {\n return u || d(a, 4, this.length), this[a] | this[a + 1] << 8 | this[a + 2] << 16 | this[a + 3] << 24;\n }, c.prototype.readInt32BE = function(a, u) {\n return u || d(a, 4, this.length), this[a] << 24 | this[a + 1] << 16 | this[a + 2] << 8 | this[a + 3];\n }, c.prototype.readFloatLE = function(a, u) {\n return u || d(a, 4, this.length), n.read(this, a, !0, 23, 4);\n }, c.prototype.readFloatBE = function(a, u) {\n return u || d(a, 4, this.length), n.read(this, a, !1, 23, 4);\n }, c.prototype.readDoubleLE = function(a, u) {\n return u || d(a, 8, this.length), n.read(this, a, !0, 52, 8);\n }, c.prototype.readDoubleBE = function(a, u) {\n return u || d(a, 8, this.length), n.read(this, a, !1, 52, 8);\n };\n function S(h, a, u, m, b, O) {\n if (!c.isBuffer(h)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (a > b || a < O) throw new RangeError('\"value\" argument is out of bounds');\n if (u + m > h.length) throw new RangeError(\"Index out of range\");\n }\n c.prototype.writeUIntLE = function(a, u, m, b) {\n if (a = +a, u = u | 0, m = m | 0, !b) {\n var O = Math.pow(2, 8 * m) - 1;\n S(this, a, u, m, O, 0);\n }\n var M = 1, ne = 0;\n for (this[u] = a & 255; ++ne < m && (M *= 256); )\n this[u + ne] = a / M & 255;\n return u + m;\n }, c.prototype.writeUIntBE = function(a, u, m, b) {\n if (a = +a, u = u | 0, m = m | 0, !b) {\n var O = Math.pow(2, 8 * m) - 1;\n S(this, a, u, m, O, 0);\n }\n var M = m - 1, ne = 1;\n for (this[u + M] = a & 255; --M >= 0 && (ne *= 256); )\n this[u + M] = a / ne & 255;\n return u + m;\n }, c.prototype.writeUInt8 = function(a, u, m) {\n return a = +a, u = u | 0, m || S(this, a, u, 1, 255, 0), c.TYPED_ARRAY_SUPPORT || (a = Math.floor(a)), this[u] = a & 255, u + 1;\n };\n function j(h, a, u, m) {\n a < 0 && (a = 65535 + a + 1);\n for (var b = 0, O = Math.min(h.length - u, 2); b < O; ++b)\n h[u + b] = (a & 255 << 8 * (m ? b : 1 - b)) >>> (m ? b : 1 - b) * 8;\n }\n c.prototype.writeUInt16LE = function(a, u, m) {\n return a = +a, u = u | 0, m || S(this, a, u, 2, 65535, 0), c.TYPED_ARRAY_SUPPORT ? (this[u] = a & 255, this[u + 1] = a >>> 8) : j(this, a, u, !0), u + 2;\n }, c.prototype.writeUInt16BE = function(a, u, m) {\n return a = +a, u = u | 0, m || S(this, a, u, 2, 65535, 0), c.TYPED_ARRAY_SUPPORT ? (this[u] = a >>> 8, this[u + 1] = a & 255) : j(this, a, u, !1), u + 2;\n };\n function P(h, a, u, m) {\n a < 0 && (a = 4294967295 + a + 1);\n for (var b = 0, O = Math.min(h.length - u, 4); b < O; ++b)\n h[u + b] = a >>> (m ? b : 3 - b) * 8 & 255;\n }\n c.prototype.writeUInt32LE = function(a, u, m) {\n return a = +a, u = u | 0, m || S(this, a, u, 4, 4294967295, 0), c.TYPED_ARRAY_SUPPORT ? (this[u + 3] = a >>> 24, this[u + 2] = a >>> 16, this[u + 1] = a >>> 8, this[u] = a & 255) : P(this, a, u, !0), u + 4;\n }, c.prototype.writeUInt32BE = function(a, u, m) {\n return a = +a, u = u | 0, m || S(this, a, u, 4, 4294967295, 0), c.TYPED_ARRAY_SUPPORT ? (this[u] = a >>> 24, this[u + 1] = a >>> 16, this[u + 2] = a >>> 8, this[u + 3] = a & 255) : P(this, a, u, !1), u + 4;\n }, c.prototype.writeIntLE = function(a, u, m, b) {\n if (a = +a, u = u | 0, !b) {\n var O = Math.pow(2, 8 * m - 1);\n S(this, a, u, m, O - 1, -O);\n }\n var M = 0, ne = 1, se = 0;\n for (this[u] = a & 255; ++M < m && (ne *= 256); )\n a < 0 && se === 0 && this[u + M - 1] !== 0 && (se = 1), this[u + M] = (a / ne >> 0) - se & 255;\n return u + m;\n }, c.prototype.writeIntBE = function(a, u, m, b) {\n if (a = +a, u = u | 0, !b) {\n var O = Math.pow(2, 8 * m - 1);\n S(this, a, u, m, O - 1, -O);\n }\n var M = m - 1, ne = 1, se = 0;\n for (this[u + M] = a & 255; --M >= 0 && (ne *= 256); )\n a < 0 && se === 0 && this[u + M + 1] !== 0 && (se = 1), this[u + M] = (a / ne >> 0) - se & 255;\n return u + m;\n }, c.prototype.writeInt8 = function(a, u, m) {\n return a = +a, u = u | 0, m || S(this, a, u, 1, 127, -128), c.TYPED_ARRAY_SUPPORT || (a = Math.floor(a)), a < 0 && (a = 255 + a + 1), this[u] = a & 255, u + 1;\n }, c.prototype.writeInt16LE = function(a, u, m) {\n return a = +a, u = u | 0, m || S(this, a, u, 2, 32767, -32768), c.TYPED_ARRAY_SUPPORT ? (this[u] = a & 255, this[u + 1] = a >>> 8) : j(this, a, u, !0), u + 2;\n }, c.prototype.writeInt16BE = function(a, u, m) {\n return a = +a, u = u | 0, m || S(this, a, u, 2, 32767, -32768), c.TYPED_ARRAY_SUPPORT ? (this[u] = a >>> 8, this[u + 1] = a & 255) : j(this, a, u, !1), u + 2;\n }, c.prototype.writeInt32LE = function(a, u, m) {\n return a = +a, u = u | 0, m || S(this, a, u, 4, 2147483647, -2147483648), c.TYPED_ARRAY_SUPPORT ? (this[u] = a & 255, this[u + 1] = a >>> 8, this[u + 2] = a >>> 16, this[u + 3] = a >>> 24) : P(this, a, u, !0), u + 4;\n }, c.prototype.writeInt32BE = function(a, u, m) {\n return a = +a, u = u | 0, m || S(this, a, u, 4, 2147483647, -2147483648), a < 0 && (a = 4294967295 + a + 1), c.TYPED_ARRAY_SUPPORT ? (this[u] = a >>> 24, this[u + 1] = a >>> 16, this[u + 2] = a >>> 8, this[u + 3] = a & 255) : P(this, a, u, !1), u + 4;\n };\n function Z(h, a, u, m, b, O) {\n if (u + m > h.length) throw new RangeError(\"Index out of range\");\n if (u < 0) throw new RangeError(\"Index out of range\");\n }\n function G(h, a, u, m, b) {\n return b || Z(h, a, u, 4), n.write(h, a, u, m, 23, 4), u + 4;\n }\n c.prototype.writeFloatLE = function(a, u, m) {\n return G(this, a, u, !0, m);\n }, c.prototype.writeFloatBE = function(a, u, m) {\n return G(this, a, u, !1, m);\n };\n function te(h, a, u, m, b) {\n return b || Z(h, a, u, 8), n.write(h, a, u, m, 52, 8), u + 8;\n }\n c.prototype.writeDoubleLE = function(a, u, m) {\n return te(this, a, u, !0, m);\n }, c.prototype.writeDoubleBE = function(a, u, m) {\n return te(this, a, u, !1, m);\n }, c.prototype.copy = function(a, u, m, b) {\n if (m || (m = 0), !b && b !== 0 && (b = this.length), u >= a.length && (u = a.length), u || (u = 0), b > 0 && b < m && (b = m), b === m || a.length === 0 || this.length === 0) return 0;\n if (u < 0)\n throw new RangeError(\"targetStart out of bounds\");\n if (m < 0 || m >= this.length) throw new RangeError(\"sourceStart out of bounds\");\n if (b < 0) throw new RangeError(\"sourceEnd out of bounds\");\n b > this.length && (b = this.length), a.length - u < b - m && (b = a.length - u + m);\n var O = b - m, M;\n if (this === a && m < u && u < b)\n for (M = O - 1; M >= 0; --M)\n a[M + u] = this[M + m];\n else if (O < 1e3 || !c.TYPED_ARRAY_SUPPORT)\n for (M = 0; M < O; ++M)\n a[M + u] = this[M + m];\n else\n Uint8Array.prototype.set.call(\n a,\n this.subarray(m, m + O),\n u\n );\n return O;\n }, c.prototype.fill = function(a, u, m, b) {\n if (typeof a == \"string\") {\n if (typeof u == \"string\" ? (b = u, u = 0, m = this.length) : typeof m == \"string\" && (b = m, m = this.length), a.length === 1) {\n var O = a.charCodeAt(0);\n O < 256 && (a = O);\n }\n if (b !== void 0 && typeof b != \"string\")\n throw new TypeError(\"encoding must be a string\");\n if (typeof b == \"string\" && !c.isEncoding(b))\n throw new TypeError(\"Unknown encoding: \" + b);\n } else typeof a == \"number\" && (a = a & 255);\n if (u < 0 || this.length < u || this.length < m)\n throw new RangeError(\"Out of range index\");\n if (m <= u)\n return this;\n u = u >>> 0, m = m === void 0 ? this.length : m >>> 0, a || (a = 0);\n var M;\n if (typeof a == \"number\")\n for (M = u; M < m; ++M)\n this[M] = a;\n else {\n var ne = c.isBuffer(a) ? a : _(new c(a, b).toString()), se = ne.length;\n for (M = 0; M < m - u; ++M)\n this[M + u] = ne[M % se];\n }\n return this;\n };\n var W = /[^+\\/0-9A-Za-z-_]/g;\n function ie(h) {\n if (h = le(h).replace(W, \"\"), h.length < 2) return \"\";\n for (; h.length % 4 !== 0; )\n h = h + \"=\";\n return h;\n }\n function le(h) {\n return h.trim ? h.trim() : h.replace(/^\\s+|\\s+$/g, \"\");\n }\n function ue(h) {\n return h < 16 ? \"0\" + h.toString(16) : h.toString(16);\n }\n function _(h, a) {\n a = a || 1 / 0;\n for (var u, m = h.length, b = null, O = [], M = 0; M < m; ++M) {\n if (u = h.charCodeAt(M), u > 55295 && u < 57344) {\n if (!b) {\n if (u > 56319) {\n (a -= 3) > -1 && O.push(239, 191, 189);\n continue;\n } else if (M + 1 === m) {\n (a -= 3) > -1 && O.push(239, 191, 189);\n continue;\n }\n b = u;\n continue;\n }\n if (u < 56320) {\n (a -= 3) > -1 && O.push(239, 191, 189), b = u;\n continue;\n }\n u = (b - 55296 << 10 | u - 56320) + 65536;\n } else b && (a -= 3) > -1 && O.push(239, 191, 189);\n if (b = null, u < 128) {\n if ((a -= 1) < 0) break;\n O.push(u);\n } else if (u < 2048) {\n if ((a -= 2) < 0) break;\n O.push(\n u >> 6 | 192,\n u & 63 | 128\n );\n } else if (u < 65536) {\n if ((a -= 3) < 0) break;\n O.push(\n u >> 12 | 224,\n u >> 6 & 63 | 128,\n u & 63 | 128\n );\n } else if (u < 1114112) {\n if ((a -= 4) < 0) break;\n O.push(\n u >> 18 | 240,\n u >> 12 & 63 | 128,\n u >> 6 & 63 | 128,\n u & 63 | 128\n );\n } else\n throw new Error(\"Invalid code point\");\n }\n return O;\n }\n function F(h) {\n for (var a = [], u = 0; u < h.length; ++u)\n a.push(h.charCodeAt(u) & 255);\n return a;\n }\n function x(h, a) {\n for (var u, m, b, O = [], M = 0; M < h.length && !((a -= 2) < 0); ++M)\n u = h.charCodeAt(M), m = u >> 8, b = u % 256, O.push(b), O.push(m);\n return O;\n }\n function I(h) {\n return e.toByteArray(ie(h));\n }\n function L(h, a, u, m) {\n for (var b = 0; b < m && !(b + u >= a.length || b >= h.length); ++b)\n a[b + u] = h[b];\n return b;\n }\n function oe(h) {\n return h !== h;\n }\n }(yr)), yr;\n}\nvar _e = Yi(), ke;\ntypeof window < \"u\" && window.crypto && (ke = window.crypto);\n!ke && typeof window < \"u\" && window.msCrypto && (ke = window.msCrypto);\n!ke && typeof global < \"u\" && global.crypto && (ke = global.crypto);\nif (!ke && typeof require == \"function\")\n try {\n ke = require(\"crypto\");\n } catch {\n }\nfunction Wi() {\n if (ke) {\n if (typeof ke.getRandomValues == \"function\")\n try {\n return ke.getRandomValues(new Uint32Array(1))[0];\n } catch {\n }\n if (typeof ke.randomBytes == \"function\")\n try {\n return ke.randomBytes(4).readInt32LE();\n } catch {\n }\n }\n throw new Error(\"Native crypto module could not be used to get secure random number.\");\n}\nfunction Gi(t) {\n for (var e = t.words, n = t.sigBytes, r = [], i = 0; i < n; i++) {\n var o = e[i >>> 2] >>> 24 - i % 4 * 8 & 255;\n r.push((o >>> 4).toString(16)), r.push((o & 15).toString(16));\n }\n return r.join(\"\");\n}\nvar Ji = /* @__PURE__ */ function() {\n function t(n, r) {\n n = this.words = n || [], r != null ? this.sigBytes = r : this.sigBytes = n.length * 4;\n }\n var e = t.prototype;\n return e.random = function(r) {\n for (var i = [], o = 0; o < r; o += 4)\n i.push(Wi());\n return new t(i, r);\n }, e.toString = function() {\n return Gi(this);\n }, t;\n}(), Sr = {};\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nvar Nr = function(t, e) {\n return Nr = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(n, r) {\n n.__proto__ = r;\n } || function(n, r) {\n for (var i in r) r.hasOwnProperty(i) && (n[i] = r[i]);\n }, Nr(t, e);\n};\nfunction Zi(t, e) {\n Nr(t, e);\n function n() {\n this.constructor = t;\n }\n t.prototype = e === null ? Object.create(e) : (n.prototype = e.prototype, new n());\n}\nvar jr = function() {\n return jr = Object.assign || function(e) {\n for (var n, r = 1, i = arguments.length; r < i; r++) {\n n = arguments[r];\n for (var o in n) Object.prototype.hasOwnProperty.call(n, o) && (e[o] = n[o]);\n }\n return e;\n }, jr.apply(this, arguments);\n};\nfunction Xi(t, e) {\n var n = {};\n for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && e.indexOf(r) < 0 && (n[r] = t[r]);\n if (t != null && typeof Object.getOwnPropertySymbols == \"function\")\n for (var i = 0, r = Object.getOwnPropertySymbols(t); i < r.length; i++)\n e.indexOf(r[i]) < 0 && Object.prototype.propertyIsEnumerable.call(t, r[i]) && (n[r[i]] = t[r[i]]);\n return n;\n}\nfunction Qi(t, e, n, r) {\n var i = arguments.length, o = i < 3 ? e : r === null ? r = Object.getOwnPropertyDescriptor(e, n) : r, s;\n if (typeof Reflect == \"object\" && typeof Reflect.decorate == \"function\") o = Reflect.decorate(t, e, n, r);\n else for (var c = t.length - 1; c >= 0; c--) (s = t[c]) && (o = (i < 3 ? s(o) : i > 3 ? s(e, n, o) : s(e, n)) || o);\n return i > 3 && o && Object.defineProperty(e, n, o), o;\n}\nfunction eo(t, e) {\n return function(n, r) {\n e(n, r, t);\n };\n}\nfunction to(t, e) {\n if (typeof Reflect == \"object\" && typeof Reflect.metadata == \"function\") return Reflect.metadata(t, e);\n}\nfunction ro(t, e, n, r) {\n function i(o) {\n return o instanceof n ? o : new n(function(s) {\n s(o);\n });\n }\n return new (n || (n = Promise))(function(o, s) {\n function c(y) {\n try {\n w(r.next(y));\n } catch (C) {\n s(C);\n }\n }\n function p(y) {\n try {\n w(r.throw(y));\n } catch (C) {\n s(C);\n }\n }\n function w(y) {\n y.done ? o(y.value) : i(y.value).then(c, p);\n }\n w((r = r.apply(t, e || [])).next());\n });\n}\nfunction no(t, e) {\n var n = { label: 0, sent: function() {\n if (o[0] & 1) throw o[1];\n return o[1];\n }, trys: [], ops: [] }, r, i, o, s;\n return s = { next: c(0), throw: c(1), return: c(2) }, typeof Symbol == \"function\" && (s[Symbol.iterator] = function() {\n return this;\n }), s;\n function c(w) {\n return function(y) {\n return p([w, y]);\n };\n }\n function p(w) {\n if (r) throw new TypeError(\"Generator is already executing.\");\n for (; n; ) try {\n if (r = 1, i && (o = w[0] & 2 ? i.return : w[0] ? i.throw || ((o = i.return) && o.call(i), 0) : i.next) && !(o = o.call(i, w[1])).done) return o;\n switch (i = 0, o && (w = [w[0] & 2, o.value]), w[0]) {\n case 0:\n case 1:\n o = w;\n break;\n case 4:\n return n.label++, { value: w[1], done: !1 };\n case 5:\n n.label++, i = w[1], w = [0];\n continue;\n case 7:\n w = n.ops.pop(), n.trys.pop();\n continue;\n default:\n if (o = n.trys, !(o = o.length > 0 && o[o.length - 1]) && (w[0] === 6 || w[0] === 2)) {\n n = 0;\n continue;\n }\n if (w[0] === 3 && (!o || w[1] > o[0] && w[1] < o[3])) {\n n.label = w[1];\n break;\n }\n if (w[0] === 6 && n.label < o[1]) {\n n.label = o[1], o = w;\n break;\n }\n if (o && n.label < o[2]) {\n n.label = o[2], n.ops.push(w);\n break;\n }\n o[2] && n.ops.pop(), n.trys.pop();\n continue;\n }\n w = e.call(t, n);\n } catch (y) {\n w = [6, y], i = 0;\n } finally {\n r = o = 0;\n }\n if (w[0] & 5) throw w[1];\n return { value: w[0] ? w[1] : void 0, done: !0 };\n }\n}\nfunction io(t, e, n, r) {\n r === void 0 && (r = n), t[r] = e[n];\n}\nfunction oo(t, e) {\n for (var n in t) n !== \"default\" && !e.hasOwnProperty(n) && (e[n] = t[n]);\n}\nfunction qr(t) {\n var e = typeof Symbol == \"function\" && Symbol.iterator, n = e && t[e], r = 0;\n if (n) return n.call(t);\n if (t && typeof t.length == \"number\") return {\n next: function() {\n return t && r >= t.length && (t = void 0), { value: t && t[r++], done: !t };\n }\n };\n throw new TypeError(e ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nfunction li(t, e) {\n var n = typeof Symbol == \"function\" && t[Symbol.iterator];\n if (!n) return t;\n var r = n.call(t), i, o = [], s;\n try {\n for (; (e === void 0 || e-- > 0) && !(i = r.next()).done; ) o.push(i.value);\n } catch (c) {\n s = { error: c };\n } finally {\n try {\n i && !i.done && (n = r.return) && n.call(r);\n } finally {\n if (s) throw s.error;\n }\n }\n return o;\n}\nfunction so() {\n for (var t = [], e = 0; e < arguments.length; e++)\n t = t.concat(li(arguments[e]));\n return t;\n}\nfunction ao() {\n for (var t = 0, e = 0, n = arguments.length; e < n; e++) t += arguments[e].length;\n for (var r = Array(t), i = 0, e = 0; e < n; e++)\n for (var o = arguments[e], s = 0, c = o.length; s < c; s++, i++)\n r[i] = o[s];\n return r;\n}\nfunction Vt(t) {\n return this instanceof Vt ? (this.v = t, this) : new Vt(t);\n}\nfunction uo(t, e, n) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var r = n.apply(t, e || []), i, o = [];\n return i = {}, s(\"next\"), s(\"throw\"), s(\"return\"), i[Symbol.asyncIterator] = function() {\n return this;\n }, i;\n function s(A) {\n r[A] && (i[A] = function(T) {\n return new Promise(function(R, U) {\n o.push([A, T, R, U]) > 1 || c(A, T);\n });\n });\n }\n function c(A, T) {\n try {\n p(r[A](T));\n } catch (R) {\n C(o[0][3], R);\n }\n }\n function p(A) {\n A.value instanceof Vt ? Promise.resolve(A.value.v).then(w, y) : C(o[0][2], A);\n }\n function w(A) {\n c(\"next\", A);\n }\n function y(A) {\n c(\"throw\", A);\n }\n function C(A, T) {\n A(T), o.shift(), o.length && c(o[0][0], o[0][1]);\n }\n}\nfunction co(t) {\n var e, n;\n return e = {}, r(\"next\"), r(\"throw\", function(i) {\n throw i;\n }), r(\"return\"), e[Symbol.iterator] = function() {\n return this;\n }, e;\n function r(i, o) {\n e[i] = t[i] ? function(s) {\n return (n = !n) ? { value: Vt(t[i](s)), done: i === \"return\" } : o ? o(s) : s;\n } : o;\n }\n}\nfunction lo(t) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var e = t[Symbol.asyncIterator], n;\n return e ? e.call(t) : (t = typeof qr == \"function\" ? qr(t) : t[Symbol.iterator](), n = {}, r(\"next\"), r(\"throw\"), r(\"return\"), n[Symbol.asyncIterator] = function() {\n return this;\n }, n);\n function r(o) {\n n[o] = t[o] && function(s) {\n return new Promise(function(c, p) {\n s = t[o](s), i(c, p, s.done, s.value);\n });\n };\n }\n function i(o, s, c, p) {\n Promise.resolve(p).then(function(w) {\n o({ value: w, done: c });\n }, s);\n }\n}\nfunction fo(t, e) {\n return Object.defineProperty ? Object.defineProperty(t, \"raw\", { value: e }) : t.raw = e, t;\n}\nfunction ho(t) {\n if (t && t.__esModule) return t;\n var e = {};\n if (t != null) for (var n in t) Object.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n return e.default = t, e;\n}\nfunction go(t) {\n return t && t.__esModule ? t : { default: t };\n}\nfunction po(t, e) {\n if (!e.has(t))\n throw new TypeError(\"attempted to get private field on non-instance\");\n return e.get(t);\n}\nfunction wo(t, e, n) {\n if (!e.has(t))\n throw new TypeError(\"attempted to set private field on non-instance\");\n return e.set(t, n), n;\n}\nconst mo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n get __assign() {\n return jr;\n },\n __asyncDelegator: co,\n __asyncGenerator: uo,\n __asyncValues: lo,\n __await: Vt,\n __awaiter: ro,\n __classPrivateFieldGet: po,\n __classPrivateFieldSet: wo,\n __createBinding: io,\n __decorate: Qi,\n __exportStar: oo,\n __extends: Zi,\n __generator: no,\n __importDefault: go,\n __importStar: ho,\n __makeTemplateObject: fo,\n __metadata: to,\n __param: eo,\n __read: li,\n __rest: Xi,\n __spread: so,\n __spreadArrays: ao,\n __values: qr\n}, Symbol.toStringTag, { value: \"Module\" })), fi = /* @__PURE__ */ Xr(mo);\nvar Tt = {}, Ie = {}, Cn;\nfunction hi() {\n return Cn || (Cn = 1, Object.defineProperty(Ie, \"__esModule\", { value: !0 }), Ie.MAX_HASHABLE_LENGTH = Ie.INIT = Ie.KEY = Ie.DIGEST_LENGTH = Ie.BLOCK_SIZE = void 0, Ie.BLOCK_SIZE = 64, Ie.DIGEST_LENGTH = 32, Ie.KEY = new Uint32Array([\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n ]), Ie.INIT = [\n 1779033703,\n 3144134277,\n 1013904242,\n 2773480762,\n 1359893119,\n 2600822924,\n 528734635,\n 1541459225\n ], Ie.MAX_HASHABLE_LENGTH = Math.pow(2, 53) - 1), Ie;\n}\nvar Rt = {}, xn;\nfunction vo() {\n if (xn) return Rt;\n xn = 1, Object.defineProperty(Rt, \"__esModule\", { value: !0 }), Rt.RawSha256 = void 0;\n var t = hi(), e = (\n /** @class */\n function() {\n function n() {\n this.state = Int32Array.from(t.INIT), this.temp = new Int32Array(64), this.buffer = new Uint8Array(64), this.bufferLength = 0, this.bytesHashed = 0, this.finished = !1;\n }\n return n.prototype.update = function(r) {\n if (this.finished)\n throw new Error(\"Attempted to update an already finished hash.\");\n var i = 0, o = r.byteLength;\n if (this.bytesHashed += o, this.bytesHashed * 8 > t.MAX_HASHABLE_LENGTH)\n throw new Error(\"Cannot hash more than 2^53 - 1 bits\");\n for (; o > 0; )\n this.buffer[this.bufferLength++] = r[i++], o--, this.bufferLength === t.BLOCK_SIZE && (this.hashBuffer(), this.bufferLength = 0);\n }, n.prototype.digest = function() {\n if (!this.finished) {\n var r = this.bytesHashed * 8, i = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength), o = this.bufferLength;\n if (i.setUint8(this.bufferLength++, 128), o % t.BLOCK_SIZE >= t.BLOCK_SIZE - 8) {\n for (var s = this.bufferLength; s < t.BLOCK_SIZE; s++)\n i.setUint8(s, 0);\n this.hashBuffer(), this.bufferLength = 0;\n }\n for (var s = this.bufferLength; s < t.BLOCK_SIZE - 8; s++)\n i.setUint8(s, 0);\n i.setUint32(t.BLOCK_SIZE - 8, Math.floor(r / 4294967296), !0), i.setUint32(t.BLOCK_SIZE - 4, r), this.hashBuffer(), this.finished = !0;\n }\n for (var c = new Uint8Array(t.DIGEST_LENGTH), s = 0; s < 8; s++)\n c[s * 4] = this.state[s] >>> 24 & 255, c[s * 4 + 1] = this.state[s] >>> 16 & 255, c[s * 4 + 2] = this.state[s] >>> 8 & 255, c[s * 4 + 3] = this.state[s] >>> 0 & 255;\n return c;\n }, n.prototype.hashBuffer = function() {\n for (var r = this, i = r.buffer, o = r.state, s = o[0], c = o[1], p = o[2], w = o[3], y = o[4], C = o[5], A = o[6], T = o[7], R = 0; R < t.BLOCK_SIZE; R++) {\n if (R < 16)\n this.temp[R] = (i[R * 4] & 255) << 24 | (i[R * 4 + 1] & 255) << 16 | (i[R * 4 + 2] & 255) << 8 | i[R * 4 + 3] & 255;\n else {\n var U = this.temp[R - 2], $ = (U >>> 17 | U << 15) ^ (U >>> 19 | U << 13) ^ U >>> 10;\n U = this.temp[R - 15];\n var B = (U >>> 7 | U << 25) ^ (U >>> 18 | U << 14) ^ U >>> 3;\n this.temp[R] = ($ + this.temp[R - 7] | 0) + (B + this.temp[R - 16] | 0);\n }\n var K = (((y >>> 6 | y << 26) ^ (y >>> 11 | y << 21) ^ (y >>> 25 | y << 7)) + (y & C ^ ~y & A) | 0) + (T + (t.KEY[R] + this.temp[R] | 0) | 0) | 0, J = ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + (s & c ^ s & p ^ c & p) | 0;\n T = A, A = C, C = y, y = w + K | 0, w = p, p = c, c = s, s = K + J | 0;\n }\n o[0] += s, o[1] += c, o[2] += p, o[3] += w, o[4] += y, o[5] += C, o[6] += A, o[7] += T;\n }, n;\n }()\n );\n return Rt.RawSha256 = e, Rt;\n}\nvar _r = {}, Dt = {};\nconst yo = (t) => {\n const e = [];\n for (let n = 0, r = t.length; n < r; n++) {\n const i = t.charCodeAt(n);\n if (i < 128)\n e.push(i);\n else if (i < 2048)\n e.push(i >> 6 | 192, i & 63 | 128);\n else if (n + 1 < t.length && (i & 64512) === 55296 && (t.charCodeAt(n + 1) & 64512) === 56320) {\n const o = 65536 + ((i & 1023) << 10) + (t.charCodeAt(++n) & 1023);\n e.push(o >> 18 | 240, o >> 12 & 63 | 128, o >> 6 & 63 | 128, o & 63 | 128);\n } else\n e.push(i >> 12 | 224, i >> 6 & 63 | 128, i & 63 | 128);\n }\n return Uint8Array.from(e);\n}, bo = (t) => {\n let e = \"\";\n for (let n = 0, r = t.length; n < r; n++) {\n const i = t[n];\n if (i < 128)\n e += String.fromCharCode(i);\n else if (192 <= i && i < 224) {\n const o = t[++n];\n e += String.fromCharCode((i & 31) << 6 | o & 63);\n } else if (240 <= i && i < 365) {\n const s = \"%\" + [i, t[++n], t[++n], t[++n]].map((c) => c.toString(16)).join(\"%\");\n e += decodeURIComponent(s);\n } else\n e += String.fromCharCode((i & 15) << 12 | (t[++n] & 63) << 6 | t[++n] & 63);\n }\n return e;\n};\nfunction So(t) {\n return new TextEncoder().encode(t);\n}\nfunction _o(t) {\n return new TextDecoder(\"utf-8\").decode(t);\n}\nconst Co = (t) => typeof TextEncoder == \"function\" ? So(t) : yo(t), xo = (t) => typeof TextDecoder == \"function\" ? _o(t) : bo(t), Ao = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n fromUtf8: Co,\n toUtf8: xo\n}, Symbol.toStringTag, { value: \"Module\" })), Eo = /* @__PURE__ */ Xr(Ao);\nvar An;\nfunction Uo() {\n if (An) return Dt;\n An = 1, Object.defineProperty(Dt, \"__esModule\", { value: !0 }), Dt.convertToBuffer = void 0;\n var t = Eo, e = typeof Buffer < \"u\" && Buffer.from ? function(r) {\n return Buffer.from(r, \"utf8\");\n } : t.fromUtf8;\n function n(r) {\n return r instanceof Uint8Array ? r : typeof r == \"string\" ? e(r) : ArrayBuffer.isView(r) ? new Uint8Array(r.buffer, r.byteOffset, r.byteLength / Uint8Array.BYTES_PER_ELEMENT) : new Uint8Array(r);\n }\n return Dt.convertToBuffer = n, Dt;\n}\nvar Pt = {}, En;\nfunction To() {\n if (En) return Pt;\n En = 1, Object.defineProperty(Pt, \"__esModule\", { value: !0 }), Pt.isEmptyData = void 0;\n function t(e) {\n return typeof e == \"string\" ? e.length === 0 : e.byteLength === 0;\n }\n return Pt.isEmptyData = t, Pt;\n}\nvar It = {}, Un;\nfunction Ro() {\n if (Un) return It;\n Un = 1, Object.defineProperty(It, \"__esModule\", { value: !0 }), It.numToUint8 = void 0;\n function t(e) {\n return new Uint8Array([\n (e & 4278190080) >> 24,\n (e & 16711680) >> 16,\n (e & 65280) >> 8,\n e & 255\n ]);\n }\n return It.numToUint8 = t, It;\n}\nvar Ft = {}, Tn;\nfunction Do() {\n if (Tn) return Ft;\n Tn = 1, Object.defineProperty(Ft, \"__esModule\", { value: !0 }), Ft.uint32ArrayFrom = void 0;\n function t(e) {\n if (!Array.from) {\n for (var n = new Uint32Array(e.length), r = 0; r < e.length; )\n n[r] = e[r];\n return n;\n }\n return Uint32Array.from(e);\n }\n return Ft.uint32ArrayFrom = t, Ft;\n}\nvar Rn;\nfunction Po() {\n return Rn || (Rn = 1, function(t) {\n Object.defineProperty(t, \"__esModule\", { value: !0 }), t.uint32ArrayFrom = t.numToUint8 = t.isEmptyData = t.convertToBuffer = void 0;\n var e = Uo();\n Object.defineProperty(t, \"convertToBuffer\", { enumerable: !0, get: function() {\n return e.convertToBuffer;\n } });\n var n = To();\n Object.defineProperty(t, \"isEmptyData\", { enumerable: !0, get: function() {\n return n.isEmptyData;\n } });\n var r = Ro();\n Object.defineProperty(t, \"numToUint8\", { enumerable: !0, get: function() {\n return r.numToUint8;\n } });\n var i = Do();\n Object.defineProperty(t, \"uint32ArrayFrom\", { enumerable: !0, get: function() {\n return i.uint32ArrayFrom;\n } });\n }(_r)), _r;\n}\nvar Dn;\nfunction Io() {\n if (Dn) return Tt;\n Dn = 1, Object.defineProperty(Tt, \"__esModule\", { value: !0 }), Tt.Sha256 = void 0;\n var t = fi, e = hi(), n = vo(), r = Po(), i = (\n /** @class */\n function() {\n function s(c) {\n if (this.hash = new n.RawSha256(), c) {\n this.outer = new n.RawSha256();\n var p = o(c), w = new Uint8Array(e.BLOCK_SIZE);\n w.set(p);\n for (var y = 0; y < e.BLOCK_SIZE; y++)\n p[y] ^= 54, w[y] ^= 92;\n this.hash.update(p), this.outer.update(w);\n for (var y = 0; y < p.byteLength; y++)\n p[y] = 0;\n }\n }\n return s.prototype.update = function(c) {\n if (!((0, r.isEmptyData)(c) || this.error))\n try {\n this.hash.update((0, r.convertToBuffer)(c));\n } catch (p) {\n this.error = p;\n }\n }, s.prototype.digestSync = function() {\n if (this.error)\n throw this.error;\n return this.outer ? (this.outer.finished || this.outer.update(this.hash.digest()), this.outer.digest()) : this.hash.digest();\n }, s.prototype.digest = function() {\n return (0, t.__awaiter)(this, void 0, void 0, function() {\n return (0, t.__generator)(this, function(c) {\n return [2, this.digestSync()];\n });\n });\n }, s;\n }()\n );\n Tt.Sha256 = i;\n function o(s) {\n var c = (0, r.convertToBuffer)(s);\n if (c.byteLength > e.BLOCK_SIZE) {\n var p = new n.RawSha256();\n p.update(c), c = p.digest();\n }\n var w = new Uint8Array(e.BLOCK_SIZE);\n return w.set(c), w;\n }\n return Tt;\n}\nvar Pn;\nfunction Fo() {\n return Pn || (Pn = 1, function(t) {\n Object.defineProperty(t, \"__esModule\", { value: !0 });\n var e = fi;\n (0, e.__exportStar)(Io(), t);\n }(Sr)), Sr;\n}\nvar zt = Fo();\nfunction ee(t, e) {\n t != null && this.fromString(t, e);\n}\nfunction Ue() {\n return new ee(null);\n}\nvar et, ko = 244837814094590, In = (ko & 16777215) == 15715070;\nfunction Oo(t, e, n, r, i, o) {\n for (; --o >= 0; ) {\n var s = e * this[t++] + n[r] + i;\n i = Math.floor(s / 67108864), n[r++] = s & 67108863;\n }\n return i;\n}\nfunction Mo(t, e, n, r, i, o) {\n for (var s = e & 32767, c = e >> 15; --o >= 0; ) {\n var p = this[t] & 32767, w = this[t++] >> 15, y = c * p + w * s;\n p = s * p + ((y & 32767) << 15) + n[r] + (i & 1073741823), i = (p >>> 30) + (y >>> 15) + c * w + (i >>> 30), n[r++] = p & 1073741823;\n }\n return i;\n}\nfunction Bo(t, e, n, r, i, o) {\n for (var s = e & 16383, c = e >> 14; --o >= 0; ) {\n var p = this[t] & 16383, w = this[t++] >> 14, y = c * p + w * s;\n p = s * p + ((y & 16383) << 14) + n[r] + i, i = (p >> 28) + (y >> 14) + c * w, n[r++] = p & 268435455;\n }\n return i;\n}\nvar Fn = typeof navigator < \"u\";\nFn && In && navigator.appName == \"Microsoft Internet Explorer\" ? (ee.prototype.am = Mo, et = 30) : Fn && In && navigator.appName != \"Netscape\" ? (ee.prototype.am = Oo, et = 26) : (ee.prototype.am = Bo, et = 28);\nee.prototype.DB = et;\nee.prototype.DM = (1 << et) - 1;\nee.prototype.DV = 1 << et;\nvar Qr = 52;\nee.prototype.FV = Math.pow(2, Qr);\nee.prototype.F1 = Qr - et;\nee.prototype.F2 = 2 * et - Qr;\nvar No = \"0123456789abcdefghijklmnopqrstuvwxyz\", hr = new Array(), St, Oe;\nSt = 48;\nfor (Oe = 0; Oe <= 9; ++Oe) hr[St++] = Oe;\nSt = 97;\nfor (Oe = 10; Oe < 36; ++Oe) hr[St++] = Oe;\nSt = 65;\nfor (Oe = 10; Oe < 36; ++Oe) hr[St++] = Oe;\nfunction kn(t) {\n return No.charAt(t);\n}\nfunction jo(t, e) {\n var n = hr[t.charCodeAt(e)];\n return n ?? -1;\n}\nfunction qo(t) {\n for (var e = this.t - 1; e >= 0; --e) t[e] = this[e];\n t.t = this.t, t.s = this.s;\n}\nfunction Lo(t) {\n this.t = 1, this.s = t < 0 ? -1 : 0, t > 0 ? this[0] = t : t < -1 ? this[0] = t + this.DV : this.t = 0;\n}\nfunction en(t) {\n var e = Ue();\n return e.fromInt(t), e;\n}\nfunction $o(t, e) {\n var n;\n if (e == 16) n = 4;\n else if (e == 8) n = 3;\n else if (e == 2) n = 1;\n else if (e == 32) n = 5;\n else if (e == 4) n = 2;\n else throw new Error(\"Only radix 2, 4, 8, 16, 32 are supported\");\n this.t = 0, this.s = 0;\n for (var r = t.length, i = !1, o = 0; --r >= 0; ) {\n var s = jo(t, r);\n if (s < 0) {\n t.charAt(r) == \"-\" && (i = !0);\n continue;\n }\n i = !1, o == 0 ? this[this.t++] = s : o + n > this.DB ? (this[this.t - 1] |= (s & (1 << this.DB - o) - 1) << o, this[this.t++] = s >> this.DB - o) : this[this.t - 1] |= s << o, o += n, o >= this.DB && (o -= this.DB);\n }\n this.clamp(), i && ee.ZERO.subTo(this, this);\n}\nfunction zo() {\n for (var t = this.s & this.DM; this.t > 0 && this[this.t - 1] == t; ) --this.t;\n}\nfunction Vo(t) {\n if (this.s < 0) return \"-\" + this.negate().toString(t);\n var e;\n if (t == 16) e = 4;\n else if (t == 8) e = 3;\n else if (t == 2) e = 1;\n else if (t == 32) e = 5;\n else if (t == 4) e = 2;\n else throw new Error(\"Only radix 2, 4, 8, 16, 32 are supported\");\n var n = (1 << e) - 1, r, i = !1, o = \"\", s = this.t, c = this.DB - s * this.DB % e;\n if (s-- > 0)\n for (c < this.DB && (r = this[s] >> c) > 0 && (i = !0, o = kn(r)); s >= 0; )\n c < e ? (r = (this[s] & (1 << c) - 1) << e - c, r |= this[--s] >> (c += this.DB - e)) : (r = this[s] >> (c -= e) & n, c <= 0 && (c += this.DB, --s)), r > 0 && (i = !0), i && (o += kn(r));\n return i ? o : \"0\";\n}\nfunction Ho() {\n var t = Ue();\n return ee.ZERO.subTo(this, t), t;\n}\nfunction Ko() {\n return this.s < 0 ? this.negate() : this;\n}\nfunction Yo(t) {\n var e = this.s - t.s;\n if (e != 0) return e;\n var n = this.t;\n if (e = n - t.t, e != 0) return this.s < 0 ? -e : e;\n for (; --n >= 0; ) if ((e = this[n] - t[n]) != 0) return e;\n return 0;\n}\nfunction tn(t) {\n var e = 1, n;\n return (n = t >>> 16) != 0 && (t = n, e += 16), (n = t >> 8) != 0 && (t = n, e += 8), (n = t >> 4) != 0 && (t = n, e += 4), (n = t >> 2) != 0 && (t = n, e += 2), (n = t >> 1) != 0 && (t = n, e += 1), e;\n}\nfunction Wo() {\n return this.t <= 0 ? 0 : this.DB * (this.t - 1) + tn(this[this.t - 1] ^ this.s & this.DM);\n}\nfunction Go(t, e) {\n var n;\n for (n = this.t - 1; n >= 0; --n) e[n + t] = this[n];\n for (n = t - 1; n >= 0; --n) e[n] = 0;\n e.t = this.t + t, e.s = this.s;\n}\nfunction Jo(t, e) {\n for (var n = t; n < this.t; ++n) e[n - t] = this[n];\n e.t = Math.max(this.t - t, 0), e.s = this.s;\n}\nfunction Zo(t, e) {\n var n = t % this.DB, r = this.DB - n, i = (1 << r) - 1, o = Math.floor(t / this.DB), s = this.s << n & this.DM, c;\n for (c = this.t - 1; c >= 0; --c)\n e[c + o + 1] = this[c] >> r | s, s = (this[c] & i) << n;\n for (c = o - 1; c >= 0; --c) e[c] = 0;\n e[o] = s, e.t = this.t + o + 1, e.s = this.s, e.clamp();\n}\nfunction Xo(t, e) {\n e.s = this.s;\n var n = Math.floor(t / this.DB);\n if (n >= this.t) {\n e.t = 0;\n return;\n }\n var r = t % this.DB, i = this.DB - r, o = (1 << r) - 1;\n e[0] = this[n] >> r;\n for (var s = n + 1; s < this.t; ++s)\n e[s - n - 1] |= (this[s] & o) << i, e[s - n] = this[s] >> r;\n r > 0 && (e[this.t - n - 1] |= (this.s & o) << i), e.t = this.t - n, e.clamp();\n}\nfunction Qo(t, e) {\n for (var n = 0, r = 0, i = Math.min(t.t, this.t); n < i; )\n r += this[n] - t[n], e[n++] = r & this.DM, r >>= this.DB;\n if (t.t < this.t) {\n for (r -= t.s; n < this.t; )\n r += this[n], e[n++] = r & this.DM, r >>= this.DB;\n r += this.s;\n } else {\n for (r += this.s; n < t.t; )\n r -= t[n], e[n++] = r & this.DM, r >>= this.DB;\n r -= t.s;\n }\n e.s = r < 0 ? -1 : 0, r < -1 ? e[n++] = this.DV + r : r > 0 && (e[n++] = r), e.t = n, e.clamp();\n}\nfunction es(t, e) {\n var n = this.abs(), r = t.abs(), i = n.t;\n for (e.t = i + r.t; --i >= 0; ) e[i] = 0;\n for (i = 0; i < r.t; ++i) e[i + n.t] = n.am(0, r[i], e, i, 0, n.t);\n e.s = 0, e.clamp(), this.s != t.s && ee.ZERO.subTo(e, e);\n}\nfunction ts(t) {\n for (var e = this.abs(), n = t.t = 2 * e.t; --n >= 0; ) t[n] = 0;\n for (n = 0; n < e.t - 1; ++n) {\n var r = e.am(n, e[n], t, 2 * n, 0, 1);\n (t[n + e.t] += e.am(n + 1, 2 * e[n], t, 2 * n + 1, r, e.t - n - 1)) >= e.DV && (t[n + e.t] -= e.DV, t[n + e.t + 1] = 1);\n }\n t.t > 0 && (t[t.t - 1] += e.am(n, e[n], t, 2 * n, 0, 1)), t.s = 0, t.clamp();\n}\nfunction rs(t, e, n) {\n var r = t.abs();\n if (!(r.t <= 0)) {\n var i = this.abs();\n if (i.t < r.t) {\n e != null && e.fromInt(0), n != null && this.copyTo(n);\n return;\n }\n n == null && (n = Ue());\n var o = Ue(), s = this.s, c = t.s, p = this.DB - tn(r[r.t - 1]);\n p > 0 ? (r.lShiftTo(p, o), i.lShiftTo(p, n)) : (r.copyTo(o), i.copyTo(n));\n var w = o.t, y = o[w - 1];\n if (y != 0) {\n var C = y * (1 << this.F1) + (w > 1 ? o[w - 2] >> this.F2 : 0), A = this.FV / C, T = (1 << this.F1) / C, R = 1 << this.F2, U = n.t, $ = U - w, B = e ?? Ue();\n for (o.dlShiftTo($, B), n.compareTo(B) >= 0 && (n[n.t++] = 1, n.subTo(B, n)), ee.ONE.dlShiftTo(w, B), B.subTo(o, o); o.t < w; ) o[o.t++] = 0;\n for (; --$ >= 0; ) {\n var K = n[--U] == y ? this.DM : Math.floor(n[U] * A + (n[U - 1] + R) * T);\n if ((n[U] += o.am(0, K, n, $, 0, w)) < K)\n for (o.dlShiftTo($, B), n.subTo(B, n); n[U] < --K; ) n.subTo(B, n);\n }\n e != null && (n.drShiftTo(w, e), s != c && ee.ZERO.subTo(e, e)), n.t = w, n.clamp(), p > 0 && n.rShiftTo(p, n), s < 0 && ee.ZERO.subTo(n, n);\n }\n }\n}\nfunction ns(t) {\n var e = Ue();\n return this.abs().divRemTo(t, null, e), this.s < 0 && e.compareTo(ee.ZERO) > 0 && t.subTo(e, e), e;\n}\nfunction is() {\n if (this.t < 1) return 0;\n var t = this[0];\n if ((t & 1) == 0) return 0;\n var e = t & 3;\n return e = e * (2 - (t & 15) * e) & 15, e = e * (2 - (t & 255) * e) & 255, e = e * (2 - ((t & 65535) * e & 65535)) & 65535, e = e * (2 - t * e % this.DV) % this.DV, e > 0 ? this.DV - e : -e;\n}\nfunction os(t) {\n return this.compareTo(t) == 0;\n}\nfunction ss(t, e) {\n for (var n = 0, r = 0, i = Math.min(t.t, this.t); n < i; )\n r += this[n] + t[n], e[n++] = r & this.DM, r >>= this.DB;\n if (t.t < this.t) {\n for (r += t.s; n < this.t; )\n r += this[n], e[n++] = r & this.DM, r >>= this.DB;\n r += this.s;\n } else {\n for (r += this.s; n < t.t; )\n r += t[n], e[n++] = r & this.DM, r >>= this.DB;\n r += t.s;\n }\n e.s = r < 0 ? -1 : 0, r > 0 ? e[n++] = r : r < -1 && (e[n++] = this.DV + r), e.t = n, e.clamp();\n}\nfunction as(t) {\n var e = Ue();\n return this.addTo(t, e), e;\n}\nfunction us(t) {\n var e = Ue();\n return this.subTo(t, e), e;\n}\nfunction cs(t) {\n var e = Ue();\n return this.multiplyTo(t, e), e;\n}\nfunction ls(t) {\n var e = Ue();\n return this.divRemTo(t, e, null), e;\n}\nfunction _t(t) {\n this.m = t, this.mp = t.invDigit(), this.mpl = this.mp & 32767, this.mph = this.mp >> 15, this.um = (1 << t.DB - 15) - 1, this.mt2 = 2 * t.t;\n}\nfunction fs(t) {\n var e = Ue();\n return t.abs().dlShiftTo(this.m.t, e), e.divRemTo(this.m, null, e), t.s < 0 && e.compareTo(ee.ZERO) > 0 && this.m.subTo(e, e), e;\n}\nfunction hs(t) {\n var e = Ue();\n return t.copyTo(e), this.reduce(e), e;\n}\nfunction ds(t) {\n for (; t.t <= this.mt2; )\n t[t.t++] = 0;\n for (var e = 0; e < this.m.t; ++e) {\n var n = t[e] & 32767, r = n * this.mpl + ((n * this.mph + (t[e] >> 15) * this.mpl & this.um) << 15) & t.DM;\n for (n = e + this.m.t, t[n] += this.m.am(0, r, t, e, 0, this.m.t); t[n] >= t.DV; )\n t[n] -= t.DV, t[++n]++;\n }\n t.clamp(), t.drShiftTo(this.m.t, t), t.compareTo(this.m) >= 0 && t.subTo(this.m, t);\n}\nfunction gs(t, e) {\n t.squareTo(e), this.reduce(e);\n}\nfunction ps(t, e, n) {\n t.multiplyTo(e, n), this.reduce(n);\n}\n_t.prototype.convert = fs;\n_t.prototype.revert = hs;\n_t.prototype.reduce = ds;\n_t.prototype.mulTo = ps;\n_t.prototype.sqrTo = gs;\nfunction ws(t, e, n) {\n var r = t.bitLength(), i, o = en(1), s = new _t(e);\n if (r <= 0) return o;\n r < 18 ? i = 1 : r < 48 ? i = 3 : r < 144 ? i = 4 : r < 768 ? i = 5 : i = 6;\n var c = new Array(), p = 3, w = i - 1, y = (1 << i) - 1;\n if (c[1] = s.convert(this), i > 1) {\n var C = Ue();\n for (s.sqrTo(c[1], C); p <= y; )\n c[p] = Ue(), s.mulTo(C, c[p - 2], c[p]), p += 2;\n }\n var A = t.t - 1, T, R = !0, U = Ue(), $;\n for (r = tn(t[A]) - 1; A >= 0; ) {\n for (r >= w ? T = t[A] >> r - w & y : (T = (t[A] & (1 << r + 1) - 1) << w - r, A > 0 && (T |= t[A - 1] >> this.DB + r - w)), p = i; (T & 1) == 0; )\n T >>= 1, --p;\n if ((r -= p) < 0 && (r += this.DB, --A), R)\n c[T].copyTo(o), R = !1;\n else {\n for (; p > 1; )\n s.sqrTo(o, U), s.sqrTo(U, o), p -= 2;\n p > 0 ? s.sqrTo(o, U) : ($ = o, o = U, U = $), s.mulTo(U, c[T], o);\n }\n for (; A >= 0 && (t[A] & 1 << r) == 0; )\n s.sqrTo(o, U), $ = o, o = U, U = $, --r < 0 && (r = this.DB - 1, --A);\n }\n var B = s.revert(o);\n return n(null, B), B;\n}\nee.prototype.copyTo = qo;\nee.prototype.fromInt = Lo;\nee.prototype.fromString = $o;\nee.prototype.clamp = zo;\nee.prototype.dlShiftTo = Go;\nee.prototype.drShiftTo = Jo;\nee.prototype.lShiftTo = Zo;\nee.prototype.rShiftTo = Xo;\nee.prototype.subTo = Qo;\nee.prototype.multiplyTo = es;\nee.prototype.squareTo = ts;\nee.prototype.divRemTo = rs;\nee.prototype.invDigit = is;\nee.prototype.addTo = ss;\nee.prototype.toString = Vo;\nee.prototype.negate = Ho;\nee.prototype.abs = Ko;\nee.prototype.compareTo = Yo;\nee.prototype.bitLength = Wo;\nee.prototype.mod = ns;\nee.prototype.equals = os;\nee.prototype.add = as;\nee.prototype.subtract = us;\nee.prototype.multiply = cs;\nee.prototype.divide = ls;\nee.prototype.modPow = ws;\nee.ZERO = en(0);\nee.ONE = en(1);\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nfunction Cr(t) {\n return _e.Buffer.from(new Ji().random(t).toString(), \"hex\");\n}\nvar ms = /^[89a-f]/i, vs = \"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF\", ys = \"userAttributes.\", lt = /* @__PURE__ */ function() {\n function t(n) {\n this.N = new ee(vs, 16), this.g = new ee(\"2\", 16), this.k = new ee(this.hexHash(\"\" + this.padHex(this.N) + this.padHex(this.g)), 16), this.smallAValue = this.generateRandomSmallA(), this.getLargeAValue(function() {\n }), this.infoBits = _e.Buffer.from(\"Caldera Derived Key\", \"utf8\"), this.poolName = n;\n }\n var e = t.prototype;\n return e.getSmallAValue = function() {\n return this.smallAValue;\n }, e.getLargeAValue = function(r) {\n var i = this;\n this.largeAValue ? r(null, this.largeAValue) : this.calculateA(this.smallAValue, function(o, s) {\n o && r(o, null), i.largeAValue = s, r(null, i.largeAValue);\n });\n }, e.generateRandomSmallA = function() {\n var r = Cr(128).toString(\"hex\"), i = new ee(r, 16);\n return i;\n }, e.generateRandomString = function() {\n return Cr(40).toString(\"base64\");\n }, e.getRandomPassword = function() {\n return this.randomPassword;\n }, e.getSaltDevices = function() {\n return this.SaltToHashDevices;\n }, e.getVerifierDevices = function() {\n return this.verifierDevices;\n }, e.generateHashDevice = function(r, i, o) {\n var s = this;\n this.randomPassword = this.generateRandomString();\n var c = \"\" + r + i + \":\" + this.randomPassword, p = this.hash(c), w = Cr(16).toString(\"hex\");\n this.SaltToHashDevices = this.padHex(new ee(w, 16)), this.g.modPow(new ee(this.hexHash(this.SaltToHashDevices + p), 16), this.N, function(y, C) {\n y && o(y, null), s.verifierDevices = s.padHex(C), o(null, null);\n });\n }, e.calculateA = function(r, i) {\n var o = this;\n this.g.modPow(r, this.N, function(s, c) {\n s && i(s, null), c.mod(o.N).equals(ee.ZERO) && i(new Error(\"Illegal paramater. A mod N cannot be 0.\"), null), i(null, c);\n });\n }, e.calculateU = function(r, i) {\n this.UHexHash = this.hexHash(this.padHex(r) + this.padHex(i));\n var o = new ee(this.UHexHash, 16);\n return o;\n }, e.hash = function(r) {\n var i = new zt.Sha256();\n i.update(r);\n var o = i.digestSync(), s = _e.Buffer.from(o).toString(\"hex\");\n return new Array(64 - s.length).join(\"0\") + s;\n }, e.hexHash = function(r) {\n return this.hash(_e.Buffer.from(r, \"hex\"));\n }, e.computehkdf = function(r, i) {\n var o = _e.Buffer.concat([this.infoBits, _e.Buffer.from(\"\u0001\", \"utf8\")]), s = new zt.Sha256(i);\n s.update(r);\n var c = s.digestSync(), p = new zt.Sha256(c);\n p.update(o);\n var w = p.digestSync(), y = w, C = y.slice(0, 16);\n return C;\n }, e.getPasswordAuthenticationKey = function(r, i, o, s, c) {\n var p = this;\n if (o.mod(this.N).equals(ee.ZERO))\n throw new Error(\"B cannot be zero.\");\n if (this.UValue = this.calculateU(this.largeAValue, o), this.UValue.equals(ee.ZERO))\n throw new Error(\"U cannot be zero.\");\n var w = \"\" + this.poolName + r + \":\" + i, y = this.hash(w), C = new ee(this.hexHash(this.padHex(s) + y), 16);\n this.calculateS(C, o, function(A, T) {\n A && c(A, null);\n var R = p.computehkdf(_e.Buffer.from(p.padHex(T), \"hex\"), _e.Buffer.from(p.padHex(p.UValue), \"hex\"));\n c(null, R);\n });\n }, e.calculateS = function(r, i, o) {\n var s = this;\n this.g.modPow(r, this.N, function(c, p) {\n c && o(c, null);\n var w = i.subtract(s.k.multiply(p));\n w.modPow(s.smallAValue.add(s.UValue.multiply(r)), s.N, function(y, C) {\n y && o(y, null), o(null, C.mod(s.N));\n });\n });\n }, e.getNewPasswordRequiredChallengeUserAttributePrefix = function() {\n return ys;\n }, e.padHex = function(r) {\n if (!(r instanceof ee))\n throw new Error(\"Not a BigInteger\");\n var i = r.compareTo(ee.ZERO) < 0, o = r.abs().toString(16);\n if (o = o.length % 2 !== 0 ? \"0\" + o : o, o = ms.test(o) ? \"00\" + o : o, i) {\n var s = o.split(\"\").map(function(p) {\n var w = ~parseInt(p, 16) & 15;\n return \"0123456789ABCDEF\".charAt(w);\n }).join(\"\"), c = new ee(s, 16).add(ee.ONE);\n o = c.toString(16), o.toUpperCase().startsWith(\"FF8\") && (o = o.substring(2));\n }\n return o;\n }, t;\n}();\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nvar di = /* @__PURE__ */ function() {\n function t(n) {\n this.jwtToken = n || \"\", this.payload = this.decodePayload();\n }\n var e = t.prototype;\n return e.getJwtToken = function() {\n return this.jwtToken;\n }, e.getExpiration = function() {\n return this.payload.exp;\n }, e.getIssuedAt = function() {\n return this.payload.iat;\n }, e.decodePayload = function() {\n var r = this.jwtToken.split(\".\")[1];\n try {\n return JSON.parse(_e.Buffer.from(r, \"base64\").toString(\"utf8\"));\n } catch {\n return {};\n }\n }, t;\n}();\nfunction bs(t, e) {\n t.prototype = Object.create(e.prototype), t.prototype.constructor = t, Lr(t, e);\n}\nfunction Lr(t, e) {\n return Lr = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(n, r) {\n return n.__proto__ = r, n;\n }, Lr(t, e);\n}\nvar On = /* @__PURE__ */ function(t) {\n function e(n) {\n var r = n === void 0 ? {} : n, i = r.AccessToken;\n return t.call(this, i || \"\") || this;\n }\n return bs(e, t), e;\n}(di);\nfunction Ss(t, e) {\n t.prototype = Object.create(e.prototype), t.prototype.constructor = t, $r(t, e);\n}\nfunction $r(t, e) {\n return $r = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(n, r) {\n return n.__proto__ = r, n;\n }, $r(t, e);\n}\nvar Mn = /* @__PURE__ */ function(t) {\n function e(n) {\n var r = n === void 0 ? {} : n, i = r.IdToken;\n return t.call(this, i || \"\") || this;\n }\n return Ss(e, t), e;\n}(di);\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nvar Bn = /* @__PURE__ */ function() {\n function t(n) {\n var r = n === void 0 ? {} : n, i = r.RefreshToken;\n this.token = i || \"\";\n }\n var e = t.prototype;\n return e.getToken = function() {\n return this.token;\n }, t;\n}(), _s = \"5.0.4\";\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nvar Cs = \"aws-amplify/\" + _s, gi = {\n userAgent: Cs,\n isReactNative: typeof navigator < \"u\" && navigator.product === \"ReactNative\"\n}, xs = function() {\n return gi.userAgent;\n};\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nvar Nn = /* @__PURE__ */ function() {\n function t(n) {\n var r = n === void 0 ? {} : n, i = r.IdToken, o = r.RefreshToken, s = r.AccessToken, c = r.ClockDrift;\n if (s == null || i == null)\n throw new Error(\"Id token and Access Token must be present.\");\n this.idToken = i, this.refreshToken = o, this.accessToken = s, this.clockDrift = c === void 0 ? this.calculateClockDrift() : c;\n }\n var e = t.prototype;\n return e.getIdToken = function() {\n return this.idToken;\n }, e.getRefreshToken = function() {\n return this.refreshToken;\n }, e.getAccessToken = function() {\n return this.accessToken;\n }, e.getClockDrift = function() {\n return this.clockDrift;\n }, e.calculateClockDrift = function() {\n var r = Math.floor(/* @__PURE__ */ new Date() / 1e3), i = Math.min(this.accessToken.getIssuedAt(), this.idToken.getIssuedAt());\n return r - i;\n }, e.isValid = function() {\n var r = Math.floor(/* @__PURE__ */ new Date() / 1e3), i = r - this.clockDrift;\n return i < this.accessToken.getExpiration() && i < this.idToken.getExpiration();\n }, t;\n}();\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nvar As = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"], Es = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], jn = /* @__PURE__ */ function() {\n function t() {\n }\n var e = t.prototype;\n return e.getNowString = function() {\n var r = /* @__PURE__ */ new Date(), i = Es[r.getUTCDay()], o = As[r.getUTCMonth()], s = r.getUTCDate(), c = r.getUTCHours();\n c < 10 && (c = \"0\" + c);\n var p = r.getUTCMinutes();\n p < 10 && (p = \"0\" + p);\n var w = r.getUTCSeconds();\n w < 10 && (w = \"0\" + w);\n var y = r.getUTCFullYear(), C = i + \" \" + o + \" \" + s + \" \" + c + \":\" + p + \":\" + w + \" UTC \" + y;\n return C;\n }, t;\n}();\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nvar rn = /* @__PURE__ */ function() {\n function t(n) {\n var r = n === void 0 ? {} : n, i = r.Name, o = r.Value;\n this.Name = i || \"\", this.Value = o || \"\";\n }\n var e = t.prototype;\n return e.getValue = function() {\n return this.Value;\n }, e.setValue = function(r) {\n return this.Value = r, this;\n }, e.getName = function() {\n return this.Name;\n }, e.setName = function(r) {\n return this.Name = r, this;\n }, e.toString = function() {\n return JSON.stringify(this);\n }, e.toJSON = function() {\n return {\n Name: this.Name,\n Value: this.Value\n };\n }, t;\n}();\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nvar nt = {}, Us = /* @__PURE__ */ function() {\n function t() {\n }\n return t.setItem = function(n, r) {\n return nt[n] = r, nt[n];\n }, t.getItem = function(n) {\n return Object.prototype.hasOwnProperty.call(nt, n) ? nt[n] : void 0;\n }, t.removeItem = function(n) {\n return delete nt[n];\n }, t.clear = function() {\n return nt = {}, nt;\n }, t;\n}(), pi = /* @__PURE__ */ function() {\n function t() {\n try {\n this.storageWindow = window.localStorage, this.storageWindow.setItem(\"aws.cognito.test-ls\", 1), this.storageWindow.removeItem(\"aws.cognito.test-ls\");\n } catch {\n this.storageWindow = Us;\n }\n }\n var e = t.prototype;\n return e.getStorage = function() {\n return this.storageWindow;\n }, t;\n}();\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nvar Ts = typeof navigator < \"u\", qn = Ts ? gi.isReactNative ? \"react-native\" : navigator.userAgent : \"nodejs\", zr = /* @__PURE__ */ function() {\n function t(n) {\n if (n == null || n.Username == null || n.Pool == null)\n throw new Error(\"Username and Pool information are required.\");\n this.username = n.Username || \"\", this.pool = n.Pool, this.Session = null, this.client = n.Pool.client, this.signInUserSession = null, this.authenticationFlowType = \"USER_SRP_AUTH\", this.storage = n.Storage || new pi().getStorage(), this.keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId(), this.userDataKey = this.keyPrefix + \".\" + this.username + \".userData\";\n }\n var e = t.prototype;\n return e.setSignInUserSession = function(r) {\n this.clearCachedUserData(), this.signInUserSession = r, this.cacheTokens();\n }, e.getSignInUserSession = function() {\n return this.signInUserSession;\n }, e.getUsername = function() {\n return this.username;\n }, e.getAuthenticationFlowType = function() {\n return this.authenticationFlowType;\n }, e.setAuthenticationFlowType = function(r) {\n this.authenticationFlowType = r;\n }, e.initiateAuth = function(r, i) {\n var o = this, s = r.getAuthParameters();\n s.USERNAME = this.username;\n var c = Object.keys(r.getValidationData()).length !== 0 ? r.getValidationData() : r.getClientMetadata(), p = {\n AuthFlow: \"CUSTOM_AUTH\",\n ClientId: this.pool.getClientId(),\n AuthParameters: s,\n ClientMetadata: c\n };\n this.getUserContextData() && (p.UserContextData = this.getUserContextData()), this.client.request(\"InitiateAuth\", p, function(w, y) {\n if (w)\n return i.onFailure(w);\n var C = y.ChallengeName, A = y.ChallengeParameters;\n return C === \"CUSTOM_CHALLENGE\" ? (o.Session = y.Session, i.customChallenge(A)) : (o.signInUserSession = o.getCognitoUserSession(y.AuthenticationResult), o.cacheTokens(), i.onSuccess(o.signInUserSession));\n });\n }, e.authenticateUser = function(r, i) {\n return this.authenticationFlowType === \"USER_PASSWORD_AUTH\" ? this.authenticateUserPlainUsernamePassword(r, i) : this.authenticationFlowType === \"USER_SRP_AUTH\" || this.authenticationFlowType === \"CUSTOM_AUTH\" ? this.authenticateUserDefaultAuth(r, i) : i.onFailure(new Error(\"Authentication flow type is invalid.\"));\n }, e.authenticateUserDefaultAuth = function(r, i) {\n var o = this, s = new lt(this.pool.getUserPoolName()), c = new jn(), p, w, y = {};\n this.deviceKey != null && (y.DEVICE_KEY = this.deviceKey), y.USERNAME = this.username, s.getLargeAValue(function(C, A) {\n C && i.onFailure(C), y.SRP_A = A.toString(16), o.authenticationFlowType === \"CUSTOM_AUTH\" && (y.CHALLENGE_NAME = \"SRP_A\");\n var T = Object.keys(r.getValidationData()).length !== 0 ? r.getValidationData() : r.getClientMetadata(), R = {\n AuthFlow: o.authenticationFlowType,\n ClientId: o.pool.getClientId(),\n AuthParameters: y,\n ClientMetadata: T\n };\n o.getUserContextData(o.username) && (R.UserContextData = o.getUserContextData(o.username)), o.client.request(\"InitiateAuth\", R, function(U, $) {\n if (U)\n return i.onFailure(U);\n var B = $.ChallengeParameters;\n o.username = B.USER_ID_FOR_SRP, o.userDataKey = o.keyPrefix + \".\" + o.username + \".userData\", p = new ee(B.SRP_B, 16), w = new ee(B.SALT, 16), o.getCachedDeviceKeyAndPassword(), s.getPasswordAuthenticationKey(o.username, r.getPassword(), p, w, function(K, J) {\n K && i.onFailure(K);\n var Q = c.getNowString(), re = _e.Buffer.concat([_e.Buffer.from(o.pool.getUserPoolName(), \"utf8\"), _e.Buffer.from(o.username, \"utf8\"), _e.Buffer.from(B.SECRET_BLOCK, \"base64\"), _e.Buffer.from(Q, \"utf8\")]), ae = new zt.Sha256(J);\n ae.update(re);\n var be = ae.digestSync(), we = _e.Buffer.from(be).toString(\"base64\"), pe = {};\n pe.USERNAME = o.username, pe.PASSWORD_CLAIM_SECRET_BLOCK = B.SECRET_BLOCK, pe.TIMESTAMP = Q, pe.PASSWORD_CLAIM_SIGNATURE = we, o.deviceKey != null && (pe.DEVICE_KEY = o.deviceKey);\n var de = function(Se, k) {\n return o.client.request(\"RespondToAuthChallenge\", Se, function(D, E) {\n return D && D.code === \"ResourceNotFoundException\" && D.message.toLowerCase().indexOf(\"device\") !== -1 ? (pe.DEVICE_KEY = null, o.deviceKey = null, o.randomPassword = null, o.deviceGroupKey = null, o.clearCachedDeviceKeyAndPassword(), de(Se, k)) : k(D, E);\n });\n }, me = {\n ChallengeName: \"PASSWORD_VERIFIER\",\n ClientId: o.pool.getClientId(),\n ChallengeResponses: pe,\n Session: $.Session,\n ClientMetadata: T\n };\n o.getUserContextData() && (me.UserContextData = o.getUserContextData()), de(me, function(ve, Se) {\n return ve ? i.onFailure(ve) : o.authenticateUserInternal(Se, s, i);\n });\n });\n });\n });\n }, e.authenticateUserPlainUsernamePassword = function(r, i) {\n var o = this, s = {};\n if (s.USERNAME = this.username, s.PASSWORD = r.getPassword(), !s.PASSWORD) {\n i.onFailure(new Error(\"PASSWORD parameter is required\"));\n return;\n }\n var c = new lt(this.pool.getUserPoolName());\n this.getCachedDeviceKeyAndPassword(), this.deviceKey != null && (s.DEVICE_KEY = this.deviceKey);\n var p = Object.keys(r.getValidationData()).length !== 0 ? r.getValidationData() : r.getClientMetadata(), w = {\n AuthFlow: \"USER_PASSWORD_AUTH\",\n ClientId: this.pool.getClientId(),\n AuthParameters: s,\n ClientMetadata: p\n };\n this.getUserContextData(this.username) && (w.UserContextData = this.getUserContextData(this.username)), this.client.request(\"InitiateAuth\", w, function(y, C) {\n return y ? i.onFailure(y) : o.authenticateUserInternal(C, c, i);\n });\n }, e.authenticateUserInternal = function(r, i, o) {\n var s = this, c = r.ChallengeName, p = r.ChallengeParameters;\n if (c === \"SMS_MFA\")\n return this.Session = r.Session, o.mfaRequired(c, p);\n if (c === \"SELECT_MFA_TYPE\")\n return this.Session = r.Session, o.selectMFAType(c, p);\n if (c === \"MFA_SETUP\")\n return this.Session = r.Session, o.mfaSetup(c, p);\n if (c === \"SOFTWARE_TOKEN_MFA\")\n return this.Session = r.Session, o.totpRequired(c, p);\n if (c === \"CUSTOM_CHALLENGE\")\n return this.Session = r.Session, o.customChallenge(p);\n if (c === \"NEW_PASSWORD_REQUIRED\") {\n this.Session = r.Session;\n var w = null, y = null, C = [], A = i.getNewPasswordRequiredChallengeUserAttributePrefix();\n if (p && (w = JSON.parse(r.ChallengeParameters.userAttributes), y = JSON.parse(r.ChallengeParameters.requiredAttributes)), y)\n for (var T = 0; T < y.length; T++)\n C[T] = y[T].substr(A.length);\n return o.newPasswordRequired(w, C);\n }\n if (c === \"DEVICE_SRP_AUTH\") {\n this.Session = r.Session, this.getDeviceResponse(o);\n return;\n }\n this.signInUserSession = this.getCognitoUserSession(r.AuthenticationResult), this.challengeName = c, this.cacheTokens();\n var R = r.AuthenticationResult.NewDeviceMetadata;\n if (R == null)\n return o.onSuccess(this.signInUserSession);\n i.generateHashDevice(r.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey, r.AuthenticationResult.NewDeviceMetadata.DeviceKey, function(U) {\n if (U)\n return o.onFailure(U);\n var $ = {\n Salt: _e.Buffer.from(i.getSaltDevices(), \"hex\").toString(\"base64\"),\n PasswordVerifier: _e.Buffer.from(i.getVerifierDevices(), \"hex\").toString(\"base64\")\n };\n s.verifierDevices = $.PasswordVerifier, s.deviceGroupKey = R.DeviceGroupKey, s.randomPassword = i.getRandomPassword(), s.client.request(\"ConfirmDevice\", {\n DeviceKey: R.DeviceKey,\n AccessToken: s.signInUserSession.getAccessToken().getJwtToken(),\n DeviceSecretVerifierConfig: $,\n DeviceName: qn\n }, function(B, K) {\n return B ? o.onFailure(B) : (s.deviceKey = r.AuthenticationResult.NewDeviceMetadata.DeviceKey, s.cacheDeviceKeyAndPassword(), K.UserConfirmationNecessary === !0 ? o.onSuccess(s.signInUserSession, K.UserConfirmationNecessary) : o.onSuccess(s.signInUserSession));\n });\n });\n }, e.completeNewPasswordChallenge = function(r, i, o, s) {\n var c = this;\n if (!r)\n return o.onFailure(new Error(\"New password is required.\"));\n var p = new lt(this.pool.getUserPoolName()), w = p.getNewPasswordRequiredChallengeUserAttributePrefix(), y = {};\n i && Object.keys(i).forEach(function(A) {\n y[w + A] = i[A];\n }), y.NEW_PASSWORD = r, y.USERNAME = this.username;\n var C = {\n ChallengeName: \"NEW_PASSWORD_REQUIRED\",\n ClientId: this.pool.getClientId(),\n ChallengeResponses: y,\n Session: this.Session,\n ClientMetadata: s\n };\n this.getUserContextData() && (C.UserContextData = this.getUserContextData()), this.client.request(\"RespondToAuthChallenge\", C, function(A, T) {\n return A ? o.onFailure(A) : c.authenticateUserInternal(T, p, o);\n });\n }, e.getDeviceResponse = function(r, i) {\n var o = this, s = new lt(this.deviceGroupKey), c = new jn(), p = {};\n p.USERNAME = this.username, p.DEVICE_KEY = this.deviceKey, s.getLargeAValue(function(w, y) {\n w && r.onFailure(w), p.SRP_A = y.toString(16);\n var C = {\n ChallengeName: \"DEVICE_SRP_AUTH\",\n ClientId: o.pool.getClientId(),\n ChallengeResponses: p,\n ClientMetadata: i,\n Session: o.Session\n };\n o.getUserContextData() && (C.UserContextData = o.getUserContextData()), o.client.request(\"RespondToAuthChallenge\", C, function(A, T) {\n if (A)\n return r.onFailure(A);\n var R = T.ChallengeParameters, U = new ee(R.SRP_B, 16), $ = new ee(R.SALT, 16);\n s.getPasswordAuthenticationKey(o.deviceKey, o.randomPassword, U, $, function(B, K) {\n if (B)\n return r.onFailure(B);\n var J = c.getNowString(), Q = _e.Buffer.concat([_e.Buffer.from(o.deviceGroupKey, \"utf8\"), _e.Buffer.from(o.deviceKey, \"utf8\"), _e.Buffer.from(R.SECRET_BLOCK, \"base64\"), _e.Buffer.from(J, \"utf8\")]), re = new zt.Sha256(K);\n re.update(Q);\n var ae = re.digestSync(), be = _e.Buffer.from(ae).toString(\"base64\"), we = {};\n we.USERNAME = o.username, we.PASSWORD_CLAIM_SECRET_BLOCK = R.SECRET_BLOCK, we.TIMESTAMP = J, we.PASSWORD_CLAIM_SIGNATURE = be, we.DEVICE_KEY = o.deviceKey;\n var pe = {\n ChallengeName: \"DEVICE_PASSWORD_VERIFIER\",\n ClientId: o.pool.getClientId(),\n ChallengeResponses: we,\n Session: T.Session\n };\n o.getUserContextData() && (pe.UserContextData = o.getUserContextData()), o.client.request(\"RespondToAuthChallenge\", pe, function(de, me) {\n return de ? r.onFailure(de) : (o.signInUserSession = o.getCognitoUserSession(me.AuthenticationResult), o.cacheTokens(), r.onSuccess(o.signInUserSession));\n });\n });\n });\n });\n }, e.confirmRegistration = function(r, i, o, s) {\n var c = {\n ClientId: this.pool.getClientId(),\n ConfirmationCode: r,\n Username: this.username,\n ForceAliasCreation: i,\n ClientMetadata: s\n };\n this.getUserContextData() && (c.UserContextData = this.getUserContextData()), this.client.request(\"ConfirmSignUp\", c, function(p) {\n return p ? o(p, null) : o(null, \"SUCCESS\");\n });\n }, e.sendCustomChallengeAnswer = function(r, i, o) {\n var s = this, c = {};\n c.USERNAME = this.username, c.ANSWER = r;\n var p = new lt(this.pool.getUserPoolName());\n this.getCachedDeviceKeyAndPassword(), this.deviceKey != null && (c.DEVICE_KEY = this.deviceKey);\n var w = {\n ChallengeName: \"CUSTOM_CHALLENGE\",\n ChallengeResponses: c,\n ClientId: this.pool.getClientId(),\n Session: this.Session,\n ClientMetadata: o\n };\n this.getUserContextData() && (w.UserContextData = this.getUserContextData()), this.client.request(\"RespondToAuthChallenge\", w, function(y, C) {\n return y ? i.onFailure(y) : s.authenticateUserInternal(C, p, i);\n });\n }, e.sendMFACode = function(r, i, o, s) {\n var c = this, p = {};\n p.USERNAME = this.username, p.SMS_MFA_CODE = r;\n var w = o || \"SMS_MFA\";\n w === \"SOFTWARE_TOKEN_MFA\" && (p.SOFTWARE_TOKEN_MFA_CODE = r), this.deviceKey != null && (p.DEVICE_KEY = this.deviceKey);\n var y = {\n ChallengeName: w,\n ChallengeResponses: p,\n ClientId: this.pool.getClientId(),\n Session: this.Session,\n ClientMetadata: s\n };\n this.getUserContextData() && (y.UserContextData = this.getUserContextData()), this.client.request(\"RespondToAuthChallenge\", y, function(C, A) {\n if (C)\n return i.onFailure(C);\n var T = A.ChallengeName;\n if (T === \"DEVICE_SRP_AUTH\") {\n c.getDeviceResponse(i);\n return;\n }\n if (c.signInUserSession = c.getCognitoUserSession(A.AuthenticationResult), c.cacheTokens(), A.AuthenticationResult.NewDeviceMetadata == null)\n return i.onSuccess(c.signInUserSession);\n var R = new lt(c.pool.getUserPoolName());\n R.generateHashDevice(A.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey, A.AuthenticationResult.NewDeviceMetadata.DeviceKey, function(U) {\n if (U)\n return i.onFailure(U);\n var $ = {\n Salt: _e.Buffer.from(R.getSaltDevices(), \"hex\").toString(\"base64\"),\n PasswordVerifier: _e.Buffer.from(R.getVerifierDevices(), \"hex\").toString(\"base64\")\n };\n c.verifierDevices = $.PasswordVerifier, c.deviceGroupKey = A.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey, c.randomPassword = R.getRandomPassword(), c.client.request(\"ConfirmDevice\", {\n DeviceKey: A.AuthenticationResult.NewDeviceMetadata.DeviceKey,\n AccessToken: c.signInUserSession.getAccessToken().getJwtToken(),\n DeviceSecretVerifierConfig: $,\n DeviceName: qn\n }, function(B, K) {\n return B ? i.onFailure(B) : (c.deviceKey = A.AuthenticationResult.NewDeviceMetadata.DeviceKey, c.cacheDeviceKeyAndPassword(), K.UserConfirmationNecessary === !0 ? i.onSuccess(c.signInUserSession, K.UserConfirmationNecessary) : i.onSuccess(c.signInUserSession));\n });\n });\n });\n }, e.changePassword = function(r, i, o, s) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid()))\n return o(new Error(\"User is not authenticated\"), null);\n this.client.request(\"ChangePassword\", {\n PreviousPassword: r,\n ProposedPassword: i,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: s\n }, function(c) {\n return c ? o(c, null) : o(null, \"SUCCESS\");\n });\n }, e.enableMFA = function(r) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid())\n return r(new Error(\"User is not authenticated\"), null);\n var i = [], o = {\n DeliveryMedium: \"SMS\",\n AttributeName: \"phone_number\"\n };\n i.push(o), this.client.request(\"SetUserSettings\", {\n MFAOptions: i,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function(s) {\n return s ? r(s, null) : r(null, \"SUCCESS\");\n });\n }, e.setUserMfaPreference = function(r, i, o) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid())\n return o(new Error(\"User is not authenticated\"), null);\n this.client.request(\"SetUserMFAPreference\", {\n SMSMfaSettings: r,\n SoftwareTokenMfaSettings: i,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function(s) {\n return s ? o(s, null) : o(null, \"SUCCESS\");\n });\n }, e.disableMFA = function(r) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid())\n return r(new Error(\"User is not authenticated\"), null);\n var i = [];\n this.client.request(\"SetUserSettings\", {\n MFAOptions: i,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function(o) {\n return o ? r(o, null) : r(null, \"SUCCESS\");\n });\n }, e.deleteUser = function(r, i) {\n var o = this;\n if (this.signInUserSession == null || !this.signInUserSession.isValid())\n return r(new Error(\"User is not authenticated\"), null);\n this.client.request(\"DeleteUser\", {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: i\n }, function(s) {\n return s ? r(s, null) : (o.clearCachedUser(), r(null, \"SUCCESS\"));\n });\n }, e.updateAttributes = function(r, i, o) {\n var s = this;\n if (this.signInUserSession == null || !this.signInUserSession.isValid())\n return i(new Error(\"User is not authenticated\"), null);\n this.client.request(\"UpdateUserAttributes\", {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n UserAttributes: r,\n ClientMetadata: o\n }, function(c, p) {\n return c ? i(c, null) : s.getUserData(function() {\n return i(null, \"SUCCESS\", p);\n }, {\n bypassCache: !0\n });\n });\n }, e.getUserAttributes = function(r) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid()))\n return r(new Error(\"User is not authenticated\"), null);\n this.client.request(\"GetUser\", {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function(i, o) {\n if (i)\n return r(i, null);\n for (var s = [], c = 0; c < o.UserAttributes.length; c++) {\n var p = {\n Name: o.UserAttributes[c].Name,\n Value: o.UserAttributes[c].Value\n }, w = new rn(p);\n s.push(w);\n }\n return r(null, s);\n });\n }, e.getMFAOptions = function(r) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid()))\n return r(new Error(\"User is not authenticated\"), null);\n this.client.request(\"GetUser\", {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function(i, o) {\n return i ? r(i, null) : r(null, o.MFAOptions);\n });\n }, e.createGetUserRequest = function() {\n return this.client.promisifyRequest(\"GetUser\", {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n });\n }, e.refreshSessionIfPossible = function(r) {\n var i = this;\n return r === void 0 && (r = {}), new Promise(function(o) {\n var s = i.signInUserSession.getRefreshToken();\n s && s.getToken() ? i.refreshSession(s, o, r.clientMetadata) : o();\n });\n }, e.getUserData = function(r, i) {\n var o = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid()))\n return this.clearCachedUserData(), r(new Error(\"User is not authenticated\"), null);\n var s = this.getUserDataFromCache();\n if (!s) {\n this.fetchUserData().then(function(c) {\n r(null, c);\n }).catch(r);\n return;\n }\n if (this.isFetchUserDataAndTokenRequired(i)) {\n this.fetchUserData().then(function(c) {\n return o.refreshSessionIfPossible(i).then(function() {\n return c;\n });\n }).then(function(c) {\n return r(null, c);\n }).catch(r);\n return;\n }\n try {\n r(null, JSON.parse(s));\n return;\n } catch (c) {\n this.clearCachedUserData(), r(c, null);\n return;\n }\n }, e.getUserDataFromCache = function() {\n var r = this.storage.getItem(this.userDataKey);\n return r;\n }, e.isFetchUserDataAndTokenRequired = function(r) {\n var i = r || {}, o = i.bypassCache, s = o === void 0 ? !1 : o;\n return s;\n }, e.fetchUserData = function() {\n var r = this;\n return this.createGetUserRequest().then(function(i) {\n return r.cacheUserData(i), i;\n });\n }, e.deleteAttributes = function(r, i) {\n var o = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid()))\n return i(new Error(\"User is not authenticated\"), null);\n this.client.request(\"DeleteUserAttributes\", {\n UserAttributeNames: r,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function(s) {\n return s ? i(s, null) : o.getUserData(function() {\n return i(null, \"SUCCESS\");\n }, {\n bypassCache: !0\n });\n });\n }, e.resendConfirmationCode = function(r, i) {\n var o = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ClientMetadata: i\n };\n this.client.request(\"ResendConfirmationCode\", o, function(s, c) {\n return s ? r(s, null) : r(null, c);\n });\n }, e.getSession = function(r, i) {\n if (i === void 0 && (i = {}), this.username == null)\n return r(new Error(\"Username is null. Cannot retrieve a new session\"), null);\n if (this.signInUserSession != null && this.signInUserSession.isValid())\n return r(null, this.signInUserSession);\n var o = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username, s = o + \".idToken\", c = o + \".accessToken\", p = o + \".refreshToken\", w = o + \".clockDrift\";\n if (this.storage.getItem(s)) {\n var y = new Mn({\n IdToken: this.storage.getItem(s)\n }), C = new On({\n AccessToken: this.storage.getItem(c)\n }), A = new Bn({\n RefreshToken: this.storage.getItem(p)\n }), T = parseInt(this.storage.getItem(w), 0) || 0, R = {\n IdToken: y,\n AccessToken: C,\n RefreshToken: A,\n ClockDrift: T\n }, U = new Nn(R);\n if (U.isValid())\n return this.signInUserSession = U, r(null, this.signInUserSession);\n if (!A.getToken())\n return r(new Error(\"Cannot retrieve a new session. Please authenticate.\"), null);\n this.refreshSession(A, r, i.clientMetadata);\n } else\n r(new Error(\"Local storage is missing an ID Token, Please authenticate\"), null);\n }, e.refreshSession = function(r, i, o) {\n var s = this, c = this.pool.wrapRefreshSessionCallback ? this.pool.wrapRefreshSessionCallback(i) : i, p = {};\n p.REFRESH_TOKEN = r.getToken();\n var w = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId(), y = w + \".LastAuthUser\";\n if (this.storage.getItem(y)) {\n this.username = this.storage.getItem(y);\n var C = w + \".\" + this.username + \".deviceKey\";\n this.deviceKey = this.storage.getItem(C), p.DEVICE_KEY = this.deviceKey;\n }\n var A = {\n ClientId: this.pool.getClientId(),\n AuthFlow: \"REFRESH_TOKEN_AUTH\",\n AuthParameters: p,\n ClientMetadata: o\n };\n this.getUserContextData() && (A.UserContextData = this.getUserContextData()), this.client.requestWithRetry(\"InitiateAuth\", A, function(T, R) {\n if (T)\n return T.code === \"NotAuthorizedException\" && s.clearCachedUser(), c(T, null);\n if (R) {\n var U = R.AuthenticationResult;\n return Object.prototype.hasOwnProperty.call(U, \"RefreshToken\") || (U.RefreshToken = r.getToken()), s.signInUserSession = s.getCognitoUserSession(U), s.cacheTokens(), c(null, s.signInUserSession);\n }\n });\n }, e.cacheTokens = function() {\n var r = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId(), i = r + \".\" + this.username + \".idToken\", o = r + \".\" + this.username + \".accessToken\", s = r + \".\" + this.username + \".refreshToken\", c = r + \".\" + this.username + \".clockDrift\", p = r + \".LastAuthUser\";\n this.storage.setItem(i, this.signInUserSession.getIdToken().getJwtToken()), this.storage.setItem(o, this.signInUserSession.getAccessToken().getJwtToken()), this.storage.setItem(s, this.signInUserSession.getRefreshToken().getToken()), this.storage.setItem(c, \"\" + this.signInUserSession.getClockDrift()), this.storage.setItem(p, this.username);\n }, e.cacheUserData = function(r) {\n this.storage.setItem(this.userDataKey, JSON.stringify(r));\n }, e.clearCachedUserData = function() {\n this.storage.removeItem(this.userDataKey);\n }, e.clearCachedUser = function() {\n this.clearCachedTokens(), this.clearCachedUserData();\n }, e.cacheDeviceKeyAndPassword = function() {\n var r = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username, i = r + \".deviceKey\", o = r + \".randomPasswordKey\", s = r + \".deviceGroupKey\";\n this.storage.setItem(i, this.deviceKey), this.storage.setItem(o, this.randomPassword), this.storage.setItem(s, this.deviceGroupKey);\n }, e.getCachedDeviceKeyAndPassword = function() {\n var r = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username, i = r + \".deviceKey\", o = r + \".randomPasswordKey\", s = r + \".deviceGroupKey\";\n this.storage.getItem(i) && (this.deviceKey = this.storage.getItem(i), this.randomPassword = this.storage.getItem(o), this.deviceGroupKey = this.storage.getItem(s));\n }, e.clearCachedDeviceKeyAndPassword = function() {\n var r = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username, i = r + \".deviceKey\", o = r + \".randomPasswordKey\", s = r + \".deviceGroupKey\";\n this.storage.removeItem(i), this.storage.removeItem(o), this.storage.removeItem(s);\n }, e.clearCachedTokens = function() {\n var r = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId(), i = r + \".\" + this.username + \".idToken\", o = r + \".\" + this.username + \".accessToken\", s = r + \".\" + this.username + \".refreshToken\", c = r + \".LastAuthUser\", p = r + \".\" + this.username + \".clockDrift\";\n this.storage.removeItem(i), this.storage.removeItem(o), this.storage.removeItem(s), this.storage.removeItem(c), this.storage.removeItem(p);\n }, e.getCognitoUserSession = function(r) {\n var i = new Mn(r), o = new On(r), s = new Bn(r), c = {\n IdToken: i,\n AccessToken: o,\n RefreshToken: s\n };\n return new Nn(c);\n }, e.forgotPassword = function(r, i) {\n var o = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ClientMetadata: i\n };\n this.getUserContextData() && (o.UserContextData = this.getUserContextData()), this.client.request(\"ForgotPassword\", o, function(s, c) {\n return s ? r.onFailure(s) : typeof r.inputVerificationCode == \"function\" ? r.inputVerificationCode(c) : r.onSuccess(c);\n });\n }, e.confirmPassword = function(r, i, o, s) {\n var c = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ConfirmationCode: r,\n Password: i,\n ClientMetadata: s\n };\n this.getUserContextData() && (c.UserContextData = this.getUserContextData()), this.client.request(\"ConfirmForgotPassword\", c, function(p) {\n return p ? o.onFailure(p) : o.onSuccess(\"SUCCESS\");\n });\n }, e.getAttributeVerificationCode = function(r, i, o) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid())\n return i.onFailure(new Error(\"User is not authenticated\"));\n this.client.request(\"GetUserAttributeVerificationCode\", {\n AttributeName: r,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: o\n }, function(s, c) {\n return s ? i.onFailure(s) : typeof i.inputVerificationCode == \"function\" ? i.inputVerificationCode(c) : i.onSuccess(\"SUCCESS\");\n });\n }, e.verifyAttribute = function(r, i, o) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid())\n return o.onFailure(new Error(\"User is not authenticated\"));\n this.client.request(\"VerifyUserAttribute\", {\n AttributeName: r,\n Code: i,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function(s) {\n return s ? o.onFailure(s) : o.onSuccess(\"SUCCESS\");\n });\n }, e.getDevice = function(r) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid())\n return r.onFailure(new Error(\"User is not authenticated\"));\n this.client.request(\"GetDevice\", {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey\n }, function(i, o) {\n return i ? r.onFailure(i) : r.onSuccess(o);\n });\n }, e.forgetSpecificDevice = function(r, i) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid())\n return i.onFailure(new Error(\"User is not authenticated\"));\n this.client.request(\"ForgetDevice\", {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: r\n }, function(o) {\n return o ? i.onFailure(o) : i.onSuccess(\"SUCCESS\");\n });\n }, e.forgetDevice = function(r) {\n var i = this;\n this.forgetSpecificDevice(this.deviceKey, {\n onFailure: r.onFailure,\n onSuccess: function(s) {\n return i.deviceKey = null, i.deviceGroupKey = null, i.randomPassword = null, i.clearCachedDeviceKeyAndPassword(), r.onSuccess(s);\n }\n });\n }, e.setDeviceStatusRemembered = function(r) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid())\n return r.onFailure(new Error(\"User is not authenticated\"));\n this.client.request(\"UpdateDeviceStatus\", {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey,\n DeviceRememberedStatus: \"remembered\"\n }, function(i) {\n return i ? r.onFailure(i) : r.onSuccess(\"SUCCESS\");\n });\n }, e.setDeviceStatusNotRemembered = function(r) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid())\n return r.onFailure(new Error(\"User is not authenticated\"));\n this.client.request(\"UpdateDeviceStatus\", {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey,\n DeviceRememberedStatus: \"not_remembered\"\n }, function(i) {\n return i ? r.onFailure(i) : r.onSuccess(\"SUCCESS\");\n });\n }, e.listDevices = function(r, i, o) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid())\n return o.onFailure(new Error(\"User is not authenticated\"));\n var s = {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n Limit: r\n };\n i && (s.PaginationToken = i), this.client.request(\"ListDevices\", s, function(c, p) {\n return c ? o.onFailure(c) : o.onSuccess(p);\n });\n }, e.globalSignOut = function(r) {\n var i = this;\n if (this.signInUserSession == null || !this.signInUserSession.isValid())\n return r.onFailure(new Error(\"User is not authenticated\"));\n this.client.request(\"GlobalSignOut\", {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function(o) {\n return o ? r.onFailure(o) : (i.clearCachedUser(), r.onSuccess(\"SUCCESS\"));\n });\n }, e.signOut = function(r) {\n var i = this;\n if (!r || typeof r != \"function\") {\n this.cleanClientData();\n return;\n }\n this.getSession(function(o, s) {\n if (o)\n return r(o);\n i.revokeTokens(function(c) {\n i.cleanClientData(), r(c);\n });\n });\n }, e.revokeTokens = function(r) {\n if (r === void 0 && (r = function() {\n }), typeof r != \"function\")\n throw new Error(\"Invalid revokeTokenCallback. It should be a function.\");\n if (!this.signInUserSession) {\n var i = new Error(\"User is not authenticated\");\n return r(i);\n }\n if (!this.signInUserSession.getAccessToken()) {\n var o = new Error(\"No Access token available\");\n return r(o);\n }\n var s = this.signInUserSession.getRefreshToken().getToken(), c = this.signInUserSession.getAccessToken();\n if (this.isSessionRevocable(c) && s)\n return this.revokeToken({\n token: s,\n callback: r\n });\n r();\n }, e.isSessionRevocable = function(r) {\n if (r && typeof r.decodePayload == \"function\")\n try {\n var i = r.decodePayload(), o = i.origin_jti;\n return !!o;\n } catch {\n }\n return !1;\n }, e.cleanClientData = function() {\n this.signInUserSession = null, this.clearCachedUser();\n }, e.revokeToken = function(r) {\n var i = r.token, o = r.callback;\n this.client.requestWithRetry(\"RevokeToken\", {\n Token: i,\n ClientId: this.pool.getClientId()\n }, function(s) {\n if (s)\n return o(s);\n o();\n });\n }, e.sendMFASelectionAnswer = function(r, i) {\n var o = this, s = {};\n s.USERNAME = this.username, s.ANSWER = r;\n var c = {\n ChallengeName: \"SELECT_MFA_TYPE\",\n ChallengeResponses: s,\n ClientId: this.pool.getClientId(),\n Session: this.Session\n };\n this.getUserContextData() && (c.UserContextData = this.getUserContextData()), this.client.request(\"RespondToAuthChallenge\", c, function(p, w) {\n if (p)\n return i.onFailure(p);\n if (o.Session = w.Session, r === \"SMS_MFA\")\n return i.mfaRequired(w.ChallengeName, w.ChallengeParameters);\n if (r === \"SOFTWARE_TOKEN_MFA\")\n return i.totpRequired(w.ChallengeName, w.ChallengeParameters);\n });\n }, e.getUserContextData = function() {\n var r = this.pool;\n return r.getUserContextData(this.username);\n }, e.associateSoftwareToken = function(r) {\n var i = this;\n this.signInUserSession != null && this.signInUserSession.isValid() ? this.client.request(\"AssociateSoftwareToken\", {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function(o, s) {\n return o ? r.onFailure(o) : r.associateSecretCode(s.SecretCode);\n }) : this.client.request(\"AssociateSoftwareToken\", {\n Session: this.Session\n }, function(o, s) {\n return o ? r.onFailure(o) : (i.Session = s.Session, r.associateSecretCode(s.SecretCode));\n });\n }, e.verifySoftwareToken = function(r, i, o) {\n var s = this;\n this.signInUserSession != null && this.signInUserSession.isValid() ? this.client.request(\"VerifySoftwareToken\", {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n UserCode: r,\n FriendlyDeviceName: i\n }, function(c, p) {\n return c ? o.onFailure(c) : o.onSuccess(p);\n }) : this.client.request(\"VerifySoftwareToken\", {\n Session: this.Session,\n UserCode: r,\n FriendlyDeviceName: i\n }, function(c, p) {\n if (c)\n return o.onFailure(c);\n s.Session = p.Session;\n var w = {};\n w.USERNAME = s.username;\n var y = {\n ChallengeName: \"MFA_SETUP\",\n ClientId: s.pool.getClientId(),\n ChallengeResponses: w,\n Session: s.Session\n };\n s.getUserContextData() && (y.UserContextData = s.getUserContextData()), s.client.request(\"RespondToAuthChallenge\", y, function(C, A) {\n return C ? o.onFailure(C) : (s.signInUserSession = s.getCognitoUserSession(A.AuthenticationResult), s.cacheTokens(), o.onSuccess(s.signInUserSession));\n });\n });\n }, t;\n}();\nfunction Rs(t, e) {\n return e = e || {}, new Promise(function(n, r) {\n var i = new XMLHttpRequest(), o = [], s = [], c = {}, p = function() {\n return { ok: (i.status / 100 | 0) == 2, statusText: i.statusText, status: i.status, url: i.responseURL, text: function() {\n return Promise.resolve(i.responseText);\n }, json: function() {\n return Promise.resolve(i.responseText).then(JSON.parse);\n }, blob: function() {\n return Promise.resolve(new Blob([i.response]));\n }, clone: p, headers: { keys: function() {\n return o;\n }, entries: function() {\n return s;\n }, get: function(y) {\n return c[y.toLowerCase()];\n }, has: function(y) {\n return y.toLowerCase() in c;\n } } };\n };\n for (var w in i.open(e.method || \"get\", t, !0), i.onload = function() {\n i.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm, function(y, C, A) {\n o.push(C = C.toLowerCase()), s.push([C, A]), c[C] = c[C] ? c[C] + \",\" + A : A;\n }), n(p());\n }, i.onerror = r, i.withCredentials = e.credentials == \"include\", e.headers) i.setRequestHeader(w, e.headers[w]);\n i.send(e.body || null);\n });\n}\nconst Ds = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: Rs\n}, Symbol.toStringTag, { value: \"Module\" })), Ln = /* @__PURE__ */ Xr(Ds);\nvar xr, $n;\nfunction Ps() {\n return $n || ($n = 1, xr = self.fetch || (self.fetch = Ln.default || Ln)), xr;\n}\nPs();\nfunction dt() {\n}\ndt.prototype.userAgent = xs();\nvar Is = function(e) {\n var n = dt.category ? \" \" + dt.category : \"\", r = dt.framework ? \" framework/\" + dt.framework : \"\", i = \"\" + dt.prototype.userAgent + n + r;\n return i;\n};\nfunction Fs(t, e) {\n t.prototype = Object.create(e.prototype), t.prototype.constructor = t, Ht(t, e);\n}\nfunction Vr(t) {\n var e = typeof Map == \"function\" ? /* @__PURE__ */ new Map() : void 0;\n return Vr = function(r) {\n if (r === null || !Os(r)) return r;\n if (typeof r != \"function\") throw new TypeError(\"Super expression must either be null or a function\");\n if (e !== void 0) {\n if (e.has(r)) return e.get(r);\n e.set(r, i);\n }\n function i() {\n return ks(r, arguments, Hr(this).constructor);\n }\n return i.prototype = Object.create(r.prototype, { constructor: { value: i, enumerable: !1, writable: !0, configurable: !0 } }), Ht(i, r);\n }, Vr(t);\n}\nfunction ks(t, e, n) {\n if (wi()) return Reflect.construct.apply(null, arguments);\n var r = [null];\n r.push.apply(r, e);\n var i = new (t.bind.apply(t, r))();\n return n && Ht(i, n.prototype), i;\n}\nfunction wi() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {\n }));\n } catch {\n }\n return (wi = function() {\n return !!t;\n })();\n}\nfunction Os(t) {\n try {\n return Function.toString.call(t).indexOf(\"[native code]\") !== -1;\n } catch {\n return typeof t == \"function\";\n }\n}\nfunction Ht(t, e) {\n return Ht = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(n, r) {\n return n.__proto__ = r, n;\n }, Ht(t, e);\n}\nfunction Hr(t) {\n return Hr = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(e) {\n return e.__proto__ || Object.getPrototypeOf(e);\n }, Hr(t);\n}\nvar Ms = /* @__PURE__ */ function(t) {\n function e(n, r, i, o) {\n var s;\n return s = t.call(this, n) || this, s.code = r, s.name = i, s.statusCode = o, s;\n }\n return Fs(e, t), e;\n}(/* @__PURE__ */ Vr(Error)), Bs = /* @__PURE__ */ function() {\n function t(n, r, i) {\n this.endpoint = r || \"https://cognito-idp.\" + n + \".amazonaws.com/\";\n var o = i || {}, s = o.credentials;\n this.fetchOptions = s ? {\n credentials: s\n } : {};\n }\n var e = t.prototype;\n return e.promisifyRequest = function(r, i) {\n var o = this;\n return new Promise(function(s, c) {\n o.request(r, i, function(p, w) {\n p ? c(new Ms(p.message, p.code, p.name, p.statusCode)) : s(w);\n });\n });\n }, e.requestWithRetry = function(r, i, o) {\n var s = this, c = 5 * 1e3;\n qs(function(p) {\n return new Promise(function(w, y) {\n s.request(r, p, function(C, A) {\n C ? y(C) : w(A);\n });\n });\n }, [i], c).then(function(p) {\n return o(null, p);\n }).catch(function(p) {\n return o(p);\n });\n }, e.request = function(r, i, o) {\n var s = {\n \"Content-Type\": \"application/x-amz-json-1.1\",\n \"X-Amz-Target\": \"AWSCognitoIdentityProviderService.\" + r,\n \"X-Amz-User-Agent\": Is(),\n \"Cache-Control\": \"no-store\"\n }, c = Object.assign({}, this.fetchOptions, {\n headers: s,\n method: \"POST\",\n mode: \"cors\",\n body: JSON.stringify(i)\n }), p;\n fetch(this.endpoint, c).then(function(w) {\n return p = w, w;\n }, function(w) {\n throw w instanceof TypeError ? new Error(\"Network error\") : w;\n }).then(function(w) {\n return w.json().catch(function() {\n return {};\n });\n }).then(function(w) {\n if (p.ok) return o(null, w);\n var y = (w.__type || w.code).split(\"#\").pop(), C = new Error(w.message || w.Message || null);\n return C.name = y, C.code = y, o(C);\n }).catch(function(w) {\n if (p && p.headers && p.headers.get(\"x-amzn-errortype\"))\n try {\n var y = p.headers.get(\"x-amzn-errortype\").split(\":\")[0], C = new Error(p.status ? p.status.toString() : null);\n return C.code = y, C.name = y, C.statusCode = p.status, o(C);\n } catch {\n return o(w);\n }\n else w instanceof Error && w.message === \"Network error\" && (w.code = \"NetworkError\");\n return o(w);\n });\n }, t;\n}(), Xt = {\n debug: function() {\n }\n}, Ns = function(e) {\n var n = \"nonRetryable\";\n return e && e[n];\n};\nfunction mi(t, e, n, r) {\n if (r === void 0 && (r = 1), typeof t != \"function\")\n throw Error(\"functionToRetry must be a function\");\n return Xt.debug(t.name + \" attempt #\" + r + \" with args: \" + JSON.stringify(e)), t.apply(void 0, e).catch(function(i) {\n if (Xt.debug(\"error on \" + t.name, i), Ns(i))\n throw Xt.debug(t.name + \" non retryable error\", i), i;\n var o = n(r, e, i);\n if (Xt.debug(t.name + \" retrying in \" + o + \" ms\"), o !== !1)\n return new Promise(function(s) {\n return setTimeout(s, o);\n }).then(function() {\n return mi(t, e, n, r + 1);\n });\n throw i;\n });\n}\nfunction js(t) {\n var e = 100, n = 100;\n return function(r) {\n var i = Math.pow(2, r) * e + n * Math.random();\n return i > t ? !1 : i;\n };\n}\nfunction qs(t, e, n) {\n return mi(t, e, js(n));\n}\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nvar Ls = 55, $s = /* @__PURE__ */ function() {\n function t(n, r) {\n var i = n || {}, o = i.UserPoolId, s = i.ClientId, c = i.endpoint, p = i.fetchOptions, w = i.AdvancedSecurityDataCollectionFlag;\n if (!o || !s)\n throw new Error(\"Both UserPoolId and ClientId are required.\");\n if (o.length > Ls || !/^[\\w-]+_[0-9a-zA-Z]+$/.test(o))\n throw new Error(\"Invalid UserPoolId format.\");\n var y = o.split(\"_\")[0];\n this.userPoolId = o, this.clientId = s, this.client = new Bs(y, c, p), this.advancedSecurityDataCollectionFlag = w !== !1, this.storage = n.Storage || new pi().getStorage(), r && (this.wrapRefreshSessionCallback = r);\n }\n var e = t.prototype;\n return e.getUserPoolId = function() {\n return this.userPoolId;\n }, e.getUserPoolName = function() {\n return this.getUserPoolId().split(\"_\")[1];\n }, e.getClientId = function() {\n return this.clientId;\n }, e.signUp = function(r, i, o, s, c, p) {\n var w = this, y = {\n ClientId: this.clientId,\n Username: r,\n Password: i,\n UserAttributes: o,\n ValidationData: s,\n ClientMetadata: p\n };\n this.getUserContextData(r) && (y.UserContextData = this.getUserContextData(r)), this.client.request(\"SignUp\", y, function(C, A) {\n if (C)\n return c(C, null);\n var T = {\n Username: r,\n Pool: w,\n Storage: w.storage\n }, R = {\n user: new zr(T),\n userConfirmed: A.UserConfirmed,\n userSub: A.UserSub,\n codeDeliveryDetails: A.CodeDeliveryDetails\n };\n return c(null, R);\n });\n }, e.getCurrentUser = function() {\n var r = \"CognitoIdentityServiceProvider.\" + this.clientId + \".LastAuthUser\", i = this.storage.getItem(r);\n if (i) {\n var o = {\n Username: i,\n Pool: this,\n Storage: this.storage\n };\n return new zr(o);\n }\n return null;\n }, e.getUserContextData = function(r) {\n if (!(typeof AmazonCognitoAdvancedSecurityData > \"u\")) {\n var i = AmazonCognitoAdvancedSecurityData;\n if (this.advancedSecurityDataCollectionFlag) {\n var o = i.getData(r, this.userPoolId, this.clientId);\n if (o) {\n var s = {\n EncodedData: o\n };\n return s;\n }\n }\n return {};\n }\n }, t;\n}(), Ar = { exports: {} };\n/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\nvar zn;\nfunction zs() {\n return zn || (zn = 1, function(t, e) {\n (function(n) {\n var r;\n if (t.exports = n(), r = !0, !r) {\n var i = window.Cookies, o = window.Cookies = n();\n o.noConflict = function() {\n return window.Cookies = i, o;\n };\n }\n })(function() {\n function n() {\n for (var o = 0, s = {}; o < arguments.length; o++) {\n var c = arguments[o];\n for (var p in c)\n s[p] = c[p];\n }\n return s;\n }\n function r(o) {\n return o.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n }\n function i(o) {\n function s() {\n }\n function c(w, y, C) {\n if (!(typeof document > \"u\")) {\n C = n({\n path: \"/\"\n }, s.defaults, C), typeof C.expires == \"number\" && (C.expires = new Date(/* @__PURE__ */ new Date() * 1 + C.expires * 864e5)), C.expires = C.expires ? C.expires.toUTCString() : \"\";\n try {\n var A = JSON.stringify(y);\n /^[\\{\\[]/.test(A) && (y = A);\n } catch {\n }\n y = o.write ? o.write(y, w) : encodeURIComponent(String(y)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent), w = encodeURIComponent(String(w)).replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent).replace(/[\\(\\)]/g, escape);\n var T = \"\";\n for (var R in C)\n C[R] && (T += \"; \" + R, C[R] !== !0 && (T += \"=\" + C[R].split(\";\")[0]));\n return document.cookie = w + \"=\" + y + T;\n }\n }\n function p(w, y) {\n if (!(typeof document > \"u\")) {\n for (var C = {}, A = document.cookie ? document.cookie.split(\"; \") : [], T = 0; T < A.length; T++) {\n var R = A[T].split(\"=\"), U = R.slice(1).join(\"=\");\n !y && U.charAt(0) === '\"' && (U = U.slice(1, -1));\n try {\n var $ = r(R[0]);\n if (U = (o.read || o)(U, $) || r(U), y)\n try {\n U = JSON.parse(U);\n } catch {\n }\n if (C[$] = U, w === $)\n break;\n } catch {\n }\n }\n return w ? C[w] : C;\n }\n }\n return s.set = c, s.get = function(w) {\n return p(\n w,\n !1\n /* read as raw */\n );\n }, s.getJSON = function(w) {\n return p(\n w,\n !0\n /* read as json */\n );\n }, s.remove = function(w, y) {\n c(w, \"\", n(y, {\n expires: -1\n }));\n }, s.defaults = {}, s.withConverter = i, s;\n }\n return i(function() {\n });\n });\n }(Ar)), Ar.exports;\n}\nzs();\nfunction Vs(t) {\n if (typeof t == \"boolean\")\n return String(t);\n switch (t) {\n case \"true\":\n case \"false\":\n return !!t;\n default:\n return t;\n }\n}\nclass Hs extends Error {\n constructor(e) {\n super(e), this.name = \"LoginMFAException\";\n }\n}\nclass vi extends Error {\n constructor(n, r) {\n super(n);\n fn(this, \"firstLogin\");\n this.name = \"NewPasswordRequiredException\", this.firstLogin = r;\n }\n}\nfunction Ks(t) {\n window.MantineCognitoUserPool = new $s({\n UserPoolId: t.cognitoUserPoolId,\n ClientId: t.cognitoClientId\n });\n}\nfunction nn() {\n if (!window.MantineCognitoUserPool)\n throw new Error(\"Cognito Userpool has not been initialized.\");\n return window.MantineCognitoUserPool;\n}\nfunction dr(t) {\n return new zr({\n Username: t.toLowerCase(),\n Pool: nn()\n });\n}\nfunction on() {\n return nn().getCurrentUser();\n}\nfunction Ys(t, e) {\n return new Promise((n, r) => nn().signUp(t.toLowerCase(), e, [new rn({\n Name: \"email\",\n Value: t.toLowerCase()\n })], [], (i, o) => {\n i ? r(i) : o ? n(o) : r(new Error(\"Did not get a user from signUp.\"));\n }));\n}\nfunction Ws(t, e, n) {\n return new Promise((r, i) => {\n yi();\n const o = dr(t.toLowerCase());\n o.authenticateUser(new zi({\n Username: t.toLowerCase(),\n Password: e\n }), {\n onSuccess: () => {\n r(o);\n },\n onFailure: (s) => {\n i(s);\n },\n newPasswordRequired: (s) => {\n i(new vi(\"A new password must be set.\", {\n cognitoUser: o,\n userAttributes: s\n }));\n },\n totpRequired: () => {\n if (n !== void 0)\n o.sendMFACode(n, {\n onSuccess: () => {\n r(o);\n },\n onFailure: (s) => {\n i(s);\n }\n }, \"SOFTWARE_TOKEN_MFA\");\n else\n return i(new Hs(\"No MFA token provided.\"));\n }\n });\n });\n}\nfunction yi() {\n const t = on();\n t == null || t.globalSignOut({\n onSuccess: () => {\n },\n onFailure: () => {\n }\n }), t == null || t.signOut(), t == null || t.signOut();\n}\nfunction ct() {\n return new Promise((t, e) => {\n const n = on();\n n === null && e(null), n == null || n.getSession((r, i) => {\n if (r !== null || i === null)\n return e(null);\n t({\n session: i,\n authenticatedUser: n\n });\n });\n });\n}\nfunction tt(t) {\n return new Promise((e, n) => {\n ct().then(({\n authenticatedUser: r\n }) => {\n if (!r)\n return n(new Error(\"Unable to get current user.\"));\n t(r, e, n);\n });\n });\n}\nasync function ru() {\n const {\n session: t\n } = await ct();\n return t == null ? void 0 : t.getAccessToken().getJwtToken();\n}\nasync function nu() {\n const {\n session: t\n } = await ct();\n return t == null ? void 0 : t.getIdToken().getJwtToken();\n}\nfunction Vn() {\n return tt((t, e, n) => {\n t.getUserAttributes((r, i) => {\n if (r) return n(r);\n e(i ? i.reduce((o, s) => ({\n ...o,\n [s.getName()]: Vs(s.getValue())\n }), {}) : {});\n });\n });\n}\nfunction Gs(t, e) {\n return new Promise((n, r) => {\n const i = dr(t.toLowerCase());\n i == null || i.confirmRegistration(e, !0, (o, s) => {\n o ? r(o) : s ? n(s) : r(new Error(\"Error confirming signup.\"));\n });\n });\n}\nfunction Js() {\n return new Promise((t, e) => {\n const n = on();\n n == null || n.resendConfirmationCode((r, i) => {\n r && e(r), t(i);\n });\n });\n}\nfunction Zs() {\n return tt((t, e, n) => {\n t.getAttributeVerificationCode(\"email\", {\n onSuccess: (r) => {\n e(r);\n },\n onFailure: (r) => {\n n(r);\n }\n });\n });\n}\nfunction Xs(t) {\n const e = Object.keys(t).map((n) => new rn({\n Name: n,\n Value: String(t[n])\n }));\n return tt((n, r, i) => {\n n.updateAttributes(e, (o, s) => {\n if (o != null) return i(o);\n r(s ?? \"User updated.\");\n });\n });\n}\nfunction Qs(t) {\n return new Promise((e, n) => {\n const r = dr(t.toLowerCase());\n r == null || r.forgotPassword({\n onSuccess: (i) => {\n e(i);\n },\n onFailure: (i) => {\n n(i);\n }\n });\n });\n}\nfunction ea(t, e, n) {\n return new Promise((r, i) => {\n dr(t.toLowerCase()).confirmPassword(e, n, {\n onSuccess: (s) => {\n r(s);\n },\n onFailure: (s) => {\n i(s);\n }\n });\n });\n}\nfunction ta(t, e) {\n return new Promise((n, r) => {\n t.completeNewPasswordChallenge(e, {}, {\n onSuccess: (i) => {\n n(i);\n },\n onFailure: (i) => {\n r(i);\n }\n });\n });\n}\nfunction ra(t, e) {\n return tt((n, r, i) => {\n n.verifyAttribute(t, e, {\n onFailure(o) {\n i(o);\n },\n onSuccess(o) {\n r(o);\n }\n });\n });\n}\nfunction na() {\n return tt((t, e, n) => {\n t.associateSoftwareToken({\n associateSecretCode: (r) => {\n e(r);\n },\n onFailure: (r) => {\n n(r);\n }\n });\n });\n}\nfunction ia() {\n return tt((t, e, n) => {\n t.getUserData((r, i) => {\n if (r != null) return n(r);\n e(i);\n });\n });\n}\nfunction oa(t, e) {\n return tt((n, r, i) => {\n n.verifySoftwareToken(t, e, {\n onSuccess: () => {\n r(void 0);\n },\n onFailure: (o) => {\n i(o);\n }\n });\n });\n}\nfunction sa() {\n return bi(!0);\n}\nfunction aa() {\n return bi(!1);\n}\nfunction bi(t) {\n return tt((e, n, r) => {\n const i = {\n PreferredMfa: t,\n Enabled: t\n };\n e.setUserMfaPreference(null, i, (o, s) => {\n if (o != null) return r(o);\n e.clearCachedUserData(), n(s);\n });\n });\n}\nasync function Hn() {\n var e, n;\n const {\n session: t\n } = await ct();\n return ((n = (e = t == null ? void 0 : t.getAccessToken()) == null ? void 0 : e.decodePayload()) == null ? void 0 : n[\"cognito:groups\"]) ?? [];\n}\nfunction Er(t, e) {\n const n = Le.c(8);\n let r;\n n[0] !== t || n[1] !== e ? (r = () => {\n const w = localStorage.getItem(`use_persistent_storage_${e}`);\n return w ? JSON.parse(w) : t;\n }, n[0] = t, n[1] = e, n[2] = r) : r = n[2];\n const [i, o] = qe(r);\n let s;\n n[3] !== e ? (s = (w) => {\n o(w), localStorage.setItem(`use_persistent_storage_${e}`, JSON.stringify(w));\n }, n[3] = e, n[4] = s) : s = n[4];\n const c = s;\n let p;\n return n[5] !== c || n[6] !== i ? (p = [i, c], n[5] = c, n[6] = i, n[7] = p) : p = n[7], p;\n}\nconst sn = Ei(void 0), ua = ({\n email: t,\n password: e\n}) => Ys(t, e), ca = ({\n email: t,\n totp: e\n}) => Gs(t, e), la = ({\n email: t\n}) => Qs(t), fa = ({\n email: t,\n totp: e,\n password: n\n}) => ea(t, e, n), ha = async ({\n email: t,\n password: e,\n totp: n\n}) => {\n const r = await Ws(t, e, n);\n return document.dispatchEvent(new Event(\"mantine-cognito-session\")), r;\n}, da = async () => {\n yi(), document.dispatchEvent(new Event(\"mantine-cognito-session\"));\n}, ga = async ({\n cognitoUser: t,\n password: e\n}) => {\n const n = await ta(t, e);\n return document.dispatchEvent(new Event(\"mantine-cognito-session\")), n;\n}, pa = async ({\n userAttribute: t,\n totp: e\n}) => {\n const n = await ra(t, e);\n return document.dispatchEvent(new Event(\"mantine-cognito-session\")), n;\n}, wa = () => Js(), ma = () => Zs(), va = async ({\n userAttributes: t\n}) => {\n const e = await Xs(t);\n return document.dispatchEvent(new Event(\"mantine-cognito-session\")), e;\n}, ya = (t) => {\n const e = Le.c(19), {\n children: n,\n cognitoUserPoolId: r,\n cognitoClientId: i,\n allowRegistration: o,\n language: s\n } = t;\n Ks({\n cognitoUserPoolId: r,\n cognitoClientId: i\n });\n const [c, p] = Er(\"login\", \"login-state\"), [w, y] = Er(null, \"user-attr-state\");\n let C;\n e[0] === Symbol.for(\"react.memo_cache_sentinel\") ? (C = [], e[0] = C) : C = e[0];\n const [A, T] = Er(C, \"user-group-state\"), R = _a;\n let U;\n e[1] !== y || e[2] !== T ? (U = () => {\n ct().then(async () => {\n Vn().then((re) => y(re)), Hn().then((re) => T(re));\n }).catch(() => {\n y(null), T([]);\n });\n }, e[1] = y, e[2] = T, e[3] = U) : U = e[3];\n let $;\n e[4] === Symbol.for(\"react.memo_cache_sentinel\") ? ($ = [], e[4] = $) : $ = e[4], at(U, $);\n let B;\n e[5] !== y || e[6] !== T ? (B = () => {\n const re = () => ct().then(async () => {\n Vn().then((ae) => y(ae)), Hn().then((ae) => T(ae));\n }).catch(() => {\n y(null), T([]);\n });\n return document.addEventListener(\"mantine-cognito-session\", re, !1), () => document.removeEventListener(\"mantine-cognito-session\", re, !1);\n }, e[5] = y, e[6] = T, e[7] = B) : B = e[7];\n let K;\n e[8] === Symbol.for(\"react.memo_cache_sentinel\") ? (K = [], e[8] = K) : K = e[8], at(B, K);\n let J;\n e[9] !== o || e[10] !== s || e[11] !== p || e[12] !== c || e[13] !== w || e[14] !== A ? (J = {\n allowRegistration: o,\n stage: c,\n setStage: p,\n getUser: R,\n userAttributes: w,\n userGroups: A,\n register: ua,\n login: ha,\n logout: da,\n confirmRegistration: ca,\n forgotPassword: la,\n confirmForgotPassword: fa,\n forcedPasswordReset: ga,\n verifyAttribute: pa,\n sendAccountConfirmationCode: wa,\n sendEmailConfirmationCode: ma,\n updateAttributes: va,\n language: s\n }, e[9] = o, e[10] = s, e[11] = p, e[12] = c, e[13] = w, e[14] = A, e[15] = J) : J = e[15];\n let Q;\n return e[16] !== n || e[17] !== J ? (Q = /* @__PURE__ */ z.jsx(sn.Provider, { value: J, children: n }), e[16] = n, e[17] = J, e[18] = Q) : Q = e[18], Q;\n};\nasync function ba(t) {\n const {\n authenticatedUser: e\n } = t;\n return e;\n}\nfunction Sa() {\n return null;\n}\nasync function _a() {\n return ct().then(ba).catch(Sa);\n}\nconst gr = () => {\n const t = ui(sn);\n if (t === void 0)\n throw new Error(\"useAuth must be used within a AuthProvider\");\n return t;\n}, Ca = {\n title: {\n login: \"Anmelden\",\n register: \"Registrieren\",\n code: \"Verifizieren\",\n newPassword: \"Neues Passwort\",\n forgotPassword: \"Zurücksetzen\",\n mfa: \"Multi-Faktor-Authentifizierung\",\n deviceName: \"Gerätename\"\n },\n description: {\n login: \"Melde dich an, um fortzufahren.\",\n register: \"Registriere dich, um fortzufahren.\",\n code: \"Gib den Bestätigungscode ein.\",\n newPassword: \"Gib dein neues Passwort ein.\",\n forgotPassword: \"Erhalten Sie einen Bestätigungscode.\"\n },\n fields: {\n email: \"E-Mail\",\n password: \"Passwort\",\n newPassword: \"Neues Passwort\"\n },\n placeholders: {\n email: \"deine@email.de\",\n password: \"Passwort\",\n newPassword: \"Passwort\"\n },\n buttons: {\n login: \"Anmelden\",\n register: \"Registrieren\",\n code: \"Bestätigen\",\n newPassword: \"Bestätigen\",\n cancel: \"Abbrechen\",\n disableMFA: \"MFA deaktivieren\",\n enableMFA: \"MFA aktivieren\",\n sendEmailCode: \"Verifizierungscode an E-Mail senden\"\n },\n links: {\n register: \"Noch kein Konto?\",\n backToLogin: \"Zurück zum Login\",\n forgotPassword: \"Passwort vergessen?\",\n clickHere: \"klicke hier\"\n },\n texts: {\n scanQRCode: \"Scanne den QR-Code mit deinem Authenticator oder \",\n copyCode: \"um den Code in die Zwischenablage zu kopieren.\",\n enterCode: \"Gib den Code ein in deinen Authenticator ein, um die Einrichtung abzuschließen.\"\n },\n validation: {\n email: \"E-Mail-Adresse ist ungültig\",\n password: \"Passwort entspricht nicht den Anforderungen\",\n code: \"Code ist ungültig\",\n incorrectUserOrPassword: \"E-Mail-Adresse oder Passwort falsch.\"\n },\n passwordRequirements: {\n min: \"Mindestens 8 Zeichen\",\n uppercase: \"Mindestens ein Großbuchstabe\",\n lowercase: \"Mindestens ein Kleinbuchstabe\",\n number: \"Mindestens eine Zahl\",\n special: \"Mindestens ein Sonderzeichen\"\n },\n errors: {\n noCode: \"Keinen Code erhalten.\"\n }\n}, xa = {\n title: {\n login: \"Login\",\n register: \"Register\",\n code: \"Verify\",\n newPassword: \"New Password\",\n forgotPassword: \"Reset\",\n mfa: \"Multi-Factor Authentication\",\n deviceName: \"Device Name\"\n },\n description: {\n login: \"Log in to continue.\",\n register: \"Register to continue.\",\n code: \"Enter the confirmation code.\",\n newPassword: \"Enter your new password.\",\n forgotPassword: \"Receive a confirmation code.\"\n },\n fields: {\n email: \"Email\",\n password: \"Password\",\n newPassword: \"New Password\"\n },\n placeholders: {\n email: \"your@email.com\",\n password: \"Password\",\n newPassword: \"Password\"\n },\n buttons: {\n login: \"Login\",\n register: \"Register\",\n code: \"Confirm\",\n newPassword: \"Confirm\",\n cancel: \"Cancel\",\n disableMFA: \"Disable MFA\",\n enableMFA: \"Enable MFA\",\n sendEmailCode: \"Send email verification code\"\n },\n links: {\n register: \"Don't have an account?\",\n backToLogin: \"Back to Login\",\n forgotPassword: \"Forgot your password?\",\n clickHere: \"click here\"\n },\n texts: {\n scanQRCode: \"Scan the QR code with your authenticator or \",\n copyCode: \"to copy the code to the clipboard.\",\n enterCode: \"Enter the code in your authenticator to complete the setup.\"\n },\n validation: {\n email: \"Email address is invalid\",\n password: \"Password does not meet requirements\",\n code: \"Code is invalid\",\n incorrectUserOrPassword: \"Email or password incorrect.\"\n },\n passwordRequirements: {\n min: \"Minimum 8 characters\",\n uppercase: \"At least one uppercase letter\",\n lowercase: \"At least one lowercase letter\",\n number: \"At least one number\",\n special: \"At least one special character\"\n },\n errors: {\n noCode: \"No code received.\"\n }\n}, Yt = () => {\n const t = ui(sn);\n if (t === void 0)\n throw new Error(\"useTranslation must be used within a AuthProvider\");\n return t.language === \"de\" ? Ca : xa;\n}, Aa = (t) => {\n const e = Le.c(8), {\n meets: n,\n label: r\n } = t;\n let i;\n e[0] !== n ? (i = n ? /* @__PURE__ */ z.jsx(Ii, { color: n ? \"teal\" : \"red\", size: 12, stroke: 1.5 }) : /* @__PURE__ */ z.jsx(Fi, { color: n ? \"teal\" : \"red\", size: 12, stroke: 1.5 }), e[0] = n, e[1] = i) : i = e[1];\n const o = n ? \"teal\" : \"red\";\n let s;\n e[2] !== r || e[3] !== o ? (s = /* @__PURE__ */ z.jsx(Pe, { size: \"sm\", c: o, ml: 3, children: r }), e[2] = r, e[3] = o, e[4] = s) : s = e[4];\n let c;\n return e[5] !== i || e[6] !== s ? (c = /* @__PURE__ */ z.jsxs(je, { children: [\n i,\n s\n ] }), e[5] = i, e[6] = s, e[7] = c) : c = e[7], c;\n}, Ea = (t, e) => {\n if (t === void 0) return 0;\n const n = t.toString();\n let r = n.length > 5 ? 0 : 1;\n return e.forEach((i) => {\n i.re.test(n) || (r += 1);\n }), Math.max(100 - 100 / (e.length + 1) * r, 0);\n};\nfunction an(t) {\n const e = Le.c(21), [n, r] = ki(t.value), [i, o] = qe(!1), s = n === void 0 ? \"\" : n.toString(), c = Yt(), p = [{\n re: /^.{8,}$/,\n label: c.passwordRequirements.min\n }, {\n re: /[0-9]/,\n label: c.passwordRequirements.number\n }, {\n re: /[a-z]/,\n label: c.passwordRequirements.lowercase\n }, {\n re: /[A-Z]/,\n label: c.passwordRequirements.uppercase\n }, {\n re: /[$&+,:;=?@#|'<>.^*()%!-]/,\n label: c.passwordRequirements.special\n }], w = Ea(n, p);\n let y;\n e[0] !== t || e[1] !== r ? (y = (re) => {\n var ae;\n r(re.currentTarget.value), o(!0), (ae = t.onChange) == null || ae.call(t, re);\n }, e[0] = t, e[1] = r, e[2] = y) : y = e[2];\n const C = y, A = p.map((re, ae) => /* @__PURE__ */ z.jsx(Aa, { label: re.label, meets: re.re.test(s) }, ae));\n let T;\n e[3] !== w || e[4] !== s ? (T = Array(4).fill(0).map((re, ae) => /* @__PURE__ */ z.jsx(Ti, { animated: !1, value: s.length > 0 && ae === 0 || w >= (ae + 1) / 4 * 100 ? 100 : 0, color: w > 80 ? \"teal\" : w > 50 ? \"yellow\" : \"red\", size: 4 }, ae)), e[3] = w, e[4] = s, e[5] = T) : T = e[5];\n const R = T;\n let U;\n e[6] !== t ? (U = {\n ...t,\n showRequirements: void 0\n }, e[6] = t, e[7] = U) : U = e[7];\n const $ = U;\n let B;\n e[8] !== C || e[9] !== $ ? (B = /* @__PURE__ */ z.jsx(ci, { ...$, onChange: C }), e[8] = C, e[9] = $, e[10] = B) : B = e[10];\n let K;\n e[11] !== R ? (K = /* @__PURE__ */ z.jsx(ut, { gap: 5, grow: !0, mt: \"xs\", mb: \"md\", children: R }), e[11] = R, e[12] = K) : K = e[12];\n let J;\n e[13] !== A || e[14] !== t.showRequirements || e[15] !== i ? (J = t.showRequirements && i && /* @__PURE__ */ z.jsx(Ri, { align: \"start\", gap: 0, children: A }), e[13] = A, e[14] = t.showRequirements, e[15] = i, e[16] = J) : J = e[16];\n let Q;\n return e[17] !== B || e[18] !== K || e[19] !== J ? (Q = /* @__PURE__ */ z.jsxs(wt, { children: [\n B,\n K,\n J\n ] }), e[17] = B, e[18] = K, e[19] = J, e[20] = Q) : Q = e[20], Q;\n}\nfunction Ua() {\n const t = Le.c(61), e = Yt(), [n, r] = qe(!1), [i, o] = qe(!1), [s, c] = qe(), {\n login: p,\n confirmRegistration: w,\n forcedPasswordReset: y,\n sendEmailConfirmationCode: C,\n setStage: A,\n allowRegistration: T\n } = gr();\n let R;\n t[0] === Symbol.for(\"react.memo_cache_sentinel\") ? (R = {\n email: \"\",\n password: \"\"\n }, t[0] = R) : R = t[0];\n let U;\n t[1] !== e.validation.email ? (U = Zr(e.validation.email), t[1] = e.validation.email, t[2] = U) : U = t[2];\n let $;\n t[3] !== e.validation.password ? ($ = st(e.validation.password), t[3] = e.validation.password, t[4] = $) : $ = t[4];\n let B;\n t[5] !== U || t[6] !== $ ? (B = {\n initialValues: R,\n validate: {\n email: U,\n password: $\n }\n }, t[5] = U, t[6] = $, t[7] = B) : B = t[7];\n const K = Xe(B);\n let J;\n t[8] === Symbol.for(\"react.memo_cache_sentinel\") ? (J = {\n totp: void 0\n }, t[8] = J) : J = t[8];\n let Q;\n t[9] !== e.validation.code ? (Q = st(e.validation.code), t[9] = e.validation.code, t[10] = Q) : Q = t[10];\n let re;\n t[11] !== Q ? (re = {\n initialValues: J,\n validate: {\n totp: Q\n }\n }, t[11] = Q, t[12] = re) : re = t[12];\n const ae = Xe(re);\n let be;\n t[13] === Symbol.for(\"react.memo_cache_sentinel\") ? (be = {\n totp: \"\"\n }, t[13] = be) : be = t[13];\n let we;\n t[14] !== e.validation.code ? (we = st(e.validation.code), t[14] = e.validation.code, t[15] = we) : we = t[15];\n let pe;\n t[16] !== we ? (pe = {\n initialValues: be,\n validate: {\n totp: we\n }\n }, t[16] = we, t[17] = pe) : pe = t[17];\n const de = Xe(pe);\n let me;\n t[18] === Symbol.for(\"react.memo_cache_sentinel\") ? (me = {\n password: \"\"\n }, t[18] = me) : me = t[18];\n let ve;\n t[19] !== e.validation.password ? (ve = st(e.validation.password), t[19] = e.validation.password, t[20] = ve) : ve = t[20];\n let Se;\n t[21] !== ve ? (Se = {\n initialValues: me,\n validate: {\n password: ve\n }\n }, t[21] = ve, t[22] = Se) : Se = t[22];\n const k = Xe(Se);\n let D;\n t[23] !== p || t[24] !== K || t[25] !== ae || t[26] !== e.validation.incorrectUserOrPassword || t[27] !== de ? (D = async function() {\n try {\n await p({\n ...K.values,\n ...de.values,\n ...ae.values\n });\n } catch (j) {\n const P = j;\n if (P instanceof Error)\n e: switch (P.name) {\n case \"UserNotFoundException\": {\n K.setFieldError(\"email\", P.message);\n break e;\n }\n case \"NotAuthorizedException\": {\n K.setFieldError(\"email\", e.validation.incorrectUserOrPassword), K.setFieldError(\"password\", e.validation.incorrectUserOrPassword);\n break e;\n }\n case \"CodeMismatchException\": {\n de.isDirty() ? de.setFieldError(\"totp\", P.message) : ae.isDirty() && ae.setFieldError(\"totp\", P.message);\n break e;\n }\n case \"ExpiredCodeException\": {\n de.isDirty() ? de.setFieldError(\"totp\", P.message) : ae.isDirty() && ae.setFieldError(\"totp\", P.message);\n break e;\n }\n case \"NewPasswordRequiredException\": {\n P instanceof vi && c(P.firstLogin);\n break e;\n }\n case \"LoginMFAException\": {\n r(!0);\n break e;\n }\n case \"UserNotConfirmedException\": {\n o(!0);\n break e;\n }\n default:\n console.error(P);\n }\n }\n }, t[23] = p, t[24] = K, t[25] = ae, t[26] = e.validation.incorrectUserOrPassword, t[27] = de, t[28] = D) : D = t[28];\n const E = D;\n let f;\n t[29] !== w || t[30] !== K || t[31] !== E || t[32] !== de ? (f = async function() {\n try {\n await w({\n ...K.values,\n ...de.values\n }), await E();\n } catch (j) {\n const P = j;\n P instanceof Error && (console.error(P), de.setFieldError(\"totp\", P.message));\n }\n }, t[29] = w, t[30] = K, t[31] = E, t[32] = de, t[33] = f) : f = t[33];\n const l = f;\n let v;\n t[34] !== s || t[35] !== y || t[36] !== k || t[37] !== A ? (v = async function() {\n try {\n await y({\n ...s,\n ...k.values\n }), A(\"login\");\n } catch (j) {\n const P = j;\n P instanceof Error && (console.error(P), k.setFieldError(\"password\", P.message));\n }\n }, t[34] = s, t[35] = y, t[36] = k, t[37] = A, t[38] = v) : v = t[38];\n const g = v;\n let d;\n return t[39] !== T || t[40] !== s || t[41] !== K || t[42] !== ae || t[43] !== n || t[44] !== k || t[45] !== E || t[46] !== g || t[47] !== l || t[48] !== C || t[49] !== A || t[50] !== e.buttons.code || t[51] !== e.buttons.login || t[52] !== e.buttons.newPassword || t[53] !== e.buttons.sendEmailCode || t[54] !== e.fields || t[55] !== e.links || t[56] !== e.placeholders || t[57] !== e.title || t[58] !== de || t[59] !== i ? (d = /* @__PURE__ */ z.jsx(lr, { withBorder: !0, shadow: \"md\", p: 30, mt: 30, radius: \"md\", children: n ? /* @__PURE__ */ z.jsxs(\"form\", { onSubmit: ae.onSubmit(E), children: [\n /* @__PURE__ */ z.jsxs(wt, { children: [\n /* @__PURE__ */ z.jsx(or, { required: !0, children: e.title.mfa }),\n /* @__PURE__ */ z.jsx(je, { children: /* @__PURE__ */ z.jsx(sr, { oneTimeCode: !0, type: \"number\", size: \"md\", length: 6, autoFocus: n, onComplete: E, ...ae.getInputProps(\"totp\") }) }),\n /* @__PURE__ */ z.jsx(Pe, { c: \"red\", size: \"xs\", children: ae.errors.totp })\n ] }),\n /* @__PURE__ */ z.jsxs(ut, { justify: \"space-between\", mt: \"lg\", children: [\n /* @__PURE__ */ z.jsx(Ze, { onClick: () => {\n ae.reset(), r(!1), A(\"login\");\n }, c: \"dimmed\", size: \"sm\", children: /* @__PURE__ */ z.jsxs(je, { inline: !0, children: [\n /* @__PURE__ */ z.jsx(mt, { size: 20 }),\n /* @__PURE__ */ z.jsx(Pe, { ml: 5, children: e.links.backToLogin })\n ] }) }),\n /* @__PURE__ */ z.jsx(Ne, { type: \"submit\", children: e.buttons.code })\n ] })\n ] }) : i ? /* @__PURE__ */ z.jsxs(\"form\", { onSubmit: de.onSubmit(l), children: [\n /* @__PURE__ */ z.jsxs(wt, { children: [\n /* @__PURE__ */ z.jsx(or, { required: !0, children: \"Verification Code\" }),\n /* @__PURE__ */ z.jsxs(je, { children: [\n /* @__PURE__ */ z.jsx(Ne, { fullWidth: !0, variant: \"outline\", onClick: C, my: \"md\", children: e.buttons.sendEmailCode }),\n /* @__PURE__ */ z.jsx(sr, { oneTimeCode: !0, type: \"number\", size: \"md\", length: 6, autoFocus: i, onComplete: l, ...de.getInputProps(\"totp\") })\n ] }),\n /* @__PURE__ */ z.jsx(Pe, { c: \"red\", size: \"xs\", children: de.errors.totp })\n ] }),\n /* @__PURE__ */ z.jsxs(ut, { justify: \"space-between\", mt: \"lg\", children: [\n /* @__PURE__ */ z.jsx(Ze, { onClick: () => {\n de.reset(), o(!1), A(\"login\");\n }, c: \"dimmed\", size: \"sm\", children: /* @__PURE__ */ z.jsxs(je, { inline: !0, children: [\n /* @__PURE__ */ z.jsx(mt, { size: 20 }),\n /* @__PURE__ */ z.jsx(Pe, { ml: 5, children: e.links.backToLogin })\n ] }) }),\n /* @__PURE__ */ z.jsx(Ne, { type: \"submit\", children: e.buttons.code })\n ] })\n ] }) : s ? /* @__PURE__ */ z.jsxs(\"form\", { onSubmit: k.onSubmit(g), children: [\n /* @__PURE__ */ z.jsx(an, { label: e.fields.newPassword, placeholder: e.placeholders.newPassword, autoFocus: !!s, withAsterisk: !0, showRequirements: !0, ...k.getInputProps(\"password\"), autoComplete: \"new-password\" }),\n /* @__PURE__ */ z.jsx(Ne, { type: \"submit\", fullWidth: !0, mt: \"lg\", children: e.buttons.newPassword })\n ] }) : /* @__PURE__ */ z.jsxs(\"form\", { onSubmit: K.onSubmit(E), children: [\n /* @__PURE__ */ z.jsx(fr, { autoComplete: \"username\", label: e.fields.email, withAsterisk: !0, placeholder: e.placeholders.email, ...K.getInputProps(\"email\") }),\n /* @__PURE__ */ z.jsx(ci, { label: e.fields.password, placeholder: e.placeholders.password, ...K.getInputProps(\"password\"), autoComplete: \"current-password\", withAsterisk: !0, mt: \"md\" }),\n /* @__PURE__ */ z.jsx(Ne, { type: \"submit\", fullWidth: !0, mt: \"lg\", children: e.buttons.login }),\n /* @__PURE__ */ z.jsxs(ut, { justify: \"space-between\", mt: \"md\", children: [\n T && /* @__PURE__ */ z.jsx(Ze, { component: \"button\", c: \"dimmed\", size: \"sm\", onClick: () => {\n A(\"register\");\n }, children: e.links.register }),\n /* @__PURE__ */ z.jsx(Ze, { component: \"button\", c: \"dimmed\", size: \"sm\", onClick: () => {\n A(\"forgotPassword\");\n }, children: e.links.forgotPassword })\n ] })\n ] }) }), t[39] = T, t[40] = s, t[41] = K, t[42] = ae, t[43] = n, t[44] = k, t[45] = E, t[46] = g, t[47] = l, t[48] = C, t[49] = A, t[50] = e.buttons.code, t[51] = e.buttons.login, t[52] = e.buttons.newPassword, t[53] = e.buttons.sendEmailCode, t[54] = e.fields, t[55] = e.links, t[56] = e.placeholders, t[57] = e.title, t[58] = de, t[59] = i, t[60] = d) : d = t[60], d;\n}\nfunction Ta() {\n const t = Le.c(49), e = Yt(), {\n register: n,\n userAttributes: r,\n setStage: i\n } = gr();\n let o;\n t[0] === Symbol.for(\"react.memo_cache_sentinel\") ? (o = {\n email: \"\",\n password: \"\"\n }, t[0] = o) : o = t[0];\n let s;\n t[1] !== e.validation.email ? (s = Zr(e.validation.email), t[1] = e.validation.email, t[2] = s) : s = t[2];\n let c;\n t[3] !== e.validation.password ? (c = st(e.validation.password), t[3] = e.validation.password, t[4] = c) : c = t[4];\n let p;\n t[5] !== s || t[6] !== c ? (p = {\n initialValues: o,\n validate: {\n email: s,\n password: c\n }\n }, t[5] = s, t[6] = c, t[7] = p) : p = t[7];\n const w = Xe(p);\n let y;\n t[8] !== w || t[9] !== n || t[10] !== i ? (y = async function() {\n try {\n await n(w.values), i(\"login\");\n } catch (k) {\n const D = k;\n if (D instanceof Error)\n e: switch (D.name) {\n case \"UsernameExistsException\": {\n w.setFieldError(\"email\", D.message);\n break e;\n }\n case \"InvalidPasswordException\": {\n w.setFieldError(\"password\", D.message);\n break e;\n }\n default:\n console.error(D.name, D.message);\n }\n }\n }, t[8] = w, t[9] = n, t[10] = i, t[11] = y) : y = t[11];\n const C = y;\n r && i(\"login\");\n let A;\n t[12] !== w || t[13] !== C ? (A = w.onSubmit(C), t[12] = w, t[13] = C, t[14] = A) : A = t[14];\n const T = e.fields.email, R = e.placeholders.email;\n let U;\n t[15] !== w ? (U = w.getInputProps(\"email\"), t[15] = w, t[16] = U) : U = t[16];\n let $;\n t[17] !== U || t[18] !== e.fields.email || t[19] !== e.placeholders.email ? ($ = /* @__PURE__ */ z.jsx(fr, { label: T, placeholder: R, withAsterisk: !0, autoComplete: \"username\", ...U }), t[17] = U, t[18] = e.fields.email, t[19] = e.placeholders.email, t[20] = $) : $ = t[20];\n const B = e.fields.password, K = e.placeholders.password;\n let J;\n t[21] !== w ? (J = w.getInputProps(\"password\"), t[21] = w, t[22] = J) : J = t[22];\n let Q;\n t[23] !== w ? (Q = w.isDirty(\"password\") || w.isTouched(\"password\"), t[23] = w, t[24] = Q) : Q = t[24];\n let re;\n t[25] !== J || t[26] !== Q || t[27] !== e.fields.password || t[28] !== e.placeholders.password ? (re = /* @__PURE__ */ z.jsx(an, { label: B, placeholder: K, ...J, withAsterisk: !0, autoComplete: \"new-password\", mt: \"md\", showRequirements: Q }), t[25] = J, t[26] = Q, t[27] = e.fields.password, t[28] = e.placeholders.password, t[29] = re) : re = t[29];\n let ae;\n t[30] !== w || t[31] !== i ? (ae = () => {\n w.reset(), i(\"login\");\n }, t[30] = w, t[31] = i, t[32] = ae) : ae = t[32];\n let be;\n t[33] === Symbol.for(\"react.memo_cache_sentinel\") ? (be = /* @__PURE__ */ z.jsx(mt, { size: 20 }), t[33] = be) : be = t[33];\n let we;\n t[34] !== e.links.backToLogin ? (we = /* @__PURE__ */ z.jsxs(je, { inline: !0, children: [\n be,\n /* @__PURE__ */ z.jsx(Pe, { ml: 5, children: e.links.backToLogin })\n ] }), t[34] = e.links.backToLogin, t[35] = we) : we = t[35];\n let pe;\n t[36] !== ae || t[37] !== we ? (pe = /* @__PURE__ */ z.jsx(Ze, { onClick: ae, c: \"dimmed\", size: \"sm\", children: we }), t[36] = ae, t[37] = we, t[38] = pe) : pe = t[38];\n let de;\n t[39] !== e.buttons.register ? (de = /* @__PURE__ */ z.jsx(Ne, { type: \"submit\", children: e.buttons.register }), t[39] = e.buttons.register, t[40] = de) : de = t[40];\n let me;\n t[41] !== pe || t[42] !== de ? (me = /* @__PURE__ */ z.jsxs(ut, { justify: \"space-between\", mt: \"lg\", children: [\n pe,\n de\n ] }), t[41] = pe, t[42] = de, t[43] = me) : me = t[43];\n let ve;\n return t[44] !== re || t[45] !== me || t[46] !== A || t[47] !== $ ? (ve = /* @__PURE__ */ z.jsx(lr, { withBorder: !0, shadow: \"md\", p: 30, mt: 30, radius: \"md\", children: /* @__PURE__ */ z.jsxs(\"form\", { onSubmit: A, children: [\n $,\n re,\n me\n ] }) }), t[44] = re, t[45] = me, t[46] = A, t[47] = $, t[48] = ve) : ve = t[48], ve;\n}\nfunction Ra() {\n const t = Le.c(17), {\n forgotPassword: e,\n confirmForgotPassword: n,\n setStage: r\n } = gr(), [i, o] = qe(!1);\n let s;\n t[0] === Symbol.for(\"react.memo_cache_sentinel\") ? (s = {\n initialValues: {\n email: \"\"\n },\n validate: {\n email: Zr(\"Invalid email.\")\n }\n }, t[0] = s) : s = t[0];\n const c = Xe(s);\n let p;\n t[1] === Symbol.for(\"react.memo_cache_sentinel\") ? (p = {\n initialValues: {\n totp: \"\",\n password: \"\"\n },\n validate: {\n totp: st(\"Code required.\"),\n password: st(\"Password required.\")\n }\n }, t[1] = p) : p = t[1];\n const w = Xe(p);\n let y;\n t[2] !== e || t[3] !== c ? (y = async function() {\n try {\n await e(c.values), o(!0);\n } catch ($) {\n const B = $;\n if (B instanceof Error) {\n console.log(B.name, B.message);\n e: switch (B.name) {\n case \"UserNotFoundException\": {\n c.setFieldError(\"email\", B.message);\n break e;\n }\n default:\n c.setFieldError(\"email\", B.message), console.error(B.name, B.message);\n }\n }\n }\n }, t[2] = e, t[3] = c, t[4] = y) : y = t[4];\n const C = y;\n let A;\n t[5] !== n || t[6] !== c || t[7] !== w || t[8] !== r ? (A = async function() {\n try {\n await n({\n ...c.values,\n ...w.values\n }), r(\"login\");\n } catch ($) {\n const B = $;\n if (B instanceof Error) {\n console.log(B.name, B.message);\n e: switch (B.name) {\n case \"CodeMismatchException\": {\n w.setFieldError(\"totp\", B.message);\n break e;\n }\n default:\n w.setFieldError(\"password\", B.message), console.error(B.name, B.message);\n }\n }\n }\n }, t[5] = n, t[6] = c, t[7] = w, t[8] = r, t[9] = A) : A = t[9];\n const T = A;\n let R;\n return t[10] !== c || t[11] !== w || t[12] !== i || t[13] !== C || t[14] !== T || t[15] !== r ? (R = /* @__PURE__ */ z.jsx(lr, { withBorder: !0, shadow: \"md\", p: 30, mt: 30, radius: \"md\", children: i ? /* @__PURE__ */ z.jsxs(\"form\", { onSubmit: w.onSubmit(T), children: [\n /* @__PURE__ */ z.jsxs(wt, { children: [\n /* @__PURE__ */ z.jsx(or, { required: !0, children: \"Recovery Code\" }),\n /* @__PURE__ */ z.jsx(je, { children: /* @__PURE__ */ z.jsx(sr, { oneTimeCode: !0, type: \"number\", size: \"md\", length: 6, autoFocus: i, ...w.getInputProps(\"totp\") }) }),\n /* @__PURE__ */ z.jsx(Pe, { c: \"red\", size: \"xs\", children: w.errors.totp })\n ] }),\n /* @__PURE__ */ z.jsx(an, { label: \"Neues Passwort\", placeholder: \"Neues Passwort\", ...w.getInputProps(\"password\"), withAsterisk: !0, autoComplete: \"new-password\" }),\n /* @__PURE__ */ z.jsxs(ut, { justify: \"space-between\", mt: \"lg\", children: [\n /* @__PURE__ */ z.jsx(Ze, { onClick: () => {\n w.reset(), r(\"login\");\n }, c: \"dimmed\", size: \"sm\", children: /* @__PURE__ */ z.jsxs(je, { inline: !0, children: [\n /* @__PURE__ */ z.jsx(mt, { size: 20 }),\n /* @__PURE__ */ z.jsx(Pe, { ml: 5, children: \"Zurück zum Login\" })\n ] }) }),\n /* @__PURE__ */ z.jsx(Ne, { type: \"submit\", children: \"Submit\" })\n ] })\n ] }) : /* @__PURE__ */ z.jsxs(\"form\", { onSubmit: c.onSubmit(C), children: [\n /* @__PURE__ */ z.jsx(fr, { label: \"E-Mail\", placeholder: \"you@email.com\", withAsterisk: !0, autoComplete: \"username\", ...c.getInputProps(\"email\") }),\n /* @__PURE__ */ z.jsxs(ut, { justify: \"space-between\", mt: \"lg\", children: [\n /* @__PURE__ */ z.jsx(Ze, { onClick: () => {\n c.reset(), r(\"login\");\n }, c: \"dimmed\", size: \"sm\", children: /* @__PURE__ */ z.jsxs(je, { inline: !0, children: [\n /* @__PURE__ */ z.jsx(mt, { size: 20 }),\n /* @__PURE__ */ z.jsx(Pe, { ml: 5, children: \"Zurück zum Login\" })\n ] }) }),\n /* @__PURE__ */ z.jsx(Ne, { type: \"submit\", children: \"Absenden\" })\n ] })\n ] }) }), t[10] = c, t[11] = w, t[12] = i, t[13] = C, t[14] = T, t[15] = r, t[16] = R) : R = t[16], R;\n}\nfunction Da(t) {\n const e = Le.c(5), {\n children: n\n } = t, {\n userAttributes: r,\n stage: i\n } = gr(), o = Yt();\n let s;\n return e[0] !== n || e[1] !== i || e[2] !== o || e[3] !== r ? (s = r ? n : /* @__PURE__ */ z.jsxs(Di, { size: 420, my: 40, children: [\n /* @__PURE__ */ z.jsxs(Pi, { ta: \"center\", children: [\n i === \"login\" && o.title.login,\n i === \"register\" && o.title.register,\n i === \"forgotPassword\" && o.title.forgotPassword\n ] }),\n /* @__PURE__ */ z.jsxs(Pe, { c: \"dimmed\", size: \"sm\", ta: \"center\", mt: 5, children: [\n i === \"login\" && o.description.login,\n i === \"register\" && o.description.register,\n i === \"forgotPassword\" && o.description.forgotPassword\n ] }),\n i === \"login\" && /* @__PURE__ */ z.jsx(Ua, {}),\n i === \"register\" && /* @__PURE__ */ z.jsx(Ta, {}),\n i === \"forgotPassword\" && /* @__PURE__ */ z.jsx(Ra, {})\n ] }), e[0] = n, e[1] = i, e[2] = o, e[3] = r, e[4] = s) : s = e[4], s;\n}\nfunction iu(t) {\n const e = Le.c(10), {\n cognitoUserPoolId: n,\n cognitoClientId: r,\n allowRegistration: i,\n children: o,\n language: s\n } = t, c = i === void 0 ? !0 : i, p = s === void 0 ? \"en\" : s;\n let w;\n e[0] !== c || e[1] !== r || e[2] !== n || e[3] !== p ? (w = {\n cognitoUserPoolId: n,\n cognitoClientId: r,\n allowRegistration: c,\n language: p\n }, e[0] = c, e[1] = r, e[2] = n, e[3] = p, e[4] = w) : w = e[4];\n let y;\n e[5] !== o ? (y = /* @__PURE__ */ z.jsx(Da, { children: o }), e[5] = o, e[6] = y) : y = e[6];\n let C;\n return e[7] !== w || e[8] !== y ? (C = /* @__PURE__ */ z.jsx(ya, { ...w, children: y }), e[7] = w, e[8] = y, e[9] = C) : C = e[9], C;\n}\nvar Pa = \"2.0.4\", Kr = 500, Kn = \"user-agent\", vt = \"\", Yn = \"?\", ar = \"function\", Qe = \"undefined\", yt = \"object\", Yr = \"string\", Te = \"browser\", He = \"cpu\", Ve = \"device\", Be = \"engine\", Fe = \"os\", gt = \"result\", H = \"name\", N = \"type\", V = \"vendor\", Y = \"version\", Re = \"architecture\", Kt = \"major\", q = \"model\", Lt = \"console\", fe = \"mobile\", ye = \"tablet\", Ce = \"smarttv\", $e = \"wearable\", Qt = \"xr\", $t = \"embedded\", kt = \"inapp\", un = \"brands\", ot = \"formFactors\", cn = \"fullVersionList\", pt = \"platform\", ln = \"platformVersion\", pr = \"bitness\", rt = \"sec-ch-ua\", Ia = rt + \"-full-version-list\", Fa = rt + \"-arch\", ka = rt + \"-\" + pr, Oa = rt + \"-form-factors\", Ma = rt + \"-\" + fe, Ba = rt + \"-\" + q, Si = rt + \"-\" + pt, Na = Si + \"-version\", _i = [un, cn, fe, q, pt, ln, Re, ot, pr], er = \"Amazon\", ft = \"Apple\", Wn = \"ASUS\", Gn = \"BlackBerry\", it = \"Google\", Jn = \"Huawei\", Ur = \"Lenovo\", Zn = \"Honor\", tr = \"LG\", Tr = \"Microsoft\", Rr = \"Motorola\", Dr = \"Nvidia\", Xn = \"OnePlus\", Pr = \"OPPO\", Ot = \"Samsung\", Qn = \"Sharp\", Mt = \"Sony\", Ir = \"Xiaomi\", Fr = \"Zebra\", ei = \"Chrome\", ti = \"Chromium\", Ge = \"Chromecast\", nr = \"Edge\", Bt = \"Firefox\", Nt = \"Opera\", kr = \"Facebook\", ri = \"Sogou\", ht = \"Mobile \", jt = \" Browser\", Wr = \"Windows\", ja = typeof window !== Qe, De = ja && window.navigator ? window.navigator : void 0, Je = De && De.userAgentData ? De.userAgentData : void 0, qa = function(t, e) {\n var n = {}, r = e;\n if (!ur(e)) {\n r = {};\n for (var i in e)\n for (var o in e[i])\n r[o] = e[i][o].concat(r[o] ? r[o] : []);\n }\n for (var s in t)\n n[s] = r[s] && r[s].length % 2 === 0 ? r[s].concat(t[s]) : t[s];\n return n;\n}, wr = function(t) {\n for (var e = {}, n = 0; n < t.length; n++)\n e[t[n].toUpperCase()] = t[n];\n return e;\n}, Gr = function(t, e) {\n if (typeof t === yt && t.length > 0) {\n for (var n in t)\n if (Ke(e) == Ke(t[n])) return !0;\n return !1;\n }\n return Ct(t) ? Ke(e) == Ke(t) : !1;\n}, ur = function(t, e) {\n for (var n in t)\n return /^(browser|cpu|device|engine|os)$/.test(n) || (e ? ur(t[n]) : !1);\n}, Ct = function(t) {\n return typeof t === Yr;\n}, Or = function(t) {\n if (t) {\n for (var e = [], n = bt(/\\\\?\\\"/g, t).split(\",\"), r = 0; r < n.length; r++)\n if (n[r].indexOf(\";\") > -1) {\n var i = cr(n[r]).split(\";v=\");\n e[r] = { brand: i[0], version: i[1] };\n } else\n e[r] = cr(n[r]);\n return e;\n }\n}, Ke = function(t) {\n return Ct(t) ? t.toLowerCase() : t;\n}, Mr = function(t) {\n return Ct(t) ? bt(/[^\\d\\.]/g, t).split(\".\")[0] : void 0;\n}, Ye = function(t) {\n for (var e in t) {\n var n = t[e];\n typeof n == yt && n.length == 2 ? this[n[0]] = n[1] : this[n] = void 0;\n }\n return this;\n}, bt = function(t, e) {\n return Ct(e) ? e.replace(t, vt) : e;\n}, qt = function(t) {\n return bt(/\\\\?\\\"/g, t);\n}, cr = function(t, e) {\n if (Ct(t))\n return t = bt(/^\\s\\s*/, t), typeof e === Qe ? t : t.substring(0, Kr);\n}, Br = function(t, e) {\n if (!(!t || !e))\n for (var n = 0, r, i, o, s, c, p; n < e.length && !c; ) {\n var w = e[n], y = e[n + 1];\n for (r = i = 0; r < w.length && !c && w[r]; )\n if (c = w[r++].exec(t), c)\n for (o = 0; o < y.length; o++)\n p = c[++i], s = y[o], typeof s === yt && s.length > 0 ? s.length === 2 ? typeof s[1] == ar ? this[s[0]] = s[1].call(this, p) : this[s[0]] = s[1] : s.length >= 3 && (typeof s[1] === ar && !(s[1].exec && s[1].test) ? s.length > 3 ? this[s[0]] = p ? s[1].apply(this, s.slice(2)) : void 0 : this[s[0]] = p ? s[1].call(this, p, s[2]) : void 0 : s.length == 3 ? this[s[0]] = p ? p.replace(s[1], s[2]) : void 0 : s.length == 4 ? this[s[0]] = p ? s[3].call(this, p.replace(s[1], s[2])) : void 0 : s.length > 4 && (this[s[0]] = p ? s[3].apply(this, [p.replace(s[1], s[2])].concat(s.slice(4))) : void 0)) : this[s] = p || void 0;\n n += 2;\n }\n}, ze = function(t, e) {\n for (var n in e)\n if (typeof e[n] === yt && e[n].length > 0) {\n for (var r = 0; r < e[n].length; r++)\n if (Gr(e[n][r], t))\n return n === Yn ? void 0 : n;\n } else if (Gr(e[n], t))\n return n === Yn ? void 0 : n;\n return e.hasOwnProperty(\"*\") ? e[\"*\"] : t;\n}, ni = {\n ME: \"4.90\",\n \"NT 3.51\": \"3.51\",\n \"NT 4.0\": \"4.0\",\n 2e3: [\"5.0\", \"5.01\"],\n XP: [\"5.1\", \"5.2\"],\n Vista: \"6.0\",\n 7: \"6.1\",\n 8: \"6.2\",\n \"8.1\": \"6.3\",\n 10: [\"6.4\", \"10.0\"],\n NT: \"\"\n}, ii = {\n embedded: \"Automotive\",\n mobile: \"Mobile\",\n tablet: [\"Tablet\", \"EInk\"],\n smarttv: \"TV\",\n wearable: \"Watch\",\n xr: [\"VR\", \"XR\"],\n \"?\": [\"Desktop\", \"Unknown\"],\n \"*\": void 0\n}, La = {\n Chrome: \"Google Chrome\",\n Edge: \"Microsoft Edge\",\n \"Edge WebView2\": \"Microsoft Edge WebView2\",\n \"Chrome WebView\": \"Android WebView\",\n \"Chrome Headless\": \"HeadlessChrome\",\n \"Huawei Browser\": \"HuaweiBrowser\",\n \"MIUI Browser\": \"Miui Browser\",\n \"Opera Mobi\": \"OperaMobile\",\n Yandex: \"YaBrowser\"\n}, oi = {\n browser: [\n [\n // Most common regardless engine\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i\n // Chrome for Android/iOS\n ],\n [Y, [H, ht + \"Chrome\"]],\n [\n /webview.+edge\\/([\\w\\.]+)/i\n // Microsoft Edge\n ],\n [Y, [H, nr + \" WebView\"]],\n [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i\n ],\n [Y, [H, \"Edge\"]],\n [\n // Presto based\n /(opera mini)\\/([-\\w\\.]+)/i,\n // Opera Mini\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i,\n // Opera Mobi/Tablet\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i\n // Opera\n ],\n [H, Y],\n [\n /opios[\\/ ]+([\\w\\.]+)/i\n // Opera mini on iphone >= 8.0\n ],\n [Y, [H, Nt + \" Mini\"]],\n [\n /\\bop(?:rg)?x\\/([\\w\\.]+)/i\n // Opera GX\n ],\n [Y, [H, Nt + \" GX\"]],\n [\n /\\bopr\\/([\\w\\.]+)/i\n // Opera Webkit\n ],\n [Y, [H, Nt]],\n [\n // Mixed\n /\\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\\/ ]?([\\w\\.]+)/i\n // Baidu\n ],\n [Y, [H, \"Baidu\"]],\n [\n /\\b(?:mxbrowser|mxios|myie2)\\/?([-\\w\\.]*)\\b/i\n // Maxthon\n ],\n [Y, [H, \"Maxthon\"]],\n [\n /(kindle)\\/([\\w\\.]+)/i,\n // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\\/ ]?([\\w\\.]*)/i,\n // Lunascape/Maxthon/Netfront/Jasmine/Blazer/Sleipnir\n // Trident based\n /(avant|iemobile|slim(?:browser|boat|jet))[\\/ ]?([\\d\\.]*)/i,\n // Avant/IEMobile/SlimBrowser/SlimBoat/Slimjet\n /(?:ms|\\()(ie) ([\\w\\.]+)/i,\n // Internet Explorer\n // Blink/Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon/LG Browser/Otter/qutebrowser/Dooble\n /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:lg |qute)browser)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio/Dragon\n /(heytap|ovi|115|surf)browser\\/([\\d\\.]+)/i,\n // HeyTap/Ovi/115/Surf\n /(ecosia|weibo)(?:__| \\w+@)([\\d\\.]+)/i\n // Ecosia/Weibo\n ],\n [H, Y],\n [\n /quark(?:pc)?\\/([-\\w\\.]+)/i\n // Quark\n ],\n [Y, [H, \"Quark\"]],\n [\n /\\bddg\\/([\\w\\.]+)/i\n // DuckDuckGo\n ],\n [Y, [H, \"DuckDuckGo\"]],\n [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i\n // UCBrowser\n ],\n [Y, [H, \"UCBrowser\"]],\n [\n /microm.+\\bqbcore\\/([\\w\\.]+)/i,\n // WeChat Desktop for Windows Built-in Browser\n /\\bqbcore\\/([\\w\\.]+).+microm/i,\n /micromessenger\\/([\\w\\.]+)/i\n // WeChat\n ],\n [Y, [H, \"WeChat\"]],\n [\n /konqueror\\/([\\w\\.]+)/i\n // Konqueror\n ],\n [Y, [H, \"Konqueror\"]],\n [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i\n // IE11\n ],\n [Y, [H, \"IE\"]],\n [\n /ya(?:search)?browser\\/([\\w\\.]+)/i\n // Yandex\n ],\n [Y, [H, \"Yandex\"]],\n [\n /slbrowser\\/([\\w\\.]+)/i\n // Smart Lenovo Browser\n ],\n [Y, [H, \"Smart \" + Ur + jt]],\n [\n /(avast|avg)\\/([\\w\\.]+)/i\n // Avast/AVG Secure Browser\n ],\n [[H, /(.+)/, \"$1 Secure\" + jt], Y],\n [\n /\\bfocus\\/([\\w\\.]+)/i\n // Firefox Focus\n ],\n [Y, [H, Bt + \" Focus\"]],\n [\n /\\bopt\\/([\\w\\.]+)/i\n // Opera Touch\n ],\n [Y, [H, Nt + \" Touch\"]],\n [\n /coc_coc\\w+\\/([\\w\\.]+)/i\n // Coc Coc Browser\n ],\n [Y, [H, \"Coc Coc\"]],\n [\n /dolfin\\/([\\w\\.]+)/i\n // Dolphin\n ],\n [Y, [H, \"Dolphin\"]],\n [\n /coast\\/([\\w\\.]+)/i\n // Opera Coast\n ],\n [Y, [H, Nt + \" Coast\"]],\n [\n /miuibrowser\\/([\\w\\.]+)/i\n // MIUI Browser\n ],\n [Y, [H, \"MIUI\" + jt]],\n [\n /fxios\\/([\\w\\.-]+)/i\n // Firefox for iOS\n ],\n [Y, [H, ht + Bt]],\n [\n /\\bqihoobrowser\\/?([\\w\\.]*)/i\n // 360\n ],\n [Y, [H, \"360\"]],\n [\n /\\b(qq)\\/([\\w\\.]+)/i\n // QQ\n ],\n [[H, /(.+)/, \"$1Browser\"], Y],\n [\n /(oculus|sailfish|huawei|vivo|pico)browser\\/([\\w\\.]+)/i\n ],\n [[H, /(.+)/, \"$1\" + jt], Y],\n [\n // Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser\n /samsungbrowser\\/([\\w\\.]+)/i\n // Samsung Internet\n ],\n [Y, [H, Ot + \" Internet\"]],\n [\n /metasr[\\/ ]?([\\d\\.]+)/i\n // Sogou Explorer\n ],\n [Y, [H, ri + \" Explorer\"]],\n [\n /(sogou)mo\\w+\\/([\\d\\.]+)/i\n // Sogou Mobile\n ],\n [[H, ri + \" Mobile\"], Y],\n [\n /(electron)\\/([\\w\\.]+) safari/i,\n // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i,\n // Tesla\n /m?(qqbrowser|2345(?=browser|chrome|explorer))\\w*[\\/ ]?v?([\\w\\.]+)/i\n // QQ/2345\n ],\n [H, Y],\n [\n /(lbbrowser|rekonq)/i\n // LieBao Browser/Rekonq\n ],\n [H],\n [\n /ome\\/([\\w\\.]+) \\w* ?(iron) saf/i,\n // Iron\n /ome\\/([\\w\\.]+).+qihu (360)[es]e/i\n // 360\n ],\n [Y, H],\n [\n // WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i\n // Facebook App for iOS & Android\n ],\n [[H, kr], Y, [N, kt]],\n [\n /(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i,\n // Kakao App\n /(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i,\n // Naver InApp\n /(daum)apps[\\/ ]([\\w\\.]+)/i,\n // Daum App\n /safari (line)\\/([\\w\\.]+)/i,\n // Line App for iOS\n /\\b(line)\\/([\\w\\.]+)\\/iab/i,\n // Line App for Android\n /(alipay)client\\/([\\w\\.]+)/i,\n // Alipay\n /(twitter)(?:and| f.+e\\/([\\w\\.]+))/i,\n // Twitter\n /(instagram|snapchat|klarna)[\\/ ]([-\\w\\.]+)/i\n // Instagram/Snapchat/Klarna\n ],\n [H, Y, [N, kt]],\n [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i\n // Google Search Appliance on iOS\n ],\n [Y, [H, \"GSA\"], [N, kt]],\n [\n /musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i\n // TikTok\n ],\n [Y, [H, \"TikTok\"], [N, kt]],\n [\n /\\[(linkedin)app\\]/i\n // LinkedIn App for iOS & Android\n ],\n [H, [N, kt]],\n [\n /(chromium)[\\/ ]([-\\w\\.]+)/i\n // Chromium\n ],\n [H, Y],\n [\n /headlesschrome(?:\\/([\\w\\.]+)| )/i\n // Chrome Headless\n ],\n [Y, [H, ei + \" Headless\"]],\n [\n /wv\\).+chrome\\/([\\w\\.]+).+edgw\\//i\n // Edge WebView2\n ],\n [Y, [H, nr + \" WebView2\"]],\n [\n / wv\\).+(chrome)\\/([\\w\\.]+)/i\n // Chrome WebView\n ],\n [[H, ei + \" WebView\"], Y],\n [\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i\n // Android Browser\n ],\n [Y, [H, \"Android\" + jt]],\n [\n /chrome\\/([\\w\\.]+) mobile/i\n // Chrome Mobile\n ],\n [Y, [H, ht + \"Chrome\"]],\n [\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i\n // Chrome/OmniWeb/Arora/Tizen/Nokia\n ],\n [H, Y],\n [\n /version\\/([\\w\\.\\,]+) .*mobile(?:\\/\\w+ | ?)safari/i\n // Safari Mobile\n ],\n [Y, [H, ht + \"Safari\"]],\n [\n /iphone .*mobile(?:\\/\\w+ | ?)safari/i\n ],\n [[H, ht + \"Safari\"]],\n [\n /version\\/([\\w\\.\\,]+) .*(safari)/i\n // Safari\n ],\n [Y, H],\n [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i\n // Safari < 3.0\n ],\n [H, [Y, \"1\"]],\n [\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ],\n [H, Y],\n [\n // Gecko based\n /(?:mobile|tablet);.*(firefox)\\/([\\w\\.-]+)/i\n // Firefox Mobile\n ],\n [[H, ht + Bt], Y],\n [\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i\n // Netscape\n ],\n [[H, \"Netscape\"], Y],\n [\n /(wolvic|librewolf)\\/([\\w\\.]+)/i\n // Wolvic/LibreWolf\n ],\n [H, Y],\n [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i\n // Firefox Reality\n ],\n [Y, [H, Bt + \" Reality\"]],\n [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i,\n // Flow\n /(swiftfox)/i,\n // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\\/ ]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(firefox)\\/([\\w\\.]+)/i,\n // Other Firefox-based\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i,\n // Mozilla\n // Other\n /(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Obigo/Mosaic/Go/ICE/UP.Browser/Ladybird\n /\\b(links) \\(([\\w\\.]+)/i\n // Links\n ],\n [H, [Y, /_/g, \".\"]],\n [\n /(cobalt)\\/([\\w\\.]+)/i\n // Cobalt\n ],\n [H, [Y, /[^\\d\\.]+./, vt]]\n ],\n cpu: [\n [\n /\\b((amd|x|x86[-_]?|wow|win)64)\\b/i\n // AMD64 (x64)\n ],\n [[Re, \"amd64\"]],\n [\n /(ia32(?=;))/i,\n // IA32 (quicktime)\n /\\b((i[346]|x)86)(pc)?\\b/i\n // IA32 (x86)\n ],\n [[Re, \"ia32\"]],\n [\n /\\b(aarch64|arm(v?[89]e?l?|_?64))\\b/i\n // ARM64\n ],\n [[Re, \"arm64\"]],\n [\n /\\b(arm(v[67])?ht?n?[fl]p?)\\b/i\n // ARMHF\n ],\n [[Re, \"armhf\"]],\n [\n // PocketPC mistakenly identified as PowerPC\n /( (ce|mobile); ppc;|\\/[\\w\\.]+arm\\b)/i\n ],\n [[Re, \"arm\"]],\n [\n /((ppc|powerpc)(64)?)( mac|;|\\))/i\n // PowerPC\n ],\n [[Re, /ower/, vt, Ke]],\n [\n / sun4\\w[;\\)]/i\n // SPARC\n ],\n [[Re, \"sparc\"]],\n [\n /\\b(avr32|ia64(?=;)|68k(?=\\))|\\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\\b|pa-risc)/i\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ],\n [[Re, Ke]]\n ],\n device: [\n [\n //////////////////////////\n // MOBILES & TABLETS\n /////////////////////////\n // Samsung\n /\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n ],\n [q, [V, Ot], [N, ye]],\n [\n /\\b((?:s[cgp]h|gt|sm)-(?![lr])\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i,\n /samsung[- ]((?!sm-[lr]|browser)[-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ],\n [q, [V, Ot], [N, fe]],\n [\n // Apple\n /(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i\n // iPod/iPhone\n ],\n [q, [V, ft], [N, fe]],\n [\n /\\((ipad);[-\\w\\),; ]+apple/i,\n // iPad\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ],\n [q, [V, ft], [N, ye]],\n [\n /(macintosh);/i\n ],\n [q, [V, ft]],\n [\n // Sharp\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ],\n [q, [V, Qn], [N, fe]],\n [\n // Honor\n /\\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\\)|;)/i\n ],\n [q, [V, Zn], [N, ye]],\n [\n /honor([-\\w ]+)[;\\)]/i\n ],\n [q, [V, Zn], [N, fe]],\n [\n // Huawei\n /\\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\\w\\. ]*(?= bui|\\)))\\b(?!.+d\\/s)/i\n ],\n [q, [V, Jn], [N, ye]],\n [\n /(?:huawei)([-\\w ]+)[;\\)]/i,\n /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i\n ],\n [q, [V, Jn], [N, fe]],\n [\n // Xiaomi\n /oid[^\\)]+; (2[\\dbc]{4}(182|283|rp\\w{2})[cgl]|m2105k81a?c)(?: bui|\\))/i,\n /\\b((?:red)?mi[-_ ]?pad[\\w- ]*)(?: bui|\\))/i\n // Mi Pad tablets\n ],\n [[q, /_/g, \" \"], [V, Ir], [N, ye]],\n [\n /\\b(poco[\\w ]+|m2\\d{3}j\\d\\d[a-z]{2})(?: bui|\\))/i,\n // Xiaomi POCO\n /\\b; (\\w+) build\\/hm\\1/i,\n // Xiaomi Hongmi 'numeric' models\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i,\n // Xiaomi Hongmi\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i,\n // Xiaomi Redmi\n /oid[^\\)]+; (m?[12][0-389][01]\\w{3,6}[c-y])( bui|; wv|\\))/i,\n // Xiaomi Redmi 'numeric' models\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\\))/i,\n // Xiaomi Mi\n / ([\\w ]+) miui\\/v?\\d/i\n ],\n [[q, /_/g, \" \"], [V, Ir], [N, fe]],\n [\n // OnePlus\n /droid.+; (cph2[3-6]\\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\\d|p[g-k]\\w[1m]10)\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ],\n [q, [V, Xn], [N, fe]],\n [\n // OPPO\n /; (\\w+) bui.+ oppo/i,\n /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i\n ],\n [q, [V, Pr], [N, fe]],\n [\n /\\b(opd2(\\d{3}a?))(?: bui|\\))/i\n ],\n [q, [V, ze, { OnePlus: [\"203\", \"304\", \"403\", \"404\", \"413\", \"415\"], \"*\": Pr }], [N, ye]],\n [\n // BLU\n /(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\\w\\+ ]*)(?: bui|\\))/i\n // Vivo series\n ],\n [q, [V, \"BLU\"], [N, fe]],\n [\n // Vivo\n /; vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ],\n [q, [V, \"Vivo\"], [N, fe]],\n [\n // Realme\n /\\b(rmx[1-3]\\d{3})(?: bui|;|\\))/i\n ],\n [q, [V, \"Realme\"], [N, fe]],\n [\n // Lenovo\n /(ideatab[-\\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\\d{3,4}(?:f[cu]|xu|[av])|yt\\d?-[jx]?\\d+[lfmx])( bui|;|\\)|\\/)/i,\n /lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\\w- ]+?)|tb[\\w-]{6,7})( bui|;|\\)|\\/)/i\n ],\n [q, [V, Ur], [N, ye]],\n [\n /lenovo[-_ ]?([-\\w ]+?)(?: bui|\\)|\\/)/i\n ],\n [q, [V, Ur], [N, fe]],\n [\n // Motorola\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ]([\\w\\s]+)(\\)| bui)/i,\n /((?:moto(?! 360)[-\\w\\(\\) ]+|xt\\d{3,4}[cgkosw\\+]?[-\\d]*|nexus 6)(?= bui|\\)))/i\n ],\n [q, [V, Rr], [N, fe]],\n [\n /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n ],\n [q, [V, Rr], [N, ye]],\n [\n // LG\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ],\n [q, [V, tr], [N, ye]],\n [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i\n ],\n [q, [V, tr], [N, fe]],\n [\n // Nokia\n /(nokia) (t[12][01])/i\n ],\n [V, q, [N, ye]],\n [\n /(?:maemo|nokia).*(n900|lumia \\d+|rm-\\d+)/i,\n /nokia[-_ ]?(([-\\w\\. ]*))/i\n ],\n [[q, /_/g, \" \"], [N, fe], [V, \"Nokia\"]],\n [\n // Google\n /(pixel (c|tablet))\\b/i\n // Google Pixel C/Tablet\n ],\n [q, [V, it], [N, ye]],\n [\n // Google Pixel\n /droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\\d ]*a?( pro)?( xl)?( fold)?( \\(5g\\))?)( bui|\\))/i\n ],\n [q, [V, it], [N, fe]],\n [\n /(google) (pixelbook( go)?)/i\n ],\n [V, q],\n [\n // Sony\n /droid.+; (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-\\w\\w\\d\\d)(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ],\n [q, [V, Mt], [N, fe]],\n [\n /sony tablet [ps]/i,\n /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n ],\n [[q, \"Xperia Tablet\"], [V, Mt], [N, ye]],\n [\n // Amazon\n /(alexa)webm/i,\n /(kf[a-z]{2}wi|aeo(?!bc)\\w\\w)( bui|\\))/i,\n // Kindle Fire without Silk / Echo Show\n /(kf[a-z]+)( bui|\\)).+silk\\//i\n // Kindle Fire HD\n ],\n [q, [V, er], [N, ye]],\n [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i\n // Fire Phone\n ],\n [[q, /(.+)/g, \"Fire Phone $1\"], [V, er], [N, fe]],\n [\n // BlackBerry\n /(playbook);[-\\w\\),; ]+(rim)/i\n // BlackBerry PlayBook\n ],\n [q, V, [N, ye]],\n [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i\n // BlackBerry 10\n ],\n [q, [V, Gn], [N, fe]],\n [\n // Asus\n /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n ],\n [q, [V, Wn], [N, ye]],\n [\n / (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i\n ],\n [q, [V, Wn], [N, fe]],\n [\n // HTC\n /(nexus 9)/i\n // HTC Nexus 9\n ],\n [q, [V, \"HTC\"], [N, ye]],\n [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i,\n // HTC\n // ZTE\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i\n // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ],\n [V, [q, /_/g, \" \"], [N, fe]],\n [\n // TCL\n /tcl (xess p17aa)/i,\n /droid [\\w\\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\\w(\\w|\\w\\w))?(\\)| bui)/i\n ],\n [q, [V, \"TCL\"], [N, ye]],\n [\n /droid [\\w\\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\\w(\\w|\\w\\w))?(\\)| bui)/i\n ],\n [q, [V, \"TCL\"], [N, fe]],\n [\n // itel\n /(itel) ((\\w+))/i\n ],\n [[V, Ke], q, [N, ze, { tablet: [\"p10001l\", \"w7001\"], \"*\": \"mobile\" }]],\n [\n // Acer\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ],\n [q, [V, \"Acer\"], [N, ye]],\n [\n // Meizu\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ],\n [q, [V, \"Meizu\"], [N, fe]],\n [\n // Ulefone\n /; ((?:power )?armor(?:[\\w ]{0,8}))(?: bui|\\))/i\n ],\n [q, [V, \"Ulefone\"], [N, fe]],\n [\n // Energizer\n /; (energy ?\\w+)(?: bui|\\))/i,\n /; energizer ([\\w ]+)(?: bui|\\))/i\n ],\n [q, [V, \"Energizer\"], [N, fe]],\n [\n // Cat\n /; cat (b35);/i,\n /; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\\))/i\n ],\n [q, [V, \"Cat\"], [N, fe]],\n [\n // Smartfren\n /((?:new )?andromax[\\w- ]+)(?: bui|\\))/i\n ],\n [q, [V, \"Smartfren\"], [N, fe]],\n [\n // Nothing\n /droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i\n ],\n [q, [V, \"Nothing\"], [N, fe]],\n [\n // Archos\n /; (x67 5g|tikeasy \\w+|ac[1789]\\d\\w+)( b|\\))/i,\n /archos ?(5|gamepad2?|([\\w ]*[t1789]|hello) ?\\d+[\\w ]*)( b|\\))/i\n ],\n [q, [V, \"Archos\"], [N, ye]],\n [\n /archos ([\\w ]+)( b|\\))/i,\n /; (ac[3-6]\\d\\w{2,8})( b|\\))/i\n ],\n [q, [V, \"Archos\"], [N, fe]],\n [\n // HMD\n /; (n159v)/i\n ],\n [q, [V, \"HMD\"], [N, fe]],\n [\n // MIXED\n /(imo) (tab \\w+)/i,\n // IMO\n /(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i\n // Infinix XPad / Tecno\n ],\n [V, q, [N, ye]],\n [\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron/Tecno/Micromax/Advan\n /; (blu|hmd|imo|infinix|lava|oneplus|tcl)[_ ]([\\w\\+ ]+?)(?: bui|\\)|; r)/i,\n // BLU/HMD/IMO/Infinix/Lava/OnePlus/TCL\n /(hp) ([\\w ]+\\w)/i,\n // HP iPAQ\n /(microsoft); (lumia[\\w ]+)/i,\n // Microsoft Lumia\n /(oppo) ?([\\w ]+) bui/i\n // OPPO\n ],\n [V, q, [N, fe]],\n [\n /(kobo)\\s(ereader|touch)/i,\n // Kobo\n /(hp).+(touchpad(?!.+tablet)|tablet)/i,\n // HP TouchPad\n /(kindle)\\/([\\w\\.]+)/i\n // Kindle\n ],\n [V, q, [N, ye]],\n [\n /(surface duo)/i\n // Surface Duo\n ],\n [q, [V, Tr], [N, ye]],\n [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i\n // Fairphone\n ],\n [q, [V, \"Fairphone\"], [N, fe]],\n [\n /((?:tegranote|shield t(?!.+d tv))[\\w- ]*?)(?: b|\\))/i\n // Nvidia Tablets\n ],\n [q, [V, Dr], [N, ye]],\n [\n /(sprint) (\\w+)/i\n // Sprint Phones\n ],\n [V, q, [N, fe]],\n [\n /(kin\\.[onetw]{3})/i\n // Microsoft Kin\n ],\n [[q, /\\./g, \" \"], [V, Tr], [N, fe]],\n [\n /droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i\n // Zebra\n ],\n [q, [V, Fr], [N, ye]],\n [\n /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n ],\n [q, [V, Fr], [N, fe]],\n [\n ///////////////////\n // SMARTTVS\n ///////////////////\n /smart-tv.+(samsung)/i\n // Samsung\n ],\n [V, [N, Ce]],\n [\n /hbbtv.+maple;(\\d+)/i\n ],\n [[q, /^/, \"SmartTV\"], [V, Ot], [N, Ce]],\n [\n /(vizio)(?: |.+model\\/)(\\w+-\\w+)/i,\n // Vizio\n /tcast.+(lg)e?. ([-\\w]+)/i\n // LG SmartTV\n ],\n [V, q, [N, Ce]],\n [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i\n ],\n [[V, tr], [N, Ce]],\n [\n /(apple) ?tv/i\n // Apple TV\n ],\n [V, [q, ft + \" TV\"], [N, Ce]],\n [\n /crkey.*devicetype\\/chromecast/i\n // Google Chromecast Third Generation\n ],\n [[q, Ge + \" Third Generation\"], [V, it], [N, Ce]],\n [\n /crkey.*devicetype\\/([^/]*)/i\n // Google Chromecast with specific device type\n ],\n [[q, /^/, \"Chromecast \"], [V, it], [N, Ce]],\n [\n /fuchsia.*crkey/i\n // Google Chromecast Nest Hub\n ],\n [[q, Ge + \" Nest Hub\"], [V, it], [N, Ce]],\n [\n /crkey/i\n // Google Chromecast, Linux-based or unknown\n ],\n [[q, Ge], [V, it], [N, Ce]],\n [\n /(portaltv)/i\n // Facebook Portal TV\n ],\n [q, [V, kr], [N, Ce]],\n [\n /droid.+aft(\\w+)( bui|\\))/i\n // Fire TV\n ],\n [q, [V, er], [N, Ce]],\n [\n /(shield \\w+ tv)/i\n // Nvidia Shield TV\n ],\n [q, [V, Dr], [N, Ce]],\n [\n /\\(dtv[\\);].+(aquos)/i,\n /(aquos-tv[\\w ]+)\\)/i\n // Sharp\n ],\n [q, [V, Qn], [N, Ce]],\n [\n /(bravia[\\w ]+)( bui|\\))/i\n // Sony\n ],\n [q, [V, Mt], [N, Ce]],\n [\n /(mi(tv|box)-?\\w+) bui/i\n // Xiaomi\n ],\n [q, [V, Ir], [N, Ce]],\n [\n /Hbbtv.*(technisat) (.*);/i\n // TechniSAT\n ],\n [V, q, [N, Ce]],\n [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i,\n // Roku\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i\n // HbbTV devices\n ],\n [[V, /.+\\/(\\w+)/, \"$1\", ze, { LG: \"lge\" }], [q, cr], [N, Ce]],\n [\n // SmartTV from Unidentified Vendors\n /droid.+; ([\\w- ]+) (?:android tv|smart[- ]?tv)/i\n ],\n [q, [N, Ce]],\n [\n /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:|large screen[\\w ]+safari)\\b/i\n ],\n [[N, Ce]],\n [\n ///////////////////\n // CONSOLES\n ///////////////////\n /(playstation \\w+)/i\n // Playstation\n ],\n [q, [V, Mt], [N, Lt]],\n [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i\n // Microsoft Xbox\n ],\n [q, [V, Tr], [N, Lt]],\n [\n /(ouya)/i,\n // Ouya\n /(nintendo) (\\w+)/i,\n // Nintendo\n /(retroid) (pocket ([^\\)]+))/i\n // Retroid Pocket\n ],\n [V, q, [N, Lt]],\n [\n /droid.+; (shield)( bui|\\))/i\n // Nvidia Portable\n ],\n [q, [V, Dr], [N, Lt]],\n [\n ///////////////////\n // WEARABLES\n ///////////////////\n /\\b(sm-[lr]\\d\\d[0156][fnuw]?s?|gear live)\\b/i\n // Samsung Galaxy Watch\n ],\n [q, [V, Ot], [N, $e]],\n [\n /((pebble))app/i,\n // Pebble\n /(asus|google|lg|oppo) ((pixel |zen)?watch[\\w ]*)( bui|\\))/i\n // Asus ZenWatch / LG Watch / Pixel Watch\n ],\n [V, q, [N, $e]],\n [\n /(ow(?:19|20)?we?[1-3]{1,3})/i\n // Oppo Watch\n ],\n [q, [V, Pr], [N, $e]],\n [\n /(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i\n // Apple Watch\n ],\n [q, [V, ft], [N, $e]],\n [\n /(opwwe\\d{3})/i\n // OnePlus Watch\n ],\n [q, [V, Xn], [N, $e]],\n [\n /(moto 360)/i\n // Motorola 360\n ],\n [q, [V, Rr], [N, $e]],\n [\n /(smartwatch 3)/i\n // Sony SmartWatch\n ],\n [q, [V, Mt], [N, $e]],\n [\n /(g watch r)/i\n // LG G Watch R\n ],\n [q, [V, tr], [N, $e]],\n [\n /droid.+; (wt63?0{2,3})\\)/i\n ],\n [q, [V, Fr], [N, $e]],\n [\n ///////////////////\n // XR\n ///////////////////\n /droid.+; (glass) \\d/i\n // Google Glass\n ],\n [q, [V, it], [N, Qt]],\n [\n /(pico) (4|neo3(?: link|pro)?)/i\n // Pico\n ],\n [V, q, [N, Qt]],\n [\n /(quest( \\d| pro)?s?).+vr/i\n // Meta Quest\n ],\n [q, [V, kr], [N, Qt]],\n [\n /mobile vr; rv.+firefox/i\n // Unidentifiable VR device using Firefox Reality / Wolvic\n ],\n [[N, Qt]],\n [\n ///////////////////\n // EMBEDDED\n ///////////////////\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i\n // Tesla\n ],\n [V, [N, $t]],\n [\n /(aeobc)\\b/i\n // Echo Dot\n ],\n [q, [V, er], [N, $t]],\n [\n /(homepod).+mac os/i\n // Apple HomePod\n ],\n [q, [V, ft], [N, $t]],\n [\n /windows iot/i\n // Unidentifiable embedded device using Windows IoT\n ],\n [[N, $t]],\n [\n ////////////////////\n // MIXED (GENERIC)\n ///////////////////\n /droid .+?; ([^;]+?)(?: bui|; wv\\)|\\) applew).+?(mobile|vr|\\d) safari/i\n ],\n [q, [N, ze, { mobile: \"Mobile\", xr: \"VR\", \"*\": ye }]],\n [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i\n // Unidentifiable Tablet\n ],\n [[N, ye]],\n [\n /(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i\n // Unidentifiable Mobile\n ],\n [[N, fe]],\n [\n /droid .+?; ([\\w\\. -]+)( bui|\\))/i\n // Generic Android Device\n ],\n [q, [V, \"Generic\"]]\n ],\n engine: [\n [\n /windows.+ edge\\/([\\w\\.]+)/i\n // EdgeHTML\n ],\n [Y, [H, nr + \"HTML\"]],\n [\n /(arkweb)\\/([\\w\\.]+)/i\n // ArkWeb\n ],\n [H, Y],\n [\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i\n // Blink\n ],\n [Y, [H, \"Blink\"]],\n [\n /(presto)\\/([\\w\\.]+)/i,\n // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\\/([\\w\\.]+)/i,\n // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna/Servo\n /ekioh(flow)\\/([\\w\\.]+)/i,\n // Flow\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i,\n // KHTML/Tasman/Links\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i,\n // iCab\n /\\b(libweb)/i\n // LibWeb\n ],\n [H, Y],\n [\n /ladybird\\//i\n ],\n [[H, \"LibWeb\"]],\n [\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i\n // Gecko\n ],\n [Y, H]\n ],\n os: [\n [\n // Windows\n /(windows nt) (6\\.[23]); arm/i\n // Windows RT\n ],\n [[H, /N/, \"R\"], [Y, ze, ni]],\n [\n /(windows (?:phone|mobile|iot))(?: os)?[\\/ ]?([\\d\\.]*( se)?)/i,\n // Windows IoT/Mobile/Phone\n // Windows NT/3.1/95/98/ME/2000/XP/Vista/7/8/8.1/10/11\n /(windows)[\\/ ](1[01]|2000|3\\.1|7|8(\\.1)?|9[58]|me|server 20\\d\\d( r2)?|vista|xp)/i\n ],\n [H, Y],\n [\n /windows nt ?([\\d\\.\\)]*)(?!.+xbox)/i,\n /\\bwin(?=3| ?9|n)(?:nt| 9x )?([\\d\\.;]*)/i\n ],\n [[Y, /(;|\\))/g, \"\", ze, ni], [H, Wr]],\n [\n /(windows ce)\\/?([\\d\\.]*)/i\n // Windows CE\n ],\n [H, Y],\n [\n // iOS/macOS\n /[adehimnop]{4,7}\\b(?:.*os ([\\w]+) like mac|; opera)/i,\n // iOS\n /(?:ios;fbsv\\/|iphone.+ios[\\/ ])([\\d\\.]+)/i,\n /cfnetwork\\/.+darwin/i\n ],\n [[Y, /_/g, \".\"], [H, \"iOS\"]],\n [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+(haiku|morphos))/i\n // Mac OS\n ],\n [[H, \"macOS\"], [Y, /_/g, \".\"]],\n [\n // Google Chromecast\n /android ([\\d\\.]+).*crkey/i\n // Google Chromecast, Android-based\n ],\n [Y, [H, Ge + \" Android\"]],\n [\n /fuchsia.*crkey\\/([\\d\\.]+)/i\n // Google Chromecast, Fuchsia-based\n ],\n [Y, [H, Ge + \" Fuchsia\"]],\n [\n /crkey\\/([\\d\\.]+).*devicetype\\/smartspeaker/i\n // Google Chromecast, Linux-based Smart Speaker\n ],\n [Y, [H, Ge + \" SmartSpeaker\"]],\n [\n /linux.*crkey\\/([\\d\\.]+)/i\n // Google Chromecast, Legacy Linux-based\n ],\n [Y, [H, Ge + \" Linux\"]],\n [\n /crkey\\/([\\d\\.]+)/i\n // Google Chromecast, unknown\n ],\n [Y, [H, Ge]],\n [\n // Mobile OSes\n /droid ([\\w\\.]+)\\b.+(android[- ]x86)/i\n // Android-x86\n ],\n [Y, H],\n [\n /(ubuntu) ([\\w\\.]+) like android/i\n // Ubuntu Touch\n ],\n [[H, /(.+)/, \"$1 Touch\"], Y],\n [\n /(harmonyos)[\\/ ]?([\\d\\.]*)/i,\n // HarmonyOS\n // Android/Blackberry/WebOS/QNX/Bada/RIM/KaiOS/Maemo/MeeGo/S40/Sailfish OS/OpenHarmony/Tizen\n /(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\\w*[-\\/\\.; ]?([\\d\\.]*)/i\n ],\n [H, Y],\n [\n /\\(bb(10);/i\n // BlackBerry 10\n ],\n [Y, [H, Gn]],\n [\n /(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\\/ ]?([\\w\\.]*)/i\n // Symbian\n ],\n [Y, [H, \"Symbian\"]],\n [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i\n // Firefox OS\n ],\n [Y, [H, Bt + \" OS\"]],\n [\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i,\n // WebOS\n /webos(?:[ \\/]?|\\.tv-20(?=2[2-9]))(\\d[\\d\\.]*)/i\n ],\n [Y, [H, \"webOS\"]],\n [\n /web0s;.+?(?:chr[o0]me|safari)\\/(\\d+)/i\n // https://webostv.developer.lge.com/develop/specifications/web-api-and-web-engine\n ],\n [[Y, ze, { 25: \"120\", 24: \"108\", 23: \"94\", 22: \"87\", 6: \"79\", 5: \"68\", 4: \"53\", 3: \"38\", 2: \"538\", 1: \"537\", \"*\": \"TV\" }], [H, \"webOS\"]],\n [\n /watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i\n // watchOS\n ],\n [Y, [H, \"watchOS\"]],\n [\n // Google ChromeOS\n /(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i\n // Chromium OS\n ],\n [[H, \"Chrome OS\"], Y],\n [\n // Smart TVs\n /panasonic;(viera)/i,\n // Panasonic Viera\n /(netrange)mmh/i,\n // Netrange\n /(nettv)\\/(\\d+\\.[\\w\\.]+)/i,\n // NetTV\n // Console\n /(nintendo|playstation) (\\w+)/i,\n // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i,\n // Microsoft Xbox (360, One, X, S, Series X, Series S)\n /(pico) .+os([\\w\\.]+)/i,\n // Pico\n // Other\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i,\n // Joli/Palm\n /linux.+(mint)[\\/\\(\\) ]?([\\w\\.]*)/i,\n // Mint\n /(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\\d\\.]*)/i,\n // Mageia/VectorLinux/Fuchsia/ArcaOS/Arch\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n // Ubuntu/Debian/SUSE/Gentoo/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire/Knoppix\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i,\n // Solaris\n /\\b(aix)[; ]([1-9\\.]{0,4})/i,\n // AIX\n /(hurd|linux|morphos)(?: (?:arm|x86|ppc)\\w*| ?)([\\w\\.]*)/i,\n // Hurd/Linux/MorphOS\n /(gnu) ?([\\w\\.]*)/i,\n // GNU\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i,\n // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n /(haiku) ?(r\\d)?/i\n // Haiku\n ],\n [H, Y],\n [\n /(sunos) ?([\\d\\.]*)/i\n // Solaris\n ],\n [[H, \"Solaris\"], Y],\n [\n /\\b(beos|os\\/2|amigaos|openvms|hp-ux|serenityos)/i,\n // BeOS/OS2/AmigaOS/OpenVMS/HP-UX/SerenityOS\n /(unix) ?([\\w\\.]*)/i\n // UNIX\n ],\n [H, Y]\n ]\n}, rr = function() {\n var t = { init: {}, isIgnore: {}, isIgnoreRgx: {}, toString: {} };\n return Ye.call(t.init, [\n [Te, [H, Y, Kt, N]],\n [He, [Re]],\n [Ve, [N, q, V]],\n [Be, [H, Y]],\n [Fe, [H, Y]]\n ]), Ye.call(t.isIgnore, [\n [Te, [Y, Kt]],\n [Be, [Y]],\n [Fe, [Y]]\n ]), Ye.call(t.isIgnoreRgx, [\n [Te, / ?browser$/i],\n [Fe, / ?os$/i]\n ]), Ye.call(t.toString, [\n [Te, [H, Y]],\n [He, [Re]],\n [Ve, [V, q]],\n [Be, [H, Y]],\n [Fe, [H, Y]]\n ]), t;\n}(), $a = function(t, e) {\n var n = rr.init[e], r = rr.isIgnore[e] || 0, i = rr.isIgnoreRgx[e] || 0, o = rr.toString[e] || 0;\n function s() {\n Ye.call(this, n);\n }\n return s.prototype.getItem = function() {\n return t;\n }, s.prototype.withClientHints = function() {\n return Je ? Je.getHighEntropyValues(_i).then(function(c) {\n return t.setCH(new Ci(c, !1)).parseCH().get();\n }) : t.parseCH().get();\n }, s.prototype.withFeatureCheck = function() {\n return t.detectFeature().get();\n }, e != gt && (s.prototype.is = function(c) {\n var p = !1;\n for (var w in this)\n if (this.hasOwnProperty(w) && !Gr(r, w) && Ke(i ? bt(i, this[w]) : this[w]) == Ke(i ? bt(i, c) : c)) {\n if (p = !0, c != Qe) break;\n } else if (c == Qe && p) {\n p = !p;\n break;\n }\n return p;\n }, s.prototype.toString = function() {\n var c = vt;\n for (var p in o)\n typeof this[o[p]] !== Qe && (c += (c ? \" \" : vt) + this[o[p]]);\n return c || Qe;\n }), Je || (s.prototype.then = function(c) {\n var p = this, w = function() {\n for (var C in p)\n p.hasOwnProperty(C) && (this[C] = p[C]);\n };\n w.prototype = {\n is: s.prototype.is,\n toString: s.prototype.toString\n };\n var y = new w();\n return c(y), y;\n }), new s();\n};\nfunction Ci(t, e) {\n if (t = t || {}, Ye.call(this, _i), e)\n Ye.call(this, [\n [un, Or(t[rt])],\n [cn, Or(t[Ia])],\n [fe, /\\?1/.test(t[Ma])],\n [q, qt(t[Ba])],\n [pt, qt(t[Si])],\n [ln, qt(t[Na])],\n [Re, qt(t[Fa])],\n [ot, Or(t[Oa])],\n [pr, qt(t[ka])]\n ]);\n else\n for (var n in t)\n this.hasOwnProperty(n) && typeof t[n] !== Qe && (this[n] = t[n]);\n}\nfunction si(t, e, n, r) {\n return this.get = function(i) {\n return i ? this.data.hasOwnProperty(i) ? this.data[i] : void 0 : this.data;\n }, this.set = function(i, o) {\n return this.data[i] = o, this;\n }, this.setCH = function(i) {\n return this.uaCH = i, this;\n }, this.detectFeature = function() {\n if (De && De.userAgent == this.ua)\n switch (this.itemType) {\n case Te:\n De.brave && typeof De.brave.isBrave == ar && this.set(H, \"Brave\");\n break;\n case Ve:\n !this.get(N) && Je && Je[fe] && this.set(N, fe), this.get(q) == \"Macintosh\" && De && typeof De.standalone !== Qe && De.maxTouchPoints && De.maxTouchPoints > 2 && this.set(q, \"iPad\").set(N, ye);\n break;\n case Fe:\n !this.get(H) && Je && Je[pt] && this.set(H, Je[pt]);\n break;\n case gt:\n var i = this.data, o = function(s) {\n return i[s].getItem().detectFeature().get();\n };\n this.set(Te, o(Te)).set(He, o(He)).set(Ve, o(Ve)).set(Be, o(Be)).set(Fe, o(Fe));\n }\n return this;\n }, this.parseUA = function() {\n return this.itemType != gt && Br.call(this.data, this.ua, this.rgxMap), this.itemType == Te && this.set(Kt, Mr(this.get(Y))), this;\n }, this.parseCH = function() {\n var i = this.uaCH, o = this.rgxMap;\n switch (this.itemType) {\n case Te:\n case Be:\n var s = i[cn] || i[un], c;\n if (s)\n for (var p in s) {\n var w = s[p].brand || s[p], y = s[p].version;\n this.itemType == Te && !/not.a.brand/i.test(w) && (!c || /Chrom/.test(c) && w != ti || c == nr && /WebView2/.test(w)) && (w = ze(w, La), c = this.get(H), c && !/Chrom/.test(c) && /Chrom/.test(w) || this.set(H, w).set(Y, y).set(Kt, Mr(y)), c = w), this.itemType == Be && w == ti && this.set(Y, y);\n }\n break;\n case He:\n var C = i[Re];\n C && (C && i[pr] == \"64\" && (C += \"64\"), Br.call(this.data, C + \";\", o));\n break;\n case Ve:\n if (i[fe] && this.set(N, fe), i[q] && (this.set(q, i[q]), !this.get(N) || !this.get(V))) {\n var A = {};\n Br.call(A, \"droid 9; \" + i[q] + \")\", o), !this.get(N) && A.type && this.set(N, A.type), !this.get(V) && A.vendor && this.set(V, A.vendor);\n }\n if (i[ot]) {\n var T;\n if (typeof i[ot] != \"string\")\n for (var R = 0; !T && R < i[ot].length; )\n T = ze(i[ot][R++], ii);\n else\n T = ze(i[ot], ii);\n this.set(N, T);\n }\n break;\n case Fe:\n var U = i[pt];\n if (U) {\n var $ = i[ln];\n U == Wr && ($ = parseInt(Mr($), 10) >= 13 ? \"11\" : \"10\"), this.set(H, U).set(Y, $);\n }\n this.get(H) == Wr && i[q] == \"Xbox\" && this.set(H, \"Xbox\").set(Y, void 0);\n break;\n case gt:\n var B = this.data, K = function(J) {\n return B[J].getItem().setCH(i).parseCH().get();\n };\n this.set(Te, K(Te)).set(He, K(He)).set(Ve, K(Ve)).set(Be, K(Be)).set(Fe, K(Fe));\n }\n return this;\n }, Ye.call(this, [\n [\"itemType\", t],\n [\"ua\", e],\n [\"uaCH\", r],\n [\"rgxMap\", n],\n [\"data\", $a(this, t)]\n ]), this;\n}\nfunction We(t, e, n) {\n if (typeof t === yt ? (ur(t, !0) ? (typeof e === yt && (n = e), e = t) : (n = t, e = void 0), t = void 0) : typeof t === Yr && !ur(e, !0) && (n = e, e = void 0), n && typeof n.append === ar) {\n var r = {};\n n.forEach(function(p, w) {\n r[w] = p;\n }), n = r;\n }\n if (!(this instanceof We))\n return new We(t, e, n).getResult();\n var i = typeof t === Yr ? t : (\n // Passed user-agent string\n n && n[Kn] ? n[Kn] : (\n // User-Agent from passed headers\n De && De.userAgent ? De.userAgent : (\n // navigator.userAgent\n vt\n )\n )\n ), o = new Ci(n, !0), s = e ? qa(oi, e) : oi, c = function(p) {\n return p == gt ? function() {\n return new si(p, i, s, o).set(\"ua\", i).set(Te, this.getBrowser()).set(He, this.getCPU()).set(Ve, this.getDevice()).set(Be, this.getEngine()).set(Fe, this.getOS()).get();\n } : function() {\n return new si(p, i, s[p], o).parseUA().get();\n };\n };\n return Ye.call(this, [\n [\"getBrowser\", c(Te)],\n [\"getCPU\", c(He)],\n [\"getDevice\", c(Ve)],\n [\"getEngine\", c(Be)],\n [\"getOS\", c(Fe)],\n [\"getResult\", c(gt)],\n [\"getUA\", function() {\n return i;\n }],\n [\"setUA\", function(p) {\n return Ct(p) && (i = p.length > Kr ? cr(p, Kr) : p), this;\n }]\n ]).setUA(i), this;\n}\nWe.VERSION = Pa;\nWe.BROWSER = wr([H, Y, Kt, N]);\nWe.CPU = wr([Re]);\nWe.DEVICE = wr([q, V, N, Lt, fe, Ce, ye, $e, $t]);\nWe.ENGINE = We.OS = wr([H, Y]);\nvar ir = { exports: {} }, za = ir.exports, ai;\nfunction Va() {\n return ai || (ai = 1, function(t, e) {\n (function(n, r) {\n t.exports = r();\n })(za, () => (() => {\n var n = { 873: (s, c) => {\n var p, w, y = function() {\n var C = function(k, D) {\n var E = k, f = B[D], l = null, v = 0, g = null, d = [], S = {}, j = function(_, F) {\n l = function(x) {\n for (var I = new Array(x), L = 0; L < x; L += 1) {\n I[L] = new Array(x);\n for (var oe = 0; oe < x; oe += 1) I[L][oe] = null;\n }\n return I;\n }(v = 4 * E + 17), P(0, 0), P(v - 7, 0), P(0, v - 7), G(), Z(), W(_, F), E >= 7 && te(_), g == null && (g = le(E, f, d)), ie(g, F);\n }, P = function(_, F) {\n for (var x = -1; x <= 7; x += 1) if (!(_ + x <= -1 || v <= _ + x)) for (var I = -1; I <= 7; I += 1) F + I <= -1 || v <= F + I || (l[_ + x][F + I] = 0 <= x && x <= 6 && (I == 0 || I == 6) || 0 <= I && I <= 6 && (x == 0 || x == 6) || 2 <= x && x <= 4 && 2 <= I && I <= 4);\n }, Z = function() {\n for (var _ = 8; _ < v - 8; _ += 1) l[_][6] == null && (l[_][6] = _ % 2 == 0);\n for (var F = 8; F < v - 8; F += 1) l[6][F] == null && (l[6][F] = F % 2 == 0);\n }, G = function() {\n for (var _ = K.getPatternPosition(E), F = 0; F < _.length; F += 1) for (var x = 0; x < _.length; x += 1) {\n var I = _[F], L = _[x];\n if (l[I][L] == null) for (var oe = -2; oe <= 2; oe += 1) for (var h = -2; h <= 2; h += 1) l[I + oe][L + h] = oe == -2 || oe == 2 || h == -2 || h == 2 || oe == 0 && h == 0;\n }\n }, te = function(_) {\n for (var F = K.getBCHTypeNumber(E), x = 0; x < 18; x += 1) {\n var I = !_ && (F >> x & 1) == 1;\n l[Math.floor(x / 3)][x % 3 + v - 8 - 3] = I;\n }\n for (x = 0; x < 18; x += 1) I = !_ && (F >> x & 1) == 1, l[x % 3 + v - 8 - 3][Math.floor(x / 3)] = I;\n }, W = function(_, F) {\n for (var x = f << 3 | F, I = K.getBCHTypeInfo(x), L = 0; L < 15; L += 1) {\n var oe = !_ && (I >> L & 1) == 1;\n L < 6 ? l[L][8] = oe : L < 8 ? l[L + 1][8] = oe : l[v - 15 + L][8] = oe;\n }\n for (L = 0; L < 15; L += 1) oe = !_ && (I >> L & 1) == 1, L < 8 ? l[8][v - L - 1] = oe : L < 9 ? l[8][15 - L - 1 + 1] = oe : l[8][15 - L - 1] = oe;\n l[v - 8][8] = !_;\n }, ie = function(_, F) {\n for (var x = -1, I = v - 1, L = 7, oe = 0, h = K.getMaskFunction(F), a = v - 1; a > 0; a -= 2) for (a == 6 && (a -= 1); ; ) {\n for (var u = 0; u < 2; u += 1) if (l[I][a - u] == null) {\n var m = !1;\n oe < _.length && (m = (_[oe] >>> L & 1) == 1), h(I, a - u) && (m = !m), l[I][a - u] = m, (L -= 1) == -1 && (oe += 1, L = 7);\n }\n if ((I += x) < 0 || v <= I) {\n I -= x, x = -x;\n break;\n }\n }\n }, le = function(_, F, x) {\n for (var I = re.getRSBlocks(_, F), L = ae(), oe = 0; oe < x.length; oe += 1) {\n var h = x[oe];\n L.put(h.getMode(), 4), L.put(h.getLength(), K.getLengthInBits(h.getMode(), _)), h.write(L);\n }\n var a = 0;\n for (oe = 0; oe < I.length; oe += 1) a += I[oe].dataCount;\n if (L.getLengthInBits() > 8 * a) throw \"code length overflow. (\" + L.getLengthInBits() + \">\" + 8 * a + \")\";\n for (L.getLengthInBits() + 4 <= 8 * a && L.put(0, 4); L.getLengthInBits() % 8 != 0; ) L.putBit(!1);\n for (; !(L.getLengthInBits() >= 8 * a || (L.put(236, 8), L.getLengthInBits() >= 8 * a)); ) L.put(17, 8);\n return function(u, m) {\n for (var b = 0, O = 0, M = 0, ne = new Array(m.length), se = new Array(m.length), X = 0; X < m.length; X += 1) {\n var ge = m[X].dataCount, he = m[X].totalCount - ge;\n O = Math.max(O, ge), M = Math.max(M, he), ne[X] = new Array(ge);\n for (var ce = 0; ce < ne[X].length; ce += 1) ne[X][ce] = 255 & u.getBuffer()[ce + b];\n b += ge;\n var Ae = K.getErrorCorrectPolynomial(he), xe = Q(ne[X], Ae.getLength() - 1).mod(Ae);\n for (se[X] = new Array(Ae.getLength() - 1), ce = 0; ce < se[X].length; ce += 1) {\n var Ee = ce + xe.getLength() - se[X].length;\n se[X][ce] = Ee >= 0 ? xe.getAt(Ee) : 0;\n }\n }\n var Wt = 0;\n for (ce = 0; ce < m.length; ce += 1) Wt += m[ce].totalCount;\n var xt = new Array(Wt), Me = 0;\n for (ce = 0; ce < O; ce += 1) for (X = 0; X < m.length; X += 1) ce < ne[X].length && (xt[Me] = ne[X][ce], Me += 1);\n for (ce = 0; ce < M; ce += 1) for (X = 0; X < m.length; X += 1) ce < se[X].length && (xt[Me] = se[X][ce], Me += 1);\n return xt;\n }(L, I);\n };\n S.addData = function(_, F) {\n var x = null;\n switch (F = F || \"Byte\") {\n case \"Numeric\":\n x = be(_);\n break;\n case \"Alphanumeric\":\n x = we(_);\n break;\n case \"Byte\":\n x = pe(_);\n break;\n case \"Kanji\":\n x = de(_);\n break;\n default:\n throw \"mode:\" + F;\n }\n d.push(x), g = null;\n }, S.isDark = function(_, F) {\n if (_ < 0 || v <= _ || F < 0 || v <= F) throw _ + \",\" + F;\n return l[_][F];\n }, S.getModuleCount = function() {\n return v;\n }, S.make = function() {\n if (E < 1) {\n for (var _ = 1; _ < 40; _++) {\n for (var F = re.getRSBlocks(_, f), x = ae(), I = 0; I < d.length; I++) {\n var L = d[I];\n x.put(L.getMode(), 4), x.put(L.getLength(), K.getLengthInBits(L.getMode(), _)), L.write(x);\n }\n var oe = 0;\n for (I = 0; I < F.length; I++) oe += F[I].dataCount;\n if (x.getLengthInBits() <= 8 * oe) break;\n }\n E = _;\n }\n j(!1, function() {\n for (var h = 0, a = 0, u = 0; u < 8; u += 1) {\n j(!0, u);\n var m = K.getLostPoint(S);\n (u == 0 || h > m) && (h = m, a = u);\n }\n return a;\n }());\n }, S.createTableTag = function(_, F) {\n _ = _ || 2;\n var x = \"\";\n x += '<table style=\"', x += \" border-width: 0px; border-style: none;\", x += \" border-collapse: collapse;\", x += \" padding: 0px; margin: \" + (F = F === void 0 ? 4 * _ : F) + \"px;\", x += '\">', x += \"<tbody>\";\n for (var I = 0; I < S.getModuleCount(); I += 1) {\n x += \"<tr>\";\n for (var L = 0; L < S.getModuleCount(); L += 1) x += '<td style=\"', x += \" border-width: 0px; border-style: none;\", x += \" border-collapse: collapse;\", x += \" padding: 0px; margin: 0px;\", x += \" width: \" + _ + \"px;\", x += \" height: \" + _ + \"px;\", x += \" background-color: \", x += S.isDark(I, L) ? \"#000000\" : \"#ffffff\", x += \";\", x += '\"/>';\n x += \"</tr>\";\n }\n return (x += \"</tbody>\") + \"</table>\";\n }, S.createSvgTag = function(_, F, x, I) {\n var L = {};\n typeof arguments[0] == \"object\" && (_ = (L = arguments[0]).cellSize, F = L.margin, x = L.alt, I = L.title), _ = _ || 2, F = F === void 0 ? 4 * _ : F, (x = typeof x == \"string\" ? { text: x } : x || {}).text = x.text || null, x.id = x.text ? x.id || \"qrcode-description\" : null, (I = typeof I == \"string\" ? { text: I } : I || {}).text = I.text || null, I.id = I.text ? I.id || \"qrcode-title\" : null;\n var oe, h, a, u, m = S.getModuleCount() * _ + 2 * F, b = \"\";\n for (u = \"l\" + _ + \",0 0,\" + _ + \" -\" + _ + \",0 0,-\" + _ + \"z \", b += '<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"', b += L.scalable ? \"\" : ' width=\"' + m + 'px\" height=\"' + m + 'px\"', b += ' viewBox=\"0 0 ' + m + \" \" + m + '\" ', b += ' preserveAspectRatio=\"xMinYMin meet\"', b += I.text || x.text ? ' role=\"img\" aria-labelledby=\"' + ue([I.id, x.id].join(\" \").trim()) + '\"' : \"\", b += \">\", b += I.text ? '<title id=\"' + ue(I.id) + '\">' + ue(I.text) + \"</title>\" : \"\", b += x.text ? '<description id=\"' + ue(x.id) + '\">' + ue(x.text) + \"</description>\" : \"\", b += '<rect width=\"100%\" height=\"100%\" fill=\"white\" cx=\"0\" cy=\"0\"/>', b += '<path d=\"', h = 0; h < S.getModuleCount(); h += 1) for (a = h * _ + F, oe = 0; oe < S.getModuleCount(); oe += 1) S.isDark(h, oe) && (b += \"M\" + (oe * _ + F) + \",\" + a + u);\n return (b += '\" stroke=\"transparent\" fill=\"black\"/>') + \"</svg>\";\n }, S.createDataURL = function(_, F) {\n _ = _ || 2, F = F === void 0 ? 4 * _ : F;\n var x = S.getModuleCount() * _ + 2 * F, I = F, L = x - F;\n return Se(x, x, function(oe, h) {\n if (I <= oe && oe < L && I <= h && h < L) {\n var a = Math.floor((oe - I) / _), u = Math.floor((h - I) / _);\n return S.isDark(u, a) ? 0 : 1;\n }\n return 1;\n });\n }, S.createImgTag = function(_, F, x) {\n _ = _ || 2, F = F === void 0 ? 4 * _ : F;\n var I = S.getModuleCount() * _ + 2 * F, L = \"\";\n return L += \"<img\", L += ' src=\"', L += S.createDataURL(_, F), L += '\"', L += ' width=\"', L += I, L += '\"', L += ' height=\"', L += I, L += '\"', x && (L += ' alt=\"', L += ue(x), L += '\"'), L + \"/>\";\n };\n var ue = function(_) {\n for (var F = \"\", x = 0; x < _.length; x += 1) {\n var I = _.charAt(x);\n switch (I) {\n case \"<\":\n F += \"&lt;\";\n break;\n case \">\":\n F += \"&gt;\";\n break;\n case \"&\":\n F += \"&amp;\";\n break;\n case '\"':\n F += \"&quot;\";\n break;\n default:\n F += I;\n }\n }\n return F;\n };\n return S.createASCII = function(_, F) {\n if ((_ = _ || 1) < 2) return function(ne) {\n ne = ne === void 0 ? 2 : ne;\n var se, X, ge, he, ce, Ae = 1 * S.getModuleCount() + 2 * ne, xe = ne, Ee = Ae - ne, Wt = { \"██\": \"█\", \"█ \": \"▀\", \" █\": \"▄\", \" \": \" \" }, xt = { \"██\": \"▀\", \"█ \": \"▀\", \" █\": \" \", \" \": \" \" }, Me = \"\";\n for (se = 0; se < Ae; se += 2) {\n for (ge = Math.floor((se - xe) / 1), he = Math.floor((se + 1 - xe) / 1), X = 0; X < Ae; X += 1) ce = \"█\", xe <= X && X < Ee && xe <= se && se < Ee && S.isDark(ge, Math.floor((X - xe) / 1)) && (ce = \" \"), xe <= X && X < Ee && xe <= se + 1 && se + 1 < Ee && S.isDark(he, Math.floor((X - xe) / 1)) ? ce += \" \" : ce += \"█\", Me += ne < 1 && se + 1 >= Ee ? xt[ce] : Wt[ce];\n Me += `\n`;\n }\n return Ae % 2 && ne > 0 ? Me.substring(0, Me.length - Ae - 1) + Array(Ae + 1).join(\"▀\") : Me.substring(0, Me.length - 1);\n }(F);\n _ -= 1, F = F === void 0 ? 2 * _ : F;\n var x, I, L, oe, h = S.getModuleCount() * _ + 2 * F, a = F, u = h - F, m = Array(_ + 1).join(\"██\"), b = Array(_ + 1).join(\" \"), O = \"\", M = \"\";\n for (x = 0; x < h; x += 1) {\n for (L = Math.floor((x - a) / _), M = \"\", I = 0; I < h; I += 1) oe = 1, a <= I && I < u && a <= x && x < u && S.isDark(L, Math.floor((I - a) / _)) && (oe = 0), M += oe ? m : b;\n for (L = 0; L < _; L += 1) O += M + `\n`;\n }\n return O.substring(0, O.length - 1);\n }, S.renderTo2dContext = function(_, F) {\n F = F || 2;\n for (var x = S.getModuleCount(), I = 0; I < x; I++) for (var L = 0; L < x; L++) _.fillStyle = S.isDark(I, L) ? \"black\" : \"white\", _.fillRect(I * F, L * F, F, F);\n }, S;\n };\n C.stringToBytes = (C.stringToBytesFuncs = { default: function(k) {\n for (var D = [], E = 0; E < k.length; E += 1) {\n var f = k.charCodeAt(E);\n D.push(255 & f);\n }\n return D;\n } }).default, C.createStringToBytes = function(k, D) {\n var E = function() {\n for (var l = ve(k), v = function() {\n var Z = l.read();\n if (Z == -1) throw \"eof\";\n return Z;\n }, g = 0, d = {}; ; ) {\n var S = l.read();\n if (S == -1) break;\n var j = v(), P = v() << 8 | v();\n d[String.fromCharCode(S << 8 | j)] = P, g += 1;\n }\n if (g != D) throw g + \" != \" + D;\n return d;\n }(), f = 63;\n return function(l) {\n for (var v = [], g = 0; g < l.length; g += 1) {\n var d = l.charCodeAt(g);\n if (d < 128) v.push(d);\n else {\n var S = E[l.charAt(g)];\n typeof S == \"number\" ? (255 & S) == S ? v.push(S) : (v.push(S >>> 8), v.push(255 & S)) : v.push(f);\n }\n }\n return v;\n };\n };\n var A, T, R, U, $, B = { L: 1, M: 0, Q: 3, H: 2 }, K = (A = [[], [6, 18], [6, 22], [6, 26], [6, 30], [6, 34], [6, 22, 38], [6, 24, 42], [6, 26, 46], [6, 28, 50], [6, 30, 54], [6, 32, 58], [6, 34, 62], [6, 26, 46, 66], [6, 26, 48, 70], [6, 26, 50, 74], [6, 30, 54, 78], [6, 30, 56, 82], [6, 30, 58, 86], [6, 34, 62, 90], [6, 28, 50, 72, 94], [6, 26, 50, 74, 98], [6, 30, 54, 78, 102], [6, 28, 54, 80, 106], [6, 32, 58, 84, 110], [6, 30, 58, 86, 114], [6, 34, 62, 90, 118], [6, 26, 50, 74, 98, 122], [6, 30, 54, 78, 102, 126], [6, 26, 52, 78, 104, 130], [6, 30, 56, 82, 108, 134], [6, 34, 60, 86, 112, 138], [6, 30, 58, 86, 114, 142], [6, 34, 62, 90, 118, 146], [6, 30, 54, 78, 102, 126, 150], [6, 24, 50, 76, 102, 128, 154], [6, 28, 54, 80, 106, 132, 158], [6, 32, 58, 84, 110, 136, 162], [6, 26, 54, 82, 110, 138, 166], [6, 30, 58, 86, 114, 142, 170]], T = 1335, R = 7973, $ = function(k) {\n for (var D = 0; k != 0; ) D += 1, k >>>= 1;\n return D;\n }, (U = {}).getBCHTypeInfo = function(k) {\n for (var D = k << 10; $(D) - $(T) >= 0; ) D ^= T << $(D) - $(T);\n return 21522 ^ (k << 10 | D);\n }, U.getBCHTypeNumber = function(k) {\n for (var D = k << 12; $(D) - $(R) >= 0; ) D ^= R << $(D) - $(R);\n return k << 12 | D;\n }, U.getPatternPosition = function(k) {\n return A[k - 1];\n }, U.getMaskFunction = function(k) {\n switch (k) {\n case 0:\n return function(D, E) {\n return (D + E) % 2 == 0;\n };\n case 1:\n return function(D, E) {\n return D % 2 == 0;\n };\n case 2:\n return function(D, E) {\n return E % 3 == 0;\n };\n case 3:\n return function(D, E) {\n return (D + E) % 3 == 0;\n };\n case 4:\n return function(D, E) {\n return (Math.floor(D / 2) + Math.floor(E / 3)) % 2 == 0;\n };\n case 5:\n return function(D, E) {\n return D * E % 2 + D * E % 3 == 0;\n };\n case 6:\n return function(D, E) {\n return (D * E % 2 + D * E % 3) % 2 == 0;\n };\n case 7:\n return function(D, E) {\n return (D * E % 3 + (D + E) % 2) % 2 == 0;\n };\n default:\n throw \"bad maskPattern:\" + k;\n }\n }, U.getErrorCorrectPolynomial = function(k) {\n for (var D = Q([1], 0), E = 0; E < k; E += 1) D = D.multiply(Q([1, J.gexp(E)], 0));\n return D;\n }, U.getLengthInBits = function(k, D) {\n if (1 <= D && D < 10) switch (k) {\n case 1:\n return 10;\n case 2:\n return 9;\n case 4:\n case 8:\n return 8;\n default:\n throw \"mode:\" + k;\n }\n else if (D < 27) switch (k) {\n case 1:\n return 12;\n case 2:\n return 11;\n case 4:\n return 16;\n case 8:\n return 10;\n default:\n throw \"mode:\" + k;\n }\n else {\n if (!(D < 41)) throw \"type:\" + D;\n switch (k) {\n case 1:\n return 14;\n case 2:\n return 13;\n case 4:\n return 16;\n case 8:\n return 12;\n default:\n throw \"mode:\" + k;\n }\n }\n }, U.getLostPoint = function(k) {\n for (var D = k.getModuleCount(), E = 0, f = 0; f < D; f += 1) for (var l = 0; l < D; l += 1) {\n for (var v = 0, g = k.isDark(f, l), d = -1; d <= 1; d += 1) if (!(f + d < 0 || D <= f + d)) for (var S = -1; S <= 1; S += 1) l + S < 0 || D <= l + S || d == 0 && S == 0 || g == k.isDark(f + d, l + S) && (v += 1);\n v > 5 && (E += 3 + v - 5);\n }\n for (f = 0; f < D - 1; f += 1) for (l = 0; l < D - 1; l += 1) {\n var j = 0;\n k.isDark(f, l) && (j += 1), k.isDark(f + 1, l) && (j += 1), k.isDark(f, l + 1) && (j += 1), k.isDark(f + 1, l + 1) && (j += 1), j != 0 && j != 4 || (E += 3);\n }\n for (f = 0; f < D; f += 1) for (l = 0; l < D - 6; l += 1) k.isDark(f, l) && !k.isDark(f, l + 1) && k.isDark(f, l + 2) && k.isDark(f, l + 3) && k.isDark(f, l + 4) && !k.isDark(f, l + 5) && k.isDark(f, l + 6) && (E += 40);\n for (l = 0; l < D; l += 1) for (f = 0; f < D - 6; f += 1) k.isDark(f, l) && !k.isDark(f + 1, l) && k.isDark(f + 2, l) && k.isDark(f + 3, l) && k.isDark(f + 4, l) && !k.isDark(f + 5, l) && k.isDark(f + 6, l) && (E += 40);\n var P = 0;\n for (l = 0; l < D; l += 1) for (f = 0; f < D; f += 1) k.isDark(f, l) && (P += 1);\n return E + Math.abs(100 * P / D / D - 50) / 5 * 10;\n }, U), J = function() {\n for (var k = new Array(256), D = new Array(256), E = 0; E < 8; E += 1) k[E] = 1 << E;\n for (E = 8; E < 256; E += 1) k[E] = k[E - 4] ^ k[E - 5] ^ k[E - 6] ^ k[E - 8];\n for (E = 0; E < 255; E += 1) D[k[E]] = E;\n return { glog: function(f) {\n if (f < 1) throw \"glog(\" + f + \")\";\n return D[f];\n }, gexp: function(f) {\n for (; f < 0; ) f += 255;\n for (; f >= 256; ) f -= 255;\n return k[f];\n } };\n }();\n function Q(k, D) {\n if (k.length === void 0) throw k.length + \"/\" + D;\n var E = function() {\n for (var l = 0; l < k.length && k[l] == 0; ) l += 1;\n for (var v = new Array(k.length - l + D), g = 0; g < k.length - l; g += 1) v[g] = k[g + l];\n return v;\n }(), f = { getAt: function(l) {\n return E[l];\n }, getLength: function() {\n return E.length;\n }, multiply: function(l) {\n for (var v = new Array(f.getLength() + l.getLength() - 1), g = 0; g < f.getLength(); g += 1) for (var d = 0; d < l.getLength(); d += 1) v[g + d] ^= J.gexp(J.glog(f.getAt(g)) + J.glog(l.getAt(d)));\n return Q(v, 0);\n }, mod: function(l) {\n if (f.getLength() - l.getLength() < 0) return f;\n for (var v = J.glog(f.getAt(0)) - J.glog(l.getAt(0)), g = new Array(f.getLength()), d = 0; d < f.getLength(); d += 1) g[d] = f.getAt(d);\n for (d = 0; d < l.getLength(); d += 1) g[d] ^= J.gexp(J.glog(l.getAt(d)) + v);\n return Q(g, 0).mod(l);\n } };\n return f;\n }\n var re = /* @__PURE__ */ function() {\n var k = [[1, 26, 19], [1, 26, 16], [1, 26, 13], [1, 26, 9], [1, 44, 34], [1, 44, 28], [1, 44, 22], [1, 44, 16], [1, 70, 55], [1, 70, 44], [2, 35, 17], [2, 35, 13], [1, 100, 80], [2, 50, 32], [2, 50, 24], [4, 25, 9], [1, 134, 108], [2, 67, 43], [2, 33, 15, 2, 34, 16], [2, 33, 11, 2, 34, 12], [2, 86, 68], [4, 43, 27], [4, 43, 19], [4, 43, 15], [2, 98, 78], [4, 49, 31], [2, 32, 14, 4, 33, 15], [4, 39, 13, 1, 40, 14], [2, 121, 97], [2, 60, 38, 2, 61, 39], [4, 40, 18, 2, 41, 19], [4, 40, 14, 2, 41, 15], [2, 146, 116], [3, 58, 36, 2, 59, 37], [4, 36, 16, 4, 37, 17], [4, 36, 12, 4, 37, 13], [2, 86, 68, 2, 87, 69], [4, 69, 43, 1, 70, 44], [6, 43, 19, 2, 44, 20], [6, 43, 15, 2, 44, 16], [4, 101, 81], [1, 80, 50, 4, 81, 51], [4, 50, 22, 4, 51, 23], [3, 36, 12, 8, 37, 13], [2, 116, 92, 2, 117, 93], [6, 58, 36, 2, 59, 37], [4, 46, 20, 6, 47, 21], [7, 42, 14, 4, 43, 15], [4, 133, 107], [8, 59, 37, 1, 60, 38], [8, 44, 20, 4, 45, 21], [12, 33, 11, 4, 34, 12], [3, 145, 115, 1, 146, 116], [4, 64, 40, 5, 65, 41], [11, 36, 16, 5, 37, 17], [11, 36, 12, 5, 37, 13], [5, 109, 87, 1, 110, 88], [5, 65, 41, 5, 66, 42], [5, 54, 24, 7, 55, 25], [11, 36, 12, 7, 37, 13], [5, 122, 98, 1, 123, 99], [7, 73, 45, 3, 74, 46], [15, 43, 19, 2, 44, 20], [3, 45, 15, 13, 46, 16], [1, 135, 107, 5, 136, 108], [10, 74, 46, 1, 75, 47], [1, 50, 22, 15, 51, 23], [2, 42, 14, 17, 43, 15], [5, 150, 120, 1, 151, 121], [9, 69, 43, 4, 70, 44], [17, 50, 22, 1, 51, 23], [2, 42, 14, 19, 43, 15], [3, 141, 113, 4, 142, 114], [3, 70, 44, 11, 71, 45], [17, 47, 21, 4, 48, 22], [9, 39, 13, 16, 40, 14], [3, 135, 107, 5, 136, 108], [3, 67, 41, 13, 68, 42], [15, 54, 24, 5, 55, 25], [15, 43, 15, 10, 44, 16], [4, 144, 116, 4, 145, 117], [17, 68, 42], [17, 50, 22, 6, 51, 23], [19, 46, 16, 6, 47, 17], [2, 139, 111, 7, 140, 112], [17, 74, 46], [7, 54, 24, 16, 55, 25], [34, 37, 13], [4, 151, 121, 5, 152, 122], [4, 75, 47, 14, 76, 48], [11, 54, 24, 14, 55, 25], [16, 45, 15, 14, 46, 16], [6, 147, 117, 4, 148, 118], [6, 73, 45, 14, 74, 46], [11, 54, 24, 16, 55, 25], [30, 46, 16, 2, 47, 17], [8, 132, 106, 4, 133, 107], [8, 75, 47, 13, 76, 48], [7, 54, 24, 22, 55, 25], [22, 45, 15, 13, 46, 16], [10, 142, 114, 2, 143, 115], [19, 74, 46, 4, 75, 47], [28, 50, 22, 6, 51, 23], [33, 46, 16, 4, 47, 17], [8, 152, 122, 4, 153, 123], [22, 73, 45, 3, 74, 46], [8, 53, 23, 26, 54, 24], [12, 45, 15, 28, 46, 16], [3, 147, 117, 10, 148, 118], [3, 73, 45, 23, 74, 46], [4, 54, 24, 31, 55, 25], [11, 45, 15, 31, 46, 16], [7, 146, 116, 7, 147, 117], [21, 73, 45, 7, 74, 46], [1, 53, 23, 37, 54, 24], [19, 45, 15, 26, 46, 16], [5, 145, 115, 10, 146, 116], [19, 75, 47, 10, 76, 48], [15, 54, 24, 25, 55, 25], [23, 45, 15, 25, 46, 16], [13, 145, 115, 3, 146, 116], [2, 74, 46, 29, 75, 47], [42, 54, 24, 1, 55, 25], [23, 45, 15, 28, 46, 16], [17, 145, 115], [10, 74, 46, 23, 75, 47], [10, 54, 24, 35, 55, 25], [19, 45, 15, 35, 46, 16], [17, 145, 115, 1, 146, 116], [14, 74, 46, 21, 75, 47], [29, 54, 24, 19, 55, 25], [11, 45, 15, 46, 46, 16], [13, 145, 115, 6, 146, 116], [14, 74, 46, 23, 75, 47], [44, 54, 24, 7, 55, 25], [59, 46, 16, 1, 47, 17], [12, 151, 121, 7, 152, 122], [12, 75, 47, 26, 76, 48], [39, 54, 24, 14, 55, 25], [22, 45, 15, 41, 46, 16], [6, 151, 121, 14, 152, 122], [6, 75, 47, 34, 76, 48], [46, 54, 24, 10, 55, 25], [2, 45, 15, 64, 46, 16], [17, 152, 122, 4, 153, 123], [29, 74, 46, 14, 75, 47], [49, 54, 24, 10, 55, 25], [24, 45, 15, 46, 46, 16], [4, 152, 122, 18, 153, 123], [13, 74, 46, 32, 75, 47], [48, 54, 24, 14, 55, 25], [42, 45, 15, 32, 46, 16], [20, 147, 117, 4, 148, 118], [40, 75, 47, 7, 76, 48], [43, 54, 24, 22, 55, 25], [10, 45, 15, 67, 46, 16], [19, 148, 118, 6, 149, 119], [18, 75, 47, 31, 76, 48], [34, 54, 24, 34, 55, 25], [20, 45, 15, 61, 46, 16]], D = function(f, l) {\n var v = {};\n return v.totalCount = f, v.dataCount = l, v;\n }, E = { getRSBlocks: function(f, l) {\n var v = function(te, W) {\n switch (W) {\n case B.L:\n return k[4 * (te - 1) + 0];\n case B.M:\n return k[4 * (te - 1) + 1];\n case B.Q:\n return k[4 * (te - 1) + 2];\n case B.H:\n return k[4 * (te - 1) + 3];\n default:\n return;\n }\n }(f, l);\n if (v === void 0) throw \"bad rs block @ typeNumber:\" + f + \"/errorCorrectionLevel:\" + l;\n for (var g = v.length / 3, d = [], S = 0; S < g; S += 1) for (var j = v[3 * S + 0], P = v[3 * S + 1], Z = v[3 * S + 2], G = 0; G < j; G += 1) d.push(D(P, Z));\n return d;\n } };\n return E;\n }(), ae = function() {\n var k = [], D = 0, E = { getBuffer: function() {\n return k;\n }, getAt: function(f) {\n var l = Math.floor(f / 8);\n return (k[l] >>> 7 - f % 8 & 1) == 1;\n }, put: function(f, l) {\n for (var v = 0; v < l; v += 1) E.putBit((f >>> l - v - 1 & 1) == 1);\n }, getLengthInBits: function() {\n return D;\n }, putBit: function(f) {\n var l = Math.floor(D / 8);\n k.length <= l && k.push(0), f && (k[l] |= 128 >>> D % 8), D += 1;\n } };\n return E;\n }, be = function(k) {\n var D = k, E = { getMode: function() {\n return 1;\n }, getLength: function(v) {\n return D.length;\n }, write: function(v) {\n for (var g = D, d = 0; d + 2 < g.length; ) v.put(f(g.substring(d, d + 3)), 10), d += 3;\n d < g.length && (g.length - d == 1 ? v.put(f(g.substring(d, d + 1)), 4) : g.length - d == 2 && v.put(f(g.substring(d, d + 2)), 7));\n } }, f = function(v) {\n for (var g = 0, d = 0; d < v.length; d += 1) g = 10 * g + l(v.charAt(d));\n return g;\n }, l = function(v) {\n if (\"0\" <= v && v <= \"9\") return v.charCodeAt(0) - 48;\n throw \"illegal char :\" + v;\n };\n return E;\n }, we = function(k) {\n var D = k, E = { getMode: function() {\n return 2;\n }, getLength: function(l) {\n return D.length;\n }, write: function(l) {\n for (var v = D, g = 0; g + 1 < v.length; ) l.put(45 * f(v.charAt(g)) + f(v.charAt(g + 1)), 11), g += 2;\n g < v.length && l.put(f(v.charAt(g)), 6);\n } }, f = function(l) {\n if (\"0\" <= l && l <= \"9\") return l.charCodeAt(0) - 48;\n if (\"A\" <= l && l <= \"Z\") return l.charCodeAt(0) - 65 + 10;\n switch (l) {\n case \" \":\n return 36;\n case \"$\":\n return 37;\n case \"%\":\n return 38;\n case \"*\":\n return 39;\n case \"+\":\n return 40;\n case \"-\":\n return 41;\n case \".\":\n return 42;\n case \"/\":\n return 43;\n case \":\":\n return 44;\n default:\n throw \"illegal char :\" + l;\n }\n };\n return E;\n }, pe = function(k) {\n var D = C.stringToBytes(k);\n return { getMode: function() {\n return 4;\n }, getLength: function(E) {\n return D.length;\n }, write: function(E) {\n for (var f = 0; f < D.length; f += 1) E.put(D[f], 8);\n } };\n }, de = function(k) {\n var D = C.stringToBytesFuncs.SJIS;\n if (!D) throw \"sjis not supported.\";\n (function() {\n var l = D(\"友\");\n if (l.length != 2 || (l[0] << 8 | l[1]) != 38726) throw \"sjis not supported.\";\n })();\n var E = D(k), f = { getMode: function() {\n return 8;\n }, getLength: function(l) {\n return ~~(E.length / 2);\n }, write: function(l) {\n for (var v = E, g = 0; g + 1 < v.length; ) {\n var d = (255 & v[g]) << 8 | 255 & v[g + 1];\n if (33088 <= d && d <= 40956) d -= 33088;\n else {\n if (!(57408 <= d && d <= 60351)) throw \"illegal char at \" + (g + 1) + \"/\" + d;\n d -= 49472;\n }\n d = 192 * (d >>> 8 & 255) + (255 & d), l.put(d, 13), g += 2;\n }\n if (g < v.length) throw \"illegal char at \" + (g + 1);\n } };\n return f;\n }, me = function() {\n var k = [], D = { writeByte: function(E) {\n k.push(255 & E);\n }, writeShort: function(E) {\n D.writeByte(E), D.writeByte(E >>> 8);\n }, writeBytes: function(E, f, l) {\n f = f || 0, l = l || E.length;\n for (var v = 0; v < l; v += 1) D.writeByte(E[v + f]);\n }, writeString: function(E) {\n for (var f = 0; f < E.length; f += 1) D.writeByte(E.charCodeAt(f));\n }, toByteArray: function() {\n return k;\n }, toString: function() {\n var E = \"\";\n E += \"[\";\n for (var f = 0; f < k.length; f += 1) f > 0 && (E += \",\"), E += k[f];\n return E + \"]\";\n } };\n return D;\n }, ve = function(k) {\n var D = k, E = 0, f = 0, l = 0, v = { read: function() {\n for (; l < 8; ) {\n if (E >= D.length) {\n if (l == 0) return -1;\n throw \"unexpected end of file./\" + l;\n }\n var d = D.charAt(E);\n if (E += 1, d == \"=\") return l = 0, -1;\n d.match(/^\\s$/) || (f = f << 6 | g(d.charCodeAt(0)), l += 6);\n }\n var S = f >>> l - 8 & 255;\n return l -= 8, S;\n } }, g = function(d) {\n if (65 <= d && d <= 90) return d - 65;\n if (97 <= d && d <= 122) return d - 97 + 26;\n if (48 <= d && d <= 57) return d - 48 + 52;\n if (d == 43) return 62;\n if (d == 47) return 63;\n throw \"c:\" + d;\n };\n return v;\n }, Se = function(k, D, E) {\n for (var f = function(P, Z) {\n var G = P, te = Z, W = new Array(P * Z), ie = { setPixel: function(_, F, x) {\n W[F * G + _] = x;\n }, write: function(_) {\n _.writeString(\"GIF87a\"), _.writeShort(G), _.writeShort(te), _.writeByte(128), _.writeByte(0), _.writeByte(0), _.writeByte(0), _.writeByte(0), _.writeByte(0), _.writeByte(255), _.writeByte(255), _.writeByte(255), _.writeString(\",\"), _.writeShort(0), _.writeShort(0), _.writeShort(G), _.writeShort(te), _.writeByte(0);\n var F = le(2);\n _.writeByte(2);\n for (var x = 0; F.length - x > 255; ) _.writeByte(255), _.writeBytes(F, x, 255), x += 255;\n _.writeByte(F.length - x), _.writeBytes(F, x, F.length - x), _.writeByte(0), _.writeString(\";\");\n } }, le = function(_) {\n for (var F = 1 << _, x = 1 + (1 << _), I = _ + 1, L = ue(), oe = 0; oe < F; oe += 1) L.add(String.fromCharCode(oe));\n L.add(String.fromCharCode(F)), L.add(String.fromCharCode(x));\n var h, a, u, m = me(), b = (h = m, a = 0, u = 0, { write: function(se, X) {\n if (se >>> X) throw \"length over\";\n for (; a + X >= 8; ) h.writeByte(255 & (se << a | u)), X -= 8 - a, se >>>= 8 - a, u = 0, a = 0;\n u |= se << a, a += X;\n }, flush: function() {\n a > 0 && h.writeByte(u);\n } });\n b.write(F, I);\n var O = 0, M = String.fromCharCode(W[O]);\n for (O += 1; O < W.length; ) {\n var ne = String.fromCharCode(W[O]);\n O += 1, L.contains(M + ne) ? M += ne : (b.write(L.indexOf(M), I), L.size() < 4095 && (L.size() == 1 << I && (I += 1), L.add(M + ne)), M = ne);\n }\n return b.write(L.indexOf(M), I), b.write(x, I), b.flush(), m.toByteArray();\n }, ue = function() {\n var _ = {}, F = 0, x = { add: function(I) {\n if (x.contains(I)) throw \"dup key:\" + I;\n _[I] = F, F += 1;\n }, size: function() {\n return F;\n }, indexOf: function(I) {\n return _[I];\n }, contains: function(I) {\n return _[I] !== void 0;\n } };\n return x;\n };\n return ie;\n }(k, D), l = 0; l < D; l += 1) for (var v = 0; v < k; v += 1) f.setPixel(v, l, E(v, l));\n var g = me();\n f.write(g);\n for (var d = function() {\n var P = 0, Z = 0, G = 0, te = \"\", W = {}, ie = function(ue) {\n te += String.fromCharCode(le(63 & ue));\n }, le = function(ue) {\n if (!(ue < 0)) {\n if (ue < 26) return 65 + ue;\n if (ue < 52) return ue - 26 + 97;\n if (ue < 62) return ue - 52 + 48;\n if (ue == 62) return 43;\n if (ue == 63) return 47;\n }\n throw \"n:\" + ue;\n };\n return W.writeByte = function(ue) {\n for (P = P << 8 | 255 & ue, Z += 8, G += 1; Z >= 6; ) ie(P >>> Z - 6), Z -= 6;\n }, W.flush = function() {\n if (Z > 0 && (ie(P << 6 - Z), P = 0, Z = 0), G % 3 != 0) for (var ue = 3 - G % 3, _ = 0; _ < ue; _ += 1) te += \"=\";\n }, W.toString = function() {\n return te;\n }, W;\n }(), S = g.toByteArray(), j = 0; j < S.length; j += 1) d.writeByte(S[j]);\n return d.flush(), \"data:image/gif;base64,\" + d;\n };\n return C;\n }();\n y.stringToBytesFuncs[\"UTF-8\"] = function(C) {\n return function(A) {\n for (var T = [], R = 0; R < A.length; R++) {\n var U = A.charCodeAt(R);\n U < 128 ? T.push(U) : U < 2048 ? T.push(192 | U >> 6, 128 | 63 & U) : U < 55296 || U >= 57344 ? T.push(224 | U >> 12, 128 | U >> 6 & 63, 128 | 63 & U) : (R++, U = 65536 + ((1023 & U) << 10 | 1023 & A.charCodeAt(R)), T.push(240 | U >> 18, 128 | U >> 12 & 63, 128 | U >> 6 & 63, 128 | 63 & U));\n }\n return T;\n }(C);\n }, (w = typeof (p = function() {\n return y;\n }) == \"function\" ? p.apply(c, []) : p) === void 0 || (s.exports = w);\n } }, r = {};\n function i(s) {\n var c = r[s];\n if (c !== void 0) return c.exports;\n var p = r[s] = { exports: {} };\n return n[s](p, p.exports, i), p.exports;\n }\n i.n = (s) => {\n var c = s && s.__esModule ? () => s.default : () => s;\n return i.d(c, { a: c }), c;\n }, i.d = (s, c) => {\n for (var p in c) i.o(c, p) && !i.o(s, p) && Object.defineProperty(s, p, { enumerable: !0, get: c[p] });\n }, i.o = (s, c) => Object.prototype.hasOwnProperty.call(s, c);\n var o = {};\n return (() => {\n i.d(o, { default: () => D });\n const s = (E) => !!E && typeof E == \"object\" && !Array.isArray(E);\n function c(E, ...f) {\n if (!f.length) return E;\n const l = f.shift();\n return l !== void 0 && s(E) && s(l) ? (E = Object.assign({}, E), Object.keys(l).forEach((v) => {\n const g = E[v], d = l[v];\n Array.isArray(g) && Array.isArray(d) ? E[v] = d : s(g) && s(d) ? E[v] = c(Object.assign({}, g), d) : E[v] = d;\n }), c(E, ...f)) : E;\n }\n function p(E, f) {\n const l = document.createElement(\"a\");\n l.download = f, l.href = E, document.body.appendChild(l), l.click(), document.body.removeChild(l);\n }\n const w = { L: 0.07, M: 0.15, Q: 0.25, H: 0.3 };\n class y {\n constructor({ svg: f, type: l, window: v }) {\n this._svg = f, this._type = l, this._window = v;\n }\n draw(f, l, v, g) {\n let d;\n switch (this._type) {\n case \"dots\":\n d = this._drawDot;\n break;\n case \"classy\":\n d = this._drawClassy;\n break;\n case \"classy-rounded\":\n d = this._drawClassyRounded;\n break;\n case \"rounded\":\n d = this._drawRounded;\n break;\n case \"extra-rounded\":\n d = this._drawExtraRounded;\n break;\n default:\n d = this._drawSquare;\n }\n d.call(this, { x: f, y: l, size: v, getNeighbor: g });\n }\n _rotateFigure({ x: f, y: l, size: v, rotation: g = 0, draw: d }) {\n var S;\n const j = f + v / 2, P = l + v / 2;\n d(), (S = this._element) === null || S === void 0 || S.setAttribute(\"transform\", `rotate(${180 * g / Math.PI},${j},${P})`);\n }\n _basicDot(f) {\n const { size: l, x: v, y: g } = f;\n this._rotateFigure(Object.assign(Object.assign({}, f), { draw: () => {\n this._element = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"circle\"), this._element.setAttribute(\"cx\", String(v + l / 2)), this._element.setAttribute(\"cy\", String(g + l / 2)), this._element.setAttribute(\"r\", String(l / 2));\n } }));\n }\n _basicSquare(f) {\n const { size: l, x: v, y: g } = f;\n this._rotateFigure(Object.assign(Object.assign({}, f), { draw: () => {\n this._element = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\"), this._element.setAttribute(\"x\", String(v)), this._element.setAttribute(\"y\", String(g)), this._element.setAttribute(\"width\", String(l)), this._element.setAttribute(\"height\", String(l));\n } }));\n }\n _basicSideRounded(f) {\n const { size: l, x: v, y: g } = f;\n this._rotateFigure(Object.assign(Object.assign({}, f), { draw: () => {\n this._element = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\"), this._element.setAttribute(\"d\", `M ${v} ${g}v ${l}h ` + l / 2 + `a ${l / 2} ${l / 2}, 0, 0, 0, 0 ${-l}`);\n } }));\n }\n _basicCornerRounded(f) {\n const { size: l, x: v, y: g } = f;\n this._rotateFigure(Object.assign(Object.assign({}, f), { draw: () => {\n this._element = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\"), this._element.setAttribute(\"d\", `M ${v} ${g}v ${l}h ${l}v ` + -l / 2 + `a ${l / 2} ${l / 2}, 0, 0, 0, ${-l / 2} ${-l / 2}`);\n } }));\n }\n _basicCornerExtraRounded(f) {\n const { size: l, x: v, y: g } = f;\n this._rotateFigure(Object.assign(Object.assign({}, f), { draw: () => {\n this._element = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\"), this._element.setAttribute(\"d\", `M ${v} ${g}v ${l}h ${l}a ${l} ${l}, 0, 0, 0, ${-l} ${-l}`);\n } }));\n }\n _basicCornersRounded(f) {\n const { size: l, x: v, y: g } = f;\n this._rotateFigure(Object.assign(Object.assign({}, f), { draw: () => {\n this._element = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\"), this._element.setAttribute(\"d\", `M ${v} ${g}v ` + l / 2 + `a ${l / 2} ${l / 2}, 0, 0, 0, ${l / 2} ${l / 2}h ` + l / 2 + \"v \" + -l / 2 + `a ${l / 2} ${l / 2}, 0, 0, 0, ${-l / 2} ${-l / 2}`);\n } }));\n }\n _drawDot({ x: f, y: l, size: v }) {\n this._basicDot({ x: f, y: l, size: v, rotation: 0 });\n }\n _drawSquare({ x: f, y: l, size: v }) {\n this._basicSquare({ x: f, y: l, size: v, rotation: 0 });\n }\n _drawRounded({ x: f, y: l, size: v, getNeighbor: g }) {\n const d = g ? +g(-1, 0) : 0, S = g ? +g(1, 0) : 0, j = g ? +g(0, -1) : 0, P = g ? +g(0, 1) : 0, Z = d + S + j + P;\n if (Z !== 0) if (Z > 2 || d && S || j && P) this._basicSquare({ x: f, y: l, size: v, rotation: 0 });\n else {\n if (Z === 2) {\n let G = 0;\n return d && j ? G = Math.PI / 2 : j && S ? G = Math.PI : S && P && (G = -Math.PI / 2), void this._basicCornerRounded({ x: f, y: l, size: v, rotation: G });\n }\n if (Z === 1) {\n let G = 0;\n return j ? G = Math.PI / 2 : S ? G = Math.PI : P && (G = -Math.PI / 2), void this._basicSideRounded({ x: f, y: l, size: v, rotation: G });\n }\n }\n else this._basicDot({ x: f, y: l, size: v, rotation: 0 });\n }\n _drawExtraRounded({ x: f, y: l, size: v, getNeighbor: g }) {\n const d = g ? +g(-1, 0) : 0, S = g ? +g(1, 0) : 0, j = g ? +g(0, -1) : 0, P = g ? +g(0, 1) : 0, Z = d + S + j + P;\n if (Z !== 0) if (Z > 2 || d && S || j && P) this._basicSquare({ x: f, y: l, size: v, rotation: 0 });\n else {\n if (Z === 2) {\n let G = 0;\n return d && j ? G = Math.PI / 2 : j && S ? G = Math.PI : S && P && (G = -Math.PI / 2), void this._basicCornerExtraRounded({ x: f, y: l, size: v, rotation: G });\n }\n if (Z === 1) {\n let G = 0;\n return j ? G = Math.PI / 2 : S ? G = Math.PI : P && (G = -Math.PI / 2), void this._basicSideRounded({ x: f, y: l, size: v, rotation: G });\n }\n }\n else this._basicDot({ x: f, y: l, size: v, rotation: 0 });\n }\n _drawClassy({ x: f, y: l, size: v, getNeighbor: g }) {\n const d = g ? +g(-1, 0) : 0, S = g ? +g(1, 0) : 0, j = g ? +g(0, -1) : 0, P = g ? +g(0, 1) : 0;\n d + S + j + P !== 0 ? d || j ? S || P ? this._basicSquare({ x: f, y: l, size: v, rotation: 0 }) : this._basicCornerRounded({ x: f, y: l, size: v, rotation: Math.PI / 2 }) : this._basicCornerRounded({ x: f, y: l, size: v, rotation: -Math.PI / 2 }) : this._basicCornersRounded({ x: f, y: l, size: v, rotation: Math.PI / 2 });\n }\n _drawClassyRounded({ x: f, y: l, size: v, getNeighbor: g }) {\n const d = g ? +g(-1, 0) : 0, S = g ? +g(1, 0) : 0, j = g ? +g(0, -1) : 0, P = g ? +g(0, 1) : 0;\n d + S + j + P !== 0 ? d || j ? S || P ? this._basicSquare({ x: f, y: l, size: v, rotation: 0 }) : this._basicCornerExtraRounded({ x: f, y: l, size: v, rotation: Math.PI / 2 }) : this._basicCornerExtraRounded({ x: f, y: l, size: v, rotation: -Math.PI / 2 }) : this._basicCornersRounded({ x: f, y: l, size: v, rotation: Math.PI / 2 });\n }\n }\n const C = { dot: \"dot\", square: \"square\", extraRounded: \"extra-rounded\" }, A = Object.values(C);\n class T {\n constructor({ svg: f, type: l, window: v }) {\n this._svg = f, this._type = l, this._window = v;\n }\n draw(f, l, v, g) {\n let d;\n switch (this._type) {\n case C.square:\n d = this._drawSquare;\n break;\n case C.extraRounded:\n d = this._drawExtraRounded;\n break;\n default:\n d = this._drawDot;\n }\n d.call(this, { x: f, y: l, size: v, rotation: g });\n }\n _rotateFigure({ x: f, y: l, size: v, rotation: g = 0, draw: d }) {\n var S;\n const j = f + v / 2, P = l + v / 2;\n d(), (S = this._element) === null || S === void 0 || S.setAttribute(\"transform\", `rotate(${180 * g / Math.PI},${j},${P})`);\n }\n _basicDot(f) {\n const { size: l, x: v, y: g } = f, d = l / 7;\n this._rotateFigure(Object.assign(Object.assign({}, f), { draw: () => {\n this._element = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\"), this._element.setAttribute(\"clip-rule\", \"evenodd\"), this._element.setAttribute(\"d\", `M ${v + l / 2} ${g}a ${l / 2} ${l / 2} 0 1 0 0.1 0zm 0 ${d}a ${l / 2 - d} ${l / 2 - d} 0 1 1 -0.1 0Z`);\n } }));\n }\n _basicSquare(f) {\n const { size: l, x: v, y: g } = f, d = l / 7;\n this._rotateFigure(Object.assign(Object.assign({}, f), { draw: () => {\n this._element = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\"), this._element.setAttribute(\"clip-rule\", \"evenodd\"), this._element.setAttribute(\"d\", `M ${v} ${g}v ${l}h ${l}v ` + -l + `zM ${v + d} ${g + d}h ` + (l - 2 * d) + \"v \" + (l - 2 * d) + \"h \" + (2 * d - l) + \"z\");\n } }));\n }\n _basicExtraRounded(f) {\n const { size: l, x: v, y: g } = f, d = l / 7;\n this._rotateFigure(Object.assign(Object.assign({}, f), { draw: () => {\n this._element = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\"), this._element.setAttribute(\"clip-rule\", \"evenodd\"), this._element.setAttribute(\"d\", `M ${v} ${g + 2.5 * d}v ` + 2 * d + `a ${2.5 * d} ${2.5 * d}, 0, 0, 0, ${2.5 * d} ${2.5 * d}h ` + 2 * d + `a ${2.5 * d} ${2.5 * d}, 0, 0, 0, ${2.5 * d} ${2.5 * -d}v ` + -2 * d + `a ${2.5 * d} ${2.5 * d}, 0, 0, 0, ${2.5 * -d} ${2.5 * -d}h ` + -2 * d + `a ${2.5 * d} ${2.5 * d}, 0, 0, 0, ${2.5 * -d} ${2.5 * d}M ${v + 2.5 * d} ${g + d}h ` + 2 * d + `a ${1.5 * d} ${1.5 * d}, 0, 0, 1, ${1.5 * d} ${1.5 * d}v ` + 2 * d + `a ${1.5 * d} ${1.5 * d}, 0, 0, 1, ${1.5 * -d} ${1.5 * d}h ` + -2 * d + `a ${1.5 * d} ${1.5 * d}, 0, 0, 1, ${1.5 * -d} ${1.5 * -d}v ` + -2 * d + `a ${1.5 * d} ${1.5 * d}, 0, 0, 1, ${1.5 * d} ${1.5 * -d}`);\n } }));\n }\n _drawDot({ x: f, y: l, size: v, rotation: g }) {\n this._basicDot({ x: f, y: l, size: v, rotation: g });\n }\n _drawSquare({ x: f, y: l, size: v, rotation: g }) {\n this._basicSquare({ x: f, y: l, size: v, rotation: g });\n }\n _drawExtraRounded({ x: f, y: l, size: v, rotation: g }) {\n this._basicExtraRounded({ x: f, y: l, size: v, rotation: g });\n }\n }\n const R = { dot: \"dot\", square: \"square\" }, U = Object.values(R);\n class $ {\n constructor({ svg: f, type: l, window: v }) {\n this._svg = f, this._type = l, this._window = v;\n }\n draw(f, l, v, g) {\n let d;\n d = this._type === R.square ? this._drawSquare : this._drawDot, d.call(this, { x: f, y: l, size: v, rotation: g });\n }\n _rotateFigure({ x: f, y: l, size: v, rotation: g = 0, draw: d }) {\n var S;\n const j = f + v / 2, P = l + v / 2;\n d(), (S = this._element) === null || S === void 0 || S.setAttribute(\"transform\", `rotate(${180 * g / Math.PI},${j},${P})`);\n }\n _basicDot(f) {\n const { size: l, x: v, y: g } = f;\n this._rotateFigure(Object.assign(Object.assign({}, f), { draw: () => {\n this._element = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"circle\"), this._element.setAttribute(\"cx\", String(v + l / 2)), this._element.setAttribute(\"cy\", String(g + l / 2)), this._element.setAttribute(\"r\", String(l / 2));\n } }));\n }\n _basicSquare(f) {\n const { size: l, x: v, y: g } = f;\n this._rotateFigure(Object.assign(Object.assign({}, f), { draw: () => {\n this._element = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\"), this._element.setAttribute(\"x\", String(v)), this._element.setAttribute(\"y\", String(g)), this._element.setAttribute(\"width\", String(l)), this._element.setAttribute(\"height\", String(l));\n } }));\n }\n _drawDot({ x: f, y: l, size: v, rotation: g }) {\n this._basicDot({ x: f, y: l, size: v, rotation: g });\n }\n _drawSquare({ x: f, y: l, size: v, rotation: g }) {\n this._basicSquare({ x: f, y: l, size: v, rotation: g });\n }\n }\n const B = \"circle\", K = [[1, 1, 1, 1, 1, 1, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1]], J = [[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];\n class Q {\n constructor(f, l) {\n this._roundSize = (v) => this._options.dotsOptions.roundSize ? Math.floor(v) : v, this._window = l, this._element = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\"), this._element.setAttribute(\"width\", String(f.width)), this._element.setAttribute(\"height\", String(f.height)), this._element.setAttribute(\"xmlns:xlink\", \"http://www.w3.org/1999/xlink\"), f.dotsOptions.roundSize || this._element.setAttribute(\"shape-rendering\", \"crispEdges\"), this._element.setAttribute(\"viewBox\", `0 0 ${f.width} ${f.height}`), this._defs = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"defs\"), this._element.appendChild(this._defs), this._imageUri = f.image, this._instanceId = Q.instanceCount++, this._options = f;\n }\n get width() {\n return this._options.width;\n }\n get height() {\n return this._options.height;\n }\n getElement() {\n return this._element;\n }\n async drawQR(f) {\n const l = f.getModuleCount(), v = Math.min(this._options.width, this._options.height) - 2 * this._options.margin, g = this._options.shape === B ? v / Math.sqrt(2) : v, d = this._roundSize(g / l);\n let S = { hideXDots: 0, hideYDots: 0, width: 0, height: 0 };\n if (this._qr = f, this._options.image) {\n if (await this.loadImage(), !this._image) return;\n const { imageOptions: j, qrOptions: P } = this._options, Z = j.imageSize * w[P.errorCorrectionLevel], G = Math.floor(Z * l * l);\n S = function({ originalHeight: te, originalWidth: W, maxHiddenDots: ie, maxHiddenAxisDots: le, dotSize: ue }) {\n const _ = { x: 0, y: 0 }, F = { x: 0, y: 0 };\n if (te <= 0 || W <= 0 || ie <= 0 || ue <= 0) return { height: 0, width: 0, hideYDots: 0, hideXDots: 0 };\n const x = te / W;\n return _.x = Math.floor(Math.sqrt(ie / x)), _.x <= 0 && (_.x = 1), le && le < _.x && (_.x = le), _.x % 2 == 0 && _.x--, F.x = _.x * ue, _.y = 1 + 2 * Math.ceil((_.x * x - 1) / 2), F.y = Math.round(F.x * x), (_.y * _.x > ie || le && le < _.y) && (le && le < _.y ? (_.y = le, _.y % 2 == 0 && _.x--) : _.y -= 2, F.y = _.y * ue, _.x = 1 + 2 * Math.ceil((_.y / x - 1) / 2), F.x = Math.round(F.y / x)), { height: F.y, width: F.x, hideYDots: _.y, hideXDots: _.x };\n }({ originalWidth: this._image.width, originalHeight: this._image.height, maxHiddenDots: G, maxHiddenAxisDots: l - 14, dotSize: d });\n }\n this.drawBackground(), this.drawDots((j, P) => {\n var Z, G, te, W, ie, le;\n return !(this._options.imageOptions.hideBackgroundDots && j >= (l - S.hideYDots) / 2 && j < (l + S.hideYDots) / 2 && P >= (l - S.hideXDots) / 2 && P < (l + S.hideXDots) / 2 || !((Z = K[j]) === null || Z === void 0) && Z[P] || !((G = K[j - l + 7]) === null || G === void 0) && G[P] || !((te = K[j]) === null || te === void 0) && te[P - l + 7] || !((W = J[j]) === null || W === void 0) && W[P] || !((ie = J[j - l + 7]) === null || ie === void 0) && ie[P] || !((le = J[j]) === null || le === void 0) && le[P - l + 7]);\n }), this.drawCorners(), this._options.image && await this.drawImage({ width: S.width, height: S.height, count: l, dotSize: d });\n }\n drawBackground() {\n var f, l, v;\n const g = this._element, d = this._options;\n if (g) {\n const S = (f = d.backgroundOptions) === null || f === void 0 ? void 0 : f.gradient, j = (l = d.backgroundOptions) === null || l === void 0 ? void 0 : l.color;\n let P = d.height, Z = d.width;\n if (S || j) {\n const G = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\");\n this._backgroundClipPath = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"clipPath\"), this._backgroundClipPath.setAttribute(\"id\", `clip-path-background-color-${this._instanceId}`), this._defs.appendChild(this._backgroundClipPath), !((v = d.backgroundOptions) === null || v === void 0) && v.round && (P = Z = Math.min(d.width, d.height), G.setAttribute(\"rx\", String(P / 2 * d.backgroundOptions.round))), G.setAttribute(\"x\", String(this._roundSize((d.width - Z) / 2))), G.setAttribute(\"y\", String(this._roundSize((d.height - P) / 2))), G.setAttribute(\"width\", String(Z)), G.setAttribute(\"height\", String(P)), this._backgroundClipPath.appendChild(G), this._createColor({ options: S, color: j, additionalRotation: 0, x: 0, y: 0, height: d.height, width: d.width, name: `background-color-${this._instanceId}` });\n }\n }\n }\n drawDots(f) {\n var l, v;\n if (!this._qr) throw \"QR code is not defined\";\n const g = this._options, d = this._qr.getModuleCount();\n if (d > g.width || d > g.height) throw \"The canvas is too small.\";\n const S = Math.min(g.width, g.height) - 2 * g.margin, j = g.shape === B ? S / Math.sqrt(2) : S, P = this._roundSize(j / d), Z = this._roundSize((g.width - d * P) / 2), G = this._roundSize((g.height - d * P) / 2), te = new y({ svg: this._element, type: g.dotsOptions.type, window: this._window });\n this._dotsClipPath = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"clipPath\"), this._dotsClipPath.setAttribute(\"id\", `clip-path-dot-color-${this._instanceId}`), this._defs.appendChild(this._dotsClipPath), this._createColor({ options: (l = g.dotsOptions) === null || l === void 0 ? void 0 : l.gradient, color: g.dotsOptions.color, additionalRotation: 0, x: 0, y: 0, height: g.height, width: g.width, name: `dot-color-${this._instanceId}` });\n for (let W = 0; W < d; W++) for (let ie = 0; ie < d; ie++) f && !f(W, ie) || !((v = this._qr) === null || v === void 0) && v.isDark(W, ie) && (te.draw(Z + ie * P, G + W * P, P, (le, ue) => !(ie + le < 0 || W + ue < 0 || ie + le >= d || W + ue >= d) && !(f && !f(W + ue, ie + le)) && !!this._qr && this._qr.isDark(W + ue, ie + le)), te._element && this._dotsClipPath && this._dotsClipPath.appendChild(te._element));\n if (g.shape === B) {\n const W = this._roundSize((S / P - d) / 2), ie = d + 2 * W, le = Z - W * P, ue = G - W * P, _ = [], F = this._roundSize(ie / 2);\n for (let x = 0; x < ie; x++) {\n _[x] = [];\n for (let I = 0; I < ie; I++) x >= W - 1 && x <= ie - W && I >= W - 1 && I <= ie - W || Math.sqrt((x - F) * (x - F) + (I - F) * (I - F)) > F ? _[x][I] = 0 : _[x][I] = this._qr.isDark(I - 2 * W < 0 ? I : I >= d ? I - 2 * W : I - W, x - 2 * W < 0 ? x : x >= d ? x - 2 * W : x - W) ? 1 : 0;\n }\n for (let x = 0; x < ie; x++) for (let I = 0; I < ie; I++) _[x][I] && (te.draw(le + I * P, ue + x * P, P, (L, oe) => {\n var h;\n return !!(!((h = _[x + oe]) === null || h === void 0) && h[I + L]);\n }), te._element && this._dotsClipPath && this._dotsClipPath.appendChild(te._element));\n }\n }\n drawCorners() {\n if (!this._qr) throw \"QR code is not defined\";\n const f = this._element, l = this._options;\n if (!f) throw \"Element code is not defined\";\n const v = this._qr.getModuleCount(), g = Math.min(l.width, l.height) - 2 * l.margin, d = l.shape === B ? g / Math.sqrt(2) : g, S = this._roundSize(d / v), j = 7 * S, P = 3 * S, Z = this._roundSize((l.width - v * S) / 2), G = this._roundSize((l.height - v * S) / 2);\n [[0, 0, 0], [1, 0, Math.PI / 2], [0, 1, -Math.PI / 2]].forEach(([te, W, ie]) => {\n var le, ue, _, F, x, I, L, oe, h, a, u, m, b, O;\n const M = Z + te * S * (v - 7), ne = G + W * S * (v - 7);\n let se = this._dotsClipPath, X = this._dotsClipPath;\n if ((!((le = l.cornersSquareOptions) === null || le === void 0) && le.gradient || !((ue = l.cornersSquareOptions) === null || ue === void 0) && ue.color) && (se = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"clipPath\"), se.setAttribute(\"id\", `clip-path-corners-square-color-${te}-${W}-${this._instanceId}`), this._defs.appendChild(se), this._cornersSquareClipPath = this._cornersDotClipPath = X = se, this._createColor({ options: (_ = l.cornersSquareOptions) === null || _ === void 0 ? void 0 : _.gradient, color: (F = l.cornersSquareOptions) === null || F === void 0 ? void 0 : F.color, additionalRotation: ie, x: M, y: ne, height: j, width: j, name: `corners-square-color-${te}-${W}-${this._instanceId}` })), ((x = l.cornersSquareOptions) === null || x === void 0 ? void 0 : x.type) && A.includes(l.cornersSquareOptions.type)) {\n const ge = new T({ svg: this._element, type: l.cornersSquareOptions.type, window: this._window });\n ge.draw(M, ne, j, ie), ge._element && se && se.appendChild(ge._element);\n } else {\n const ge = new y({ svg: this._element, type: ((I = l.cornersSquareOptions) === null || I === void 0 ? void 0 : I.type) || l.dotsOptions.type, window: this._window });\n for (let he = 0; he < K.length; he++) for (let ce = 0; ce < K[he].length; ce++) !((L = K[he]) === null || L === void 0) && L[ce] && (ge.draw(M + ce * S, ne + he * S, S, (Ae, xe) => {\n var Ee;\n return !!(!((Ee = K[he + xe]) === null || Ee === void 0) && Ee[ce + Ae]);\n }), ge._element && se && se.appendChild(ge._element));\n }\n if ((!((oe = l.cornersDotOptions) === null || oe === void 0) && oe.gradient || !((h = l.cornersDotOptions) === null || h === void 0) && h.color) && (X = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"clipPath\"), X.setAttribute(\"id\", `clip-path-corners-dot-color-${te}-${W}-${this._instanceId}`), this._defs.appendChild(X), this._cornersDotClipPath = X, this._createColor({ options: (a = l.cornersDotOptions) === null || a === void 0 ? void 0 : a.gradient, color: (u = l.cornersDotOptions) === null || u === void 0 ? void 0 : u.color, additionalRotation: ie, x: M + 2 * S, y: ne + 2 * S, height: P, width: P, name: `corners-dot-color-${te}-${W}-${this._instanceId}` })), ((m = l.cornersDotOptions) === null || m === void 0 ? void 0 : m.type) && U.includes(l.cornersDotOptions.type)) {\n const ge = new $({ svg: this._element, type: l.cornersDotOptions.type, window: this._window });\n ge.draw(M + 2 * S, ne + 2 * S, P, ie), ge._element && X && X.appendChild(ge._element);\n } else {\n const ge = new y({ svg: this._element, type: ((b = l.cornersDotOptions) === null || b === void 0 ? void 0 : b.type) || l.dotsOptions.type, window: this._window });\n for (let he = 0; he < J.length; he++) for (let ce = 0; ce < J[he].length; ce++) !((O = J[he]) === null || O === void 0) && O[ce] && (ge.draw(M + ce * S, ne + he * S, S, (Ae, xe) => {\n var Ee;\n return !!(!((Ee = J[he + xe]) === null || Ee === void 0) && Ee[ce + Ae]);\n }), ge._element && X && X.appendChild(ge._element));\n }\n });\n }\n loadImage() {\n return new Promise((f, l) => {\n var v;\n const g = this._options;\n if (!g.image) return l(\"Image is not defined\");\n if (!((v = g.nodeCanvas) === null || v === void 0) && v.loadImage) g.nodeCanvas.loadImage(g.image).then((d) => {\n var S, j;\n if (this._image = d, this._options.imageOptions.saveAsBlob) {\n const P = (S = g.nodeCanvas) === null || S === void 0 ? void 0 : S.createCanvas(this._image.width, this._image.height);\n (j = P == null ? void 0 : P.getContext(\"2d\")) === null || j === void 0 || j.drawImage(d, 0, 0), this._imageUri = P == null ? void 0 : P.toDataURL();\n }\n f();\n }).catch(l);\n else {\n const d = new this._window.Image();\n typeof g.imageOptions.crossOrigin == \"string\" && (d.crossOrigin = g.imageOptions.crossOrigin), this._image = d, d.onload = async () => {\n this._options.imageOptions.saveAsBlob && (this._imageUri = await async function(S, j) {\n return new Promise((P) => {\n const Z = new j.XMLHttpRequest();\n Z.onload = function() {\n const G = new j.FileReader();\n G.onloadend = function() {\n P(G.result);\n }, G.readAsDataURL(Z.response);\n }, Z.open(\"GET\", S), Z.responseType = \"blob\", Z.send();\n });\n }(g.image || \"\", this._window)), f();\n }, d.src = g.image;\n }\n });\n }\n async drawImage({ width: f, height: l, count: v, dotSize: g }) {\n const d = this._options, S = this._roundSize((d.width - v * g) / 2), j = this._roundSize((d.height - v * g) / 2), P = S + this._roundSize(d.imageOptions.margin + (v * g - f) / 2), Z = j + this._roundSize(d.imageOptions.margin + (v * g - l) / 2), G = f - 2 * d.imageOptions.margin, te = l - 2 * d.imageOptions.margin, W = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n W.setAttribute(\"href\", this._imageUri || \"\"), W.setAttribute(\"xlink:href\", this._imageUri || \"\"), W.setAttribute(\"x\", String(P)), W.setAttribute(\"y\", String(Z)), W.setAttribute(\"width\", `${G}px`), W.setAttribute(\"height\", `${te}px`), this._element.appendChild(W);\n }\n _createColor({ options: f, color: l, additionalRotation: v, x: g, y: d, height: S, width: j, name: P }) {\n const Z = j > S ? j : S, G = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\");\n if (G.setAttribute(\"x\", String(g)), G.setAttribute(\"y\", String(d)), G.setAttribute(\"height\", String(S)), G.setAttribute(\"width\", String(j)), G.setAttribute(\"clip-path\", `url('#clip-path-${P}')`), f) {\n let te;\n if (f.type === \"radial\") te = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"radialGradient\"), te.setAttribute(\"id\", P), te.setAttribute(\"gradientUnits\", \"userSpaceOnUse\"), te.setAttribute(\"fx\", String(g + j / 2)), te.setAttribute(\"fy\", String(d + S / 2)), te.setAttribute(\"cx\", String(g + j / 2)), te.setAttribute(\"cy\", String(d + S / 2)), te.setAttribute(\"r\", String(Z / 2));\n else {\n const W = ((f.rotation || 0) + v) % (2 * Math.PI), ie = (W + 2 * Math.PI) % (2 * Math.PI);\n let le = g + j / 2, ue = d + S / 2, _ = g + j / 2, F = d + S / 2;\n ie >= 0 && ie <= 0.25 * Math.PI || ie > 1.75 * Math.PI && ie <= 2 * Math.PI ? (le -= j / 2, ue -= S / 2 * Math.tan(W), _ += j / 2, F += S / 2 * Math.tan(W)) : ie > 0.25 * Math.PI && ie <= 0.75 * Math.PI ? (ue -= S / 2, le -= j / 2 / Math.tan(W), F += S / 2, _ += j / 2 / Math.tan(W)) : ie > 0.75 * Math.PI && ie <= 1.25 * Math.PI ? (le += j / 2, ue += S / 2 * Math.tan(W), _ -= j / 2, F -= S / 2 * Math.tan(W)) : ie > 1.25 * Math.PI && ie <= 1.75 * Math.PI && (ue += S / 2, le += j / 2 / Math.tan(W), F -= S / 2, _ -= j / 2 / Math.tan(W)), te = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"linearGradient\"), te.setAttribute(\"id\", P), te.setAttribute(\"gradientUnits\", \"userSpaceOnUse\"), te.setAttribute(\"x1\", String(Math.round(le))), te.setAttribute(\"y1\", String(Math.round(ue))), te.setAttribute(\"x2\", String(Math.round(_))), te.setAttribute(\"y2\", String(Math.round(F)));\n }\n f.colorStops.forEach(({ offset: W, color: ie }) => {\n const le = this._window.document.createElementNS(\"http://www.w3.org/2000/svg\", \"stop\");\n le.setAttribute(\"offset\", 100 * W + \"%\"), le.setAttribute(\"stop-color\", ie), te.appendChild(le);\n }), G.setAttribute(\"fill\", `url('#${P}')`), this._defs.appendChild(te);\n } else l && G.setAttribute(\"fill\", l);\n this._element.appendChild(G);\n }\n }\n Q.instanceCount = 0;\n const re = Q, ae = \"canvas\", be = {};\n for (let E = 0; E <= 40; E++) be[E] = E;\n const we = { type: ae, shape: \"square\", width: 300, height: 300, data: \"\", margin: 0, qrOptions: { typeNumber: be[0], mode: void 0, errorCorrectionLevel: \"Q\" }, imageOptions: { saveAsBlob: !0, hideBackgroundDots: !0, imageSize: 0.4, crossOrigin: void 0, margin: 0 }, dotsOptions: { type: \"square\", color: \"#000\", roundSize: !0 }, backgroundOptions: { round: 0, color: \"#fff\" } };\n function pe(E) {\n const f = Object.assign({}, E);\n if (!f.colorStops || !f.colorStops.length) throw \"Field 'colorStops' is required in gradient\";\n return f.rotation ? f.rotation = Number(f.rotation) : f.rotation = 0, f.colorStops = f.colorStops.map((l) => Object.assign(Object.assign({}, l), { offset: Number(l.offset) })), f;\n }\n function de(E) {\n const f = Object.assign({}, E);\n return f.width = Number(f.width), f.height = Number(f.height), f.margin = Number(f.margin), f.imageOptions = Object.assign(Object.assign({}, f.imageOptions), { hideBackgroundDots: !!f.imageOptions.hideBackgroundDots, imageSize: Number(f.imageOptions.imageSize), margin: Number(f.imageOptions.margin) }), f.margin > Math.min(f.width, f.height) && (f.margin = Math.min(f.width, f.height)), f.dotsOptions = Object.assign({}, f.dotsOptions), f.dotsOptions.gradient && (f.dotsOptions.gradient = pe(f.dotsOptions.gradient)), f.cornersSquareOptions && (f.cornersSquareOptions = Object.assign({}, f.cornersSquareOptions), f.cornersSquareOptions.gradient && (f.cornersSquareOptions.gradient = pe(f.cornersSquareOptions.gradient))), f.cornersDotOptions && (f.cornersDotOptions = Object.assign({}, f.cornersDotOptions), f.cornersDotOptions.gradient && (f.cornersDotOptions.gradient = pe(f.cornersDotOptions.gradient))), f.backgroundOptions && (f.backgroundOptions = Object.assign({}, f.backgroundOptions), f.backgroundOptions.gradient && (f.backgroundOptions.gradient = pe(f.backgroundOptions.gradient))), f;\n }\n var me = i(873), ve = i.n(me);\n function Se(E) {\n if (!E) throw new Error(\"Extension must be defined\");\n E[0] === \".\" && (E = E.substring(1));\n const f = { bmp: \"image/bmp\", gif: \"image/gif\", ico: \"image/vnd.microsoft.icon\", jpeg: \"image/jpeg\", jpg: \"image/jpeg\", png: \"image/png\", svg: \"image/svg+xml\", tif: \"image/tiff\", tiff: \"image/tiff\", webp: \"image/webp\", pdf: \"application/pdf\" }[E.toLowerCase()];\n if (!f) throw new Error(`Extension \"${E}\" is not supported`);\n return f;\n }\n class k {\n constructor(f) {\n f != null && f.jsdom ? this._window = new f.jsdom(\"\", { resources: \"usable\" }).window : this._window = window, this._options = f ? de(c(we, f)) : we, this.update();\n }\n static _clearContainer(f) {\n f && (f.innerHTML = \"\");\n }\n _setupSvg() {\n if (!this._qr) return;\n const f = new re(this._options, this._window);\n this._svg = f.getElement(), this._svgDrawingPromise = f.drawQR(this._qr).then(() => {\n var l;\n this._svg && ((l = this._extension) === null || l === void 0 || l.call(this, f.getElement(), this._options));\n });\n }\n _setupCanvas() {\n var f, l;\n this._qr && (!((f = this._options.nodeCanvas) === null || f === void 0) && f.createCanvas ? (this._nodeCanvas = this._options.nodeCanvas.createCanvas(this._options.width, this._options.height), this._nodeCanvas.width = this._options.width, this._nodeCanvas.height = this._options.height) : (this._domCanvas = document.createElement(\"canvas\"), this._domCanvas.width = this._options.width, this._domCanvas.height = this._options.height), this._setupSvg(), this._canvasDrawingPromise = (l = this._svgDrawingPromise) === null || l === void 0 ? void 0 : l.then(() => {\n var v;\n if (!this._svg) return;\n const g = this._svg, d = new this._window.XMLSerializer().serializeToString(g), S = btoa(d), j = `data:${Se(\"svg\")};base64,${S}`;\n if (!((v = this._options.nodeCanvas) === null || v === void 0) && v.loadImage) return this._options.nodeCanvas.loadImage(j).then((P) => {\n var Z, G;\n P.width = this._options.width, P.height = this._options.height, (G = (Z = this._nodeCanvas) === null || Z === void 0 ? void 0 : Z.getContext(\"2d\")) === null || G === void 0 || G.drawImage(P, 0, 0);\n });\n {\n const P = new this._window.Image();\n return new Promise((Z) => {\n P.onload = () => {\n var G, te;\n (te = (G = this._domCanvas) === null || G === void 0 ? void 0 : G.getContext(\"2d\")) === null || te === void 0 || te.drawImage(P, 0, 0), Z();\n }, P.src = j;\n });\n }\n }));\n }\n async _getElement(f = \"png\") {\n if (!this._qr) throw \"QR code is empty\";\n return f.toLowerCase() === \"svg\" ? (this._svg && this._svgDrawingPromise || this._setupSvg(), await this._svgDrawingPromise, this._svg) : ((this._domCanvas || this._nodeCanvas) && this._canvasDrawingPromise || this._setupCanvas(), await this._canvasDrawingPromise, this._domCanvas || this._nodeCanvas);\n }\n update(f) {\n k._clearContainer(this._container), this._options = f ? de(c(this._options, f)) : this._options, this._options.data && (this._qr = ve()(this._options.qrOptions.typeNumber, this._options.qrOptions.errorCorrectionLevel), this._qr.addData(this._options.data, this._options.qrOptions.mode || function(l) {\n switch (!0) {\n case /^[0-9]*$/.test(l):\n return \"Numeric\";\n case /^[0-9A-Z $%*+\\-./:]*$/.test(l):\n return \"Alphanumeric\";\n default:\n return \"Byte\";\n }\n }(this._options.data)), this._qr.make(), this._options.type === ae ? this._setupCanvas() : this._setupSvg(), this.append(this._container));\n }\n append(f) {\n if (f) {\n if (typeof f.appendChild != \"function\") throw \"Container should be a single DOM node\";\n this._options.type === ae ? this._domCanvas && f.appendChild(this._domCanvas) : this._svg && f.appendChild(this._svg), this._container = f;\n }\n }\n applyExtension(f) {\n if (!f) throw \"Extension function should be defined.\";\n this._extension = f, this.update();\n }\n deleteExtension() {\n this._extension = void 0, this.update();\n }\n async getRawData(f = \"png\") {\n if (!this._qr) throw \"QR code is empty\";\n const l = await this._getElement(f), v = Se(f);\n if (!l) return null;\n if (f.toLowerCase() === \"svg\") {\n const g = `<?xml version=\"1.0\" standalone=\"no\"?>\\r\n${new this._window.XMLSerializer().serializeToString(l)}`;\n return typeof Blob > \"u\" || this._options.jsdom ? Buffer.from(g) : new Blob([g], { type: v });\n }\n return new Promise((g) => {\n const d = l;\n if (\"toBuffer\" in d) if (v === \"image/png\") g(d.toBuffer(v));\n else if (v === \"image/jpeg\") g(d.toBuffer(v));\n else {\n if (v !== \"application/pdf\") throw Error(\"Unsupported extension\");\n g(d.toBuffer(v));\n }\n else \"toBlob\" in d && d.toBlob(g, v, 1);\n });\n }\n async download(f) {\n if (!this._qr) throw \"QR code is empty\";\n if (typeof Blob > \"u\") throw \"Cannot download in Node.js, call getRawData instead.\";\n let l = \"png\", v = \"qr\";\n typeof f == \"string\" ? (l = f, console.warn(\"Extension is deprecated as argument for 'download' method, please pass object { name: '...', extension: '...' } as argument\")) : typeof f == \"object\" && f !== null && (f.name && (v = f.name), f.extension && (l = f.extension));\n const g = await this._getElement(l);\n if (g) if (l.toLowerCase() === \"svg\") {\n let d = new XMLSerializer().serializeToString(g);\n d = `<?xml version=\"1.0\" standalone=\"no\"?>\\r\n` + d, p(`data:${Se(l)};charset=utf-8,${encodeURIComponent(d)}`, `${v}.svg`);\n } else p(g.toDataURL(Se(l)), `${v}.${l}`);\n }\n }\n const D = k;\n })(), o.default;\n })());\n }(ir)), ir.exports;\n}\nvar Ha = Va();\nconst Ka = /* @__PURE__ */ Mi(Ha);\nfunction Ya(t) {\n const e = Le.c(21), {\n value: n,\n options: r\n } = t;\n let i;\n e[0] === Symbol.for(\"react.memo_cache_sentinel\") ? (i = {\n typeNumber: 0,\n mode: \"Byte\",\n errorCorrectionLevel: \"Q\"\n }, e[0] = i) : i = e[0];\n let o, s;\n e[1] === Symbol.for(\"react.memo_cache_sentinel\") ? (o = {\n color: \"var(--mantine-color-text)\",\n type: \"dots\"\n }, s = {\n color: \"transparent\"\n }, e[1] = o, e[2] = s) : (o = e[1], s = e[2]);\n let c;\n e[3] === Symbol.for(\"react.memo_cache_sentinel\") ? (c = {\n color: \"var(--mantine-color-immoself-outline)\",\n type: \"extra-rounded\"\n }, e[3] = c) : c = e[3];\n let p;\n e[4] === Symbol.for(\"react.memo_cache_sentinel\") ? (p = {\n color: \"var(--mantine-color-immoself-outline)\",\n type: \"dot\"\n }, e[4] = p) : p = e[4];\n let w;\n e[5] !== r || e[6] !== n ? (w = {\n width: 300,\n height: 300,\n type: \"svg\",\n data: n,\n qrOptions: i,\n dotsOptions: o,\n backgroundOptions: s,\n cornersSquareOptions: c,\n cornersDotOptions: p,\n ...r\n }, e[5] = r, e[6] = n, e[7] = w) : w = e[7];\n const [y, C] = qe(w);\n let A, T;\n e[8] !== r ? (A = () => {\n C((ae) => ({\n ...ae,\n ...r\n }));\n }, T = [r], e[8] = r, e[9] = A, e[10] = T) : (A = e[9], T = e[10]), at(A, T);\n const R = Ui(null);\n let U;\n e[11] !== y ? (U = new Ka(y), e[11] = y, e[12] = U) : U = e[12];\n const [$] = qe(U);\n let B, K;\n e[13] !== $ ? (B = () => {\n R.current && $.append(R.current);\n }, K = [$, R], e[13] = $, e[14] = B, e[15] = K) : (B = e[14], K = e[15]), at(B, K);\n let J, Q;\n e[16] !== y || e[17] !== $ ? (J = () => {\n $ && $.update(y);\n }, Q = [$, y], e[16] = y, e[17] = $, e[18] = J, e[19] = Q) : (J = e[18], Q = e[19]), at(J, Q);\n let re;\n return e[20] === Symbol.for(\"react.memo_cache_sentinel\") ? (re = /* @__PURE__ */ z.jsx(wt, { ref: R }), e[20] = re) : re = e[20], re;\n}\nfunction ou(t) {\n const e = Le.c(39), {\n mfaAppName: n,\n onEnable: r,\n onDisable: i,\n onError: o\n } = t, s = Yt(), c = Oi(), [p, w] = qe(\"disabled\"), [y, C] = qe(), [A, T] = qe(), R = new We(navigator.userAgent), U = `${R.getResult().os.name ?? \"Unknown OS\"} ${R.getBrowser().name ?? \"Unknown Browser\"}`;\n let $;\n e[0] === Symbol.for(\"react.memo_cache_sentinel\") ? ($ = {\n initialValues: {\n deviceName: U,\n totp: \"\"\n }\n }, e[0] = $) : $ = e[0];\n const B = Xe($);\n let K, J;\n e[1] === Symbol.for(\"react.memo_cache_sentinel\") ? (K = () => {\n ia().then((v) => {\n var g;\n if (v == null)\n return console.error(\"No user data in MFASetup.\");\n v.PreferredMfaSetting === \"SOFTWARE_TOKEN_MFA\" && w(\"enabled\"), T((g = v.UserAttributes.find(Ga)) == null ? void 0 : g.Value);\n }).catch(Wa);\n }, J = [], e[1] = K, e[2] = J) : (K = e[1], J = e[2]), at(K, J);\n let Q;\n e[3] !== B || e[4] !== p || e[5] !== r || e[6] !== o ? (Q = () => {\n p === \"enabling\" && B.values.totp.length === 6 && !B.errors.totp && oa(B.values.totp, B.values.deviceName).then(() => {\n sa().then(() => {\n w(\"enabled\"), r == null || r();\n }).catch((v) => {\n console.error(v), o == null || o(v.message);\n });\n }).catch((v) => {\n B.setFieldError(\"totp\", v.message), console.error(v.name, v.message);\n });\n }, e[3] = B, e[4] = p, e[5] = r, e[6] = o, e[7] = Q) : Q = e[7];\n let re;\n e[8] !== B || e[9] !== p ? (re = [p, B], e[8] = B, e[9] = p, e[10] = re) : re = e[10], at(Q, re);\n let ae;\n e[11] !== B || e[12] !== o ? (ae = () => {\n B.setFieldValue(\"totp\", \"\"), na().then((v) => {\n C(v), w(\"enabling\");\n }).catch((v) => {\n console.error(\"Unable to get MFA code\", v.message), o == null || o(v.message);\n });\n }, e[11] = B, e[12] = o, e[13] = ae) : ae = e[13];\n const be = ae;\n let we;\n e[14] !== i || e[15] !== o ? (we = () => {\n aa().then(() => {\n w(\"disabled\"), i == null || i();\n }).catch((v) => {\n console.error(v.name, v.message), o == null || o(v.message);\n });\n }, e[14] = i, e[15] = o, e[16] = we) : we = e[16];\n const pe = we, de = A === void 0 ? \"\" : `:${A}`, me = y === void 0 ? \"\" : `?secret=${y}`, ve = `otpauth://totp/${n}${de}${me}`;\n let Se;\n e[17] !== c || e[18] !== y || e[19] !== B || e[20] !== s.buttons || e[21] !== s.errors || e[22] !== s.links || e[23] !== s.texts || e[24] !== s.title || e[25] !== ve ? (Se = y !== void 0 ? /* @__PURE__ */ z.jsxs(\"form\", { children: [\n /* @__PURE__ */ z.jsxs(Pe, { size: \"sm\", ta: \"center\", children: [\n s.texts.scanQRCode,\n /* @__PURE__ */ z.jsx(Ze, { size: \"sm\", onClick: () => {\n c.copy(y);\n }, children: s.links.clickHere }),\n \" \",\n s.texts.copyCode\n ] }),\n /* @__PURE__ */ z.jsx(je, { mt: \"lg\", children: /* @__PURE__ */ z.jsx(Ya, { value: ve }) }),\n /* @__PURE__ */ z.jsx(Pe, { size: \"sm\", ta: \"center\", mt: \"lg\", children: s.texts.enterCode }),\n /* @__PURE__ */ z.jsx(fr, { label: s.title.deviceName, ...B.getInputProps(\"deviceName\"), mt: \"lg\" }),\n /* @__PURE__ */ z.jsxs(wt, { mt: \"md\", children: [\n /* @__PURE__ */ z.jsx(or, { required: !0, children: s.title.mfa }),\n /* @__PURE__ */ z.jsx(je, { children: /* @__PURE__ */ z.jsx(sr, { oneTimeCode: !0, type: \"number\", size: \"md\", length: 6, ...B.getInputProps(\"totp\") }) }),\n /* @__PURE__ */ z.jsx(Pe, { c: \"red\", size: \"xs\", children: B.errors.totp })\n ] }),\n /* @__PURE__ */ z.jsx(Ne, { fullWidth: !0, color: \"gray\", leftSection: /* @__PURE__ */ z.jsx(mt, { size: 14 }), variant: \"outline\", mt: \"lg\", onClick: () => {\n C(void 0), w(\"disabled\");\n }, children: s.buttons.cancel })\n ] }) : /* @__PURE__ */ z.jsx(Pe, { size: \"sm\", c: \"red\", children: s.errors.noCode }), e[17] = c, e[18] = y, e[19] = B, e[20] = s.buttons, e[21] = s.errors, e[22] = s.links, e[23] = s.texts, e[24] = s.title, e[25] = ve, e[26] = Se) : Se = e[26];\n const k = Se;\n let D;\n e[27] !== p || e[28] !== be || e[29] !== s.buttons ? (D = p === \"disabled\" && /* @__PURE__ */ z.jsx(Ne, { color: \"green\", onClick: be, children: s.buttons.enableMFA }), e[27] = p, e[28] = be, e[29] = s.buttons, e[30] = D) : D = e[30];\n const E = p === \"enabling\" && k;\n let f;\n e[31] !== p || e[32] !== pe || e[33] !== s.buttons ? (f = p === \"enabled\" && /* @__PURE__ */ z.jsx(Ne, { color: \"red\", onClick: pe, children: s.buttons.disableMFA }), e[31] = p, e[32] = pe, e[33] = s.buttons, e[34] = f) : f = e[34];\n let l;\n return e[35] !== E || e[36] !== f || e[37] !== D ? (l = /* @__PURE__ */ z.jsxs(lr, { maw: 380, children: [\n D,\n E,\n f\n ] }), e[35] = E, e[36] = f, e[37] = D, e[38] = l) : l = e[38], l;\n}\nfunction Wa(t) {\n console.error(\"Error getting user data\", t.message);\n}\nfunction Ga(t) {\n return t.Name === \"email\";\n}\nexport {\n ou as MFASetup,\n iu as MantineAuth,\n ru as getAccessToken,\n nu as getIdToken,\n gr as useAuth\n};\n//# sourceMappingURL=index.es.js.map\n","import { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { createContext, ReactNode } from \"react\";\n\nexport interface State {\n baseUrl: string;\n queryClient: QueryClient;\n}\n\ninterface DataTableContextProps {\n baseUrl: string;\n queryClient: QueryClient;\n children: ReactNode | ReactNode[];\n}\n\nexport const DataTableContext = createContext<State | undefined>(undefined);\n\nexport function DataTableProvider({\n children,\n baseUrl,\n queryClient,\n}: DataTableContextProps) {\n return (\n <DataTableContext.Provider value={{ baseUrl, queryClient }}>\n <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>\n </DataTableContext.Provider>\n );\n}\n","import { useContext } from \"react\";\nimport { DataTableContext, State } from \"../Context/DataTableContext.tsx\";\n\nexport function useDataTable(): State {\n const context = useContext(DataTableContext);\n\n if (!context) {\n throw new Error(\"useDataTable must be used within a DataTableProvider\");\n }\n\n return context;\n}\n","// Utility to parse API errors into a standard object\nexport function parseApiError(error: unknown): { message: string; code?: string; details?: any } {\n if (typeof error === \"string\") {\n try {\n const parsed = JSON.parse(error);\n return {\n message: parsed.message || error,\n code: parsed.code,\n details: parsed.details,\n };\n } catch {\n return { message: error };\n }\n }\n if (error instanceof Error) {\n return { message: error.message };\n }\n return { message: \"Unbekannter Fehler\" };\n}\n\n// Helper function to handle HTTP error responses consistently\nasync function handleHttpError(resp: Response): Promise<never> {\n // Read the response body as text first, then try to parse as JSON\n // This approach avoids the \"body already consumed\" issue entirely\n const responseText = await resp.text();\n \n if (!responseText) {\n // No body content, use status info\n throw new Error(`HTTP ${resp.status}: ${resp.statusText}`);\n }\n \n // Try to parse as JSON\n let errorJson: { message?: string; error?: string; details?: string } | null = null;\n try {\n errorJson = JSON.parse(responseText);\n } catch {\n // Not valid JSON, use the raw text\n throw new Error(responseText);\n }\n \n // Extract the message from the parsed JSON\n if (errorJson?.message) {\n throw new Error(errorJson.message);\n } else if (errorJson?.error) {\n throw new Error(errorJson.error);\n } else {\n // JSON was parsed but no message/error field found\n throw new Error(responseText);\n }\n}\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { getIdToken } from \"@espresso-lab/mantine-cognito\";\nimport { useDataTable } from \"./useDataTable.ts\";\n\nexport interface BaseEntity {\n id: string | number;\n}\n\ntype AtLeast<T, K extends keyof T> = Partial<T> & Pick<T, K>;\n\nfunction getAssumeOrg(): HeadersInit {\n const org = localStorage.getItem(\"a360.assumed-org\");\n return org ? { \"X-Assume-Org\": org } : {};\n}\n\nexport async function getApiHeaders() {\n return {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${(await getIdToken()) ?? \"\"}`,\n ...getAssumeOrg(),\n };\n}\n\nexport async function getAll<T extends BaseEntity>(path: string): Promise<T[]> {\n return fetch(path, {\n method: \"GET\",\n headers: await getApiHeaders(),\n })\n .then(async (resp) => {\n if (resp.status >= 400) {\n await handleHttpError(resp);\n }\n return resp;\n })\n .then((resp) => resp.json())\n .then((data) => data as T[]);\n}\n\nexport async function getOne<T extends BaseEntity>(\n path: string,\n id: string | number,\n): Promise<T> {\n return fetch(`${path}/${id}`, {\n method: \"GET\",\n headers: await getApiHeaders(),\n })\n .then(async (resp) => {\n if (resp.status >= 400) {\n await handleHttpError(resp);\n }\n return resp;\n })\n .then((resp) => resp.json())\n .then((data) => data as T);\n}\n\nexport async function deleteOne(\n path: string,\n id: string | number,\n): Promise<void> {\n const resp = await fetch(`${path}/${id}`, {\n method: \"DELETE\",\n headers: await getApiHeaders(),\n });\n \n if (resp.status >= 400) {\n await handleHttpError(resp);\n }\n}\n\nexport async function createOne<C, T extends BaseEntity>(\n path: string,\n item: C,\n): Promise<T> {\n return fetch(path, {\n method: \"POST\",\n headers: await getApiHeaders(),\n body: JSON.stringify(item),\n })\n .then(async (resp) => {\n if (resp.status >= 400) {\n await handleHttpError(resp);\n }\n return resp;\n })\n .then((resp) => {\n if (resp.status == 204) {\n return item;\n } else {\n return resp.json();\n }\n })\n .then((data) => data as T);\n}\n\nexport async function api<R, U>(\n method: \"GET\" | \"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\",\n path: string,\n payload?: U,\n): Promise<R> {\n return fetch(path, {\n method,\n headers: await getApiHeaders(),\n body: payload ? JSON.stringify(payload) : undefined,\n })\n .then(async (resp) => {\n if (resp.status >= 400) {\n await handleHttpError(resp);\n }\n return resp;\n })\n .then((resp) => {\n if (resp.status == 204) {\n return;\n } else {\n return resp.json();\n }\n })\n .then((data) => data as R);\n}\n\nexport async function updateOne<T extends BaseEntity>(\n path: string,\n item: AtLeast<T, \"id\">,\n): Promise<T> {\n return fetch(`${path}/${item.id}`, {\n method: \"PUT\",\n headers: await getApiHeaders(),\n body: JSON.stringify(item),\n })\n .then(async (resp) => {\n if (resp.status >= 400) {\n await handleHttpError(resp);\n }\n return resp;\n })\n .then((resp) => {\n if (resp.status == 204) {\n return item;\n } else {\n return resp.json();\n }\n })\n .then((data) => data as T);\n}\n\nexport function useGetOne<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n id?: string | number,\n) {\n const { baseUrl } = useDataTable();\n return useQuery<T>({\n queryKey: [...queryKey.map((k) => k.toString()), String(id?.toString())],\n queryFn: () => getOne<T>(`${baseUrl}${apiPath}`, id!),\n enabled: !!id,\n });\n}\n\nexport function useGetAll<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n enabled: boolean = true,\n) {\n const { baseUrl } = useDataTable();\n return useQuery<T[]>({\n queryKey: [...queryKey.map((k) => k.toString())],\n queryFn: () => getAll<T>(`${baseUrl}${apiPath}`),\n enabled\n });\n}\n\nexport function useAddOne<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n) {\n const { baseUrl, queryClient } = useDataTable();\n return useMutation<T, Error, Omit<T, \"id\">>({\n mutationKey: [...queryKey.map((k) => k.toString())],\n mutationFn: (item) =>\n createOne<Omit<T, \"id\">, T>(`${baseUrl}${apiPath}`, item),\n onSettled() {\n return queryClient.invalidateQueries({\n queryKey: [...queryKey.map((k) => k.toString())]\n });\n },\n onError(error) {\n parseApiError(error);\n },\n });\n}\n\nexport function useUpdateOne<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n) {\n const { baseUrl, queryClient } = useDataTable();\n return useMutation<T, Error, AtLeast<T, \"id\">>({\n mutationKey: [...queryKey.map((k) => k.toString())],\n mutationFn: (item: AtLeast<T, \"id\">) =>\n updateOne<T>(`${baseUrl}${apiPath}`, item),\n onSettled() {\n return queryClient.invalidateQueries({\n queryKey: [...queryKey.map((k) => k.toString())]\n });\n },\n onError(error) {\n parseApiError(error);\n },\n });\n}\n\nexport function useDeleteOne(\n apiPath: string,\n queryKey: Array<string | number>,\n) {\n const { baseUrl, queryClient } = useDataTable();\n return useMutation<void, Error, string | number>({\n mutationKey: [...queryKey.map((k) => k.toString())],\n mutationFn: (id) => deleteOne(`${baseUrl}${apiPath}`, id),\n onSettled() {\n return queryClient.invalidateQueries({\n queryKey: [...queryKey.map((k) => k.toString())]\n });\n },\n onError(error) {\n parseApiError(error);\n },\n });\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","'use client';\nfunction getNextIndex({ direction, levelIndex, rowIndex, cellIndex, size }) {\n switch (direction) {\n case \"up\":\n if (levelIndex === 0 && rowIndex === 0) {\n return null;\n }\n if (rowIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex: cellIndex <= size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1 ? size[levelIndex - 1].length - 1 : size[levelIndex - 1].length - 2,\n cellIndex\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex\n };\n case \"down\":\n if (rowIndex === size[levelIndex].length - 1) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex\n };\n }\n if (rowIndex === size[levelIndex].length - 2 && cellIndex >= size[levelIndex][size[levelIndex].length - 1]) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex\n };\n case \"left\":\n if (levelIndex === 0 && rowIndex === 0 && cellIndex === 0) {\n return null;\n }\n if (rowIndex === 0 && cellIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex: size[levelIndex - 1].length - 1,\n cellIndex: size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1\n };\n }\n if (cellIndex === 0) {\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex: size[levelIndex][rowIndex - 1] - 1\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex - 1\n };\n case \"right\":\n if (rowIndex === size[levelIndex].length - 1 && cellIndex === size[levelIndex][rowIndex] - 1) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex: 0\n };\n }\n if (cellIndex === size[levelIndex][rowIndex] - 1) {\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex: 0\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex + 1\n };\n default:\n return { levelIndex, rowIndex, cellIndex };\n }\n}\nfunction focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size\n}) {\n const nextIndex = getNextIndex({ direction, size, rowIndex, cellIndex, levelIndex });\n if (!nextIndex) {\n return;\n }\n const controlToFocus = controlsRef.current?.[nextIndex.levelIndex]?.[nextIndex.rowIndex]?.[nextIndex.cellIndex];\n if (!controlToFocus) {\n return;\n }\n if (controlToFocus.disabled || controlToFocus.getAttribute(\"data-hidden\") || controlToFocus.getAttribute(\"data-outside\")) {\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex: nextIndex.levelIndex,\n cellIndex: nextIndex.cellIndex,\n rowIndex: nextIndex.rowIndex,\n size\n });\n } else {\n controlToFocus.focus();\n }\n}\nfunction getDirection(key) {\n switch (key) {\n case \"ArrowDown\":\n return \"down\";\n case \"ArrowUp\":\n return \"up\";\n case \"ArrowRight\":\n return \"right\";\n case \"ArrowLeft\":\n return \"left\";\n default:\n return null;\n }\n}\nfunction getControlsSize(controlsRef) {\n return controlsRef.current?.map((column) => column.map((row) => row.length));\n}\nfunction handleControlKeyDown({\n controlsRef,\n levelIndex,\n rowIndex,\n cellIndex,\n event\n}) {\n const direction = getDirection(event.key);\n if (direction) {\n event.preventDefault();\n const size = getControlsSize(controlsRef);\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size\n });\n }\n}\n\nexport { handleControlKeyDown };\n//# sourceMappingURL=handle-control-key-down.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction toDateString(value) {\n return value == null || value === \"\" ? value : dayjs(value).format(\"YYYY-MM-DD\");\n}\nfunction toDateTimeString(value) {\n return value == null || value === \"\" ? value : dayjs(value).format(\"YYYY-MM-DD HH:mm:ss\");\n}\n\nexport { toDateString, toDateTimeString };\n//# sourceMappingURL=to-date-string.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { createContext } from 'react';\n\nconst DATES_PROVIDER_DEFAULT_SETTINGS = {\n locale: \"en\",\n firstDayOfWeek: 1,\n weekendDays: [0, 6],\n labelSeparator: \"\\u2013\",\n consistentWeeks: false\n};\nconst DatesProviderContext = createContext(DATES_PROVIDER_DEFAULT_SETTINGS);\nfunction DatesProvider({ settings, children }) {\n return /* @__PURE__ */ jsx(DatesProviderContext.Provider, { value: { ...DATES_PROVIDER_DEFAULT_SETTINGS, ...settings }, children });\n}\n\nexport { DATES_PROVIDER_DEFAULT_SETTINGS, DatesProvider, DatesProviderContext };\n//# sourceMappingURL=DatesProvider.mjs.map\n","'use client';\nimport { useContext, useCallback } from 'react';\nimport { DatesProviderContext } from './DatesProvider.mjs';\n\nfunction useDatesContext() {\n const ctx = useContext(DatesProviderContext);\n const getLocale = useCallback((input) => input || ctx.locale, [ctx.locale]);\n const getFirstDayOfWeek = useCallback(\n (input) => typeof input === \"number\" ? input : ctx.firstDayOfWeek,\n [ctx.firstDayOfWeek]\n );\n const getWeekendDays = useCallback(\n (input) => Array.isArray(input) ? input : ctx.weekendDays,\n [ctx.weekendDays]\n );\n const getLabelSeparator = useCallback(\n (input) => typeof input === \"string\" ? input : ctx.labelSeparator,\n [ctx.labelSeparator]\n );\n return {\n ...ctx,\n getLocale,\n getFirstDayOfWeek,\n getWeekendDays,\n getLabelSeparator\n };\n}\n\nexport { useDatesContext };\n//# sourceMappingURL=use-dates-context.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport 'dayjs';\nimport { toDateTimeString, toDateString } from '../../utils/to-date-string/to-date-string.mjs';\n\nfunction formatValue({ value, type, withTime }) {\n const formatter = withTime ? toDateTimeString : toDateString;\n if (type === \"range\" && Array.isArray(value)) {\n const startDate = formatter(value[0]);\n const endDate = formatter(value[1]);\n if (!startDate) {\n return \"\";\n }\n if (!endDate) {\n return `${startDate} \\u2013`;\n }\n return `${startDate} \\u2013 ${endDate}`;\n }\n if (type === \"multiple\" && Array.isArray(value)) {\n return value.filter(Boolean).join(\", \");\n }\n if (!Array.isArray(value) && value) {\n return formatter(value);\n }\n return \"\";\n}\nfunction HiddenDatesInput({\n value,\n type,\n name,\n form,\n withTime = false\n}) {\n return /* @__PURE__ */ jsx(\"input\", { type: \"hidden\", value: formatValue({ value, type, withTime }), name, form });\n}\nHiddenDatesInput.displayName = \"@mantine/dates/HiddenDatesInput\";\n\nexport { HiddenDatesInput };\n//# sourceMappingURL=HiddenDatesInput.mjs.map\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","'use client';\nvar classes = {\"day\":\"m_396ce5cb\"};\n\nexport { classes as default };\n//# sourceMappingURL=Day.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { createVarsResolver, getSize, factory, useProps, useStyles, UnstyledButton } from '@mantine/core';\nimport classes from './Day.module.css.mjs';\n\nconst varsResolver = createVarsResolver((_, { size }) => ({\n day: {\n \"--day-size\": getSize(size, \"day-size\")\n }\n}));\nconst Day = factory((_props, ref) => {\n const props = useProps(\"Day\", null, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n date,\n disabled,\n __staticSelector,\n weekend,\n outside,\n selected,\n renderDay,\n inRange,\n firstInRange,\n lastInRange,\n hidden,\n static: isStatic,\n highlightToday,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"Day\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: \"day\"\n });\n return /* @__PURE__ */ jsx(\n UnstyledButton,\n {\n ...getStyles(\"day\", { style: hidden ? { display: \"none\" } : void 0 }),\n component: isStatic ? \"div\" : \"button\",\n ref,\n disabled,\n \"data-today\": dayjs(date).isSame(/* @__PURE__ */ new Date(), \"day\") || void 0,\n \"data-hidden\": hidden || void 0,\n \"data-highlight-today\": highlightToday || void 0,\n \"data-disabled\": disabled || void 0,\n \"data-weekend\": !disabled && !outside && weekend || void 0,\n \"data-outside\": !disabled && outside || void 0,\n \"data-selected\": !disabled && selected || void 0,\n \"data-in-range\": inRange && !disabled || void 0,\n \"data-first-in-range\": firstInRange && !disabled || void 0,\n \"data-last-in-range\": lastInRange && !disabled || void 0,\n \"data-static\": isStatic || void 0,\n unstyled,\n ...others,\n children: renderDay?.(date) || dayjs(date).date()\n }\n );\n});\nDay.classes = classes;\nDay.displayName = \"@mantine/dates/Day\";\n\nexport { Day };\n//# sourceMappingURL=Day.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction getWeekdayNames({\n locale,\n format = \"dd\",\n firstDayOfWeek = 1\n}) {\n const baseDate = dayjs().day(firstDayOfWeek);\n const labels = [];\n for (let i = 0; i < 7; i += 1) {\n if (typeof format === \"string\") {\n labels.push(dayjs(baseDate).add(i, \"days\").locale(locale).format(format));\n } else {\n labels.push(format(dayjs(baseDate).add(i, \"days\").format(\"YYYY-MM-DD\")));\n }\n }\n return labels;\n}\n\nexport { getWeekdayNames };\n//# sourceMappingURL=get-weekdays-names.mjs.map\n","'use client';\nvar classes = {\"weekday\":\"m_18a3eca\"};\n\nexport { classes as default };\n//# sourceMappingURL=WeekdaysRow.module.css.mjs.map\n","'use client';\nimport { jsx, jsxs } from 'react/jsx-runtime';\nimport { createVarsResolver, getSpacing, getFontSize, factory, useProps, useStyles, Box } from '@mantine/core';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { getWeekdayNames } from './get-weekdays-names/get-weekdays-names.mjs';\nimport classes from './WeekdaysRow.module.css.mjs';\n\nconst varsResolver = createVarsResolver((_, { size }) => ({\n weekdaysRow: {\n \"--wr-fz\": getFontSize(size),\n \"--wr-spacing\": getSpacing(size)\n }\n}));\nconst WeekdaysRow = factory((_props, ref) => {\n const props = useProps(\"WeekdaysRow\", null, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n cellComponent: CellComponent = \"th\",\n __staticSelector,\n withWeekNumbers,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"WeekdaysRow\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: \"weekdaysRow\"\n });\n const ctx = useDatesContext();\n const weekdays = getWeekdayNames({\n locale: ctx.getLocale(locale),\n format: weekdayFormat,\n firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek)\n }).map((weekday, index) => /* @__PURE__ */ jsx(CellComponent, { ...getStyles(\"weekday\"), children: weekday }, index));\n return /* @__PURE__ */ jsxs(Box, { component: \"tr\", ref, ...getStyles(\"weekdaysRow\"), ...others, children: [\n withWeekNumbers && /* @__PURE__ */ jsx(CellComponent, { ...getStyles(\"weekday\"), children: \"#\" }),\n weekdays\n ] });\n});\nWeekdaysRow.classes = classes;\nWeekdaysRow.displayName = \"@mantine/dates/WeekdaysRow\";\n\nexport { WeekdaysRow };\n//# sourceMappingURL=WeekdaysRow.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction getEndOfWeek(date, firstDayOfWeek = 1) {\n let value = dayjs(date);\n if (!value.isValid()) {\n return value;\n }\n const lastDayOfWeek = firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1;\n while (value.day() !== lastDayOfWeek) {\n value = value.add(1, \"day\");\n }\n return value.format(\"YYYY-MM-DD\");\n}\n\nexport { getEndOfWeek };\n//# sourceMappingURL=get-end-of-week.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction getStartOfWeek(date, firstDayOfWeek = 1) {\n let value = dayjs(date);\n while (value.day() !== firstDayOfWeek) {\n value = value.subtract(1, \"day\");\n }\n return value.format(\"YYYY-MM-DD\");\n}\n\nexport { getStartOfWeek };\n//# sourceMappingURL=get-start-of-week.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\nimport { getEndOfWeek } from '../get-end-of-week/get-end-of-week.mjs';\nimport { getStartOfWeek } from '../get-start-of-week/get-start-of-week.mjs';\n\nfunction getMonthDays({\n month,\n firstDayOfWeek = 1,\n consistentWeeks\n}) {\n const day = dayjs(month).subtract(dayjs(month).date() - 1, \"day\");\n const start = dayjs(day.format(\"YYYY-M-D\"));\n const startOfMonth = start.format(\"YYYY-MM-DD\");\n const endOfMonth = start.add(+start.daysInMonth() - 1, \"day\").format(\"YYYY-MM-DD\");\n const endDate = getEndOfWeek(endOfMonth, firstDayOfWeek);\n const weeks = [];\n let date = dayjs(getStartOfWeek(startOfMonth, firstDayOfWeek));\n while (dayjs(date).isBefore(endDate, \"day\")) {\n const days = [];\n for (let i = 0; i < 7; i += 1) {\n days.push(date.format(\"YYYY-MM-DD\"));\n date = date.add(1, \"day\");\n }\n weeks.push(days);\n }\n if (consistentWeeks && weeks.length < 6) {\n const lastWeek = weeks[weeks.length - 1];\n const lastDay = lastWeek[lastWeek.length - 1];\n let nextDay = dayjs(lastDay).add(1, \"day\");\n while (weeks.length < 6) {\n const days = [];\n for (let i = 0; i < 7; i += 1) {\n days.push(nextDay.format(\"YYYY-MM-DD\"));\n nextDay = nextDay.add(1, \"day\");\n }\n weeks.push(days);\n }\n }\n return weeks;\n}\n\nexport { getMonthDays };\n//# sourceMappingURL=get-month-days.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction isSameMonth(date, comparison) {\n return dayjs(date).format(\"YYYY-MM\") === dayjs(comparison).format(\"YYYY-MM\");\n}\n\nexport { isSameMonth };\n//# sourceMappingURL=is-same-month.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction isAfterMinDate(date, minDate) {\n return minDate ? dayjs(date).isAfter(dayjs(minDate).subtract(1, \"day\"), \"day\") : true;\n}\n\nexport { isAfterMinDate };\n//# sourceMappingURL=is-after-min-date.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction isBeforeMaxDate(date, maxDate) {\n return maxDate ? dayjs(date).isBefore(dayjs(maxDate).add(1, \"day\"), \"day\") : true;\n}\n\nexport { isBeforeMaxDate };\n//# sourceMappingURL=is-before-max-date.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\nimport { isAfterMinDate } from '../is-after-min-date/is-after-min-date.mjs';\nimport { isBeforeMaxDate } from '../is-before-max-date/is-before-max-date.mjs';\nimport { isSameMonth } from '../is-same-month/is-same-month.mjs';\n\nfunction getDateInTabOrder({\n dates,\n minDate,\n maxDate,\n getDayProps,\n excludeDate,\n hideOutsideDates,\n month\n}) {\n const enabledDates = dates.flat().filter(\n (date) => isBeforeMaxDate(date, maxDate) && isAfterMinDate(date, minDate) && !excludeDate?.(date) && !getDayProps?.(date)?.disabled && (!hideOutsideDates || isSameMonth(date, month))\n );\n const selectedDate = enabledDates.find((date) => getDayProps?.(date)?.selected);\n if (selectedDate) {\n return selectedDate;\n }\n const currentDate = enabledDates.find((date) => dayjs().isSame(date, \"date\"));\n if (currentDate) {\n return currentDate;\n }\n return enabledDates[0];\n}\n\nexport { getDateInTabOrder };\n//# sourceMappingURL=get-date-in-tab-order.mjs.map\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeek=t()}(this,(function(){\"use strict\";var e=\"day\";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,o,r=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf(\"year\"),o=4-n.isoWeekday(),n.isoWeekday()>4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","'use client';\nimport dayjs from 'dayjs';\nimport isoWeek from 'dayjs/plugin/isoWeek.js';\n\ndayjs.extend(isoWeek);\nfunction getWeekNumber(week) {\n const monday = week.find((date) => dayjs(date).day() === 1);\n return dayjs(monday).isoWeek();\n}\n\nexport { getWeekNumber };\n//# sourceMappingURL=get-week-number.mjs.map\n","'use client';\nvar classes = {\"month\":\"m_cc9820d3\",\"monthCell\":\"m_8f457cd5\",\"weekNumber\":\"m_6cff9dea\"};\n\nexport { classes as default };\n//# sourceMappingURL=Month.module.css.mjs.map\n","'use client';\nimport { jsx, jsxs } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { createVarsResolver, getSize, getFontSize, factory, useProps, useStyles, useResolvedStylesApi, Box } from '@mantine/core';\nimport { toDateString } from '../../utils/to-date-string/to-date-string.mjs';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { Day } from '../Day/Day.mjs';\nimport { WeekdaysRow } from '../WeekdaysRow/WeekdaysRow.mjs';\nimport { getDateInTabOrder } from './get-date-in-tab-order/get-date-in-tab-order.mjs';\nimport { getMonthDays } from './get-month-days/get-month-days.mjs';\nimport { getWeekNumber } from './get-week-number/get-week-number.mjs';\nimport { isAfterMinDate } from './is-after-min-date/is-after-min-date.mjs';\nimport { isBeforeMaxDate } from './is-before-max-date/is-before-max-date.mjs';\nimport { isSameMonth } from './is-same-month/is-same-month.mjs';\nimport classes from './Month.module.css.mjs';\n\nconst defaultProps = {\n withCellSpacing: true\n};\nconst varsResolver = createVarsResolver((_, { size }) => ({\n weekNumber: {\n \"--wn-fz\": getFontSize(size),\n \"--wn-size\": getSize(size, \"wn-size\")\n }\n}));\nconst Month = factory((_props, ref) => {\n const props = useProps(\"Month\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n __staticSelector,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n month,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n static: isStatic,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n highlightToday,\n withWeekNumbers,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"Month\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: \"month\"\n });\n const ctx = useDatesContext();\n const dates = getMonthDays({\n month,\n firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),\n consistentWeeks: ctx.consistentWeeks\n });\n const dateInTabOrder = getDateInTabOrder({\n dates,\n minDate: toDateString(minDate),\n maxDate: toDateString(maxDate),\n getDayProps,\n excludeDate,\n hideOutsideDates,\n month\n });\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({\n classNames,\n styles,\n props\n });\n const rows = dates.map((row, rowIndex) => {\n const cells = row.map((date, cellIndex) => {\n const outside = !isSameMonth(date, month);\n const ariaLabel = getDayAriaLabel?.(date) || dayjs(date).locale(locale || ctx.locale).format(\"D MMMM YYYY\");\n const dayProps = getDayProps?.(date);\n const isDateInTabOrder = dayjs(date).isSame(dateInTabOrder, \"date\");\n return /* @__PURE__ */ jsx(\n \"td\",\n {\n ...getStyles(\"monthCell\"),\n \"data-with-spacing\": withCellSpacing || void 0,\n children: /* @__PURE__ */ jsx(\n Day,\n {\n __staticSelector: __staticSelector || \"Month\",\n classNames: resolvedClassNames,\n styles: resolvedStyles,\n unstyled,\n \"data-mantine-stop-propagation\": __stopPropagation || void 0,\n highlightToday,\n renderDay,\n date,\n size,\n weekend: ctx.getWeekendDays(weekendDays).includes(dayjs(date).get(\"day\")),\n outside,\n hidden: hideOutsideDates ? outside : false,\n \"aria-label\": ariaLabel,\n static: isStatic,\n disabled: excludeDate?.(date) || !isBeforeMaxDate(date, toDateString(maxDate)) || !isAfterMinDate(date, toDateString(minDate)),\n ref: (node) => {\n if (node) {\n __getDayRef?.(rowIndex, cellIndex, node);\n }\n },\n ...dayProps,\n onKeyDown: (event) => {\n dayProps?.onKeyDown?.(event);\n __onDayKeyDown?.(event, { rowIndex, cellIndex, date });\n },\n onMouseEnter: (event) => {\n dayProps?.onMouseEnter?.(event);\n __onDayMouseEnter?.(event, date);\n },\n onClick: (event) => {\n dayProps?.onClick?.(event);\n __onDayClick?.(event, date);\n },\n onMouseDown: (event) => {\n dayProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n },\n tabIndex: __preventFocus || !isDateInTabOrder ? -1 : 0\n }\n )\n },\n date.toString()\n );\n });\n return /* @__PURE__ */ jsxs(\"tr\", { ...getStyles(\"monthRow\"), children: [\n withWeekNumbers && /* @__PURE__ */ jsx(\"td\", { ...getStyles(\"weekNumber\"), children: getWeekNumber(row) }),\n cells\n ] }, rowIndex);\n });\n return /* @__PURE__ */ jsxs(Box, { component: \"table\", ...getStyles(\"month\"), size, ref, ...others, children: [\n !hideWeekdays && /* @__PURE__ */ jsx(\"thead\", { ...getStyles(\"monthThead\"), children: /* @__PURE__ */ jsx(\n WeekdaysRow,\n {\n __staticSelector: __staticSelector || \"Month\",\n locale,\n firstDayOfWeek,\n weekdayFormat,\n size,\n classNames: resolvedClassNames,\n styles: resolvedStyles,\n unstyled,\n withWeekNumbers\n }\n ) }),\n /* @__PURE__ */ jsx(\"tbody\", { ...getStyles(\"monthTbody\"), children: rows })\n ] });\n});\nMonth.classes = classes;\nMonth.displayName = \"@mantine/dates/Month\";\n\nexport { Month };\n//# sourceMappingURL=Month.mjs.map\n","'use client';\nvar classes = {\"pickerControl\":\"m_dc6a3c71\"};\n\nexport { classes as default };\n//# sourceMappingURL=PickerControl.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { createVarsResolver, getSize, getFontSize, factory, useProps, useStyles, UnstyledButton } from '@mantine/core';\nimport classes from './PickerControl.module.css.mjs';\n\nconst varsResolver = createVarsResolver((_, { size }) => ({\n pickerControl: {\n \"--dpc-fz\": getFontSize(size),\n \"--dpc-size\": getSize(size, \"dpc-size\")\n }\n}));\nconst PickerControl = factory((_props, ref) => {\n const props = useProps(\"PickerControl\", null, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n firstInRange,\n lastInRange,\n inRange,\n __staticSelector,\n selected,\n disabled,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"PickerControl\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: \"pickerControl\"\n });\n return /* @__PURE__ */ jsx(\n UnstyledButton,\n {\n ...getStyles(\"pickerControl\"),\n ref,\n unstyled,\n \"data-picker-control\": true,\n \"data-selected\": selected && !disabled || void 0,\n \"data-disabled\": disabled || void 0,\n \"data-in-range\": inRange && !disabled && !selected || void 0,\n \"data-first-in-range\": firstInRange && !disabled || void 0,\n \"data-last-in-range\": lastInRange && !disabled || void 0,\n disabled,\n ...others\n }\n );\n});\nPickerControl.classes = classes;\nPickerControl.displayName = \"@mantine/dates/PickerControl\";\n\nexport { PickerControl };\n//# sourceMappingURL=PickerControl.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction isYearDisabled({ year, minDate, maxDate }) {\n if (!minDate && !maxDate) {\n return false;\n }\n if (minDate && dayjs(year).isBefore(minDate, \"year\")) {\n return true;\n }\n if (maxDate && dayjs(year).isAfter(maxDate, \"year\")) {\n return true;\n }\n return false;\n}\n\nexport { isYearDisabled };\n//# sourceMappingURL=is-year-disabled.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\nimport { isYearDisabled } from '../is-year-disabled/is-year-disabled.mjs';\n\nfunction getYearInTabOrder({\n years,\n minDate,\n maxDate,\n getYearControlProps\n}) {\n const enabledYears = years.flat().filter(\n (year) => !isYearDisabled({ year, minDate, maxDate }) && !getYearControlProps?.(year)?.disabled\n );\n const selectedYear = enabledYears.find((year) => getYearControlProps?.(year)?.selected);\n if (selectedYear) {\n return selectedYear;\n }\n const currentYear = enabledYears.find((year) => dayjs().isSame(year, \"year\"));\n if (currentYear) {\n return currentYear;\n }\n return enabledYears[0];\n}\n\nexport { getYearInTabOrder };\n//# sourceMappingURL=get-year-in-tab-order.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction getYearsData(decade) {\n const year = dayjs(decade).year();\n const rounded = year - year % 10;\n let currentYearIndex = 0;\n const results = [[], [], [], []];\n for (let i = 0; i < 4; i += 1) {\n const max = i === 3 ? 1 : 3;\n for (let j = 0; j < max; j += 1) {\n results[i].push(dayjs(new Date(rounded + currentYearIndex, 0)).format(\"YYYY-MM-DD\"));\n currentYearIndex += 1;\n }\n }\n return results;\n}\n\nexport { getYearsData };\n//# sourceMappingURL=get-years-data.mjs.map\n","'use client';\nvar classes = {\"yearsList\":\"m_9206547b\",\"yearsListCell\":\"m_c5a19c7d\"};\n\nexport { classes as default };\n//# sourceMappingURL=YearsList.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { factory, useProps, useStyles, Box } from '@mantine/core';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { PickerControl } from '../PickerControl/PickerControl.mjs';\nimport { getYearInTabOrder } from './get-year-in-tab-order/get-year-in-tab-order.mjs';\nimport { getYearsData } from './get-years-data/get-years-data.mjs';\nimport { isYearDisabled } from './is-year-disabled/is-year-disabled.mjs';\nimport classes from './YearsList.module.css.mjs';\n\nconst defaultProps = {\n yearsListFormat: \"YYYY\",\n withCellSpacing: true\n};\nconst YearsList = factory((_props, ref) => {\n const props = useProps(\"YearsList\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n decade,\n yearsListFormat,\n locale,\n minDate,\n maxDate,\n getYearControlProps,\n __staticSelector,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"YearsList\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n rootSelector: \"yearsList\"\n });\n const ctx = useDatesContext();\n const years = getYearsData(decade);\n const yearInTabOrder = getYearInTabOrder({\n years,\n minDate,\n maxDate,\n getYearControlProps\n });\n const rows = years.map((yearsRow, rowIndex) => {\n const cells = yearsRow.map((year, cellIndex) => {\n const controlProps = getYearControlProps?.(year);\n const isYearInTabOrder = dayjs(year).isSame(yearInTabOrder, \"year\");\n return /* @__PURE__ */ jsx(\n \"td\",\n {\n ...getStyles(\"yearsListCell\"),\n \"data-with-spacing\": withCellSpacing || void 0,\n children: /* @__PURE__ */ jsx(\n PickerControl,\n {\n ...getStyles(\"yearsListControl\"),\n size,\n unstyled,\n \"data-mantine-stop-propagation\": __stopPropagation || void 0,\n disabled: isYearDisabled({ year, minDate, maxDate }),\n ref: (node) => {\n if (node) {\n __getControlRef?.(rowIndex, cellIndex, node);\n }\n },\n ...controlProps,\n onKeyDown: (event) => {\n controlProps?.onKeyDown?.(event);\n __onControlKeyDown?.(event, { rowIndex, cellIndex, date: year });\n },\n onClick: (event) => {\n controlProps?.onClick?.(event);\n __onControlClick?.(event, year);\n },\n onMouseEnter: (event) => {\n controlProps?.onMouseEnter?.(event);\n __onControlMouseEnter?.(event, year);\n },\n onMouseDown: (event) => {\n controlProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n },\n tabIndex: __preventFocus || !isYearInTabOrder ? -1 : 0,\n children: dayjs(year).locale(ctx.getLocale(locale)).format(yearsListFormat)\n }\n )\n },\n cellIndex\n );\n });\n return /* @__PURE__ */ jsx(\"tr\", { ...getStyles(\"yearsListRow\"), children: cells }, rowIndex);\n });\n return /* @__PURE__ */ jsx(Box, { component: \"table\", ref, size, ...getStyles(\"yearsList\"), ...others, children: /* @__PURE__ */ jsx(\"tbody\", { children: rows }) });\n});\nYearsList.classes = classes;\nYearsList.displayName = \"@mantine/dates/YearsList\";\n\nexport { YearsList };\n//# sourceMappingURL=YearsList.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction isMonthDisabled({ month, minDate, maxDate }) {\n if (!minDate && !maxDate) {\n return false;\n }\n if (minDate && dayjs(month).isBefore(minDate, \"month\")) {\n return true;\n }\n if (maxDate && dayjs(month).isAfter(maxDate, \"month\")) {\n return true;\n }\n return false;\n}\n\nexport { isMonthDisabled };\n//# sourceMappingURL=is-month-disabled.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\nimport { isMonthDisabled } from '../is-month-disabled/is-month-disabled.mjs';\n\nfunction getMonthInTabOrder({\n months,\n minDate,\n maxDate,\n getMonthControlProps\n}) {\n const enabledMonths = months.flat().filter(\n (month) => !isMonthDisabled({ month, minDate, maxDate }) && !getMonthControlProps?.(month)?.disabled\n );\n const selectedMonth = enabledMonths.find((month) => getMonthControlProps?.(month)?.selected);\n if (selectedMonth) {\n return selectedMonth;\n }\n const currentMonth = enabledMonths.find((month) => dayjs().isSame(month, \"month\"));\n if (currentMonth) {\n return currentMonth;\n }\n return enabledMonths[0];\n}\n\nexport { getMonthInTabOrder };\n//# sourceMappingURL=get-month-in-tab-order.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction getMonthsData(year) {\n const startOfYear = dayjs(year).startOf(\"year\").toDate();\n const results = [[], [], [], []];\n let currentMonthIndex = 0;\n for (let i = 0; i < 4; i += 1) {\n for (let j = 0; j < 3; j += 1) {\n results[i].push(dayjs(startOfYear).add(currentMonthIndex, \"months\").format(\"YYYY-MM-DD\"));\n currentMonthIndex += 1;\n }\n }\n return results;\n}\n\nexport { getMonthsData };\n//# sourceMappingURL=get-months-data.mjs.map\n","'use client';\nvar classes = {\"monthsList\":\"m_2a6c32d\",\"monthsListCell\":\"m_fe27622f\"};\n\nexport { classes as default };\n//# sourceMappingURL=MonthsList.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { factory, useProps, useStyles, Box } from '@mantine/core';\nimport { toDateString } from '../../utils/to-date-string/to-date-string.mjs';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { PickerControl } from '../PickerControl/PickerControl.mjs';\nimport { getMonthInTabOrder } from './get-month-in-tab-order/get-month-in-tab-order.mjs';\nimport { getMonthsData } from './get-months-data/get-months-data.mjs';\nimport { isMonthDisabled } from './is-month-disabled/is-month-disabled.mjs';\nimport classes from './MonthsList.module.css.mjs';\n\nconst defaultProps = {\n monthsListFormat: \"MMM\",\n withCellSpacing: true\n};\nconst MonthsList = factory((_props, ref) => {\n const props = useProps(\"MonthsList\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n __staticSelector,\n year,\n monthsListFormat,\n locale,\n minDate,\n maxDate,\n getMonthControlProps,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"MonthsList\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n rootSelector: \"monthsList\"\n });\n const ctx = useDatesContext();\n const months = getMonthsData(year);\n const monthInTabOrder = getMonthInTabOrder({\n months,\n minDate: toDateString(minDate),\n maxDate: toDateString(maxDate),\n getMonthControlProps\n });\n const rows = months.map((monthsRow, rowIndex) => {\n const cells = monthsRow.map((month, cellIndex) => {\n const controlProps = getMonthControlProps?.(month);\n const isMonthInTabOrder = dayjs(month).isSame(monthInTabOrder, \"month\");\n return /* @__PURE__ */ jsx(\n \"td\",\n {\n ...getStyles(\"monthsListCell\"),\n \"data-with-spacing\": withCellSpacing || void 0,\n children: /* @__PURE__ */ jsx(\n PickerControl,\n {\n ...getStyles(\"monthsListControl\"),\n size,\n unstyled,\n __staticSelector: __staticSelector || \"MonthsList\",\n \"data-mantine-stop-propagation\": __stopPropagation || void 0,\n disabled: isMonthDisabled({\n month,\n minDate: toDateString(minDate),\n maxDate: toDateString(maxDate)\n }),\n ref: (node) => {\n if (node) {\n __getControlRef?.(rowIndex, cellIndex, node);\n }\n },\n ...controlProps,\n onKeyDown: (event) => {\n controlProps?.onKeyDown?.(event);\n __onControlKeyDown?.(event, { rowIndex, cellIndex, date: month });\n },\n onClick: (event) => {\n controlProps?.onClick?.(event);\n __onControlClick?.(event, month);\n },\n onMouseEnter: (event) => {\n controlProps?.onMouseEnter?.(event);\n __onControlMouseEnter?.(event, month);\n },\n onMouseDown: (event) => {\n controlProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n },\n tabIndex: __preventFocus || !isMonthInTabOrder ? -1 : 0,\n children: dayjs(month).locale(ctx.getLocale(locale)).format(monthsListFormat)\n }\n )\n },\n cellIndex\n );\n });\n return /* @__PURE__ */ jsx(\"tr\", { ...getStyles(\"monthsListRow\"), children: cells }, rowIndex);\n });\n return /* @__PURE__ */ jsx(Box, { component: \"table\", ref, size, ...getStyles(\"monthsList\"), ...others, children: /* @__PURE__ */ jsx(\"tbody\", { children: rows }) });\n});\nMonthsList.classes = classes;\nMonthsList.displayName = \"@mantine/dates/MonthsList\";\n\nexport { MonthsList };\n//# sourceMappingURL=MonthsList.mjs.map\n","'use client';\nvar classes = {\"calendarHeader\":\"m_730a79ed\",\"calendarHeaderLevel\":\"m_f6645d97\",\"calendarHeaderControl\":\"m_2351eeb0\",\"calendarHeaderControlIcon\":\"m_367dc749\"};\n\nexport { classes as default };\n//# sourceMappingURL=CalendarHeader.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { createElement } from 'react';\nimport { createVarsResolver, getFontSize, getSize, factory, useProps, useStyles, UnstyledButton, AccordionChevron, Box } from '@mantine/core';\nimport classes from './CalendarHeader.module.css.mjs';\n\nconst defaultProps = {\n hasNextLevel: true,\n withNext: true,\n withPrevious: true,\n headerControlsOrder: [\"previous\", \"level\", \"next\"]\n};\nconst varsResolver = createVarsResolver((_, { size }) => ({\n calendarHeader: {\n \"--dch-control-size\": getSize(size, \"dch-control-size\"),\n \"--dch-fz\": getFontSize(size)\n }\n}));\nconst CalendarHeader = factory((_props, ref) => {\n const props = useProps(\"CalendarHeader\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n label,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n headerControlsOrder,\n __staticSelector,\n __preventFocus,\n __stopPropagation,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"CalendarHeader\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: \"calendarHeader\"\n });\n const preventFocus = __preventFocus ? (event) => event.preventDefault() : void 0;\n const previousControl = withPrevious && /* @__PURE__ */ createElement(\n UnstyledButton,\n {\n ...getStyles(\"calendarHeaderControl\"),\n key: \"previous\",\n \"data-direction\": \"previous\",\n \"aria-label\": previousLabel,\n onClick: onPrevious,\n unstyled,\n onMouseDown: preventFocus,\n disabled: previousDisabled,\n \"data-disabled\": previousDisabled || void 0,\n tabIndex: __preventFocus || previousDisabled ? -1 : 0,\n \"data-mantine-stop-propagation\": __stopPropagation || void 0\n },\n previousIcon || /* @__PURE__ */ jsx(\n AccordionChevron,\n {\n ...getStyles(\"calendarHeaderControlIcon\"),\n \"data-direction\": \"previous\",\n size: \"45%\"\n }\n )\n );\n const levelControl = /* @__PURE__ */ createElement(\n UnstyledButton,\n {\n component: hasNextLevel ? \"button\" : \"div\",\n ...getStyles(\"calendarHeaderLevel\"),\n key: \"level\",\n onClick: hasNextLevel ? onLevelClick : void 0,\n unstyled,\n onMouseDown: hasNextLevel ? preventFocus : void 0,\n disabled: !hasNextLevel,\n \"data-static\": !hasNextLevel || void 0,\n \"aria-label\": levelControlAriaLabel,\n tabIndex: __preventFocus || !hasNextLevel ? -1 : 0,\n \"data-mantine-stop-propagation\": __stopPropagation || void 0\n },\n label\n );\n const nextControl = withNext && /* @__PURE__ */ createElement(\n UnstyledButton,\n {\n ...getStyles(\"calendarHeaderControl\"),\n key: \"next\",\n \"data-direction\": \"next\",\n \"aria-label\": nextLabel,\n onClick: onNext,\n unstyled,\n onMouseDown: preventFocus,\n disabled: nextDisabled,\n \"data-disabled\": nextDisabled || void 0,\n tabIndex: __preventFocus || nextDisabled ? -1 : 0,\n \"data-mantine-stop-propagation\": __stopPropagation || void 0\n },\n nextIcon || /* @__PURE__ */ jsx(\n AccordionChevron,\n {\n ...getStyles(\"calendarHeaderControlIcon\"),\n \"data-direction\": \"next\",\n size: \"45%\"\n }\n )\n );\n const controls = headerControlsOrder.map((control) => {\n if (control === \"previous\") {\n return previousControl;\n }\n if (control === \"level\") {\n return levelControl;\n }\n if (control === \"next\") {\n return nextControl;\n }\n return null;\n });\n return /* @__PURE__ */ jsx(Box, { ...getStyles(\"calendarHeader\"), ref, ...others, children: controls });\n});\nCalendarHeader.classes = classes;\nCalendarHeader.displayName = \"@mantine/dates/CalendarHeader\";\n\nexport { CalendarHeader };\n//# sourceMappingURL=CalendarHeader.mjs.map\n","'use client';\nimport { getYearsData } from '../../YearsList/get-years-data/get-years-data.mjs';\n\nfunction getDecadeRange(decade) {\n const years = getYearsData(decade);\n return [years[0][0], years[3][0]];\n}\n\nexport { getDecadeRange };\n//# sourceMappingURL=get-decade-range.mjs.map\n","'use client';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { factory, useProps, Box } from '@mantine/core';\nimport { CalendarHeader } from '../CalendarHeader/CalendarHeader.mjs';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { YearsList } from '../YearsList/YearsList.mjs';\nimport { getDecadeRange } from './get-decade-range/get-decade-range.mjs';\n\nconst defaultProps = {\n decadeLabelFormat: \"YYYY\"\n};\nconst DecadeLevel = factory((_props, ref) => {\n const props = useProps(\"DecadeLevel\", defaultProps, _props);\n const {\n // YearsList settings\n decade,\n locale,\n minDate,\n maxDate,\n yearsListFormat,\n getYearControlProps,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n nextDisabled,\n previousDisabled,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n headerControlsOrder,\n // Other props\n decadeLabelFormat,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __stopPropagation,\n size,\n attributes,\n ...others\n } = props;\n const ctx = useDatesContext();\n const [startOfDecade, endOfDecade] = getDecadeRange(decade);\n const stylesApiProps = {\n __staticSelector: __staticSelector || \"DecadeLevel\",\n classNames,\n styles,\n unstyled,\n size,\n attributes\n };\n const _nextDisabled = typeof nextDisabled === \"boolean\" ? nextDisabled : maxDate ? !dayjs(endOfDecade).endOf(\"year\").isBefore(maxDate) : false;\n const _previousDisabled = typeof previousDisabled === \"boolean\" ? previousDisabled : minDate ? !dayjs(startOfDecade).startOf(\"year\").isAfter(minDate) : false;\n const formatDecade = (date, format) => dayjs(date).locale(locale || ctx.locale).format(format);\n return /* @__PURE__ */ jsxs(Box, { \"data-decade-level\": true, size, ref, ...others, children: [\n /* @__PURE__ */ jsx(\n CalendarHeader,\n {\n label: typeof decadeLabelFormat === \"function\" ? decadeLabelFormat(startOfDecade, endOfDecade) : `${formatDecade(startOfDecade, decadeLabelFormat)} \\u2013 ${formatDecade(\n endOfDecade,\n decadeLabelFormat\n )}`,\n __preventFocus,\n __stopPropagation,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n nextDisabled: _nextDisabled,\n previousDisabled: _previousDisabled,\n hasNextLevel: false,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n headerControlsOrder,\n ...stylesApiProps\n }\n ),\n /* @__PURE__ */ jsx(\n YearsList,\n {\n decade,\n locale,\n minDate,\n maxDate,\n yearsListFormat,\n getYearControlProps,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n ...stylesApiProps\n }\n )\n ] });\n});\nDecadeLevel.classes = { ...YearsList.classes, ...CalendarHeader.classes };\nDecadeLevel.displayName = \"@mantine/dates/DecadeLevel\";\n\nexport { DecadeLevel };\n//# sourceMappingURL=DecadeLevel.mjs.map\n","'use client';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { factory, useProps, Box } from '@mantine/core';\nimport { CalendarHeader } from '../CalendarHeader/CalendarHeader.mjs';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { MonthsList } from '../MonthsList/MonthsList.mjs';\n\nconst defaultProps = {\n yearLabelFormat: \"YYYY\"\n};\nconst YearLevel = factory((_props, ref) => {\n const props = useProps(\"YearLevel\", defaultProps, _props);\n const {\n // MonthsList settings\n year,\n locale,\n minDate,\n maxDate,\n monthsListFormat,\n getMonthControlProps,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n headerControlsOrder,\n // Other props\n yearLabelFormat,\n __staticSelector,\n __stopPropagation,\n size,\n classNames,\n styles,\n unstyled,\n attributes,\n ...others\n } = props;\n const ctx = useDatesContext();\n const stylesApiProps = {\n __staticSelector: __staticSelector || \"YearLevel\",\n classNames,\n styles,\n unstyled,\n size,\n attributes\n };\n const _nextDisabled = typeof nextDisabled === \"boolean\" ? nextDisabled : maxDate ? !dayjs(year).endOf(\"year\").isBefore(maxDate) : false;\n const _previousDisabled = typeof previousDisabled === \"boolean\" ? previousDisabled : minDate ? !dayjs(year).startOf(\"year\").isAfter(minDate) : false;\n return /* @__PURE__ */ jsxs(Box, { \"data-year-level\": true, size, ref, ...others, children: [\n /* @__PURE__ */ jsx(\n CalendarHeader,\n {\n label: typeof yearLabelFormat === \"function\" ? yearLabelFormat(year) : dayjs(year).locale(locale || ctx.locale).format(yearLabelFormat),\n __preventFocus,\n __stopPropagation,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled: _nextDisabled,\n previousDisabled: _previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n headerControlsOrder,\n ...stylesApiProps\n }\n ),\n /* @__PURE__ */ jsx(\n MonthsList,\n {\n year,\n locale,\n minDate,\n maxDate,\n monthsListFormat,\n getMonthControlProps,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n ...stylesApiProps\n }\n )\n ] });\n});\nYearLevel.classes = { ...CalendarHeader.classes, ...MonthsList.classes };\nYearLevel.displayName = \"@mantine/dates/YearLevel\";\n\nexport { YearLevel };\n//# sourceMappingURL=YearLevel.mjs.map\n","'use client';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { factory, useProps, Box } from '@mantine/core';\nimport { CalendarHeader } from '../CalendarHeader/CalendarHeader.mjs';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { Month } from '../Month/Month.mjs';\n\nconst defaultProps = {\n monthLabelFormat: \"MMMM YYYY\"\n};\nconst MonthLevel = factory((_props, ref) => {\n const props = useProps(\"MonthLevel\", defaultProps, _props);\n const {\n // Month settings\n month,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n withCellSpacing,\n highlightToday,\n withWeekNumbers,\n // CalendarHeader settings\n __preventFocus,\n __stopPropagation,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n headerControlsOrder,\n // Other props\n monthLabelFormat,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n size,\n static: isStatic,\n attributes,\n ...others\n } = props;\n const ctx = useDatesContext();\n const stylesApiProps = {\n __staticSelector: __staticSelector || \"MonthLevel\",\n classNames,\n styles,\n unstyled,\n size,\n attributes\n };\n const _nextDisabled = typeof nextDisabled === \"boolean\" ? nextDisabled : maxDate ? !dayjs(month).endOf(\"month\").isBefore(maxDate) : false;\n const _previousDisabled = typeof previousDisabled === \"boolean\" ? previousDisabled : minDate ? !dayjs(month).startOf(\"month\").isAfter(minDate) : false;\n return /* @__PURE__ */ jsxs(Box, { \"data-month-level\": true, size, ref, ...others, children: [\n /* @__PURE__ */ jsx(\n CalendarHeader,\n {\n label: typeof monthLabelFormat === \"function\" ? monthLabelFormat(month) : dayjs(month).locale(locale || ctx.locale).format(monthLabelFormat),\n __preventFocus,\n __stopPropagation,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled: _nextDisabled,\n previousDisabled: _previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n headerControlsOrder,\n ...stylesApiProps\n }\n ),\n /* @__PURE__ */ jsx(\n Month,\n {\n month,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n static: isStatic,\n withCellSpacing,\n highlightToday,\n withWeekNumbers,\n ...stylesApiProps\n }\n )\n ] });\n});\nMonthLevel.classes = { ...Month.classes, ...CalendarHeader.classes };\nMonthLevel.displayName = \"@mantine/dates/MonthLevel\";\n\nexport { MonthLevel };\n//# sourceMappingURL=MonthLevel.mjs.map\n","'use client';\nvar classes = {\"levelsGroup\":\"m_30b26e33\"};\n\nexport { classes as default };\n//# sourceMappingURL=LevelsGroup.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { factory, useProps, useStyles, Box } from '@mantine/core';\nimport classes from './LevelsGroup.module.css.mjs';\n\nconst LevelsGroup = factory((_props, ref) => {\n const props = useProps(\"LevelsGroup\", null, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n __staticSelector,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"LevelsGroup\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n rootSelector: \"levelsGroup\"\n });\n return /* @__PURE__ */ jsx(Box, { ref, ...getStyles(\"levelsGroup\"), ...others });\n});\nLevelsGroup.classes = classes;\nLevelsGroup.displayName = \"@mantine/dates/LevelsGroup\";\n\nexport { LevelsGroup };\n//# sourceMappingURL=LevelsGroup.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { useRef } from 'react';\nimport { factory, useProps } from '@mantine/core';\nimport { handleControlKeyDown } from '../../utils/handle-control-key-down/handle-control-key-down.mjs';\nimport { DecadeLevel } from '../DecadeLevel/DecadeLevel.mjs';\nimport { LevelsGroup } from '../LevelsGroup/LevelsGroup.mjs';\n\nconst defaultProps = {\n numberOfColumns: 1\n};\nconst DecadeLevelGroup = factory((_props, ref) => {\n const props = useProps(\"DecadeLevelGroup\", defaultProps, _props);\n const {\n // DecadeLevel settings\n decade,\n locale,\n minDate,\n maxDate,\n yearsListFormat,\n getYearControlProps,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n nextDisabled,\n previousDisabled,\n headerControlsOrder,\n // Other settings\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __stopPropagation,\n numberOfColumns,\n levelControlAriaLabel,\n decadeLabelFormat,\n size,\n vars,\n attributes,\n ...others\n } = props;\n const controlsRef = useRef([]);\n const decades = Array(numberOfColumns).fill(0).map((_, decadeIndex) => {\n const currentDecade = dayjs(decade).add(decadeIndex * 10, \"years\").format(\"YYYY-MM-DD\");\n return /* @__PURE__ */ jsx(\n DecadeLevel,\n {\n size,\n yearsListFormat,\n decade: currentDecade,\n withNext: decadeIndex === numberOfColumns - 1,\n withPrevious: decadeIndex === 0,\n decadeLabelFormat,\n __onControlClick,\n __onControlMouseEnter,\n __onControlKeyDown: (event, payload) => handleControlKeyDown({\n levelIndex: decadeIndex,\n rowIndex: payload.rowIndex,\n cellIndex: payload.cellIndex,\n event,\n controlsRef\n }),\n __getControlRef: (rowIndex, cellIndex, node) => {\n if (!Array.isArray(controlsRef.current[decadeIndex])) {\n controlsRef.current[decadeIndex] = [];\n }\n if (!Array.isArray(controlsRef.current[decadeIndex][rowIndex])) {\n controlsRef.current[decadeIndex][rowIndex] = [];\n }\n controlsRef.current[decadeIndex][rowIndex][cellIndex] = node;\n },\n levelControlAriaLabel: typeof levelControlAriaLabel === \"function\" ? levelControlAriaLabel(currentDecade) : levelControlAriaLabel,\n locale,\n minDate,\n maxDate,\n __preventFocus,\n __stopPropagation,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n nextDisabled,\n previousDisabled,\n getYearControlProps,\n __staticSelector: __staticSelector || \"DecadeLevelGroup\",\n classNames,\n styles,\n unstyled,\n withCellSpacing,\n headerControlsOrder,\n attributes\n },\n decadeIndex\n );\n });\n return /* @__PURE__ */ jsx(\n LevelsGroup,\n {\n classNames,\n styles,\n __staticSelector: __staticSelector || \"DecadeLevelGroup\",\n ref,\n size,\n unstyled,\n attributes,\n ...others,\n children: decades\n }\n );\n});\nDecadeLevelGroup.classes = { ...LevelsGroup.classes, ...DecadeLevel.classes };\nDecadeLevelGroup.displayName = \"@mantine/dates/DecadeLevelGroup\";\n\nexport { DecadeLevelGroup };\n//# sourceMappingURL=DecadeLevelGroup.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { useRef } from 'react';\nimport { factory, useProps } from '@mantine/core';\nimport { handleControlKeyDown } from '../../utils/handle-control-key-down/handle-control-key-down.mjs';\nimport { LevelsGroup } from '../LevelsGroup/LevelsGroup.mjs';\nimport { YearLevel } from '../YearLevel/YearLevel.mjs';\n\nconst defaultProps = {\n numberOfColumns: 1\n};\nconst YearLevelGroup = factory((_props, ref) => {\n const props = useProps(\"YearLevelGroup\", defaultProps, _props);\n const {\n // YearLevel settings\n year,\n locale,\n minDate,\n maxDate,\n monthsListFormat,\n getMonthControlProps,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n headerControlsOrder,\n // Other settings\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __stopPropagation,\n numberOfColumns,\n levelControlAriaLabel,\n yearLabelFormat,\n size,\n vars,\n attributes,\n ...others\n } = props;\n const controlsRef = useRef([]);\n const years = Array(numberOfColumns).fill(0).map((_, yearIndex) => {\n const currentYear = dayjs(year).add(yearIndex, \"years\").format(\"YYYY-MM-DD\");\n return /* @__PURE__ */ jsx(\n YearLevel,\n {\n size,\n monthsListFormat,\n year: currentYear,\n withNext: yearIndex === numberOfColumns - 1,\n withPrevious: yearIndex === 0,\n yearLabelFormat,\n __stopPropagation,\n __onControlClick,\n __onControlMouseEnter,\n __onControlKeyDown: (event, payload) => handleControlKeyDown({\n levelIndex: yearIndex,\n rowIndex: payload.rowIndex,\n cellIndex: payload.cellIndex,\n event,\n controlsRef\n }),\n __getControlRef: (rowIndex, cellIndex, node) => {\n if (!Array.isArray(controlsRef.current[yearIndex])) {\n controlsRef.current[yearIndex] = [];\n }\n if (!Array.isArray(controlsRef.current[yearIndex][rowIndex])) {\n controlsRef.current[yearIndex][rowIndex] = [];\n }\n controlsRef.current[yearIndex][rowIndex][cellIndex] = node;\n },\n levelControlAriaLabel: typeof levelControlAriaLabel === \"function\" ? levelControlAriaLabel(currentYear) : levelControlAriaLabel,\n locale,\n minDate,\n maxDate,\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n getMonthControlProps,\n classNames,\n styles,\n unstyled,\n __staticSelector: __staticSelector || \"YearLevelGroup\",\n withCellSpacing,\n headerControlsOrder,\n attributes\n },\n yearIndex\n );\n });\n return /* @__PURE__ */ jsx(\n LevelsGroup,\n {\n classNames,\n styles,\n __staticSelector: __staticSelector || \"YearLevelGroup\",\n ref,\n size,\n unstyled,\n attributes,\n ...others,\n children: years\n }\n );\n});\nYearLevelGroup.classes = { ...YearLevel.classes, ...LevelsGroup.classes };\nYearLevelGroup.displayName = \"@mantine/dates/YearLevelGroup\";\n\nexport { YearLevelGroup };\n//# sourceMappingURL=YearLevelGroup.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { useRef } from 'react';\nimport { factory, useProps } from '@mantine/core';\nimport { handleControlKeyDown } from '../../utils/handle-control-key-down/handle-control-key-down.mjs';\nimport { LevelsGroup } from '../LevelsGroup/LevelsGroup.mjs';\nimport { MonthLevel } from '../MonthLevel/MonthLevel.mjs';\n\nconst defaultProps = {\n numberOfColumns: 1\n};\nconst MonthLevelGroup = factory((_props, ref) => {\n const props = useProps(\"MonthLevelGroup\", defaultProps, _props);\n const {\n // Month settings\n month,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n __onDayClick,\n __onDayMouseEnter,\n withCellSpacing,\n highlightToday,\n withWeekNumbers,\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n headerControlsOrder,\n // Other settings\n classNames,\n styles,\n unstyled,\n numberOfColumns,\n levelControlAriaLabel,\n monthLabelFormat,\n __staticSelector,\n __stopPropagation,\n size,\n static: isStatic,\n vars,\n attributes,\n ...others\n } = props;\n const daysRefs = useRef([]);\n const months = Array(numberOfColumns).fill(0).map((_, monthIndex) => {\n const currentMonth = dayjs(month).add(monthIndex, \"months\").format(\"YYYY-MM-DD\");\n return /* @__PURE__ */ jsx(\n MonthLevel,\n {\n month: currentMonth,\n withNext: monthIndex === numberOfColumns - 1,\n withPrevious: monthIndex === 0,\n monthLabelFormat,\n __stopPropagation,\n __onDayClick,\n __onDayMouseEnter,\n __onDayKeyDown: (event, payload) => handleControlKeyDown({\n levelIndex: monthIndex,\n rowIndex: payload.rowIndex,\n cellIndex: payload.cellIndex,\n event,\n controlsRef: daysRefs\n }),\n __getDayRef: (rowIndex, cellIndex, node) => {\n if (!Array.isArray(daysRefs.current[monthIndex])) {\n daysRefs.current[monthIndex] = [];\n }\n if (!Array.isArray(daysRefs.current[monthIndex][rowIndex])) {\n daysRefs.current[monthIndex][rowIndex] = [];\n }\n daysRefs.current[monthIndex][rowIndex][cellIndex] = node;\n },\n levelControlAriaLabel: typeof levelControlAriaLabel === \"function\" ? levelControlAriaLabel(currentMonth) : levelControlAriaLabel,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n classNames,\n styles,\n unstyled,\n __staticSelector: __staticSelector || \"MonthLevelGroup\",\n size,\n static: isStatic,\n withCellSpacing,\n highlightToday,\n withWeekNumbers,\n headerControlsOrder,\n attributes\n },\n monthIndex\n );\n });\n return /* @__PURE__ */ jsx(\n LevelsGroup,\n {\n classNames,\n styles,\n __staticSelector: __staticSelector || \"MonthLevelGroup\",\n ref,\n size,\n attributes,\n ...others,\n children: months\n }\n );\n});\nMonthLevelGroup.classes = { ...LevelsGroup.classes, ...MonthLevel.classes };\nMonthLevelGroup.displayName = \"@mantine/dates/MonthLevelGroup\";\n\nexport { MonthLevelGroup };\n//# sourceMappingURL=MonthLevelGroup.mjs.map\n","'use client';\nimport { useRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport 'dayjs';\nimport { toDateTimeString, toDateString } from '../../utils/to-date-string/to-date-string.mjs';\n\nconst getEmptyValue = (type) => type === \"range\" ? [null, null] : type === \"multiple\" ? [] : null;\nconst convertDatesValue = (value, withTime) => {\n const converter = withTime ? toDateTimeString : toDateString;\n return Array.isArray(value) ? value.map(converter) : converter(value);\n};\nfunction useUncontrolledDates({\n type,\n value,\n defaultValue,\n onChange,\n withTime = false\n}) {\n const storedType = useRef(type);\n const [_value, _setValue, controlled] = useUncontrolled({\n value: convertDatesValue(value, withTime),\n defaultValue: convertDatesValue(defaultValue, withTime),\n finalValue: getEmptyValue(type),\n onChange\n });\n let _finalValue = _value;\n if (storedType.current !== type) {\n storedType.current = type;\n if (value === void 0) {\n _finalValue = defaultValue !== void 0 ? defaultValue : getEmptyValue(type);\n _setValue(_finalValue);\n }\n }\n return [_finalValue, _setValue, controlled];\n}\n\nexport { convertDatesValue, useUncontrolledDates };\n//# sourceMappingURL=use-uncontrolled-dates.mjs.map\n","'use client';\nimport { clamp } from '@mantine/hooks';\n\nfunction levelToNumber(level, fallback) {\n if (!level) {\n return fallback || 0;\n }\n return level === \"month\" ? 0 : level === \"year\" ? 1 : 2;\n}\nfunction levelNumberToLevel(levelNumber) {\n return levelNumber === 0 ? \"month\" : levelNumber === 1 ? \"year\" : \"decade\";\n}\nfunction clampLevel(level, minLevel, maxLevel) {\n return levelNumberToLevel(\n clamp(\n levelToNumber(level, 0),\n levelToNumber(minLevel, 0),\n levelToNumber(maxLevel, 2)\n )\n );\n}\n\nexport { clampLevel };\n//# sourceMappingURL=clamp-level.mjs.map\n","'use client';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { useImperativeHandle, useRef, useEffect } from 'react';\nimport { factory, useProps, useResolvedStylesApi, Box } from '@mantine/core';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { useUncontrolledDates } from '../../hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { toDateString } from '../../utils/to-date-string/to-date-string.mjs';\nimport { DecadeLevelGroup } from '../DecadeLevelGroup/DecadeLevelGroup.mjs';\nimport { MonthLevelGroup } from '../MonthLevelGroup/MonthLevelGroup.mjs';\nimport { YearLevelGroup } from '../YearLevelGroup/YearLevelGroup.mjs';\nimport { clampLevel } from './clamp-level/clamp-level.mjs';\n\nconst defaultProps = {\n maxLevel: \"decade\",\n minLevel: \"month\",\n __updateDateOnYearSelect: true,\n __updateDateOnMonthSelect: true,\n enableKeyboardNavigation: true\n};\nconst Calendar = factory((_props, ref) => {\n const props = useProps(\"Calendar\", defaultProps, _props);\n const {\n // CalendarLevel props\n vars,\n maxLevel,\n minLevel,\n defaultLevel,\n level,\n onLevelChange,\n date,\n defaultDate,\n onDateChange,\n numberOfColumns,\n columnsToScroll,\n ariaLabels,\n nextLabel,\n previousLabel,\n onYearSelect,\n onMonthSelect,\n onYearMouseEnter,\n onMonthMouseEnter,\n headerControlsOrder,\n __updateDateOnYearSelect,\n __updateDateOnMonthSelect,\n __setDateRef,\n __setLevelRef,\n // MonthLevelGroup props\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n monthLabelFormat,\n nextIcon,\n previousIcon,\n __onDayClick,\n __onDayMouseEnter,\n withCellSpacing,\n highlightToday,\n withWeekNumbers,\n // YearLevelGroup props\n monthsListFormat,\n getMonthControlProps,\n yearLabelFormat,\n // DecadeLevelGroup props\n yearsListFormat,\n getYearControlProps,\n decadeLabelFormat,\n // Other props\n classNames,\n styles,\n unstyled,\n minDate,\n maxDate,\n locale,\n __staticSelector,\n size,\n __preventFocus,\n __stopPropagation,\n onNextDecade,\n onPreviousDecade,\n onNextYear,\n onPreviousYear,\n onNextMonth,\n onPreviousMonth,\n static: isStatic,\n enableKeyboardNavigation,\n attributes,\n ...others\n } = props;\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({\n classNames,\n styles,\n props\n });\n const [_level, setLevel] = useUncontrolled({\n value: level ? clampLevel(level, minLevel, maxLevel) : void 0,\n defaultValue: defaultLevel ? clampLevel(defaultLevel, minLevel, maxLevel) : void 0,\n finalValue: clampLevel(void 0, minLevel, maxLevel),\n onChange: onLevelChange\n });\n const [_date, setDate] = useUncontrolledDates({\n type: \"default\",\n value: toDateString(date),\n defaultValue: toDateString(defaultDate),\n onChange: onDateChange\n });\n useImperativeHandle(__setDateRef, () => (date2) => {\n setDate(date2);\n });\n useImperativeHandle(__setLevelRef, () => (level2) => {\n setLevel(level2);\n });\n const stylesApiProps = {\n __staticSelector: __staticSelector || \"Calendar\",\n styles: resolvedStyles,\n classNames: resolvedClassNames,\n unstyled,\n size,\n attributes\n };\n const _columnsToScroll = columnsToScroll || numberOfColumns || 1;\n const now = /* @__PURE__ */ new Date();\n const fallbackDate = minDate && dayjs(now).isAfter(minDate) ? minDate : dayjs(now).format(\"YYYY-MM-DD\");\n const currentDate = _date || fallbackDate;\n const handleNextMonth = () => {\n const nextDate = dayjs(currentDate).add(_columnsToScroll, \"month\").format(\"YYYY-MM-DD\");\n onNextMonth?.(nextDate);\n setDate(nextDate);\n };\n const handlePreviousMonth = () => {\n const nextDate = dayjs(currentDate).subtract(_columnsToScroll, \"month\").format(\"YYYY-MM-DD\");\n onPreviousMonth?.(nextDate);\n setDate(nextDate);\n };\n const handleNextYear = () => {\n const nextDate = dayjs(currentDate).add(_columnsToScroll, \"year\").format(\"YYYY-MM-DD\");\n onNextYear?.(nextDate);\n setDate(nextDate);\n };\n const handlePreviousYear = () => {\n const nextDate = dayjs(currentDate).subtract(_columnsToScroll, \"year\").format(\"YYYY-MM-DD\");\n onPreviousYear?.(nextDate);\n setDate(nextDate);\n };\n const handleNextDecade = () => {\n const nextDate = dayjs(currentDate).add(10 * _columnsToScroll, \"year\").format(\"YYYY-MM-DD\");\n onNextDecade?.(nextDate);\n setDate(nextDate);\n };\n const handlePreviousDecade = () => {\n const nextDate = dayjs(currentDate).subtract(10 * _columnsToScroll, \"year\").format(\"YYYY-MM-DD\");\n onPreviousDecade?.(nextDate);\n setDate(nextDate);\n };\n const calendarRef = useRef(null);\n useEffect(() => {\n if (!enableKeyboardNavigation || isStatic) {\n return;\n }\n const handleKeyDown = (event) => {\n if (!calendarRef.current?.contains(document.activeElement)) {\n return;\n }\n const isCtrlOrCmd = event.ctrlKey || event.metaKey;\n const isShift = event.shiftKey;\n switch (event.key) {\n case \"ArrowUp\":\n if (isCtrlOrCmd && isShift) {\n event.preventDefault();\n handlePreviousDecade();\n } else if (isCtrlOrCmd) {\n event.preventDefault();\n handlePreviousYear();\n }\n break;\n case \"ArrowDown\":\n if (isCtrlOrCmd && isShift) {\n event.preventDefault();\n handleNextDecade();\n } else if (isCtrlOrCmd) {\n event.preventDefault();\n handleNextYear();\n }\n break;\n case \"y\":\n case \"Y\":\n if (_level === \"month\") {\n event.preventDefault();\n setLevel(\"year\");\n }\n break;\n }\n };\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [\n enableKeyboardNavigation,\n isStatic,\n _level,\n handleNextYear,\n handlePreviousYear,\n handleNextDecade,\n handlePreviousDecade\n ]);\n const mergedRef = (node) => {\n calendarRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n };\n return /* @__PURE__ */ jsxs(Box, { ref: mergedRef, size, \"data-calendar\": true, ...others, children: [\n _level === \"month\" && /* @__PURE__ */ jsx(\n MonthLevelGroup,\n {\n month: currentDate,\n minDate,\n maxDate,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n onNext: handleNextMonth,\n onPrevious: handlePreviousMonth,\n hasNextLevel: maxLevel !== \"month\",\n onLevelClick: () => setLevel(\"year\"),\n numberOfColumns,\n locale,\n levelControlAriaLabel: ariaLabels?.monthLevelControl,\n nextLabel: ariaLabels?.nextMonth ?? nextLabel,\n nextIcon,\n previousLabel: ariaLabels?.previousMonth ?? previousLabel,\n previousIcon,\n monthLabelFormat,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n static: isStatic,\n withCellSpacing,\n highlightToday,\n withWeekNumbers,\n headerControlsOrder,\n ...stylesApiProps\n }\n ),\n _level === \"year\" && /* @__PURE__ */ jsx(\n YearLevelGroup,\n {\n year: currentDate,\n numberOfColumns,\n minDate,\n maxDate,\n monthsListFormat,\n getMonthControlProps,\n locale,\n onNext: handleNextYear,\n onPrevious: handlePreviousYear,\n hasNextLevel: maxLevel !== \"month\" && maxLevel !== \"year\",\n onLevelClick: () => setLevel(\"decade\"),\n levelControlAriaLabel: ariaLabels?.yearLevelControl,\n nextLabel: ariaLabels?.nextYear ?? nextLabel,\n nextIcon,\n previousLabel: ariaLabels?.previousYear ?? previousLabel,\n previousIcon,\n yearLabelFormat,\n __onControlMouseEnter: onMonthMouseEnter,\n __onControlClick: (_event, payload) => {\n __updateDateOnMonthSelect && setDate(payload);\n setLevel(clampLevel(\"month\", minLevel, maxLevel));\n onMonthSelect?.(payload);\n },\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n headerControlsOrder,\n ...stylesApiProps\n }\n ),\n _level === \"decade\" && /* @__PURE__ */ jsx(\n DecadeLevelGroup,\n {\n decade: currentDate,\n minDate,\n maxDate,\n yearsListFormat,\n getYearControlProps,\n locale,\n onNext: handleNextDecade,\n onPrevious: handlePreviousDecade,\n numberOfColumns,\n nextLabel: ariaLabels?.nextDecade ?? nextLabel,\n nextIcon,\n previousLabel: ariaLabels?.previousDecade ?? previousLabel,\n previousIcon,\n decadeLabelFormat,\n __onControlMouseEnter: onYearMouseEnter,\n __onControlClick: (_event, payload) => {\n __updateDateOnYearSelect && setDate(payload);\n setLevel(clampLevel(\"year\", minLevel, maxLevel));\n onYearSelect?.(payload);\n },\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n headerControlsOrder,\n ...stylesApiProps\n }\n )\n ] });\n});\nCalendar.classes = {\n ...DecadeLevelGroup.classes,\n ...YearLevelGroup.classes,\n ...MonthLevelGroup.classes\n};\nCalendar.displayName = \"@mantine/dates/Calendar\";\n\nexport { Calendar };\n//# sourceMappingURL=Calendar.mjs.map\n","'use client';\nfunction pickCalendarProps(props) {\n const {\n maxLevel,\n minLevel,\n defaultLevel,\n level,\n onLevelChange,\n nextIcon,\n previousIcon,\n date,\n defaultDate,\n onDateChange,\n numberOfColumns,\n columnsToScroll,\n ariaLabels,\n nextLabel,\n previousLabel,\n onYearSelect,\n onMonthSelect,\n onYearMouseEnter,\n onMonthMouseEnter,\n onNextMonth,\n onPreviousMonth,\n onNextYear,\n onPreviousYear,\n onNextDecade,\n onPreviousDecade,\n withCellSpacing,\n highlightToday,\n __updateDateOnYearSelect,\n __updateDateOnMonthSelect,\n __setDateRef,\n __setLevelRef,\n withWeekNumbers,\n headerControlsOrder,\n // MonthLevelGroup props\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n monthLabelFormat,\n // YearLevelGroup props\n monthsListFormat,\n getMonthControlProps,\n yearLabelFormat,\n // DecadeLevelGroup props\n yearsListFormat,\n getYearControlProps,\n decadeLabelFormat,\n // External picker props\n allowSingleDateInRange,\n allowDeselect,\n // Other props\n minDate,\n maxDate,\n locale,\n ...others\n } = props;\n return {\n calendarProps: {\n maxLevel,\n minLevel,\n defaultLevel,\n level,\n onLevelChange,\n nextIcon,\n previousIcon,\n date,\n defaultDate,\n onDateChange,\n numberOfColumns,\n columnsToScroll,\n ariaLabels,\n nextLabel,\n previousLabel,\n onYearSelect,\n onMonthSelect,\n onYearMouseEnter,\n onMonthMouseEnter,\n onNextMonth,\n onPreviousMonth,\n onNextYear,\n onPreviousYear,\n onNextDecade,\n onPreviousDecade,\n withCellSpacing,\n highlightToday,\n __updateDateOnYearSelect,\n __updateDateOnMonthSelect,\n __setDateRef,\n withWeekNumbers,\n headerControlsOrder,\n // MonthLevelGroup props\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n monthLabelFormat,\n // YearLevelGroup props\n monthsListFormat,\n getMonthControlProps,\n yearLabelFormat,\n // DecadeLevelGroup props\n yearsListFormat,\n getYearControlProps,\n decadeLabelFormat,\n // External picker props\n allowSingleDateInRange,\n allowDeselect,\n // Other props\n minDate,\n maxDate,\n locale\n },\n others\n };\n}\n\nexport { pickCalendarProps };\n//# sourceMappingURL=pick-calendar-levels-props.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction dateStringParser(dateString) {\n if (dateString === null) {\n return null;\n }\n const date = new Date(dateString);\n if (Number.isNaN(date.getTime()) || !dateString) {\n return null;\n }\n return dayjs(date).format(\"YYYY-MM-DD\");\n}\n\nexport { dateStringParser };\n//# sourceMappingURL=date-string-parser.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction isDateValid({ date, maxDate, minDate }) {\n if (date == null) {\n return false;\n }\n if (Number.isNaN(new Date(date).getTime())) {\n return false;\n }\n if (maxDate && dayjs(date).isAfter(maxDate, \"date\")) {\n return false;\n }\n if (minDate && dayjs(date).isBefore(minDate, \"date\")) {\n return false;\n }\n return true;\n}\n\nexport { isDateValid };\n//# sourceMappingURL=is-date-valid.mjs.map\n","'use client';\nimport { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { useRef, useState, useEffect } from 'react';\nimport { factory, useInputProps, Input, Popover } from '@mantine/core';\nimport { useDidUpdate, useClickOutside } from '@mantine/hooks';\nimport { useUncontrolledDates } from '../../hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { Calendar } from '../Calendar/Calendar.mjs';\nimport { pickCalendarProps } from '../Calendar/pick-calendar-levels-props/pick-calendar-levels-props.mjs';\nimport { HiddenDatesInput } from '../HiddenDatesInput/HiddenDatesInput.mjs';\nimport { isSameMonth } from '../Month/is-same-month/is-same-month.mjs';\nimport '../Month/Month.mjs';\nimport { dateStringParser } from './date-string-parser/date-string-parser.mjs';\nimport { isDateValid } from './is-date-valid/is-date-valid.mjs';\n\nconst defaultProps = {\n valueFormat: \"MMMM D, YYYY\",\n fixOnBlur: true,\n size: \"sm\"\n};\nconst DateInput = factory((_props, ref) => {\n const props = useInputProps(\"DateInput\", defaultProps, _props);\n const {\n inputProps,\n wrapperProps,\n value,\n defaultValue,\n onChange,\n clearable,\n clearButtonProps,\n popoverProps,\n getDayProps,\n locale,\n valueFormat,\n dateParser,\n minDate,\n maxDate,\n fixOnBlur,\n onFocus,\n onBlur,\n onClick,\n onKeyDown,\n readOnly,\n name,\n form,\n rightSection,\n unstyled,\n classNames,\n styles,\n allowDeselect,\n date,\n defaultDate,\n onDateChange,\n getMonthControlProps,\n getYearControlProps,\n disabled,\n ...rest\n } = props;\n const _wrapperRef = useRef(null);\n const _dropdownRef = useRef(null);\n const [dropdownOpened, setDropdownOpened] = useState(false);\n const { calendarProps, others } = pickCalendarProps(rest);\n const ctx = useDatesContext();\n const defaultDateParser = (val) => {\n const parsedDate = dayjs(val, valueFormat, ctx.getLocale(locale)).toDate();\n return Number.isNaN(parsedDate.getTime()) ? dateStringParser(val) : dayjs(parsedDate).format(\"YYYY-MM-DD\");\n };\n const _dateParser = dateParser || defaultDateParser;\n const _allowDeselect = allowDeselect !== void 0 ? allowDeselect : clearable;\n const formatValue = (val) => val ? dayjs(val).locale(ctx.getLocale(locale)).format(valueFormat) : \"\";\n const [_value, setValue, controlled] = useUncontrolledDates({\n type: \"default\",\n value,\n defaultValue,\n onChange\n });\n const [_date, setDate] = useUncontrolledDates({\n type: \"default\",\n value: date,\n defaultValue: defaultValue || defaultDate,\n onChange: onDateChange\n });\n useEffect(() => {\n if (controlled && value !== null) {\n setDate(value);\n }\n }, [controlled, value]);\n const [inputValue, setInputValue] = useState(formatValue(_value));\n useEffect(() => {\n setInputValue(formatValue(_value));\n }, [ctx.getLocale(locale)]);\n const handleInputChange = (event) => {\n const val = event.currentTarget.value;\n setInputValue(val);\n setDropdownOpened(true);\n if (val.trim() === \"\" && (allowDeselect || clearable)) {\n setValue(null);\n } else {\n const dateValue = _dateParser(val);\n if (dateValue && isDateValid({ date: dateValue, minDate, maxDate })) {\n setValue(dateValue);\n setDate(dateValue);\n }\n }\n };\n const handleInputBlur = (event) => {\n onBlur?.(event);\n setDropdownOpened(false);\n fixOnBlur && setInputValue(formatValue(_value));\n };\n const handleInputFocus = (event) => {\n onFocus?.(event);\n setDropdownOpened(true);\n };\n const handleInputClick = (event) => {\n onClick?.(event);\n setDropdownOpened(true);\n };\n const handleInputKeyDown = (event) => {\n if (event.key === \"Escape\") {\n setDropdownOpened(false);\n }\n onKeyDown?.(event);\n };\n const _getDayProps = (day) => ({\n ...getDayProps?.(day),\n selected: dayjs(_value).isSame(day, \"day\"),\n onClick: (event) => {\n getDayProps?.(day).onClick?.(event);\n const val = _allowDeselect ? dayjs(_value).isSame(day, \"day\") ? null : day : day;\n setValue(val);\n !controlled && val && setInputValue(formatValue(val));\n setDropdownOpened(false);\n }\n });\n const clearButton = /* @__PURE__ */ jsx(\n Input.ClearButton,\n {\n onClick: () => {\n setValue(null);\n !controlled && setInputValue(\"\");\n setDropdownOpened(false);\n },\n unstyled,\n ...clearButtonProps\n }\n );\n const _clearable = clearable && !!_value && !readOnly && !disabled;\n useDidUpdate(() => {\n _value !== void 0 && !dropdownOpened && setInputValue(formatValue(_value));\n }, [_value]);\n useClickOutside(() => setDropdownOpened(false), void 0, [\n _wrapperRef.current,\n _dropdownRef.current\n ]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Input.Wrapper, { ...wrapperProps, __staticSelector: \"DateInput\", ref: _wrapperRef, children: /* @__PURE__ */ jsxs(\n Popover,\n {\n opened: dropdownOpened,\n trapFocus: false,\n position: \"bottom-start\",\n disabled: readOnly || disabled,\n withRoles: false,\n unstyled,\n ...popoverProps,\n children: [\n /* @__PURE__ */ jsx(Popover.Target, { children: /* @__PURE__ */ jsx(\n Input,\n {\n \"data-dates-input\": true,\n \"data-read-only\": readOnly || void 0,\n autoComplete: \"off\",\n ref,\n value: inputValue,\n onChange: handleInputChange,\n onBlur: handleInputBlur,\n onFocus: handleInputFocus,\n onClick: handleInputClick,\n onKeyDown: handleInputKeyDown,\n readOnly,\n rightSection,\n __clearSection: clearButton,\n __clearable: _clearable,\n ...inputProps,\n ...others,\n disabled,\n __staticSelector: \"DateInput\"\n }\n ) }),\n /* @__PURE__ */ jsx(\n Popover.Dropdown,\n {\n onMouseDown: (event) => event.preventDefault(),\n \"data-dates-dropdown\": true,\n ref: _dropdownRef,\n children: /* @__PURE__ */ jsx(\n Calendar,\n {\n __staticSelector: \"DateInput\",\n ...calendarProps,\n classNames,\n styles,\n unstyled,\n __preventFocus: true,\n minDate,\n maxDate,\n locale,\n getDayProps: _getDayProps,\n size: inputProps.size,\n date: _date,\n onDateChange: setDate,\n getMonthControlProps: (date2) => ({\n selected: typeof _value === \"string\" ? isSameMonth(date2, _value) : false,\n ...getMonthControlProps?.(date2)\n }),\n getYearControlProps: (date2) => ({\n selected: typeof _value === \"string\" ? dayjs(date2).isSame(_value, \"year\") : false,\n ...getYearControlProps?.(date2)\n }),\n attributes: wrapperProps.attributes\n }\n )\n }\n )\n ]\n }\n ) }),\n /* @__PURE__ */ jsx(HiddenDatesInput, { name, form, value: _value, type: \"default\" })\n ] });\n});\nDateInput.classes = { ...Input.classes, ...Calendar.classes };\nDateInput.displayName = \"@mantine/dates/DateInput\";\n\nexport { DateInput };\n//# sourceMappingURL=DateInput.mjs.map\n","import {\n Alert,\n Button,\n Checkbox,\n Group,\n NumberInput,\n Stepper,\n Textarea,\n TextInput,\n} from \"@mantine/core\";\nimport { useForm } from \"@mantine/form\";\nimport { BaseEntity, useAddOne, useUpdateOne } from \"../Hooks/useApi\";\nimport { Field, StepConfig } from \"./DataTableInner.tsx\";\nimport { Fragment, useState } from \"react\"; // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-expect-error\nimport type { FormRule } from \"@mantine/form/lib/types\";\nimport { DateInput } from \"@mantine/dates\";\n\nexport interface CreateModalProps<T> {\n fields: Field<T>[];\n onClose: () => void;\n queryKey: (string | number)[];\n apiPath: string;\n steps?: StepConfig[];\n onCreated?: (id: string | number) => void;\n}\n\nexport function CreateModal<T extends BaseEntity>({\n fields,\n onClose,\n queryKey,\n apiPath,\n steps,\n onCreated,\n}: CreateModalProps<T>) {\n const [active, setActive] = useState(0);\n const [hideButtons, setHideButtons] = useState<boolean>(false);\n const [recordId, setRecordId] = useState<string | number>();\n\n const {\n mutateAsync: create,\n isError: isCreateError,\n error: createError,\n isPending: isCreatePending,\n } = useAddOne<T>(apiPath, queryKey);\n const { mutateAsync: update, isPending: isUpdatePending } = useUpdateOne<T>(\n apiPath,\n queryKey,\n );\n\n const isPending = isCreatePending || isUpdatePending;\n\n const stepsAvailable = [\n ...new Set(\n fields\n .filter((f) => typeof f.step === \"number\")\n .map((f) => f.step as number),\n ),\n ];\n\n function resolveRequired(field: Field<T>, values?: Partial<T>): boolean {\n if (typeof field.required === \"function\") {\n return field.required(values ?? ({} as Partial<T>));\n }\n return !!field.required;\n }\n\n const form = useForm({\n mode: \"uncontrolled\",\n initialValues: fields.reduce((acc, field) => {\n acc[field.id as keyof T] =\n field.type === \"boolean\"\n ? (false as T[keyof T])\n : (field.defaultValue ?? (\"\" as T[keyof T]));\n return acc;\n }, {} as T),\n validate: fields\n .filter((field) => field.required)\n .reduce(\n (acc, field) => {\n acc[field.id as keyof T] = (value: never, values: T) => {\n if (field.conditional && !field.conditional(values)) {\n return null;\n }\n if (!resolveRequired(field, values)) {\n return null;\n }\n return value ? null : \"Pflichtfeld\";\n };\n return acc;\n },\n {} as Partial<{ [Key in keyof T]: FormRule<T[Key], T> }>,\n ),\n });\n\n function renderField(field: Field<T>) {\n const formValues = form.getValues();\n if (field.conditional && !field.conditional(formValues)) {\n return null;\n }\n const isRequired = resolveRequired(field, formValues);\n return (\n <Fragment key={field.id}>\n {(field.type === undefined || field.type == \"text\") && (\n <TextInput\n label={field.column.title}\n key={form.key(field.id)}\n placeholder={field.placeholder ?? \"\"}\n {...form.getInputProps(field.id as string)}\n type={field.id.includes(\"email\") ? \"email\" : undefined}\n required={isRequired}\n />\n )}\n\n {field.type === \"number\" && (\n <NumberInput\n decimalSeparator=\",\"\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"date\" && (\n <DateInput\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n valueFormat={\"DD.MM.YYYY\"}\n clearable\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"boolean\" && (\n <Checkbox\n mt=\"md\"\n label={field.column.title}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string, { type: \"checkbox\" })}\n required={isRequired}\n />\n )}\n\n {field.type === \"textarea\" && (\n <Textarea\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string)}\n minRows={3}\n autosize\n required={isRequired}\n />\n )}\n\n {field.type === \"custom\" &&\n field.render &&\n field.render(\n { ...form.getValues(), ...(recordId && { id: recordId }) } as T,\n form.setValues,\n setHideButtons,\n {\n error: form.getInputProps(field.id as string).error,\n required: isRequired,\n },\n )}\n </Fragment>\n );\n }\n\n return (\n <>\n {isCreateError && (\n <Alert\n variant=\"outline\"\n color=\"red\"\n title={createError?.name ?? \"Fehler aufgetreten\"}\n mb=\"lg\"\n >\n {createError?.message ?? \"Fehler aufgetreten\"}\n </Alert>\n )}\n\n <form\n onSubmit={form.onSubmit(async (values) => {\n if (recordId) {\n await update({ ...values, id: recordId } as T);\n } else {\n const result = await create(values as T);\n setRecordId(result.id);\n onCreated?.(result.id);\n }\n\n if (stepsAvailable.length && active < stepsAvailable.length - 1) {\n if (!isCreateError) {\n setActive(active + 1);\n }\n } else {\n if (!isCreateError) {\n form.setInitialValues(values);\n form.reset();\n onClose();\n }\n }\n })}\n >\n {stepsAvailable.length ? (\n <Stepper active={active} size=\"sm\">\n {stepsAvailable.map((step) => (\n <Stepper.Step\n key={step}\n {...(steps && steps[step - 1]\n ? { label: steps[step - 1].label }\n : {})}\n >\n {fields\n .filter((f) => f.step === step)\n .map((field) => renderField(field))}\n </Stepper.Step>\n ))}\n </Stepper>\n ) : (\n fields.map((field) => renderField(field))\n )}\n {!hideButtons && (\n <Group mt=\"md\" justify=\"end\">\n <Button\n onClick={() =>\n stepsAvailable.length\n ? active === 0\n ? onClose()\n : setActive(active - 1)\n : onClose()\n }\n variant=\"outline\"\n >\n {stepsAvailable.length\n ? active === 0\n ? \"Abbrechen\"\n : \"Zurück\"\n : \"Abbrechen\"}\n </Button>\n <Button type=\"submit\" loading={isPending}>\n {stepsAvailable.length\n ? active === stepsAvailable.length - 1\n ? \"Speichern\"\n : \"Weiter\"\n : \"Speichern\"}\n </Button>\n </Group>\n )}\n </form>\n </>\n );\n}\n","\"use client\";import{Box as el,Table as tl}from\"@mantine/core\";import{useMergedRef as Qo}from\"@mantine/hooks\";import Ko from\"clsx\";import{useCallback as Dt,useEffect as ol,useLayoutEffect as nl,useMemo as al,useRef as xt,useState as rl}from\"react\";import{useState as kt}from\"react\";import{createSafeContext as ta}from\"@mantine/core\";var[Mt,ue]=ta(\"useDataTableColumnsContext must be used within DataTableColumnProvider\");import{jsx as oa}from\"react/jsx-runtime\";var it=e=>{let{children:t,columnsOrder:o,setColumnsOrder:n,columnsToggle:a,setColumnsToggle:r,resetColumnsOrder:l,resetColumnsToggle:c,setColumnWidth:m,setMultipleColumnWidths:u,resetColumnsWidth:f}=e,[p,d]=kt(\"\"),[s,i]=kt(\"\");return oa(Mt,{value:{sourceColumn:p,setSourceColumn:d,targetColumn:s,setTargetColumn:i,columnsToggle:a,setColumnsToggle:r,swapColumns:()=>{if(!o||!n||!p||!s)return;let h=o.indexOf(p),y=o.indexOf(s);if(h!==-1&&y!==-1){let v=o.splice(h,1)[0];o.splice(y,0,v),n([...o])}},resetColumnsOrder:l,resetColumnsToggle:c,setColumnWidth:m,setMultipleColumnWidths:u,resetColumnsWidth:f},children:t})};import{jsx as Et}from\"react/jsx-runtime\";function Nt(){return Et(\"tr\",{className:\"mantine-datatable-empty-row\",children:Et(\"td\",{})})}import{Center as aa,Text as ra}from\"@mantine/core\";import{jsx as Se,jsxs as na}from\"react/jsx-runtime\";function Lt(){return na(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Se(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Se(\"path\",{d:\"M12.983 8.978c3.955 -.182 7.017 -1.446 7.017 -2.978c0 -1.657 -3.582 -3 -8 -3c-1.661 0 -3.204 .19 -4.483 .515m-2.783 1.228c-.471 .382 -.734 .808 -.734 1.257c0 1.22 1.944 2.271 4.734 2.74\"}),Se(\"path\",{d:\"M4 6v6c0 1.657 3.582 3 8 3c.986 0 1.93 -.067 2.802 -.19m3.187 -.82c1.251 -.53 2.011 -1.228 2.011 -1.99v-6\"}),Se(\"path\",{d:\"M4 12v6c0 1.657 3.582 3 8 3c3.217 0 5.991 -.712 7.261 -1.74m.739 -3.26v-4\"}),Se(\"path\",{d:\"M3 3l18 18\"})]})}import{Fragment as la,jsx as We,jsxs as ia}from\"react/jsx-runtime\";function Wt({icon:e,text:t,active:o,children:n}){return We(aa,{className:\"mantine-datatable-empty-state\",\"data-active\":o||void 0,children:n||ia(la,{children:[e||We(\"div\",{className:\"mantine-datatable-empty-state-icon\",children:We(Lt,{})}),We(ra,{component:\"div\",size:\"sm\",c:\"dimmed\",children:t})]})})}import{TableTfoot as Ia,TableTr as Ha}from\"@mantine/core\";import Oa from\"clsx\";import{TableTh as ka}from\"@mantine/core\";import Ea from\"clsx\";import{useCallback as Ml,useRef as kl,useState as El}from\"react\";import{useLocalStorage as sa}from\"@mantine/hooks\";function It({key:e,columns:t=[],getInitialValueInEffect:o=!0}){function n(p,d){let s=[];return p.forEach(i=>{d.find(g=>g.accessor===i)&&s.push(i)}),d.forEach(i=>{s.includes(i.accessor)||s.push(i.accessor)}),s}let a=t&&t.map(p=>p.accessor)||[],[r,l]=sa({key:e?`${e}-columns-order`:\"\",defaultValue:e?a:void 0,getInitialValueInEffect:o});function c(p){e&&l(p)}let m=()=>{c(a)};if(!e)return{columnsOrder:r,setColumnsOrder:c,resetColumnsOrder:m};let u=n(r,t),f=JSON.stringify(r);return JSON.stringify(u)!==f&&c(u),{columnsOrder:u,setColumnsOrder:c,resetColumnsOrder:m}}import{useLocalStorage as ca}from\"@mantine/hooks\";import{useCallback as re,useEffect as st,useMemo as Ie,useRef as Ht,useState as Ot}from\"react\";function _t({key:e,columns:t=[],getInitialValueInEffect:o=!0,headerRef:n,onFixedLayoutChange:a}){let r=Ht(!1),l=Ht({}),[c,m]=Ot(!0),u=Ie(()=>t.some(b=>b.resizable&&!b.hidden&&b.accessor!==\"__selection__\"),[t]),f=Ie(()=>t.filter(b=>b.resizable&&!b.hidden&&b.accessor!==\"__selection__\"),[t]),p=Ie(()=>f.some(b=>b.width===void 0||b.width===\"\"||b.width===\"initial\"),[f]),d=re(()=>t.filter(b=>b.accessor!==\"__selection__\").map(b=>({[b.accessor]:b.width??\"auto\"})),[t]),[s,i]=ca({key:e?`${e}-columns-width`:\"\",defaultValue:e?d():void 0,getInitialValueInEffect:!1}),[g,h]=Ot(()=>d());st(()=>{m(!1)},[]);let y=re(()=>{if(!n?.current||c)return{};let b=n.current,x=Array.from(b.querySelectorAll(\"th[data-accessor]\")),k={};return x.forEach(E=>{let L=E.getAttribute(\"data-accessor\");if(!L||L===\"__selection__\")return;let C=f.find(w=>w.accessor===L);if(C&&(C.width===void 0||C.width===\"\"||C.width===\"initial\")){let w=E.getBoundingClientRect();k[L]=Math.round(w.width)}}),k},[n,f,c]),v=re(b=>{let x=b.filter(E=>E.accessor!==\"__selection__\"),k=g.map(E=>{let L=Object.keys(E)[0],C=x.find(w=>w.accessor===L);return C?{[L]:C.width}:E});h(k),e&&i(k)},[g,e,i]),M=re(b=>{v(b)},[v]),R=re(()=>{if(!(!n?.current||!a||c))if(p)a(!1),requestAnimationFrame(()=>{requestAnimationFrame(()=>{let b=y();l.current={...l.current,...b};let x=t.filter(k=>k.accessor!==\"__selection__\").map(k=>{let E=k.accessor,L=s?.find(w=>Object.keys(w)[0]===E);if(L&&L[E]!==\"auto\")return{[E]:L[E]};let C=b[E];return C?{[E]:`${C}px`}:{[E]:k.width??\"auto\"}});h(x),setTimeout(()=>{a(!0),r.current=!0},10)})});else{let b=t.filter(x=>x.accessor!==\"__selection__\").map(x=>({[x.accessor]:x.width??\"auto\"}));h(b),a(!0),r.current=!0}},[n,a,c,p,y,t,s]),W=R;st(()=>{if(!u||!a||c){a?.(!1);return}r.current=!1;let b=setTimeout(()=>{R()},50);return()=>clearTimeout(b)},[u,a,c,R]),st(()=>{c||!e||!o||s&&s.length>0&&h(s)},[c,e,o,s]);let D=re(()=>{e&&i(d()),l.current={},r.current=!1,a&&(a(!1),setTimeout(()=>{R()},10))},[e,i,d,a,R]),T=re((b,x)=>{v([{accessor:b,width:x}])},[v]),P=Ie(()=>u?g.filter(b=>{let x=Object.keys(b)[0];return f.some(k=>k.accessor===x)}).every(b=>{let x=Object.values(b)[0];return x===\"auto\"||x===\"initial\"}):!1,[u,g,f]);return{columnsWidth:g,setColumnsWidth:v,setColumnWidth:T,setMultipleColumnWidths:M,resetColumnsWidth:D,hasResizableColumns:u,allResizableWidthsInitial:P,measureAndSetColumnWidths:W}}import{useMemo as da}from\"react\";import{useLocalStorage as ua}from\"@mantine/hooks\";function At({key:e,columns:t=[],getInitialValueInEffect:o=!0}){function n(p,d){let s=[];return p.forEach(i=>{d.find(g=>g.accessor===i.accessor)&&s.push(i)}),d.forEach(i=>{s.find(g=>g.accessor===i.accessor)||s.push({accessor:i.accessor,defaultToggle:i.defaultToggle||!0,toggleable:i.toggleable,toggled:i.defaultToggle===void 0?!0:i.defaultToggle})}),s}let a=t&&t.map(p=>({accessor:p.accessor,defaultToggle:p.defaultToggle||!0,toggleable:p.toggleable,toggled:p.defaultToggle===void 0?!0:p.defaultToggle})),[r,l]=ua({key:e?`${e}-columns-toggle`:\"\",defaultValue:e?a:void 0,getInitialValueInEffect:o});function c(p){e&&l(p)}let m=()=>{c(a)};if(!e)return{columnsToggle:r,setColumnsToggle:c,resetColumnsToggle:m};let u=n(r,t),f=JSON.stringify(r);return JSON.stringify(u)!==f&&c(u),{columnsToggle:u,setColumnsToggle:c,resetColumnsToggle:m}}var zt=({key:e,columns:t=[],getInitialValueInEffect:o=!0,headerRef:n,scrollViewportRef:a,onFixedLayoutChange:r})=>{let{columnsOrder:l,setColumnsOrder:c,resetColumnsOrder:m}=It({key:e,columns:t,getInitialValueInEffect:o}),{columnsToggle:u,setColumnsToggle:f,resetColumnsToggle:p}=At({key:e,columns:t,getInitialValueInEffect:o}),{columnsWidth:d,setColumnsWidth:s,setColumnWidth:i,setMultipleColumnWidths:g,resetColumnsWidth:h,hasResizableColumns:y,allResizableWidthsInitial:v,measureAndSetColumnWidths:M}=_t({key:e,columns:t,getInitialValueInEffect:o,headerRef:n,scrollViewportRef:a,onFixedLayoutChange:r});return{effectiveColumns:da(()=>l?l.map(T=>t.find(P=>P.accessor===T)).map(T=>({...T,hidden:T?.hidden||!u.find(P=>P.accessor===T?.accessor)?.toggled})).map(T=>T?.accessor===\"__selection__\"?T:{...T,width:d.find(P=>P[T?.accessor])?.[T?.accessor]}):t,[t,l,u,d]),setColumnsOrder:c,columnsOrder:l,resetColumnsOrder:m,columnsToggle:u,setColumnsToggle:f,resetColumnsToggle:p,columnsWidth:d,setColumnsWidth:s,setColumnWidth:i,setMultipleColumnWidths:g,resetColumnsWidth:h,hasResizableColumns:y,allResizableWidthsInitial:v,measureAndSetColumnWidths:M}};import{rem as ba}from\"@mantine/core\";import{useCallback as Ta,useEffect as dt,useRef as K}from\"react\";import{useEffect as ma,useLayoutEffect as pa}from\"react\";var ct=typeof window<\"u\"?pa:ma;import{useRef as fa}from\"react\";function ut(e){let t=fa(e);return t.current=e,t}var Bt=\"--mantine-datatable-header-height\",Vt=\"--mantine-datatable-footer-height\",Gt=\"--mantine-datatable-selection-column-width\",Ft=\"--mantine-datatable-last-row-border-bottom\";function G(e,t,o){e?.style.setProperty(t,o)}function pt(e){let t=e.borderBoxSize?.[0]||e.contentBoxSize?.[0];return t?{width:t.inlineSize,height:t.blockSize}:{width:e.contentRect.width,height:e.contentRect.height}}function mt(e,t,o){if(e){let n=new ResizeObserver(a=>{let r=a[0];r&&t(pt(r))});return n.observe(e),()=>{n.disconnect(),o()}}}function $t({scrollCallbacks:e,withRowBorders:t}){let o={root:K(null),table:K(null),scrollViewport:K(null),header:K(null),footer:K(null),selectionColumnHeader:K(null)},{root:n,table:a,scrollViewport:r,header:l,footer:c,selectionColumnHeader:m}=o,u=ut({withRowBorders:t}),f=ut(e),p=K(()=>{}),d=K(()=>{}),s=Ta(i=>{f.current.onScroll?.(i),p.current()},[]);return dt(()=>mt(l.current,i=>{G(n.current,Bt,`${i.height}px`)},()=>G(n.current,Bt,\"0\")),[l.current]),dt(()=>mt(c.current,i=>{G(n.current,Vt,`${i.height}px`)},()=>G(n.current,Vt,\"0\")),[c.current]),dt(()=>mt(m.current,i=>{G(n.current,Gt,`${i.width}px`)},()=>G(n.current,Gt,\"0\")),[m.current]),ct(()=>{if(typeof window===void 0)return;let i={top:!0,bottom:!0,left:!0,right:!0},g={width:0,height:0},h={width:0,height:0};function y(D,T){let P=i[D];return i[D]=T,G(n.current,`--mantine-datatable-${D}-shadow-opacity`,T?\"0\":\"1\"),P}function v(){let D=g.height-h.height,T=D<0;G(n.current,\"--mantine-datatable-footer-position\",T?\"relative\":\"sticky\"),G(n.current,\"--mantine-datatable-footer-bottom\",T?`${D}px`:\"0\")}function M(){u.current.withRowBorders&&g.height<h.height?G(n.current,Ft,`${ba(\"1px\")} solid var(--mantine-datatable-border-color)`):G(n.current,Ft,\"unset\")}d.current=M;function R(){let D=f.current,T=r.current,P=T?.scrollTop??0,b=T?.scrollLeft??0,x=P===0,k=g.height-P-h.height<1,E=y(\"top\",x),L=y(\"bottom\",k);x&&x!==E&&D.onScrollToTop?.(),k&&k!==L&&D.onScrollToBottom?.();let C=T?getComputedStyle(T).direction===\"rtl\":!1,w=(T?.scrollWidth??0)-h.width,S,I;if(C){let F=Math.abs(b);I=F<1,S=w-F<1}else S=b<1,I=g.width-b-h.width<1;let A=y(\"left\",S),H=y(\"right\",I);S&&S!==A&&D.onScrollToLeft?.(),I&&I!==H&&D.onScrollToRight?.()}p.current=R;let W=new ResizeObserver(D=>{for(let T of D)switch(T.target.tagName){case\"TABLE\":{g=pt(T);break}case\"DIV\":{h=pt(T);break}}R(),v(),M()});return W.observe(a.current),W.observe(r.current),()=>{W.disconnect()}},[]),ct(()=>{d.current()},[t]),{refs:o,onScroll:s}}import{useEffect as ga,useState as ha}from\"react\";function Xt(e){let[t,o]=ha(null),n=e?.join(\":\")||\"\";return ga(()=>{o(null)},[n]),{lastSelectionChangeIndex:t,setLastSelectionChangeIndex:o}}import{useEffect as Ca,useRef as ya,useState as Da}from\"react\";function xa(e,t){let o=()=>{t(e.map(a=>a.matches))},n=e.map(a=>{try{return a.addEventListener(\"change\",o),()=>a.removeEventListener(\"change\",o)}catch{return a.addListener(o),()=>a.removeListener(o)}});return()=>{n.forEach(a=>a())}}function wa(e,t){return t||(typeof window<\"u\"&&\"matchMedia\"in window?e.map(o=>window.matchMedia(o).matches):e.map(()=>!1))}function Ut(e,t,{getInitialValueInEffect:o}={getInitialValueInEffect:!0}){let[n,a]=Da(o?t:wa(e,t)),r=ya(null);return Ca(()=>{if(\"matchMedia\"in window)return r.current=e.map(l=>window.matchMedia(l)),a(r.current.map(l=>l.matches)),xa(r.current,l=>{a(l)})},[e]),n}import{useMantineTheme as Sa}from\"@mantine/core\";import{useMemo as Qt}from\"react\";function Kt(e){let t=Sa(),o=Qt(()=>e.map(a=>(typeof a==\"function\"?a(t):a)??\"\"),[e,t]),n=Qt(()=>e.map(()=>!0),[e]);return Ut(o,n)}import{useMantineTheme as Ra}from\"@mantine/core\";import{useMediaQuery as Pa}from\"@mantine/hooks\";function J(e){let t=Ra(),o=typeof e==\"function\"?e(t):e;return Pa(o||\"\",!0)}import{useState as va}from\"react\";function de(e){let t=e.replace(/([a-z\\d])([A-Z]+)/g,\"$1 $2\").replace(/\\W|_/g,\" \").trim().toLowerCase();return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}function Jt(e,t,o){return e.filter(n=>!t.map(o).includes(o(n)))}function He(e,t){return e.filter((o,n,a)=>n===a.findIndex(r=>t(o)===t(r)))}function ft(e,t){return t?t.match(/([^[.\\]])+/g).reduce((n,a)=>n&&n[a],e):void 0}function _(e,t){return typeof t==\"string\"?ft(e,t):t(e)}function ui(e,t){let o=structuredClone(t),n=o[e.source.index];return e.destination&&(o.splice(e.source.index,1),o.splice(e.destination.index,0,n)),o}function di(e,t){let o=structuredClone(t),n=e.destination;if(!n)return o;let a=o[e.source.index],r=o[n.index];return o.splice(n.index,1,a),o.splice(e.source.index,1,r),o}function bt(e){return!e||e.length===0?0:Math.max(...e.map(t=>t.groups&&t.groups.length>0?1+bt(t.groups):1))}function Re(e){let t=[];for(let o of e)o.columns&&o.columns.length>0?t.push(...o.columns.filter(n=>n!=null)):o.groups&&o.groups.length>0&&t.push(...Re(o.groups));return t.filter(o=>o!=null)}function Oe(e,t){return e.columns&&e.columns.length>0?e.columns.filter((o,n)=>o.hidden?!1:t?t[n]!==!1:!0).length:e.groups&&e.groups.length>0?e.groups.reduce((o,n)=>o+Oe(n,t),0):0}function Tt(e,t,o=0){if(o===t)return[...e];let n=[];for(let a of e)a.groups&&a.groups.length>0&&n.push(...Tt(a.groups,t,o+1));return n}function jt(e,t,o){return o?!e||t:!1}function Zt({rowExpansion:e,records:t,idAccessor:o}){let n=[];if(e&&t){let{trigger:c,allowMultiple:m,initiallyExpanded:u}=e;t&&c===\"always\"?n=t.map(f=>_(f,o)):u&&(n=t.filter((f,p)=>u({record:f,index:p})).map(f=>_(f,o)),m||(n=[n[0]]))}let a,r,l=va(n);if(e){let{expandable:c,trigger:m,allowMultiple:u,collapseProps:f,content:p}=e;e.expanded?{recordIds:a,onRecordIdsChange:r}=e.expanded:[a,r]=l;let d=s=>r?.(a.filter(i=>i!==_(s,o)));return{expandOnClick:m!==\"always\"&&m!==\"never\",isRowExpanded:s=>m===\"always\"?!0:a.includes(_(s,o)),isExpandable:({record:s,index:i})=>c?c({record:s,index:i}):!0,expandRow:s=>{let i=_(s,o);r?.(u?[...a,i]:[i])},collapseRow:d,collapseProps:f,content:({record:s,index:i})=>()=>p({record:s,index:i,collapse:()=>d(s)})}}}import{useTimeout as Yt}from\"@mantine/hooks\";import{useEffect as Ma,useState as qt}from\"react\";function eo(e,t){let[o,n]=qt(e),[a,r]=qt(e),l=Yt(()=>n(!0),0),c=Yt(()=>r(!1),t||200);return Ma(()=>{e?(c.clear(),r(!0),l.start()):(l.clear(),n(!1),c.start())},[l,c,e]),{expanded:o,visible:a}}var me=\"mantine-datatable-nowrap\",pe=\"mantine-datatable-ellipsis\",X=\"mantine-datatable-pointer-cursor\",_e=\"mantine-datatable-context-menu-cursor\",to=\"mantine-datatable-text-selection-disabled\",j=\"mantine-datatable-text-align-left\",Z=\"mantine-datatable-text-align-center\",Y=\"mantine-datatable-text-align-right\";import{jsx as Na}from\"react/jsx-runtime\";function oo({className:e,style:t,visibleMediaQuery:o,title:n,noWrap:a,ellipsis:r,textAlign:l,width:c}){return J(o)?Na(ka,{className:Ea({[me]:a||r,[pe]:r,[j]:l===\"left\",[Z]:l===\"center\",[Y]:l===\"right\"},e),style:[{width:c,minWidth:c,maxWidth:c},t],children:n}):null}import{TableTh as La}from\"@mantine/core\";import{jsx as Wa}from\"react/jsx-runtime\";function no({shadowVisible:e}){return Wa(La,{className:\"mantine-datatable-footer-selector-placeholder-cell\",\"data-shadow-visible\":e||void 0})}import{jsx as gt,jsxs as _a}from\"react/jsx-runtime\";function ao({className:e,style:t,columns:o,defaultColumnProps:n,selectionVisible:a,selectorCellShadowVisible:r,ref:l}){return gt(Ia,{ref:l,className:Oa(\"mantine-datatable-footer\",e),style:t,children:_a(Ha,{children:[a&&gt(no,{shadowVisible:r}),o.map(({hidden:c,...m})=>{if(c)return null;let{accessor:u,visibleMediaQuery:f,textAlign:p,width:d,footer:s,footerClassName:i,footerStyle:g,noWrap:h,ellipsis:y}={...n,...m};return gt(oo,{className:i,style:g,visibleMediaQuery:f,textAlign:p,width:d,title:s,noWrap:h,ellipsis:y},u)})]})})}import{Checkbox as pr,Group as fr,Popover as br,PopoverDropdown as Tr,PopoverTarget as gr,Stack as hr,TableThead as Cr,TableTr as wo}from\"@mantine/core\";import yr from\"clsx\";import{useState as Dr}from\"react\";import{TableTh as Aa}from\"@mantine/core\";import za from\"clsx\";import{useMemo as Ae}from\"react\";import{jsx as Ba}from\"react/jsx-runtime\";function ro({group:{id:e,columns:t,groups:o,title:n,textAlign:a,className:r,style:l},maxDepth:c,currentDepth:m,previousGroups:u,isLastGroup:f,withColumnBorders:p=!1,totalTableColumns:d}){let s=Ae(()=>t&&t.length>0?t:o&&o.length>0?Re([{id:e,columns:t,groups:o}]):[],[t,o,e]),i=Ae(()=>s.map(({visibleMediaQuery:D})=>D),[s]),g=Kt(i),h=Ae(()=>Oe({id:e,columns:t,groups:o},g),[e,t,o,g]),y=Ae(()=>u.reduce((D,T)=>D+Oe(T,g),0),[u,g]),M=o&&o.length>0?1:c-m,R=y+h<d,W=jt(f,R,p);return h>0?Ba(Aa,{colSpan:h,rowSpan:M>1?M:void 0,className:za(\"mantine-datatable-column-group-header-cell\",{[j]:a===\"left\",[Z]:a===\"center\",[Y]:a===\"right\",\"mantine-datatable-column-group-header-cell--needs-border\":W},r),style:l,children:n??de(e)}):null}import{ActionIcon as Co,Box as nr,Center as Ge,Flex as ar,Group as rr,TableTh as lr}from\"@mantine/core\";import Fe from\"clsx\";import{useRef as ir,useState as sr}from\"react\";import{ActionIcon as Fa,Popover as $a,PopoverDropdown as Xa,PopoverTarget as Ua}from\"@mantine/core\";import{useClickOutside as Qa,useDisclosure as Ka}from\"@mantine/hooks\";import{jsx as lo,jsxs as Va}from\"react/jsx-runtime\";function io(){return Va(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[lo(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),lo(\"path\",{d:\"M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z\"})]})}import{jsx as so,jsxs as Ga}from\"react/jsx-runtime\";function co(){return Ga(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[so(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),so(\"path\",{d:\"M20 3h-16a1 1 0 0 0 -1 1v2.227l.008 .223a3 3 0 0 0 .772 1.795l4.22 4.641v8.114a1 1 0 0 0 1.316 .949l6 -2l.108 -.043a1 1 0 0 0 .576 -.906v-6.586l4.121 -4.12a3 3 0 0 0 .879 -2.123v-2.171a1 1 0 0 0 -1 -1z\",strokeWidth:\"0\",fill:\"currentColor\"})]})}import{jsx as ze,jsxs as Ja}from\"react/jsx-runtime\";function uo({children:e,isActive:t,filterPopoverProps:o,filterPopoverDisableClickOutside:n}){let[a,{close:r,toggle:l}]=Ka(!1),c=t?co:io,m=Qa(r);return n&&(m=void 0),Ja($a,{withArrow:!0,shadow:\"md\",opened:a,onClose:r,trapFocus:!0,...o,children:[ze(Ua,{children:ze(Fa,{className:\"mantine-datatable-header-cell-filter-action-icon\",\"data-active\":t||void 0,size:\"sm\",variant:\"default\",onClick:u=>{u.preventDefault(),l()},onKeyDown:u=>u.stopPropagation(),children:ze(c,{})})}),ze(Xa,{ref:m,onClick:u=>u.stopPropagation(),onKeyDown:u=>u.stopPropagation(),children:typeof e==\"function\"?e({close:r}):e})]})}import{useDirection as ja}from\"@mantine/core\";import{useCallback as mo,useRef as po,useState as Za}from\"react\";import{jsx as Ya}from\"react/jsx-runtime\";var fo=e=>{let{accessor:t,columnRef:o}=e,[n,a]=Za(!1),r=po(0),l=po({current:0,next:0}),{dir:c}=ja(),m=c===\"rtl\",{setMultipleColumnWidths:u}=ue(),f=mo(d=>{if(d.preventDefault(),d.stopPropagation(),!o.current)return;let s=o.current,i=s.nextElementSibling;for(;i;){let W=i.getAttribute(\"data-accessor\");if(W&&W!==\"__selection__\")break;i=i.nextElementSibling}if(!i)return;let g=i.getAttribute(\"data-accessor\");if(!g)return;let h=g===\"__selection__\";a(!0),r.current=d.clientX;let y=s.offsetWidth,v=i.offsetWidth;l.current={current:y,next:v};let M=W=>{if(!o.current)return;let D=o.current,T=D.nextElementSibling;if(!T)return;let P=W.clientX-r.current;m&&(P=-P);let b=50,x=l.current.current-b,k=l.current.next-b,E=Math.max(-x,Math.min(P,k)),L=l.current.current+E,C=l.current.next-E;D.style.width=`${L}px`,T.style.width=`${C}px`,D.style.minWidth=`${L}px`,D.style.maxWidth=`${L}px`,T.style.minWidth=`${C}px`,T.style.maxWidth=`${C}px`},R=()=>{if(!o.current)return;let W=o.current,D=W.nextElementSibling;a(!1),document.body.style.cursor=\"initial\",document.body.style.userSelect=\"initial\";let T=parseInt(W.style.width)||W.offsetWidth,P=D?parseInt(D.style.width)||D.offsetWidth:0,b=[{accessor:t,width:`${T}px`}];if(D&&!h){let x=D.getAttribute(\"data-accessor\");x&&b.push({accessor:x,width:`${P}px`})}setTimeout(()=>{u(b)},0),document.removeEventListener(\"mousemove\",M),document.removeEventListener(\"mouseup\",R)};document.body.style.cursor=\"col-resize\",document.body.style.userSelect=\"none\",document.addEventListener(\"mousemove\",M),document.addEventListener(\"mouseup\",R)},[t,o,m,u]),p=mo(()=>{if(!o.current)return;let d=o.current,s=d.nextElementSibling;d.style.width=\"\",d.style.minWidth=\"\",d.style.maxWidth=\"\";let i=[{accessor:t,width:\"auto\"}];if(s){s.style.width=\"\",s.style.minWidth=\"\",s.style.maxWidth=\"\";let g=s.getAttribute(\"data-accessor\");g&&g!==\"__selection__\"&&i.push({accessor:g,width:\"auto\"})}setTimeout(()=>{u(i)},0)},[t,o,u]);return Ya(\"div\",{className:\"mantine-datatable-header-resizable-handle\",style:{cursor:n?\"col-resize\":void 0},onMouseDown:f,onDoubleClick:p,onClick:d=>d.stopPropagation(),title:\"Drag to resize column, double-click to reset\"})};import{jsx as Be,jsxs as qa}from\"react/jsx-runtime\";function bo(){return qa(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Be(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Be(\"path\",{d:\"M12 5l0 14\"}),Be(\"path\",{d:\"M16 9l-4 -4\"}),Be(\"path\",{d:\"M8 9l4 -4\"})]})}import{jsx as Ve,jsxs as er}from\"react/jsx-runtime\";function To(){return er(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Ve(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Ve(\"path\",{d:\"M8 7l4 -4l4 4\"}),Ve(\"path\",{d:\"M8 17l4 4l4 -4\"}),Ve(\"path\",{d:\"M12 3l0 18\"})]})}import{jsx as le,jsxs as tr}from\"react/jsx-runtime\";function go(){return tr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[le(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),le(\"path\",{d:\"M9 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),le(\"path\",{d:\"M9 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),le(\"path\",{d:\"M9 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),le(\"path\",{d:\"M15 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),le(\"path\",{d:\"M15 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),le(\"path\",{d:\"M15 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"})]})}import{jsx as ht,jsxs as or}from\"react/jsx-runtime\";function ho(){return or(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[ht(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),ht(\"path\",{d:\"M18 6l-12 12\"}),ht(\"path\",{d:\"M6 6l12 12\"})]})}import{Fragment as cr,jsx as z,jsxs as Ct}from\"react/jsx-runtime\";function yo({className:e,style:t,accessor:o,visibleMediaQuery:n,title:a,sortable:r,draggable:l,toggleable:c,resizable:m,sortIcons:u,textAlign:f,width:p,sortStatus:d,onSortStatusChange:s,filter:i,filterPopoverProps:g,filterPopoverDisableClickOutside:h,filtering:y,sortKey:v}){let{setSourceColumn:M,setTargetColumn:R,swapColumns:W,setColumnsToggle:D}=ue(),[T,P]=sr(!1),b=ir(null);if(!J(n))return null;let x=a??de(o),k=typeof x==\"string\"?x:void 0,E=r&&s?H=>{H?.defaultPrevented||s({sortKey:v,columnAccessor:o,direction:d?.columnAccessor===o?d.direction===\"asc\"?\"desc\":\"asc\":d?.direction??\"asc\"})}:void 0,L=H=>{H.stopPropagation(),M(o),P(!1)},C=H=>{H.preventDefault(),R(o),P(!0)},w=()=>{R(o),P(!1),W()},S=()=>{P(!0)},I=()=>{P(!1)},A=H=>{H.stopPropagation(),D(F=>F.map(U=>U.accessor===o?{...U,toggled:!1}:U))};return Ct(lr,{\"data-accessor\":o,className:Fe({\"mantine-datatable-header-cell-sortable\":r,\"mantine-datatable-header-cell-toggleable\":c,\"mantine-datatable-header-cell-resizable\":m},e),style:[{width:p,...m?{}:{minWidth:p,maxWidth:p}},t],role:r?\"button\":void 0,tabIndex:r?0:void 0,onClick:E,onKeyDown:H=>H.key===\"Enter\"&&E?.(),ref:b,children:[Ct(rr,{className:\"mantine-datatable-header-cell-sortable-group\",justify:\"space-between\",wrap:\"nowrap\",children:[Ct(ar,{align:\"center\",w:\"100%\",className:Fe({\"mantine-datatable-header-cell-draggable\":l,\"mantine-datatable-header-cell-drag-over\":T}),draggable:l,onDragStart:l?L:void 0,onDragEnter:l?S:void 0,onDragOver:l?C:void 0,onDrop:l?w:void 0,onDragLeave:l?I:void 0,children:[l?z(Ge,{role:\"img\",\"aria-label\":\"Drag column\",children:z(Co,{className:\"mantine-datatable-header-cell-draggable-action-icon\",variant:\"subtle\",size:\"xs\",onClick:H=>{H.stopPropagation()},children:z(go,{})})}):null,z(nr,{className:Fe(\"mantine-datatable-header-cell-sortable-text\",{[j]:f===\"left\",[Z]:f===\"center\",[Y]:f===\"right\"},me,pe),title:k,children:x})]}),c?z(Ge,{className:\"mantine-datatable-header-cell-toggleable-icon\",role:\"img\",\"aria-label\":\"Toggle column\",children:z(Co,{size:\"xs\",variant:\"light\",onClick:A,children:z(ho,{})})}):null,r||d?.columnAccessor===o?z(cr,{children:d?.columnAccessor===o?z(Ge,{className:Fe(\"mantine-datatable-header-cell-sortable-icon\",{\"mantine-datatable-header-cell-sortable-icon-reversed\":d.direction===\"desc\"}),role:\"img\",\"aria-label\":`Sorted ${d.direction===\"desc\"?\"descending\":\"ascending\"}`,children:u?.sorted||z(bo,{})}):z(Ge,{className:\"mantine-datatable-header-cell-sortable-unsorted-icon\",role:\"img\",\"aria-label\":\"Not sorted\",children:u?.unsorted||z(To,{})})}):null,i?z(uo,{filterPopoverProps:g,isActive:!!y,filterPopoverDisableClickOutside:h,children:i}):null]}),m&&o!==\"__selection__\"?z(fo,{accessor:o,columnRef:b}):null]})}import{Checkbox as ur,TableTh as dr}from\"@mantine/core\";import mr from\"clsx\";import{jsx as Do}from\"react/jsx-runtime\";function xo({className:e,style:t,trigger:o,shadowVisible:n,checked:a,indeterminate:r,checkboxProps:l,onChange:c,rowSpan:m,ref:u}){let f=!l.disabled;return Do(dr,{ref:u,className:mr(\"mantine-datatable-header-selector-cell\",{[X]:o===\"cell\"&&f},e),style:t,rowSpan:m,\"data-shadow-visible\":n||void 0,\"data-accessor\":\"__selection__\",onClick:o===\"cell\"&&f?c:void 0,children:Do(ur,{classNames:f?{input:X}:void 0,checked:a,indeterminate:r,onChange:c,...l,disabled:!(c||l.onChange)||l.disabled})})}import{jsx as q,jsxs as $e}from\"react/jsx-runtime\";function So({selectionColumnHeaderRef:e,className:t,style:o,sortStatus:n,sortIcons:a,onSortStatusChange:r,columns:l,defaultColumnProps:c,groups:m,selectionTrigger:u,selectionVisible:f,selectionChecked:p,selectionIndeterminate:d,onSelectionChange:s,selectionCheckboxProps:i,selectorCellShadowVisible:g,selectionColumnClassName:h,selectionColumnStyle:y,withColumnBorders:v=!1,ref:M}){let R=m?bt(m):0,W=R>0?R+1:1,D=f?q(xo,{ref:e,className:h,style:y,trigger:u,shadowVisible:g,checked:p,indeterminate:d,checkboxProps:i,onChange:s,rowSpan:m?W:void 0}):null,{columnsToggle:T,setColumnsToggle:P}=ue(),[b,x]=Dr(!1),k=l.some(C=>C.toggleable),E=k?Object.fromEntries(l.map(({accessor:C,title:w})=>[C,w??de(String(C))])):void 0,L=$e(Cr,{className:yr(\"mantine-datatable-header\",t),style:o,ref:M,onContextMenu:k?C=>{C.preventDefault(),x(w=>!w)}:void 0,children:[m&&Array.from({length:R},(C,w)=>{let S=Tt(m,w);return $e(wo,{children:[w===0&&D,S.map((I,A)=>q(ro,{group:I,maxDepth:R,currentDepth:w,previousGroups:S.slice(0,A),isLastGroup:A===S.length-1,withColumnBorders:v,totalTableColumns:l.length},I.id))]},`group-depth-${w}`)}),$e(wo,{children:[!m&&D,l.map(({hidden:C,...w},S)=>{if(C)return null;let{accessor:I,visibleMediaQuery:A,textAlign:H,width:F,title:U,sortable:fe,draggable:be,toggleable:Te,resizable:ge,titleClassName:te,titleStyle:he,filter:Ce,filterPopoverProps:Q,filterPopoverDisableClickOutside:Je,filtering:je,sortKey:Ze}={...c,...w};return q(yo,{accessor:I,className:te,style:he,visibleMediaQuery:A,textAlign:H,width:F,title:U,sortable:fe,draggable:be,toggleable:Te,resizable:ge&&S<l.length-1,sortStatus:n,sortIcons:a,sortKey:Ze,onSortStatusChange:r,filter:Ce,filterPopoverProps:Q,filterPopoverDisableClickOutside:Je,filtering:je},I)})]})]});return k?$e(br,{position:\"bottom\",withArrow:!0,shadow:\"md\",opened:b,onChange:x,children:[q(gr,{children:L}),q(Tr,{children:q(hr,{children:T.filter(C=>C.toggleable).map(C=>q(fr,{children:q(pr,{classNames:{label:\"mantine-datatable-header-column-toggle-checkbox-label\"},size:\"xs\",label:E[C.accessor],checked:C.toggled,onChange:w=>{P(T.map(S=>S.accessor===C.accessor?{...S,toggled:w.currentTarget.checked}:S))}})},C.accessor))})})]}):L}import{Center as xr,Loader as wr}from\"@mantine/core\";import Sr from\"clsx\";import{jsx as Ro}from\"react/jsx-runtime\";function Po({fetching:e,customContent:t,backgroundBlur:o,size:n,type:a,color:r}){return Ro(xr,{className:Sr(\"mantine-datatable-loader\",{\"mantine-datatable-loader-fetching\":e}),style:[{backdropFilter:o?`blur(${o}px)`:void 0}],children:e&&(t||Ro(wr,{size:n,type:a,color:r}))})}import{Box as Ir,Pagination as Hr,Text as Or,rem as _r}from\"@mantine/core\";import Io from\"clsx\";import{Button as vr,Group as Mr,Menu as kr,MenuDropdown as Er,MenuItem as Nr,MenuTarget as Lr,Text as Eo,rem as Pe}from\"@mantine/core\";import Wr from\"clsx\";import{parseThemeColor as Rr}from\"@mantine/core\";function O(e,t,o){return e?Rr({color:typeof e==\"object\"?e[o]:e,theme:t}).value:void 0}function vo({theme:e,c:t,backgroundColor:o,borderColor:n,rowBorderColor:a,stripedColor:r,highlightOnHoverColor:l}){return{\"--mantine-datatable-color-light\":O(t,e,\"light\"),\"--mantine-datatable-color-dark\":O(t,e,\"dark\"),\"--mantine-datatable-background-color-light\":O(o,e,\"light\"),\"--mantine-datatable-background-color-dark\":O(o,e,\"dark\"),\"--mantine-datatable-border-color-light\":O(n,e,\"light\"),\"--mantine-datatable-border-color-dark\":O(n,e,\"dark\"),\"--mantine-datatable-row-border-color-light\":O(a,e,\"light\"),\"--mantine-datatable-row-border-color-dark\":O(a,e,\"dark\"),\"--mantine-datatable-striped-color-light\":O(r,e,\"light\"),\"--mantine-datatable-striped-color-dark\":O(r,e,\"dark\"),\"--mantine-datatable-highlight-on-hover-color-light\":O(l,e,\"light\"),\"--mantine-datatable-highlight-on-hover-color-dark\":O(l,e,\"dark\")}}function Xe({theme:e,paginationActiveTextColor:t,paginationActiveBackgroundColor:o}){return{\"--mantine-datatable-pagination-active-text-color-light\":O(t,e,\"light\"),\"--mantine-datatable-pagination-active-text-color-dark\":O(t,e,\"dark\"),\"--mantine-datatable-pagination-active-background-color-light\":O(o,e,\"light\"),\"--mantine-datatable-pagination-active-background-color-dark\":O(o,e,\"dark\")}}function Mo({theme:e,color:t,backgroundColor:o}){return{\"--mantine-datatable-row-color-light\":O(t,e,\"light\"),\"--mantine-datatable-row-color-dark\":O(t,e,\"dark\"),\"--mantine-datatable-row-background-color-light\":O(o,e,\"light\"),\"--mantine-datatable-row-background-color-dark\":O(o,e,\"dark\")}}import{jsx as yt,jsxs as Pr}from\"react/jsx-runtime\";function ko(){return Pr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[yt(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),yt(\"path\",{d:\"M8 9l4 -4l4 4\"}),yt(\"path\",{d:\"M16 15l-4 4l-4 -4\"})]})}import{jsx as ie,jsxs as Lo}from\"react/jsx-runtime\";var No={xs:Pe(22),sm:Pe(26),md:Pe(32),lg:Pe(38),xl:Pe(44)};function Wo({size:e,label:t,values:o,value:n,activeTextColor:a,activeBackgroundColor:r,onChange:l}){return Lo(Mr,{gap:\"xs\",children:[ie(Eo,{component:\"div\",size:e,children:t}),Lo(kr,{withinPortal:!0,withArrow:!0,offset:2,classNames:{arrow:\"mantine-datatable-page-size-selector-menu-arrow\"},children:[ie(Lr,{children:ie(vr,{size:e,variant:\"default\",classNames:{section:\"mantine-datatable-page-size-selector-button-icon\"},rightSection:ie(ko,{}),style:[{fontWeight:\"normal\"},c=>({height:No[e],paddingLeft:c.spacing[e],paddingRight:c.spacing[e]})],children:n})}),ie(Er,{children:o.map(c=>{let m=c===n;return ie(Nr,{className:Wr({\"mantine-datatable-page-size-selector-active\":m}),style:[{height:No[e]},m&&(a||r)?u=>Xe({theme:u,paginationActiveTextColor:a,paginationActiveBackgroundColor:r}):void 0],disabled:m,onClick:()=>l(c),children:ie(Eo,{component:\"div\",size:e,children:c})},c)})})]})]})}import{Fragment as Ho,jsx as ee,jsxs as Ar}from\"react/jsx-runtime\";function Oo({className:e,style:t,fetching:o,page:n,onPageChange:a,paginationWithEdges:r,paginationWithControls:l,paginationActiveTextColor:c,paginationActiveBackgroundColor:m,paginationSize:u,loadingText:f,noRecordsText:p,paginationText:d,totalRecords:s,recordsPerPage:i,onRecordsPerPageChange:g,recordsPerPageLabel:h,recordsPerPageOptions:y,recordsLength:v,horizontalSpacing:M,paginationWrapBreakpoint:R,getPaginationControlProps:W,getPaginationItemProps:D,renderPagination:T}){let P;if(s){let S=(n-1)*i+1,I=S+(v||0)-1;P=d({from:S,to:I,totalRecords:s})}else P=o?f:p;let b=s&&i?Math.max(1,Math.ceil(s/i)):1,x=s?(n-1)*(i??0)+1:void 0,k=s?(x??1)+(v??0)-1:void 0,L=!J(({breakpoints:S})=>`(min-width: ${typeof R==\"number\"?`${_r(R)}rem`:S[R]||R})`),C={Text:S=>ee(Or,{component:\"div\",className:\"mantine-datatable-pagination-text\",size:u,...S,children:P}),PageSizeSelector:S=>y?ee(Wo,{activeTextColor:c,activeBackgroundColor:m,size:u,label:h,values:y,value:i,onChange:g,...S}):ee(Ho,{}),Pagination:S=>ee(Hr,{classNames:{root:Io(\"mantine-datatable-pagination-pages\",{\"mantine-datatable-pagination-pages-fetching\":o||!v}),control:\"mantine-datatable-pagination-pages-control\"},style:c||m?I=>Xe({theme:I,paginationActiveTextColor:c,paginationActiveBackgroundColor:m}):void 0,withEdges:r,withControls:l,value:n,onChange:a,size:u,total:b,getControlProps:W,getItemProps:D,...S})},w={state:{paginationSize:u,page:n,totalPages:b,totalRecords:s,recordsPerPage:i,recordsLength:v,fetching:o,from:x,to:k,isWrapped:L},actions:{setPage:S=>a?.(S),setRecordsPerPage:g?S=>g(S):void 0},Controls:C};return ee(Ir,{px:M??\"xs\",py:\"xs\",className:Io(\"mantine-datatable-pagination\",e),style:[{flexDirection:L?\"column\":\"row\"},t],children:typeof T==\"function\"?T(w):Ar(Ho,{children:[ee(C.Text,{}),ee(C.PageSizeSelector,{}),ee(C.Pagination,{})]})})}import{TableTr as Jr}from\"@mantine/core\";import jr from\"clsx\";import{TableTd as zr}from\"@mantine/core\";import Br from\"clsx\";import{jsx as Vr}from\"react/jsx-runtime\";function _o({className:e,style:t,visibleMediaQuery:o,record:n,index:a,onClick:r,onDoubleClick:l,onContextMenu:c,noWrap:m,ellipsis:u,textAlign:f,width:p,accessor:d,render:s,defaultRender:i,customCellAttributes:g}){return J(o)?Vr(zr,{className:Br({[me]:m||u,[pe]:u,[X]:r||l,[_e]:c,[j]:f===\"left\",[Z]:f===\"center\",[Y]:f===\"right\"},e),style:[{width:p,minWidth:p,maxWidth:p},t],onClick:r,onDoubleClick:l,onContextMenu:c,...g?.(n,a),children:s?s(n,a):i?i(n,a,d):ft(n,d)}):null}import{Collapse as Gr,TableTd as Fr,TableTr as Ao}from\"@mantine/core\";import{Fragment as $r,jsx as ve,jsxs as Xr}from\"react/jsx-runtime\";function zo({open:e,colSpan:t,content:o,collapseProps:n}){let{expanded:a,visible:r}=eo(e,n?.transitionDuration);return r?Xr($r,{children:[ve(Ao,{}),ve(Ao,{children:ve(Fr,{className:\"mantine-datatable-row-expansion-cell\",colSpan:t,children:ve(Gr,{in:a,...n,children:ve(\"div\",{className:\"mantine-datatable-row-expansion-cell-content\",children:o()})})})})]}):null}import{Checkbox as Ur,TableTd as Qr}from\"@mantine/core\";import Kr from\"clsx\";import{jsx as Bo}from\"react/jsx-runtime\";function Vo({className:e,style:t,record:o,index:n,trigger:a,onChange:r,withRightShadow:l,checkboxProps:c,getCheckboxProps:m,...u}){let f={...c,...m(o,n)},p=!u.disabled&&!f.disabled,d=s=>{s.stopPropagation(),a===\"cell\"&&p&&r?.(s)};return Bo(Qr,{className:Kr(\"mantine-datatable-row-selector-cell\",{[X]:a===\"cell\"&&p},e),style:t,\"data-shadow-visible\":l||void 0,onClick:d,children:Bo(Ur,{classNames:p?{input:X}:void 0,onChange:r,...u,...f})})}import{Fragment as Go,jsx as Ue,jsxs as Fo}from\"react/jsx-runtime\";function $o({record:e,index:t,columns:o,defaultColumnProps:n,defaultColumnRender:a,selectionTrigger:r,selectionVisible:l,selectionChecked:c,onSelectionChange:m,isRecordSelectable:u,selectionCheckboxProps:f,getSelectionCheckboxProps:p,onClick:d,onDoubleClick:s,onContextMenu:i,onCellClick:g,onCellDoubleClick:h,onCellContextMenu:y,expansion:v,customAttributes:M,color:R,backgroundColor:W,className:D,style:T,selectorCellShadowVisible:P,selectionColumnClassName:b,selectionColumnStyle:x,rowFactory:k}){let E=Fo(Go,{children:[l&&Ue(Vo,{className:b,style:x,record:e,index:t,trigger:r,withRightShadow:P,checked:c,disabled:!m||(u?!u(e,t):!1),onChange:m,checkboxProps:f,getCheckboxProps:p}),o.map(({hidden:w,hiddenContent:S,...I},A)=>{if(w||S)return null;let{accessor:H,visibleMediaQuery:F,textAlign:U,noWrap:fe,ellipsis:be,width:Te,render:ge,cellsClassName:te,cellsStyle:he,customCellAttributes:Ce}={...n,...I};return Ue(_o,{className:typeof te==\"function\"?te(e,t):te,style:he?.(e,t),visibleMediaQuery:F,record:e,index:t,onClick:g?Q=>g({event:Q,record:e,index:t,column:I,columnIndex:A}):void 0,onDoubleClick:h?Q=>h({event:Q,record:e,index:t,column:I,columnIndex:A}):void 0,onContextMenu:y?Q=>y({event:Q,record:e,index:t,column:I,columnIndex:A}):void 0,accessor:H,textAlign:U,noWrap:fe,ellipsis:be,width:Te,render:ge,defaultRender:a,customCellAttributes:Ce},H)})]}),L=v&&Ue(zo,{colSpan:o.filter(({hidden:w})=>!w).length+(l?1:0),open:v.isRowExpanded(e),content:v.content({record:e,index:t}),collapseProps:v.collapseProps}),C=Zr({record:e,index:t,selectionChecked:c,onClick:d,onDoubleClick:s,onContextMenu:i,expansion:v,customAttributes:M,color:R,backgroundColor:W,className:D,style:T});return k?k({record:e,index:t,rowProps:C,children:E,expandedElement:L}):Fo(Go,{children:[Ue(Jr,{...C,children:E}),L]})}function Zr({record:e,index:t,selectionChecked:o,onClick:n,onDoubleClick:a,onContextMenu:r,expansion:l,customAttributes:c,color:m,backgroundColor:u,className:f,style:p}){return{className:jr(\"mantine-datatable-row\",{[X]:n||a||l?.isExpandable({record:e,index:t})&&l?.expandOnClick},{[_e]:r},typeof f==\"function\"?f(e,t):f),\"data-selected\":o||void 0,onClick:d=>{if(l){let{isExpandable:s,isRowExpanded:i,expandOnClick:g,expandRow:h,collapseRow:y}=l;s({record:e,index:t})&&g&&(i(e)?y(e):h(e))}n?.({event:d,record:e,index:t})},onDoubleClick:a?d=>a({event:d,record:e,index:t}):void 0,onContextMenu:r?d=>r({event:d,record:e,index:t}):void 0,style:[m||u?d=>{let s=m?.(e,t),i=u?.(e,t);return Mo({theme:d,color:s,backgroundColor:i})}:void 0,p?.(e,t)],...c?.(e,t)??{}}}import{Box as Xo,ScrollArea as Yr}from\"@mantine/core\";import Qe from\"clsx\";import{jsx as Ke,jsxs as qr}from\"react/jsx-runtime\";function Uo({leftShadowBehind:e,rightShadowBehind:t,onScrollPositionChange:o,children:n,viewportRef:a,scrollAreaProps:r}){return qr(Yr,{...r,viewportRef:a,classNames:{root:\"mantine-datatable-scroll-area\",scrollbar:\"mantine-datatable-scroll-area-scrollbar\",thumb:\"mantine-datatable-scroll-area-thumb\",corner:\"mantine-datatable-scroll-area-corner\"},onScrollPositionChange:o,children:[n,Ke(Xo,{className:Qe(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-top-shadow\")}),Ke(\"div\",{className:Qe(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-left-shadow\",{\"mantine-datatable-scroll-area-shadow-behind\":e})}),Ke(\"div\",{className:Qe(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-right-shadow\",{\"mantine-datatable-scroll-area-shadow-behind\":t})}),Ke(Xo,{className:Qe(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-bottom-shadow\")})]})}import{jsx as B,jsxs as Jo}from\"react/jsx-runtime\";function ll({withTableBorder:e,borderRadius:t,textSelectionDisabled:o,height:n=\"100%\",minHeight:a,maxHeight:r,shadow:l,verticalAlign:c=\"center\",fetching:m,columns:u,storeColumnsKey:f,groups:p,pinFirstColumn:d,pinLastColumn:s,defaultColumnProps:i,defaultColumnRender:g,idAccessor:h=\"id\",records:y,selectionTrigger:v=\"checkbox\",selectedRecords:M,onSelectedRecordsChange:R,selectionColumnClassName:W,selectionColumnStyle:D,isRecordSelectable:T,selectionCheckboxProps:P,allRecordsSelectionCheckboxProps:b={\"aria-label\":\"Select all records\"},getRecordSelectionCheckboxProps:x=(V,xe)=>({\"aria-label\":`Select record ${xe+1}`}),sortStatus:k,sortIcons:E,onSortStatusChange:L,horizontalSpacing:C,page:w,onPageChange:S,totalRecords:I,recordsPerPage:A,onRecordsPerPageChange:H,recordsPerPageOptions:F,recordsPerPageLabel:U=\"Records per page\",paginationWithEdges:fe,paginationWithControls:be,paginationActiveTextColor:Te,paginationActiveBackgroundColor:ge,paginationSize:te=\"sm\",paginationText:he=({from:V,to:xe,totalRecords:et})=>`${V} - ${xe} / ${et}`,paginationWrapBreakpoint:Ce=\"sm\",getPaginationControlProps:Q=V=>V===\"previous\"?{\"aria-label\":\"Previous page\"}:V===\"next\"?{\"aria-label\":\"Next page\"}:{},getPaginationItemProps:Je,renderPagination:je,loaderBackgroundBlur:Ze,customLoader:jo,loaderSize:Zo,loaderType:Yo,loaderColor:qo,loadingText:en=\"...\",emptyState:tn,noRecordsText:wt=\"No records\",noRecordsIcon:on,highlightOnHover:nn,striped:an,noHeader:rn,onRowClick:ln,onRowDoubleClick:sn,onRowContextMenu:cn,onCellClick:un,onCellDoubleClick:dn,onCellContextMenu:mn,onScroll:pn,onScrollToTop:fn,onScrollToBottom:bn,onScrollToLeft:Tn,onScrollToRight:gn,c:hn,backgroundColor:Cn,borderColor:yn,rowBorderColor:Dn,stripedColor:xn,highlightOnHoverColor:wn,rowColor:Sn,rowBackgroundColor:Rn,rowExpansion:Pn,rowClassName:vn,rowStyle:Mn,customRowAttributes:kn,scrollViewportRef:En,scrollAreaProps:Nn,tableRef:Ln,bodyRef:Wn,m:In,my:Hn,mx:On,mt:_n,mb:An,ml:zn,mr:Bn,className:Vn,classNames:ye,style:Gn,styles:De,rowFactory:Fn,tableWrapper:Ye,...qe}){let V=al(()=>p?Re(p):u,[u,p]),[xe,et]=rl(!1),{refs:$,onScroll:$n}=$t({scrollCallbacks:{onScroll:pn,onScrollToTop:fn,onScrollToBottom:bn,onScrollToLeft:Tn,onScrollToRight:gn},withRowBorders:qe.withRowBorders}),tt=zt({key:f,columns:V,headerRef:$.header,scrollViewportRef:$.scrollViewport,onFixedLayoutChange:et}),Xn=Qo($.table,Ln),Un=Qo($.scrollViewport,En),Qn=Zt({rowExpansion:Pn,records:y,idAccessor:h}),Me=xt(!1),St=xt(w),ot=xt(y),Kn=Dt(N=>{Me.current=!0,ot.current=y,S(N)},[S,y]);ol(()=>{St.current!==w&&(Me.current=!0,ot.current=y,St.current=w)},[w,y]);let ke=y?.length;nl(()=>{if(!Me.current||m||y===ot.current)return;let N=$.scrollViewport.current;if(!N)return;let oe=requestAnimationFrame(()=>{N.scrollTo({top:0,left:0}),Me.current=!1});return()=>cancelAnimationFrame(oe)},[m,y,$.scrollViewport]);let Rt=y?.map(N=>_(N,h)),se=!!M,we=M?.map(N=>_(N,h)),Pt=Rt!==void 0&&we!==void 0&&we.length>0,nt=T?y?.filter(T):y,Ee=nt?.map(N=>_(N,h)),Ne=Pt&&Ee.every(N=>we.includes(N)),Jn=Pt&&Ee.some(N=>we.includes(N)),jn=Dt(()=>{M&&R&&R(Ne?M.filter(N=>!Ee.includes(_(N,h))):He([...M,...nt],N=>_(N,h)))},[Ne,h,R,Ee,nt,M]),{lastSelectionChangeIndex:Le,setLastSelectionChangeIndex:Zn}=Xt(Rt),at=se&&!d,Yn={m:In,my:Hn,mx:On,mt:_n,mb:An,ml:zn,mr:Bn},qn=Dt(({children:N})=>Ye?Ye({children:N}):N,[Ye]);return B(it,{...tt,children:Jo(el,{ref:$.root,...Yn,className:Ko(\"mantine-datatable\",{\"mantine-datatable-with-border\":e},Vn,ye?.root),style:[N=>({...vo({theme:N,c:hn,backgroundColor:Cn,borderColor:yn,rowBorderColor:Dn,stripedColor:xn,highlightOnHoverColor:wn}),borderRadius:N.radius[t]||t,boxShadow:N.shadows[l]||l,height:n,minHeight:a,maxHeight:r}),Gn,De?.root,{position:\"relative\"}],children:[B(Uo,{viewportRef:Un,leftShadowBehind:se||!!d,rightShadowBehind:s,onScrollPositionChange:$n,scrollAreaProps:Nn,children:B(qn,{children:Jo(tl,{ref:Xn,horizontalSpacing:C,className:Ko(\"mantine-datatable-table\",{[to]:o,\"mantine-datatable-vertical-align-top\":c===\"top\",\"mantine-datatable-vertical-align-bottom\":c===\"bottom\",\"mantine-datatable-pin-last-column\":s,\"mantine-datatable-selection-column-visible\":se,\"mantine-datatable-pin-first-column\":d,\"mantine-datatable-resizable-columns\":tt.hasResizableColumns&&xe},ye?.table),style:{...De?.table},\"data-striped\":ke&&an||void 0,\"data-highlight-on-hover\":nn||void 0,...qe,children:[rn?null:B(it,{...tt,children:B(So,{ref:$.header,selectionColumnHeaderRef:$.selectionColumnHeader,className:ye?.header,style:De?.header,columns:V,defaultColumnProps:i,groups:p,sortStatus:k,sortIcons:E,onSortStatusChange:L,selectionTrigger:v,selectionVisible:se,selectionChecked:Ne,selectionIndeterminate:Jn&&!Ne,onSelectionChange:jn,selectionCheckboxProps:{...P,...b},selectorCellShadowVisible:at,selectionColumnClassName:W,selectionColumnStyle:D,withColumnBorders:qe.withColumnBorders})}),B(\"tbody\",{ref:Wn,children:ke?y.map((N,oe)=>{let rt=_(N,h),lt=we?.includes(rt)||!1,vt;return R&&M&&(vt=ea=>{if(ea.nativeEvent.shiftKey&&Le!==null){let ce=y.filter(oe>Le?(ne,ae)=>ae>=Le&&ae<=oe&&(T?T(ne,ae):!0):(ne,ae)=>ae>=oe&&ae<=Le&&(T?T(ne,ae):!0));R(lt?Jt(M,ce,ne=>_(ne,h)):He([...M,...ce],ne=>_(ne,h)))}else R(lt?M.filter(ce=>_(ce,h)!==rt):He([...M,N],ce=>_(ce,h)));Zn(oe)}),B($o,{record:N,index:oe,columns:V,defaultColumnProps:i,defaultColumnRender:g,selectionTrigger:v,selectionVisible:se,selectionChecked:lt,onSelectionChange:vt,isRecordSelectable:T,selectionCheckboxProps:P,getSelectionCheckboxProps:x,onClick:ln,onDoubleClick:sn,onCellClick:un,onCellDoubleClick:dn,onContextMenu:cn,onCellContextMenu:mn,expansion:Qn,color:Sn,backgroundColor:Rn,className:vn,style:Mn,customAttributes:kn,selectorCellShadowVisible:at,selectionColumnClassName:W,selectionColumnStyle:D,idAccessor:h,rowFactory:Fn},rt)}):B(Nt,{})}),V.some(({footer:N})=>N)&&B(ao,{ref:$.footer,className:ye?.footer,style:De?.footer,columns:V,defaultColumnProps:i,selectionVisible:se,selectorCellShadowVisible:at})]})})}),w&&B(Oo,{className:ye?.pagination,style:De?.pagination,horizontalSpacing:C,fetching:m,page:w,onPageChange:Kn,totalRecords:I,recordsPerPage:A,onRecordsPerPageChange:H,recordsPerPageOptions:F,recordsPerPageLabel:U,paginationWithEdges:fe,paginationWithControls:be,paginationActiveTextColor:Te,paginationActiveBackgroundColor:ge,paginationSize:te,paginationText:he,paginationWrapBreakpoint:Ce,getPaginationControlProps:Q,getPaginationItemProps:Je,noRecordsText:wt,loadingText:en,recordsLength:ke,renderPagination:je}),B(Po,{fetching:m,backgroundBlur:Ze,customContent:jo,size:Zo,type:Yo,color:qo}),B(Wt,{icon:on,text:wt,active:!m&&!ke,children:tn})]})})}import{TableTr as il}from\"@mantine/core\";import{useMergedRef as sl}from\"@mantine/hooks\";import{useEffect as cl,useRef as ul}from\"react\";import{jsx as ml}from\"react/jsx-runtime\";function dl({className:e,children:t,isDragging:o,ref:n,...a}){let r=ul(null),l=sl(r,n);return cl(()=>{if(!r.current||!o)return;let f=r.current.parentElement.parentElement.children[0].children[0];for(let p=0;p<f.children.length;p++){let s=f.children[p].getBoundingClientRect(),i=r.current.children[p];i.style.height=s.height+\"px\",i.style.width=s.width+\"px\",i.style.minWidth=s.width+\"px\",i.style.maxWidth=s.width+\"px\"}},[o,t]),ml(il,{\"data-is-dragging\":o,ref:l,...a,className:e,children:t})}export{ll as DataTable,dl as DataTableDraggableRow,Oe as calculateColSpan,Jt as differenceBy,Re as flattenColumns,Tt as getGroupsAtDepth,bt as getMaxGroupDepth,_ as getRecordId,ft as getValueAtPath,de as humanize,jt as needsRightBorder,ui as reorderRecords,di as swapRecords,He as uniqBy,zt as useDataTableColumns};\n//# sourceMappingURL=index.mjs.map","import {\n Alert,\n Button,\n Checkbox,\n Group,\n NumberInput,\n Skeleton,\n Stack,\n Stepper,\n Textarea,\n TextInput\n} from \"@mantine/core\";\nimport { Fragment, useEffect, useState } from \"react\";\nimport { useForm } from \"@mantine/form\";\nimport { BaseEntity, useGetOne, useUpdateOne } from \"../Hooks/useApi\";\nimport { Field, StepConfig } from \"./DataTableInner.tsx\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-expect-error\nimport type { FormRule } from \"@mantine/form/lib/types\";\nimport { DateInput } from \"@mantine/dates\";\n\nexport interface UpdateModalProps<T> {\n fields: Field<T>[];\n steps?: StepConfig[];\n onClose: () => void;\n queryKey: (string | number)[];\n apiPath: string;\n id: string | number;\n}\n\nexport function UpdateModal<T extends BaseEntity>({\n fields,\n onClose,\n queryKey,\n apiPath,\n id,\n steps,\n}: UpdateModalProps<T>) {\n const [active, setActive] = useState<number>(0);\n const [hideButtons, setHideButtons] = useState<boolean>(false);\n\n const { data, isLoading: isDataLoading } = useGetOne<T>(\n apiPath,\n queryKey,\n id,\n );\n const {\n mutateAsync: update,\n isError: isUpdateError,\n error: updateError,\n isPending,\n } = useUpdateOne<T>(apiPath, queryKey);\n\n const stepsAvailable = [\n ...new Set(\n fields\n .filter((f) => typeof f.step === \"number\")\n .map((f) => f.step as number),\n ),\n ];\n\n const form = useForm({\n mode: \"uncontrolled\",\n initialValues: fields.reduce((acc, field) => {\n acc[field.id as keyof T] =\n field.type === \"boolean\"\n ? (field.defaultValue ?? (false as T[keyof T]))\n : (field.defaultValue ?? (\"\" as T[keyof T]));\n return acc;\n }, {} as T),\n validate: fields\n .filter((field) => field.required)\n .reduce(\n (acc, field) => {\n acc[field.id as keyof T] = (value: never, values: T) => {\n if (field.conditional && !field.conditional(values)) {\n return null;\n }\n const isReq = typeof field.required === \"function\"\n ? field.required(values)\n : !!field.required;\n if (!isReq) return null;\n return value ? null : \"Pflichtfeld\";\n };\n return acc;\n },\n {} as Partial<{ [Key in keyof T]: FormRule<T[Key], T> }>,\n ),\n });\n\n useEffect(() => {\n if (data) {\n\n // Start with all API data, then process field-specific transformations\n const values = { ...data } as T;\n \n // Apply field-specific transformations for defined fields\n fields.forEach((field) => {\n const key = field.id as keyof T;\n if (field.type === \"boolean\" && values[key] === null) {\n values[key] = false as T[keyof T];\n } else if (field.type === \"date\" && values[key]) {\n values[key] = new Date(values[key] as unknown as string) as unknown as T[keyof T];\n } else if (values[key] === null) {\n values[key] = \"\" as T[keyof T];\n }\n });\n form.initialize(values);\n form.setValues(values);\n }\n }, [data]);\n\n\n \n function resolveRequired(field: Field<T>, values?: Partial<T>): boolean {\n if (typeof field.required === \"function\") {\n return field.required(values ?? ({} as Partial<T>));\n }\n return !!field.required;\n }\n\n function renderField(field: Field<T>) {\n const formValues = form.getValues();\n if (field.conditional && !field.conditional(formValues)) {\n return null;\n }\n const isRequired = resolveRequired(field, formValues);\n return (\n <Fragment key={field.id}>\n {(field.type === undefined || field.type == \"text\") && (\n <TextInput\n label={field.column.title}\n key={form.key(field.id)}\n placeholder={field.placeholder ?? \"\"}\n {...form.getInputProps(field.id as string)}\n type={field.id.includes(\"email\") ? \"email\" : undefined}\n required={isRequired}\n />\n )}\n\n {field.type === \"number\" && (\n <NumberInput\n decimalSeparator=\",\"\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"date\" && (\n <DateInput\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n valueFormat={\"DD.MM.YYYY\"}\n clearable\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"boolean\" && (\n <Checkbox\n mt=\"md\"\n label={field.column.title}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string, { type: \"checkbox\" })}\n required={isRequired}\n />\n )}\n\n {field.type === \"textarea\" && (\n <Textarea\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string)}\n minRows={3}\n autosize\n required={isRequired}\n />\n )}\n\n {field.type === \"custom\" &&\n field.render &&\n field.render(\n { ...form.getValues(), id } as T,\n form.setValues,\n setHideButtons,\n {\n error: form.getInputProps(field.id as string).error,\n required: isRequired,\n },\n )}\n </Fragment>\n );\n }\n\n return (\n <>\n {isUpdateError && (\n <Alert\n variant=\"outline\"\n color=\"red\"\n title={updateError?.name ?? \"Fehler aufgetreten\"}\n mb=\"lg\"\n >\n {updateError?.message ?? \"Fehler aufgetreten\"}\n </Alert>\n )}\n\n {isDataLoading ? (\n <Stack gap=\"md\">\n <Skeleton height={40} />\n {Array(fields.length)\n .fill(0)\n .map((_, index) => (\n <Skeleton key={`skeleton-field-${index}`} height={35} />\n ))}\n <Group mt=\"md\" justify=\"end\">\n <Skeleton width={100} height={36} />\n <Skeleton width={100} height={36} />\n </Group>\n </Stack>\n ) : (\n <form\n onSubmit={form.onSubmit(async (values) => {\n await update({\n ...values,\n id,\n } as T);\n if (stepsAvailable.length && active < stepsAvailable.length - 1) {\n if (!isUpdateError) {\n setActive(active + 1);\n }\n } else {\n if (!isUpdateError) {\n form.setInitialValues(values);\n form.reset();\n onClose();\n }\n }\n })}\n >\n {stepsAvailable.length ? (\n <Stepper active={active} size=\"sm\">\n {stepsAvailable.map((step) => (\n <Stepper.Step\n key={step}\n {...(steps && steps[step - 1]\n ? { label: steps[step - 1].label }\n : {})}\n >\n {fields\n .filter((f) => f.step === step)\n .map((field) => renderField(field))}\n </Stepper.Step>\n ))}\n </Stepper>\n ) : (\n fields.map((field) => renderField(field))\n )}\n {!hideButtons && (\n <Group mt=\"md\" justify=\"end\">\n <Button\n onClick={() =>\n stepsAvailable.length\n ? active === 0\n ? onClose()\n : setActive(active - 1)\n : onClose()\n }\n variant=\"outline\"\n >\n {stepsAvailable.length\n ? active === 0\n ? \"Abbrechen\"\n : \"Zurück\"\n : \"Abbrechen\"}\n </Button>\n <Button type=\"submit\" loading={isPending}>\n {stepsAvailable.length\n ? active === stepsAvailable.length - 1\n ? \"Speichern\"\n : \"Weiter\"\n : \"Speichern\"}\n </Button>\n </Group>\n )}\n </form>\n )}\n </>\n );\n}\n","import { Alert, Button, Group, Text } from \"@mantine/core\";\nimport { BaseEntity, useDeleteOne } from \"../Hooks/useApi\";\nimport { useEffect, useState } from \"react\";\n\nexport interface DeleteModalProps<T> {\n onClose: () => void;\n queryKey: (string | number)[];\n apiPath: string;\n selectedRecords: T[];\n}\n\nexport function DeleteModal<T extends BaseEntity>({\n queryKey,\n apiPath,\n onClose,\n selectedRecords,\n}: DeleteModalProps<T>) {\n const {\n mutateAsync: del,\n isError: isDeleteError,\n error: deleteError,\n isPending: isDeletePending,\n } = useDeleteOne(apiPath, queryKey);\n\n const [records, setRecords] = useState<T[]>(selectedRecords);\n const [isDeleting, setIsDeleting] = useState(false);\n\n // Combined loading state for clean usage\n const isLoading = isDeleting || isDeletePending;\n\n useEffect(() => {\n if (!records.length) {\n onClose();\n }\n }, [onClose, records]);\n\n if (!records.length) {\n return <></>;\n }\n\n return (\n <>\n {isDeleteError && deleteError.message && (\n <Alert variant=\"outline\" color=\"red\" title={deleteError.name}>\n {deleteError.message}\n </Alert>\n )}\n\n <Text>\n {records.length === 1\n ? `Soll ${records.length} Eintrag wirklich gelöscht werden?`\n : `Sollen ${records.length} Einträge wirklich gelöscht werden?`}\n </Text>\n <Group mt=\"md\" justify=\"end\">\n <Button onClick={onClose} variant=\"outline\" disabled={isLoading}>\n Abbrechen\n </Button>\n <Button\n color=\"red\"\n loading={isLoading}\n onClick={async () => {\n setIsDeleting(true);\n try {\n await Promise.all(records.map((record) => del(record.id)));\n setRecords([]);\n } finally {\n setIsDeleting(false);\n }\n }}\n >\n Löschen\n </Button>\n </Group>\n </>\n );\n}\n","import { useState } from \"react\";\n\nexport function usePersistentState<T>(\n initialValue: T,\n key: string,\n): [T, (value: T) => void] {\n const [state, setState] = useState<T>(() => {\n const storedValue = localStorage.getItem(`use_persistent_storage_${key}`);\n return storedValue ? (JSON.parse(storedValue) as T) : initialValue;\n });\n\n const setStateWrapper = (newState: T) => {\n setState(newState);\n localStorage.setItem(\n `use_persistent_storage_${key}`,\n JSON.stringify(newState),\n );\n };\n\n return [state, setStateWrapper];\n}\n","// Helper function to detect the primary data type of a column\nconst detectColumnType = <T>(\n data: T[],\n field: keyof T,\n): \"string\" | \"number\" | \"date\" | \"mixed\" => {\n const nonNullValues = data\n .map((item) => item[field])\n .filter((value) => value !== null && value !== undefined && value !== \"\");\n\n if (nonNullValues.length === 0) return \"string\";\n\n // Early exit for better performance - sample first 100 items for large datasets\n const sampleSize = Math.min(100, nonNullValues.length);\n const sample = nonNullValues.slice(0, sampleSize);\n\n const types = {\n string: 0,\n number: 0,\n date: 0,\n };\n\n // Improved date regex patterns\n const datePatterns = [\n /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}/, // ISO datetime\n /^\\d{4}-\\d{2}-\\d{2}$/, // ISO date\n /^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/, // MM/DD/YYYY\n /^\\d{1,2}\\.\\d{1,2}\\.\\d{4}$/, // DD.MM.YYYY\n ];\n\n sample.forEach((value) => {\n if (typeof value === \"number\") {\n types.number++;\n } else if (typeof value === \"string\") {\n // Optimize string number detection\n const trimmed = value.trim();\n if (\n trimmed !== \"\" &&\n !isNaN(Number(trimmed)) &&\n !isNaN(parseFloat(trimmed))\n ) {\n types.number++;\n return;\n }\n\n // Check if it's a date string with improved patterns\n if (datePatterns.some((pattern) => pattern.test(trimmed))) {\n const dateValue = new Date(trimmed);\n if (!isNaN(dateValue.getTime())) {\n types.date++;\n return;\n }\n }\n types.string++;\n } else if (value instanceof Date) {\n types.date++;\n } else {\n types.string++; // Fallback to string for objects, etc.\n }\n });\n\n // Determine the dominant type (>= 60% for more accuracy)\n const total = types.string + types.number + types.date;\n if (types.date / total >= 0.6) return \"date\";\n if (types.number / total >= 0.6) return \"number\";\n if (types.string / total >= 0.6) return \"string\";\n\n return \"mixed\";\n};\n\n// Cache for column type detection to avoid recalculation\nconst typeCache = new Map<string, string>();\n\nexport const sortData = <T>(\n data: T[],\n field: keyof T,\n direction: \"asc\" | \"desc\" = \"asc\",\n): T[] => {\n // Early return for empty data\n if (!data || data.length === 0) return [];\n\n // Create cache key\n const cacheKey = `${String(field)}_${data.length}`;\n\n // Get column type from cache or detect it\n let columnType = typeCache.get(cacheKey) as\n | \"string\"\n | \"number\"\n | \"date\"\n | \"mixed\";\n if (!columnType) {\n columnType = detectColumnType(data, field);\n typeCache.set(cacheKey, columnType);\n }\n\n // Create a custom sort function that handles null values properly\n const sortedData = [...data].sort((a, b) => {\n const aValue = a[field];\n const bValue = b[field];\n\n // Handle null/undefined/empty values\n const aIsNull = aValue === null || aValue === undefined || aValue === \"\";\n const bIsNull = bValue === null || bValue === undefined || bValue === \"\";\n\n // If both are null, they're equal\n if (aIsNull && bIsNull) return 0;\n \n // If only a is null, it should come first for asc, last for desc\n if (aIsNull) return direction === \"asc\" ? -1 : 1;\n \n // If only b is null, it should come first for asc, last for desc\n if (bIsNull) return direction === \"asc\" ? 1 : -1;\n\n // Both values are not null, proceed with normal sorting\n let aSortValue: any;\n let bSortValue: any;\n\n switch (columnType) {\n case \"date\":\n if (typeof aValue === \"string\") {\n const aDateValue = new Date(aValue.trim());\n aSortValue = isNaN(aDateValue.getTime()) ? null : aDateValue.getTime();\n } else if (aValue instanceof Date) {\n aSortValue = aValue.getTime();\n } else {\n aSortValue = null;\n }\n\n if (typeof bValue === \"string\") {\n const bDateValue = new Date(bValue.trim());\n bSortValue = isNaN(bDateValue.getTime()) ? null : bDateValue.getTime();\n } else if (bValue instanceof Date) {\n bSortValue = bValue.getTime();\n } else {\n bSortValue = null;\n }\n break;\n\n case \"number\":\n if (typeof aValue === \"number\") {\n aSortValue = aValue;\n } else {\n const aStrValue = String(aValue).trim();\n const aNumValue = parseFloat(aStrValue);\n aSortValue = isNaN(aNumValue) ? null : aNumValue;\n }\n\n if (typeof bValue === \"number\") {\n bSortValue = bValue;\n } else {\n const bStrValue = String(bValue).trim();\n const bNumValue = parseFloat(bStrValue);\n bSortValue = isNaN(bNumValue) ? null : bNumValue;\n }\n break;\n\n case \"string\":\n const aStringValue = typeof aValue === \"string\" ? aValue : String(aValue);\n const bStringValue = typeof bValue === \"string\" ? bValue : String(bValue);\n aSortValue = aStringValue.toLowerCase().trim();\n bSortValue = bStringValue.toLowerCase().trim();\n break;\n\n case \"mixed\":\n default:\n const aMixedValue = String(aValue);\n const bMixedValue = String(bValue);\n aSortValue = aMixedValue.toLowerCase().trim();\n bSortValue = bMixedValue.toLowerCase().trim();\n break;\n }\n\n // Handle null sort values (invalid dates, non-numeric strings, etc.)\n if (aSortValue === null && bSortValue === null) return 0;\n if (aSortValue === null) return direction === \"asc\" ? 1 : -1;\n if (bSortValue === null) return direction === \"asc\" ? -1 : 1;\n\n // Compare the sort values\n if (aSortValue < bSortValue) return direction === \"asc\" ? -1 : 1;\n if (aSortValue > bSortValue) return direction === \"asc\" ? 1 : -1;\n return 0;\n });\n\n return sortedData;\n};\n","import { ActionIcon, Box, Checkbox, Collapse, Divider, Group, Menu, Pagination, Select, Stack, Text } from \"@mantine/core\";\nimport { BaseEntity } from \"../Hooks/useApi\";\nimport { Action, Field } from \"./DataTableInner\";\nimport React, { useState } from \"react\";\nimport { IconChevronDown, IconDotsVertical, IconSortAscending, IconSortDescending } from \"@tabler/icons-react\";\n\ninterface SortConfig {\n field: string;\n direction: \"asc\" | \"desc\";\n onSortChange: (field: string, direction: \"asc\" | \"desc\") => void;\n}\n\ninterface MobileCardListProps<T extends BaseEntity> {\n records: T[];\n fields: Field<T>[];\n selection?: boolean;\n selectedRecords?: T[];\n onSelectedRecordsChange?: (records: T[]) => void;\n onRowClick?: (params: { record: T; index: number; event: React.MouseEvent }) => void;\n actions?: Action<T>[];\n canUpdate?: (record: T) => boolean;\n canDelete?: (record: T) => boolean;\n pagination?: {\n totalRecords: number;\n recordsPerPage: number;\n page: number;\n onPageChange: (page: number) => void;\n recordsPerPageOptions?: number[];\n onRecordsPerPageChange?: (size: number) => void;\n };\n sort?: SortConfig;\n rowExpansion?: {\n content: (record: T) => React.ReactNode;\n };\n}\n\nfunction getNestedValue(record: Record<string, unknown>, accessor: string): unknown {\n return accessor.split(\".\").reduce<unknown>((obj, key) => {\n if (obj && typeof obj === \"object\" && key in (obj as Record<string, unknown>)) {\n return (obj as Record<string, unknown>)[key];\n }\n return undefined;\n }, record);\n}\n\nfunction renderFieldValue<T extends BaseEntity>(record: T, field: Field<T>): React.ReactNode {\n const column = field.column;\n\n if (column.render) {\n return column.render(record, 0);\n }\n\n const accessor = (column.accessor ?? field.id) as string;\n const value = getNestedValue(record as unknown as Record<string, unknown>, accessor);\n\n if (value === null || value === undefined) {\n return <Text c=\"dimmed\">–</Text>;\n }\n\n if (typeof value === \"boolean\") {\n return <Text fz=\"sm\">{value ? \"Ja\" : \"Nein\"}</Text>;\n }\n\n return <Text fz=\"sm\">{String(value)}</Text>;\n}\n\nfunction MobileCardRow<T extends BaseEntity>({ field, record }: { field: Field<T>; record: T }) {\n return (\n <Group wrap=\"nowrap\" justify=\"space-between\" align=\"center\" py=\"xs\" px=\"sm\">\n <Text fw={700} fz=\"sm\">\n {(field.column.title as string) ?? field.id}\n </Text>\n <Box ta=\"right\" fz=\"sm\">\n {renderFieldValue(record, field)}\n </Box>\n </Group>\n );\n}\n\nexport function MobileCardList<T extends BaseEntity>({\n records,\n fields,\n selection,\n selectedRecords = [],\n onSelectedRecordsChange,\n onRowClick,\n actions,\n canUpdate,\n canDelete,\n pagination,\n sort,\n rowExpansion,\n}: MobileCardListProps<T>) {\n const [expandedIds, setExpandedIds] = useState<Set<string | number>>(new Set());\n\n const toggleExpansion = (id: string | number) => {\n setExpandedIds((prev) => {\n const next = new Set(prev);\n if (next.has(id)) next.delete(id);\n else next.add(id);\n return next;\n });\n };\n const listFields = fields.filter((f) => f.list && f.column);\n\n const sortOptions = listFields\n .filter((f) => f.column.sortable !== false)\n .reduce<{ value: string; label: string }[]>((acc, f) => {\n const value = (f.column.accessor ?? f.id) as string;\n if (!acc.some((o) => o.value === value)) {\n acc.push({ value, label: (f.column.title as string) ?? f.id });\n }\n return acc;\n }, []);\n\n const isSelected = (record: T) =>\n selectedRecords.some((r) => r.id === record.id);\n\n const toggleSelection = (record: T) => {\n if (!onSelectedRecordsChange) return;\n if (isSelected(record)) {\n onSelectedRecordsChange(selectedRecords.filter((r) => r.id !== record.id));\n } else {\n onSelectedRecordsChange([...selectedRecords, record]);\n }\n };\n\n const handleCardClick = (record: T, index: number, event: React.MouseEvent) => {\n if (onRowClick) {\n onRowClick({ record, index, event });\n } else if (selection) {\n toggleSelection(record);\n }\n };\n\n if (records.length === 0) {\n return (\n <Text c=\"dimmed\" ta=\"center\" py=\"xl\">\n Keine Einträge gefunden\n </Text>\n );\n }\n\n return (\n <Stack gap=\"sm\" my=\"md\">\n {sort && sortOptions.length > 0 && (\n <Group gap=\"xs\" wrap=\"nowrap\">\n <Select\n data={sortOptions}\n value={sort.field}\n onChange={(value) => value && sort.onSortChange(value, sort.direction)}\n allowDeselect={false}\n style={{ flex: 1 }}\n />\n <ActionIcon\n variant=\"filled\"\n size=\"input-sm\"\n onClick={() => sort.onSortChange(sort.field, sort.direction === \"asc\" ? \"desc\" : \"asc\")}\n >\n {sort.direction === \"asc\" ? <IconSortAscending size={18} /> : <IconSortDescending size={18} />}\n </ActionIcon>\n </Group>\n )}\n\n {records.map((record, index) => {\n const selected = isSelected(record);\n const clickable = !!onRowClick || !!selection;\n\n const recordKey = record.id ?? index;\n const expanded = expandedIds.has(recordKey);\n\n return (\n <React.Fragment key={recordKey}>\n <Box\n bg={selected ? \"var(--mantine-primary-color-light)\" : index % 2 === 0 ? \"var(--mantine-color-gray-0)\" : \"white\"}\n bd={!selected ? \"1px solid var(--mantine-color-gray-2)\" : undefined}\n style={{\n borderRadius: \"var(--mantine-radius-md)\",\n overflow: \"hidden\",\n }}\n >\n <Box\n w=\"100%\"\n style={{ cursor: clickable || rowExpansion ? \"pointer\" : \"default\" }}\n onClick={(e: React.MouseEvent) => {\n if (rowExpansion && !onRowClick) {\n toggleExpansion(recordKey);\n } else {\n handleCardClick(record, index, e);\n }\n }}\n >\n {(selection || rowExpansion || (actions && actions.length > 0)) && (\n <Group px=\"sm\" pt=\"sm\" justify=\"space-between\">\n <Group gap=\"xs\">\n {rowExpansion && (\n <Box\n c=\"var(--mantine-primary-color-filled)\"\n style={{ cursor: \"pointer\", display: \"flex\", alignItems: \"center\" }}\n onClick={(e: React.MouseEvent) => { e.stopPropagation(); toggleExpansion(recordKey); }}\n >\n <IconChevronDown\n size={16}\n style={{ transform: expanded ? \"rotate(0deg)\" : \"rotate(-90deg)\", transition: \"transform 200ms\" }}\n />\n </Box>\n )}\n {selection && (\n <Checkbox\n checked={selected}\n onChange={() => toggleSelection(record)}\n onClick={(e) => e.stopPropagation()}\n />\n )}\n </Group>\n {actions && actions.length > 0 && (() => {\n const filteredActions = actions.filter((action) => {\n if (action.label === \"Bearbeiten\" && canUpdate && !canUpdate(record)) return false;\n if (action.label === \"Löschen\" && canDelete && !canDelete(record)) return false;\n return true;\n });\n if (filteredActions.length === 0) return null;\n return (\n <Menu shadow=\"md\" position=\"bottom-end\">\n <Menu.Target>\n <ActionIcon\n variant=\"subtle\"\n color=\"gray\"\n size=\"sm\"\n onClick={(e: React.MouseEvent) => e.stopPropagation()}\n >\n <IconDotsVertical size={16} />\n </ActionIcon>\n </Menu.Target>\n <Menu.Dropdown>\n {filteredActions.map((action, actionIndex) => (\n <Menu.Item\n key={`card_action_${actionIndex}`}\n leftSection={action.icon}\n onClick={(e: React.MouseEvent) => {\n e.stopPropagation();\n action.onClick([record]);\n }}\n >\n {action.label}\n </Menu.Item>\n ))}\n </Menu.Dropdown>\n </Menu>\n );\n })()}\n </Group>\n )}\n {listFields.map((field, fieldIndex) => (\n <React.Fragment key={field.id}>\n {fieldIndex > 0 && <Divider />}\n <MobileCardRow field={field} record={record} />\n </React.Fragment>\n ))}\n </Box>\n {rowExpansion && (\n <Collapse in={expanded}>\n <Divider />\n <Box px=\"sm\" py=\"sm\">\n {rowExpansion.content(record)}\n </Box>\n </Collapse>\n )}\n </Box>\n </React.Fragment>\n );\n })}\n\n {pagination && pagination.totalRecords > pagination.recordsPerPage && (\n <Stack gap=\"xs\" mt=\"sm\">\n <Group justify=\"center\">\n <Pagination\n total={Math.ceil(pagination.totalRecords / pagination.recordsPerPage)}\n value={pagination.page}\n onChange={pagination.onPageChange}\n size=\"sm\"\n />\n </Group>\n {pagination.recordsPerPageOptions && pagination.onRecordsPerPageChange && (\n <Group justify=\"center\" gap=\"xs\">\n <Text fz=\"xs\" c=\"dimmed\">Einträge pro Seite:</Text>\n <Select\n data={pagination.recordsPerPageOptions.map((o) => ({ value: String(o), label: String(o) }))}\n value={String(pagination.recordsPerPage)}\n onChange={(v) => v && pagination.onRecordsPerPageChange!(Number(v))}\n allowDeselect={false}\n size=\"xs\"\n w={70}\n />\n </Group>\n )}\n </Stack>\n )}\n </Stack>\n );\n}\n","import { ActionIcon, Alert, Box, Button, Group, Menu, Modal, Skeleton, Stack, Tabs, Title } from \"@mantine/core\";\nimport { BaseEntity, useGetAll } from \"../Hooks/useApi\";\nimport React, { useEffect, useState } from \"react\";\nimport { CreateModal } from \"./CreateModal\";\nimport { IconCaretDownFilled, IconInfoCircle, IconPencil, IconRefresh, IconTrash } from \"@tabler/icons-react\";\nimport { DataTable as MantineDataTable, DataTableColumn, DataTableSortStatus } from \"mantine-datatable\";\nimport { UpdateModal } from \"./UpdateModal.tsx\";\nimport { DeleteModal } from \"./DeleteModal.tsx\";\nimport { useDataTable } from \"../Hooks/useDataTable.ts\";\nimport { usePersistentState } from \"../Hooks/usePersitentState.ts\";\nimport { sortData } from \"../utils/sort\";\nimport { MobileCardList } from \"./MobileCardList\";\n\ntype DatesRangeValue = [string | null, string | null];\n\ninterface DateFilter {\n id: string | number;\n type: \"date\";\n value?: DatesRangeValue;\n}\n\ninterface StringFilter {\n id: string | number;\n type: \"query\";\n value?: string | string[];\n}\n\ninterface BooleanFilter {\n id: string | number;\n type: \"boolean\";\n value?: boolean;\n}\n\ntype Filter = DateFilter | StringFilter | BooleanFilter;\n\nexport type FieldType =\n | \"text\"\n | \"number\"\n | \"boolean\"\n | \"custom\"\n | \"date\"\n | \"textarea\";\n\nexport interface Field<T> {\n id: string;\n defaultValue?: T[keyof T];\n required?: boolean | ((values: Partial<T>) => boolean);\n step?: number;\n list: boolean;\n create: boolean;\n update: boolean;\n delete: boolean;\n type?: FieldType;\n placeholder?: string;\n conditional?: (values: Partial<T>) => boolean;\n render?: (\n values: T,\n setValues: (values: Partial<T>) => void,\n hideButtons: (value: boolean) => void,\n validationProps?: {\n error?: string;\n required?: boolean;\n },\n ) => React.ReactNode;\n column: DataTableColumn<T>;\n}\n\nexport interface Action<T extends BaseEntity> {\n icon?: React.ReactNode;\n label: string;\n onClick: (records: T[]) => void;\n}\n\nexport interface TabOption {\n value: string;\n label: string;\n icon?: React.ReactNode;\n queryParams?: Record<string, string | number | boolean | null>;\n apiPath?: string;\n mutationApiPath?: string;\n}\n\nexport interface StepConfig {\n label: string;\n description?: string;\n}\n\nexport interface DataTableProps<T extends BaseEntity> {\n title?: string | React.ReactNode;\n queryKey: (string | number)[];\n connectedQueryKeys?: (string | number)[][];\n apiPath: string;\n mutationApiPath?: string;\n queryParams?: Record<string, string | number | boolean | null>;\n filters?: Filter[];\n buttons?: React.ReactNode[];\n createButtonText?: string;\n actions?: Action<T>[];\n selection?: boolean;\n pagination?: boolean;\n steps?: StepConfig[];\n fields: Field<T>[];\n defaultSort?: {\n field: string;\n direction: \"asc\" | \"desc\";\n };\n onSortChange?: (field: string, direction: \"asc\" | \"desc\") => void;\n tabs?: TabOption[];\n defaultTab?: string;\n activeTab?: string | null;\n onActiveTabChange?: (tabValue: string | null) => void;\n canUpdate?: (record: T) => boolean;\n canDelete?: (record: T) => boolean;\n showRefresh?: boolean;\n rowExpansion?: {\n allowMultiple?: boolean;\n content: (record: T) => React.ReactNode;\n expanded?: {\n recordIds: string[];\n onRecordIdsChange: (recordIds: string[]) => void;\n };\n };\n onRowClick?: (params: { record: T; index: number; event: React.MouseEvent }) => void;\n mobileCards?: boolean;\n}\n\nconst PAGE_SIZES = [10, 15, 50, 100, 500];\n\nexport function DataTableInner<T extends BaseEntity>({\n title,\n queryKey,\n connectedQueryKeys,\n apiPath,\n mutationApiPath,\n buttons,\n fields,\n selection,\n pagination,\n filters,\n actions,\n steps,\n defaultSort,\n onSortChange,\n createButtonText,\n queryParams,\n tabs,\n defaultTab,\n activeTab: controlledActiveTab,\n onActiveTabChange,\n canUpdate,\n canDelete,\n showRefresh = true,\n rowExpansion,\n onRowClick,\n mobileCards = false,\n}: DataTableProps<T>) {\n const [internalActiveTab, setInternalActiveTab] = useState<string | null>(\n defaultTab || (tabs && tabs.length > 0 ? tabs[0].value : null),\n );\n\n const activeTab =\n controlledActiveTab !== undefined ? controlledActiveTab : internalActiveTab;\n\n const handleTabChange = (value: string | null) => {\n if (controlledActiveTab === undefined) {\n setInternalActiveTab(value);\n }\n if (onActiveTabChange) {\n onActiveTabChange(value);\n }\n };\n\n const currentTab = tabs?.find((tab) => tab.value === activeTab);\n const currentTabParams = currentTab?.queryParams || {};\n const effectiveApiPath = currentTab?.apiPath ?? apiPath;\n const effectiveMutationApiPath = currentTab?.mutationApiPath ?? mutationApiPath ?? effectiveApiPath;\n const allQueryParams = { ...queryParams, ...currentTabParams };\n\n // Build query string like ?id=1&name=test\n const queryString: string = allQueryParams\n ? \"?\" +\n Object.entries(allQueryParams)\n .filter(([, value]) => value !== null && value !== undefined)\n .map(([key, value]) => `${key}=${encodeURIComponent(value ?? \"\")}`)\n .join(\"&\")\n : \"\";\n\n const effectiveQueryKey = activeTab ? [...queryKey, activeTab] : queryKey;\n\n const {\n data: allData,\n isLoading,\n isError,\n isRefetching,\n refetch,\n } = useGetAll<T>(effectiveApiPath + queryString, effectiveQueryKey);\n\n const { queryClient } = useDataTable();\n\n useEffect(() => {\n if (!allData || !Array.isArray(allData)) return;\n\n connectedQueryKeys?.forEach((connectedQueryKey) =>\n queryClient.invalidateQueries({ queryKey: connectedQueryKey }),\n );\n }, [allData, connectedQueryKeys, queryClient]);\n\n // Filter data\n const filteredData =\n (!allData || !Array.isArray(allData))\n ? []\n : (!filters || filters.length === 0)\n ? allData\n : allData.filter((record: T) => filters.every((filter) => {\n if (filter.value === undefined) return true;\n\n const key = filter.id as keyof T;\n if (filter.type === \"query\") {\n const recordValue = record[key];\n if (Array.isArray(filter.value)) {\n if (Array.isArray(recordValue)) {\n return recordValue.some((item: any) => {\n if (typeof item === \"string\" || typeof item === \"number\") {\n return filter.value!.includes(String(item));\n }\n if (item && typeof item === \"object\") {\n if (\"id\" in item && filter.value!.includes(item.id)) {\n return true;\n }\n for (const prop in item) {\n const propValue = item[prop];\n if (\n typeof propValue === \"string\" &&\n filter.value!.includes(propValue)\n ) {\n return true;\n }\n if (\n propValue &&\n typeof propValue === \"object\" &&\n \"id\" in propValue\n ) {\n if (filter.value!.includes(propValue.id)) {\n return true;\n }\n }\n }\n }\n return false;\n });\n }\n if (\n recordValue &&\n typeof recordValue === \"object\" &&\n \"id\" in recordValue\n ) {\n return filter.value.includes((recordValue as any).id);\n }\n return false;\n }\n return (\n typeof recordValue === \"string\" &&\n recordValue.includes(filter.value)\n );\n } else if (filter.type === \"date\") {\n const dateValue = filter.value as DatesRangeValue;\n if (!dateValue) return true;\n\n const [from, to] = dateValue;\n if (!from && !to) return true;\n const recordDate = record[key];\n if (typeof recordDate === \"string\") {\n const recordDateStr = recordDate.split(\" \")[0];\n if (from && to) {\n return recordDateStr >= from && recordDateStr <= to;\n } else if (from && !to) {\n return recordDateStr >= from;\n } else if (!from && to) {\n return recordDateStr <= to;\n }\n }\n return true;\n } else if (filter.type === \"boolean\") {\n const recordValue = record[key];\n return recordValue === filter.value;\n }\n return true;\n }));\n\n const [sortStatus, setSortStatus] = useState<DataTableSortStatus<T>>({\n columnAccessor: defaultSort?.field ?? fields[0].id,\n direction: defaultSort?.direction ?? \"desc\",\n });\n \n const handleSortChange = (newSortStatus: DataTableSortStatus<T>) => {\n setSortStatus(newSortStatus);\n if (onSortChange) {\n onSortChange(String(newSortStatus.columnAccessor), newSortStatus.direction);\n }\n };\n\n // Sort data\n const sortedData = sortData(\n filteredData,\n sortStatus.columnAccessor as keyof T,\n sortStatus.direction,\n );\n\n // Handle pagination\n const [pageSize, setPageSize] = usePersistentState(\n PAGE_SIZES[1],\n \"mantine-table-page-size\",\n );\n const [page, setPage] = useState(1);\n\n const records = pagination ? sortedData.slice((page - 1) * pageSize, page * pageSize) : sortedData;\n\n const [selectedRecords, setSelectedRecords] = useState<T[]>([]);\n\n // Reset selection when tab changes\n useEffect(() => {\n setSelectedRecords([]);\n }, [activeTab]);\n\n const [createModalOpen, setCreateModalOpen] = useState(false);\n const [updateModalOpen, setUpdateModalOpen] = useState(false);\n const [deleteModalOpen, setDeleteModalOpen] = useState(false);\n\n const hasUpdateField = fields.some((field) => field.update);\n const hasDeleteField = fields.some((field) => field.delete);\n\n const mobileActions: Action<T>[] = [];\n if (hasUpdateField) {\n mobileActions.push({\n icon: <IconPencil size={14} />,\n label: \"Bearbeiten\",\n onClick: (records: T[]) => {\n setSelectedRecords(records);\n setUpdateModalOpen(true);\n },\n });\n }\n if (actions) {\n mobileActions.push(...actions);\n }\n if (hasDeleteField) {\n mobileActions.push({\n icon: <IconTrash size={14} />,\n label: \"Löschen\",\n onClick: (records: T[]) => {\n setSelectedRecords(records);\n setDeleteModalOpen(true);\n },\n });\n }\n\n return (\n <>\n <Group gap=\"xs\" justify={title ? \"space-between\" : \"end\"} align=\"center\" wrap=\"wrap\">\n {title &&\n (typeof title === \"string\" ? (\n <Title order={4}>{title}</Title>\n ) : (\n title\n ))}\n <Group align=\"center\" gap=\"xs\" wrap=\"wrap\" justify=\"end\" style={{ marginLeft: \"auto\" }}>\n {showRefresh && (\n <ActionIcon\n variant=\"subtle\"\n onClick={() => refetch()}\n aria-label=\"Neuladen\"\n >\n <IconRefresh />\n </ActionIcon>\n )}\n {(fields.some((field) => field.update) || selection) && (() => {\n const hasUpdateAction = fields.find((field) => field.update) && \n (!canUpdate || (selectedRecords.length > 0 && canUpdate(selectedRecords[0])));\n const hasDeleteAction = fields.find((field) => field.delete) && \n (!canDelete || (selectedRecords.length > 0 && canDelete(selectedRecords[0])));\n const hasCustomActions = (actions ?? []).length > 0;\n const hasAnyAction = hasUpdateAction || hasDeleteAction || hasCustomActions;\n\n return (\n <Box {...(mobileCards ? { visibleFrom: \"sm\" } : {})}>\n <Menu shadow=\"md\">\n <Menu.Target>\n <Button\n variant=\"outline\"\n rightSection={<IconCaretDownFilled size={14} />}\n disabled={!selectedRecords.length || !hasAnyAction}\n >\n Aktionen\n </Button>\n </Menu.Target>\n <Menu.Dropdown>\n {hasUpdateAction && (\n <Menu.Item\n leftSection={<IconPencil size={14} />}\n onClick={() => setUpdateModalOpen(true)}\n disabled={selectedRecords.length !== 1}\n >\n Bearbeiten\n </Menu.Item>\n )}\n {(actions ?? []).map((action, index) => (\n <Menu.Item\n {...(action.icon && { leftSection: action.icon })}\n key={`custom_action_${index}`}\n onClick={() => action.onClick(selectedRecords)}\n >\n {action.label}\n </Menu.Item>\n ))}\n {hasDeleteAction && (\n <Menu.Item\n leftSection={<IconTrash size={14} />}\n onClick={() => setDeleteModalOpen(true)}\n color=\"red\"\n >\n Löschen\n </Menu.Item>\n )}\n </Menu.Dropdown>\n </Menu>\n </Box>\n );\n })()}\n {fields.find((field) => field.create) && (\n <Button\n onClick={() => setCreateModalOpen(true)}\n disabled={isLoading}\n >\n {createButtonText ?? \"Erstellen\"}\n </Button>\n )}\n {buttons}\n </Group>\n </Group>\n\n {tabs && tabs.length > 0 && (\n <Tabs value={activeTab} onChange={handleTabChange} mt=\"md\">\n <Tabs.List>\n {tabs.map((tab) => (\n <Tabs.Tab\n key={tab.value}\n value={tab.value}\n leftSection={tab.icon}\n >\n {tab.label}\n </Tabs.Tab>\n ))}\n </Tabs.List>\n </Tabs>\n )}\n\n {isError && (\n <Alert\n mt=\"md\"\n variant=\"light\"\n color=\"red\"\n title=\"Es ist ein Fehler aufgetreten.\"\n icon={<IconInfoCircle />}\n >\n Bitte versuche es später erneut oder sende eine Nachricht an unseren\n Support.\n </Alert>\n )}\n\n {(isLoading || isRefetching) && (\n <Stack my=\"md\">\n <Skeleton height={40} />\n {Array(5)\n .fill(0)\n .map((_, index) => (\n <Skeleton key={`skeleton-${index}`} height={35} />\n ))}\n </Stack>\n )}\n\n {!isLoading && !isRefetching && (\n <>\n <Box {...(mobileCards ? { visibleFrom: \"sm\" } : {})}>\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-expect-error */}\n <MantineDataTable\n my=\"md\"\n striped\n highlightOnHover\n minHeight={150}\n fetching={isError}\n records={records}\n sortStatus={sortStatus}\n onSortStatusChange={handleSortChange}\n {...(selection && {\n selectedRecords,\n onSelectedRecordsChange: setSelectedRecords,\n })}\n {...(pagination &&\n records.length && {\n totalRecords: sortedData.length,\n recordsPerPage: pageSize,\n onPageChange: setPage,\n page,\n recordsPerPageOptions: PAGE_SIZES,\n onRecordsPerPageChange: setPageSize,\n recordsPerPageLabel: \"Einträge pro Seite\",\n })}\n {...(rowExpansion && {\n rowExpansion: {\n allowMultiple: rowExpansion.allowMultiple ?? false,\n content: ({ record }: { record: T }) => rowExpansion.content(record),\n ...(rowExpansion.expanded && {\n expanded: rowExpansion.expanded,\n }),\n },\n })}\n columns={fields.map((field) => field.column)}\n noRecordsText=\"Keine Einträge gefunden\"\n onRowClick={onRowClick}\n {...(onRowClick && { style: { cursor: \"pointer\" } })}\n />\n </Box>\n\n {mobileCards && (\n <Box hiddenFrom=\"sm\">\n <MobileCardList\n records={records}\n fields={fields}\n selection={selection}\n selectedRecords={selectedRecords}\n onSelectedRecordsChange={setSelectedRecords}\n onRowClick={onRowClick}\n sort={{\n field: String(sortStatus.columnAccessor),\n direction: sortStatus.direction,\n onSortChange: (field, direction) => {\n handleSortChange({ columnAccessor: field as keyof T, direction });\n },\n }}\n {...(pagination && records.length && {\n pagination: {\n totalRecords: sortedData.length,\n recordsPerPage: pageSize,\n page,\n onPageChange: setPage,\n recordsPerPageOptions: PAGE_SIZES,\n onRecordsPerPageChange: (size: number) => { setPageSize(size); setPage(1); },\n },\n })}\n {...(rowExpansion && {\n rowExpansion: { content: rowExpansion.content },\n })}\n {...(mobileActions.length > 0 && {\n actions: mobileActions,\n canUpdate,\n canDelete,\n })}\n />\n </Box>\n )}\n\n\n </>\n )}\n\n <Modal\n opened={updateModalOpen}\n onClose={() => {\n setUpdateModalOpen(false);\n setSelectedRecords([]);\n }}\n title={title ?? \"Bearbeiten\"}\n >\n {selectedRecords.length > 0 && (\n <UpdateModal<T>\n fields={fields.filter((field) => field.update)}\n queryKey={queryKey}\n apiPath={effectiveMutationApiPath}\n id={selectedRecords[0].id}\n onClose={() => {\n setUpdateModalOpen(false);\n setSelectedRecords([]);\n }}\n steps={steps}\n />\n )}\n </Modal>\n\n {selectedRecords.length > 0 && (\n <Modal\n opened={deleteModalOpen}\n onClose={() => {\n setDeleteModalOpen(false);\n setSelectedRecords([]);\n }}\n title={title ?? \"Löschen\"}\n >\n <DeleteModal<T>\n onClose={() => {\n setDeleteModalOpen(false);\n setSelectedRecords([]);\n }}\n queryKey={queryKey}\n apiPath={effectiveMutationApiPath}\n selectedRecords={selectedRecords}\n />\n </Modal>\n )}\n\n <Modal\n opened={createModalOpen}\n onClose={() => {\n setCreateModalOpen(false);\n }}\n title={title ?? \"Anlegen\"}\n >\n <CreateModal<T>\n queryKey={queryKey}\n apiPath={effectiveMutationApiPath}\n onClose={() => {\n setCreateModalOpen(false);\n }}\n fields={fields.filter((field) => field.create)}\n steps={steps}\n />\n </Modal>\n </>\n );\n}\n","import { BaseEntity } from \"../Hooks/useApi.ts\";\nimport { DataTableInner, DataTableProps } from \"./DataTableInner.tsx\";\nimport { QueryClientProvider } from \"@tanstack/react-query\";\nimport { useDataTable } from \"../Hooks/useDataTable.ts\";\n\nexport function DataTable<T extends BaseEntity>(props: DataTableProps<T>) {\n const { queryClient } = useDataTable();\n return (\n <QueryClientProvider client={queryClient}>\n <DataTableInner<T> {...props} />\n </QueryClientProvider>\n );\n}\n"],"names":["ReactSharedInternals","require$$0","reactCompilerRuntime_production","size","reactCompilerRuntime_development","dispatcher","compilerRuntimeModule","require$$1","Subscribable","listener","defaultTimeoutProvider","callback","delay","timeoutId","intervalId","TimeoutManager","#provider","#providerCalled","provider","timeoutManager","systemSetTimeoutZero","isServer","noop","isValidTimeout","value","timeUntilStale","updatedAt","staleTime","resolveStaleTime","query","resolveEnabled","enabled","hashKey","queryKey","_","val","isPlainObject","result","key","hasOwn","replaceEqualDeep","a","b","array","isPlainArray","aSize","bItems","bSize","copy","equalItems","i","aItem","bItem","v","shallowEqualObjects","o","hasObjectPrototype","ctor","prot","replaceData","prevData","data","options","error","shouldThrowError","throwOnError","params","FocusManager","#focused","#cleanup","#setup","onFocus","setup","focused","isFocused","focusManager","pendingThenable","resolve","reject","thenable","_resolve","_reject","finalize","reason","defaultScheduler","createNotifyManager","queue","transactions","notifyFn","batchNotifyFn","scheduleFn","schedule","flush","originalQueue","args","fn","notifyManager","OnlineManager","#online","onOnline","onlineListener","offlineListener","online","onlineManager","canFetch","networkMode","fetchState","QueryObserver","client","#client","#selectError","#currentThenable","#currentQuery","#currentQueryInitialState","#currentResult","#currentResultState","#currentResultOptions","#selectFn","#selectResult","#lastQueryWithDefinedData","#staleTimeoutId","#refetchIntervalId","#currentRefetchInterval","#trackedProps","shouldFetchOnMount","#executeFetch","#updateTimers","shouldFetchOn","#clearStaleTimeout","#clearRefetchInterval","prevOptions","prevQuery","#updateQuery","mounted","shouldFetchOptionally","#updateStaleTimeout","nextRefetchInterval","#computeRefetchInterval","#updateRefetchInterval","shouldAssignObserverCurrentProperties","onPropTracked","target","defaultedOptions","fetchOptions","promise","timeout","nextInterval","prevResult","prevResultState","prevResultOptions","queryInitialState","state","newState","isPlaceholderData","fetchOnMount","fetchOptionally","errorUpdatedAt","status","skipSelect","placeholderData","selectError","isFetching","isPending","isError","isLoading","hasData","nextResult","isStale","finalizeThenableIfPossible","recreateThenable","pending","prevThenable","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","#notify","notifyOptions","shouldLoadOnMount","field","observer","optimisticResult","getDefaultState","MutationObserver","#currentMutation","#mutateOptions","#updateResult","action","variables","onMutateResult","context","REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getTaskName","name","getOwner","UnknownOwner","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","owner","debugStack","debugTask","refProp","jsxDEVImpl","isStaticChildren","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","isValidElement","object","React","createTask","callStackForError","unknownOwnerDebugStack","unknownOwnerDebugTask","reactJsxRuntime_development","trackActualOwner","jsxRuntimeModule","QueryClientContext","useQueryClient","queryClient","QueryClientProvider","jsx","IsRestoringContext","useIsRestoring","createValue","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","getHasError","suspense","ensureSuspenseTimers","clamp","originalStaleTime","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useBaseQuery","Observer","isNewCacheEntry","shouldSubscribe","onStoreChange","unsubscribe","useQuery","useMutation","mutate","mutateOptions","hn","Xr","n","r","Gt","At","dn","Bi","s","c","Et","gn","Ni","g","de","U","B","re","ae","pe","R","J","K","Q","d","be","we","S","j","me","ve","D","p","E","w","P","Z","G","te","T","y","W","Se","C","ie","ue","le","A","Jr","f","pn","ji","Jt","mr","wn","qi","vr","mn","Li","vn","$i","yr","Ut","yn","Vi","Zt","bn","Hi","br","Sn","Ki","_n","Yi","h","u","m","oe","O","M","ne","se","X","ge","he","Ae","xe","ce","L","F","x","ke","Sr","Nr","Zi","jr","e","Xi","Qi","eo","to","ro","no","io","oo","qr","li","so","ao","Vt","uo","co","lo","fo","ho","go","po","wo","mo","fi","Tt","Ie","Cn","hi","Rt","xn","vo","_r","Dt","yo","bo","So","_o","Co","xo","Ao","Eo","An","Uo","Pt","En","To","It","Un","Ro","Ft","Tn","Do","Rn","Po","Dn","Io","Pn","Fo","ee","Ue","et","ko","In","Oo","Mo","Bo","Fn","Qr","No","hr","St","Oe","kn","jo","qo","Lo","en","$o","zo","Vo","Ho","Ko","Yo","tn","Wo","Go","Jo","Zo","Xo","Qo","es","ts","rs","ns","is","os","ss","as","us","cs","ls","_t","fs","hs","ds","gs","ps","ws","Rs","Ds","Ln","xr","$n","Ps","Ar","zn","zs","nn","on","ct","nu","Ei","Qe","yt","Te","He","Ve","Be","Fe","H","N","V","Y","Re","Kt","q","Lt","fe","ye","Ce","$e","$t","ja","De","wr","Ye","ir","za","ai","Va","Ee","Wt","xt","Me","DataTableContext","createContext","undefined","DataTableProvider","t0","$","_c","baseUrl","t1","t2","t3","useDataTable","useContext","Error","parseApiError","parsed","JSON","parse","message","code","details","handleHttpError","resp","responseText","text","statusText","errorJson","getAssumeOrg","org","localStorage","getItem","getApiHeaders","Authorization","getIdToken","getAll","path","fetch","method","headers","then","json","getOne","id","deleteOne","createOne","item","body","stringify","api","payload","updateOne","useGetOne","apiPath","toString","map","_temp","String","queryFn","useGetAll","_temp2","useAddOne","_temp3","mutationKey","mutationFn","onSettled","invalidateQueries","_temp4","onError","k_0","useUpdateOne","_temp5","_temp6","useDeleteOne","_temp7","_temp8","t","module","this","l","getNextIndex","direction","levelIndex","rowIndex","cellIndex","focusOnNextFocusableControl","controlsRef","nextIndex","controlToFocus","getDirection","getControlsSize","column","row","handleControlKeyDown","event","toDateString","dayjs","toDateTimeString","DATES_PROVIDER_DEFAULT_SETTINGS","DatesProviderContext","useDatesContext","ctx","getLocale","useCallback","input","getFirstDayOfWeek","getWeekendDays","getLabelSeparator","formatValue","withTime","formatter","startDate","endDate","HiddenDatesInput","form","clsx","classes","varsResolver","createVarsResolver","getSize","Day","factory","_props","ref","useProps","classNames","className","style","styles","unstyled","vars","date","disabled","__staticSelector","weekend","outside","selected","renderDay","inRange","firstInRange","lastInRange","hidden","isStatic","highlightToday","attributes","others","getStyles","useStyles","UnstyledButton","getWeekdayNames","locale","format","firstDayOfWeek","baseDate","labels","getFontSize","getSpacing","WeekdaysRow","weekdayFormat","CellComponent","withWeekNumbers","weekdays","weekday","index","jsxs","Box","getEndOfWeek","lastDayOfWeek","getStartOfWeek","getMonthDays","month","consistentWeeks","day","start","startOfMonth","endOfMonth","weeks","days","lastWeek","lastDay","nextDay","isSameMonth","comparison","isAfterMinDate","minDate","isBeforeMaxDate","maxDate","getDateInTabOrder","dates","getDayProps","excludeDate","hideOutsideDates","enabledDates","selectedDate","currentDate","isoWeek","getWeekNumber","week","monday","defaultProps","Month","weekendDays","hideWeekdays","getDayAriaLabel","__getDayRef","__onDayKeyDown","__onDayClick","__onDayMouseEnter","__preventFocus","__stopPropagation","withCellSpacing","dateInTabOrder","resolvedClassNames","resolvedStyles","useResolvedStylesApi","rows","cells","ariaLabel","dayProps","isDateInTabOrder","PickerControl","isYearDisabled","year","getYearInTabOrder","years","getYearControlProps","enabledYears","selectedYear","currentYear","getYearsData","decade","rounded","currentYearIndex","results","max","YearsList","yearsListFormat","__getControlRef","__onControlKeyDown","__onControlClick","__onControlMouseEnter","yearInTabOrder","yearsRow","controlProps","isYearInTabOrder","isMonthDisabled","getMonthInTabOrder","months","getMonthControlProps","enabledMonths","selectedMonth","currentMonth","getMonthsData","startOfYear","currentMonthIndex","MonthsList","monthsListFormat","monthInTabOrder","monthsRow","isMonthInTabOrder","CalendarHeader","nextIcon","previousIcon","nextLabel","previousLabel","onNext","onPrevious","onLevelClick","label","nextDisabled","previousDisabled","hasNextLevel","levelControlAriaLabel","withNext","withPrevious","headerControlsOrder","preventFocus","previousControl","createElement","AccordionChevron","levelControl","nextControl","controls","control","getDecadeRange","DecadeLevel","decadeLabelFormat","startOfDecade","endOfDecade","stylesApiProps","_nextDisabled","_previousDisabled","formatDecade","YearLevel","yearLabelFormat","MonthLevel","monthLabelFormat","LevelsGroup","DecadeLevelGroup","numberOfColumns","useRef","decades","decadeIndex","currentDecade","YearLevelGroup","yearIndex","MonthLevelGroup","daysRefs","monthIndex","getEmptyValue","convertDatesValue","converter","useUncontrolledDates","defaultValue","onChange","storedType","_value","_setValue","controlled","useUncontrolled","_finalValue","levelToNumber","level","fallback","levelNumberToLevel","levelNumber","clampLevel","minLevel","maxLevel","Calendar","defaultLevel","onLevelChange","defaultDate","onDateChange","columnsToScroll","ariaLabels","onYearSelect","onMonthSelect","onYearMouseEnter","onMonthMouseEnter","__updateDateOnYearSelect","__updateDateOnMonthSelect","__setDateRef","__setLevelRef","onNextDecade","onPreviousDecade","onNextYear","onPreviousYear","onNextMonth","onPreviousMonth","enableKeyboardNavigation","_level","setLevel","_date","setDate","useImperativeHandle","date2","level2","_columnsToScroll","now","fallbackDate","handleNextMonth","nextDate","handlePreviousMonth","handleNextYear","handlePreviousYear","handleNextDecade","handlePreviousDecade","calendarRef","useEffect","handleKeyDown","isCtrlOrCmd","isShift","mergedRef","_event","pickCalendarProps","allowSingleDateInRange","allowDeselect","dateStringParser","dateString","isDateValid","DateInput","useInputProps","inputProps","wrapperProps","clearable","clearButtonProps","popoverProps","valueFormat","dateParser","fixOnBlur","onBlur","onClick","onKeyDown","readOnly","rightSection","rest","_wrapperRef","_dropdownRef","dropdownOpened","setDropdownOpened","useState","calendarProps","_dateParser","parsedDate","_allowDeselect","setValue","inputValue","setInputValue","handleInputChange","dateValue","handleInputBlur","handleInputFocus","handleInputClick","handleInputKeyDown","_getDayProps","clearButton","Input","_clearable","useDidUpdate","useClickOutside","Fragment","Popover","CreateModal","fields","onClose","steps","onCreated","active","setActive","hideButtons","setHideButtons","recordId","setRecordId","mutateAsync","create","isCreateError","createError","isCreatePending","update","isUpdatePending","Set","filter","stepsAvailable","Symbol","for","values","required","resolveRequired","t4","reduce","t5","t6","acc_0","field_2","acc","values_0","conditional","mode","initialValues","validate","useForm","t7","field_3","formValues","getValues","isRequired","TextInput","title","placeholder","getInputProps","includes","NumberInput","Checkbox","Textarea","render","setValues","renderField","t8","Alert","t9","length","onSubmit","values_1","setInitialValues","reset","t10","Stepper","step","f_1","field_4","field_5","t11","Group","Button","t12","t13","field_1","field_0","f_0","Mt","ta","it","kt","oa","Nt","na","We","aa","ia","la","ra","sa","Ht","Ot","ca","st","ua","zt","da","pa","ma","ut","fa","Bt","pt","mt","Ta","dt","ba","I","Xt","ha","ga","xa","wa","Da","ya","Ca","Sa","Qt","Ra","Pa","ft","bt","jt","va","qt","Yt","Ma","_e","Na","ka","Ea","Wa","La","gt","Ia","Oa","_a","Ha","Ba","Aa","Ga","Ka","Qa","Ja","$a","ze","Ua","Fa","Xa","Za","Ya","qa","er","tr","or","ht","sr","Ct","lr","rr","ar","z","Ge","nr","cr","dr","ur","Dr","Cr","Je","je","Ze","gr","Tr","fr","pr","Rr","Xe","Pr","Pe","Mr","kr","Lr","Er","Wr","Or","Hr","Ir","Vr","zr","Br","$r","Fr","Gr","Kr","Ur","Zr","Yr","Ke","ll","wt","an","rn","ln","sn","cn","un","Mn","Nn","Wn","Hn","On","Bn","Vn","Gn","qe","al","rl","tt","Xn","Qn","ot","Kn","ol","nl","nt","Ne","Jn","jn","Le","Zn","at","Yn","qn","el","tl","rt","lt","vt","ea","UpdateModal","isDataLoading","isUpdateError","updateError","forEach","Date","initialize","Stack","Skeleton","Array","fill","values_2","field_6","DeleteModal","selectedRecords","del","isDeleteError","deleteError","isDeletePending","records","setRecords","isDeleting","setIsDeleting","Text","Promise","all","record","usePersistentState","initialValue","storedValue","setState","setItem","setStateWrapper","detectColumnType","nonNullValues","sampleSize","Math","min","sample","slice","types","string","number","datePatterns","trimmed","trim","isNaN","Number","parseFloat","some","pattern","test","getTime","total","typeCache","Map","sortData","cacheKey","columnType","get","set","sort","aValue","bValue","aIsNull","bIsNull","aSortValue","bSortValue","aDateValue","bDateValue","aStrValue","aNumValue","bStrValue","bNumValue","aStringValue","bStringValue","toLowerCase","aMixedValue","bMixedValue","getNestedValue","accessor","split","obj","renderFieldValue","MobileCardRow","MobileCardList","selection","onSelectedRecordsChange","onRowClick","actions","canUpdate","canDelete","pagination","rowExpansion","expandedIds","setExpandedIds","prev","next","has","delete","add","toggleExpansion","T0","bb0","listFields","sortOptions","isSelected","record_0","r_0","toggleSelection","record_1","handleCardClick","Select","value_0","onSortChange","flex","ActionIcon","IconSortAscending","IconSortDescending","record_2","index_0","clickable","recordKey","expanded","borderRadius","overflow","cursor","display","alignItems","e_0","stopPropagation","IconChevronDown","transform","transition","filteredActions","Menu","IconDotsVertical","action_0","actionIndex","icon","e_3","fieldIndex","Divider","Collapse","content","totalRecords","recordsPerPage","Pagination","ceil","page","onPageChange","recordsPerPageOptions","onRecordsPerPageChange","o_0","e_2","e_1","push","sortable","list","PAGE_SIZES","DataTableInner","connectedQueryKeys","mutationApiPath","buttons","filters","defaultSort","createButtonText","queryParams","tabs","defaultTab","activeTab","controlledActiveTab","onActiveTabChange","showRefresh","mobileCards","internalActiveTab","setInternalActiveTab","handleTabChange","find","tab","currentTab","currentTabParams","effectiveApiPath","effectiveMutationApiPath","allQueryParams","queryString","Object","entries","join","effectiveQueryKey","allData","isRefetching","refetch","isArray","connectedQueryKey","filteredData","every","key_0","recordValue","prop","propValue","from","recordDate","recordDateStr","columnAccessor","sortStatus","setSortStatus","newSortStatus","handleSortChange","sortedData","pageSize","setPageSize","setPage","setSelectedRecords","t14","createModalOpen","setCreateModalOpen","updateModalOpen","setUpdateModalOpen","deleteModalOpen","setDeleteModalOpen","t15","hasUpdateField","t16","hasDeleteField","mobileActions","t17","IconPencil","t18","records_0","IconTrash","records_1","Title","t19","marginLeft","t20","IconRefresh","t21","hasUpdateAction","hasDeleteAction","hasCustomActions","hasAnyAction","visibleFrom","IconCaretDownFilled","leftSection","t22","t23","t24","t25","Tabs","_temp9","t26","IconInfoCircle","t27","_temp0","t28","MantineDataTable","recordsPerPageLabel","allowMultiple","t29","_temp1","t30","t31","_temp10","t32","Modal","t33","t34","t35","t36","t37","_temp11","t38","t39","t40","field_8","field_7","tab_0","value_1","encodeURIComponent","DataTable"],"mappings":"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C,GAAG,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG6E,IAAI,SAASkB,GAAG,GAAG;AACtqH,kBAAI/R,IAAI,CAAA;AACR,qBAAOA,EAAE,aAAa+R,GAAG/R,EAAE,YAAY,GAAGA;AAAA,YAC5C,GAAG+Q,IAAI,EAAE,aAAa,SAASgB,GAAG,GAAG;AACnC,kBAAI/R,KAAI,SAASoR,IAAIG,GAAG;AACtB,wBAAQA,GAAC;AAAA,kBACP,KAAKzB,EAAE;AACL,2BAAO9D,EAAE,KAAKoF,KAAK,KAAK,CAAC;AAAA,kBAC3B,KAAKtB,EAAE;AACL,2BAAO9D,EAAE,KAAKoF,KAAK,KAAK,CAAC;AAAA,kBAC3B,KAAKtB,EAAE;AACL,2BAAO9D,EAAE,KAAKoF,KAAK,KAAK,CAAC;AAAA,kBAC3B,KAAKtB,EAAE;AACL,2BAAO9D,EAAE,KAAKoF,KAAK,KAAK,CAAC;AAAA,kBAC3B;AACE;AAAA,gBACpB;AAAA,cACc,GAAEW,GAAG,CAAC;AACN,kBAAI/R,MAAM,OAAQ,OAAM,+BAA+B+R,IAAI,2BAA2B;AACtF,uBAASpC,IAAI3P,EAAE,SAAS,GAAGsQ,IAAI,CAAA,GAAIG,IAAI,GAAGA,IAAId,GAAGc,KAAK,EAAG,UAASC,IAAI1Q,EAAE,IAAIyQ,IAAI,CAAC,GAAGQ,IAAIjR,EAAE,IAAIyQ,IAAI,CAAC,GAAGS,IAAIlR,EAAE,IAAIyQ,IAAI,CAAC,GAAGU,IAAI,GAAGA,IAAIT,GAAGS,KAAK,EAAG,CAAAb,EAAE,KAAKO,EAAEI,GAAGC,CAAC,CAAC;AAC5J,qBAAOZ;AAAA,YACT,EAAC;AACD,mBAAOS;AAAA,UACT,GAAC,GAAIf,KAAK,WAAW;AACnB,gBAAIhE,IAAI,CAAA,GAAI6E,IAAI,GAAGE,IAAI,EAAE,WAAW,WAAW;AAC7C,qBAAO/E;AAAA,YACT,GAAG,OAAO,SAAS+F,GAAG;AACpB,kBAAI,IAAI,KAAK,MAAMA,IAAI,CAAC;AACxB,sBAAQ/F,EAAE,CAAC,MAAM,IAAI+F,IAAI,IAAI,MAAM;AAAA,YACrC,GAAG,KAAK,SAASA,GAAG,GAAG;AACrB,uBAAS/R,IAAI,GAAGA,IAAI,GAAGA,KAAK,EAAG,CAAA+Q,EAAE,QAAQgB,MAAM,IAAI/R,IAAI,IAAI,MAAM,CAAC;AAAA,YACpE,GAAG,iBAAiB,WAAW;AAC7B,qBAAO6Q;AAAA,YACT,GAAG,QAAQ,SAASkB,GAAG;AACrB,kBAAI,IAAI,KAAK,MAAMlB,IAAI,CAAC;AACxB,cAAA7E,EAAE,UAAU,KAAKA,EAAE,KAAK,CAAC,GAAG+F,MAAM/F,EAAE,CAAC,KAAK,QAAQ6E,IAAI,IAAIA,KAAK;AAAA,YACjE,EAAC;AACD,mBAAOE;AAAA,UACT,GAAGR,IAAK,SAASvE,GAAG;AAClB,gBAAI6E,IAAI7E,GAAG+E,IAAI,EAAE,SAAS,WAAW;AACnC,qBAAO;AAAA,YACT,GAAG,WAAW,SAAS/Q,GAAG;AACxB,qBAAO6Q,EAAE;AAAA,YACX,GAAG,OAAO,SAAS7Q,GAAG;AACpB,uBAAS2P,IAAIkB,GAAGP,IAAI,GAAGA,IAAI,IAAIX,EAAE,SAAU,CAAA3P,EAAE,IAAI+R,EAAEpC,EAAE,UAAUW,GAAGA,IAAI,CAAC,CAAC,GAAG,EAAE,GAAGA,KAAK;AACrF,cAAAA,IAAIX,EAAE,WAAWA,EAAE,SAASW,KAAK,IAAItQ,EAAE,IAAI+R,EAAEpC,EAAE,UAAUW,GAAGA,IAAI,CAAC,CAAC,GAAG,CAAC,IAAIX,EAAE,SAASW,KAAK,KAAKtQ,EAAE,IAAI+R,EAAEpC,EAAE,UAAUW,GAAGA,IAAI,CAAC,CAAC,GAAG,CAAC;AAAA,YAClI,EAAC,GAAIyB,IAAI,SAAS/R,GAAG;AACnB,uBAAS2P,IAAI,GAAGW,IAAI,GAAGA,IAAItQ,EAAE,QAAQsQ,KAAK,EAAG,CAAAX,IAAI,KAAKA,IAAI,EAAE3P,EAAE,OAAOsQ,CAAC,CAAC;AACvE,qBAAOX;AAAA,YACT,GAAG,IAAI,SAAS3P,GAAG;AACjB,kBAAI,OAAOA,KAAKA,KAAK,IAAK,QAAOA,EAAE,WAAW,CAAC,IAAI;AACnD,oBAAM,mBAAmBA;AAAA,YAC3B;AACA,mBAAO+Q;AAAA,UACT,GAAGP,IAAK,SAASxE,GAAG;AAClB,gBAAI6E,IAAI7E,GAAG+E,IAAI,EAAE,SAAS,WAAW;AACnC,qBAAO;AAAA,YACT,GAAG,WAAW,SAAS,GAAG;AACxB,qBAAOF,EAAE;AAAA,YACX,GAAG,OAAO,SAAS,GAAG;AACpB,uBAAS7Q,IAAI6Q,GAAGlB,IAAI,GAAGA,IAAI,IAAI3P,EAAE,SAAU,GAAE,IAAI,KAAK+R,EAAE/R,EAAE,OAAO2P,CAAC,CAAC,IAAIoC,EAAE/R,EAAE,OAAO2P,IAAI,CAAC,CAAC,GAAG,EAAE,GAAGA,KAAK;AACrG,cAAAA,IAAI3P,EAAE,UAAU,EAAE,IAAI+R,EAAE/R,EAAE,OAAO2P,CAAC,CAAC,GAAG,CAAC;AAAA,YACzC,EAAC,GAAIoC,IAAI,SAAS,GAAG;AACnB,kBAAI,OAAO,KAAK,KAAK,IAAK,QAAO,EAAE,WAAW,CAAC,IAAI;AACnD,kBAAI,OAAO,KAAK,KAAK,IAAK,QAAO,EAAE,WAAW,CAAC,IAAI,KAAK;AACxD,sBAAQ,GAAC;AAAA,gBACP,KAAK;AACH,yBAAO;AAAA,gBACT,KAAK;AACH,yBAAO;AAAA,gBACT,KAAK;AACH,yBAAO;AAAA,gBACT,KAAK;AACH,yBAAO;AAAA,gBACT,KAAK;AACH,yBAAO;AAAA,gBACT,KAAK;AACH,yBAAO;AAAA,gBACT,KAAK;AACH,yBAAO;AAAA,gBACT,KAAK;AACH,yBAAO;AAAA,gBACT,KAAK;AACH,yBAAO;AAAA,gBACT;AACE,wBAAM,mBAAmB;AAAA,cAC3C;AAAA,YACY;AACA,mBAAOhB;AAAA,UACT,GAAGd,IAAK,SAASjE,GAAG;AAClB,gBAAI6E,IAAIY,EAAE,cAAczF,CAAC;AACzB,mBAAO,EAAE,SAAS,WAAW;AAC3B,qBAAO;AAAA,YACT,GAAG,WAAW,SAAS+E,GAAG;AACxB,qBAAOF,EAAE;AAAA,YACX,GAAG,OAAO,SAASE,GAAG;AACpB,uBAASgB,IAAI,GAAGA,IAAIlB,EAAE,QAAQkB,KAAK,EAAG,CAAAhB,EAAE,IAAIF,EAAEkB,CAAC,GAAG,CAAC;AAAA,YACrD,EAAC;AAAA,UACH,GAAGnC,IAAK,SAAS5D,GAAG;AAClB,gBAAI6E,IAAIY,EAAE,mBAAmB;AAC7B,gBAAI,CAACZ,EAAG,OAAM;AACd,aAAC,WAAW;AACV,kBAAI,IAAIA,EAAE,GAAG;AACb,kBAAI,EAAE,UAAU,MAAM,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,MAAO,OAAM;AAAA,YAC1D,GAAC;AACD,gBAAIE,IAAIF,EAAE7E,CAAC,GAAG+F,IAAI,EAAE,SAAS,WAAW;AACtC,qBAAO;AAAA,YACT,GAAG,WAAW,SAAS,GAAG;AACxB,qBAAO,CAAC,EAAEhB,EAAE,SAAS;AAAA,YACvB,GAAG,OAAO,SAAS,GAAG;AACpB,uBAAS/Q,IAAI+Q,GAAGpB,IAAI,GAAGA,IAAI,IAAI3P,EAAE,UAAU;AACzC,oBAAIsQ,KAAK,MAAMtQ,EAAE2P,CAAC,MAAM,IAAI,MAAM3P,EAAE2P,IAAI,CAAC;AACzC,oBAAI,SAASW,KAAKA,KAAK,MAAO,CAAAA,KAAK;AAAA,qBAC9B;AACH,sBAAI,EAAE,SAASA,KAAKA,KAAK,OAAQ,OAAM,sBAAsBX,IAAI,KAAK,MAAMW;AAC5E,kBAAAA,KAAK;AAAA,gBACP;AACA,gBAAAA,IAAI,OAAOA,MAAM,IAAI,QAAQ,MAAMA,IAAI,EAAE,IAAIA,GAAG,EAAE,GAAGX,KAAK;AAAA,cAC5D;AACA,kBAAIA,IAAI3P,EAAE,OAAQ,OAAM,sBAAsB2P,IAAI;AAAA,YACpD,EAAC;AACD,mBAAOoC;AAAA,UACT,GAAGpB,IAAK,WAAW;AACjB,gBAAI3E,IAAI,CAAA,GAAI6E,IAAI,EAAE,WAAW,SAASE,GAAG;AACvC,cAAA/E,EAAE,KAAK,MAAM+E,CAAC;AAAA,YAChB,GAAG,YAAY,SAASA,GAAG;AACzB,cAAAF,EAAE,UAAUE,CAAC,GAAGF,EAAE,UAAUE,MAAM,CAAC;AAAA,YACrC,GAAG,YAAY,SAASA,GAAGgB,GAAG,GAAG;AAC/B,cAAAA,IAAIA,KAAK,GAAG,IAAI,KAAKhB,EAAE;AACvB,uBAAS/Q,IAAI,GAAGA,IAAI,GAAGA,KAAK,EAAG,CAAA6Q,EAAE,UAAUE,EAAE/Q,IAAI+R,CAAC,CAAC;AAAA,YACrD,GAAG,aAAa,SAAShB,GAAG;AAC1B,uBAASgB,IAAI,GAAGA,IAAIhB,EAAE,QAAQgB,KAAK,EAAG,CAAAlB,EAAE,UAAUE,EAAE,WAAWgB,CAAC,CAAC;AAAA,YACnE,GAAG,aAAa,WAAW;AACzB,qBAAO/F;AAAA,YACT,GAAG,UAAU,WAAW;AACtB,kBAAI+E,IAAI;AACR,cAAAA,KAAK;AACL,uBAASgB,IAAI,GAAGA,IAAI/F,EAAE,QAAQ+F,KAAK,EAAG,CAAAA,IAAI,MAAMhB,KAAK,MAAMA,KAAK/E,EAAE+F,CAAC;AACnE,qBAAOhB,IAAI;AAAA,YACb,EAAC;AACD,mBAAOF;AAAA,UACT,GAAGD,KAAK,SAAS5E,GAAG;AAClB,gBAAI6E,IAAI7E,GAAG+E,IAAI,GAAGgB,IAAI,GAAG,IAAI,GAAG/R,IAAI,EAAE,MAAM,WAAW;AACrD,qBAAO,IAAI,KAAK;AACd,oBAAI+Q,KAAKF,EAAE,QAAQ;AACjB,sBAAI,KAAK,EAAG,QAAO;AACnB,wBAAM,6BAA6B;AAAA,gBACrC;AACA,oBAAIP,IAAIO,EAAE,OAAOE,CAAC;AAClB,oBAAIA,KAAK,GAAGT,KAAK,IAAK,QAAO,IAAI,GAAG;AACpC,gBAAAA,EAAE,MAAM,MAAM,MAAMyB,IAAIA,KAAK,IAAIpC,EAAEW,EAAE,WAAW,CAAC,CAAC,GAAG,KAAK;AAAA,cAC5D;AACA,kBAAIG,IAAIsB,MAAM,IAAI,IAAI;AACtB,qBAAO,KAAK,GAAGtB;AAAA,YACjB,EAAC,GAAId,IAAI,SAASW,GAAG;AACnB,kBAAI,MAAMA,KAAKA,KAAK,GAAI,QAAOA,IAAI;AACnC,kBAAI,MAAMA,KAAKA,KAAK,IAAK,QAAOA,IAAI,KAAK;AACzC,kBAAI,MAAMA,KAAKA,KAAK,GAAI,QAAOA,IAAI,KAAK;AACxC,kBAAIA,KAAK,GAAI,QAAO;AACpB,kBAAIA,KAAK,GAAI,QAAO;AACpB,oBAAM,OAAOA;AAAA,YACf;AACA,mBAAOtQ;AAAA,UACT,GAAGwR,IAAK,SAASxF,GAAG6E,GAAGE,GAAG;AACxB,qBAASgB,KAAI,SAASd,GAAGC,GAAG;AAC1B,kBAAIC,IAAIF,GAAGG,KAAKF,GAAGK,IAAI,IAAI,MAAMN,IAAIC,CAAC,GAAGQ,KAAK,EAAE,UAAU,SAAS7S,GAAGyV,GAAGC,GAAG;AAC1E,gBAAAhD,EAAE+C,IAAInD,IAAItS,CAAC,IAAI0V;AAAA,cACjB,GAAG,OAAO,SAAS1V,GAAG;AACpB,gBAAAA,EAAE,YAAY,QAAQ,GAAGA,EAAE,WAAWsS,CAAC,GAAGtS,EAAE,WAAWuS,EAAE,GAAGvS,EAAE,UAAU,GAAG,GAAGA,EAAE,UAAU,CAAC,GAAGA,EAAE,UAAU,CAAC,GAAGA,EAAE,UAAU,CAAC,GAAGA,EAAE,UAAU,CAAC,GAAGA,EAAE,UAAU,CAAC,GAAGA,EAAE,UAAU,GAAG,GAAGA,EAAE,UAAU,GAAG,GAAGA,EAAE,UAAU,GAAG,GAAGA,EAAE,YAAY,GAAG,GAAGA,EAAE,WAAW,CAAC,GAAGA,EAAE,WAAW,CAAC,GAAGA,EAAE,WAAWsS,CAAC,GAAGtS,EAAE,WAAWuS,EAAE,GAAGvS,EAAE,UAAU,CAAC;AAC1T,oBAAIyV,IAAI1C,GAAG,CAAC;AACZ,gBAAA/S,EAAE,UAAU,CAAC;AACb,yBAAS0V,IAAI,GAAGD,EAAE,SAASC,IAAI,MAAO,CAAA1V,EAAE,UAAU,GAAG,GAAGA,EAAE,WAAWyV,GAAGC,GAAG,GAAG,GAAGA,KAAK;AACtF,gBAAA1V,EAAE,UAAUyV,EAAE,SAASC,CAAC,GAAG1V,EAAE,WAAWyV,GAAGC,GAAGD,EAAE,SAASC,CAAC,GAAG1V,EAAE,UAAU,CAAC,GAAGA,EAAE,YAAY,GAAG;AAAA,cAChG,EAAC,GAAI+S,KAAK,SAAS/S,GAAG;AACpB,yBAASyV,IAAI,KAAKzV,GAAG0V,IAAI,KAAK,KAAK1V,IAAI,IAAIA,IAAI,GAAGwV,IAAI1C,GAAE,GAAI+B,KAAK,GAAGA,KAAKY,GAAGZ,MAAM,EAAG,CAAAW,EAAE,IAAI,OAAO,aAAaX,EAAE,CAAC;AAClH,gBAAAW,EAAE,IAAI,OAAO,aAAaC,CAAC,CAAC,GAAGD,EAAE,IAAI,OAAO,aAAaE,CAAC,CAAC;AAC3D,oBAAIhB,GAAGnU,GAAGoU,GAAGC,IAAI9C,EAAE,GAAItR,KAAKkU,IAAIE,GAAGrU,IAAI,GAAGoU,IAAI,GAAG,EAAE,OAAO,SAASM,IAAIC,IAAG;AACxE,sBAAID,OAAOC,GAAG,OAAM;AACpB,yBAAO3U,IAAI2U,MAAK,IAAK,CAAAR,EAAE,UAAU,OAAOO,MAAM1U,IAAIoU,EAAE,GAAGO,MAAK,IAAI3U,GAAG0U,QAAQ,IAAI1U,GAAGoU,IAAI,GAAGpU,IAAI;AAC7F,kBAAAoU,KAAKM,MAAM1U,GAAGA,KAAK2U;AAAA,gBACrB,GAAG,OAAO,WAAW;AACnB,kBAAA3U,IAAI,KAAKmU,EAAE,UAAUC,CAAC;AAAA,gBACxB;AACA,gBAAAnU,EAAE,MAAMiV,GAAG,CAAC;AACZ,oBAAIX,IAAI,GAAGC,KAAI,OAAO,aAAarC,EAAEoC,CAAC,CAAC;AACvC,qBAAKA,KAAK,GAAGA,IAAIpC,EAAE,UAAU;AAC3B,sBAAIsC,KAAK,OAAO,aAAatC,EAAEoC,CAAC,CAAC;AACjC,kBAAAA,KAAK,GAAGU,EAAE,SAAST,KAAIC,EAAE,IAAID,MAAKC,MAAMxU,EAAE,MAAMgV,EAAE,QAAQT,EAAC,GAAG,CAAC,GAAGS,EAAE,KAAI,IAAK,SAASA,EAAE,KAAI,KAAM,KAAK,MAAM,KAAK,IAAIA,EAAE,IAAIT,KAAIC,EAAE,IAAID,KAAIC;AAAA,gBAC5I;AACA,uBAAOxU,EAAE,MAAMgV,EAAE,QAAQT,EAAC,GAAG,CAAC,GAAGvU,EAAE,MAAMkV,GAAG,CAAC,GAAGlV,EAAE,MAAK,GAAIoU,EAAE,YAAW;AAAA,cAC1E,GAAG9B,KAAK,WAAW;AACjB,oBAAI9S,IAAI,CAAA,GAAIyV,IAAI,GAAGC,IAAI,EAAE,KAAK,SAAS,GAAG;AACxC,sBAAIA,EAAE,SAAS,CAAC,EAAG,OAAM,aAAa;AACtC,kBAAA1V,EAAE,CAAC,IAAIyV,GAAGA,KAAK;AAAA,gBACjB,GAAG,MAAM,WAAW;AAClB,yBAAOA;AAAA,gBACT,GAAG,SAAS,SAAS,GAAG;AACtB,yBAAOzV,EAAE,CAAC;AAAA,gBACZ,GAAG,UAAU,SAAS,GAAG;AACvB,yBAAOA,EAAE,CAAC,MAAM;AAAA,gBAClB,EAAC;AACD,uBAAO0V;AAAA,cACT;AACA,qBAAO7C;AAAA,YACT,GAAE1F,GAAG6E,CAAC,GAAG,IAAI,GAAG,IAAIA,GAAG,KAAK,EAAG,UAAS7Q,IAAI,GAAGA,IAAIgM,GAAGhM,KAAK,EAAG,CAAA+R,EAAE,SAAS/R,GAAG,GAAG+Q,EAAE/Q,GAAG,CAAC,CAAC;AACtF,gBAAI2P,IAAIgB,EAAE;AACV,YAAAoB,EAAE,MAAMpC,CAAC;AACT,qBAASW,KAAI,WAAW;AACtB,kBAAIW,IAAI,GAAGC,IAAI,GAAGC,IAAI,GAAGC,KAAK,IAAIG,IAAI,CAAA,GAAIG,KAAK,SAASC,IAAI;AAC1D,gBAAAP,MAAM,OAAO,aAAaQ,GAAG,KAAKD,EAAE,CAAC;AAAA,cACvC,GAAGC,KAAK,SAASD,IAAI;AACnB,oBAAI,EAAEA,KAAK,IAAI;AACb,sBAAIA,KAAK,GAAI,QAAO,KAAKA;AACzB,sBAAIA,KAAK,GAAI,QAAOA,KAAK,KAAK;AAC9B,sBAAIA,KAAK,GAAI,QAAOA,KAAK,KAAK;AAC9B,sBAAIA,MAAM,GAAI,QAAO;AACrB,sBAAIA,MAAM,GAAI,QAAO;AAAA,gBACvB;AACA,sBAAM,OAAOA;AAAA,cACf;AACA,qBAAOJ,EAAE,YAAY,SAASI,IAAI;AAChC,qBAAKV,IAAIA,KAAK,IAAI,MAAMU,IAAIT,KAAK,GAAGC,KAAK,GAAGD,KAAK,IAAK,CAAAQ,GAAGT,MAAMC,IAAI,CAAC,GAAGA,KAAK;AAAA,cAC9E,GAAGK,EAAE,QAAQ,WAAW;AACtB,oBAAIL,IAAI,MAAMQ,GAAGT,KAAK,IAAIC,CAAC,GAAGD,IAAI,GAAGC,IAAI,IAAIC,IAAI,KAAK,EAAG,UAASQ,KAAK,IAAIR,IAAI,GAAGtS,IAAI,GAAGA,IAAI8S,IAAI9S,KAAK,EAAG,CAAAuS,MAAM;AAAA,cACjH,GAAGG,EAAE,WAAW,WAAW;AACzB,uBAAOH;AAAA,cACT,GAAGG;AAAA,YACL,GAAC,GAAId,IAAId,EAAE,YAAW,GAAIe,IAAI,GAAGA,IAAID,EAAE,QAAQC,KAAK,EAAG,CAAAJ,EAAE,UAAUG,EAAEC,CAAC,CAAC;AACvE,mBAAOJ,EAAE,SAAS,2BAA2BA;AAAA,UAC/C;AACA,iBAAOmB;AAAA,QACT,GAAC;AACD,QAAAH,EAAE,mBAAmB,OAAO,IAAI,SAASG,GAAG;AAC1C,kBAAO,SAASI,GAAG;AACjB,qBAASR,IAAI,CAAA,GAAInB,IAAI,GAAGA,IAAI2B,EAAE,QAAQ3B,KAAK;AACzC,kBAAIL,IAAIgC,EAAE,WAAW3B,CAAC;AACtB,cAAAL,IAAI,MAAMwB,EAAE,KAAKxB,CAAC,IAAIA,IAAI,OAAOwB,EAAE,KAAK,MAAMxB,KAAK,GAAG,MAAM,KAAKA,CAAC,IAAIA,IAAI,SAASA,KAAK,QAAQwB,EAAE,KAAK,MAAMxB,KAAK,IAAI,MAAMA,KAAK,IAAI,IAAI,MAAM,KAAKA,CAAC,KAAKK,KAAKL,IAAI,UAAU,OAAOA,MAAM,KAAK,OAAOgC,EAAE,WAAW3B,CAAC,IAAImB,EAAE,KAAK,MAAMxB,KAAK,IAAI,MAAMA,KAAK,KAAK,IAAI,MAAMA,KAAK,IAAI,IAAI,MAAM,KAAKA,CAAC;AAAA,YACnS;AACA,mBAAOwB;AAAA,UACT,GAAEI,CAAC;AAAA,QACL,IAAIT,IAAI,QAAQF,IAAI,WAAW;AAC7B,iBAAOQ;AAAA,QACT,MAAM,aAAaR,EAAE,MAAMvB,GAAG,EAAE,IAAIuB,OAAO,WAAWxB,EAAE,UAAU0B;AAAA,MACpE,EAAC,GAAI/B,IAAI,CAAA;AACT,eAAS,EAAEK,GAAG;AACZ,YAAIC,IAAIN,EAAEK,CAAC;AACX,YAAIC,MAAM,OAAQ,QAAOA,EAAE;AAC3B,YAAIuB,IAAI7B,EAAEK,CAAC,IAAI,EAAE,SAAS,CAAA,EAAE;AAC5B,eAAON,EAAEM,CAAC,EAAEwB,GAAGA,EAAE,SAAS,CAAC,GAAGA,EAAE;AAAA,MAClC;AACA,QAAE,IAAI,CAACxB,MAAM;AACX,YAAIC,IAAID,KAAKA,EAAE,aAAa,MAAMA,EAAE,UAAU,MAAMA;AACpD,eAAO,EAAE,EAAEC,GAAG,EAAE,GAAGA,EAAC,CAAE,GAAGA;AAAA,MAC3B,GAAG,EAAE,IAAI,CAACD,GAAGC,MAAM;AACjB,iBAASuB,KAAKvB,EAAG,GAAE,EAAEA,GAAGuB,CAAC,KAAK,CAAC,EAAE,EAAExB,GAAGwB,CAAC,KAAK,OAAO,eAAexB,GAAGwB,GAAG,EAAE,YAAY,IAAI,KAAKvB,EAAEuB,CAAC,EAAC,CAAE;AAAA,MACvG,GAAG,EAAE,IAAI,CAACxB,GAAGC,MAAM,OAAO,UAAU,eAAe,KAAKD,GAAGC,CAAC;AAC5D,UAAIrP,IAAI,CAAA;AACR,cAAQ,MAAM;AACZ,UAAE,EAAEA,GAAG,EAAE,SAAS,MAAM2Q,EAAC,CAAE;AAC3B,cAAMvB,IAAI,CAACyB,MAAM,CAAC,CAACA,KAAK,OAAOA,KAAK,YAAY,CAAC,MAAM,QAAQA,CAAC;AAChE,iBAASxB,EAAEwB,MAAMgB,GAAG;AAClB,cAAI,CAACA,EAAE,OAAQ,QAAOhB;AACtB,gBAAM,IAAIgB,EAAE,MAAK;AACjB,iBAAO,MAAM,UAAUzC,EAAEyB,CAAC,KAAKzB,EAAE,CAAC,KAAKyB,IAAI,OAAO,OAAO,CAAA,GAAIA,CAAC,GAAG,OAAO,KAAK,CAAC,EAAE,QAAQ,CAAC/Q,MAAM;AAC7F,kBAAM2P,IAAIoB,EAAE/Q,CAAC,GAAGsQ,IAAI,EAAEtQ,CAAC;AACvB,kBAAM,QAAQ2P,CAAC,KAAK,MAAM,QAAQW,CAAC,IAAIS,EAAE/Q,CAAC,IAAIsQ,IAAIhB,EAAEK,CAAC,KAAKL,EAAEgB,CAAC,IAAIS,EAAE/Q,CAAC,IAAIuP,EAAE,OAAO,OAAO,IAAII,CAAC,GAAGW,CAAC,IAAIS,EAAE/Q,CAAC,IAAIsQ;AAAA,UAC9G,CAAC,GAAGf,EAAEwB,GAAG,GAAGgB,CAAC,KAAKhB;AAAA,QACpB;AACA,iBAASD,EAAEC,GAAGgB,GAAG;AACf,gBAAM,IAAI,SAAS,cAAc,GAAG;AACpC,YAAE,WAAWA,GAAG,EAAE,OAAOhB,GAAG,SAAS,KAAK,YAAY,CAAC,GAAG,EAAE,MAAK,GAAI,SAAS,KAAK,YAAY,CAAC;AAAA,QAClG;AACA,cAAMC,IAAI,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAG;AAAA,QAC7C,MAAMM,EAAE;AAAA,UACN,YAAY,EAAE,KAAKS,GAAG,MAAM,GAAG,QAAQ/R,KAAK;AAC1C,iBAAK,OAAO+R,GAAG,KAAK,QAAQ,GAAG,KAAK,UAAU/R;AAAA,UAChD;AAAA,UACA,KAAK+R,GAAG,GAAG/R,GAAG2P,GAAG;AACf,gBAAIW;AACJ,oBAAQ,KAAK,OAAK;AAAA,cAChB,KAAK;AACH,gBAAAA,IAAI,KAAK;AACT;AAAA,cACF,KAAK;AACH,gBAAAA,IAAI,KAAK;AACT;AAAA,cACF,KAAK;AACH,gBAAAA,IAAI,KAAK;AACT;AAAA,cACF,KAAK;AACH,gBAAAA,IAAI,KAAK;AACT;AAAA,cACF,KAAK;AACH,gBAAAA,IAAI,KAAK;AACT;AAAA,cACF;AACE,gBAAAA,IAAI,KAAK;AAAA,YACzB;AACY,YAAAA,EAAE,KAAK,MAAM,EAAE,GAAGyB,GAAG,GAAG,GAAG,MAAM/R,GAAG,aAAa2P,EAAC,CAAE;AAAA,UACtD;AAAA,UACA,cAAc,EAAE,GAAGoC,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU2P,IAAI,GAAG,MAAMW,EAAC,GAAI;AAC/D,gBAAIG;AACJ,kBAAMC,IAAIqB,IAAI/R,IAAI,GAAGiR,IAAI,IAAIjR,IAAI;AACjC,YAAAsQ,EAAC,IAAKG,IAAI,KAAK,cAAc,QAAQA,MAAM,UAAUA,EAAE,aAAa,aAAa,UAAU,MAAMd,IAAI,KAAK,EAAE,IAAIe,CAAC,IAAIO,CAAC,GAAG;AAAA,UAC3H;AAAA,UACA,UAAUc,GAAG;AACX,kBAAM,EAAE,MAAM,GAAG,GAAG/R,GAAG,GAAG2P,EAAC,IAAKoC;AAChC,iBAAK,cAAc,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIA,CAAC,GAAG,EAAE,MAAM,MAAM;AACnE,mBAAK,WAAW,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,QAAQ,GAAG,KAAK,SAAS,aAAa,MAAM,OAAO/R,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,aAAa,MAAM,OAAO2P,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,aAAa,KAAK,OAAO,IAAI,CAAC,CAAC;AAAA,YACxP,EAAC,CAAE,CAAC;AAAA,UACN;AAAA,UACA,aAAaoC,GAAG;AACd,kBAAM,EAAE,MAAM,GAAG,GAAG/R,GAAG,GAAG2P,EAAC,IAAKoC;AAChC,iBAAK,cAAc,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIA,CAAC,GAAG,EAAE,MAAM,MAAM;AACnE,mBAAK,WAAW,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,MAAM,GAAG,KAAK,SAAS,aAAa,KAAK,OAAO/R,CAAC,CAAC,GAAG,KAAK,SAAS,aAAa,KAAK,OAAO2P,CAAC,CAAC,GAAG,KAAK,SAAS,aAAa,SAAS,OAAO,CAAC,CAAC,GAAG,KAAK,SAAS,aAAa,UAAU,OAAO,CAAC,CAAC;AAAA,YACrR,EAAC,CAAE,CAAC;AAAA,UACN;AAAA,UACA,kBAAkBoC,GAAG;AACnB,kBAAM,EAAE,MAAM,GAAG,GAAG/R,GAAG,GAAG2P,EAAC,IAAKoC;AAChC,iBAAK,cAAc,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIA,CAAC,GAAG,EAAE,MAAM,MAAM;AACnE,mBAAK,WAAW,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,MAAM,GAAG,KAAK,SAAS,aAAa,KAAK,KAAK/R,CAAC,IAAI2P,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE;AAAA,YACtM,EAAC,CAAE,CAAC;AAAA,UACN;AAAA,UACA,oBAAoBoC,GAAG;AACrB,kBAAM,EAAE,MAAM,GAAG,GAAG/R,GAAG,GAAG2P,EAAC,IAAKoC;AAChC,iBAAK,cAAc,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIA,CAAC,GAAG,EAAE,MAAM,MAAM;AACnE,mBAAK,WAAW,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,MAAM,GAAG,KAAK,SAAS,aAAa,KAAK,KAAK/R,CAAC,IAAI2P,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAAA,YACzN,EAAC,CAAE,CAAC;AAAA,UACN;AAAA,UACA,yBAAyBoC,GAAG;AAC1B,kBAAM,EAAE,MAAM,GAAG,GAAG/R,GAAG,GAAG2P,EAAC,IAAKoC;AAChC,iBAAK,cAAc,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIA,CAAC,GAAG,EAAE,MAAM,MAAM;AACnE,mBAAK,WAAW,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,MAAM,GAAG,KAAK,SAAS,aAAa,KAAK,KAAK/R,CAAC,IAAI2P,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;AAAA,YACzL,EAAC,CAAE,CAAC;AAAA,UACN;AAAA,UACA,qBAAqBoC,GAAG;AACtB,kBAAM,EAAE,MAAM,GAAG,GAAG/R,GAAG,GAAG2P,EAAC,IAAKoC;AAChC,iBAAK,cAAc,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIA,CAAC,GAAG,EAAE,MAAM,MAAM;AACnE,mBAAK,WAAW,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,MAAM,GAAG,KAAK,SAAS,aAAa,KAAK,KAAK/R,CAAC,IAAI2P,CAAC,OAAO,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAAA,YAC1R,EAAC,CAAE,CAAC;AAAA,UACN;AAAA,UACA,SAAS,EAAE,GAAGoC,GAAG,GAAG,GAAG,MAAM/R,KAAK;AAChC,iBAAK,UAAU,EAAE,GAAG+R,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU,EAAC,CAAE;AAAA,UACrD;AAAA,UACA,YAAY,EAAE,GAAG+R,GAAG,GAAG,GAAG,MAAM/R,KAAK;AACnC,iBAAK,aAAa,EAAE,GAAG+R,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU,EAAC,CAAE;AAAA,UACxD;AAAA,UACA,aAAa,EAAE,GAAG+R,GAAG,GAAG,GAAG,MAAM/R,GAAG,aAAa2P,KAAK;AACpD,kBAAMW,IAAIX,IAAI,CAACA,EAAE,IAAI,CAAC,IAAI,GAAGc,IAAId,IAAI,CAACA,EAAE,GAAG,CAAC,IAAI,GAAGe,IAAIf,IAAI,CAACA,EAAE,GAAG,EAAE,IAAI,GAAGsB,IAAItB,IAAI,CAACA,EAAE,GAAG,CAAC,IAAI,GAAGuB,IAAIZ,IAAIG,IAAIC,IAAIO;AAChH,gBAAIC,MAAM,EAAG,KAAIA,IAAI,KAAKZ,KAAKG,KAAKC,KAAKO,EAAG,MAAK,aAAa,EAAE,GAAGc,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU,GAAG;AAAA,iBAC7F;AACH,kBAAIkR,MAAM,GAAG;AACX,oBAAIC,IAAI;AACR,uBAAOb,KAAKI,IAAIS,IAAI,KAAK,KAAK,IAAIT,KAAKD,IAAIU,IAAI,KAAK,KAAKV,KAAKQ,MAAME,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,KAAK,oBAAoB,EAAE,GAAGY,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAUmR,EAAC,CAAE;AAAA,cAC3J;AACA,kBAAID,MAAM,GAAG;AACX,oBAAIC,IAAI;AACR,uBAAOT,IAAIS,IAAI,KAAK,KAAK,IAAIV,IAAIU,IAAI,KAAK,KAAKF,MAAME,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,KAAK,kBAAkB,EAAE,GAAGY,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAUmR,EAAC,CAAE;AAAA,cAC1I;AAAA,YACF;AAAA,gBACK,MAAK,UAAU,EAAE,GAAGY,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU,EAAC,CAAE;AAAA,UAC1D;AAAA,UACA,kBAAkB,EAAE,GAAG+R,GAAG,GAAG,GAAG,MAAM/R,GAAG,aAAa2P,KAAK;AACzD,kBAAMW,IAAIX,IAAI,CAACA,EAAE,IAAI,CAAC,IAAI,GAAGc,IAAId,IAAI,CAACA,EAAE,GAAG,CAAC,IAAI,GAAGe,IAAIf,IAAI,CAACA,EAAE,GAAG,EAAE,IAAI,GAAGsB,IAAItB,IAAI,CAACA,EAAE,GAAG,CAAC,IAAI,GAAGuB,IAAIZ,IAAIG,IAAIC,IAAIO;AAChH,gBAAIC,MAAM,EAAG,KAAIA,IAAI,KAAKZ,KAAKG,KAAKC,KAAKO,EAAG,MAAK,aAAa,EAAE,GAAGc,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU,GAAG;AAAA,iBAC7F;AACH,kBAAIkR,MAAM,GAAG;AACX,oBAAIC,IAAI;AACR,uBAAOb,KAAKI,IAAIS,IAAI,KAAK,KAAK,IAAIT,KAAKD,IAAIU,IAAI,KAAK,KAAKV,KAAKQ,MAAME,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,KAAK,yBAAyB,EAAE,GAAGY,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAUmR,EAAC,CAAE;AAAA,cAChK;AACA,kBAAID,MAAM,GAAG;AACX,oBAAIC,IAAI;AACR,uBAAOT,IAAIS,IAAI,KAAK,KAAK,IAAIV,IAAIU,IAAI,KAAK,KAAKF,MAAME,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,KAAK,kBAAkB,EAAE,GAAGY,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAUmR,EAAC,CAAE;AAAA,cAC1I;AAAA,YACF;AAAA,gBACK,MAAK,UAAU,EAAE,GAAGY,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU,EAAC,CAAE;AAAA,UAC1D;AAAA,UACA,YAAY,EAAE,GAAG+R,GAAG,GAAG,GAAG,MAAM/R,GAAG,aAAa2P,KAAK;AACnD,kBAAMW,IAAIX,IAAI,CAACA,EAAE,IAAI,CAAC,IAAI,GAAGc,IAAId,IAAI,CAACA,EAAE,GAAG,CAAC,IAAI,GAAGe,IAAIf,IAAI,CAACA,EAAE,GAAG,EAAE,IAAI,GAAGsB,IAAItB,IAAI,CAACA,EAAE,GAAG,CAAC,IAAI;AAC7F,YAAAW,IAAIG,IAAIC,IAAIO,MAAM,IAAIX,KAAKI,IAAID,KAAKQ,IAAI,KAAK,aAAa,EAAE,GAAGc,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU,EAAC,CAAE,IAAI,KAAK,oBAAoB,EAAE,GAAG+R,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU,KAAK,KAAK,EAAC,CAAE,IAAI,KAAK,oBAAoB,EAAE,GAAG+R,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU,CAAC,KAAK,KAAK,EAAC,CAAE,IAAI,KAAK,qBAAqB,EAAE,GAAG+R,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU,KAAK,KAAK,EAAC,CAAE;AAAA,UACnU;AAAA,UACA,mBAAmB,EAAE,GAAG+R,GAAG,GAAG,GAAG,MAAM/R,GAAG,aAAa2P,KAAK;AAC1D,kBAAMW,IAAIX,IAAI,CAACA,EAAE,IAAI,CAAC,IAAI,GAAGc,IAAId,IAAI,CAACA,EAAE,GAAG,CAAC,IAAI,GAAGe,IAAIf,IAAI,CAACA,EAAE,GAAG,EAAE,IAAI,GAAGsB,IAAItB,IAAI,CAACA,EAAE,GAAG,CAAC,IAAI;AAC7F,YAAAW,IAAIG,IAAIC,IAAIO,MAAM,IAAIX,KAAKI,IAAID,KAAKQ,IAAI,KAAK,aAAa,EAAE,GAAGc,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU,EAAC,CAAE,IAAI,KAAK,yBAAyB,EAAE,GAAG+R,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU,KAAK,KAAK,EAAC,CAAE,IAAI,KAAK,yBAAyB,EAAE,GAAG+R,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU,CAAC,KAAK,KAAK,EAAC,CAAE,IAAI,KAAK,qBAAqB,EAAE,GAAG+R,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU,KAAK,KAAK,EAAC,CAAE;AAAA,UAC7U;AAAA,QACV;AACQ,cAAMyR,IAAI,EAAE,KAAK,OAAO,QAAQ,UAAU,cAAc,gBAAe,GAAII,IAAI,OAAO,OAAOJ,CAAC;AAAA,QAC9F,MAAMJ,EAAE;AAAA,UACN,YAAY,EAAE,KAAKU,GAAG,MAAM,GAAG,QAAQ/R,KAAK;AAC1C,iBAAK,OAAO+R,GAAG,KAAK,QAAQ,GAAG,KAAK,UAAU/R;AAAA,UAChD;AAAA,UACA,KAAK+R,GAAG,GAAG/R,GAAG2P,GAAG;AACf,gBAAIW;AACJ,oBAAQ,KAAK,OAAK;AAAA,cAChB,KAAKmB,EAAE;AACL,gBAAAnB,IAAI,KAAK;AACT;AAAA,cACF,KAAKmB,EAAE;AACL,gBAAAnB,IAAI,KAAK;AACT;AAAA,cACF;AACE,gBAAAA,IAAI,KAAK;AAAA,YACzB;AACY,YAAAA,EAAE,KAAK,MAAM,EAAE,GAAGyB,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU2P,EAAC,CAAE;AAAA,UACnD;AAAA,UACA,cAAc,EAAE,GAAGoC,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU2P,IAAI,GAAG,MAAMW,EAAC,GAAI;AAC/D,gBAAIG;AACJ,kBAAMC,IAAIqB,IAAI/R,IAAI,GAAGiR,IAAI,IAAIjR,IAAI;AACjC,YAAAsQ,EAAC,IAAKG,IAAI,KAAK,cAAc,QAAQA,MAAM,UAAUA,EAAE,aAAa,aAAa,UAAU,MAAMd,IAAI,KAAK,EAAE,IAAIe,CAAC,IAAIO,CAAC,GAAG;AAAA,UAC3H;AAAA,UACA,UAAUc,GAAG;AACX,kBAAM,EAAE,MAAM,GAAG,GAAG/R,GAAG,GAAG2P,MAAMoC,GAAGzB,IAAI,IAAI;AAC3C,iBAAK,cAAc,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIyB,CAAC,GAAG,EAAE,MAAM,MAAM;AACnE,mBAAK,WAAW,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,MAAM,GAAG,KAAK,SAAS,aAAa,aAAa,SAAS,GAAG,KAAK,SAAS,aAAa,KAAK,KAAK/R,IAAI,IAAI,CAAC,IAAI2P,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,oBAAoBW,CAAC,KAAK,IAAI,IAAIA,CAAC,IAAI,IAAI,IAAIA,CAAC,gBAAgB;AAAA,YACzR,EAAC,CAAE,CAAC;AAAA,UACN;AAAA,UACA,aAAayB,GAAG;AACd,kBAAM,EAAE,MAAM,GAAG,GAAG/R,GAAG,GAAG2P,MAAMoC,GAAGzB,IAAI,IAAI;AAC3C,iBAAK,cAAc,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIyB,CAAC,GAAG,EAAE,MAAM,MAAM;AACnE,mBAAK,WAAW,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,MAAM,GAAG,KAAK,SAAS,aAAa,aAAa,SAAS,GAAG,KAAK,SAAS,aAAa,KAAK,KAAK/R,CAAC,IAAI2P,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM3P,IAAIsQ,CAAC,IAAIX,IAAIW,CAAC,QAAQ,IAAI,IAAIA,KAAK,QAAQ,IAAI,IAAIA,KAAK,QAAQ,IAAIA,IAAI,KAAK,GAAG;AAAA,YAC5S,EAAC,CAAE,CAAC;AAAA,UACN;AAAA,UACA,mBAAmByB,GAAG;AACpB,kBAAM,EAAE,MAAM,GAAG,GAAG/R,GAAG,GAAG2P,MAAMoC,GAAGzB,IAAI,IAAI;AAC3C,iBAAK,cAAc,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIyB,CAAC,GAAG,EAAE,MAAM,MAAM;AACnE,mBAAK,WAAW,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,MAAM,GAAG,KAAK,SAAS,aAAa,aAAa,SAAS,GAAG,KAAK,SAAS,aAAa,KAAK,KAAK/R,CAAC,IAAI2P,IAAI,MAAMW,CAAC,OAAO,IAAIA,IAAI,KAAK,MAAMA,CAAC,IAAI,MAAMA,CAAC,cAAc,MAAMA,CAAC,IAAI,MAAMA,CAAC,OAAO,IAAIA,IAAI,KAAK,MAAMA,CAAC,IAAI,MAAMA,CAAC,cAAc,MAAMA,CAAC,IAAI,MAAM,CAACA,CAAC,OAAO,KAAKA,IAAI,KAAK,MAAMA,CAAC,IAAI,MAAMA,CAAC,cAAc,MAAM,CAACA,CAAC,IAAI,MAAM,CAACA,CAAC,OAAO,KAAKA,IAAI,KAAK,MAAMA,CAAC,IAAI,MAAMA,CAAC,cAAc,MAAM,CAACA,CAAC,IAAI,MAAMA,CAAC,KAAKtQ,IAAI,MAAMsQ,CAAC,IAAIX,IAAIW,CAAC,OAAO,IAAIA,IAAI,KAAK,MAAMA,CAAC,IAAI,MAAMA,CAAC,cAAc,MAAMA,CAAC,IAAI,MAAMA,CAAC,OAAO,IAAIA,IAAI,KAAK,MAAMA,CAAC,IAAI,MAAMA,CAAC,cAAc,MAAM,CAACA,CAAC,IAAI,MAAMA,CAAC,OAAO,KAAKA,IAAI,KAAK,MAAMA,CAAC,IAAI,MAAMA,CAAC,cAAc,MAAM,CAACA,CAAC,IAAI,MAAM,CAACA,CAAC,OAAO,KAAKA,IAAI,KAAK,MAAMA,CAAC,IAAI,MAAMA,CAAC,cAAc,MAAMA,CAAC,IAAI,MAAM,CAACA,CAAC,EAAE;AAAA,YAC/xB,EAAC,CAAE,CAAC;AAAA,UACN;AAAA,UACA,SAAS,EAAE,GAAGyB,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU2P,KAAK;AAC7C,iBAAK,UAAU,EAAE,GAAGoC,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU2P,EAAC,CAAE;AAAA,UACrD;AAAA,UACA,YAAY,EAAE,GAAGoC,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU2P,KAAK;AAChD,iBAAK,aAAa,EAAE,GAAGoC,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU2P,EAAC,CAAE;AAAA,UACxD;AAAA,UACA,kBAAkB,EAAE,GAAGoC,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU2P,KAAK;AACtD,iBAAK,mBAAmB,EAAE,GAAGoC,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU2P,EAAC,CAAE;AAAA,UAC9D;AAAA,QACV;AACQ,cAAMO,IAAI,EAAE,KAAK,OAAO,QAAQ,SAAQ,GAAIL,IAAI,OAAO,OAAOK,CAAC;AAAA,QAC/D,MAAM,EAAE;AAAA,UACN,YAAY,EAAE,KAAK6B,GAAG,MAAM,GAAG,QAAQ/R,KAAK;AAC1C,iBAAK,OAAO+R,GAAG,KAAK,QAAQ,GAAG,KAAK,UAAU/R;AAAA,UAChD;AAAA,UACA,KAAK+R,GAAG,GAAG/R,GAAG2P,GAAG;AACf,gBAAIW;AACJ,YAAAA,IAAI,KAAK,UAAUJ,EAAE,SAAS,KAAK,cAAc,KAAK,UAAUI,EAAE,KAAK,MAAM,EAAE,GAAGyB,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU2P,GAAG;AAAA,UACnH;AAAA,UACA,cAAc,EAAE,GAAGoC,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU2P,IAAI,GAAG,MAAMW,EAAC,GAAI;AAC/D,gBAAIG;AACJ,kBAAMC,IAAIqB,IAAI/R,IAAI,GAAGiR,IAAI,IAAIjR,IAAI;AACjC,YAAAsQ,EAAC,IAAKG,IAAI,KAAK,cAAc,QAAQA,MAAM,UAAUA,EAAE,aAAa,aAAa,UAAU,MAAMd,IAAI,KAAK,EAAE,IAAIe,CAAC,IAAIO,CAAC,GAAG;AAAA,UAC3H;AAAA,UACA,UAAUc,GAAG;AACX,kBAAM,EAAE,MAAM,GAAG,GAAG/R,GAAG,GAAG2P,EAAC,IAAKoC;AAChC,iBAAK,cAAc,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIA,CAAC,GAAG,EAAE,MAAM,MAAM;AACnE,mBAAK,WAAW,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,QAAQ,GAAG,KAAK,SAAS,aAAa,MAAM,OAAO/R,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,aAAa,MAAM,OAAO2P,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,aAAa,KAAK,OAAO,IAAI,CAAC,CAAC;AAAA,YACxP,EAAC,CAAE,CAAC;AAAA,UACN;AAAA,UACA,aAAaoC,GAAG;AACd,kBAAM,EAAE,MAAM,GAAG,GAAG/R,GAAG,GAAG2P,EAAC,IAAKoC;AAChC,iBAAK,cAAc,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIA,CAAC,GAAG,EAAE,MAAM,MAAM;AACnE,mBAAK,WAAW,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,MAAM,GAAG,KAAK,SAAS,aAAa,KAAK,OAAO/R,CAAC,CAAC,GAAG,KAAK,SAAS,aAAa,KAAK,OAAO2P,CAAC,CAAC,GAAG,KAAK,SAAS,aAAa,SAAS,OAAO,CAAC,CAAC,GAAG,KAAK,SAAS,aAAa,UAAU,OAAO,CAAC,CAAC;AAAA,YACrR,EAAC,CAAE,CAAC;AAAA,UACN;AAAA,UACA,SAAS,EAAE,GAAGoC,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU2P,KAAK;AAC7C,iBAAK,UAAU,EAAE,GAAGoC,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU2P,EAAC,CAAE;AAAA,UACrD;AAAA,UACA,YAAY,EAAE,GAAGoC,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU2P,KAAK;AAChD,iBAAK,aAAa,EAAE,GAAGoC,GAAG,GAAG,GAAG,MAAM/R,GAAG,UAAU2P,EAAC,CAAE;AAAA,UACxD;AAAA,QACV;AACQ,cAAMG,IAAI,UAAUM,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAGD,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AAAA,QAC/V,MAAME,EAAE;AAAA,UACN,YAAY0B,GAAG,GAAG;AAChB,iBAAK,aAAa,CAAC/R,MAAM,KAAK,SAAS,YAAY,YAAY,KAAK,MAAMA,CAAC,IAAIA,GAAG,KAAK,UAAU,GAAG,KAAK,WAAW,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,KAAK,GAAG,KAAK,SAAS,aAAa,SAAS,OAAO+R,EAAE,KAAK,CAAC,GAAG,KAAK,SAAS,aAAa,UAAU,OAAOA,EAAE,MAAM,CAAC,GAAG,KAAK,SAAS,aAAa,eAAe,8BAA8B,GAAGA,EAAE,YAAY,aAAa,KAAK,SAAS,aAAa,mBAAmB,YAAY,GAAG,KAAK,SAAS,aAAa,WAAW,OAAOA,EAAE,KAAK,IAAIA,EAAE,MAAM,EAAE,GAAG,KAAK,QAAQ,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,MAAM,GAAG,KAAK,SAAS,YAAY,KAAK,KAAK,GAAG,KAAK,YAAYA,EAAE,OAAO,KAAK,cAAc1B,EAAE,iBAAiB,KAAK,WAAW0B;AAAA,UACzuB;AAAA,UACA,IAAI,QAAQ;AACV,mBAAO,KAAK,SAAS;AAAA,UACvB;AAAA,UACA,IAAI,SAAS;AACX,mBAAO,KAAK,SAAS;AAAA,UACvB;AAAA,UACA,aAAa;AACX,mBAAO,KAAK;AAAA,UACd;AAAA,UACA,MAAM,OAAOA,GAAG;AACd,kBAAM,IAAIA,EAAE,eAAc,GAAI/R,IAAI,KAAK,IAAI,KAAK,SAAS,OAAO,KAAK,SAAS,MAAM,IAAI,IAAI,KAAK,SAAS,QAAQ2P,IAAI,KAAK,SAAS,UAAUG,IAAI9P,IAAI,KAAK,KAAK,CAAC,IAAIA,GAAGsQ,IAAI,KAAK,WAAWX,IAAI,CAAC;AACjM,gBAAIc,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,EAAC;AACzD,gBAAI,KAAK,MAAMsB,GAAG,KAAK,SAAS,OAAO;AACrC,kBAAI,MAAM,KAAK,UAAS,GAAI,CAAC,KAAK,OAAQ;AAC1C,oBAAM,EAAE,cAAcrB,GAAG,WAAWO,EAAC,IAAK,KAAK,UAAUC,IAAIR,EAAE,YAAYM,EAAEC,EAAE,oBAAoB,GAAGE,IAAI,KAAK,MAAMD,IAAI,IAAI,CAAC;AAC9H,cAAAT,KAAI,SAAS,EAAE,gBAAgBW,IAAI,eAAeG,GAAG,eAAeG,IAAI,mBAAmBE,IAAI,SAASD,GAAE,GAAI;AAC5G,sBAAM9S,IAAI,EAAE,GAAG,GAAG,GAAG,KAAKyV,IAAI,EAAE,GAAG,GAAG,GAAG,EAAC;AAC1C,oBAAIlD,MAAM,KAAKG,KAAK,KAAKG,MAAM,KAAKC,MAAM,EAAG,QAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,EAAC;AACrG,sBAAM4C,IAAInD,KAAKG;AACf,uBAAO1S,EAAE,IAAI,KAAK,MAAM,KAAK,KAAK6S,KAAK6C,CAAC,CAAC,GAAG1V,EAAE,KAAK,MAAMA,EAAE,IAAI,IAAI+S,MAAMA,KAAK/S,EAAE,MAAMA,EAAE,IAAI+S,KAAK/S,EAAE,IAAI,KAAK,KAAKA,EAAE,KAAKyV,EAAE,IAAIzV,EAAE,IAAI8S,IAAI9S,EAAE,IAAI,IAAI,IAAI,KAAK,MAAMA,EAAE,IAAI0V,IAAI,KAAK,CAAC,GAAGD,EAAE,IAAI,KAAK,MAAMA,EAAE,IAAIC,CAAC,IAAI1V,EAAE,IAAIA,EAAE,IAAI6S,MAAME,MAAMA,KAAK/S,EAAE,OAAO+S,MAAMA,KAAK/S,EAAE,KAAKA,EAAE,IAAI+S,IAAI/S,EAAE,IAAI,KAAK,KAAKA,EAAE,OAAOA,EAAE,KAAK,GAAGyV,EAAE,IAAIzV,EAAE,IAAI8S,IAAI9S,EAAE,IAAI,IAAI,IAAI,KAAK,MAAMA,EAAE,IAAI0V,IAAI,KAAK,CAAC,GAAGD,EAAE,IAAI,KAAK,MAAMA,EAAE,IAAIC,CAAC,IAAI,EAAE,QAAQD,EAAE,GAAG,OAAOA,EAAE,GAAG,WAAWzV,EAAE,GAAG,WAAWA,EAAE,EAAC;AAAA,cACxc,GAAE,EAAE,eAAe,KAAK,OAAO,OAAO,gBAAgB,KAAK,OAAO,QAAQ,eAAesS,GAAG,mBAAmB,IAAI,IAAI,SAASb,GAAG;AAAA,YACrI;AACA,iBAAK,eAAc,GAAI,KAAK,SAAS,CAACI,GAAGO,MAAM;AAC7C,kBAAIC,GAAGC,GAAGC,IAAIG,GAAGG,IAAIE;AACrB,qBAAO,EAAE,KAAK,SAAS,aAAa,sBAAsBlB,MAAM,IAAID,EAAE,aAAa,KAAKC,KAAK,IAAID,EAAE,aAAa,KAAKQ,MAAM,IAAIR,EAAE,aAAa,KAAKQ,KAAK,IAAIR,EAAE,aAAa,KAAK,GAAGS,IAAId,EAAEM,CAAC,OAAO,QAAQQ,MAAM,WAAWA,EAAED,CAAC,KAAK,GAAGE,IAAIf,EAAEM,IAAI,IAAI,CAAC,OAAO,QAAQS,MAAM,WAAWA,EAAEF,CAAC,KAAK,GAAGG,KAAKhB,EAAEM,CAAC,OAAO,QAAQU,OAAO,WAAWA,GAAGH,IAAI,IAAI,CAAC,KAAK,GAAGM,IAAIpB,EAAEO,CAAC,OAAO,QAAQa,MAAM,WAAWA,EAAEN,CAAC,KAAK,GAAGS,KAAKvB,EAAEO,IAAI,IAAI,CAAC,OAAO,QAAQgB,OAAO,WAAWA,GAAGT,CAAC,KAAK,GAAGW,KAAKzB,EAAEO,CAAC,OAAO,QAAQkB,OAAO,WAAWA,GAAGX,IAAI,IAAI,CAAC;AAAA,YAClgB,CAAC,GAAG,KAAK,eAAe,KAAK,SAAS,SAAS,MAAM,KAAK,UAAU,EAAE,OAAOR,EAAE,OAAO,QAAQA,EAAE,QAAQ,OAAO,GAAG,SAASH,GAAG;AAAA,UAChI;AAAA,UACA,iBAAiB;AACf,gBAAIyB,GAAG,GAAG/R;AACV,kBAAM2P,IAAI,KAAK,UAAUW,IAAI,KAAK;AAClC,gBAAIX,GAAG;AACL,oBAAMc,KAAKsB,IAAIzB,EAAE,uBAAuB,QAAQyB,MAAM,SAAS,SAASA,EAAE,UAAUrB,KAAK,IAAIJ,EAAE,uBAAuB,QAAQ,MAAM,SAAS,SAAS,EAAE;AACxJ,kBAAIW,IAAIX,EAAE,QAAQY,IAAIZ,EAAE;AACxB,kBAAIG,KAAKC,GAAG;AACV,sBAAMS,IAAI,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,MAAM;AACpF,qBAAK,sBAAsB,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,UAAU,GAAG,KAAK,oBAAoB,aAAa,MAAM,8BAA8B,KAAK,WAAW,EAAE,GAAG,KAAK,MAAM,YAAY,KAAK,mBAAmB,GAAG,GAAGnR,IAAIsQ,EAAE,uBAAuB,QAAQtQ,MAAM,WAAWA,EAAE,UAAUiR,IAAIC,IAAI,KAAK,IAAIZ,EAAE,OAAOA,EAAE,MAAM,GAAGa,EAAE,aAAa,MAAM,OAAOF,IAAI,IAAIX,EAAE,kBAAkB,KAAK,CAAC,IAAIa,EAAE,aAAa,KAAK,OAAO,KAAK,YAAYb,EAAE,QAAQY,KAAK,CAAC,CAAC,CAAC,GAAGC,EAAE,aAAa,KAAK,OAAO,KAAK,YAAYb,EAAE,SAASW,KAAK,CAAC,CAAC,CAAC,GAAGE,EAAE,aAAa,SAAS,OAAOD,CAAC,CAAC,GAAGC,EAAE,aAAa,UAAU,OAAOF,CAAC,CAAC,GAAG,KAAK,oBAAoB,YAAYE,CAAC,GAAG,KAAK,aAAa,EAAE,SAASV,GAAG,OAAOC,GAAG,oBAAoB,GAAG,GAAG,GAAG,GAAG,GAAG,QAAQJ,EAAE,QAAQ,OAAOA,EAAE,OAAO,MAAM,oBAAoB,KAAK,WAAW,GAAE,CAAE;AAAA,cAC7zB;AAAA,YACF;AAAA,UACF;AAAA,UACA,SAASyB,GAAG;AACV,gBAAI,GAAG/R;AACP,gBAAI,CAAC,KAAK,IAAK,OAAM;AACrB,kBAAM2P,IAAI,KAAK,UAAUW,IAAI,KAAK,IAAI,eAAc;AACpD,gBAAIA,IAAIX,EAAE,SAASW,IAAIX,EAAE,OAAQ,OAAM;AACvC,kBAAMc,IAAI,KAAK,IAAId,EAAE,OAAOA,EAAE,MAAM,IAAI,IAAIA,EAAE,QAAQe,IAAIf,EAAE,UAAUG,IAAIW,IAAI,KAAK,KAAK,CAAC,IAAIA,GAAGQ,IAAI,KAAK,WAAWP,IAAIJ,CAAC,GAAGY,IAAI,KAAK,YAAYvB,EAAE,QAAQW,IAAIW,KAAK,CAAC,GAAGE,IAAI,KAAK,YAAYxB,EAAE,SAASW,IAAIW,KAAK,CAAC,GAAGG,KAAK,IAAIE,EAAE,EAAE,KAAK,KAAK,UAAU,MAAM3B,EAAE,YAAY,MAAM,QAAQ,KAAK,QAAO,CAAE;AACtS,iBAAK,gBAAgB,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,UAAU,GAAG,KAAK,cAAc,aAAa,MAAM,uBAAuB,KAAK,WAAW,EAAE,GAAG,KAAK,MAAM,YAAY,KAAK,aAAa,GAAG,KAAK,aAAa,EAAE,UAAU,IAAIA,EAAE,iBAAiB,QAAQ,MAAM,SAAS,SAAS,EAAE,UAAU,OAAOA,EAAE,YAAY,OAAO,oBAAoB,GAAG,GAAG,GAAG,GAAG,GAAG,QAAQA,EAAE,QAAQ,OAAOA,EAAE,OAAO,MAAM,aAAa,KAAK,WAAW,GAAE,CAAE;AAC7c,qBAAS4B,IAAI,GAAGA,IAAIjB,GAAGiB,IAAK,UAASG,KAAK,GAAGA,KAAKpB,GAAGoB,KAAM,CAAAK,KAAK,CAACA,EAAER,GAAGG,EAAE,KAAK,GAAG1R,IAAI,KAAK,SAAS,QAAQA,MAAM,WAAWA,EAAE,OAAOuR,GAAGG,EAAE,MAAMN,GAAG,KAAKF,IAAIQ,KAAKT,GAAGE,IAAII,IAAIN,GAAGA,GAAG,CAACW,IAAID,OAAO,EAAED,KAAKE,KAAK,KAAKL,IAAII,KAAK,KAAKD,KAAKE,MAAMtB,KAAKiB,IAAII,MAAMrB,MAAM,EAAEyB,KAAK,CAACA,EAAER,IAAII,IAAID,KAAKE,EAAE,MAAM,CAAC,CAAC,KAAK,OAAO,KAAK,IAAI,OAAOL,IAAII,IAAID,KAAKE,EAAE,CAAC,GAAGR,GAAG,YAAY,KAAK,iBAAiB,KAAK,cAAc,YAAYA,GAAG,QAAQ;AAC3Z,gBAAIzB,EAAE,UAAUG,GAAG;AACjB,oBAAMyB,IAAI,KAAK,YAAYd,IAAIQ,IAAIX,KAAK,CAAC,GAAGoB,KAAKpB,IAAI,IAAIiB,GAAGK,KAAKV,IAAIK,IAAIN,GAAGU,KAAKR,IAAII,IAAIN,GAAGpS,IAAI,CAAA,GAAIyV,IAAI,KAAK,WAAW5C,KAAK,CAAC;AAC9H,uBAAS6C,IAAI,GAAGA,IAAI7C,IAAI6C,KAAK;AAC3B,gBAAA1V,EAAE0V,CAAC,IAAI,CAAA;AACP,yBAAS,IAAI,GAAG,IAAI7C,IAAI,IAAK,CAAA6C,KAAKhD,IAAI,KAAKgD,KAAK7C,KAAKH,KAAK,KAAKA,IAAI,KAAK,KAAKG,KAAKH,KAAK,KAAK,MAAMgD,IAAID,MAAMC,IAAID,MAAM,IAAIA,MAAM,IAAIA,EAAE,IAAIA,IAAIzV,EAAE0V,CAAC,EAAE,CAAC,IAAI,IAAI1V,EAAE0V,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,OAAO,IAAI,IAAIhD,IAAI,IAAI,IAAI,KAAKjB,IAAI,IAAI,IAAIiB,IAAI,IAAIA,GAAGgD,IAAI,IAAIhD,IAAI,IAAIgD,IAAIA,KAAKjE,IAAIiE,IAAI,IAAIhD,IAAIgD,IAAIhD,CAAC,IAAI,IAAI;AAAA,cAC9R;AACA,uBAASgD,IAAI,GAAGA,IAAI7C,IAAI6C,IAAK,UAAS,IAAI,GAAG,IAAI7C,IAAI,IAAK,CAAA7S,EAAE0V,CAAC,EAAE,CAAC,MAAMnD,GAAG,KAAKQ,KAAK,IAAIX,GAAGU,KAAK4C,IAAItD,GAAGA,GAAG,CAACoD,GAAGX,OAAO;AAClH,oBAAIH;AACJ,uBAAO,CAAC,EAAE,GAAGA,IAAI1U,EAAE0V,IAAIb,EAAE,OAAO,QAAQH,MAAM,WAAWA,EAAE,IAAIc,CAAC;AAAA,cAClE,CAAC,GAAGjD,GAAG,YAAY,KAAK,iBAAiB,KAAK,cAAc,YAAYA,GAAG,QAAQ;AAAA,YACrF;AAAA,UACF;AAAA,UACA,cAAc;AACZ,gBAAI,CAAC,KAAK,IAAK,OAAM;AACrB,kBAAMW,IAAI,KAAK,UAAU,IAAI,KAAK;AAClC,gBAAI,CAACA,EAAG,OAAM;AACd,kBAAM/R,IAAI,KAAK,IAAI,eAAc,GAAI2P,IAAI,KAAK,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,QAAQW,IAAI,EAAE,UAAUR,IAAIH,IAAI,KAAK,KAAK,CAAC,IAAIA,GAAGc,IAAI,KAAK,WAAWH,IAAItQ,CAAC,GAAG0Q,IAAI,IAAID,GAAGQ,IAAI,IAAIR,GAAGS,IAAI,KAAK,YAAY,EAAE,QAAQlR,IAAIyQ,KAAK,CAAC,GAAGU,IAAI,KAAK,YAAY,EAAE,SAASnR,IAAIyQ,KAAK,CAAC;AACvQ,aAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAACW,IAAIG,GAAGG,EAAE,MAAM;AAC9E,kBAAIE,IAAID,IAAI9S,GAAGyV,GAAGC,GAAG,GAAGF,GAAGX,IAAIH,GAAGnU,GAAGoU,GAAGC,GAAGpU,GAAGsU;AAC9C,oBAAMC,KAAI1C,IAAIE,KAAKX,KAAKzQ,IAAI,IAAI6T,KAAK1C,IAAII,IAAId,KAAKzQ,IAAI;AACtD,kBAAI8T,KAAK,KAAK,eAAeC,KAAI,KAAK;AACtC,mBAAK,GAAGnC,KAAK,EAAE,0BAA0B,QAAQA,OAAO,WAAWA,GAAG,YAAY,GAAGD,KAAK,EAAE,0BAA0B,QAAQA,OAAO,WAAWA,GAAG,WAAWmC,KAAK,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,UAAU,GAAGA,GAAG,aAAa,MAAM,kCAAkC1C,EAAE,IAAIG,CAAC,IAAI,KAAK,WAAW,EAAE,GAAG,KAAK,MAAM,YAAYuC,EAAE,GAAG,KAAK,yBAAyB,KAAK,sBAAsBC,KAAID,IAAI,KAAK,aAAa,EAAE,UAAUjV,IAAI,EAAE,0BAA0B,QAAQA,MAAM,SAAS,SAASA,EAAE,UAAU,QAAQyV,IAAI,EAAE,0BAA0B,QAAQA,MAAM,SAAS,SAASA,EAAE,OAAO,oBAAoB5C,IAAI,GAAGkC,IAAG,GAAGC,IAAI,QAAQnD,GAAG,OAAOA,GAAG,MAAM,wBAAwBU,EAAE,IAAIG,CAAC,IAAI,KAAK,WAAW,GAAE,CAAE,MAAMgD,IAAI,EAAE,0BAA0B,QAAQA,MAAM,SAAS,SAASA,EAAE,SAAS1C,EAAE,SAAS,EAAE,qBAAqB,IAAI,GAAG;AACn1B,sBAAMmC,KAAK,IAAI3C,EAAE,EAAE,KAAK,KAAK,UAAU,MAAM,EAAE,qBAAqB,MAAM,QAAQ,KAAK,QAAO,CAAE;AAChG,gBAAA2C,GAAG,KAAKJ,IAAGC,IAAInD,GAAGgB,EAAE,GAAGsC,GAAG,YAAYF,MAAMA,GAAG,YAAYE,GAAG,QAAQ;AAAA,cACxE,OAAO;AACL,sBAAMA,KAAK,IAAI1C,EAAE,EAAE,KAAK,KAAK,UAAU,QAAQ,IAAI,EAAE,0BAA0B,QAAQ,MAAM,SAAS,SAAS,EAAE,SAAS,EAAE,YAAY,MAAM,QAAQ,KAAK,QAAO,CAAE;AACpK,yBAAS2C,KAAK,GAAGA,KAAK7D,EAAE,QAAQ6D,KAAM,UAASG,KAAK,GAAGA,KAAKhE,EAAE6D,EAAE,EAAE,QAAQG,KAAM,IAAGC,IAAIjE,EAAE6D,EAAE,OAAO,QAAQI,MAAM,WAAWA,EAAED,EAAE,MAAMJ,GAAG,KAAKJ,KAAIQ,KAAK3D,GAAGoD,KAAKI,KAAKxD,GAAGA,GAAG,CAACyD,IAAIC,OAAO;AACnL,sBAAIgK;AACJ,yBAAO,CAAC,EAAE,GAAGA,KAAK/N,EAAE6D,KAAKE,EAAE,OAAO,QAAQgK,OAAO,WAAWA,GAAG/J,KAAKF,EAAE;AAAA,gBACxE,CAAC,GAAGF,GAAG,YAAYF,MAAMA,GAAG,YAAYE,GAAG,QAAQ;AAAA,cACrD;AACA,mBAAK,GAAGN,KAAK,EAAE,uBAAuB,QAAQA,OAAO,WAAWA,GAAG,YAAY,GAAGH,IAAI,EAAE,uBAAuB,QAAQA,MAAM,WAAWA,EAAE,WAAWQ,KAAI,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,UAAU,GAAGA,GAAE,aAAa,MAAM,+BAA+B3C,EAAE,IAAIG,CAAC,IAAI,KAAK,WAAW,EAAE,GAAG,KAAK,MAAM,YAAYwC,EAAC,GAAG,KAAK,sBAAsBA,IAAG,KAAK,aAAa,EAAE,UAAU3U,IAAI,EAAE,uBAAuB,QAAQA,MAAM,SAAS,SAASA,EAAE,UAAU,QAAQoU,IAAI,EAAE,uBAAuB,QAAQA,MAAM,SAAS,SAASA,EAAE,OAAO,oBAAoB9B,IAAI,GAAGkC,KAAI,IAAInD,GAAG,GAAGoD,KAAK,IAAIpD,GAAG,QAAQQ,GAAG,OAAOA,GAAG,MAAM,qBAAqBG,EAAE,IAAIG,CAAC,IAAI,KAAK,WAAW,IAAI,MAAMkC,IAAI,EAAE,uBAAuB,QAAQA,MAAM,SAAS,SAASA,EAAE,SAAS5D,EAAE,SAAS,EAAE,kBAAkB,IAAI,GAAG;AAClyB,sBAAMmE,KAAK,IAAI,EAAE,EAAE,KAAK,KAAK,UAAU,MAAM,EAAE,kBAAkB,MAAM,QAAQ,KAAK,QAAO,CAAE;AAC7F,gBAAAA,GAAG,KAAKJ,KAAI,IAAInD,GAAGoD,KAAK,IAAIpD,GAAGQ,GAAGS,EAAE,GAAGsC,GAAG,YAAYD,MAAKA,GAAE,YAAYC,GAAG,QAAQ;AAAA,cACtF,OAAO;AACL,sBAAMA,KAAK,IAAI1C,EAAE,EAAE,KAAK,KAAK,UAAU,QAAQjS,IAAI,EAAE,uBAAuB,QAAQA,MAAM,SAAS,SAASA,EAAE,SAAS,EAAE,YAAY,MAAM,QAAQ,KAAK,QAAO,CAAE;AACjK,yBAAS4U,KAAK,GAAGA,KAAK9D,EAAE,QAAQ8D,KAAM,UAASG,KAAK,GAAGA,KAAKjE,EAAE8D,EAAE,EAAE,QAAQG,KAAM,IAAGT,IAAIxD,EAAE8D,EAAE,OAAO,QAAQN,MAAM,WAAWA,EAAES,EAAE,MAAMJ,GAAG,KAAKJ,KAAIQ,KAAK3D,GAAGoD,KAAKI,KAAKxD,GAAGA,GAAG,CAACyD,IAAIC,OAAO;AACnL,sBAAIgK;AACJ,yBAAO,CAAC,EAAE,GAAGA,KAAKhO,EAAE8D,KAAKE,EAAE,OAAO,QAAQgK,OAAO,WAAWA,GAAG/J,KAAKF,EAAE;AAAA,gBACxE,CAAC,GAAGF,GAAG,YAAYD,MAAKA,GAAE,YAAYC,GAAG,QAAQ;AAAA,cACnD;AAAA,YACF,CAAC;AAAA,UACH;AAAA,UACA,YAAY;AACV,mBAAO,IAAI,QAAQ,CAACjC,GAAG,MAAM;AAC3B,kBAAI/R;AACJ,oBAAM2P,IAAI,KAAK;AACf,kBAAI,CAACA,EAAE,MAAO,QAAO,EAAE,sBAAsB;AAC7C,kBAAI,GAAG3P,IAAI2P,EAAE,gBAAgB,QAAQ3P,MAAM,WAAWA,EAAE,UAAW,CAAA2P,EAAE,WAAW,UAAUA,EAAE,KAAK,EAAE,KAAK,CAACW,MAAM;AAC7G,oBAAIG,GAAGC;AACP,oBAAI,KAAK,SAASJ,GAAG,KAAK,SAAS,aAAa,YAAY;AAC1D,wBAAMW,KAAKR,IAAId,EAAE,gBAAgB,QAAQc,MAAM,SAAS,SAASA,EAAE,aAAa,KAAK,OAAO,OAAO,KAAK,OAAO,MAAM;AACrH,mBAACC,IAAyBO,GAAE,WAAW,IAAI,OAAO,QAAQP,MAAM,UAAUA,EAAE,UAAUJ,GAAG,GAAG,CAAC,GAAG,KAAK,YAAiCW,GAAE,UAAS;AAAA,gBACnJ;AACA,gBAAAc,EAAC;AAAA,cACH,CAAC,EAAE,MAAM,CAAC;AAAA,mBACL;AACH,sBAAMzB,IAAI,IAAI,KAAK,QAAQ,MAAK;AAChC,uBAAOX,EAAE,aAAa,eAAe,aAAaW,EAAE,cAAcX,EAAE,aAAa,cAAc,KAAK,SAASW,GAAGA,EAAE,SAAS,YAAY;AACrI,uBAAK,SAAS,aAAa,eAAe,KAAK,YAAY,OAAM,eAAeG,GAAGC,GAAG;AACpF,2BAAO,IAAI,QAAQ,CAACO,MAAM;AACxB,4BAAMC,IAAI,IAAIR,EAAE,eAAc;AAC9B,sBAAAQ,EAAE,SAAS,WAAW;AACpB,8BAAMC,IAAI,IAAIT,EAAE,WAAU;AAC1B,wBAAAS,EAAE,YAAY,WAAW;AACvB,0BAAAF,EAAEE,EAAE,MAAM;AAAA,wBACZ,GAAGA,EAAE,cAAcD,EAAE,QAAQ;AAAA,sBAC/B,GAAGA,EAAE,KAAK,OAAOT,CAAC,GAAGS,EAAE,eAAe,QAAQA,EAAE,KAAI;AAAA,oBACtD,CAAC;AAAA,kBACH,GAAEvB,EAAE,SAAS,IAAI,KAAK,OAAO,IAAIoC,EAAC;AAAA,gBACpC,GAAGzB,EAAE,MAAMX,EAAE;AAAA,cACf;AAAA,YACF,CAAC;AAAA,UACH;AAAA,UACA,MAAM,UAAU,EAAE,OAAOoC,GAAG,QAAQ,GAAG,OAAO/R,GAAG,SAAS2P,KAAK;AAC7D,kBAAMW,IAAI,KAAK,UAAUG,IAAI,KAAK,YAAYH,EAAE,QAAQtQ,IAAI2P,KAAK,CAAC,GAAGe,IAAI,KAAK,YAAYJ,EAAE,SAAStQ,IAAI2P,KAAK,CAAC,GAAGsB,IAAIR,IAAI,KAAK,WAAWH,EAAE,aAAa,UAAUtQ,IAAI2P,IAAIoC,KAAK,CAAC,GAAGb,IAAIR,IAAI,KAAK,WAAWJ,EAAE,aAAa,UAAUtQ,IAAI2P,IAAI,KAAK,CAAC,GAAGwB,IAAIY,IAAI,IAAIzB,EAAE,aAAa,QAAQc,KAAK,IAAI,IAAId,EAAE,aAAa,QAAQiB,IAAI,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,OAAO;AAC5Y,YAAAA,EAAE,aAAa,QAAQ,KAAK,aAAa,EAAE,GAAGA,EAAE,aAAa,cAAc,KAAK,aAAa,EAAE,GAAGA,EAAE,aAAa,KAAK,OAAON,CAAC,CAAC,GAAGM,EAAE,aAAa,KAAK,OAAOL,CAAC,CAAC,GAAGK,EAAE,aAAa,SAAS,GAAGJ,CAAC,IAAI,GAAGI,EAAE,aAAa,UAAU,GAAGH,EAAE,IAAI,GAAG,KAAK,SAAS,YAAYG,CAAC;AAAA,UACvQ;AAAA,UACA,aAAa,EAAE,SAASQ,GAAG,OAAO,GAAG,oBAAoB/R,GAAG,GAAG2P,GAAG,GAAGW,GAAG,QAAQG,GAAG,OAAOC,GAAG,MAAMO,KAAK;AACtG,kBAAMC,IAAIR,IAAID,IAAIC,IAAID,GAAGU,IAAI,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,MAAM;AACvG,gBAAIA,EAAE,aAAa,KAAK,OAAOxB,CAAC,CAAC,GAAGwB,EAAE,aAAa,KAAK,OAAOb,CAAC,CAAC,GAAGa,EAAE,aAAa,UAAU,OAAOV,CAAC,CAAC,GAAGU,EAAE,aAAa,SAAS,OAAOT,CAAC,CAAC,GAAGS,EAAE,aAAa,aAAa,mBAAmBF,CAAC,IAAI,GAAGc,GAAG;AACrM,kBAAIX;AACJ,kBAAIW,EAAE,SAAS,SAAU,CAAAX,KAAK,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,gBAAgB,GAAGA,GAAG,aAAa,MAAMH,CAAC,GAAGG,GAAG,aAAa,iBAAiB,gBAAgB,GAAGA,GAAG,aAAa,MAAM,OAAOzB,IAAIe,IAAI,CAAC,CAAC,GAAGU,GAAG,aAAa,MAAM,OAAOd,IAAIG,IAAI,CAAC,CAAC,GAAGW,GAAG,aAAa,MAAM,OAAOzB,IAAIe,IAAI,CAAC,CAAC,GAAGU,GAAG,aAAa,MAAM,OAAOd,IAAIG,IAAI,CAAC,CAAC,GAAGW,GAAG,aAAa,KAAK,OAAOF,IAAI,CAAC,CAAC;AAAA,mBACxY;AACH,sBAAMK,MAAMQ,EAAE,YAAY,KAAK/R,MAAM,IAAI,KAAK,KAAK0R,MAAMH,IAAI,IAAI,KAAK,OAAO,IAAI,KAAK;AACtF,oBAAIK,KAAKjC,IAAIe,IAAI,GAAGiB,KAAKrB,IAAIG,IAAI,GAAG5R,IAAI8Q,IAAIe,IAAI,GAAG4D,IAAIhE,IAAIG,IAAI;AAC/D,gBAAAiB,MAAM,KAAKA,MAAM,OAAO,KAAK,MAAMA,KAAK,OAAO,KAAK,MAAMA,MAAM,IAAI,KAAK,MAAME,MAAMlB,IAAI,GAAGiB,MAAMlB,IAAI,IAAI,KAAK,IAAIc,CAAC,GAAG1S,KAAK6R,IAAI,GAAG4D,KAAK7D,IAAI,IAAI,KAAK,IAAIc,CAAC,KAAKG,KAAK,OAAO,KAAK,MAAMA,MAAM,OAAO,KAAK,MAAMC,MAAMlB,IAAI,GAAGmB,MAAMlB,IAAI,IAAI,KAAK,IAAIa,CAAC,GAAG+C,KAAK7D,IAAI,GAAG5R,KAAK6R,IAAI,IAAI,KAAK,IAAIa,CAAC,KAAKG,KAAK,OAAO,KAAK,MAAMA,MAAM,OAAO,KAAK,MAAME,MAAMlB,IAAI,GAAGiB,MAAMlB,IAAI,IAAI,KAAK,IAAIc,CAAC,GAAG1S,KAAK6R,IAAI,GAAG4D,KAAK7D,IAAI,IAAI,KAAK,IAAIc,CAAC,KAAKG,KAAK,OAAO,KAAK,MAAMA,MAAM,OAAO,KAAK,OAAOC,MAAMlB,IAAI,GAAGmB,MAAMlB,IAAI,IAAI,KAAK,IAAIa,CAAC,GAAG+C,KAAK7D,IAAI,GAAG5R,KAAK6R,IAAI,IAAI,KAAK,IAAIa,CAAC,IAAIH,KAAK,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,gBAAgB,GAAGA,GAAG,aAAa,MAAMH,CAAC,GAAGG,GAAG,aAAa,iBAAiB,gBAAgB,GAAGA,GAAG,aAAa,MAAM,OAAO,KAAK,MAAMQ,EAAE,CAAC,CAAC,GAAGR,GAAG,aAAa,MAAM,OAAO,KAAK,MAAMO,EAAE,CAAC,CAAC,GAAGP,GAAG,aAAa,MAAM,OAAO,KAAK,MAAMvS,CAAC,CAAC,CAAC,GAAGuS,GAAG,aAAa,MAAM,OAAO,KAAK,MAAMkD,CAAC,CAAC,CAAC;AAAA,cAC/3B;AACA,cAAAvC,EAAE,WAAW,QAAQ,CAAC,EAAE,QAAQR,GAAG,OAAOG,SAAS;AACjD,sBAAME,KAAK,KAAK,QAAQ,SAAS,gBAAgB,8BAA8B,MAAM;AACrF,gBAAAA,GAAG,aAAa,UAAU,MAAML,IAAI,GAAG,GAAGK,GAAG,aAAa,cAAcF,EAAE,GAAGN,GAAG,YAAYQ,EAAE;AAAA,cAChG,CAAC,GAAGT,EAAE,aAAa,QAAQ,SAASF,CAAC,IAAI,GAAG,KAAK,MAAM,YAAYG,EAAE;AAAA,YACvE,MAAO,MAAKD,EAAE,aAAa,QAAQ,CAAC;AACpC,iBAAK,SAAS,YAAYA,CAAC;AAAA,UAC7B;AAAA,QACV;AACQ,QAAAd,EAAE,gBAAgB;AAClB,cAAMN,IAAKM,GAAGL,KAAK,UAAUO,IAAK,CAAA;AAClC,iBAASQ,IAAI,GAAGA,KAAK,IAAIA,IAAK,CAAAR,EAAGQ,CAAC,IAAIA;AACtC,cAAMP,IAAK,EAAE,MAAMR,IAAI,OAAO,UAAU,OAAO,KAAK,QAAQ,KAAK,MAAM,IAAI,QAAQ,GAAG,WAAW,EAAE,YAAYO,EAAG,CAAC,GAAG,MAAM,QAAQ,sBAAsB,IAAG,GAAI,cAAc,EAAE,YAAY,IAAI,oBAAoB,IAAI,WAAW,KAAK,aAAa,QAAQ,QAAQ,EAAC,GAAI,aAAa,EAAE,MAAM,UAAU,OAAO,QAAQ,WAAW,GAAE,GAAI,mBAAmB,EAAE,OAAO,GAAG,OAAO,OAAM,EAAE;AACxX,iBAASN,EAAGc,GAAG;AACb,gBAAMgB,IAAI,OAAO,OAAO,CAAA,GAAIhB,CAAC;AAC7B,cAAI,CAACgB,EAAE,cAAc,CAACA,EAAE,WAAW,OAAQ,OAAM;AACjD,iBAAOA,EAAE,WAAWA,EAAE,WAAW,OAAOA,EAAE,QAAQ,IAAIA,EAAE,WAAW,GAAGA,EAAE,aAAaA,EAAE,WAAW,IAAI,CAAC,MAAM,OAAO,OAAO,OAAO,OAAO,CAAA,GAAI,CAAC,GAAG,EAAE,QAAQ,OAAO,EAAE,MAAM,EAAC,CAAE,CAAC,GAAGA;AAAA,QACnL;AACA,iBAASnC,EAAGmB,GAAG;AACb,gBAAMgB,IAAI,OAAO,OAAO,CAAA,GAAIhB,CAAC;AAC7B,iBAAOgB,EAAE,QAAQ,OAAOA,EAAE,KAAK,GAAGA,EAAE,SAAS,OAAOA,EAAE,MAAM,GAAGA,EAAE,SAAS,OAAOA,EAAE,MAAM,GAAGA,EAAE,eAAe,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIA,EAAE,YAAY,GAAG,EAAE,oBAAoB,CAAC,CAACA,EAAE,aAAa,oBAAoB,WAAW,OAAOA,EAAE,aAAa,SAAS,GAAG,QAAQ,OAAOA,EAAE,aAAa,MAAM,GAAG,GAAGA,EAAE,SAAS,KAAK,IAAIA,EAAE,OAAOA,EAAE,MAAM,MAAMA,EAAE,SAAS,KAAK,IAAIA,EAAE,OAAOA,EAAE,MAAM,IAAIA,EAAE,cAAc,OAAO,OAAO,CAAA,GAAIA,EAAE,WAAW,GAAGA,EAAE,YAAY,aAAaA,EAAE,YAAY,WAAW9B,EAAG8B,EAAE,YAAY,QAAQ,IAAIA,EAAE,yBAAyBA,EAAE,uBAAuB,OAAO,OAAO,CAAA,GAAIA,EAAE,oBAAoB,GAAGA,EAAE,qBAAqB,aAAaA,EAAE,qBAAqB,WAAW9B,EAAG8B,EAAE,qBAAqB,QAAQ,KAAKA,EAAE,sBAAsBA,EAAE,oBAAoB,OAAO,OAAO,CAAA,GAAIA,EAAE,iBAAiB,GAAGA,EAAE,kBAAkB,aAAaA,EAAE,kBAAkB,WAAW9B,EAAG8B,EAAE,kBAAkB,QAAQ,KAAKA,EAAE,sBAAsBA,EAAE,oBAAoB,OAAO,OAAO,CAAA,GAAIA,EAAE,iBAAiB,GAAGA,EAAE,kBAAkB,aAAaA,EAAE,kBAAkB,WAAW9B,EAAG8B,EAAE,kBAAkB,QAAQ,KAAKA;AAAA,QACzkC;AACA,YAAIpB,IAAK,EAAE,GAAG,GAAGC,KAAK,EAAE,EAAED,CAAE;AAC5B,iBAASa,EAAGT,GAAG;AACb,cAAI,CAACA,EAAG,OAAM,IAAI,MAAM,2BAA2B;AACnD,UAAAA,EAAE,CAAC,MAAM,QAAQA,IAAIA,EAAE,UAAU,CAAC;AAClC,gBAAMgB,IAAI,EAAE,KAAK,aAAa,KAAK,aAAa,KAAK,4BAA4B,MAAM,cAAc,KAAK,cAAc,KAAK,aAAa,KAAK,iBAAiB,KAAK,cAAc,MAAM,cAAc,MAAM,cAAc,KAAK,kBAAiB,EAAGhB,EAAE,YAAW,CAAE;AACnQ,cAAI,CAACgB,EAAG,OAAM,IAAI,MAAM,cAAchB,CAAC,oBAAoB;AAC3D,iBAAOgB;AAAA,QACT;AAAA,QACA,MAAM/F,EAAE;AAAA,UACN,YAAY+F,GAAG;AACb,YAAAA,KAAK,QAAQA,EAAE,QAAQ,KAAK,UAAU,IAAIA,EAAE,MAAM,IAAI,EAAE,WAAW,SAAQ,CAAE,EAAE,SAAS,KAAK,UAAU,QAAQ,KAAK,WAAWA,IAAInC,EAAGL,EAAEiB,GAAIuB,CAAC,CAAC,IAAIvB,GAAI,KAAK,OAAM;AAAA,UACnK;AAAA,UACA,OAAO,gBAAgBuB,GAAG;AACxB,YAAAA,MAAMA,EAAE,YAAY;AAAA,UACtB;AAAA,UACA,YAAY;AACV,gBAAI,CAAC,KAAK,IAAK;AACf,kBAAMA,IAAI,IAAIhC,EAAG,KAAK,UAAU,KAAK,OAAO;AAC5C,iBAAK,OAAOgC,EAAE,WAAU,GAAI,KAAK,qBAAqBA,EAAE,OAAO,KAAK,GAAG,EAAE,KAAK,MAAM;AAClF,kBAAI;AACJ,mBAAK,UAAU,IAAI,KAAK,gBAAgB,QAAQ,MAAM,UAAU,EAAE,KAAK,MAAMA,EAAE,WAAU,GAAI,KAAK,QAAQ;AAAA,YAC5G,CAAC;AAAA,UACH;AAAA,UACA,eAAe;AACb,gBAAIA,GAAG;AACP,iBAAK,QAAQ,GAAGA,IAAI,KAAK,SAAS,gBAAgB,QAAQA,MAAM,WAAWA,EAAE,gBAAgB,KAAK,cAAc,KAAK,SAAS,WAAW,aAAa,KAAK,SAAS,OAAO,KAAK,SAAS,MAAM,GAAG,KAAK,YAAY,QAAQ,KAAK,SAAS,OAAO,KAAK,YAAY,SAAS,KAAK,SAAS,WAAW,KAAK,aAAa,SAAS,cAAc,QAAQ,GAAG,KAAK,WAAW,QAAQ,KAAK,SAAS,OAAO,KAAK,WAAW,SAAS,KAAK,SAAS,SAAS,KAAK,UAAS,GAAI,KAAK,yBAAyB,IAAI,KAAK,wBAAwB,QAAQ,MAAM,SAAS,SAAS,EAAE,KAAK,MAAM;AAChjB,kBAAI/R;AACJ,kBAAI,CAAC,KAAK,KAAM;AAChB,oBAAM2P,IAAI,KAAK,MAAMW,IAAI,IAAI,KAAK,QAAQ,gBAAgB,kBAAkBX,CAAC,GAAGc,IAAI,KAAKH,CAAC,GAAGI,IAAI,QAAQc,EAAG,KAAK,CAAC,WAAWf,CAAC;AAC9H,kBAAI,GAAGzQ,IAAI,KAAK,SAAS,gBAAgB,QAAQA,MAAM,WAAWA,EAAE,UAAW,QAAO,KAAK,SAAS,WAAW,UAAU0Q,CAAC,EAAE,KAAK,CAACO,MAAM;AACtI,oBAAIC,GAAGC;AACP,gBAAAF,EAAE,QAAQ,KAAK,SAAS,OAAOA,EAAE,SAAS,KAAK,SAAS,SAASE,KAAKD,IAAI,KAAK,iBAAiB,QAAQA,MAAM,SAAS,SAASA,EAAE,WAAW,IAAI,OAAO,QAAQC,MAAM,UAAUA,EAAE,UAAUF,GAAG,GAAG,CAAC;AAAA,cACrM,CAAC;AACD;AACE,sBAAMA,IAAI,IAAI,KAAK,QAAQ,MAAK;AAChC,uBAAO,IAAI,QAAQ,CAACC,MAAM;AACxB,kBAAAD,EAAE,SAAS,MAAM;AACf,wBAAIE,GAAGC;AACP,qBAACA,MAAMD,IAAI,KAAK,gBAAgB,QAAQA,MAAM,SAAS,SAASA,EAAE,WAAW,IAAI,OAAO,QAAQC,OAAO,UAAUA,GAAG,UAAUH,GAAG,GAAG,CAAC,GAAGC,EAAC;AAAA,kBAC3I,GAAGD,EAAE,MAAMP;AAAA,gBACb,CAAC;AAAA,cACH;AAAA,YACF,CAAC;AAAA,UACH;AAAA,UACA,MAAM,YAAYqB,IAAI,OAAO;AAC3B,gBAAI,CAAC,KAAK,IAAK,OAAM;AACrB,mBAAOA,EAAE,YAAW,MAAO,SAAS,KAAK,QAAQ,KAAK,sBAAsB,KAAK,UAAS,GAAI,MAAM,KAAK,oBAAoB,KAAK,UAAU,KAAK,cAAc,KAAK,gBAAgB,KAAK,yBAAyB,KAAK,aAAY,GAAI,MAAM,KAAK,uBAAuB,KAAK,cAAc,KAAK;AAAA,UACnS;AAAA,UACA,OAAOA,GAAG;AACR,YAAA/F,EAAE,gBAAgB,KAAK,UAAU,GAAG,KAAK,WAAW+F,IAAInC,EAAGL,EAAE,KAAK,UAAUwC,CAAC,CAAC,IAAI,KAAK,UAAU,KAAK,SAAS,SAAS,KAAK,MAAMnB,GAAE,EAAG,KAAK,SAAS,UAAU,YAAY,KAAK,SAAS,UAAU,oBAAoB,GAAG,KAAK,IAAI,QAAQ,KAAK,SAAS,MAAM,KAAK,SAAS,UAAU,SAAQ,SAAS,GAAG;AAC1S,sBAAQ,IAAE;AAAA,gBACR,KAAK,WAAW,KAAK,CAAC;AACpB,yBAAO;AAAA,gBACT,KAAK,wBAAwB,KAAK,CAAC;AACjC,yBAAO;AAAA,gBACT;AACE,yBAAO;AAAA,cACzB;AAAA,YACY,GAAE,KAAK,SAAS,IAAI,CAAC,GAAG,KAAK,IAAI,QAAQ,KAAK,SAAS,SAASZ,KAAK,KAAK,aAAY,IAAK,KAAK,aAAa,KAAK,OAAO,KAAK,UAAU;AAAA,UAC1I;AAAA,UACA,OAAO+B,GAAG;AACR,gBAAIA,GAAG;AACL,kBAAI,OAAOA,EAAE,eAAe,WAAY,OAAM;AAC9C,mBAAK,SAAS,SAAS/B,KAAK,KAAK,cAAc+B,EAAE,YAAY,KAAK,UAAU,IAAI,KAAK,QAAQA,EAAE,YAAY,KAAK,IAAI,GAAG,KAAK,aAAaA;AAAA,YAC3I;AAAA,UACF;AAAA,UACA,eAAeA,GAAG;AAChB,gBAAI,CAACA,EAAG,OAAM;AACd,iBAAK,aAAaA,GAAG,KAAK,OAAM;AAAA,UAClC;AAAA,UACA,kBAAkB;AAChB,iBAAK,aAAa,QAAQ,KAAK,OAAM;AAAA,UACvC;AAAA,UACA,MAAM,WAAWA,IAAI,OAAO;AAC1B,gBAAI,CAAC,KAAK,IAAK,OAAM;AACrB,kBAAM,IAAI,MAAM,KAAK,YAAYA,CAAC,GAAG/R,IAAIwR,EAAGO,CAAC;AAC7C,gBAAI,CAAC,EAAG,QAAO;AACf,gBAAIA,EAAE,YAAW,MAAO,OAAO;AAC7B,oBAAMpC,IAAI;AAAA,EACtB,IAAI,KAAK,QAAQ,cAAa,EAAG,kBAAkB,CAAC,CAAC;AACzC,qBAAO,OAAO,OAAO,OAAO,KAAK,SAAS,QAAQ,OAAO,KAAKA,CAAC,IAAI,IAAI,KAAK,CAACA,CAAC,GAAG,EAAE,MAAM3P,GAAG;AAAA,YAC9F;AACA,mBAAO,IAAI,QAAQ,CAAC2P,MAAM;AACxB,oBAAMW,IAAI;AACV,kBAAI,cAAcA,EAAG,KAAItQ,MAAM,YAAa,CAAA2P,EAAEW,EAAE,SAAStQ,CAAC,CAAC;AAAA,uBAClDA,MAAM,aAAc,CAAA2P,EAAEW,EAAE,SAAStQ,CAAC,CAAC;AAAA,mBACvC;AACH,oBAAIA,MAAM,kBAAmB,OAAM,MAAM,uBAAuB;AAChE,gBAAA2P,EAAEW,EAAE,SAAStQ,CAAC,CAAC;AAAA,cACjB;AAAA,kBACK,aAAYsQ,KAAKA,EAAE,OAAOX,GAAG3P,GAAG,CAAC;AAAA,YACxC,CAAC;AAAA,UACH;AAAA,UACA,MAAM,SAAS+R,GAAG;AAChB,gBAAI,CAAC,KAAK,IAAK,OAAM;AACrB,gBAAI,OAAO,OAAO,IAAK,OAAM;AAC7B,gBAAI,IAAI,OAAO/R,IAAI;AACnB,mBAAO+R,KAAK,YAAY,IAAIA,GAAG,QAAQ,KAAK,6HAA6H,KAAK,OAAOA,KAAK,YAAYA,MAAM,SAASA,EAAE,SAAS/R,IAAI+R,EAAE,OAAOA,EAAE,cAAc,IAAIA,EAAE;AACnQ,kBAAMpC,IAAI,MAAM,KAAK,YAAY,CAAC;AAClC,gBAAIA,EAAG,KAAI,EAAE,YAAW,MAAO,OAAO;AACpC,kBAAIW,IAAI,IAAI,gBAAgB,kBAAkBX,CAAC;AAC/C,cAAAW,IAAI;AAAA,IACdA,GAAGQ,EAAE,QAAQU,EAAG,CAAC,CAAC,kBAAkB,mBAAmBlB,CAAC,CAAC,IAAI,GAAGtQ,CAAC,MAAM;AAAA,YAC/D,MAAO,CAAA8Q,EAAEnB,EAAE,UAAU6B,EAAG,CAAC,CAAC,GAAG,GAAGxR,CAAC,IAAI,CAAC,EAAE;AAAA,UAC1C;AAAA,QACV;AACQ,cAAM6Q,IAAI7E;AAAA,MACZ,GAAC,GAAK9L,EAAE;AAAA,IACV,IAAI;AAAA,EACN,GAAE6d,EAAE,IAAIA,GAAG;AACb;AACSG,GAAE;AC9lOJ,MAAMK,KAAmBC,GAAiCC,MAAS;AAEnE,SAAAC,GAAAC,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,CAAA,GAA2B;AAAA,IAAAjT,UAAAA;AAAAA,IAAAkT,SAAAA;AAAAA,IAAA/R,aAAAA;AAAAA,EAAAA,IAAA4R;AAIV,MAAAI;AAAA,EAAAH,EAAA,CAAA,MAAAE,KAAAF,SAAA7R,KAEcgS,IAAA;AAAA,IAAAD,SAAAA;AAAAA,IAAA/R,aAAAA;AAAAA,EAAAA,GAAwB6R,OAAAE,GAAAF,OAAA7R,GAAA6R,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAI;AAAA,EAAAJ,EAAA,CAAA,MAAAhT,KAAAgT,SAAA7R,KACxDiS,IAAA/R,gBAAAA,EAAAA,IAACD,IAAA,EAA4BD,QAAAA,GAAcnB,UAAAA,GAAS,GAAsBgT,OAAAhT,GAAAgT,OAAA7R,GAAA6R,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAAA,MAAAK;AAAA,SAAAL,EAAA,CAAA,MAAAG,KAAAH,SAAAI,KAD5EC,0BAAAV,GAAA,UAAA,EAAkC,OAAAQ,GAChCC,UAAAA,GACF,GAA4BJ,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAK,KAAAA,IAAAL,EAAA,CAAA,GAF5BK;AAE4B;ACrBzB,SAAAC,KAAA;AACL,QAAAxW,IAAgByW,GAAAZ,EAA2B;AAAE,MAAA,CAExC7V;AAAO,UAAA,IAAA0W,MACM,sDAAsD;AAAA,SAGjE1W;AAAO;ACTT,SAAS2W,GAAc3e,GAAmE;AAC/F,MAAI,OAAOA,KAAU;AACnB,QAAI;AACF,YAAM4e,IAASC,KAAKC,MAAM9e,CAAK;AAC/B,aAAO;AAAA,QACL+e,SAASH,EAAOG,WAAW/e;AAAAA,QAC3Bgf,MAAMJ,EAAOI;AAAAA,QACbC,SAASL,EAAOK;AAAAA,MAAAA;AAAAA,IAEpB,QAAQ;AACN,aAAO;AAAA,QAAEF,SAAS/e;AAAAA,MAAAA;AAAAA,IACpB;AAEF,SAAIA,aAAiB0e,QACZ;AAAA,IAAEK,SAAS/e,EAAM+e;AAAAA,EAAAA,IAEnB;AAAA,IAAEA,SAAS;AAAA,EAAA;AACpB;AAGA,eAAeG,GAAgBC,GAAgC;AAG7D,QAAMC,IAAe,MAAMD,EAAKE,KAAAA;AAEhC,MAAI,CAACD;AAEH,UAAM,IAAIV,MAAM,QAAQS,EAAKrZ,MAAM,KAAKqZ,EAAKG,UAAU,EAAE;AAI3D,MAAIC,IAA2E;AAC/E,MAAI;AACFA,IAAAA,IAAYV,KAAKC,MAAMM,CAAY;AAAA,EACrC,QAAQ;AAEN,UAAM,IAAIV,MAAMU,CAAY;AAAA,EAC9B;AAGA,QAAIG,GAAWR,UACP,IAAIL,MAAMa,EAAUR,OAAO,IACxBQ,GAAWvf,QACd,IAAI0e,MAAMa,EAAUvf,KAAK,IAGzB,IAAI0e,MAAMU,CAAY;AAEhC;AAWA,SAASI,KAA4B;AACnC,QAAMC,IAAMC,aAAaC,QAAQ,kBAAkB;AACnD,SAAOF,IAAM;AAAA,IAAE,gBAAgBA;AAAAA,EAAAA,IAAQ,CAAA;AACzC;AAEA,eAAsBG,KAAgB;AACpC,SAAO;AAAA,IACL,gBAAgB;AAAA,IAChBC,eAAe,UAAW,MAAMC,GAAAA,KAAiB,EAAE;AAAA,IACnD,GAAGN,GAAAA;AAAAA,EAAa;AAEpB;AAEA,eAAsBO,GAA6BC,GAA4B;AAC7E,SAAOC,MAAMD,GAAM;AAAA,IACjBE,QAAQ;AAAA,IACRC,SAAS,MAAMP,GAAAA;AAAAA,EAAc,CAC9B,EACEQ,KAAK,OAAOjB,OACPA,EAAKrZ,UAAU,OACjB,MAAMoZ,GAAgBC,CAAI,GAErBA,EACR,EACAiB,KAAMjB,CAAAA,MAASA,EAAKkB,MAAM,EAC1BD,KAAMtgB,CAAAA,MAASA,CAAW;AAC/B;AAEA,eAAsBwgB,GACpBN,GACAO,GACY;AACZ,SAAON,MAAM,GAAGD,CAAI,IAAIO,CAAE,IAAI;AAAA,IAC5BL,QAAQ;AAAA,IACRC,SAAS,MAAMP,GAAAA;AAAAA,EAAc,CAC9B,EACEQ,KAAK,OAAOjB,OACPA,EAAKrZ,UAAU,OACjB,MAAMoZ,GAAgBC,CAAI,GAErBA,EACR,EACAiB,KAAMjB,CAAAA,MAASA,EAAKkB,MAAM,EAC1BD,KAAMtgB,CAAAA,MAASA,CAAS;AAC7B;AAEA,eAAsB0gB,GACpBR,GACAO,GACe;AACf,QAAMpB,IAAO,MAAMc,MAAM,GAAGD,CAAI,IAAIO,CAAE,IAAI;AAAA,IACxCL,QAAQ;AAAA,IACRC,SAAS,MAAMP,GAAAA;AAAAA,EAAc,CAC9B;AAED,EAAIT,EAAKrZ,UAAU,OACjB,MAAMoZ,GAAgBC,CAAI;AAE9B;AAEA,eAAsBsB,GACpBT,GACAU,GACY;AACZ,SAAOT,MAAMD,GAAM;AAAA,IACjBE,QAAQ;AAAA,IACRC,SAAS,MAAMP,GAAAA;AAAAA,IACfe,MAAM9B,KAAK+B,UAAUF,CAAI;AAAA,EAAA,CAC1B,EACEN,KAAK,OAAOjB,OACPA,EAAKrZ,UAAU,OACjB,MAAMoZ,GAAgBC,CAAI,GAErBA,EACR,EACAiB,KAAMjB,CAAAA,MACDA,EAAKrZ,UAAU,MACV4a,IAEAvB,EAAKkB,KAAAA,CAEf,EACAD,KAAMtgB,CAAAA,MAASA,CAAS;AAC7B;AAEA,eAAsB+gB,GACpBX,GACAF,GACAc,GACY;AACZ,SAAOb,MAAMD,GAAM;AAAA,IACjBE,QAAAA;AAAAA,IACAC,SAAS,MAAMP,GAAAA;AAAAA,IACfe,MAAMG,IAAUjC,KAAK+B,UAAUE,CAAO,IAAI/C;AAAAA,EAAAA,CAC3C,EACEqC,KAAK,OAAOjB,OACPA,EAAKrZ,UAAU,OACjB,MAAMoZ,GAAgBC,CAAI,GAErBA,EACR,EACAiB,KAAMjB,CAAAA,MAAS;AACd,QAAIA,EAAKrZ,UAAU;AAGjB,aAAOqZ,EAAKkB,KAAAA;AAAAA,EAEhB,CAAC,EACAD,KAAMtgB,CAAAA,MAASA,CAAS;AAC7B;AAEA,eAAsBihB,GACpBf,GACAU,GACY;AACZ,SAAOT,MAAM,GAAGD,CAAI,IAAIU,EAAKH,EAAE,IAAI;AAAA,IACjCL,QAAQ;AAAA,IACRC,SAAS,MAAMP,GAAAA;AAAAA,IACfe,MAAM9B,KAAK+B,UAAUF,CAAI;AAAA,EAAA,CAC1B,EACEN,KAAK,OAAOjB,OACPA,EAAKrZ,UAAU,OACjB,MAAMoZ,GAAgBC,CAAI,GAErBA,EACR,EACAiB,KAAMjB,CAAAA,MACDA,EAAKrZ,UAAU,MACV4a,IAEAvB,EAAKkB,KAAAA,CAEf,EACAD,KAAMtgB,CAAAA,MAASA,CAAS;AAC7B;AAEO,SAAAkhB,GAAAC,GAAA/iB,GAAAqiB,GAAA;AAAA,QAAArC,IAAAC,GAAAA,EAAA,EAAA,GAKL;AAAA,IAAAC,SAAAA;AAAAA,EAAAA,IAAoBI,GAAAA;AAAe,MAAAP;AAAA,MAAAC,EAAA,CAAA,MAAAqC,KAAArC,SAAAhgB,GAAA;AAAA,QAAAmgB;AAAA,IAAAH,SAAAqC,KAEuBlC,IAAAkC,GAAEW,SAAAA,GAAYhD,OAAAqC,GAAArC,OAAAG,KAAAA,IAAAH,EAAA,CAAA,GAA5DD,IAAA,CAAA,GAAI/f,EAAQijB,IAAAC,EAAwB,GAAGC,OAAOhD,CAAc,CAAC,GAACH,OAAAqC,GAAArC,OAAAhgB,GAAAggB,OAAAD;AAAAA,EAAA;AAAAA,IAAAA,IAAAC,EAAA,CAAA;AAAA,MAAAG;AAAA,EAAAH,EAAA,CAAA,MAAA+C,KAAA/C,SAAAE,KAAAF,EAAA,CAAA,MAAAqC,KAC/DlC,IAAAA,MAAMiC,GAAU,GAAGlC,CAAO,GAAG6C,CAAO,IAAIV,CAAG,GAACrC,OAAA+C,GAAA/C,OAAAE,GAAAF,OAAAqC,GAAArC,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAC5C,QAAAI,MAAEiC;AAAE,MAAAhC;AAAA,SAAAL,EAAA,CAAA,MAAAD,KAAAC,UAAAG,KAAAH,EAAA,EAAA,MAAAI,KAHIC,IAAA;AAAA,IAAArgB,UACP+f;AAAAA,IAA8DqD,SAC/DjD;AAAAA,IAA4CrgB,SAC5CsgB;AAAAA,EAAAA,GACVJ,OAAAD,GAAAC,QAAAG,GAAAH,QAAAI,GAAAJ,QAAAK,KAAAA,IAAAL,EAAA,EAAA,GAJMlQ,GAAYuQ,CAIlB;AAAC;AAVG,SAAA6C,GAAA9V,GAAA;AAAA,SAO+BA,EAAC4V,SAAAA;AAAW;AAM3C,SAAAK,GAAAN,GAAA/iB,GAAA+f,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,CAAA,GAGLngB,IAAAigB,MAAuBF,cAAvBE,GAEA;AAAA,IAAAG,SAAAA;AAAAA,EAAAA,IAAoBI,GAAAA;AAAe,MAAAH;AAAA,EAAAH,SAAAhgB,KAEvBmgB,QAAIngB,EAAQijB,IAAAK,EAAwB,CAAC,GAACtD,OAAAhgB,GAAAggB,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAI;AAAA,EAAAJ,EAAA,CAAA,MAAA+C,KAAA/C,SAAAE,KACvCE,IAAAA,MAAMyB,GAAU,GAAG3B,CAAO,GAAG6C,CAAO,EAAE,GAAC/C,OAAA+C,GAAA/C,OAAAE,GAAAF,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAAA,MAAAK;AAAA,SAAAL,EAAA,CAAA,MAAAlgB,KAAAkgB,SAAAG,KAAAH,EAAA,CAAA,MAAAI,KAF7BC,IAAA;AAAA,IAAArgB,UACTmgB;AAAAA,IAAsCiD,SACvChD;AAAAA,IAAuCtgB,SAAAA;AAAAA,EAAAA,GAEjDkgB,OAAAlgB,GAAAkgB,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAK,KAAAA,IAAAL,EAAA,CAAA,GAJMlQ,GAAcuQ,CAIpB;AAAC;AAVG,SAAAiD,GAAAlW,GAAA;AAAA,SAO+BA,EAAC4V,SAAAA;AAAW;AAM3C,SAAAO,GAAAR,GAAA/iB,GAAA;AAAA,QAAAggB,IAAAC,GAAAA,EAAA,EAAA,GAIL;AAAA,IAAAC,SAAAA;AAAAA,IAAA/R,aAAAA;AAAAA,EAAAA,IAAiCmS,GAAAA;AAAe,MAAAP;AAAA,EAAAC,SAAAhgB,KAEjC+f,QAAI/f,EAAQijB,IAAAO,EAAwB,CAAC,GAACxD,OAAAhgB,GAAAggB,OAAAD,KAAAA,IAAAC,EAAA,CAAA;AAAA,MAAAG;AAAA,EAAAH,EAAA,CAAA,MAAA+C,KAAA/C,SAAAE,KACvCC,IAAAqC,OACVD,GAA4B,GAAGrC,CAAO,GAAG6C,CAAO,IAAIP,CAAI,GAACxC,OAAA+C,GAAA/C,OAAAE,GAAAF,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAI;AAAA,SAAAJ,EAAA,CAAA,MAAA7R,KAAA6R,EAAA,CAAA,MAAAhgB,KAAAggB,EAAA,CAAA,MAAAD,KAAAC,SAAAG,KAHjBC,IAAA;AAAA,IAAAqD,aAC7B1D;AAAAA,IAAsC2D,YACvCvD;AAAAA,IAC+CwD,YAAA;AAAA,aAElDxV,EAAWyV,kBAAA;AAAA,QAAA5jB,cACFA,EAAQijB,IAAAY,EAAwB,CAAC;AAAA,MAAA,CAChD;AAAA,IAAC;AAAA,IAAAC,QAAAhiB,GAAA;AAGF2e,MAAAA,GAAc3e,CAAK;AAAA,IAAC;AAAA,EAAA,GAEvBke,OAAA7R,GAAA6R,OAAAhgB,GAAAggB,OAAAD,GAAAC,OAAAG,GAAAH,OAAAI,KAAAA,IAAAJ,EAAA,CAAA,GAZMjQ,GAAqCqQ,CAY3C;AAAC;AAjBG,SAAAyD,GAAAE,GAAA;AAAA,SAWmC3W,EAAC4V,SAAAA;AAAW;AAX/C,SAAAQ,GAAApW,GAAA;AAAA,SAMkCA,EAAC4V,SAAAA;AAAW;AAc9C,SAAAgB,GAAAjB,GAAA/iB,GAAA;AAAA,QAAAggB,IAAAC,GAAAA,EAAA,EAAA,GAIL;AAAA,IAAAC,SAAAA;AAAAA,IAAA/R,aAAAA;AAAAA,EAAAA,IAAiCmS,GAAAA;AAAe,MAAAP;AAAA,EAAAC,SAAAhgB,KAEjC+f,QAAI/f,EAAQijB,IAAAgB,EAAwB,CAAC,GAACjE,OAAAhgB,GAAAggB,OAAAD,KAAAA,IAAAC,EAAA,CAAA;AAAA,MAAAG;AAAA,EAAAH,EAAA,CAAA,MAAA+C,KAAA/C,SAAAE,KACvCC,IAAAqC,OACVK,GAAa,GAAG3C,CAAO,GAAG6C,CAAO,IAAIP,CAAI,GAACxC,OAAA+C,GAAA/C,OAAAE,GAAAF,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAI;AAAA,SAAAJ,EAAA,CAAA,MAAA7R,KAAA6R,EAAA,CAAA,MAAAhgB,KAAAggB,EAAA,CAAA,MAAAD,KAAAC,SAAAG,KAHCC,IAAA;AAAA,IAAAqD,aAChC1D;AAAAA,IAAsC2D,YACvCvD;AAAAA,IACgCwD,YAAA;AAAA,aAEnCxV,EAAWyV,kBAAA;AAAA,QAAA5jB,cACFA,EAAQijB,IAAAiB,EAAwB,CAAC;AAAA,MAAA,CAChD;AAAA,IAAC;AAAA,IAAAJ,QAAAhiB,GAAA;AAGF2e,MAAAA,GAAc3e,CAAK;AAAA,IAAC;AAAA,EAAA,GAEvBke,OAAA7R,GAAA6R,OAAAhgB,GAAAggB,OAAAD,GAAAC,OAAAG,GAAAH,OAAAI,KAAAA,IAAAJ,EAAA,CAAA,GAZMjQ,GAAwCqQ,CAY9C;AAAC;AAjBG,SAAA8D,GAAAH,GAAA;AAAA,SAWmC3W,EAAC4V,SAAAA;AAAW;AAX/C,SAAAiB,GAAA7W,GAAA;AAAA,SAMkCA,EAAC4V,SAAAA;AAAW;AAc9C,SAAAmB,GAAApB,GAAA/iB,GAAA;AAAA,QAAAggB,IAAAC,GAAAA,EAAA,EAAA,GAIL;AAAA,IAAAC,SAAAA;AAAAA,IAAA/R,aAAAA;AAAAA,EAAAA,IAAiCmS,GAAAA;AAAe,MAAAP;AAAA,EAAAC,SAAAhgB,KAEjC+f,QAAI/f,EAAQijB,IAAAmB,EAAwB,CAAC,GAACpE,OAAAhgB,GAAAggB,OAAAD,KAAAA,IAAAC,EAAA,CAAA;AAAA,MAAAG;AAAA,EAAAH,EAAA,CAAA,MAAA+C,KAAA/C,SAAAE,KACvCC,IAAAkC,OAAQC,GAAU,GAAGpC,CAAO,GAAG6C,CAAO,IAAIV,CAAE,GAACrC,OAAA+C,GAAA/C,OAAAE,GAAAF,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAI;AAAA,SAAAJ,EAAA,CAAA,MAAA7R,KAAA6R,EAAA,CAAA,MAAAhgB,KAAAggB,EAAA,CAAA,MAAAD,KAAAC,SAAAG,KAFVC,IAAA;AAAA,IAAAqD,aAClC1D;AAAAA,IAAsC2D,YACvCvD;AAAAA,IAA6CwD,YAAA;AAAA,aAEhDxV,EAAWyV,kBAAA;AAAA,QAAA5jB,cACFA,EAAQijB,IAAAoB,EAAwB,CAAC;AAAA,MAAA,CAChD;AAAA,IAAC;AAAA,IAAAP,QAAAhiB,GAAA;AAGF2e,MAAAA,GAAc3e,CAAK;AAAA,IAAC;AAAA,EAAA,GAEvBke,OAAA7R,GAAA6R,OAAAhgB,GAAAggB,OAAAD,GAAAC,OAAAG,GAAAH,OAAAI,KAAAA,IAAAJ,EAAA,CAAA,GAXMjQ,GAA0CqQ,CAWhD;AAAC;AAhBG,SAAAiE,GAAAN,GAAA;AAAA,SAUmC3W,EAAC4V,SAAAA;AAAW;AAV/C,SAAAoB,GAAAhX,GAAA;AAAA,SAMkCA,EAAC4V,SAAAA;AAAW;;;;AC5QrD,KAAC,SAASsB,GAAErO,GAAE;AAAsD,MAAAsO,YAAetO,EAAC;AAAA,IAAkH,GAAEuO,KAAM,WAAU;AAAc,UAAIF,IAAE,KAAIrO,IAAE,KAAI7F,IAAE,MAAKC,IAAE,eAAcpP,IAAE,UAAS,IAAE,UAAS2T,IAAE,QAAOpU,IAAE,OAAMc,IAAE,QAAOqP,IAAE,SAAQwC,IAAE,WAAUwB,IAAE,QAAOjD,IAAE,QAAO+S,IAAE,gBAAe,IAAE,8FAA6F/R,IAAE,uFAAsFsC,IAAE,EAAC,MAAK,MAAK,UAAS,2DAA2D,MAAM,GAAG,GAAE,QAAO,wFAAwF,MAAM,GAAG,GAAE,SAAQ,SAASsP,GAAE;AAAC,YAAIrO,IAAE,CAAC,MAAK,MAAK,MAAK,IAAI,GAAE7F,IAAEkU,IAAE;AAAI,eAAM,MAAIA,KAAGrO,GAAG7F,IAAE,MAAI,EAAE,KAAG6F,EAAE7F,CAAC,KAAG6F,EAAE,CAAC,KAAG;AAAA,MAAG,EAAC,GAAEpB,IAAE,SAASyP,GAAErO,GAAE7F,GAAE;AAAC,YAAIC,IAAE,OAAOiU,CAAC;AAAE,eAAM,CAACjU,KAAGA,EAAE,UAAQ4F,IAAEqO,IAAE,KAAG,MAAMrO,IAAE,IAAE5F,EAAE,MAAM,EAAE,KAAKD,CAAC,IAAEkU;AAAA,MAAC,GAAEljB,IAAE,EAAC,GAAEyT,GAAE,GAAE,SAASyP,GAAE;AAAC,YAAIrO,IAAE,CAACqO,EAAE,UAAS,GAAGlU,IAAE,KAAK,IAAI6F,CAAC,GAAE5F,IAAE,KAAK,MAAMD,IAAE,EAAE,GAAEnP,IAAEmP,IAAE;AAAG,gBAAO6F,KAAG,IAAE,MAAI,OAAKpB,EAAExE,GAAE,GAAE,GAAG,IAAE,MAAIwE,EAAE5T,GAAE,GAAE,GAAG;AAAA,MAAC,GAAE,GAAE,SAASqjB,EAAErO,GAAE7F,GAAE;AAAC,YAAG6F,EAAE,KAAI,IAAG7F,EAAE,KAAI,EAAG,QAAM,CAACkU,EAAElU,GAAE6F,CAAC;AAAE,YAAI5F,IAAE,MAAID,EAAE,KAAI,IAAG6F,EAAE,WAAS7F,EAAE,UAAQ6F,EAAE,MAAK,IAAIhV,IAAEgV,EAAE,QAAQ,IAAI5F,GAAEM,CAAC,GAAED,IAAEN,IAAEnP,IAAE,GAAE2T,IAAEqB,EAAE,MAAK,EAAG,IAAI5F,KAAGK,IAAE,KAAG,IAAGC,CAAC;AAAE,eAAM,EAAE,EAAEN,KAAGD,IAAEnP,MAAIyP,IAAEzP,IAAE2T,IAAEA,IAAE3T,OAAK;AAAA,MAAE,GAAE,GAAE,SAASqjB,GAAE;AAAC,eAAOA,IAAE,IAAE,KAAK,KAAKA,CAAC,KAAG,IAAE,KAAK,MAAMA,CAAC;AAAA,MAAC,GAAE,GAAE,SAASA,GAAE;AAAC,eAAM,EAAC,GAAE3T,GAAE,GAAEgE,GAAE,GAAErT,GAAE,GAAEd,GAAE,GAAEkR,GAAE,GAAEkD,GAAE,GAAE,GAAE,GAAE3T,GAAE,IAAGoP,GAAE,GAAE8C,EAAC,EAAEmR,CAAC,KAAG,OAAOA,KAAG,EAAE,EAAE,YAAW,EAAG,QAAQ,MAAK,EAAE;AAAA,MAAC,GAAE,GAAE,SAASA,GAAE;AAAC,eAAgBA,MAAT;AAAA,MAAU,EAAC,GAAEvT,IAAE,MAAKkB,KAAE,CAAA;AAAG,MAAAA,GAAElB,CAAC,IAAEiE;AAAE,UAAI9C,IAAE,kBAAiBL,IAAE,SAASyS,GAAE;AAAC,eAAOA,aAAarkB,MAAG,EAAE,CAACqkB,KAAG,CAACA,EAAEpS,CAAC;AAAA,MAAE,GAAEE,IAAE,SAASkS,EAAErO,GAAE7F,GAAEC,GAAE;AAAC,YAAIpP;AAAE,YAAG,CAACgV,EAAE,QAAOlF;AAAE,YAAa,OAAOkF,KAAjB,UAAmB;AAAC,cAAIvF,IAAEuF,EAAE,YAAW;AAAG,UAAAhE,GAAEvB,CAAC,MAAIzP,IAAEyP,IAAGN,MAAI6B,GAAEvB,CAAC,IAAEN,GAAEnP,IAAEyP;AAAG,cAAIkE,IAAEqB,EAAE,MAAM,GAAG;AAAE,cAAG,CAAChV,KAAG2T,EAAE,SAAO,EAAE,QAAO0P,EAAE1P,EAAE,CAAC,CAAC;AAAA,QAAC,OAAK;AAAC,cAAI,IAAEqB,EAAE;AAAK,UAAAhE,GAAE,CAAC,IAAEgE,GAAEhV,IAAE;AAAA,QAAC;AAAC,eAAM,CAACoP,KAAGpP,MAAI8P,IAAE9P,IAAGA,KAAG,CAACoP,KAAGU;AAAA,MAAC,GAAEgE,IAAE,SAASuP,GAAErO,GAAE;AAAC,YAAGpE,EAAEyS,CAAC,EAAE,QAAOA,EAAE,MAAK;AAAG,YAAIlU,IAAY,OAAO6F,KAAjB,WAAmBA,IAAE,CAAA;AAAG,eAAO7F,EAAE,OAAKkU,GAAElU,EAAE,OAAK,WAAU,IAAInQ,GAAEmQ,CAAC;AAAA,MAAC,GAAE3P,IAAEW;AAAE,MAAAX,EAAE,IAAE2R,GAAE3R,EAAE,IAAEoR,GAAEpR,EAAE,IAAE,SAAS6jB,GAAErO,GAAE;AAAC,eAAOlB,EAAEuP,GAAE,EAAC,QAAOrO,EAAE,IAAG,KAAIA,EAAE,IAAG,GAAEA,EAAE,IAAG,SAAQA,EAAE,QAAO,CAAC;AAAA,MAAC;AAAE,UAAIhW,MAAE,WAAU;AAAC,iBAAS+U,EAAEsP,GAAE;AAAC,eAAK,KAAGlS,EAAEkS,EAAE,QAAO,MAAK,EAAE,GAAE,KAAK,MAAMA,CAAC,GAAE,KAAK,KAAG,KAAK,MAAIA,EAAE,KAAG,CAAA,GAAG,KAAKpS,CAAC,IAAE;AAAA,QAAE;AAAC,YAAI2C,IAAEG,EAAE;AAAU,eAAOH,EAAE,QAAM,SAASyP,GAAE;AAAC,eAAK,MAAG,SAASA,GAAE;AAAC,gBAAIrO,IAAEqO,EAAE,MAAKlU,IAAEkU,EAAE;AAAI,gBAAUrO,MAAP,KAAS,QAAO,oBAAI,KAAK,GAAG;AAAE,gBAAGxV,EAAE,EAAEwV,CAAC,EAAE,QAAO,oBAAI;AAAK,gBAAGA,aAAa,KAAK,QAAO,IAAI,KAAKA,CAAC;AAAE,gBAAa,OAAOA,KAAjB,YAAoB,CAAC,MAAM,KAAKA,CAAC,GAAE;AAAC,kBAAI5F,IAAE4F,EAAE,MAAM,CAAC;AAAE,kBAAG5F,GAAE;AAAC,oBAAIpP,IAAEoP,EAAE,CAAC,IAAE,KAAG,GAAEK,KAAGL,EAAE,CAAC,KAAG,KAAK,UAAU,GAAE,CAAC;AAAE,uBAAOD,IAAE,IAAI,KAAK,KAAK,IAAIC,EAAE,CAAC,GAAEpP,GAAEoP,EAAE,CAAC,KAAG,GAAEA,EAAE,CAAC,KAAG,GAAEA,EAAE,CAAC,KAAG,GAAEA,EAAE,CAAC,KAAG,GAAEK,CAAC,CAAC,IAAE,IAAI,KAAKL,EAAE,CAAC,GAAEpP,GAAEoP,EAAE,CAAC,KAAG,GAAEA,EAAE,CAAC,KAAG,GAAEA,EAAE,CAAC,KAAG,GAAEA,EAAE,CAAC,KAAG,GAAEK,CAAC;AAAA,cAAC;AAAA,YAAC;AAAC,mBAAO,IAAI,KAAKuF,CAAC;AAAA,UAAC,GAAEqO,CAAC,GAAE,KAAK,KAAI;AAAA,QAAE,GAAEzP,EAAE,OAAK,WAAU;AAAC,cAAIyP,IAAE,KAAK;AAAG,eAAK,KAAGA,EAAE,eAAc,KAAK,KAAGA,EAAE,SAAQ,GAAG,KAAK,KAAGA,EAAE,QAAO,GAAG,KAAK,KAAGA,EAAE,OAAM,GAAG,KAAK,KAAGA,EAAE,YAAW,KAAK,KAAGA,EAAE,WAAU,GAAG,KAAK,KAAGA,EAAE,WAAU,GAAG,KAAK,MAAIA,EAAE,gBAAe;AAAA,QAAE,GAAEzP,EAAE,SAAO,WAAU;AAAC,iBAAOpU;AAAA,QAAC,GAAEoU,EAAE,UAAQ,WAAU;AAAC,iBAAQ,KAAK,GAAG,SAAQ,MAAK4P;AAAA,QAAE,GAAE5P,EAAE,SAAO,SAASyP,GAAErO,GAAE;AAAC,cAAI7F,IAAE2E,EAAEuP,CAAC;AAAE,iBAAO,KAAK,QAAQrO,CAAC,KAAG7F,KAAGA,KAAG,KAAK,MAAM6F,CAAC;AAAA,QAAC,GAAEpB,EAAE,UAAQ,SAASyP,GAAErO,GAAE;AAAC,iBAAOlB,EAAEuP,CAAC,IAAE,KAAK,QAAQrO,CAAC;AAAA,QAAC,GAAEpB,EAAE,WAAS,SAASyP,GAAErO,GAAE;AAAC,iBAAO,KAAK,MAAMA,CAAC,IAAElB,EAAEuP,CAAC;AAAA,QAAC,GAAEzP,EAAE,KAAG,SAASyP,GAAErO,GAAE7F,GAAE;AAAC,iBAAO3P,EAAE,EAAE6jB,CAAC,IAAE,KAAKrO,CAAC,IAAE,KAAK,IAAI7F,GAAEkU,CAAC;AAAA,QAAC,GAAEzP,EAAE,OAAK,WAAU;AAAC,iBAAO,KAAK,MAAM,KAAK,QAAO,IAAG,GAAG;AAAA,QAAC,GAAEA,EAAE,UAAQ,WAAU;AAAC,iBAAO,KAAK,GAAG;QAAS,GAAEA,EAAE,UAAQ,SAASyP,GAAErO,GAAE;AAAC,cAAI7F,IAAE,MAAKC,IAAE,CAAC,CAAC5P,EAAE,EAAEwV,CAAC,KAAGA,GAAE,IAAExV,EAAE,EAAE6jB,CAAC,GAAEG,IAAE,SAASH,IAAErO,IAAE;AAAC,gBAAIhV,KAAER,EAAE,EAAE2P,EAAE,KAAG,KAAK,IAAIA,EAAE,IAAG6F,IAAEqO,EAAC,IAAE,IAAI,KAAKlU,EAAE,IAAG6F,IAAEqO,EAAC,GAAElU,CAAC;AAAE,mBAAOC,IAAEpP,KAAEA,GAAE,MAAMT,CAAC;AAAA,UAAC,GAAEwf,IAAE,SAASsE,IAAErO,IAAE;AAAC,mBAAOxV,EAAE,EAAE2P,EAAE,OAAM,EAAGkU,EAAC,EAAE,MAAMlU,EAAE,OAAO,GAAG,IAAGC,IAAE,CAAC,GAAE,GAAE,GAAE,CAAC,IAAE,CAAC,IAAG,IAAG,IAAG,GAAG,GAAG,MAAM4F,EAAC,CAAC,GAAE7F,CAAC;AAAA,UAAC,GAAEsC,IAAE,KAAK,IAAGsC,IAAE,KAAK,IAAGH,IAAE,KAAK,IAAGzT,IAAE,SAAO,KAAK,KAAG,QAAM;AAAI,kBAAO,GAAC;AAAA,YAAE,KAAKuT;AAAE,qBAAOtE,IAAEoU,EAAE,GAAE,CAAC,IAAEA,EAAE,IAAG,EAAE;AAAA,YAAE,KAAK9T;AAAE,qBAAON,IAAEoU,EAAE,GAAEzP,CAAC,IAAEyP,EAAE,GAAEzP,IAAE,CAAC;AAAA,YAAE,KAAK1T;AAAE,kBAAIyP,KAAE,KAAK,QAAO,EAAG,aAAW,GAAEkB,KAAGS,IAAE3B,KAAE2B,IAAE,IAAEA,KAAG3B;AAAE,qBAAO0T,EAAEpU,IAAEwE,IAAE5C,IAAE4C,KAAG,IAAE5C,IAAG+C,CAAC;AAAA,YAAE,KAAKxU;AAAA,YAAE,KAAKkR;AAAE,qBAAOsO,EAAE5e,IAAE,SAAQ,CAAC;AAAA,YAAE,KAAKwT;AAAE,qBAAOoL,EAAE5e,IAAE,WAAU,CAAC;AAAA,YAAE,KAAK;AAAE,qBAAO4e,EAAE5e,IAAE,WAAU,CAAC;AAAA,YAAE,KAAKH;AAAE,qBAAO+e,EAAE5e,IAAE,gBAAe,CAAC;AAAA,YAAE;AAAQ,qBAAO,KAAK;UAAO;AAAA,QAAC,GAAEyT,EAAE,QAAM,SAASyP,GAAE;AAAC,iBAAO,KAAK,QAAQA,GAAE,EAAE;AAAA,QAAC,GAAEzP,EAAE,OAAK,SAASyP,GAAErO,GAAE;AAAC,cAAI7F,GAAE9O,IAAEb,EAAE,EAAE6jB,CAAC,GAAE,IAAE,SAAO,KAAK,KAAG,QAAM,KAAIG,KAAGrU,IAAE,CAAA,GAAGA,EAAE5P,CAAC,IAAE,IAAE,QAAO4P,EAAEsB,CAAC,IAAE,IAAE,QAAOtB,EAAEO,CAAC,IAAE,IAAE,SAAQP,EAAEuE,CAAC,IAAE,IAAE,YAAWvE,EAAEwE,CAAC,IAAE,IAAE,SAAQxE,EAAE,CAAC,IAAE,IAAE,WAAUA,EAAEnP,CAAC,IAAE,IAAE,WAAUmP,EAAEC,CAAC,IAAE,IAAE,gBAAeD,GAAG9O,CAAC,GAAE0e,IAAE1e,MAAId,IAAE,KAAK,MAAIyV,IAAE,KAAK,MAAIA;AAAE,cAAG3U,MAAIqP,KAAGrP,MAAIqT,GAAE;AAAC,gBAAIjC,IAAE,KAAK,MAAK,EAAG,IAAIhB,GAAE,CAAC;AAAE,YAAAgB,EAAE,GAAG+R,CAAC,EAAEzE,CAAC,GAAEtN,EAAE,QAAO,KAAK,KAAGA,EAAE,IAAIhB,GAAE,KAAK,IAAI,KAAK,IAAGgB,EAAE,aAAa,CAAC,EAAE;AAAA,UAAE,MAAM,CAAA+R,KAAG,KAAK,GAAGA,CAAC,EAAEzE,CAAC;AAAE,iBAAO,KAAK,KAAI,GAAG;AAAA,QAAI,GAAEnL,EAAE,MAAI,SAASyP,GAAErO,GAAE;AAAC,iBAAO,KAAK,QAAQ,KAAKqO,GAAErO,CAAC;AAAA,QAAC,GAAEpB,EAAE,MAAI,SAASyP,GAAE;AAAC,iBAAO,KAAK7jB,EAAE,EAAE6jB,CAAC,CAAC,EAAC;AAAA,QAAE,GAAEzP,EAAE,MAAI,SAASxE,GAAE8C,GAAE;AAAC,cAAIzB,GAAE+S,IAAE;AAAK,UAAApU,IAAE,OAAOA,CAAC;AAAE,cAAI2P,IAAEvf,EAAE,EAAE0S,CAAC,GAAET,IAAE,SAAS4R,GAAE;AAAC,gBAAIrO,IAAElB,EAAE0P,CAAC;AAAE,mBAAOhkB,EAAE,EAAEwV,EAAE,KAAKA,EAAE,KAAI,IAAG,KAAK,MAAMqO,IAAEjU,CAAC,CAAC,GAAEoU,CAAC;AAAA,UAAC;AAAE,cAAGzE,MAAIrP,EAAE,QAAO,KAAK,IAAIA,GAAE,KAAK,KAAGN,CAAC;AAAE,cAAG2P,MAAIrL,EAAE,QAAO,KAAK,IAAIA,GAAE,KAAK,KAAGtE,CAAC;AAAE,cAAG2P,MAAIxf,EAAE,QAAOkS,EAAE,CAAC;AAAE,cAAGsN,MAAI1e,EAAE,QAAOoR,EAAE,CAAC;AAAE,cAAIsC,KAAGtD,IAAE,IAAGA,EAAE,CAAC,IAAEuE,GAAEvE,EAAEkD,CAAC,IAAExE,GAAEsB,EAAEzQ,CAAC,IAAEqjB,GAAE5S,GAAGsO,CAAC,KAAG,GAAEnL,IAAE,KAAK,GAAG,QAAO,IAAGxE,IAAE2E;AAAE,iBAAOvU,EAAE,EAAEoU,GAAE,IAAI;AAAA,QAAC,GAAEA,EAAE,WAAS,SAASyP,GAAErO,GAAE;AAAC,iBAAO,KAAK,IAAI,KAAGqO,GAAErO,CAAC;AAAA,QAAC,GAAEpB,EAAE,SAAO,SAASyP,GAAE;AAAC,cAAIrO,IAAE,MAAK7F,IAAE,KAAK,QAAO;AAAG,cAAG,CAAC,KAAK,QAAO,EAAG,QAAOA,EAAE,eAAaqU;AAAE,cAAIpU,IAAEiU,KAAG,wBAAuBrjB,IAAER,EAAE,EAAE,IAAI,GAAEiQ,IAAE,KAAK,IAAGkE,IAAE,KAAK,IAAGpU,IAAE,KAAK,IAAGc,IAAE8O,EAAE,UAASO,IAAEP,EAAE,QAAO+C,IAAE/C,EAAE,UAASuE,KAAE,SAAS2P,IAAElU,IAAEnP,GAAEyP,GAAE;AAAC,mBAAO4T,OAAIA,GAAElU,EAAC,KAAGkU,GAAErO,GAAE5F,CAAC,MAAIpP,EAAEmP,EAAC,EAAE,MAAM,GAAEM,CAAC;AAAA,UAAC,GAAEgB,IAAE,SAAS4S,IAAE;AAAC,mBAAO7jB,EAAE,EAAEiQ,IAAE,MAAI,IAAG4T,IAAE,GAAG;AAAA,UAAC,GAAEtE,KAAE7M,KAAG,SAASmR,IAAErO,IAAE7F,GAAE;AAAC,gBAAIC,IAAEiU,KAAE,KAAG,OAAK;AAAK,mBAAOlU,IAAEC,EAAE,gBAAcA;AAAA,UAAC;AAAE,iBAAOA,EAAE,QAAQqC,IAAG,SAAS4R,IAAEjU,IAAE;AAAC,mBAAOA,OAAG,SAASiU,GAAE;AAAC,sBAAOA,GAAC;AAAA,gBAAE,KAAI;AAAK,yBAAO,OAAOrO,EAAE,EAAE,EAAE,MAAM,EAAE;AAAA,gBAAE,KAAI;AAAO,yBAAOxV,EAAE,EAAEwV,EAAE,IAAG,GAAE,GAAG;AAAA,gBAAE,KAAI;AAAI,yBAAOzV,IAAE;AAAA,gBAAE,KAAI;AAAK,yBAAOC,EAAE,EAAED,IAAE,GAAE,GAAE,GAAG;AAAA,gBAAE,KAAI;AAAM,yBAAOmU,GAAEvE,EAAE,aAAY5P,GAAEmQ,GAAE,CAAC;AAAA,gBAAE,KAAI;AAAO,yBAAOgE,GAAEhE,GAAEnQ,CAAC;AAAA,gBAAE,KAAI;AAAI,yBAAOyV,EAAE;AAAA,gBAAG,KAAI;AAAK,yBAAOxV,EAAE,EAAEwV,EAAE,IAAG,GAAE,GAAG;AAAA,gBAAE,KAAI;AAAI,yBAAO,OAAOA,EAAE,EAAE;AAAA,gBAAE,KAAI;AAAK,yBAAOtB,GAAEvE,EAAE,aAAY6F,EAAE,IAAG3U,GAAE,CAAC;AAAA,gBAAE,KAAI;AAAM,yBAAOqT,GAAEvE,EAAE,eAAc6F,EAAE,IAAG3U,GAAE,CAAC;AAAA,gBAAE,KAAI;AAAO,yBAAOA,EAAE2U,EAAE,EAAE;AAAA,gBAAE,KAAI;AAAI,yBAAO,OAAOvF,CAAC;AAAA,gBAAE,KAAI;AAAK,yBAAOjQ,EAAE,EAAEiQ,GAAE,GAAE,GAAG;AAAA,gBAAE,KAAI;AAAI,yBAAOgB,EAAE,CAAC;AAAA,gBAAE,KAAI;AAAK,yBAAOA,EAAE,CAAC;AAAA,gBAAE,KAAI;AAAI,yBAAOsO,GAAEtP,GAAEkE,GAAE,EAAE;AAAA,gBAAE,KAAI;AAAI,yBAAOoL,GAAEtP,GAAEkE,GAAE,EAAE;AAAA,gBAAE,KAAI;AAAI,yBAAO,OAAOA,CAAC;AAAA,gBAAE,KAAI;AAAK,yBAAOnU,EAAE,EAAEmU,GAAE,GAAE,GAAG;AAAA,gBAAE,KAAI;AAAI,yBAAO,OAAOqB,EAAE,EAAE;AAAA,gBAAE,KAAI;AAAK,yBAAOxV,EAAE,EAAEwV,EAAE,IAAG,GAAE,GAAG;AAAA,gBAAE,KAAI;AAAM,yBAAOxV,EAAE,EAAEwV,EAAE,KAAI,GAAE,GAAG;AAAA,gBAAE,KAAI;AAAI,yBAAOhV;AAAA,cAAC;AAAC,qBAAO;AAAA,YAAI,GAAEqjB,EAAC,KAAGrjB,EAAE,QAAQ,KAAI,EAAE;AAAA,UAAC,EAAC;AAAA,QAAE,GAAE4T,EAAE,YAAU,WAAU;AAAC,iBAAO,KAAG,CAAC,KAAK,MAAM,KAAK,GAAG,kBAAiB,IAAG,EAAE;AAAA,QAAC,GAAEA,EAAE,OAAK,SAASxE,GAAEqB,GAAE,GAAE;AAAC,cAAIsO,GAAEtN,IAAE,MAAKsC,IAAEvU,EAAE,EAAEiR,CAAC,GAAEmD,IAAEE,EAAE1E,CAAC,GAAEjP,KAAGyT,EAAE,UAAS,IAAG,KAAK,UAAS,KAAIoB,GAAElF,IAAE,OAAK8D,GAAE5C,IAAE,WAAU;AAAC,mBAAOxR,EAAE,EAAEiS,GAAEmC,CAAC;AAAA,UAAC;AAAE,kBAAOG,GAAC;AAAA,YAAE,KAAKL;AAAE,cAAAqL,IAAE/N,EAAC,IAAG;AAAG;AAAA,YAAM,KAAKtB;AAAE,cAAAqP,IAAE/N,EAAC;AAAG;AAAA,YAAM,KAAKkB;AAAE,cAAA6M,IAAE/N,MAAI;AAAE;AAAA,YAAM,KAAK3Q;AAAE,cAAA0e,KAAGjP,IAAE3P,KAAG;AAAO;AAAA,YAAM,KAAKZ;AAAE,cAAAwf,KAAGjP,IAAE3P,KAAG;AAAM;AAAA,YAAM,KAAKwT;AAAE,cAAAoL,IAAEjP,IAAEX;AAAE;AAAA,YAAM,KAAK;AAAE,cAAA4P,IAAEjP,IAAEkF;AAAE;AAAA,YAAM,KAAKhV;AAAE,cAAA+e,IAAEjP,IAAEuT;AAAE;AAAA,YAAM;AAAQ,cAAAtE,IAAEjP;AAAA,UAAC;AAAC,iBAAO,IAAEiP,IAAEvf,EAAE,EAAEuf,CAAC;AAAA,QAAC,GAAEnL,EAAE,cAAY,WAAU;AAAC,iBAAO,KAAK,MAAMlE,CAAC,EAAE;AAAA,QAAE,GAAEkE,EAAE,UAAQ,WAAU;AAAC,iBAAO5C,GAAE,KAAK,EAAE;AAAA,QAAC,GAAE4C,EAAE,SAAO,SAASyP,GAAErO,GAAE;AAAC,cAAG,CAACqO,EAAE,QAAO,KAAK;AAAG,cAAIlU,IAAE,KAAK,MAAK,GAAGC,IAAE+B,EAAEkS,GAAErO,GAAE,EAAE;AAAE,iBAAO5F,MAAID,EAAE,KAAGC,IAAGD;AAAA,QAAC,GAAEyE,EAAE,QAAM,WAAU;AAAC,iBAAOpU,EAAE,EAAE,KAAK,IAAG,IAAI;AAAA,QAAC,GAAEoU,EAAE,SAAO,WAAU;AAAC,iBAAO,IAAI,KAAK,KAAK,QAAO,CAAE;AAAA,QAAC,GAAEA,EAAE,SAAO,WAAU;AAAC,iBAAO,KAAK,QAAO,IAAG,KAAK,YAAW,IAAG;AAAA,QAAI,GAAEA,EAAE,cAAY,WAAU;AAAC,iBAAO,KAAK,GAAG,YAAW;AAAA,QAAE,GAAEA,EAAE,WAAS,WAAU;AAAC,iBAAO,KAAK,GAAG,YAAW;AAAA,QAAE,GAAEG;AAAA,MAAC,GAAC,GAAG5H,IAAEnN,GAAE;AAAU,aAAO8U,EAAE,YAAU3H,GAAE,CAAC,CAAC,OAAMiD,CAAC,GAAE,CAAC,MAAKpP,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK2T,CAAC,GAAE,CAAC,MAAKpU,CAAC,GAAE,CAAC,MAAKmQ,CAAC,GAAE,CAAC,MAAKgE,CAAC,GAAE,CAAC,MAAKjD,CAAC,CAAC,EAAE,SAAS,SAAS4S,GAAE;AAAC,QAAAlX,EAAEkX,EAAE,CAAC,CAAC,IAAE,SAASrO,GAAE;AAAC,iBAAO,KAAK,GAAGA,GAAEqO,EAAE,CAAC,GAAEA,EAAE,CAAC,CAAC;AAAA,QAAC;AAAA,MAAC,EAAC,GAAGvP,EAAE,SAAO,SAASuP,GAAErO,GAAE;AAAC,eAAOqO,EAAE,OAAKA,EAAErO,GAAEhW,IAAE8U,CAAC,GAAEuP,EAAE,KAAG,KAAIvP;AAAA,MAAC,GAAEA,EAAE,SAAO3C,GAAE2C,EAAE,UAAQlD,GAAEkD,EAAE,OAAK,SAASuP,GAAE;AAAC,eAAOvP,EAAE,MAAIuP,CAAC;AAAA,MAAC,GAAEvP,EAAE,KAAG9C,GAAElB,CAAC,GAAEgE,EAAE,KAAG9C,IAAE8C,EAAE,IAAE,IAAGA;AAAA,IAAC,EAAC;AAAA;;;;ACCr/N,SAAS2P,GAAa,EAAE,WAAAC,GAAW,YAAAC,GAAY,UAAAC,GAAU,WAAAC,GAAW,MAAA5mB,KAAQ;AAC1E,UAAQymB,GAAS;AAAA,IACf,KAAK;AACH,aAAIC,MAAe,KAAKC,MAAa,IAC5B,OAELA,MAAa,IACR;AAAA,QACL,YAAYD,IAAa;AAAA,QACzB,UAAUE,KAAa5mB,EAAK0mB,IAAa,CAAC,EAAE1mB,EAAK0mB,IAAa,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI1mB,EAAK0mB,IAAa,CAAC,EAAE,SAAS,IAAI1mB,EAAK0mB,IAAa,CAAC,EAAE,SAAS;AAAA,QACnJ,WAAAE;AAAA,MACV,IAEa;AAAA,QACL,YAAAF;AAAA,QACA,UAAUC,IAAW;AAAA,QACrB,WAAAC;AAAA,MACR;AAAA,IACI,KAAK;AACH,aAAID,MAAa3mB,EAAK0mB,CAAU,EAAE,SAAS,IAClC;AAAA,QACL,YAAYA,IAAa;AAAA,QACzB,UAAU;AAAA,QACV,WAAAE;AAAA,MACV,IAEUD,MAAa3mB,EAAK0mB,CAAU,EAAE,SAAS,KAAKE,KAAa5mB,EAAK0mB,CAAU,EAAE1mB,EAAK0mB,CAAU,EAAE,SAAS,CAAC,IAChG;AAAA,QACL,YAAYA,IAAa;AAAA,QACzB,UAAU;AAAA,QACV,WAAAE;AAAA,MACV,IAEa;AAAA,QACL,YAAAF;AAAA,QACA,UAAUC,IAAW;AAAA,QACrB,WAAAC;AAAA,MACR;AAAA,IACI,KAAK;AACH,aAAIF,MAAe,KAAKC,MAAa,KAAKC,MAAc,IAC/C,OAELD,MAAa,KAAKC,MAAc,IAC3B;AAAA,QACL,YAAYF,IAAa;AAAA,QACzB,UAAU1mB,EAAK0mB,IAAa,CAAC,EAAE,SAAS;AAAA,QACxC,WAAW1mB,EAAK0mB,IAAa,CAAC,EAAE1mB,EAAK0mB,IAAa,CAAC,EAAE,SAAS,CAAC,IAAI;AAAA,MAC7E,IAEUE,MAAc,IACT;AAAA,QACL,YAAAF;AAAA,QACA,UAAUC,IAAW;AAAA,QACrB,WAAW3mB,EAAK0mB,CAAU,EAAEC,IAAW,CAAC,IAAI;AAAA,MACtD,IAEa;AAAA,QACL,YAAAD;AAAA,QACA,UAAAC;AAAA,QACA,WAAWC,IAAY;AAAA,MAC/B;AAAA,IACI,KAAK;AACH,aAAID,MAAa3mB,EAAK0mB,CAAU,EAAE,SAAS,KAAKE,MAAc5mB,EAAK0mB,CAAU,EAAEC,CAAQ,IAAI,IAClF;AAAA,QACL,YAAYD,IAAa;AAAA,QACzB,UAAU;AAAA,QACV,WAAW;AAAA,MACrB,IAEUE,MAAc5mB,EAAK0mB,CAAU,EAAEC,CAAQ,IAAI,IACtC;AAAA,QACL,YAAAD;AAAA,QACA,UAAUC,IAAW;AAAA,QACrB,WAAW;AAAA,MACrB,IAEa;AAAA,QACL,YAAAD;AAAA,QACA,UAAAC;AAAA,QACA,WAAWC,IAAY;AAAA,MAC/B;AAAA,IACI;AACE,aAAO,EAAE,YAAAF,GAAY,UAAAC,GAAU,WAAAC,EAAS;AAAA,EAC9C;AACA;AACA,SAASC,GAA4B;AAAA,EACnC,aAAAC;AAAA,EACA,WAAAL;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAA5mB;AACF,GAAG;AACD,QAAM+mB,IAAYP,GAAa,EAAE,WAAAC,GAAW,MAAAzmB,GAAM,UAAA2mB,GAAU,WAAAC,GAAW,YAAAF,GAAY;AACnF,MAAI,CAACK;AACH;AAEF,QAAMC,IAAiBF,EAAY,UAAUC,EAAU,UAAU,IAAIA,EAAU,QAAQ,IAAIA,EAAU,SAAS;AAC9G,EAAKC,MAGDA,EAAe,YAAYA,EAAe,aAAa,aAAa,KAAKA,EAAe,aAAa,cAAc,IACrHH,GAA4B;AAAA,IAC1B,aAAAC;AAAA,IACA,WAAAL;AAAA,IACA,YAAYM,EAAU;AAAA,IACtB,WAAWA,EAAU;AAAA,IACrB,UAAUA,EAAU;AAAA,IACpB,MAAA/mB;AAAA,EACN,CAAK,IAEDgnB,EAAe,MAAK;AAExB;AACA,SAASC,GAAa9kB,GAAK;AACzB,UAAQA,GAAG;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACb;AACA;AACA,SAAS+kB,GAAgBJ,GAAa;AACpC,SAAOA,EAAY,SAAS,IAAI,CAACK,MAAWA,EAAO,IAAI,CAACC,MAAQA,EAAI,MAAM,CAAC;AAC7E;AACA,SAASC,GAAqB;AAAA,EAC5B,aAAAP;AAAA,EACA,YAAAJ;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAU;AACF,GAAG;AACD,QAAMb,IAAYQ,GAAaK,EAAM,GAAG;AACxC,MAAIb,GAAW;AACb,IAAAa,EAAM,eAAc;AACpB,UAAMtnB,IAAOknB,GAAgBJ,CAAW;AACxC,IAAAD,GAA4B;AAAA,MAC1B,aAAAC;AAAA,MACA,WAAAL;AAAA,MACA,YAAAC;AAAA,MACA,UAAAC;AAAA,MACA,WAAAC;AAAA,MACA,MAAA5mB;AAAA,IACN,CAAK;AAAA,EACH;AACF;ACrJA,SAASunB,GAAalmB,GAAO;AAC3B,SAAOA,KAAS,QAAQA,MAAU,KAAKA,IAAQmmB,GAAMnmB,CAAK,EAAE,OAAO,YAAY;AACjF;AACA,SAASomB,GAAiBpmB,GAAO;AAC/B,SAAOA,KAAS,QAAQA,MAAU,KAAKA,IAAQmmB,GAAMnmB,CAAK,EAAE,OAAO,qBAAqB;AAC1F;ACJA,MAAMqmB,KAAkC;AAAA,EACtC,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,aAAa,CAAC,GAAG,CAAC;AAAA,EAClB,gBAAgB;AAAA,EAChB,iBAAiB;AACnB,GACMC,KAAuBjG,GAAcgG,EAA+B;ACP1E,SAASE,KAAkB;AACzB,QAAMC,IAAMxF,GAAWsF,EAAoB,GACrCG,IAAYC,GAAY,CAACC,MAAUA,KAASH,EAAI,QAAQ,CAACA,EAAI,MAAM,CAAC,GACpEI,IAAoBF;AAAA,IACxB,CAACC,MAAU,OAAOA,KAAU,WAAWA,IAAQH,EAAI;AAAA,IACnD,CAACA,EAAI,cAAc;AAAA,EACvB,GACQK,IAAiBH;AAAA,IACrB,CAACC,MAAU,MAAM,QAAQA,CAAK,IAAIA,IAAQH,EAAI;AAAA,IAC9C,CAACA,EAAI,WAAW;AAAA,EACpB,GACQM,IAAoBJ;AAAA,IACxB,CAACC,MAAU,OAAOA,KAAU,WAAWA,IAAQH,EAAI;AAAA,IACnD,CAACA,EAAI,cAAc;AAAA,EACvB;AACE,SAAO;AAAA,IACL,GAAGA;AAAA,IACH,WAAAC;AAAA,IACA,mBAAAG;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC;AAAA,EACJ;AACA;ACrBA,SAASC,GAAY,EAAE,OAAA/mB,GAAO,MAAA2K,GAAM,UAAAqc,EAAQ,GAAI;AAC9C,QAAMC,IAAYD,IAAWZ,KAAmBF;AAChD,MAAIvb,MAAS,WAAW,MAAM,QAAQ3K,CAAK,GAAG;AAC5C,UAAMknB,IAAYD,EAAUjnB,EAAM,CAAC,CAAC,GAC9BmnB,IAAUF,EAAUjnB,EAAM,CAAC,CAAC;AAClC,WAAKknB,IAGAC,IAGE,GAAGD,CAAS,MAAWC,CAAO,KAF5B,GAAGD,CAAS,OAHZ;AAAA,EAMX;AACA,SAAIvc,MAAS,cAAc,MAAM,QAAQ3K,CAAK,IACrCA,EAAM,OAAO,OAAO,EAAE,KAAK,IAAI,IAEpC,CAAC,MAAM,QAAQA,CAAK,KAAKA,IACpBinB,EAAUjnB,CAAK,IAEjB;AACT;AACA,SAASonB,GAAiB;AAAA,EACxB,OAAApnB;AAAA,EACA,MAAA2K;AAAA,EACA,MAAAyB;AAAA,EACA,MAAAib;AAAA,EACA,UAAAL,IAAW;AACb,GAAG;AACD,SAAuBlY,gBAAAA,EAAAA,IAAI,SAAS,EAAE,MAAM,UAAU,OAAOiY,GAAY,EAAE,OAAA/mB,GAAO,MAAA2K,GAAM,UAAAqc,EAAQ,CAAE,GAAG,MAAA5a,GAAM,MAAAib,EAAI,CAAE;AACnH;AACAD,GAAiB,cAAc;ACnC/B,SAAStW,GAAE4F,GAAE;AAAC,MAAIqO,GAAEnR,GAAE,IAAE;AAAG,MAAa,OAAO8C,KAAjB,YAA8B,OAAOA,KAAjB,SAAmB,MAAGA;AAAA,WAAoB,OAAOA,KAAjB,SAAmB,KAAG,MAAM,QAAQA,CAAC,GAAE;AAAC,QAAI3U,IAAE2U,EAAE;AAAO,SAAIqO,IAAE,GAAEA,IAAEhjB,GAAEgjB,IAAI,CAAArO,EAAEqO,CAAC,MAAInR,IAAE9C,GAAE4F,EAAEqO,CAAC,CAAC,OAAK,MAAI,KAAG,MAAK,KAAGnR;AAAA,EAAE,MAAM,MAAIA,KAAK8C,EAAE,CAAAA,EAAE9C,CAAC,MAAI,MAAI,KAAG,MAAK,KAAGA;AAAG,SAAO;AAAC;AAAQ,SAAS0T,KAAM;AAAC,WAAQ5Q,GAAEqO,GAAEnR,IAAE,GAAE,IAAE,IAAG7R,IAAE,UAAU,QAAO6R,IAAE7R,GAAE6R,IAAI,EAAC8C,IAAE,UAAU9C,CAAC,OAAKmR,IAAEjU,GAAE4F,CAAC,OAAK,MAAI,KAAG,MAAK,KAAGqO;AAAG,SAAO;AAAC;ACC/W,IAAIwC,KAAU,EAAC,KAAM,aAAY;ACKjC,MAAMC,KAAeC,GAAmB,CAAC/mB,GAAG,EAAE,MAAA/B,EAAI,OAAQ;AAAA,EACxD,KAAK;AAAA,IACH,cAAc+oB,GAAQ/oB,GAAM,UAAU;AAAA,EAC1C;AACA,EAAE,GACIgpB,KAAMC,GAAQ,CAACC,GAAQC,MAAQ;AACnC,QAAMnb,IAAQob,GAAS,OAAO,MAAMF,CAAM,GACpC;AAAA,IACJ,YAAAG;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,MAAAC;AAAA,IACA,UAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,QAAAC;AAAA,IACA,QAAQC;AAAA,IACR,gBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,GAAGC;AAAA,EACP,IAAMzc,GACE0c,IAAYC,GAAU;AAAA,IAC1B,MAAMd,KAAoB;AAAA,IAC9B,SAAIjB;AAAAA,IACA,OAAA5a;AAAA,IACA,WAAAsb;AAAA,IACA,OAAAC;AAAA,IACA,YAAAF;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,YAAAe;AAAA,IACA,MAAAd;AAAA,IACJ,cAAIb;AAAAA,IACA,cAAc;AAAA,EAClB,CAAG;AACD,SAAuB1Y,gBAAAA,EAAAA;AAAAA,IACrBya;AAAA,IACA;AAAA,MACE,GAAGF,EAAU,OAAO,EAAE,OAAOL,IAAS,EAAE,SAAS,WAAW,QAAQ;AAAA,MACpE,WAAWC,IAAW,QAAQ;AAAA,MAC9B,KAAAnB;AAAA,MACA,UAAAS;AAAA,MACA,cAAcpC,GAAMmC,CAAI,EAAE,OAAuB,oBAAI,KAAI,GAAI,KAAK,KAAK;AAAA,MACvE,eAAeU,KAAU;AAAA,MACzB,wBAAwBE,KAAkB;AAAA,MAC1C,iBAAiBX,KAAY;AAAA,MAC7B,gBAAgB,CAACA,KAAY,CAACG,KAAWD,KAAW;AAAA,MACpD,gBAAgB,CAACF,KAAYG,KAAW;AAAA,MACxC,iBAAiB,CAACH,KAAYI,KAAY;AAAA,MAC1C,iBAAiBE,KAAW,CAACN,KAAY;AAAA,MACzC,uBAAuBO,KAAgB,CAACP,KAAY;AAAA,MACpD,sBAAsBQ,KAAe,CAACR,KAAY;AAAA,MAClD,eAAeU,KAAY;AAAA,MAC3B,UAAAb;AAAA,MACA,GAAGgB;AAAA,MACH,UAAUR,IAAYN,CAAI,KAAKnC,GAAMmC,CAAI,EAAE,KAAI;AAAA,IACrD;AAAA,EACA;AACA,CAAC;AACDX,GAAI,UAAUJ;AACdI,GAAI,cAAc;ACxElB,SAAS6B,GAAgB;AAAA,EACvB,QAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,gBAAAC,IAAiB;AACnB,GAAG;AACD,QAAMC,IAAWzD,KAAQ,IAAIwD,CAAc,GACrCE,IAAS,CAAA;AACf,WAASnoB,IAAI,GAAGA,IAAI,GAAGA,KAAK;AAC1B,IAAI,OAAOgoB,KAAW,WACpBG,EAAO,KAAK1D,GAAMyD,CAAQ,EAAE,IAAIloB,GAAG,MAAM,EAAE,OAAO+nB,CAAM,EAAE,OAAOC,CAAM,CAAC,IAExEG,EAAO,KAAKH,EAAOvD,GAAMyD,CAAQ,EAAE,IAAIloB,GAAG,MAAM,EAAE,OAAO,YAAY,CAAC,CAAC;AAG3E,SAAOmoB;AACT;ACjBA,IAAItC,KAAU,EAAC,SAAU,YAAW;ACOpC,MAAMC,KAAeC,GAAmB,CAAC/mB,GAAG,EAAE,MAAA/B,EAAI,OAAQ;AAAA,EACxD,aAAa;AAAA,IACX,WAAWmrB,GAAYnrB,CAAI;AAAA,IAC3B,gBAAgBorB,GAAWprB,CAAI;AAAA,EACnC;AACA,EAAE,GACIqrB,KAAcpC,GAAQ,CAACC,GAAQC,MAAQ;AAC3C,QAAMnb,IAAQob,GAAS,eAAe,MAAMF,CAAM,GAC5C;AAAA,IACJ,YAAAG;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,QAAAoB;AAAA,IACA,gBAAAE;AAAA,IACA,eAAAM;AAAA,IACA,eAAeC,IAAgB;AAAA,IAC/B,kBAAA1B;AAAA,IACA,iBAAA2B;AAAA,IACA,YAAAhB;AAAA,IACA,GAAGC;AAAA,EACP,IAAMzc,GACE0c,IAAYC,GAAU;AAAA,IAC1B,MAAMd,KAAoB;AAAA,IAC9B,SAAIjB;AAAAA,IACA,OAAA5a;AAAA,IACA,WAAAsb;AAAA,IACA,OAAAC;AAAA,IACA,YAAAF;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,YAAAe;AAAA,IACA,MAAAd;AAAA,IACJ,cAAIb;AAAAA,IACA,cAAc;AAAA,EAClB,CAAG,GACKhB,IAAMD,GAAe,GACrB6D,IAAWZ,GAAgB;AAAA,IAC/B,QAAQhD,EAAI,UAAUiD,CAAM;AAAA,IAC5B,QAAQQ;AAAA,IACR,gBAAgBzD,EAAI,kBAAkBmD,CAAc;AAAA,EACxD,CAAG,EAAE,IAAI,CAACU,GAASC,MAA0Bxb,gBAAAA,EAAAA,IAAIob,GAAe,EAAE,GAAGb,EAAU,SAAS,GAAG,UAAUgB,EAAO,GAAIC,CAAK,CAAC;AACpH,SAAuBC,gBAAAA,OAAKC,IAAK,EAAE,WAAW,MAAM,KAAA1C,GAAK,GAAGuB,EAAU,aAAa,GAAG,GAAGD,GAAQ,UAAU;AAAA,IACzGe,KAAmCrb,gBAAAA,EAAAA,IAAIob,GAAe,EAAE,GAAGb,EAAU,SAAS,GAAG,UAAU,KAAK;AAAA,IAChGe;AAAA,EACJ,GAAK;AACL,CAAC;AACDJ,GAAY,UAAUzC;AACtByC,GAAY,cAAc;ACvD1B,SAASS,GAAanC,GAAMqB,IAAiB,GAAG;AAC9C,MAAI3pB,IAAQmmB,GAAMmC,CAAI;AACtB,MAAI,CAACtoB,EAAM;AACT,WAAOA;AAET,QAAM0qB,IAAgBf,MAAmB,IAAI,IAAIA,IAAiB;AAClE,SAAO3pB,EAAM,IAAG,MAAO0qB;AACrB,IAAA1qB,IAAQA,EAAM,IAAI,GAAG,KAAK;AAE5B,SAAOA,EAAM,OAAO,YAAY;AAClC;ACVA,SAAS2qB,GAAerC,GAAMqB,IAAiB,GAAG;AAChD,MAAI3pB,IAAQmmB,GAAMmC,CAAI;AACtB,SAAOtoB,EAAM,IAAG,MAAO2pB;AACrB,IAAA3pB,IAAQA,EAAM,SAAS,GAAG,KAAK;AAEjC,SAAOA,EAAM,OAAO,YAAY;AAClC;ACJA,SAAS4qB,GAAa;AAAA,EACpB,OAAAC;AAAA,EACA,gBAAAlB,IAAiB;AAAA,EACjB,iBAAAmB;AACF,GAAG;AACD,QAAMC,IAAM5E,GAAM0E,CAAK,EAAE,SAAS1E,GAAM0E,CAAK,EAAE,SAAS,GAAG,KAAK,GAC1DG,IAAQ7E,GAAM4E,EAAI,OAAO,UAAU,CAAC,GACpCE,IAAeD,EAAM,OAAO,YAAY,GACxCE,IAAaF,EAAM,IAAI,CAACA,EAAM,YAAW,IAAK,GAAG,KAAK,EAAE,OAAO,YAAY,GAC3E7D,IAAUsD,GAAaS,GAAYvB,CAAc,GACjDwB,IAAQ,CAAA;AACd,MAAI7C,IAAOnC,GAAMwE,GAAeM,GAActB,CAAc,CAAC;AAC7D,SAAOxD,GAAMmC,CAAI,EAAE,SAASnB,GAAS,KAAK,KAAG;AAC3C,UAAMiE,IAAO,CAAA;AACb,aAAS1pB,IAAI,GAAGA,IAAI,GAAGA,KAAK;AAC1B,MAAA0pB,EAAK,KAAK9C,EAAK,OAAO,YAAY,CAAC,GACnCA,IAAOA,EAAK,IAAI,GAAG,KAAK;AAE1B,IAAA6C,EAAM,KAAKC,CAAI;AAAA,EACjB;AACA,MAAIN,KAAmBK,EAAM,SAAS,GAAG;AACvC,UAAME,IAAWF,EAAMA,EAAM,SAAS,CAAC,GACjCG,IAAUD,EAASA,EAAS,SAAS,CAAC;AAC5C,QAAIE,IAAUpF,GAAMmF,CAAO,EAAE,IAAI,GAAG,KAAK;AACzC,WAAOH,EAAM,SAAS,KAAG;AACvB,YAAMC,IAAO,CAAA;AACb,eAAS1pB,IAAI,GAAGA,IAAI,GAAGA,KAAK;AAC1B,QAAA0pB,EAAK,KAAKG,EAAQ,OAAO,YAAY,CAAC,GACtCA,IAAUA,EAAQ,IAAI,GAAG,KAAK;AAEhC,MAAAJ,EAAM,KAAKC,CAAI;AAAA,IACjB;AAAA,EACF;AACA,SAAOD;AACT;ACpCA,SAASK,GAAYlD,GAAMmD,GAAY;AACrC,SAAOtF,GAAMmC,CAAI,EAAE,OAAO,SAAS,MAAMnC,GAAMsF,CAAU,EAAE,OAAO,SAAS;AAC7E;ACFA,SAASC,GAAepD,GAAMqD,GAAS;AACrC,SAAOA,IAAUxF,GAAMmC,CAAI,EAAE,QAAQnC,GAAMwF,CAAO,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK,IAAI;AACnF;ACFA,SAASC,GAAgBtD,GAAMuD,GAAS;AACtC,SAAOA,IAAU1F,GAAMmC,CAAI,EAAE,SAASnC,GAAM0F,CAAO,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI;AAC/E;ACCA,SAASC,GAAkB;AAAA,EACzB,OAAAC;AAAA,EACA,SAAAJ;AAAA,EACA,SAAAE;AAAA,EACA,aAAAG;AAAA,EACA,aAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,OAAArB;AACF,GAAG;AACD,QAAMsB,IAAeJ,EAAM,KAAI,EAAG;AAAA,IAChC,CAACzD,MAASsD,GAAgBtD,GAAMuD,CAAO,KAAKH,GAAepD,GAAMqD,CAAO,KAAK,CAACM,IAAc3D,CAAI,KAAK,CAAC0D,IAAc1D,CAAI,GAAG,aAAa,CAAC4D,KAAoBV,GAAYlD,GAAMuC,CAAK;AAAA,EACxL,GACQuB,IAAeD,EAAa,KAAK,CAAC7D,MAAS0D,IAAc1D,CAAI,GAAG,QAAQ;AAC9E,MAAI8D;AACF,WAAOA;AAET,QAAMC,IAAcF,EAAa,KAAK,CAAC7D,MAASnC,GAAK,EAAG,OAAOmC,GAAM,MAAM,CAAC;AAC5E,SAAI+D,KAGGF,EAAa,CAAC;AACvB;;;;AC3BA,KAAC,SAASzV,GAAEqO,GAAE;AAAsD,MAAAC,EAAA,UAAeD;IAAkI,GAAEE,KAAM,WAAU;AAAc,UAAIvO,IAAE;AAAM,aAAO,SAASqO,GAAE,GAAE5T,GAAE;AAAC,YAAIlQ,IAAE,SAAS8jB,GAAE;AAAC,iBAAOA,EAAE,IAAI,IAAEA,EAAE,cAAarO,CAAC;AAAA,QAAC,GAAEvE,IAAE,EAAE;AAAU,QAAAA,EAAE,cAAY,WAAU;AAAC,iBAAOlR,EAAE,IAAI,EAAE,KAAI;AAAA,QAAE,GAAEkR,EAAE,UAAQ,SAAS4S,GAAE;AAAC,cAAG,CAAC,KAAK,OAAM,EAAG,EAAEA,CAAC,EAAE,QAAO,KAAK,IAAI,KAAGA,IAAE,KAAK,QAAO,IAAIrO,CAAC;AAAE,cAAIhV,GAAEyQ,GAAEtB,GAAE9O,GAAE+O,IAAE7P,EAAE,IAAI,GAAEoU,KAAG3T,IAAE,KAAK,YAAW,GAAGyQ,IAAE,KAAK,IAAGtB,KAAGsB,IAAEhB,EAAE,MAAIA,GAAC,EAAI,KAAKzP,CAAC,EAAE,QAAQ,MAAM,GAAEK,IAAE,IAAE8O,EAAE,WAAU,GAAGA,EAAE,WAAU,IAAG,MAAI9O,KAAG,IAAG8O,EAAE,IAAI9O,GAAE2U,CAAC;AAAG,iBAAO5F,EAAE,KAAKuE,GAAE,MAAM,IAAE;AAAA,QAAC,GAAElD,EAAE,aAAW,SAASuE,GAAE;AAAC,iBAAO,KAAK,OAAM,EAAG,EAAEA,CAAC,IAAE,KAAK,SAAO,IAAE,KAAK,IAAI,KAAK,IAAG,IAAG,IAAEA,IAAEA,IAAE,CAAC;AAAA,QAAC;AAAE,YAAI7F,IAAEsB,EAAE;AAAQ,QAAAA,EAAE,UAAQ,SAASuE,GAAEqO,GAAE;AAAC,cAAIrjB,IAAE,KAAK,OAAM,GAAGyP,IAAE,CAAC,CAACzP,EAAE,EAAEqjB,CAAC,KAAGA;AAAE,iBAAkBrjB,EAAE,EAAEgV,CAAC,MAAjB,YAAmBvF,IAAE,KAAK,KAAK,KAAK,UAAQ,KAAK,WAAU,IAAG,EAAE,EAAE,QAAQ,KAAK,IAAE,KAAK,KAAK,KAAK,KAAI,IAAG,KAAG,KAAK,eAAa,KAAG,CAAC,EAAE,MAAM,KAAK,IAAEN,EAAE,KAAK,IAAI,EAAE6F,GAAEqO,CAAC;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC;;;;;ACIn+BoB,GAAM,OAAOmG,EAAO;AACpB,SAASC,GAAcC,GAAM;AAC3B,QAAMC,IAASD,EAAK,KAAK,CAAClE,MAASnC,GAAMmC,CAAI,EAAE,IAAG,MAAO,CAAC;AAC1D,SAAOnC,GAAMsG,CAAM,EAAE,QAAO;AAC9B;ACPA,IAAIlF,KAAU,EAAC,OAAQ,cAAa,WAAY,cAAa,YAAa,aAAY;ACgBtF,MAAMmF,KAAe;AAAA,EACnB,iBAAiB;AACnB,GACMlF,KAAeC,GAAmB,CAAC/mB,GAAG,EAAE,MAAA/B,EAAI,OAAQ;AAAA,EACxD,YAAY;AAAA,IACV,WAAWmrB,GAAYnrB,CAAI;AAAA,IAC3B,aAAa+oB,GAAQ/oB,GAAM,SAAS;AAAA,EACxC;AACA,EAAE,GACIguB,KAAQ/E,GAAQ,CAACC,GAAQC,MAAQ;AACrC,QAAMnb,IAAQob,GAAS,SAAS2E,IAAc7E,CAAM,GAC9C;AAAA,IACJ,YAAAG;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,kBAAAG;AAAA,IACA,QAAAiB;AAAA,IACA,gBAAAE;AAAA,IACA,eAAAM;AAAA,IACA,OAAAY;AAAA,IACA,aAAA+B;AAAA,IACA,aAAAZ;AAAA,IACA,aAAAC;AAAA,IACA,SAAAN;AAAA,IACA,SAAAE;AAAA,IACA,WAAAjD;AAAA,IACA,kBAAAsD;AAAA,IACA,cAAAW;AAAA,IACA,iBAAAC;AAAA,IACA,QAAQ7D;AAAA,IACR,aAAA8D;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,MAAA1uB;AAAA,IACA,gBAAAuqB;AAAA,IACA,iBAAAiB;AAAA,IACA,YAAAhB;AAAA,IACA,GAAGC;AAAA,EACP,IAAMzc,GACE0c,IAAYC,GAAU;AAAA,IAC1B,MAAMd,KAAoB;AAAA,IAC9B,SAAIjB;AAAAA,IACA,OAAA5a;AAAA,IACA,WAAAsb;AAAA,IACA,OAAAC;AAAA,IACA,YAAAF;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,YAAAe;AAAA,IACA,MAAAd;AAAA,IACJ,cAAIb;AAAAA,IACA,cAAc;AAAA,EAClB,CAAG,GACKhB,IAAMD,GAAe,GACrBwF,IAAQnB,GAAa;AAAA,IACzB,OAAAC;AAAA,IACA,gBAAgBrE,EAAI,kBAAkBmD,CAAc;AAAA,IACpD,iBAAiBnD,EAAI;AAAA,EACzB,CAAG,GACK8G,IAAiBxB,GAAkB;AAAA,IACvC,OAAAC;AAAA,IACA,SAAS7F,GAAayF,CAAO;AAAA,IAC7B,SAASzF,GAAa2F,CAAO;AAAA,IAC7B,aAAAG;AAAA,IACA,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,OAAArB;AAAA,EACJ,CAAG,GACK,EAAE,oBAAA0C,GAAoB,gBAAAC,EAAc,IAAKC,GAAqB;AAAA,IAClE,YAAAzF;AAAA,IACA,QAAAG;AAAA,IACA,OAAAxb;AAAA,EACJ,CAAG,GACK+gB,IAAO3B,EAAM,IAAI,CAAChG,IAAKT,MAAa;AACxC,UAAMqI,KAAQ5H,GAAI,IAAI,CAACuC,IAAM/C,OAAc;AACzC,YAAMmD,IAAU,CAAC8C,GAAYlD,IAAMuC,CAAK,GAClC+C,IAAYd,KAAkBxE,EAAI,KAAKnC,GAAMmC,EAAI,EAAE,OAAOmB,KAAUjD,EAAI,MAAM,EAAE,OAAO,aAAa,GACpGqH,IAAW7B,IAAc1D,EAAI,GAC7BwF,IAAmB3H,GAAMmC,EAAI,EAAE,OAAOgF,GAAgB,MAAM;AAClE,aAAuBxe,gBAAAA,EAAAA;AAAAA,QACrB;AAAA,QACA;AAAA,UACE,GAAGua,EAAU,WAAW;AAAA,UACxB,qBAAqBgE,KAAmB;AAAA,UACxC,UAA0Bve,gBAAAA,EAAAA;AAAAA,YACxB6Y;AAAA,YACA;AAAA,cACE,kBAAkBa,KAAoB;AAAA,cACtC,YAAY+E;AAAA,cACZ,QAAQC;AAAA,cACR,UAAApF;AAAA,cACA,iCAAiCgF,KAAqB;AAAA,cACtD,gBAAAlE;AAAA,cACA,WAAAN;AAAA,cACA,MAAAN;AAAA,cACA,MAAA3pB;AAAA,cACA,SAAS6nB,EAAI,eAAeoG,CAAW,EAAE,SAASzG,GAAMmC,EAAI,EAAE,IAAI,KAAK,CAAC;AAAA,cACxE,SAAAI;AAAA,cACA,QAAQwD,IAAmBxD,IAAU;AAAA,cACrC,cAAckF;AAAA,cACd,QAAQ3E;AAAA,cACR,UAAUgD,IAAc3D,EAAI,KAAK,CAACsD,GAAgBtD,IAAMpC,GAAa2F,CAAO,CAAC,KAAK,CAACH,GAAepD,IAAMpC,GAAayF,CAAO,CAAC;AAAA,cAC7H,KAAK,CAAC5d,MAAS;AACb,gBAAIA,KACFgf,IAAczH,GAAUC,IAAWxX,CAAI;AAAA,cAE3C;AAAA,cACA,GAAG8f;AAAA,cACH,WAAW,CAAC5H,MAAU;AACpB,gBAAA4H,GAAU,YAAY5H,CAAK,GAC3B+G,IAAiB/G,GAAO,EAAE,UAAAX,GAAU,WAAAC,IAAW,MAAA+C,GAAI,CAAE;AAAA,cACvD;AAAA,cACA,cAAc,CAACrC,MAAU;AACvB,gBAAA4H,GAAU,eAAe5H,CAAK,GAC9BiH,IAAoBjH,GAAOqC,EAAI;AAAA,cACjC;AAAA,cACA,SAAS,CAACrC,MAAU;AAClB,gBAAA4H,GAAU,UAAU5H,CAAK,GACzBgH,IAAehH,GAAOqC,EAAI;AAAA,cAC5B;AAAA,cACA,aAAa,CAACrC,MAAU;AACtB,gBAAA4H,GAAU,cAAc5H,CAAK,GAC7BkH,MAAkBlH,EAAM,eAAc;AAAA,cACxC;AAAA,cACA,UAAUkH,MAAkB,CAACW,IAAmB,KAAK;AAAA,YACnE;AAAA,UACA;AAAA,QACA;AAAA,QACQxF,GAAK,SAAQ;AAAA,MACrB;AAAA,IACI,CAAC;AACD,WAAuBiC,gBAAAA,EAAAA,KAAK,MAAM,EAAE,GAAGlB,EAAU,UAAU,GAAG,UAAU;AAAA,MACtEc,KAAmCrb,gBAAAA,EAAAA,IAAI,MAAM,EAAE,GAAGua,EAAU,YAAY,GAAG,UAAUkD,GAAcxG,EAAG,GAAG;AAAA,MACzG4H;AAAA,IACN,EAAK,GAAIrI,CAAQ;AAAA,EACf,CAAC;AACD,SAAuBiF,gBAAAA,EAAAA,KAAKC,IAAK,EAAE,WAAW,SAAS,GAAGnB,EAAU,OAAO,GAAG,MAAA1qB,GAAM,KAAAmpB,GAAK,GAAGsB,GAAQ,UAAU;AAAA,IAC5G,CAACyD,KAAgC/d,gBAAAA,EAAAA,IAAI,SAAS,EAAE,GAAGua,EAAU,YAAY,GAAG,UAA0Bva,gBAAAA,EAAAA;AAAAA,MACpGkb;AAAA,MACA;AAAA,QACE,kBAAkBxB,KAAoB;AAAA,QACtC,QAAAiB;AAAA,QACA,gBAAAE;AAAA,QACA,eAAAM;AAAA,QACA,MAAAtrB;AAAA,QACA,YAAY4uB;AAAA,QACZ,QAAQC;AAAA,QACR,UAAApF;AAAA,QACA,iBAAA+B;AAAA,MACR;AAAA,IACA,GAAO;AAAA,IACarb,gBAAAA,EAAAA,IAAI,SAAS,EAAE,GAAGua,EAAU,YAAY,GAAG,UAAUqE,EAAI,CAAE;AAAA,EAC/E,GAAK;AACL,CAAC;AACDf,GAAM,UAAUpF;AAChBoF,GAAM,cAAc;AClLpB,IAAIpF,KAAU,EAAC,eAAgB,aAAY;ACI3C,MAAMC,KAAeC,GAAmB,CAAC/mB,GAAG,EAAE,MAAA/B,EAAI,OAAQ;AAAA,EACxD,eAAe;AAAA,IACb,YAAYmrB,GAAYnrB,CAAI;AAAA,IAC5B,cAAc+oB,GAAQ/oB,GAAM,UAAU;AAAA,EAC1C;AACA,EAAE,GACIovB,KAAgBnG,GAAQ,CAACC,GAAQC,MAAQ;AAC7C,QAAMnb,IAAQob,GAAS,iBAAiB,MAAMF,CAAM,GAC9C;AAAA,IACJ,YAAAG;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAS;AAAA,IACA,aAAAC;AAAA,IACA,SAAAF;AAAA,IACA,kBAAAL;AAAA,IACA,UAAAG;AAAA,IACA,UAAAJ;AAAA,IACA,YAAAY;AAAA,IACA,GAAGC;AAAA,EACP,IAAMzc,GACE0c,IAAYC,GAAU;AAAA,IAC1B,MAAMd,KAAoB;AAAA,IAC9B,SAAIjB;AAAAA,IACA,OAAA5a;AAAA,IACA,WAAAsb;AAAA,IACA,OAAAC;AAAA,IACA,YAAAF;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,YAAAe;AAAA,IACA,MAAAd;AAAA,IACJ,cAAIb;AAAAA,IACA,cAAc;AAAA,EAClB,CAAG;AACD,SAAuB1Y,gBAAAA,EAAAA;AAAAA,IACrBya;AAAA,IACA;AAAA,MACE,GAAGF,EAAU,eAAe;AAAA,MAC5B,KAAAvB;AAAA,MACA,UAAAM;AAAA,MACA,uBAAuB;AAAA,MACvB,iBAAiBO,KAAY,CAACJ,KAAY;AAAA,MAC1C,iBAAiBA,KAAY;AAAA,MAC7B,iBAAiBM,KAAW,CAACN,KAAY,CAACI,KAAY;AAAA,MACtD,uBAAuBG,KAAgB,CAACP,KAAY;AAAA,MACpD,sBAAsBQ,KAAe,CAACR,KAAY;AAAA,MAClD,UAAAA;AAAA,MACA,GAAGa;AAAA,IACT;AAAA,EACA;AACA,CAAC;AACD2E,GAAc,UAAUxG;AACxBwG,GAAc,cAAc;AC1D5B,SAASC,GAAe,EAAE,MAAAC,GAAM,SAAAtC,GAAS,SAAAE,EAAO,GAAI;AAClD,SAAI,CAACF,KAAW,CAACE,IACR,KAEL,GAAAF,KAAWxF,GAAM8H,CAAI,EAAE,SAAStC,GAAS,MAAM,KAG/CE,KAAW1F,GAAM8H,CAAI,EAAE,QAAQpC,GAAS,MAAM;AAIpD;ACVA,SAASqC,GAAkB;AAAA,EACzB,OAAAC;AAAA,EACA,SAAAxC;AAAA,EACA,SAAAE;AAAA,EACA,qBAAAuC;AACF,GAAG;AACD,QAAMC,IAAeF,EAAM,KAAI,EAAG;AAAA,IAChC,CAACF,MAAS,CAACD,GAAe,EAAE,MAAAC,GAAM,SAAAtC,GAAS,SAAAE,EAAO,CAAE,KAAK,CAACuC,IAAsBH,CAAI,GAAG;AAAA,EAC3F,GACQK,IAAeD,EAAa,KAAK,CAACJ,MAASG,IAAsBH,CAAI,GAAG,QAAQ;AACtF,MAAIK;AACF,WAAOA;AAET,QAAMC,IAAcF,EAAa,KAAK,CAACJ,MAAS9H,GAAK,EAAG,OAAO8H,GAAM,MAAM,CAAC;AAC5E,SAAIM,KAGGF,EAAa,CAAC;AACvB;ACnBA,SAASG,GAAaC,GAAQ;AAC5B,QAAMR,IAAO9H,GAAMsI,CAAM,EAAE,KAAI,GACzBC,IAAUT,IAAOA,IAAO;AAC9B,MAAIU,IAAmB;AACvB,QAAMC,IAAU,CAAC,CAAA,GAAI,CAAA,GAAI,CAAA,GAAI,CAAA,CAAE;AAC/B,WAASltB,IAAI,GAAGA,IAAI,GAAGA,KAAK,GAAG;AAC7B,UAAMmtB,IAAMntB,MAAM,IAAI,IAAI;AAC1B,aAAS6Q,IAAI,GAAGA,IAAIsc,GAAKtc,KAAK;AAC5B,MAAAqc,EAAQltB,CAAC,EAAE,KAAKykB,GAAM,IAAI,KAAKuI,IAAUC,GAAkB,CAAC,CAAC,EAAE,OAAO,YAAY,CAAC,GACnFA,KAAoB;AAAA,EAExB;AACA,SAAOC;AACT;ACfA,IAAIrH,KAAU,EAAC,WAAY,cAAa,eAAgB,aAAY;ACWpE,MAAMmF,KAAe;AAAA,EACnB,iBAAiB;AAAA,EACjB,iBAAiB;AACnB,GACMoC,KAAYlH,GAAQ,CAACC,GAAQC,MAAQ;AACzC,QAAMnb,IAAQob,GAAS,aAAa2E,IAAc7E,CAAM,GAClD;AAAA,IACJ,YAAAG;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,QAAAoG;AAAA,IACA,iBAAAM;AAAA,IACA,QAAAtF;AAAA,IACA,SAAAkC;AAAA,IACA,SAAAE;AAAA,IACA,qBAAAuC;AAAA,IACA,kBAAA5F;AAAA,IACA,iBAAAwG;AAAA,IACA,oBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,gBAAAhC;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,MAAA1uB;AAAA,IACA,YAAAwqB;AAAA,IACA,GAAGC;AAAA,EACP,IAAMzc,GACE0c,IAAYC,GAAU;AAAA,IAC1B,MAAMd,KAAoB;AAAA,IAC9B,SAAIjB;AAAAA,IACA,OAAA5a;AAAA,IACA,WAAAsb;AAAA,IACA,OAAAC;AAAA,IACA,YAAAF;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,YAAAe;AAAA,IACA,MAAAd;AAAA,IACA,cAAc;AAAA,EAClB,CAAG,GACK7B,IAAMD,GAAe,GACrB4H,KAAQK,GAAaC,CAAM,GAC3BW,IAAiBlB,GAAkB;AAAA,IACvC,OAAAC;AAAA,IACA,SAAAxC;AAAA,IACA,SAAAE;AAAA,IACA,qBAAAuC;AAAA,EACJ,CAAG,GACKV,IAAOS,GAAM,IAAI,CAACkB,GAAU/J,MAAa;AAC7C,UAAMqI,IAAQ0B,EAAS,IAAI,CAACpB,GAAM1I,MAAc;AAC9C,YAAM+J,IAAelB,IAAsBH,CAAI,GACzCsB,IAAmBpJ,GAAM8H,CAAI,EAAE,OAAOmB,GAAgB,MAAM;AAClE,aAAuBtgB,gBAAAA,EAAAA;AAAAA,QACrB;AAAA,QACA;AAAA,UACE,GAAGua,EAAU,eAAe;AAAA,UAC5B,qBAAqBgE,MAAmB;AAAA,UACxC,UAA0Bve,gBAAAA,EAAAA;AAAAA,YACxBif;AAAA,YACA;AAAA,cACE,GAAG1E,EAAU,kBAAkB;AAAA,cAC/B,MAAA1qB;AAAA,cACA,UAAAypB;AAAA,cACA,iCAAiCgF,KAAqB;AAAA,cACtD,UAAUY,GAAe,EAAE,MAAAC,GAAM,SAAAtC,GAAS,SAAAE,EAAO,CAAE;AAAA,cACnD,KAAK,CAAC9d,MAAS;AACb,gBAAIA,KACFihB,IAAkB1J,GAAUC,GAAWxX,CAAI;AAAA,cAE/C;AAAA,cACA,GAAGuhB;AAAA,cACH,WAAW,CAACrJ,MAAU;AACpB,gBAAAqJ,GAAc,YAAYrJ,CAAK,GAC/BgJ,IAAqBhJ,GAAO,EAAE,UAAAX,GAAU,WAAAC,GAAW,MAAM0I,GAAM;AAAA,cACjE;AAAA,cACA,SAAS,CAAChI,MAAU;AAClB,gBAAAqJ,GAAc,UAAUrJ,CAAK,GAC7BiJ,IAAmBjJ,GAAOgI,CAAI;AAAA,cAChC;AAAA,cACA,cAAc,CAAChI,MAAU;AACvB,gBAAAqJ,GAAc,eAAerJ,CAAK,GAClCkJ,IAAwBlJ,GAAOgI,CAAI;AAAA,cACrC;AAAA,cACA,aAAa,CAAChI,MAAU;AACtB,gBAAAqJ,GAAc,cAAcrJ,CAAK,GACjCkH,KAAkBlH,EAAM,eAAc;AAAA,cACxC;AAAA,cACA,UAAUkH,KAAkB,CAACoC,IAAmB,KAAK;AAAA,cACrD,UAAUpJ,GAAM8H,CAAI,EAAE,OAAOzH,EAAI,UAAUiD,CAAM,CAAC,EAAE,OAAOsF,CAAe;AAAA,YACxF;AAAA,UACA;AAAA,QACA;AAAA,QACQxJ;AAAA,MACR;AAAA,IACI,CAAC;AACD,WAAuBzW,gBAAAA,EAAAA,IAAI,MAAM,EAAE,GAAGua,EAAU,cAAc,GAAG,UAAUsE,EAAK,GAAIrI,CAAQ;AAAA,EAC9F,CAAC;AACD,SAAuBxW,gBAAAA,EAAAA,IAAI0b,IAAK,EAAE,WAAW,SAAS,KAAA1C,GAAK,MAAAnpB,GAAM,GAAG0qB,EAAU,WAAW,GAAG,GAAGD,GAAQ,UAA0Bta,gBAAAA,MAAI,SAAS,EAAE,UAAU4e,EAAI,CAAE,GAAG;AACrK,CAAC;AACDoB,GAAU,UAAUvH;AACpBuH,GAAU,cAAc;ACjHxB,SAASU,GAAgB,EAAE,OAAA3E,GAAO,SAAAc,GAAS,SAAAE,EAAO,GAAI;AACpD,SAAI,CAACF,KAAW,CAACE,IACR,KAEL,GAAAF,KAAWxF,GAAM0E,CAAK,EAAE,SAASc,GAAS,OAAO,KAGjDE,KAAW1F,GAAM0E,CAAK,EAAE,QAAQgB,GAAS,OAAO;AAItD;ACVA,SAAS4D,GAAmB;AAAA,EAC1B,QAAAC;AAAA,EACA,SAAA/D;AAAA,EACA,SAAAE;AAAA,EACA,sBAAA8D;AACF,GAAG;AACD,QAAMC,IAAgBF,EAAO,KAAI,EAAG;AAAA,IAClC,CAAC7E,MAAU,CAAC2E,GAAgB,EAAE,OAAA3E,GAAO,SAAAc,GAAS,SAAAE,EAAO,CAAE,KAAK,CAAC8D,IAAuB9E,CAAK,GAAG;AAAA,EAChG,GACQgF,IAAgBD,EAAc,KAAK,CAAC/E,MAAU8E,IAAuB9E,CAAK,GAAG,QAAQ;AAC3F,MAAIgF;AACF,WAAOA;AAET,QAAMC,IAAeF,EAAc,KAAK,CAAC/E,MAAU1E,GAAK,EAAG,OAAO0E,GAAO,OAAO,CAAC;AACjF,SAAIiF,KAGGF,EAAc,CAAC;AACxB;ACnBA,SAASG,GAAc9B,GAAM;AAC3B,QAAM+B,IAAc7J,GAAM8H,CAAI,EAAE,QAAQ,MAAM,EAAE,OAAM,GAChDW,IAAU,CAAC,CAAA,GAAI,CAAA,GAAI,CAAA,GAAI,CAAA,CAAE;AAC/B,MAAIqB,IAAoB;AACxB,WAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC1B,aAAS1d,IAAI,GAAGA,IAAI,GAAGA,KAAK;AAC1B,MAAAqc,EAAQ,CAAC,EAAE,KAAKzI,GAAM6J,CAAW,EAAE,IAAIC,GAAmB,QAAQ,EAAE,OAAO,YAAY,CAAC,GACxFA,KAAqB;AAGzB,SAAOrB;AACT;ACbA,IAAIrH,KAAU,EAAC,YAAa,aAAY,gBAAiB,aAAY;ACYrE,MAAMmF,KAAe;AAAA,EACnB,kBAAkB;AAAA,EAClB,iBAAiB;AACnB,GACMwD,KAAatI,GAAQ,CAACC,GAAQC,MAAQ;AAC1C,QAAMnb,IAAQob,GAAS,cAAc2E,IAAc7E,CAAM,GACnD;AAAA,IACJ,YAAAG;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,kBAAAG;AAAA,IACA,MAAAyF;AAAA,IACA,kBAAAkC;AAAA,IACA,QAAA1G;AAAA,IACA,SAAAkC;AAAA,IACA,SAAAE;AAAA,IACA,sBAAA8D;AAAA,IACA,iBAAAX;AAAA,IACA,oBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,gBAAAhC;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,MAAA1uB;AAAA,IACA,YAAAwqB;AAAA,IACA,GAAGC;AAAA,EACP,IAAMzc,GACE0c,IAAYC,GAAU;AAAA,IAC1B,MAAMd,KAAoB;AAAA,IAC9B,SAAIjB;AAAAA,IACA,OAAA5a;AAAA,IACA,WAAAsb;AAAA,IACA,OAAAC;AAAA,IACA,YAAAF;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,YAAAe;AAAA,IACA,MAAAd;AAAA,IACA,cAAc;AAAA,EAClB,CAAG,GACK7B,IAAMD,GAAe,GACrBmJ,KAASK,GAAc9B,CAAI,GAC3BmC,IAAkBX,GAAmB;AAAA,IACzC,QAAAC;AAAA,IACA,SAASxJ,GAAayF,CAAO;AAAA,IAC7B,SAASzF,GAAa2F,CAAO;AAAA,IAC7B,sBAAA8D;AAAA,EACJ,CAAG,GACKjC,IAAOgC,GAAO,IAAI,CAACW,GAAW/K,MAAa;AAC/C,UAAMqI,IAAQ0C,EAAU,IAAI,CAACxF,GAAOtF,MAAc;AAChD,YAAM+J,IAAeK,IAAuB9E,CAAK,GAC3CyF,IAAoBnK,GAAM0E,CAAK,EAAE,OAAOuF,GAAiB,OAAO;AACtE,aAAuBthB,gBAAAA,EAAAA;AAAAA,QACrB;AAAA,QACA;AAAA,UACE,GAAGua,EAAU,gBAAgB;AAAA,UAC7B,qBAAqBgE,MAAmB;AAAA,UACxC,UAA0Bve,gBAAAA,EAAAA;AAAAA,YACxBif;AAAA,YACA;AAAA,cACE,GAAG1E,EAAU,mBAAmB;AAAA,cAChC,MAAA1qB;AAAA,cACA,UAAAypB;AAAA,cACA,kBAAkBI,KAAoB;AAAA,cACtC,iCAAiC4E,KAAqB;AAAA,cACtD,UAAUoC,GAAgB;AAAA,gBACxB,OAAA3E;AAAA,gBACA,SAAS3E,GAAayF,CAAO;AAAA,gBAC7B,SAASzF,GAAa2F,CAAO;AAAA,cAC7C,CAAe;AAAA,cACD,KAAK,CAAC9d,MAAS;AACb,gBAAIA,KACFihB,IAAkB1J,GAAUC,GAAWxX,CAAI;AAAA,cAE/C;AAAA,cACA,GAAGuhB;AAAA,cACH,WAAW,CAACrJ,MAAU;AACpB,gBAAAqJ,GAAc,YAAYrJ,CAAK,GAC/BgJ,IAAqBhJ,GAAO,EAAE,UAAAX,GAAU,WAAAC,GAAW,MAAMsF,GAAO;AAAA,cAClE;AAAA,cACA,SAAS,CAAC5E,MAAU;AAClB,gBAAAqJ,GAAc,UAAUrJ,CAAK,GAC7BiJ,IAAmBjJ,GAAO4E,CAAK;AAAA,cACjC;AAAA,cACA,cAAc,CAAC5E,MAAU;AACvB,gBAAAqJ,GAAc,eAAerJ,CAAK,GAClCkJ,IAAwBlJ,GAAO4E,CAAK;AAAA,cACtC;AAAA,cACA,aAAa,CAAC5E,MAAU;AACtB,gBAAAqJ,GAAc,cAAcrJ,CAAK,GACjCkH,KAAkBlH,EAAM,eAAc;AAAA,cACxC;AAAA,cACA,UAAUkH,KAAkB,CAACmD,IAAoB,KAAK;AAAA,cACtD,UAAUnK,GAAM0E,CAAK,EAAE,OAAOrE,EAAI,UAAUiD,CAAM,CAAC,EAAE,OAAO0G,CAAgB;AAAA,YAC1F;AAAA,UACA;AAAA,QACA;AAAA,QACQ5K;AAAA,MACR;AAAA,IACI,CAAC;AACD,WAAuBzW,gBAAAA,EAAAA,IAAI,MAAM,EAAE,GAAGua,EAAU,eAAe,GAAG,UAAUsE,EAAK,GAAIrI,CAAQ;AAAA,EAC/F,CAAC;AACD,SAAuBxW,gBAAAA,EAAAA,IAAI0b,IAAK,EAAE,WAAW,SAAS,KAAA1C,GAAK,MAAAnpB,GAAM,GAAG0qB,EAAU,YAAY,GAAG,GAAGD,GAAQ,UAA0Bta,gBAAAA,MAAI,SAAS,EAAE,UAAU4e,EAAI,CAAE,GAAG;AACtK,CAAC;AACDwC,GAAW,UAAU3I;AACrB2I,GAAW,cAAc;ACzHzB,IAAI3I,KAAU,EAAC,gBAAiB,cAAa,qBAAsB,cAAa,uBAAwB,cAAa,2BAA4B,aAAY;ACK7J,MAAMmF,KAAe;AAAA,EACnB,cAAc;AAAA,EACd,UAAU;AAAA,EACV,cAAc;AAAA,EACd,qBAAqB,CAAC,YAAY,SAAS,MAAM;AACnD,GACMlF,KAAeC,GAAmB,CAAC/mB,GAAG,EAAE,MAAA/B,EAAI,OAAQ;AAAA,EACxD,gBAAgB;AAAA,IACd,sBAAsB+oB,GAAQ/oB,GAAM,kBAAkB;AAAA,IACtD,YAAYmrB,GAAYnrB,CAAI;AAAA,EAChC;AACA,EAAE,GACI4xB,KAAiB3I,GAAQ,CAACC,GAAQC,MAAQ;AAC9C,QAAMnb,IAAQob,GAAS,kBAAkB2E,IAAc7E,CAAM,GACvD;AAAA,IACJ,YAAAG;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,UAAAmI;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,OAAAC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,kBAAA9I;AAAA,IACA,gBAAA2E;AAAA,IACA,mBAAAC;AAAA,IACA,YAAAjE;AAAA,IACA,GAAGC;AAAA,EACP,IAAMzc,GACE0c,IAAYC,GAAU;AAAA,IAC1B,MAAMd,KAAoB;AAAA,IAC9B,SAAIjB;AAAAA,IACA,OAAA5a;AAAA,IACA,WAAAsb;AAAA,IACA,OAAAC;AAAA,IACA,YAAAF;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,YAAAe;AAAA,IACA,MAAAd;AAAA,IACA,cAAAb;AAAA,IACA,cAAc;AAAA,EAClB,CAAG,GACK+J,IAAepE,IAAiB,CAAClH,MAAUA,EAAM,eAAc,IAAK,QACpEuL,IAAkBH,MAAgC,gBAAAI;AAAA,IACtDlI;AAAA,IACA;AAAA,MACE,GAAGF,EAAU,uBAAuB;AAAA,MACpC,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,cAAcsH;AAAA,MACd,SAASE;AAAA,MACT,UAAAzI;AAAA,MACA,aAAamJ;AAAA,MACb,UAAUN;AAAA,MACV,iBAAiBA,KAAoB;AAAA,MACrC,UAAU9D,KAAkB8D,IAAmB,KAAK;AAAA,MACpD,iCAAiC7D,KAAqB;AAAA,IAC5D;AAAA,IACIqD,KAAgC3hB,gBAAAA,EAAAA;AAAAA,MAC9B4iB;AAAA,MACA;AAAA,QACE,GAAGrI,EAAU,2BAA2B;AAAA,QACxC,kBAAkB;AAAA,QAClB,MAAM;AAAA,MACd;AAAA,IACA;AAAA,EACA,GACQsI,IAA+B,gBAAAF;AAAA,IACnClI;AAAA,IACA;AAAA,MACE,WAAW2H,IAAe,WAAW;AAAA,MACrC,GAAG7H,EAAU,qBAAqB;AAAA,MAClC,KAAK;AAAA,MACL,SAAS6H,IAAeJ,IAAe;AAAA,MACvC,UAAA1I;AAAA,MACA,aAAa8I,IAAeK,IAAe;AAAA,MAC3C,UAAU,CAACL;AAAA,MACX,eAAe,CAACA,KAAgB;AAAA,MAChC,cAAcC;AAAA,MACd,UAAUhE,KAAkB,CAAC+D,IAAe,KAAK;AAAA,MACjD,iCAAiC9D,KAAqB;AAAA,IAC5D;AAAA,IACI2D;AAAA,EACJ,GACQa,IAAcR,KAA4B,gBAAAK;AAAA,IAC9ClI;AAAA,IACA;AAAA,MACE,GAAGF,EAAU,uBAAuB;AAAA,MACpC,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,cAAcqH;AAAA,MACd,SAASE;AAAA,MACT,UAAAxI;AAAA,MACA,aAAamJ;AAAA,MACb,UAAUP;AAAA,MACV,iBAAiBA,KAAgB;AAAA,MACjC,UAAU7D,KAAkB6D,IAAe,KAAK;AAAA,MAChD,iCAAiC5D,KAAqB;AAAA,IAC5D;AAAA,IACIoD,KAA4B1hB,gBAAAA,EAAAA;AAAAA,MAC1B4iB;AAAA,MACA;AAAA,QACE,GAAGrI,EAAU,2BAA2B;AAAA,QACxC,kBAAkB;AAAA,QAClB,MAAM;AAAA,MACd;AAAA,IACA;AAAA,EACA,GACQwI,IAAWP,EAAoB,IAAI,CAACQ,MACpCA,MAAY,aACPN,IAELM,MAAY,UACPH,IAELG,MAAY,SACPF,IAEF,IACR;AACD,SAAuB9iB,gBAAAA,MAAI0b,IAAK,EAAE,GAAGnB,EAAU,gBAAgB,GAAG,KAAAvB,GAAK,GAAGsB,IAAQ,UAAUyI,EAAQ,CAAE;AACxG,CAAC;AACDtB,GAAe,UAAUhJ;AACzBgJ,GAAe,cAAc;AC5I7B,SAASwB,GAAetD,GAAQ;AAC9B,QAAMN,IAAQK,GAAaC,CAAM;AACjC,SAAO,CAACN,EAAM,CAAC,EAAE,CAAC,GAAGA,EAAM,CAAC,EAAE,CAAC,CAAC;AAClC;ACIA,MAAMzB,KAAe;AAAA,EACnB,mBAAmB;AACrB,GACMsF,KAAcpK,GAAQ,CAACC,GAAQC,MAAQ;AAC3C,QAAMnb,IAAQob,GAAS,eAAe2E,IAAc7E,CAAM,GACpD;AAAA;AAAA,IAEJ,QAAA4G;AAAA,IACA,QAAAhF;AAAA,IACA,SAAAkC;AAAA,IACA,SAAAE;AAAA,IACA,iBAAAkD;AAAA,IACA,qBAAAX;AAAA,IACA,iBAAAY;AAAA,IACA,oBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,iBAAA9B;AAAA;AAAA,IAEA,gBAAAF;AAAA,IACA,UAAAqD;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAG;AAAA,IACA,kBAAAC;AAAA,IACA,uBAAAE;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,qBAAAC;AAAA;AAAA,IAEA,mBAAAW;AAAA,IACA,YAAAjK;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,kBAAAI;AAAA,IACA,mBAAA4E;AAAA,IACA,MAAAzuB;AAAA,IACA,YAAAwqB;AAAA,IACA,GAAGC;AAAA,EACP,IAAMzc,GACE6Z,IAAMD,GAAe,GACrB,CAAC2L,GAAeC,CAAW,IAAIJ,GAAetD,CAAM,GACpD2D,IAAiB;AAAA,IACrB,kBAAkB5J,KAAoB;AAAA,IACtC,YAAAR;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,MAAAzpB;AAAA,IACA,YAAAwqB;AAAA,EACJ,GACQkJ,IAAgB,OAAOrB,KAAiB,YAAYA,IAAenF,IAAU,CAAC1F,GAAMgM,CAAW,EAAE,MAAM,MAAM,EAAE,SAAStG,CAAO,IAAI,IACnIyG,IAAoB,OAAOrB,MAAqB,YAAYA,KAAmBtF,IAAU,CAACxF,GAAM+L,CAAa,EAAE,QAAQ,MAAM,EAAE,QAAQvG,CAAO,IAAI,IAClJ4G,IAAe,CAACjK,IAAMoB,MAAWvD,GAAMmC,EAAI,EAAE,OAAOmB,KAAUjD,EAAI,MAAM,EAAE,OAAOkD,CAAM;AAC7F,SAAuBa,gBAAAA,EAAAA,KAAKC,IAAK,EAAE,qBAAqB,IAAM,MAAA7rB,GAAM,KAAAmpB,GAAK,GAAGsB,GAAQ,UAAU;AAAA,IAC5Eta,gBAAAA,EAAAA;AAAAA,MACdyhB;AAAA,MACA;AAAA,QACE,OAAO,OAAO0B,KAAsB,aAAaA,EAAkBC,GAAeC,CAAW,IAAI,GAAGI,EAAaL,GAAeD,CAAiB,CAAC,MAAWM;AAAA,UAC3JJ;AAAA,UACAF;AAAA,QACV,CAAS;AAAA,QACD,gBAAA9E;AAAA,QACA,mBAAAC;AAAA,QACA,UAAAoD;AAAA,QACA,cAAAC;AAAA,QACA,WAAAC;AAAA,QACA,eAAAC;AAAA,QACA,QAAAC;AAAA,QACA,YAAAC;AAAA,QACA,cAAcwB;AAAA,QACd,kBAAkBC;AAAA,QAClB,cAAc;AAAA,QACd,uBAAAnB;AAAA,QACA,UAAAC;AAAA,QACA,cAAAC;AAAA,QACA,qBAAAC;AAAA,QACA,GAAGc;AAAA,MACX;AAAA,IACA;AAAA,IACoBtjB,gBAAAA,EAAAA;AAAAA,MACdggB;AAAA,MACA;AAAA,QACE,QAAAL;AAAA,QACA,QAAAhF;AAAA,QACA,SAAAkC;AAAA,QACA,SAAAE;AAAA,QACA,iBAAAkD;AAAA,QACA,qBAAAX;AAAA,QACA,iBAAAY;AAAA,QACA,oBAAAC;AAAA,QACA,kBAAAC;AAAA,QACA,uBAAAC;AAAA,QACA,gBAAAhC;AAAA,QACA,mBAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,GAAG+E;AAAA,MACX;AAAA,IACA;AAAA,EACA,GAAK;AACL,CAAC;AACDJ,GAAY,UAAU,EAAE,GAAGlD,GAAU,SAAS,GAAGyB,GAAe,QAAO;AACvEyB,GAAY,cAAc;ACzG1B,MAAMtF,KAAe;AAAA,EACnB,iBAAiB;AACnB,GACM8F,KAAY5K,GAAQ,CAACC,GAAQC,MAAQ;AACzC,QAAMnb,IAAQob,GAAS,aAAa2E,IAAc7E,CAAM,GAClD;AAAA;AAAA,IAEJ,MAAAoG;AAAA,IACA,QAAAxE;AAAA,IACA,SAAAkC;AAAA,IACA,SAAAE;AAAA,IACA,kBAAAsE;AAAA,IACA,sBAAAR;AAAA,IACA,iBAAAX;AAAA,IACA,oBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,iBAAA9B;AAAA;AAAA,IAEA,gBAAAF;AAAA,IACA,UAAAqD;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAE;AAAA,IACA,kBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,qBAAAC;AAAA;AAAA,IAEA,iBAAAmB;AAAA,IACA,kBAAAjK;AAAA,IACA,mBAAA4E;AAAA,IACA,MAAAzuB;AAAA,IACA,YAAAqpB;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,YAAAe;AAAA,IACA,GAAGC;AAAA,EACP,IAAMzc,GACE6Z,IAAMD,GAAe,GACrB6L,IAAiB;AAAA,IACrB,kBAAkB5J,KAAoB;AAAA,IACtC,YAAAR;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,MAAAzpB;AAAA,IACA,YAAAwqB;AAAA,EACJ,GACQkJ,IAAgB,OAAOrB,MAAiB,YAAYA,KAAenF,IAAU,CAAC1F,GAAM8H,CAAI,EAAE,MAAM,MAAM,EAAE,SAASpC,CAAO,IAAI,IAC5HyG,IAAoB,OAAOrB,KAAqB,YAAYA,IAAmBtF,IAAU,CAACxF,GAAM8H,CAAI,EAAE,QAAQ,MAAM,EAAE,QAAQtC,CAAO,IAAI;AAC/I,SAAuBpB,gBAAAA,EAAAA,KAAKC,IAAK,EAAE,mBAAmB,IAAM,MAAA7rB,GAAM,KAAAmpB,GAAK,GAAGsB,GAAQ,UAAU;AAAA,IAC1Eta,gBAAAA,EAAAA;AAAAA,MACdyhB;AAAA,MACA;AAAA,QACE,OAAO,OAAOkC,KAAoB,aAAaA,EAAgBxE,CAAI,IAAI9H,GAAM8H,CAAI,EAAE,OAAOxE,KAAUjD,EAAI,MAAM,EAAE,OAAOiM,CAAe;AAAA,QACtI,gBAAAtF;AAAA,QACA,mBAAAC;AAAA,QACA,UAAAoD;AAAA,QACA,cAAAC;AAAA,QACA,WAAAC;AAAA,QACA,eAAAC;AAAA,QACA,QAAAC;AAAA,QACA,YAAAC;AAAA,QACA,cAAAC;AAAA,QACA,cAAcuB;AAAA,QACd,kBAAkBC;AAAA,QAClB,cAAApB;AAAA,QACA,uBAAAC;AAAA,QACA,UAAAC;AAAA,QACA,cAAAC;AAAA,QACA,qBAAAC;AAAA,QACA,GAAGc;AAAA,MACX;AAAA,IACA;AAAA,IACoBtjB,gBAAAA,EAAAA;AAAAA,MACdohB;AAAA,MACA;AAAA,QACE,MAAAjC;AAAA,QACA,QAAAxE;AAAA,QACA,SAAAkC;AAAA,QACA,SAAAE;AAAA,QACA,kBAAAsE;AAAA,QACA,sBAAAR;AAAA,QACA,iBAAAX;AAAA,QACA,oBAAAC;AAAA,QACA,kBAAAC;AAAA,QACA,uBAAAC;AAAA,QACA,gBAAAhC;AAAA,QACA,mBAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,GAAG+E;AAAA,MACX;AAAA,IACA;AAAA,EACA,GAAK;AACL,CAAC;AACDI,GAAU,UAAU,EAAE,GAAGjC,GAAe,SAAS,GAAGL,GAAW,QAAO;AACtEsC,GAAU,cAAc;ACtGxB,MAAM9F,KAAe;AAAA,EACnB,kBAAkB;AACpB,GACMgG,KAAa9K,GAAQ,CAACC,GAAQC,MAAQ;AAC1C,QAAMnb,IAAQob,GAAS,cAAc2E,IAAc7E,CAAM,GACnD;AAAA;AAAA,IAEJ,OAAAgD;AAAA,IACA,QAAApB;AAAA,IACA,gBAAAE;AAAA,IACA,eAAAM;AAAA,IACA,aAAA2C;AAAA,IACA,aAAAZ;AAAA,IACA,aAAAC;AAAA,IACA,SAAAN;AAAA,IACA,SAAAE;AAAA,IACA,WAAAjD;AAAA,IACA,kBAAAsD;AAAA,IACA,cAAAW;AAAA,IACA,iBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAG;AAAA,IACA,gBAAAnE;AAAA,IACA,iBAAAiB;AAAA;AAAA,IAEA,gBAAAgD;AAAA,IACA,mBAAAC;AAAA,IACA,UAAAoD;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAE;AAAA,IACA,kBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,qBAAAC;AAAA;AAAA,IAEA,kBAAAqB;AAAA,IACA,YAAA3K;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,kBAAAI;AAAA,IACA,MAAA7pB;AAAA,IACA,QAAQsqB;AAAA,IACR,YAAAE;AAAA,IACA,GAAGC;AAAA,EACP,IAAMzc,GACE6Z,IAAMD,GAAe,GACrB6L,IAAiB;AAAA,IACrB,kBAAkB5J,MAAoB;AAAA,IACtC,YAAAR;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,MAAAzpB;AAAA,IACA,YAAAwqB;AAAA,EACJ,GACQkJ,IAAgB,OAAOrB,KAAiB,YAAYA,IAAenF,IAAU,CAAC1F,GAAM0E,CAAK,EAAE,MAAM,OAAO,EAAE,SAASgB,CAAO,IAAI,IAC9HyG,IAAoB,OAAOrB,KAAqB,YAAYA,IAAmBtF,IAAU,CAACxF,GAAM0E,CAAK,EAAE,QAAQ,OAAO,EAAE,QAAQc,CAAO,IAAI;AACjJ,SAAuBpB,gBAAAA,EAAAA,KAAKC,IAAK,EAAE,oBAAoB,IAAM,MAAA7rB,GAAM,KAAAmpB,GAAK,GAAGsB,IAAQ,UAAU;AAAA,IAC3Eta,gBAAAA,EAAAA;AAAAA,MACdyhB;AAAA,MACA;AAAA,QACE,OAAO,OAAOoC,KAAqB,aAAaA,EAAiB9H,CAAK,IAAI1E,GAAM0E,CAAK,EAAE,OAAOpB,KAAUjD,EAAI,MAAM,EAAE,OAAOmM,CAAgB;AAAA,QAC3I,gBAAAxF;AAAA,QACA,mBAAAC;AAAA,QACA,UAAAoD;AAAA,QACA,cAAAC;AAAA,QACA,WAAAC;AAAA,QACA,eAAAC;AAAA,QACA,QAAAC;AAAA,QACA,YAAAC;AAAA,QACA,cAAAC;AAAA,QACA,cAAcuB;AAAA,QACd,kBAAkBC;AAAA,QAClB,cAAApB;AAAA,QACA,uBAAAC;AAAA,QACA,UAAAC;AAAA,QACA,cAAAC;AAAA,QACA,qBAAAC;AAAA,QACA,GAAGc;AAAA,MACX;AAAA,IACA;AAAA,IACoBtjB,gBAAAA,EAAAA;AAAAA,MACd6d;AAAA,MACA;AAAA,QACE,OAAA9B;AAAA,QACA,QAAApB;AAAA,QACA,gBAAAE;AAAA,QACA,eAAAM;AAAA,QACA,aAAA2C;AAAA,QACA,aAAAZ;AAAA,QACA,aAAAC;AAAA,QACA,SAAAN;AAAA,QACA,SAAAE;AAAA,QACA,WAAAjD;AAAA,QACA,kBAAAsD;AAAA,QACA,cAAAW;AAAA,QACA,iBAAAC;AAAA,QACA,aAAAC;AAAA,QACA,gBAAAC;AAAA,QACA,cAAAC;AAAA,QACA,mBAAAC;AAAA,QACA,gBAAAC;AAAA,QACA,mBAAAC;AAAA,QACA,QAAQnE;AAAA,QACR,iBAAAoE;AAAA,QACA,gBAAAnE;AAAA,QACA,iBAAAiB;AAAA,QACA,GAAGiI;AAAA,MACX;AAAA,IACA;AAAA,EACA,GAAK;AACL,CAAC;AACDM,GAAW,UAAU,EAAE,GAAG/F,GAAM,SAAS,GAAG4D,GAAe,QAAO;AAClEmC,GAAW,cAAc;AClIzB,IAAInL,KAAU,EAAC,aAAc,aAAY;ACIzC,MAAMqL,KAAchL,GAAQ,CAACC,GAAQC,MAAQ;AAC3C,QAAMnb,IAAQob,GAAS,eAAe,MAAMF,CAAM,GAC5C;AAAA,IACJ,YAAAG;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,kBAAAG;AAAA,IACA,YAAAW;AAAA,IACA,GAAGC;AAAA,EACP,IAAMzc,GACE0c,IAAYC,GAAU;AAAA,IAC1B,MAAMd,KAAoB;AAAA,IAC1B,SAAAjB;AAAA,IACA,OAAA5a;AAAA,IACA,WAAAsb;AAAA,IACA,OAAAC;AAAA,IACA,YAAAF;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,YAAAe;AAAA,IACA,MAAAd;AAAA,IACA,cAAc;AAAA,EAClB,CAAG;AACD,SAAuBvZ,gBAAAA,EAAAA,IAAI0b,IAAK,EAAE,KAAA1C,GAAK,GAAGuB,EAAU,aAAa,GAAG,GAAGD,GAAQ;AACjF,CAAC;AACDwJ,GAAY,UAAUrL;AACtBqL,GAAY,cAAc;ACzB1B,MAAMlG,KAAe;AAAA,EACnB,iBAAiB;AACnB,GACMmG,KAAmBjL,GAAQ,CAACC,GAAQC,MAAQ;AAChD,QAAMnb,IAAQob,GAAS,oBAAoB2E,IAAc7E,CAAM,GACzD;AAAA;AAAA,IAEJ,QAAA4G;AAAA,IACA,QAAAhF;AAAA,IACA,SAAAkC;AAAA,IACA,SAAAE;AAAA,IACA,iBAAAkD;AAAA,IACA,qBAAAX;AAAA,IACA,kBAAAc;AAAA,IACA,uBAAAC;AAAA,IACA,iBAAA9B;AAAA;AAAA,IAEA,gBAAAF;AAAA,IACA,UAAAqD;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAG;AAAA,IACA,kBAAAC;AAAA,IACA,qBAAAK;AAAA;AAAA,IAEA,YAAAtJ;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,kBAAAI;AAAA,IACA,mBAAA4E;AAAA,IACA,iBAAA0F;AAAA,IACA,uBAAA3B;AAAA,IACA,mBAAAc;AAAA,IACA,MAAAtzB;AAAA,IACA,MAAA0pB;AAAA,IACA,YAAAc;AAAA,IACA,GAAGC;AAAA,EACP,IAAMzc,GACE8Y,IAAcsN,GAAO,EAAE,GACvBC,IAAU,MAAMF,CAAe,EAAE,KAAK,CAAC,EAAE,IAAI,CAACpyB,GAAGuyB,MAAgB;AACrE,UAAMC,IAAgB/M,GAAMsI,CAAM,EAAE,IAAIwE,IAAc,IAAI,OAAO,EAAE,OAAO,YAAY;AACtF,WAAuBnkB,gBAAAA,EAAAA;AAAAA,MACrBkjB;AAAA,MACA;AAAA,QACE,MAAArzB;AAAA,QACA,iBAAAowB;AAAA,QACA,QAAQmE;AAAA,QACR,UAAUD,MAAgBH,IAAkB;AAAA,QAC5C,cAAcG,MAAgB;AAAA,QAC9B,mBAAAhB;AAAA,QACA,kBAAA/C;AAAA,QACA,uBAAAC;AAAA,QACA,oBAAoB,CAAClJ,GAAO5C,MAAY2C,GAAqB;AAAA,UAC3D,YAAYiN;AAAA,UACZ,UAAU5P,EAAQ;AAAA,UAClB,WAAWA,EAAQ;AAAA,UACnB,OAAA4C;AAAA,UACA,aAAAR;AAAA,QACV,CAAS;AAAA,QACD,iBAAiB,CAACH,GAAUC,GAAWxX,MAAS;AAC9C,UAAK,MAAM,QAAQ0X,EAAY,QAAQwN,CAAW,CAAC,MACjDxN,EAAY,QAAQwN,CAAW,IAAI,CAAA,IAEhC,MAAM,QAAQxN,EAAY,QAAQwN,CAAW,EAAE3N,CAAQ,CAAC,MAC3DG,EAAY,QAAQwN,CAAW,EAAE3N,CAAQ,IAAI,CAAA,IAE/CG,EAAY,QAAQwN,CAAW,EAAE3N,CAAQ,EAAEC,CAAS,IAAIxX;AAAA,QAC1D;AAAA,QACA,uBAAuB,OAAOojB,MAA0B,aAAaA,GAAsB+B,CAAa,IAAI/B;AAAA,QAC5G,QAAA1H;AAAA,QACA,SAAAkC;AAAA,QACA,SAAAE;AAAA,QACA,gBAAAsB;AAAA,QACA,mBAAAC;AAAA,QACA,UAAAoD;AAAA,QACA,cAAAC;AAAA,QACA,WAAAC;AAAA,QACA,eAAAC;AAAA,QACA,QAAAC;AAAA,QACA,YAAAC;AAAA,QACA,cAAAG;AAAA,QACA,kBAAAC;AAAA,QACA,qBAAA7C;AAAA,QACA,kBAAkB5F,KAAoB;AAAA,QACtC,YAAAR;AAAA,QACA,QAAAG;AAAA,QACA,UAAAC;AAAA,QACA,iBAAAiF;AAAA,QACA,qBAAAiE;AAAA,QACA,YAAAnI;AAAA,MACR;AAAA,MACM8J;AAAA,IACN;AAAA,EACE,CAAC;AACD,SAAuBnkB,gBAAAA,EAAAA;AAAAA,IACrB8jB;AAAA,IACA;AAAA,MACE,YAAA5K;AAAA,MACA,QAAAG;AAAA,MACA,kBAAkBK,KAAoB;AAAA,MACtC,KAAAV;AAAA,MACA,MAAAnpB;AAAA,MACA,UAAAypB;AAAA,MACA,YAAAe;AAAA,MACA,GAAGC;AAAA,MACH,UAAU4J;AAAA,IAChB;AAAA,EACA;AACA,CAAC;AACDH,GAAiB,UAAU,EAAE,GAAGD,GAAY,SAAS,GAAGZ,GAAY,QAAO;AAC3Ea,GAAiB,cAAc;ACjH/B,MAAMnG,KAAe;AAAA,EACnB,iBAAiB;AACnB,GACMyG,KAAiBvL,GAAQ,CAACC,GAAQC,MAAQ;AAC9C,QAAMnb,IAAQob,GAAS,kBAAkB2E,IAAc7E,CAAM,GACvD;AAAA;AAAA,IAEJ,MAAAoG;AAAA,IACA,QAAAxE;AAAA,IACA,SAAAkC;AAAA,IACA,SAAAE;AAAA,IACA,kBAAAsE;AAAA,IACA,sBAAAR;AAAA,IACA,kBAAAT;AAAA,IACA,uBAAAC;AAAA,IACA,iBAAA9B;AAAA;AAAA,IAEA,gBAAAF;AAAA,IACA,UAAAqD;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAE;AAAA,IACA,kBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,qBAAAI;AAAA;AAAA,IAEA,YAAAtJ;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,kBAAAI;AAAA,IACA,mBAAA4E;AAAA,IACA,iBAAA0F;AAAA,IACA,uBAAA3B;AAAA,IACA,iBAAAsB;AAAA,IACA,MAAA9zB;AAAA,IACA,MAAA0pB;AAAA,IACA,YAAAc;AAAA,IACA,GAAGC;AAAA,EACP,IAAMzc,GACE8Y,IAAcsN,GAAO,EAAE,GACvB5E,IAAQ,MAAM2E,CAAe,EAAE,KAAK,CAAC,EAAE,IAAI,CAACpyB,GAAG0yB,MAAc;AACjE,UAAM7E,IAAcpI,GAAM8H,CAAI,EAAE,IAAImF,GAAW,OAAO,EAAE,OAAO,YAAY;AAC3E,WAAuBtkB,gBAAAA,EAAAA;AAAAA,MACrB0jB;AAAA,MACA;AAAA,QACE,MAAA7zB;AAAA,QACA,kBAAAwxB;AAAA,QACA,MAAM5B;AAAA,QACN,UAAU6E,MAAcN,IAAkB;AAAA,QAC1C,cAAcM,MAAc;AAAA,QAC5B,iBAAAX;AAAA,QACA,mBAAArF;AAAA,QACA,kBAAA8B;AAAA,QACA,uBAAAC;AAAA,QACA,oBAAoB,CAAClJ,GAAO5C,MAAY2C,GAAqB;AAAA,UAC3D,YAAYoN;AAAA,UACZ,UAAU/P,EAAQ;AAAA,UAClB,WAAWA,EAAQ;AAAA,UACnB,OAAA4C;AAAA,UACA,aAAAR;AAAA,QACV,CAAS;AAAA,QACD,iBAAiB,CAACH,GAAUC,GAAWxX,OAAS;AAC9C,UAAK,MAAM,QAAQ0X,EAAY,QAAQ2N,CAAS,CAAC,MAC/C3N,EAAY,QAAQ2N,CAAS,IAAI,CAAA,IAE9B,MAAM,QAAQ3N,EAAY,QAAQ2N,CAAS,EAAE9N,CAAQ,CAAC,MACzDG,EAAY,QAAQ2N,CAAS,EAAE9N,CAAQ,IAAI,CAAA,IAE7CG,EAAY,QAAQ2N,CAAS,EAAE9N,CAAQ,EAAEC,CAAS,IAAIxX;AAAA,QACxD;AAAA,QACA,uBAAuB,OAAOojB,KAA0B,aAAaA,EAAsB5C,CAAW,IAAI4C;AAAA,QAC1G,QAAA1H;AAAA,QACA,SAAAkC;AAAA,QACA,SAAAE;AAAA,QACA,gBAAAsB;AAAA,QACA,UAAAqD;AAAA,QACA,cAAAC;AAAA,QACA,WAAAC;AAAA,QACA,eAAAC;AAAA,QACA,QAAAC;AAAA,QACA,YAAAC;AAAA,QACA,cAAAC;AAAA,QACA,cAAAE;AAAA,QACA,kBAAAC;AAAA,QACA,cAAAC;AAAA,QACA,sBAAAvB;AAAA,QACA,YAAA3H;AAAA,QACA,QAAAG;AAAA,QACA,UAAAC;AAAA,QACA,kBAAkBI,KAAoB;AAAA,QACtC,iBAAA6E;AAAA,QACA,qBAAAiE;AAAA,QACA,YAAAnI;AAAA,MACR;AAAA,MACMiK;AAAA,IACN;AAAA,EACE,CAAC;AACD,SAAuBtkB,gBAAAA,EAAAA;AAAAA,IACrB8jB;AAAA,IACA;AAAA,MACE,YAAA5K;AAAA,MACA,QAAAG;AAAA,MACA,kBAAkBK,KAAoB;AAAA,MACtC,KAAAV;AAAA,MACA,MAAAnpB;AAAA,MACA,UAAAypB;AAAA,MACA,YAAAe;AAAA,MACA,GAAGC;AAAA,MACH,UAAU+E;AAAA,IAChB;AAAA,EACA;AACA,CAAC;AACDgF,GAAe,UAAU,EAAE,GAAGX,GAAU,SAAS,GAAGI,GAAY,QAAO;AACvEO,GAAe,cAAc;ACrH7B,MAAMzG,KAAe;AAAA,EACnB,iBAAiB;AACnB,GACM2G,KAAkBzL,GAAQ,CAACC,GAAQC,MAAQ;AAC/C,QAAMnb,IAAQob,GAAS,mBAAmB2E,IAAc7E,CAAM,GACxD;AAAA;AAAA,IAEJ,OAAAgD;AAAA,IACA,QAAApB;AAAA,IACA,gBAAAE;AAAA,IACA,eAAAM;AAAA,IACA,aAAA2C;AAAA,IACA,aAAAZ;AAAA,IACA,aAAAC;AAAA,IACA,SAAAN;AAAA,IACA,SAAAE;AAAA,IACA,WAAAjD;AAAA,IACA,kBAAAsD;AAAA,IACA,cAAAW;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAG;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAG;AAAA,IACA,gBAAAnE;AAAA,IACA,iBAAAiB;AAAA;AAAA,IAEA,gBAAAgD;AAAA,IACA,UAAAqD;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAE;AAAA,IACA,kBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,qBAAAI;AAAA;AAAA,IAEA,YAAAtJ;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,iBAAA0K;AAAA,IACA,uBAAA3B;AAAA,IACA,kBAAAwB;AAAA,IACA,kBAAAnK;AAAA,IACA,mBAAA4E;AAAA,IACA,MAAAzuB;AAAA,IACA,QAAQsqB;AAAA,IACR,MAAAZ;AAAA,IACA,YAAAc;AAAA,IACA,GAAGC;AAAA,EACP,IAAMzc,GACE2mB,KAAWP,GAAO,EAAE,GACpBrD,KAAS,MAAMoD,CAAe,EAAE,KAAK,CAAC,EAAE,IAAI,CAACpyB,GAAG6yB,MAAe;AACnE,UAAMzD,IAAe3J,GAAM0E,CAAK,EAAE,IAAI0I,GAAY,QAAQ,EAAE,OAAO,YAAY;AAC/E,WAAuBzkB,gBAAAA,EAAAA;AAAAA,MACrB4jB;AAAA,MACA;AAAA,QACE,OAAO5C;AAAA,QACP,UAAUyD,MAAeT,IAAkB;AAAA,QAC3C,cAAcS,MAAe;AAAA,QAC7B,kBAAAZ;AAAA,QACA,mBAAAvF;AAAA,QACA,cAAAH;AAAA,QACA,mBAAAC;AAAA,QACA,gBAAgB,CAACjH,GAAO5C,MAAY2C,GAAqB;AAAA,UACvD,YAAYuN;AAAA,UACZ,UAAUlQ,EAAQ;AAAA,UAClB,WAAWA,EAAQ;AAAA,UACnB,OAAA4C;AAAA,UACA,aAAaqN;AAAA,QACvB,CAAS;AAAA,QACD,aAAa,CAAChO,GAAUC,GAAWxX,OAAS;AAC1C,UAAK,MAAM,QAAQulB,GAAS,QAAQC,CAAU,CAAC,MAC7CD,GAAS,QAAQC,CAAU,IAAI,CAAA,IAE5B,MAAM,QAAQD,GAAS,QAAQC,CAAU,EAAEjO,CAAQ,CAAC,MACvDgO,GAAS,QAAQC,CAAU,EAAEjO,CAAQ,IAAI,CAAA,IAE3CgO,GAAS,QAAQC,CAAU,EAAEjO,CAAQ,EAAEC,CAAS,IAAIxX;AAAA,QACtD;AAAA,QACA,uBAAuB,OAAOojB,KAA0B,aAAaA,EAAsBrB,CAAY,IAAIqB;AAAA,QAC3G,QAAA1H;AAAA,QACA,gBAAAE;AAAA,QACA,eAAAM;AAAA,QACA,aAAA2C;AAAA,QACA,aAAAZ;AAAA,QACA,aAAAC;AAAA,QACA,SAAAN;AAAA,QACA,SAAAE;AAAA,QACA,WAAAjD;AAAA,QACA,kBAAAsD;AAAA,QACA,cAAAW;AAAA,QACA,iBAAAC;AAAA,QACA,gBAAAK;AAAA,QACA,UAAAqD;AAAA,QACA,cAAAC;AAAA,QACA,WAAAC;AAAA,QACA,eAAAC;AAAA,QACA,QAAAC;AAAA,QACA,YAAAC;AAAA,QACA,cAAAC;AAAA,QACA,cAAAE;AAAA,QACA,kBAAAC;AAAA,QACA,cAAAC;AAAA,QACA,YAAAlJ;AAAA,QACA,QAAAG;AAAA,QACA,UAAAC;AAAA,QACA,kBAAkBI,KAAoB;AAAA,QACtC,MAAA7pB;AAAA,QACA,QAAQsqB;AAAA,QACR,iBAAAoE;AAAA,QACA,gBAAAnE;AAAA,QACA,iBAAAiB;AAAA,QACA,qBAAAmH;AAAA,QACA,YAAAnI;AAAA,MACR;AAAA,MACMoK;AAAA,IACN;AAAA,EACE,CAAC;AACD,SAAuBzkB,gBAAAA,EAAAA;AAAAA,IACrB8jB;AAAA,IACA;AAAA,MACE,YAAA5K;AAAA,MACA,QAAAG;AAAA,MACA,kBAAkBK,KAAoB;AAAA,MACtC,KAAAV;AAAA,MACA,MAAAnpB;AAAA,MACA,YAAAwqB;AAAA,MACA,GAAGC;AAAA,MACH,UAAUsG;AAAA,IAChB;AAAA,EACA;AACA,CAAC;AACD2D,GAAgB,UAAU,EAAE,GAAGT,GAAY,SAAS,GAAGF,GAAW,QAAO;AACzEW,GAAgB,cAAc;AC3I9B,MAAMG,KAAgB,CAAC7oB,MAASA,MAAS,UAAU,CAAC,MAAM,IAAI,IAAIA,MAAS,aAAa,CAAA,IAAK,MACvF8oB,KAAoB,CAACzzB,GAAOgnB,MAAa;AAC7C,QAAM0M,IAAY1M,IAAWZ,KAAmBF;AAChD,SAAO,MAAM,QAAQlmB,CAAK,IAAIA,EAAM,IAAI0zB,CAAS,IAAIA,EAAU1zB,CAAK;AACtE;AACA,SAAS2zB,GAAqB;AAAA,EAC5B,MAAAhpB;AAAA,EACA,OAAA3K;AAAA,EACA,cAAA4zB;AAAA,EACA,UAAAC;AAAA,EACA,UAAA7M,IAAW;AACb,GAAG;AACD,QAAM8M,IAAaf,GAAOpoB,CAAI,GACxB,CAACopB,GAAQC,GAAWC,CAAU,IAAIC,GAAgB;AAAA,IACtD,OAAOT,GAAkBzzB,GAAOgnB,CAAQ;AAAA,IACxC,cAAcyM,GAAkBG,GAAc5M,CAAQ;AAAA,IACtD,YAAYwM,GAAc7oB,CAAI;AAAA,IAC9B,UAAAkpB;AAAA,EACJ,CAAG;AACD,MAAIM,IAAcJ;AAClB,SAAID,EAAW,YAAYnpB,MACzBmpB,EAAW,UAAUnpB,GACjB3K,MAAU,WACZm0B,IAAcP,MAAiB,SAASA,IAAeJ,GAAc7oB,CAAI,GACzEqpB,EAAUG,CAAW,KAGlB,CAACA,GAAaH,GAAWC,CAAU;AAC5C;AC/BA,SAASG,GAAcC,GAAOC,GAAU;AACtC,SAAKD,IAGEA,MAAU,UAAU,IAAIA,MAAU,SAAS,IAAI,IAF7CC,KAAY;AAGvB;AACA,SAASC,GAAmBC,GAAa;AACvC,SAAOA,MAAgB,IAAI,UAAUA,MAAgB,IAAI,SAAS;AACpE;AACA,SAASC,GAAWJ,GAAOK,GAAUC,GAAU;AAC7C,SAAOJ;AAAA,IACL5kB;AAAA,MACEykB,GAAcC,GAAO,CAAC;AAAA,MACtBD,GAAcM,GAAU,CAAC;AAAA,MACzBN,GAAcO,GAAU,CAAC;AAAA,IAC/B;AAAA,EACA;AACA;ACNA,MAAMjI,KAAe;AAAA,EACnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,0BAA0B;AAAA,EAC1B,2BAA2B;AAAA,EAC3B,0BAA0B;AAC5B,GACMkI,KAAWhN,GAAQ,CAACC,GAAQC,MAAQ;AACxC,QAAMnb,IAAQob,GAAS,YAAY2E,IAAc7E,CAAM,GACjD;AAAA;AAAA,IAEJ,MAAAQ;AAAA,IACA,UAAAsM;AAAA,IACA,UAAAD;AAAA,IACA,cAAAG;AAAA,IACA,OAAAR;AAAA,IACA,eAAAS;AAAA,IACA,MAAAxM;AAAA,IACA,aAAAyM;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAlC;AAAA,IACA,iBAAAmC;AAAA,IACA,YAAAC;AAAA,IACA,WAAAxE;AAAA,IACA,eAAAC;AAAA,IACA,cAAAwE;AAAA,IACA,eAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,qBAAAhE;AAAA,IACA,0BAAAiE;AAAA,IACA,2BAAAC;AAAA,IACA,cAAAC;AAAA,IACA,eAAAC;AAAA;AAAA,IAEA,gBAAA/L;AAAA,IACA,eAAAM;AAAA,IACA,aAAA2C;AAAA,IACA,aAAAZ;AAAA,IACA,aAAAC;AAAA,IACA,WAAArD;AAAA,IACA,kBAAAsD;AAAA,IACA,cAAAW;AAAA,IACA,iBAAAC;AAAA,IACA,kBAAA6F;AAAA,IACA,UAAAnC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAxD;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAG;AAAA,IACA,gBAAAnE;AAAA,IACA,iBAAAiB;AAAA;AAAA,IAEA,kBAAAgG;AAAA,IACA,sBAAAR;AAAA,IACA,iBAAA8C;AAAA;AAAA,IAEA,iBAAA1D;AAAA,IACA,qBAAAX;AAAA,IACA,mBAAA6D;AAAA;AAAA,IAEA,YAAAjK;AAAA,IACA,QAAAG;AAAA,IACA,UAAAC;AAAA,IACA,SAAAuD;AAAA,IACA,SAAAE;AAAA,IACA,QAAApC;AAAA,IACA,kBAAAjB;AAAA,IACA,MAAA7pB;AAAA,IACA,gBAAAwuB;AAAA,IACA,mBAAAC;AAAA,IACA,cAAAuI;AAAA,IACA,kBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,QAAQ/M;AAAA,IACR,0BAAAgN;AAAA,IACA,YAAA9M;AAAA,IACA,GAAGC;AAAA,EACP,IAAMzc,GACE,EAAE,oBAAA4gB,IAAoB,gBAAAC,GAAc,IAAKC,GAAqB;AAAA,IAClE,YAAAzF;AAAA,IACA,QAAAG;AAAA,IACA,OAAAxb;AAAA,EACJ,CAAG,GACK,CAACupB,IAAQC,EAAQ,IAAIjC,GAAgB;AAAA,IACzC,OAAOG,IAAQI,GAAWJ,GAAOK,GAAUC,CAAQ,IAAI;AAAA,IACvD,cAAcE,IAAeJ,GAAWI,GAAcH,GAAUC,CAAQ,IAAI;AAAA,IAC5E,YAAYF,GAAW,QAAQC,GAAUC,CAAQ;AAAA,IACjD,UAAUG;AAAA,EACd,CAAG,GACK,CAACsB,IAAOC,EAAO,IAAI1C,GAAqB;AAAA,IAC5C,MAAM;AAAA,IACN,OAAOzN,GAAaoC,CAAI;AAAA,IACxB,cAAcpC,GAAa6O,CAAW;AAAA,IACtC,UAAUC;AAAA,EACd,CAAG;AACD,EAAAsB,GAAoBb,GAAc,MAAM,CAACc,OAAU;AACjD,IAAAF,GAAQE,EAAK;AAAA,EACf,CAAC,GACDD,GAAoBZ,GAAe,MAAM,CAACc,OAAW;AACnD,IAAAL,GAASK,EAAM;AAAA,EACjB,CAAC;AACD,QAAMpE,KAAiB;AAAA,IACrB,kBAAkB5J,KAAoB;AAAA,IACtC,QAAQgF;AAAA,IACR,YAAYD;AAAA,IACZ,UAAAnF;AAAA,IACA,MAAAzpB;AAAA,IACA,YAAAwqB;AAAA,EACJ,GACQsN,KAAmBxB,KAAmBnC,KAAmB,GACzD4D,KAAsB,oBAAI,KAAI,GAC9BC,KAAehL,KAAWxF,GAAMuQ,EAAG,EAAE,QAAQ/K,CAAO,IAAIA,IAAUxF,GAAMuQ,EAAG,EAAE,OAAO,YAAY,GAChGrK,KAAc+J,MAASO,IACvBC,KAAkB,MAAM;AAC5B,UAAMC,KAAW1Q,GAAMkG,EAAW,EAAE,IAAIoK,IAAkB,OAAO,EAAE,OAAO,YAAY;AACtF,IAAAV,KAAcc,EAAQ,GACtBR,GAAQQ,EAAQ;AAAA,EAClB,GACMC,KAAsB,MAAM;AAChC,UAAMD,KAAW1Q,GAAMkG,EAAW,EAAE,SAASoK,IAAkB,OAAO,EAAE,OAAO,YAAY;AAC3F,IAAAT,KAAkBa,EAAQ,GAC1BR,GAAQQ,EAAQ;AAAA,EAClB,GACME,KAAiB,MAAM;AAC3B,UAAMF,KAAW1Q,GAAMkG,EAAW,EAAE,IAAIoK,IAAkB,MAAM,EAAE,OAAO,YAAY;AACrF,IAAAZ,KAAagB,EAAQ,GACrBR,GAAQQ,EAAQ;AAAA,EAClB,GACMG,KAAqB,MAAM;AAC/B,UAAMH,KAAW1Q,GAAMkG,EAAW,EAAE,SAASoK,IAAkB,MAAM,EAAE,OAAO,YAAY;AAC1F,IAAAX,KAAiBe,EAAQ,GACzBR,GAAQQ,EAAQ;AAAA,EAClB,GACMI,KAAmB,MAAM;AAC7B,UAAMJ,KAAW1Q,GAAMkG,EAAW,EAAE,IAAI,KAAKoK,IAAkB,MAAM,EAAE,OAAO,YAAY;AAC1F,IAAAd,IAAekB,EAAQ,GACvBR,GAAQQ,EAAQ;AAAA,EAClB,GACMK,KAAuB,MAAM;AACjC,UAAML,KAAW1Q,GAAMkG,EAAW,EAAE,SAAS,KAAKoK,IAAkB,MAAM,EAAE,OAAO,YAAY;AAC/F,IAAAb,KAAmBiB,EAAQ,GAC3BR,GAAQQ,EAAQ;AAAA,EAClB,GACMM,KAAcpE,GAAO,IAAI;AAC/B,EAAAqE,GAAU,MAAM;AACd,QAAI,CAACnB,MAA4BhN;AAC/B;AAEF,UAAMoO,KAAgB,CAACpR,OAAU;AAC/B,UAAI,CAACkR,GAAY,SAAS,SAAS,SAAS,aAAa;AACvD;AAEF,YAAMG,KAAcrR,GAAM,WAAWA,GAAM,SACrCsR,KAAUtR,GAAM;AACtB,cAAQA,GAAM,KAAG;AAAA,QACf,KAAK;AACH,UAAIqR,MAAeC,MACjBtR,GAAM,eAAc,GACpBiR,GAAoB,KACXI,OACTrR,GAAM,eAAc,GACpB+Q,GAAkB;AAEpB;AAAA,QACF,KAAK;AACH,UAAIM,MAAeC,MACjBtR,GAAM,eAAc,GACpBgR,GAAgB,KACPK,OACTrR,GAAM,eAAc,GACpB8Q,GAAc;AAEhB;AAAA,QACF,KAAK;AAAA,QACL,KAAK;AACH,UAAIb,OAAW,YACbjQ,GAAM,eAAc,GACpBkQ,GAAS,MAAM;AAEjB;AAAA,MACV;AAAA,IACI;AACA,oBAAS,iBAAiB,WAAWkB,EAAa,GAC3C,MAAM;AACX,eAAS,oBAAoB,WAAWA,EAAa;AAAA,IACvD;AAAA,EACF,GAAG;AAAA,IACDpB;AAAA,IACAhN;AAAA,IACAiN;AAAA,IACAa;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,EACJ,CAAG;AACD,QAAMM,KAAY,CAACzpB,OAAS;AAC1B,IAAAopB,GAAY,UAAUppB,IAClB,OAAO+Z,KAAQ,aACjBA,EAAI/Z,EAAI,IACC+Z,MACTA,EAAI,UAAU/Z;AAAA,EAElB;AACA,SAAuBwc,gBAAAA,OAAKC,IAAK,EAAE,KAAKgN,IAAW,MAAA74B,GAAM,iBAAiB,IAAM,GAAGyqB,IAAQ,UAAU;AAAA,IACnG8M,OAAW,WAA2BpnB,gBAAAA,EAAAA;AAAAA,MACpCukB;AAAA,MACA;AAAA,QACE,OAAOhH;AAAA,QACP,SAAAV;AAAA,QACA,SAAAE;AAAA,QACA,gBAAAlC;AAAA,QACA,eAAAM;AAAA,QACA,aAAA2C;AAAA,QACA,aAAAZ;AAAA,QACA,aAAAC;AAAA,QACA,WAAArD;AAAA,QACA,kBAAAsD;AAAA,QACA,cAAAW;AAAA,QACA,iBAAAC;AAAA,QACA,QAAQ8J;AAAA,QACR,YAAYE;AAAA,QACZ,cAAcnC,MAAa;AAAA,QAC3B,cAAc,MAAMwB,GAAS,MAAM;AAAA,QACnC,iBAAArD;AAAA,QACA,QAAArJ;AAAA,QACA,uBAAuByL,GAAY;AAAA,QACnC,WAAWA,GAAY,aAAaxE;AAAA,QACpC,UAAAF;AAAA,QACA,eAAe0E,GAAY,iBAAiBvE;AAAA,QAC5C,cAAAF;AAAA,QACA,kBAAAkC;AAAA,QACA,cAAA1F;AAAA,QACA,mBAAAC;AAAA,QACA,gBAAAC;AAAA,QACA,mBAAAC;AAAA,QACA,QAAQnE;AAAA,QACR,iBAAAoE;AAAA,QACA,gBAAAnE;AAAA,QACA,iBAAAiB;AAAA,QACA,qBAAAmH;AAAA,QACA,GAAGc;AAAA,MACX;AAAA,IACA;AAAA,IACI8D,OAAW,UAA0BpnB,gBAAAA,EAAAA;AAAAA,MACnCqkB;AAAA,MACA;AAAA,QACE,MAAM9G;AAAA,QACN,iBAAAyG;AAAA,QACA,SAAAnH;AAAA,QACA,SAAAE;AAAA,QACA,kBAAAsE;AAAA,QACA,sBAAAR;AAAA,QACA,QAAAlG;AAAA,QACA,QAAQsN;AAAA,QACR,YAAYC;AAAA,QACZ,cAAcrC,MAAa,WAAWA,MAAa;AAAA,QACnD,cAAc,MAAMwB,GAAS,QAAQ;AAAA,QACrC,uBAAuBjB,GAAY;AAAA,QACnC,WAAWA,GAAY,YAAYxE;AAAA,QACnC,UAAAF;AAAA,QACA,eAAe0E,GAAY,gBAAgBvE;AAAA,QAC3C,cAAAF;AAAA,QACA,iBAAAgC;AAAA,QACA,uBAAuB6C;AAAA,QACvB,kBAAkB,CAACmC,IAAQpU,OAAY;AACrC,UAAAmS,KAA6Ba,GAAQhT,EAAO,GAC5C8S,GAAS1B,GAAW,SAASC,GAAUC,CAAQ,CAAC,GAChDS,IAAgB/R,EAAO;AAAA,QACzB;AAAA,QACA,gBAAA8J;AAAA,QACA,mBAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,qBAAAiE;AAAA,QACA,GAAGc;AAAA,MACX;AAAA,IACA;AAAA,IACI8D,OAAW,YAA4BpnB,gBAAAA,EAAAA;AAAAA,MACrC+jB;AAAA,MACA;AAAA,QACE,QAAQxG;AAAA,QACR,SAAAV;AAAA,QACA,SAAAE;AAAA,QACA,iBAAAkD;AAAA,QACA,qBAAAX;AAAA,QACA,QAAA3E;AAAA,QACA,QAAQwN;AAAA,QACR,YAAYC;AAAA,QACZ,iBAAApE;AAAA,QACA,WAAWoC,GAAY,cAAcxE;AAAA,QACrC,UAAAF;AAAA,QACA,eAAe0E,GAAY,kBAAkBvE;AAAA,QAC7C,cAAAF;AAAA,QACA,mBAAAwB;AAAA,QACA,uBAAuBoD;AAAA,QACvB,kBAAkB,CAACoC,IAAQpU,OAAY;AACrC,UAAAkS,MAA4Bc,GAAQhT,EAAO,GAC3C8S,GAAS1B,GAAW,QAAQC,GAAUC,CAAQ,CAAC,GAC/CQ,IAAe9R,EAAO;AAAA,QACxB;AAAA,QACA,gBAAA8J;AAAA,QACA,mBAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,qBAAAiE;AAAA,QACA,GAAGc;AAAA,MACX;AAAA,IACA;AAAA,EACA,GAAK;AACL,CAAC;AACDwC,GAAS,UAAU;AAAA,EACjB,GAAG/B,GAAiB;AAAA,EACpB,GAAGM,GAAe;AAAA,EAClB,GAAGE,GAAgB;AACrB;AACAuB,GAAS,cAAc;AC1UvB,SAAS8C,GAAkB/qB,GAAO;AAChC,QAAM;AAAA,IACJ,UAAAgoB;AAAA,IACA,UAAAD;AAAA,IACA,cAAAG;AAAA,IACA,OAAAR;AAAA,IACA,eAAAS;AAAA,IACA,UAAAtE;AAAA,IACA,cAAAC;AAAA,IACA,MAAAnI;AAAA,IACA,aAAAyM;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAlC;AAAA,IACA,iBAAAmC;AAAA,IACA,YAAAC;AAAA,IACA,WAAAxE;AAAA,IACA,eAAAC;AAAA,IACA,cAAAwE;AAAA,IACA,eAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,aAAAS;AAAA,IACA,iBAAAC;AAAA,IACA,YAAAH;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAH;AAAA,IACA,kBAAAC;AAAA,IACA,iBAAAvI;AAAA,IACA,gBAAAnE;AAAA,IACA,0BAAAqM;AAAA,IACA,2BAAAC;AAAA,IACA,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAvL;AAAA,IACA,qBAAAmH;AAAA;AAAA,IAEA,gBAAA3H;AAAA,IACA,eAAAM;AAAA,IACA,aAAA2C;AAAA,IACA,aAAAZ;AAAA,IACA,aAAAC;AAAA,IACA,WAAArD;AAAA,IACA,kBAAAsD;AAAA,IACA,cAAAW;AAAA,IACA,iBAAAC;AAAA,IACA,kBAAA6F;AAAA;AAAA,IAEA,kBAAAxC;AAAA,IACA,sBAAAR;AAAA,IACA,iBAAA8C;AAAA;AAAA,IAEA,iBAAA1D;AAAA,IACA,qBAAAX;AAAA,IACA,mBAAA6D;AAAA;AAAA,IAEA,wBAAA0F;AAAA,IACA,eAAAC;AAAA;AAAA,IAEA,SAAAjM;AAAA,IACA,SAAAE;AAAA,IACA,QAAApC;AAAA,IACA,GAAGL;AAAA,EACP,IAAMzc;AACJ,SAAO;AAAA,IACL,eAAe;AAAA,MACb,UAAAgoB;AAAA,MACA,UAAAD;AAAA,MACA,cAAAG;AAAA,MACA,OAAAR;AAAA,MACA,eAAAS;AAAA,MACA,UAAAtE;AAAA,MACA,cAAAC;AAAA,MACA,MAAAnI;AAAA,MACA,aAAAyM;AAAA,MACA,cAAAC;AAAA,MACA,iBAAAlC;AAAA,MACA,iBAAAmC;AAAA,MACA,YAAAC;AAAA,MACA,WAAAxE;AAAA,MACA,eAAAC;AAAA,MACA,cAAAwE;AAAA,MACA,eAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,aAAAS;AAAA,MACA,iBAAAC;AAAA,MACA,YAAAH;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAH;AAAA,MACA,kBAAAC;AAAA,MACA,iBAAAvI;AAAA,MACA,gBAAAnE;AAAA,MACA,0BAAAqM;AAAA,MACA,2BAAAC;AAAA,MACA,cAAAC;AAAA,MACA,iBAAAtL;AAAA,MACA,qBAAAmH;AAAA;AAAA,MAEA,gBAAA3H;AAAA,MACA,eAAAM;AAAA,MACA,aAAA2C;AAAA,MACA,aAAAZ;AAAA,MACA,aAAAC;AAAA,MACA,WAAArD;AAAA,MACA,kBAAAsD;AAAA,MACA,cAAAW;AAAA,MACA,iBAAAC;AAAA,MACA,kBAAA6F;AAAA;AAAA,MAEA,kBAAAxC;AAAA,MACA,sBAAAR;AAAA,MACA,iBAAA8C;AAAA;AAAA,MAEA,iBAAA1D;AAAA,MACA,qBAAAX;AAAA,MACA,mBAAA6D;AAAA;AAAA,MAEA,wBAAA0F;AAAA,MACA,eAAAC;AAAA;AAAA,MAEA,SAAAjM;AAAA,MACA,SAAAE;AAAA,MACA,QAAApC;AAAA,IACN;AAAA,IACI,QAAAL;AAAA,EACJ;AACA;AC5HA,SAASyO,GAAiBC,GAAY;AACpC,MAAIA,MAAe;AACjB,WAAO;AAET,QAAMxP,IAAO,IAAI,KAAKwP,CAAU;AAChC,SAAI,OAAO,MAAMxP,EAAK,QAAO,CAAE,KAAK,CAACwP,IAC5B,OAEF3R,GAAMmC,CAAI,EAAE,OAAO,YAAY;AACxC;ACTA,SAASyP,GAAY,EAAE,MAAAzP,GAAM,SAAAuD,GAAS,SAAAF,EAAO,GAAI;AAU/C,SATI,EAAArD,KAAQ,QAGR,OAAO,MAAM,IAAI,KAAKA,CAAI,EAAE,QAAO,CAAE,KAGrCuD,KAAW1F,GAAMmC,CAAI,EAAE,QAAQuD,GAAS,MAAM,KAG9CF,KAAWxF,GAAMmC,CAAI,EAAE,SAASqD,GAAS,MAAM;AAIrD;ACAA,MAAMe,KAAe;AAAA,EACnB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,MAAM;AACR,GACMsL,KAAYpQ,GAAQ,CAACC,GAAQC,MAAQ;AACzC,QAAMnb,IAAQsrB,GAAc,aAAavL,IAAc7E,CAAM,GACvD;AAAA,IACJ,YAAAqQ;AAAA,IACA,cAAAC;AAAA,IACA,OAAAn4B;AAAA,IACA,cAAA4zB;AAAA,IACA,UAAAC;AAAA,IACA,WAAAuE;AAAA,IACA,kBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,aAAAtM;AAAA,IACA,QAAAvC;AAAA,IACA,aAAA8O;AAAA,IACA,YAAAC;AAAA,IACA,SAAA7M;AAAA,IACA,SAAAE;AAAA,IACA,WAAA4M;AAAA,IACA,SAAA11B;AAAA,IACA,QAAA21B;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAzsB;AAAA,IACA,MAAAib;AAAA,IACA,cAAAyR;AAAA,IACA,UAAA1Q;AAAA,IACA,YAAAJ;AAAA,IACA,QAAAG;AAAA,IACA,eAAAyP;AAAA,IACA,MAAAtP;AAAA,IACA,aAAAyM;AAAA,IACA,cAAAC;AAAA,IACA,sBAAArF;AAAA,IACA,qBAAAvB;AAAA,IACA,UAAA7F;AAAA,IACA,GAAGwQ;AAAA,EACP,IAAMpsB,GACEqsB,IAAcjG,GAAO,IAAI,GACzBkG,IAAelG,GAAO,IAAI,GAC1B,CAACmG,GAAgBC,CAAiB,IAAIC,GAAS,EAAK,GACpD,EAAE,eAAAC,GAAe,QAAAjQ,MAAWsO,GAAkBqB,CAAI,GAClDvS,KAAMD,GAAe,GAKrB+S,KAAcd,MAJM,CAAC73B,OAAQ;AACjC,UAAM44B,KAAapT,GAAMxlB,IAAK43B,GAAa/R,GAAI,UAAUiD,CAAM,CAAC,EAAE,OAAM;AACxE,WAAO,OAAO,MAAM8P,GAAW,QAAO,CAAE,IAAI1B,GAAiBl3B,EAAG,IAAIwlB,GAAMoT,EAAU,EAAE,OAAO,YAAY;AAAA,EAC3G,IAEMC,KAAiB5B,MAAkB,SAASA,IAAgBQ,GAC5DrR,KAAc,CAACpmB,OAAQA,KAAMwlB,GAAMxlB,EAAG,EAAE,OAAO6lB,GAAI,UAAUiD,CAAM,CAAC,EAAE,OAAO8O,CAAW,IAAI,IAC5F,CAACxE,GAAQ0F,GAAUxF,CAAU,IAAIN,GAAqB;AAAA,IAC1D,MAAM;AAAA,IACN,OAAA3zB;AAAA,IACA,cAAA4zB;AAAA,IACA,UAAAC;AAAA,EACJ,CAAG,GACK,CAACuC,GAAOC,CAAO,IAAI1C,GAAqB;AAAA,IAC5C,MAAM;AAAA,IACN,OAAOrL;AAAA,IACP,cAAcsL,KAAgBmB;AAAA,IAC9B,UAAUC;AAAA,EACd,CAAG;AACD,EAAAoC,GAAU,MAAM;AACd,IAAInD,KAAcj0B,MAAU,QAC1Bq2B,EAAQr2B,CAAK;AAAA,EAEjB,GAAG,CAACi0B,GAAYj0B,CAAK,CAAC;AACtB,QAAM,CAAC05B,IAAYC,CAAa,IAAIP,GAASrS,GAAYgN,CAAM,CAAC;AAChE,EAAAqD,GAAU,MAAM;AACd,IAAAuC,EAAc5S,GAAYgN,CAAM,CAAC;AAAA,EACnC,GAAG,CAACvN,GAAI,UAAUiD,CAAM,CAAC,CAAC;AAC1B,QAAMmQ,IAAoB,CAAC3T,OAAU;AACnC,UAAMtlB,KAAMslB,GAAM,cAAc;AAGhC,QAFA0T,EAAch5B,EAAG,GACjBw4B,EAAkB,EAAI,GAClBx4B,GAAI,KAAI,MAAO,OAAOi3B,KAAiBQ;AACzC,MAAAqB,EAAS,IAAI;AAAA,SACR;AACL,YAAMI,KAAYP,GAAY34B,EAAG;AACjC,MAAIk5B,MAAa9B,GAAY,EAAE,MAAM8B,IAAW,SAAAlO,GAAS,SAAAE,EAAO,CAAE,MAChE4N,EAASI,EAAS,GAClBxD,EAAQwD,EAAS;AAAA,IAErB;AAAA,EACF,GACMC,IAAkB,CAAC7T,OAAU;AACjC,IAAAyS,IAASzS,EAAK,GACdkT,EAAkB,EAAK,GACvBV,KAAakB,EAAc5S,GAAYgN,CAAM,CAAC;AAAA,EAChD,GACMgG,IAAmB,CAAC9T,OAAU;AAClC,IAAAljB,IAAUkjB,EAAK,GACfkT,EAAkB,EAAI;AAAA,EACxB,GACMa,IAAmB,CAAC/T,OAAU;AAClC,IAAA0S,IAAU1S,EAAK,GACfkT,EAAkB,EAAI;AAAA,EACxB,GACMc,IAAqB,CAAChU,OAAU;AACpC,IAAIA,GAAM,QAAQ,YAChBkT,EAAkB,EAAK,GAEzBP,IAAY3S,EAAK;AAAA,EACnB,GACMiU,KAAe,CAACnP,QAAS;AAAA,IAC7B,GAAGiB,IAAcjB,EAAG;AAAA,IACpB,UAAU5E,GAAM4N,CAAM,EAAE,OAAOhJ,IAAK,KAAK;AAAA,IACzC,SAAS,CAAC9E,OAAU;AAClB,MAAA+F,IAAcjB,EAAG,EAAE,UAAU9E,EAAK;AAClC,YAAMtlB,KAAM64B,MAAiBrT,GAAM4N,CAAM,EAAE,OAAOhJ,IAAK,KAAK,IAAI,OAAaA;AAC7E,MAAA0O,EAAS94B,EAAG,GACZ,CAACszB,KAActzB,MAAOg5B,EAAc5S,GAAYpmB,EAAG,CAAC,GACpDw4B,EAAkB,EAAK;AAAA,IACzB;AAAA,EACJ,IACQgB,KAA8BrrB,gBAAAA,EAAAA;AAAAA,IAClCsrB,GAAM;AAAA,IACN;AAAA,MACE,SAAS,MAAM;AACb,QAAAX,EAAS,IAAI,GACb,CAACxF,KAAc0F,EAAc,EAAE,GAC/BR,EAAkB,EAAK;AAAA,MACzB;AAAA,MACA,UAAA/Q;AAAA,MACA,GAAGiQ;AAAA,IACT;AAAA,EACA,GACQgC,KAAajC,KAAa,CAAC,CAACrE,KAAU,CAAC8E,MAAY,CAACtQ;AAC1D,SAAA+R,GAAa,MAAM;AACjB,IAAAvG,MAAW,UAAU,CAACmF,KAAkBS,EAAc5S,GAAYgN,CAAM,CAAC;AAAA,EAC3E,GAAG,CAACA,CAAM,CAAC,GACXwG,GAAgB,MAAMpB,EAAkB,EAAK,GAAG,QAAQ;AAAA,IACtDH,EAAY;AAAA,IACZC,EAAa;AAAA,EACjB,CAAG,GACsB1O,gBAAAA,EAAAA,KAAKiQ,YAAU,EAAE,UAAU;AAAA,IAChC1rB,gBAAAA,EAAAA,IAAIsrB,GAAM,SAAS,EAAE,GAAGjC,GAAc,kBAAkB,aAAa,KAAKa,GAAa,UAA0BzO,gBAAAA,EAAAA;AAAAA,MAC/HkQ;AAAA,MACA;AAAA,QACE,QAAQvB;AAAA,QACR,WAAW;AAAA,QACX,UAAU;AAAA,QACV,UAAUL,MAAYtQ;AAAA,QACtB,WAAW;AAAA,QACX,UAAAH;AAAA,QACA,GAAGkQ;AAAA,QACH,UAAU;AAAA,UACQxpB,gBAAAA,EAAAA,IAAI2rB,GAAQ,QAAQ,EAAE,UAA0B3rB,gBAAAA,EAAAA;AAAAA,YAC9DsrB;AAAA,YACA;AAAA,cACE,oBAAoB;AAAA,cACpB,kBAAkBvB,MAAY;AAAA,cAC9B,cAAc;AAAA,cACd,KAAA/Q;AAAA,cACA,OAAO4R;AAAA,cACP,UAAUE;AAAA,cACV,QAAQE;AAAA,cACR,SAASC;AAAA,cACT,SAASC;AAAA,cACT,WAAWC;AAAA,cACX,UAAApB;AAAA,cACA,cAAAC;AAAA,cACA,gBAAgBqB;AAAA,cAChB,aAAaE;AAAA,cACb,GAAGnC;AAAA,cACH,GAAG9O;AAAA,cACH,UAAAb;AAAA,cACA,kBAAkB;AAAA,YAChC;AAAA,UACA,GAAa;AAAA,UACazZ,gBAAAA,EAAAA;AAAAA,YACd2rB,GAAQ;AAAA,YACR;AAAA,cACE,aAAa,CAACxU,OAAUA,GAAM,eAAc;AAAA,cAC5C,uBAAuB;AAAA,cACvB,KAAKgT;AAAA,cACL,UAA0BnqB,gBAAAA,EAAAA;AAAAA,gBACxB8lB;AAAA,gBACA;AAAA,kBACE,kBAAkB;AAAA,kBAClB,GAAGyE;AAAA,kBACH,YAAArR;AAAA,kBACA,QAAAG;AAAA,kBACA,UAAAC;AAAA,kBACA,gBAAgB;AAAA,kBAChB,SAAAuD;AAAA,kBACA,SAAAE;AAAA,kBACA,QAAApC;AAAA,kBACA,aAAayQ;AAAA,kBACb,MAAMhC,EAAW;AAAA,kBACjB,MAAM9B;AAAA,kBACN,cAAcC;AAAA,kBACd,sBAAsB,CAACE,QAAW;AAAA,oBAChC,UAAU,OAAOxC,KAAW,WAAWvI,GAAY+K,IAAOxC,CAAM,IAAI;AAAA,oBACpE,GAAGpE,IAAuB4G,EAAK;AAAA,kBACnD;AAAA,kBACkB,qBAAqB,CAACA,QAAW;AAAA,oBAC/B,UAAU,OAAOxC,KAAW,WAAW5N,GAAMoQ,EAAK,EAAE,OAAOxC,GAAQ,MAAM,IAAI;AAAA,oBAC7E,GAAG3F,IAAsBmI,EAAK;AAAA,kBAClD;AAAA,kBACkB,YAAY4B,EAAa;AAAA,gBAC3C;AAAA,cACA;AAAA,YACA;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA,GAAO;AAAA,IACarpB,gBAAAA,MAAIsY,IAAkB,EAAE,MAAAhb,GAAM,MAAAib,GAAM,OAAO0M,GAAQ,MAAM,UAAS,CAAE;AAAA,EACxF,GAAK;AACL,CAAC;AACDiE,GAAU,UAAU,EAAE,GAAGoC,GAAM,SAAS,GAAGxF,GAAS,QAAO;AAC3DoD,GAAU,cAAc;AC/MjB,SAAA0C,GAAAla,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,EAAA,GAA2C;AAAA,IAAAia,QAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAn6B,UAAAA;AAAAA,IAAA+iB,SAAAA;AAAAA,IAAAqX,OAAAA;AAAAA,IAAAC,WAAAA;AAAAA,EAAAA,IAAAta,GAQhD,CAAAua,GAAAC,CAAA,IAA4B5B,IAAU,GACtC,CAAA6B,GAAAC,CAAA,IAAsC9B,KAAuB,GAC7D,CAAA+B,GAAAC,CAAA,IAAgChC,GAAAA,GAEhC;AAAA,IAAAiC,aAAAC;AAAAA,IAAA3yB,SAAA4yB;AAAAA,IAAAh5B,OAAAi5B;AAAAA,IAAA9yB,WAAA+yB;AAAAA,EAAAA,IAKIzX,GAAaR,GAAS/iB,CAAQ,GAClC;AAAA,IAAA46B,aAAAK;AAAAA,IAAAhzB,WAAAizB;AAAAA,EAAAA,IAA4DlX,GAC1DjB,GACA/iB,CACF,GAEAiI,IAAkB+yB,KAAmBE;AAAgB,MAAA/a;AAAA,EAAAH,SAAAka,KAGhD/Z,IAAA,IAAAgb,IACDjB,EAAMkB,OAAAlY,EACqC,EAACD,IAAAK,EACd,CAAC,GAChCtD,OAAAka,GAAAla,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAI;AAAA,EAAAJ,SAAAG,KALoBC,SAClBD,CAIF,GACFH,OAAAG,GAAAH,OAAAI,MAAAA,KAAAJ,EAAA,CAAA;AAND,QAAAqb,IAAuBjb;AAMrB,MAAAC;AAAA,EAAAL,EAAA,CAAA,MAAAsb,OAAAC,IAAA,2BAAA,KAEFlb,IAAA,SAAAlX,GAAAqyB,GAAA;AAAA,WACM,OAAOryB,EAAKsyB,YAAc,aACrBtyB,EAAKsyB,SAAUD,OAA4B,IAAC,CAAA,CAE5CryB,EAAKsyB;AAAAA,EAAA,GACfzb,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AALD,QAAA0b,IAAArb;AAKC,MAAAsb;AAAA,EAAA3b,SAAAka,KAIgByB,IAAAzB,EAAM0B,OAAApY,IAAA,CAAA,CAMX,GAACxD,OAAAka,GAAAla,OAAA2b,KAAAA,IAAA3b,EAAA,CAAA;AAAA,MAAA6b;AAAA,MAAA7b,SAAAka,GAAA;AAAA,QAAA4B;AAAA,IAAA9b,EAAA,CAAA,MAAAsb,OAAAC,IAAA,2BAAA,KAIPO,IAAAA,CAAAC,GAAAC,OACEC,EAAI9yB,EAAKkZ,EAAc,IAAA,CAAA9iB,GAAA28B,MACjB/yB,EAAKgzB,eAAA,CAAiBhzB,EAAKgzB,YAAaX,CAAM,KAAC,CAG9CE,EAAgBvyB,GAAOqyB,CAAM,KAG3Bj8B,IAH4B,OAGb,eAEjB08B,IACRjc,OAAA8b,KAAAA,IAAA9b,EAAA,CAAA,GAdK6b,IAAA3B,EAAMkB,OAAAvX,EACmB,EAAC+X,OAEhCE,GAWC,EAEH,GAAC9b,OAAAka,GAAAla,OAAA6b;AAAAA,EAAA;AAAAA,IAAAA,IAAA7b,EAAA,CAAA;AAAA,MAAA8b;AAAA,EAAA9b,EAAA,EAAA,MAAA2b,KAAA3b,UAAA6b,KAzBgBC,KAAA;AAAA,IAAAM,MACb;AAAA,IAAcC,eACLV;AAAAA,IAMJW,UACDT;AAAAA,EAAAA,GAiBX7b,QAAA2b,GAAA3b,QAAA6b,GAAA7b,QAAA8b,MAAAA,KAAA9b,EAAA,EAAA;AA1BD,QAAA4G,IAAa2V,GAAQT,EA0BpB;AAAE,MAAAU;AAAA,EAAAxc,EAAA,EAAA,MAAA4G,KAAA5G,UAAA0a,KAEH8B,IAAA,SAAAC,GAAA;AACE,UAAAC,IAAmB9V,EAAI+V,UAAAA;AAAa,QAChCxzB,EAAKgzB,eAAA,CAAiBhzB,EAAKgzB,YAAaO,CAAU;AAAC,aAAA;AAGvD,UAAAE,IAAmBlB,EAAgBvyB,GAAOuzB,CAAU;AAAE,WAEpD5S,gBAAAA,EAAAA,KAACiQ,IAAA,EACG5wB,UAAAA;AAAAA,OAAAA,EAAKe,SAAA2V,UAAuB1W,EAAKe,QAAS,WAC1CmE,gBAAAA,EAAAA,IAACwuB,IAAA,EACQ,OAAA1zB,EAAKkc,OAAAyX,OAEC,aAAA3zB,EAAK4zB,eAAgB,IAAE,GAChCnW,EAAIoW,cAAe7zB,EAAKkZ,EAAa,GACnC,MAAAlZ,EAAKkZ,GAAA4a,SAAa,OAAO,IAAI,UAAOpd,QAChC+c,UAAAA,EAAAA,GAJLhW,EAAIvmB,IAAK8I,EAAKkZ,EAAG,CAIF;AAAA,MAIvBlZ,EAAKe,SAAU,YACdmE,gBAAAA,EAAAA,IAAC6uB,IAAA,EACkB,kBAAA,KACV,OAAA/zB,EAAKkc,OAAAyX,OACC,aAAA3zB,EAAK4zB,eAAgB,IACX,GACnBnW,EAAIoW,cAAe7zB,EAAKkZ,EAAa,GAC/Bua,UAAAA,EAAAA,GAFLhW,EAAIvmB,IAAK8I,EAAKkZ,EAAG,CAEF;AAAA,MAIvBlZ,EAAKe,SAAU,UACdmE,gBAAAA,EAAAA,IAACkpB,IAAA,EACQ,OAAApuB,EAAKkc,OAAAyX,OACC,aAAA3zB,EAAK4zB,eAAgB,IAErB,aAAA,cACb,WAAA,IAAS,GACLnW,EAAIoW,cAAe7zB,EAAKkZ,EAAa,GAC/Bua,UAAAA,EAAAA,GAJLhW,EAAIvmB,IAAK8I,EAAKkZ,EAAG,CAIF;AAAA,MAIvBlZ,EAAKe,SAAU,aACdmE,gBAAAA,EAAAA,IAAC8uB,MACI,IAAA,MACI,OAAAh0B,EAAKkc,OAAAyX,OACW,GACnBlW,EAAIoW,cAAe7zB,EAAKkZ,IAAa;AAAA,QAAAnY,MAAU;AAAA,MAAA,CAAY,GACrD0yB,UAAAA,EAAAA,GAFLhW,EAAIvmB,IAAK8I,EAAKkZ,EAAG;MAMzBlZ,EAAKe,SAAU,cACdmE,gBAAAA,EAAAA,IAAC+uB,IAAA,EACQ,OAAAj0B,EAAKkc,OAAAyX,OACC,aAAA3zB,EAAK4zB,eAAgB,OAE9BnW,EAAIoW,cAAe7zB,EAAKkZ,EAAa,GAChC,SAAA,GACT,cACUua,UAAAA,EAAAA,GAJLhW,EAAIvmB,IAAK8I,EAAKkZ,EAAG,CAIF;AAAA,MAIvBlZ,EAAKe,SAAU,YACdf,EAAKk0B,UACLl0B,EAAKk0B,OAAA;AAAA,QAAA,GACEzW,EAAI+V,UAAAA;AAAAA,QAAY,GAAMjC,KAAQ;AAAA,UAAArY,IAAUqY;AAAAA,QAAAA;AAAAA,MAAQ,GACrD9T,EAAI0W,WACJ7C,GAAc;AAAA,QAAA34B,OAEL8kB,EAAIoW,cAAe7zB,EAAKkZ,EAAa,EAACvgB;AAAAA,QAAA25B,UACnCmB;AAAAA,MAAAA,CAEd;AAAA,IAAA,EAAA,GAnEWzzB,EAAKkZ,EAoEpB;AAAA,EAAW,GAEdrC,QAAA4G,GAAA5G,QAAA0a,GAAA1a,QAAAwc,KAAAA,IAAAxc,EAAA,EAAA;AA7ED,QAAAud,IAAAf;AA6EC,MAAAgB;AAAA,EAAAxd,EAAA,EAAA,MAAA+a,GAAAla,WAAAb,EAAA,EAAA,MAAA+a,GAAApvB,QAAAqU,UAAA8a,KAII0C,IAAA1C,KACCzsB,gBAAAA,EAAAA,IAACovB,IAAA,EACS,SAAA,WACF,OAAA,OACC,OAAA1C,GAAWpvB,QAAU,sBACzB,IAAA,MAEFovB,UAAAA,GAAWla,WAAa,sBAC3B,GACDb,EAAA,EAAA,IAAA+a,GAAAla,SAAAb,EAAA,EAAA,IAAA+a,GAAApvB,MAAAqU,QAAA8a,GAAA9a,QAAAwd,KAAAA,IAAAxd,EAAA,EAAA;AAAA,MAAA0d;AAAA,EAAA1d,EAAA,EAAA,MAAAsa,KAAAta,UAAA6a,KAAA7a,EAAA,EAAA,MAAA4G,KAAA5G,EAAA,EAAA,MAAA8a,KAAA9a,EAAA,EAAA,MAAAma,KAAAna,EAAA,EAAA,MAAAqa,KAAAra,UAAA0a,KAAA1a,EAAA,EAAA,MAAAqb,EAAAsC,UAAA3d,UAAAib,KAGWyC,IAAA9W,EAAIgX,gBAAAC,MAAA;AAAA,QACRnD;AAAQ,YACJO,EAAM;AAAA,QAAA,GAAMO;AAAAA,QAAMnZ,IAAMqY;AAAAA,MAAAA,CAAe;AAAA,SAAC;AAE9C,YAAAt6B,IAAA,MAAqBy6B,EAAOW,CAAW;AACvCb,MAAAA,EAAYv6B,EAAMiiB,EAAG,GACrBgY,IAAYj6B,EAAMiiB,EAAA;AAAA,IAAA;AAAA,IAGhBgZ,EAAcsC,UAAWrD,IAASe,EAAcsC,SAAA,IAC7C7C,KACHP,EAAUD,IAAM,CAAI,IAGjBQ,MACHlU,EAAIkX,iBAAkBtC,CAAM,GAC5B5U,EAAImX,MAAAA,GACJ5D,EAAAA;AAAAA,EAAS,CAGd,GAACna,QAAAsa,GAAAta,QAAA6a,GAAA7a,QAAA4G,GAAA5G,QAAA8a,GAAA9a,QAAAma,GAAAna,QAAAqa,GAAAra,QAAA0a,GAAA1a,EAAA,EAAA,IAAAqb,EAAAsC,QAAA3d,QAAAib,GAAAjb,QAAA0d,KAAAA,IAAA1d,EAAA,EAAA;AAAA,MAAAge;AAAA,EAAAhe,EAAA,EAAA,MAAAsa,KAAAta,EAAA,EAAA,MAAAka,KAAAla,EAAA,EAAA,MAAAud,KAAAvd,EAAA,EAAA,MAAAoa,KAAApa,UAAAqb,KAED2C,IAAA3C,EAAcsC,SACbtvB,gBAAAA,MAAC4vB,MAAgB3D,QAAAA,GAAa,MAAA,MAC3Be,UAAAA,EAAcpY,IAAAib,OACb7vB,gBAAAA,MAAA4vB,GAAA,MAAA,EACW,GACJ7D,KAASA,EAAM8D,KAAQ,IAAC;AAAA,IAAA5N,OAChB8J,EAAM8D,KAAQ,EAAA5N;AAAAA,EAAAA,IAAA,IAG1B4J,UAAAA,EAAMkB,OAAA+C,OACUhrB,EAAC+qB,SAAUA,CAAI,EAACjb,IAAAmb,CAAAA,MACfb,EAAYp0B,CAAK,CAAC,EAAA,GAP/B+0B,CAQP,CACD,EAAA,CACH,IAEAhE,EAAMjX,IAAAob,CAAAA,MAAgBd,EAAYp0B,CAAK,CAAC,GACzC6W,QAAAsa,GAAAta,QAAAka,GAAAla,QAAAud,GAAAvd,QAAAoa,GAAApa,QAAAqb,GAAArb,QAAAge,KAAAA,IAAAhe,EAAA,EAAA;AAAA,MAAAse;AAAA,EAAAte,UAAAsa,KAAAta,EAAA,EAAA,MAAAwa,KAAAxa,EAAA,EAAA,MAAA/X,KAAA+X,UAAAma,KAAAna,EAAA,EAAA,MAAAqb,EAAAsC,UACAW,IAAA,CAAC9D,KACA1Q,gBAAAA,EAAAA,KAACyU,MAAS,IAAA,MAAa,SAAA,OACrB,UAAA;AAAA,IAAAlwB,gBAAAA,EAAAA,IAACmwB,IAAA,EACU,SAAA,MACPnD,EAAcsC,SACVrD,MAAM,IACJH,MACAI,EAAUD,IAAM,CAAI,IACtBH,KAEE,SAAA,WAEPkB,UAAAA,EAAcsC,SACXrD,UACE,cACA,WACF,YAAA,CACN;AAAA,IACAjsB,gBAAAA,EAAAA,IAACmwB,IAAA,EAAY,MAAA,UAAkBv2B,SAAAA,GAC5BozB,UAAAA,EAAcsC,SACXrD,MAAWe,EAAcsC,SAAA,IACvB,cACA,WACF,YAAA,CACN;AAAA,EAAA,GACF,GACD3d,QAAAsa,GAAAta,QAAAwa,GAAAxa,QAAA/X,GAAA+X,QAAAma,GAAAna,EAAA,EAAA,IAAAqb,EAAAsC,QAAA3d,QAAAse,KAAAA,IAAAte,EAAA,EAAA;AAAA,MAAAye;AAAA,EAAAze,EAAA,EAAA,MAAAge,KAAAhe,UAAAse,KAAAte,EAAA,EAAA,MAAA0d,KAnEHe,IAAA3U,gBAAAA,EAAAA,KAAA,QAAA,EACY,UAAA4T,GAsBTM,UAAAA;AAAAA,IAAAA;AAAAA,IAkBAM;AAAAA,EAAAA,GA2BH,GAAOte,QAAAge,GAAAhe,QAAAse,GAAAte,QAAA0d,GAAA1d,QAAAye,KAAAA,IAAAze,EAAA,EAAA;AAAA,MAAA0e;AAAA,SAAA1e,EAAA,EAAA,MAAAye,KAAAze,UAAAwd,KAhFTkB,yCACGlB,UAAAA;AAAAA,IAAAA;AAAAA,IAWDiB;AAAAA,EAAAA,GAoEO,GACNze,QAAAye,GAAAze,QAAAwd,GAAAxd,QAAA0e,KAAAA,IAAA1e,EAAA,EAAA,GAjFH0e;AAiFG;AArOA,SAAA7a,GAAA8a,GAAA;AAAA,SAkDkBx1B,EAAKsyB;AAAA;AAlDvB,SAAAjY,GAAAyY,GAAA2C,GAAA;AA2CD3C,SAAAA,EAAI9yB,EAAKkZ,EAAc,IACrBlZ,EAAKe,SAAU,YAAS,KAEnBf,EAAKgqB,gBAAkB,IACvB8I;AAAG;AA/CT,SAAA3Y,GAAAub,GAAA;AAAA,SA6Ba1rB,EAAC+qB;AAAe;AA7B7B,SAAAhb,GAAA/P,GAAA;AAAA,SA4BgB,OAAOA,EAAC+qB,QAAU;AAAQ;ACvD2R,IAAG,CAACY,IAAG/rB,EAAE,IAAEgsB,GAAG,wEAAwE,GAA+CC,KAAG,CAAA/oB,MAAG;AAAC,MAAG,EAAC,UAASqO,GAAE,cAAahjB,GAAE,iBAAgB,GAAE,eAAcd,GAAE,kBAAiB6P,GAAE,mBAAkBoU,GAAE,oBAAmB9T,GAAE,gBAAe,GAAE,yBAAwBiE,GAAE,mBAAkBzB,EAAC,IAAE8C,GAAE,CAAC/D,GAAER,CAAC,IAAEutB,GAAG,EAAE,GAAE,CAACvuB,GAAEzP,CAAC,IAAEg+B,GAAG,EAAE;AAAE,SAAOC,EAAAA,IAAGJ,IAAG,EAAC,OAAM,EAAC,cAAa5sB,GAAE,iBAAgBR,GAAE,cAAahB,GAAE,iBAAgBzP,GAAE,eAAcT,GAAE,kBAAiB6P,GAAE,aAAY,MAAI;AAAC,QAAG,CAAC/O,KAAG,CAAC,KAAG,CAAC4Q,KAAG,CAACxB,EAAE;AAAO,QAAIiE,IAAErT,EAAE,QAAQ4Q,CAAC,GAAEQ,IAAEpR,EAAE,QAAQoP,CAAC;AAAE,QAAGiE,MAAI,MAAIjC,MAAI,IAAG;AAAC,UAAItR,IAAEE,EAAE,OAAOqT,GAAE,CAAC,EAAE,CAAC;AAAE,MAAArT,EAAE,OAAOoR,GAAE,GAAEtR,CAAC,GAAE,EAAE,CAAC,GAAGE,CAAC,CAAC;AAAA,IAAC;AAAA,EAAC,GAAE,mBAAkBmjB,GAAE,oBAAmB9T,GAAE,gBAAe,GAAE,yBAAwBiE,GAAE,mBAAkBzB,EAAC,GAAE,UAASmR,EAAC,CAAC;AAAC;AAA2C,SAAS6a,KAAI;AAAC,SAAOvuB,EAAAA,IAAG,MAAK,EAAC,WAAU,+BAA8B,UAASA,EAAAA,IAAG,MAAK,CAAA,CAAE,EAAC,CAAC;AAAC;AAAwG,SAAS6N,KAAI;AAAC,SAAO2gB,EAAAA,KAAG,OAAM,EAAC,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,aAAY,KAAI,QAAO,gBAAe,MAAK,QAAO,eAAc,SAAQ,gBAAe,SAAQ,UAAS,CAACxsB,EAAAA,IAAG,QAAO,EAAC,QAAO,QAAO,GAAE,iBAAgB,MAAK,OAAM,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,4LAA2L,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,4GAA2G,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,4EAA2E,CAAC,GAAEA,MAAG,QAAO,EAAC,GAAE,aAAY,CAAC,CAAC,EAAC,CAAC;AAAC;AAAoE,SAAS4M,GAAG,EAAC,MAAKvJ,GAAE,MAAKqO,GAAE,QAAOhjB,GAAE,UAAS,EAAC,GAAE;AAAC,SAAO+9B,EAAAA,IAAGC,IAAG,EAAC,WAAU,iCAAgC,eAAch+B,KAAG,QAAO,UAAS,KAAGi+B,OAAGC,EAAAA,UAAG,EAAC,UAAS,CAACvpB,KAAGopB,EAAAA,IAAG,OAAM,EAAC,WAAU,sCAAqC,UAASA,MAAG5gB,IAAG,CAAA,CAAE,EAAC,CAAC,GAAE4gB,EAAAA,IAAGI,IAAG,EAAC,WAAU,OAAM,MAAK,MAAK,GAAE,UAAS,UAASnb,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC;AAAC;AAAiQ,SAASvL,GAAG,EAAC,KAAI9C,GAAE,SAAQqO,IAAE,CAAA,GAAG,yBAAwBhjB,IAAE,GAAE,GAAE;AAAC,WAAS,EAAE4Q,GAAER,GAAE;AAAC,QAAIhB,IAAE,CAAA;AAAG,WAAOwB,EAAE,QAAQ,CAAAjR,MAAG;AAAC,MAAAyQ,EAAE,KAAK,CAAAX,MAAGA,EAAE,aAAW9P,CAAC,KAAGyP,EAAE,KAAKzP,CAAC;AAAA,IAAC,CAAC,GAAEyQ,EAAE,QAAQ,CAAAzQ,MAAG;AAAC,MAAAyP,EAAE,SAASzP,EAAE,QAAQ,KAAGyP,EAAE,KAAKzP,EAAE,QAAQ;AAAA,IAAC,CAAC,GAAEyP;AAAA,EAAC;AAAC,MAAIlQ,IAAE8jB,KAAGA,EAAE,IAAI,CAAApS,MAAGA,EAAE,QAAQ,KAAG,CAAA,GAAG,CAAC7B,GAAEoU,CAAC,IAAEib,GAAG,EAAC,KAAIzpB,IAAE,GAAGA,CAAC,mBAAiB,IAAG,cAAaA,IAAEzV,IAAE,QAAO,yBAAwBc,EAAC,CAAC;AAAE,WAASqP,EAAEuB,GAAE;AAAC,IAAA+D,KAAGwO,EAAEvS,CAAC;AAAA,EAAC;AAAC,MAAI,IAAE,MAAI;AAAC,IAAAvB,EAAEnQ,CAAC;AAAA,EAAC;AAAE,MAAG,CAACyV,EAAE,QAAM,EAAC,cAAa5F,GAAE,iBAAgBM,GAAE,mBAAkB,EAAC;AAAE,MAAIiE,IAAE,EAAEvE,GAAEiU,CAAC,GAAEnR,IAAE,KAAK,UAAU9C,CAAC;AAAE,SAAO,KAAK,UAAUuE,CAAC,MAAIzB,KAAGxC,EAAEiE,CAAC,GAAE,EAAC,cAAaA,GAAE,iBAAgBjE,GAAE,mBAAkB,EAAC;AAAC;AAAkJ,SAAS2L,GAAG,EAAC,KAAIrG,GAAE,SAAQqO,IAAE,CAAA,GAAG,yBAAwBhjB,IAAE,IAAG,WAAU,GAAE,qBAAoBd,EAAC,GAAE;AAAC,MAAI6P,IAAEsvB,GAAG,EAAE,GAAElb,IAAEkb,GAAG,CAAA,CAAE,GAAE,CAAChvB,GAAE,CAAC,IAAEivB,GAAG,EAAE,GAAEhrB,IAAE8C,GAAG,MAAI4M,EAAE,KAAK,CAAA7jB,MAAGA,EAAE,aAAW,CAACA,EAAE,UAAQA,EAAE,aAAW,eAAe,GAAE,CAAC6jB,CAAC,CAAC,GAAEnR,IAAEuE,GAAG,MAAI4M,EAAE,OAAO,CAAA7jB,MAAGA,EAAE,aAAW,CAACA,EAAE,UAAQA,EAAE,aAAW,eAAe,GAAE,CAAC6jB,CAAC,CAAC,GAAEpS,IAAEwF,GAAG,MAAIvE,EAAE,KAAK,CAAA1S,MAAGA,EAAE,UAAQ,UAAQA,EAAE,UAAQ,MAAIA,EAAE,UAAQ,SAAS,GAAE,CAAC0S,CAAC,CAAC,GAAEzB,IAAEP,GAAG,MAAImT,EAAE,OAAO,CAAA7jB,MAAGA,EAAE,aAAW,eAAe,EAAE,IAAI,CAAAA,OAAI,EAAC,CAACA,EAAE,QAAQ,GAAEA,EAAE,SAAO,OAAM,EAAE,GAAE,CAAC6jB,CAAC,CAAC,GAAE,CAAC5T,GAAEzP,CAAC,IAAE4+B,GAAG,EAAC,KAAI5pB,IAAE,GAAGA,CAAC,mBAAiB,IAAG,cAAaA,IAAEvE,EAAC,IAAG,QAAO,yBAAwB,GAAE,CAAC,GAAE,CAACX,GAAE4D,CAAC,IAAEirB,GAAG,MAAIluB,EAAC,CAAE;AAAEouB,EAAAA,GAAG,MAAI;AAAC,MAAE,EAAE;AAAA,EAAC,GAAE,EAAE;AAAE,MAAIptB,IAAEvB,GAAG,MAAI;AAAC,QAAG,CAAC,GAAG,WAASR,EAAE,QAAM,CAAA;AAAG,QAAIlQ,IAAE,EAAE,SAAQkV,IAAE,MAAM,KAAKlV,EAAE,iBAAiB,mBAAmB,CAAC,GAAE2M,IAAE,CAAA;AAAG,WAAOuI,EAAE,QAAQ,CAAAxD,OAAG;AAAC,UAAIsD,IAAEtD,GAAE,aAAa,eAAe;AAAE,UAAG,CAACsD,KAAGA,MAAI,gBAAgB;AAAO,UAAI5C,IAAEM,EAAE,KAAK,CAAAf,MAAGA,EAAE,aAAWqD,CAAC;AAAE,UAAG5C,MAAIA,EAAE,UAAQ,UAAQA,EAAE,UAAQ,MAAIA,EAAE,UAAQ,YAAW;AAAC,YAAIT,IAAED,GAAE;AAAwB,QAAA/E,EAAEqI,CAAC,IAAE,KAAK,MAAMrD,EAAE,KAAK;AAAA,MAAC;AAAA,IAAC,CAAC,GAAEhF;AAAA,EAAC,GAAE,CAAC,GAAE+F,GAAExC,CAAC,CAAC,GAAEvP,IAAE+P,GAAG,CAAA1Q,MAAG;AAAC,QAAIkV,IAAElV,EAAE,OAAO,CAAA0R,OAAGA,GAAE,aAAW,eAAe,GAAE/E,IAAE2D,EAAE,IAAI,CAAAoB,OAAG;AAAC,UAAIsD,IAAE,OAAO,KAAKtD,EAAC,EAAE,CAAC,GAAEU,IAAE8C,EAAE,KAAK,CAAAvD,MAAGA,EAAE,aAAWqD,CAAC;AAAE,aAAO5C,IAAE,EAAC,CAAC4C,CAAC,GAAE5C,EAAE,MAAK,IAAEV;AAAA,IAAC,CAAC;AAAE,IAAAwC,EAAEvH,CAAC,GAAE6I,KAAGhV,EAAEmM,CAAC;AAAA,EAAC,GAAE,CAAC2D,GAAEkF,GAAEhV,CAAC,CAAC,GAAE+T,IAAE7D,GAAG,CAAA1Q,MAAG;AAAC,IAAAW,EAAEX,CAAC;AAAA,EAAC,GAAE,CAACW,CAAC,CAAC,GAAEkQ,IAAEH,GAAG,MAAI;AAAC,QAAG,EAAE,CAAC,GAAG,WAAS,CAAC3Q,KAAGmQ,GAAG,KAAGuB,EAAE,CAAA1R,EAAE,EAAE,GAAE,sBAAsB,MAAI;AAAC,4BAAsB,MAAI;AAAC,YAAIC,IAAEiS,EAAC;AAAG,QAAA+R,EAAE,UAAQ,EAAC,GAAGA,EAAE,SAAQ,GAAGhkB,EAAC;AAAE,YAAIkV,IAAE2O,EAAE,OAAO,CAAAlX,MAAGA,EAAE,aAAW,eAAe,EAAE,IAAI,CAAAA,MAAG;AAAC,cAAI+E,KAAE/E,EAAE,UAASqI,IAAE/E,GAAG,KAAK,CAAA0B,MAAG,OAAO,KAAKA,CAAC,EAAE,CAAC,MAAID,EAAC;AAAE,cAAGsD,KAAGA,EAAEtD,EAAC,MAAI,OAAO,QAAM,EAAC,CAACA,EAAC,GAAEsD,EAAEtD,EAAC,EAAC;AAAE,cAAIU,IAAEpS,EAAE0R,EAAC;AAAE,iBAAOU,IAAE,EAAC,CAACV,EAAC,GAAE,GAAGU,CAAC,KAAI,IAAE,EAAC,CAACV,EAAC,GAAE/E,EAAE,SAAO,OAAM;AAAA,QAAC,CAAC;AAAE,QAAAuH,EAAEgB,CAAC,GAAE,WAAW,MAAI;AAAC,UAAAnV,EAAE,EAAE,GAAE6P,EAAE,UAAQ;AAAA,QAAE,GAAE,EAAE;AAAA,MAAC,CAAC;AAAA,IAAC,CAAC;AAAA,SAAM;AAAC,UAAI5P,IAAE6jB,EAAE,OAAO,CAAA3O,MAAGA,EAAE,aAAW,eAAe,EAAE,IAAI,CAAAA,OAAI,EAAC,CAACA,EAAE,QAAQ,GAAEA,EAAE,SAAO,OAAM,EAAE;AAAE,MAAAhB,EAAElU,CAAC,GAAED,EAAE,EAAE,GAAE6P,EAAE,UAAQ;AAAA,IAAE;AAAA,EAAC,GAAE,CAAC,GAAE7P,GAAEmQ,GAAEuB,GAAEQ,GAAE4R,GAAE5T,CAAC,CAAC,GAAEiC,IAAErB;AAAEwuB,EAAAA,GAAG,MAAI;AAAC,QAAG,CAAClrB,KAAG,CAACpU,KAAGmQ,GAAE;AAAC,MAAAnQ,IAAI,EAAE;AAAE;AAAA,IAAM;AAAC,IAAA6P,EAAE,UAAQ;AAAG,QAAI5P,IAAE,WAAW,MAAI;AAAC,MAAA6Q,EAAC;AAAA,IAAE,GAAE,EAAE;AAAE,WAAM,MAAI,aAAa7Q,CAAC;AAAA,EAAC,GAAE,CAACmU,GAAEpU,GAAEmQ,GAAEW,CAAC,CAAC,GAAEwuB,GAAG,MAAI;AAAC,IAAAnvB,KAAG,CAACsF,KAAG,CAAC3U,KAAGoP,KAAGA,EAAE,SAAO,KAAGiE,EAAEjE,CAAC;AAAA,EAAC,GAAE,CAACC,GAAEsF,GAAE3U,GAAEoP,CAAC,CAAC;AAAE,MAAIuB,KAAEd,GAAG,MAAI;AAAC,IAAA8E,KAAGhV,EAAEyQ,EAAC,CAAE,GAAE+S,EAAE,UAAQ,CAAA,GAAGpU,EAAE,UAAQ,IAAG7P,MAAIA,EAAE,EAAE,GAAE,WAAW,MAAI;AAAC,MAAA8Q;IAAG,GAAE,EAAE;AAAA,EAAE,GAAE,CAAC2E,GAAEhV,GAAEyQ,GAAElR,GAAE8Q,CAAC,CAAC,GAAEmB,IAAEtB,GAAG,CAAC1Q,GAAEkV,MAAI;AAAC,IAAAvU,EAAE,CAAC,EAAC,UAASX,GAAE,OAAMkV,EAAC,CAAC,CAAC;AAAA,EAAC,GAAE,CAACvU,CAAC,CAAC,GAAEiR,IAAEqF,GAAG,MAAI9C,IAAE7D,EAAE,OAAO,CAAAtQ,MAAG;AAAC,QAAIkV,IAAE,OAAO,KAAKlV,CAAC,EAAE,CAAC;AAAE,WAAO0S,EAAE,KAAK,CAAA/F,MAAGA,EAAE,aAAWuI,CAAC;AAAA,EAAC,CAAC,EAAE,MAAM,CAAAlV,MAAG;AAAC,QAAIkV,IAAE,OAAO,OAAOlV,CAAC,EAAE,CAAC;AAAE,WAAOkV,MAAI,UAAQA,MAAI;AAAA,EAAS,CAAC,IAAE,IAAG,CAACf,GAAE7D,GAAEoC,CAAC,CAAC;AAAE,SAAM,EAAC,cAAapC,GAAE,iBAAgB3P,GAAE,gBAAeqR,GAAE,yBAAwBuC,GAAE,mBAAkB/C,IAAE,qBAAoB2C,GAAE,2BAA0BvC,GAAE,2BAA0BM,EAAC;AAAC;AAAoF,SAASpC,GAAG,EAAC,KAAI0F,GAAE,SAAQqO,IAAE,CAAA,GAAG,yBAAwBhjB,IAAE,GAAE,GAAE;AAAC,WAAS,EAAE4Q,GAAER,GAAE;AAAC,QAAIhB,IAAE,CAAA;AAAG,WAAOwB,EAAE,QAAQ,CAAAjR,MAAG;AAAC,MAAAyQ,EAAE,KAAK,CAAAX,MAAGA,EAAE,aAAW9P,EAAE,QAAQ,KAAGyP,EAAE,KAAKzP,CAAC;AAAA,IAAC,CAAC,GAAEyQ,EAAE,QAAQ,CAAAzQ,MAAG;AAAC,MAAAyP,EAAE,KAAK,CAAAK,MAAGA,EAAE,aAAW9P,EAAE,QAAQ,KAAGyP,EAAE,KAAK,EAAC,UAASzP,EAAE,UAAS,eAAcA,EAAE,iBAAe,IAAG,YAAWA,EAAE,YAAW,SAAQA,EAAE,kBAAgB,SAAO,KAAGA,EAAE,cAAa,CAAC;AAAA,IAAC,CAAC,GAAEyP;AAAA,EAAC;AAAC,MAAIlQ,IAAE8jB,KAAGA,EAAE,IAAI,CAAApS,OAAI,EAAC,UAASA,EAAE,UAAS,eAAcA,EAAE,iBAAe,IAAG,YAAWA,EAAE,YAAW,SAAQA,EAAE,kBAAgB,SAAO,KAAGA,EAAE,cAAa,EAAE,GAAE,CAAC7B,GAAEoU,CAAC,IAAEsb,GAAG,EAAC,KAAI9pB,IAAE,GAAGA,CAAC,oBAAkB,IAAG,cAAaA,IAAEzV,IAAE,QAAO,yBAAwBc,EAAC,CAAC;AAAE,WAASqP,EAAEuB,GAAE;AAAC,IAAA+D,KAAGwO,EAAEvS,CAAC;AAAA,EAAC;AAAC,MAAI,IAAE,MAAI;AAAC,IAAAvB,EAAEnQ,CAAC;AAAA,EAAC;AAAE,MAAG,CAACyV,EAAE,QAAM,EAAC,eAAc5F,GAAE,kBAAiBM,GAAE,oBAAmB,EAAC;AAAE,MAAIiE,IAAE,EAAEvE,GAAEiU,CAAC,GAAEnR,IAAE,KAAK,UAAU9C,CAAC;AAAE,SAAO,KAAK,UAAUuE,CAAC,MAAIzB,KAAGxC,EAAEiE,CAAC,GAAE,EAAC,eAAcA,GAAE,kBAAiBjE,GAAE,oBAAmB,EAAC;AAAC;AAAC,IAAIqvB,KAAG,CAAC,EAAC,KAAI/pB,GAAE,SAAQqO,IAAE,CAAA,GAAG,yBAAwBhjB,IAAE,IAAG,WAAU,GAAE,mBAAkBd,GAAE,qBAAoB6P,EAAC,MAAI;AAAC,MAAG,EAAC,cAAaoU,GAAE,iBAAgB9T,GAAE,mBAAkB,EAAC,IAAEoI,GAAG,EAAC,KAAI9C,GAAE,SAAQqO,GAAE,yBAAwBhjB,EAAC,CAAC,GAAE,EAAC,eAAcsT,GAAE,kBAAiBzB,GAAE,oBAAmBjB,EAAC,IAAE3B,GAAG,EAAC,KAAI0F,GAAE,SAAQqO,GAAE,yBAAwBhjB,EAAC,CAAC,GAAE,EAAC,cAAaoQ,GAAE,iBAAgBhB,GAAE,gBAAezP,GAAE,yBAAwB8P,GAAE,mBAAkB4D,GAAE,qBAAoBjC,GAAE,2BAA0BtR,GAAE,2BAA0B4T,EAAC,IAAEsH,GAAG,EAAC,KAAIrG,GAAE,SAAQqO,GAAE,yBAAwBhjB,GAAE,WAAU,GAAsB,qBAAoB+O,EAAC,CAAC;AAAE,SAAM,EAAC,kBAAiB4vB,GAAG,MAAIxb,IAAEA,EAAE,IAAI,CAAAhS,MAAG6R,EAAE,KAAK,CAAAjS,MAAGA,EAAE,aAAWI,CAAC,CAAC,EAAE,IAAI,CAAAA,OAAI,EAAC,GAAGA,GAAE,QAAOA,GAAG,UAAQ,CAACmC,EAAE,KAAK,CAAAvC,MAAGA,EAAE,aAAWI,GAAG,QAAQ,GAAG,QAAO,EAAE,EAAE,IAAI,CAAAA,MAAGA,GAAG,aAAW,kBAAgBA,IAAE,EAAC,GAAGA,GAAE,OAAMf,EAAE,KAAK,CAAAW,MAAGA,EAAEI,GAAG,QAAQ,CAAC,IAAIA,GAAG,QAAQ,EAAC,CAAC,IAAE6R,GAAE,CAACA,GAAEG,GAAE7P,GAAElD,CAAC,CAAC,GAAE,iBAAgBf,GAAE,cAAa8T,GAAE,mBAAkB,GAAE,eAAc7P,GAAE,kBAAiBzB,GAAE,oBAAmBjB,GAAE,cAAaR,GAAE,iBAAgBhB,GAAE,gBAAezP,GAAE,yBAAwB8P,GAAE,mBAAkB4D,GAAE,qBAAoBjC,GAAE,2BAA0BtR,GAAE,2BAA0B4T,EAAC;AAAC,GAAqKwI,KAAG,OAAO,SAAO,MAAI0iB,KAAGC;AAAmC,SAASC,GAAGnqB,GAAE;AAAC,MAAIqO,IAAE+b,GAAGpqB,CAAC;AAAE,SAAOqO,EAAE,UAAQrO,GAAEqO;AAAC;AAAC,IAAIgc,KAAG,qCAAoCxpB,KAAG,qCAAoCxG,KAAG,8CAA6C4I,KAAG;AAA6C,SAAS3G,GAAE0D,GAAEqO,GAAEhjB,GAAE;AAAC,EAAA2U,GAAG,MAAM,YAAYqO,GAAEhjB,CAAC;AAAC;AAAC,SAASi/B,GAAGtqB,GAAE;AAAC,MAAIqO,IAAErO,EAAE,gBAAgB,CAAC,KAAGA,EAAE,iBAAiB,CAAC;AAAE,SAAOqO,IAAE,EAAC,OAAMA,EAAE,YAAW,QAAOA,EAAE,UAAS,IAAE,EAAC,OAAMrO,EAAE,YAAY,OAAM,QAAOA,EAAE,YAAY,OAAM;AAAC;AAAC,SAASuqB,GAAGvqB,GAAEqO,GAAEhjB,GAAE;AAAC,MAAG2U,GAAE;AAAC,QAAI,IAAE,IAAI,eAAe,CAAAzV,MAAG;AAAC,UAAI6P,IAAE7P,EAAE,CAAC;AAAE,MAAA6P,KAAGiU,EAAEic,GAAGlwB,CAAC,CAAC;AAAA,IAAC,CAAC;AAAE,WAAO,EAAE,QAAQ4F,CAAC,GAAE,MAAI;AAAC,QAAE,cAAa3U,EAAC;AAAA,IAAE;AAAA,EAAC;AAAC;AAAC,SAASwd,GAAG,EAAC,iBAAgB7I,GAAE,gBAAeqO,EAAC,GAAE;AAAC,MAAIhjB,IAAE,EAAC,MAAKkQ,GAAE,IAAI,GAAE,OAAMA,GAAE,IAAI,GAAE,gBAAeA,GAAE,IAAI,GAAE,QAAOA,GAAE,IAAI,GAAE,QAAOA,GAAE,IAAI,GAAE,uBAAsBA,GAAE,IAAI,EAAC,GAAE,EAAC,MAAK,GAAE,OAAMhR,GAAE,gBAAe6P,GAAE,QAAOoU,GAAE,QAAO9T,GAAE,uBAAsB,EAAC,IAAErP,GAAEsT,IAAEwrB,GAAG,EAAC,gBAAe9b,EAAC,CAAC,GAAEnR,IAAEitB,GAAGnqB,CAAC,GAAE/D,IAAEV,GAAE,MAAI;AAAA,EAAC,CAAC,GAAEE,IAAEF,GAAE,MAAI;AAAA,EAAC,CAAC,GAAEd,IAAE+vB,GAAG,CAAAx/B,MAAG;AAAC,IAAAkS,EAAE,QAAQ,WAAWlS,CAAC,GAAEiR,EAAE,QAAO;AAAA,EAAE,GAAE,CAAA,CAAE;AAAE,SAAOwuB,GAAG,MAAIF,GAAG/b,EAAE,SAAQ,CAAAxjB,MAAG;AAAC,IAAAsR,GAAE,EAAE,SAAQ+tB,IAAG,GAAGr/B,EAAE,MAAM,IAAI;AAAA,EAAC,GAAE,MAAIsR,GAAE,EAAE,SAAQ+tB,IAAG,GAAG,CAAC,GAAE,CAAC7b,EAAE,OAAO,CAAC,GAAEic,GAAG,MAAIF,GAAG7vB,EAAE,SAAQ,CAAA1P,MAAG;AAAC,IAAAsR,GAAE,EAAE,SAAQuE,IAAG,GAAG7V,EAAE,MAAM,IAAI;AAAA,EAAC,GAAE,MAAIsR,GAAE,EAAE,SAAQuE,IAAG,GAAG,CAAC,GAAE,CAACnG,EAAE,OAAO,CAAC,GAAE+vB,GAAG,MAAIF,GAAG,EAAE,SAAQ,CAAAv/B,MAAG;AAAC,IAAAsR,GAAE,EAAE,SAAQjC,IAAG,GAAGrP,EAAE,KAAK,IAAI;AAAA,EAAC,GAAE,MAAIsR,GAAE,EAAE,SAAQjC,IAAG,GAAG,CAAC,GAAE,CAAC,EAAE,OAAO,CAAC,GAAEkN,GAAG,MAAI;AAAC,QAAG,OAAO,WAAS,OAAO;AAAO,QAAIvc,IAAE,EAAC,KAAI,IAAG,QAAO,IAAG,MAAK,IAAG,OAAM,GAAE,GAAE8P,IAAE,EAAC,OAAM,GAAE,QAAO,EAAC,GAAE4D,IAAE,EAAC,OAAM,GAAE,QAAO,EAAC;AAAE,aAASjC,EAAET,IAAEQ,GAAE;AAAC,UAAIJ,IAAEpR,EAAEgR,EAAC;AAAE,aAAOhR,EAAEgR,EAAC,IAAEQ,GAAEF,GAAE,EAAE,SAAQ,uBAAuBN,EAAC,mBAAkBQ,IAAE,MAAI,GAAG,GAAEJ;AAAA,IAAC;AAAC,aAASjR,IAAG;AAAC,UAAI6Q,KAAElB,EAAE,SAAO4D,EAAE,QAAOlC,IAAER,KAAE;AAAE,MAAAM,GAAE,EAAE,SAAQ,uCAAsCE,IAAE,aAAW,QAAQ,GAAEF,GAAE,EAAE,SAAQ,qCAAoCE,IAAE,GAAGR,EAAC,OAAK,GAAG;AAAA,IAAC;AAAC,aAAS+C,IAAG;AAAC,MAAAJ,EAAE,QAAQ,kBAAgB7D,EAAE,SAAO4D,EAAE,SAAOpC,GAAE,EAAE,SAAQ2G,IAAG,GAAGynB,GAAG,KAAK,CAAC,8CAA8C,IAAEpuB,GAAE,EAAE,SAAQ2G,IAAG,OAAO;AAAA,IAAC;AAAC,IAAAxH,EAAE,UAAQsD;AAAE,aAAS1D,IAAG;AAAC,UAAIW,KAAEkB,EAAE,SAAQV,IAAEpC,EAAE,SAAQgC,IAAEI,GAAG,aAAW,GAAEhS,IAAEgS,GAAG,cAAY,GAAEkD,IAAEtD,MAAI,GAAEjF,IAAE2D,EAAE,SAAOsB,IAAEsC,EAAE,SAAO,GAAExC,KAAEO,EAAE,OAAMiD,CAAC,GAAEF,IAAE/C,EAAE,UAAStF,CAAC;AAAE,MAAAuI,KAAGA,MAAIxD,MAAGF,GAAE,gBAAa,GAAK7E,KAAGA,MAAIqI,KAAGxD,GAAE,mBAAgB;AAAK,UAAIY,IAAEJ,IAAE,iBAAiBA,CAAC,EAAE,cAAY,QAAM,IAAGL,KAAGK,GAAG,eAAa,KAAGkC,EAAE,OAAM9C,GAAE+uB;AAAE,UAAG/tB,GAAE;AAAC,YAAI6C,IAAE,KAAK,IAAIjV,CAAC;AAAE,QAAAmgC,IAAElrB,IAAE,GAAE7D,IAAEO,IAAEsD,IAAE;AAAA,MAAC,MAAM,CAAA7D,IAAEpR,IAAE,GAAEmgC,IAAE7vB,EAAE,QAAMtQ,IAAEkU,EAAE,QAAM;AAAE,UAAI1B,IAAEP,EAAE,QAAOb,CAAC,GAAEqM,IAAExL,EAAE,SAAQkuB,CAAC;AAAE,MAAA/uB,KAAGA,MAAIoB,KAAGhB,GAAE,iBAAc,GAAK2uB,KAAGA,MAAI1iB,KAAGjM,GAAE,kBAAe;AAAA,IAAI;AAAC,IAAAC,EAAE,UAAQZ;AAAE,QAAIqB,IAAE,IAAI,eAAe,CAAAV,OAAG;AAAC,eAAQQ,KAAKR,GAAE,SAAOQ,EAAE,OAAO,SAAO;AAAA,QAAE,KAAI,SAAQ;AAAC,UAAA1B,IAAEwvB,GAAG9tB,CAAC;AAAE;AAAA,QAAK;AAAA,QAAC,KAAI,OAAM;AAAC,UAAAkC,IAAE4rB,GAAG9tB,CAAC;AAAE;AAAA,QAAK;AAAA,MAAC;AAAC,MAAAnB,EAAC,GAAGlQ,EAAC,GAAG4T,EAAC;AAAA,IAAE,CAAC;AAAE,WAAOrC,EAAE,QAAQnS,EAAE,OAAO,GAAEmS,EAAE,QAAQtC,EAAE,OAAO,GAAE,MAAI;AAAC,MAAAsC,EAAE,WAAU;AAAA,IAAE;AAAA,EAAC,GAAE,CAAA,CAAE,GAAE6K,GAAG,MAAI;AAAC,IAAA9L,EAAE,QAAO;AAAA,EAAE,GAAE,CAAC4S,CAAC,CAAC,GAAE,EAAC,MAAKhjB,GAAE,UAASoP,EAAC;AAAC;AAAmD,SAASmwB,GAAG5qB,GAAE;AAAC,MAAG,CAACqO,GAAEhjB,CAAC,IAAEw/B,GAAG,IAAI,GAAE,IAAE7qB,GAAG,KAAK,GAAG,KAAG;AAAG,SAAO8qB,GAAG,MAAI;AAAC,IAAAz/B,EAAE,IAAI;AAAA,EAAC,GAAE,CAAC,CAAC,CAAC,GAAE,EAAC,0BAAyBgjB,GAAE,6BAA4BhjB,EAAC;AAAC;AAAgE,SAAS0/B,GAAG/qB,GAAEqO,GAAE;AAAC,MAAIhjB,IAAE,MAAI;AAAC,IAAAgjB,EAAErO,EAAE,IAAI,CAAAzV,MAAGA,EAAE,OAAO,CAAC;AAAA,EAAC,GAAE,IAAEyV,EAAE,IAAI,CAAAzV,MAAG;AAAC,QAAG;AAAC,aAAOA,EAAE,iBAAiB,UAASc,CAAC,GAAE,MAAId,EAAE,oBAAoB,UAASc,CAAC;AAAA,IAAC,QAAM;AAAC,aAAOd,EAAE,YAAYc,CAAC,GAAE,MAAId,EAAE,eAAec,CAAC;AAAA,IAAC;AAAA,EAAC,CAAC;AAAE,SAAM,MAAI;AAAC,MAAE,QAAQ,CAAAd,MAAGA,EAAC,CAAE;AAAA,EAAC;AAAC;AAAC,SAASygC,GAAGhrB,GAAEqO,GAAE;AAAC,SAAOA,MAAI,OAAO,SAAO,OAAK,gBAAe,SAAOrO,EAAE,IAAI,CAAA3U,MAAG,OAAO,WAAWA,CAAC,EAAE,OAAO,IAAE2U,EAAE,IAAI,MAAI,EAAE;AAAE;AAAC,SAASjC,GAAGiC,GAAEqO,GAAE,EAAC,yBAAwBhjB,EAAC,IAAE,EAAC,yBAAwB,GAAE,GAAE;AAAC,MAAG,CAAC,GAAEd,CAAC,IAAE0gC,GAAG5/B,IAAEgjB,IAAE2c,GAAGhrB,GAAEqO,CAAC,CAAC,GAAEjU,IAAE8wB,GAAG,IAAI;AAAE,SAAOC,GAAG,MAAI;AAAC,QAAG,gBAAe,OAAO,QAAO/wB,EAAE,UAAQ4F,EAAE,IAAI,CAAAwO,MAAG,OAAO,WAAWA,CAAC,CAAC,GAAEjkB,EAAE6P,EAAE,QAAQ,IAAI,CAAAoU,MAAGA,EAAE,OAAO,CAAC,GAAEuc,GAAG3wB,EAAE,SAAQ,CAAAoU,MAAG;AAAC,MAAAjkB,EAAEikB,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC,GAAE,CAACxO,CAAC,CAAC,GAAE;AAAC;AAAmF,SAASsI,GAAGtI,GAAE;AAAC,MAAIqO,IAAE+c,GAAE,GAAG//B,IAAEggC,GAAG,MAAIrrB,EAAE,IAAI,CAAAzV,OAAI,OAAOA,KAAG,aAAWA,EAAE8jB,CAAC,IAAE9jB,MAAI,EAAE,GAAE,CAACyV,GAAEqO,CAAC,CAAC,GAAE,IAAEgd,GAAG,MAAIrrB,EAAE,IAAI,MAAI,EAAE,GAAE,CAACA,CAAC,CAAC;AAAE,SAAOjC,GAAG1S,GAAE,CAAC;AAAC;AAAkG,SAASiQ,GAAE0E,GAAE;AAAC,MAAIqO,IAAEid,MAAKjgC,IAAE,OAAO2U,KAAG,aAAWA,EAAEqO,CAAC,IAAErO;AAAE,SAAOurB,GAAGlgC,KAAG,IAAG,EAAE;AAAC;AAAmC,SAAS0P,GAAGiF,GAAE;AAAC,MAAIqO,IAAErO,EAAE,QAAQ,sBAAqB,OAAO,EAAE,QAAQ,SAAQ,GAAG,EAAE,KAAI,EAAG;AAAc,SAAM,GAAGqO,EAAE,OAAO,CAAC,EAAE,YAAW,CAAE,GAAGA,EAAE,MAAM,CAAC,CAAC;AAAE;AAAC,SAAShR,GAAG2C,GAAEqO,GAAEhjB,GAAE;AAAC,SAAO2U,EAAE,OAAO,OAAG,CAACqO,EAAE,IAAIhjB,CAAC,EAAE,SAASA,EAAE,CAAC,CAAC,CAAC;AAAC;AAAC,SAASwc,GAAG7H,GAAEqO,GAAE;AAAC,SAAOrO,EAAE,OAAO,CAAC3U,GAAE,GAAEd,MAAI,MAAIA,EAAE,UAAU,CAAA6P,MAAGiU,EAAEhjB,CAAC,MAAIgjB,EAAEjU,CAAC,CAAC,CAAC;AAAC;AAAC,SAASoxB,GAAGxrB,GAAEqO,GAAE;AAAC,SAAOA,IAAEA,EAAE,MAAM,aAAa,EAAE,OAAO,CAAClU,GAAE5P,MAAI4P,KAAGA,EAAE5P,CAAC,GAAEyV,CAAC,IAAE;AAAM;AAAC,SAAShW,GAAEgW,GAAEqO,GAAE;AAAC,SAAO,OAAOA,KAAG,WAASmd,GAAGxrB,GAAEqO,CAAC,IAAEA,EAAErO,CAAC;AAAC;AAAgU,SAASyrB,GAAGzrB,GAAE;AAAC,SAAM,CAACA,KAAGA,EAAE,WAAS,IAAE,IAAE,KAAK,IAAI,GAAGA,EAAE,IAAI,CAAAqO,MAAGA,EAAE,UAAQA,EAAE,OAAO,SAAO,IAAE,IAAEod,GAAGpd,EAAE,MAAM,IAAE,CAAC,CAAC;AAAC;AAAC,SAAShG,GAAGrI,GAAE;AAAC,MAAIqO,IAAE,CAAA;AAAG,WAAQhjB,KAAK2U,EAAE,CAAA3U,EAAE,WAASA,EAAE,QAAQ,SAAO,IAAEgjB,EAAE,KAAK,GAAGhjB,EAAE,QAAQ,OAAO,OAAG,KAAG,IAAI,CAAC,IAAEA,EAAE,UAAQA,EAAE,OAAO,SAAO,KAAGgjB,EAAE,KAAK,GAAGhG,GAAGhd,EAAE,MAAM,CAAC;AAAE,SAAOgjB,EAAE,OAAO,CAAAhjB,MAAGA,KAAG,IAAI;AAAC;AAAC,SAASkZ,GAAGvE,GAAEqO,GAAE;AAAC,SAAOrO,EAAE,WAASA,EAAE,QAAQ,SAAO,IAAEA,EAAE,QAAQ,OAAO,CAAC3U,GAAE,MAAIA,EAAE,SAAO,KAAGgjB,IAAEA,EAAE,CAAC,MAAI,KAAG,EAAE,EAAE,SAAOrO,EAAE,UAAQA,EAAE,OAAO,SAAO,IAAEA,EAAE,OAAO,OAAO,CAAC3U,GAAE,MAAIA,IAAEkZ,GAAG,GAAE8J,CAAC,GAAE,CAAC,IAAE;AAAC;AAAC,SAAS7M,GAAGxB,GAAEqO,GAAEhjB,IAAE,GAAE;AAAC,MAAGA,MAAIgjB,EAAE,QAAM,CAAC,GAAGrO,CAAC;AAAE,MAAI,IAAE;AAAG,WAAQzV,KAAKyV,EAAE,CAAAzV,EAAE,UAAQA,EAAE,OAAO,SAAO,KAAG,EAAE,KAAK,GAAGiX,GAAGjX,EAAE,QAAO8jB,GAAEhjB,IAAE,CAAC,CAAC;AAAE,SAAO;AAAC;AAAC,SAASqgC,GAAG1rB,GAAEqO,GAAEhjB,GAAE;AAAC,SAAOA,IAAE,CAAC2U,KAAGqO,IAAE;AAAE;AAAC,SAASnQ,GAAG,EAAC,cAAa8B,GAAE,SAAQqO,GAAE,YAAWhjB,EAAC,GAAE;AAAC,MAAI,IAAE,CAAA;AAAG,MAAG2U,KAAGqO,GAAE;AAAC,QAAG,EAAC,SAAQ3T,GAAE,eAAc,GAAE,mBAAkBiE,EAAC,IAAEqB;AAAE,IAAAqO,KAAG3T,MAAI,WAAS,IAAE2T,EAAE,IAAI,CAAAnR,MAAGlT,GAAEkT,GAAE7R,CAAC,CAAC,IAAEsT,MAAI,IAAE0P,EAAE,OAAO,CAACnR,GAAEjB,MAAI0C,EAAE,EAAC,QAAOzB,GAAE,OAAMjB,EAAC,CAAC,CAAC,EAAE,IAAI,CAAAiB,MAAGlT,GAAEkT,GAAE7R,CAAC,CAAC,GAAE,MAAI,IAAE,CAAC,EAAE,CAAC,CAAC;AAAA,EAAG;AAAC,MAAId,GAAE6P,GAAEoU,IAAEmd,GAAG,CAAC;AAAE,MAAG3rB,GAAE;AAAC,QAAG,EAAC,YAAWtF,GAAE,SAAQ,GAAE,eAAciE,GAAE,eAAczB,GAAE,SAAQjB,EAAC,IAAE+D;AAAE,IAAAA,EAAE,WAAS,EAAC,WAAUzV,GAAE,mBAAkB6P,EAAC,IAAE4F,EAAE,WAAS,CAACzV,GAAE6P,CAAC,IAAEoU;AAAE,QAAI/S,IAAE,CAAAhB,MAAGL,IAAI7P,EAAE,OAAO,CAAAS,MAAGA,MAAIhB,GAAEyQ,GAAEpP,CAAC,CAAC,CAAC;AAAE,WAAM,EAAC,eAAc,MAAI,YAAU,MAAI,SAAQ,eAAc,CAAAoP,MAAG,MAAI,WAAS,KAAGlQ,EAAE,SAASP,GAAEyQ,GAAEpP,CAAC,CAAC,GAAE,cAAa,CAAC,EAAC,QAAOoP,GAAE,OAAMzP,EAAC,MAAI0P,IAAEA,EAAE,EAAC,QAAOD,GAAE,OAAMzP,EAAC,CAAC,IAAE,IAAG,WAAU,CAAAyP,MAAG;AAAC,UAAIzP,IAAEhB,GAAEyQ,GAAEpP,CAAC;AAAE,MAAA+O,IAAIuE,IAAE,CAAC,GAAGpU,GAAES,CAAC,IAAE,CAACA,CAAC,CAAC;AAAA,IAAC,GAAE,aAAYyQ,GAAE,eAAcyB,GAAE,SAAQ,CAAC,EAAC,QAAOzC,GAAE,OAAMzP,EAAC,MAAI,MAAIiR,EAAE,EAAC,QAAOxB,GAAE,OAAMzP,GAAE,UAAS,MAAIyQ,EAAEhB,CAAC,EAAC,CAAC,EAAC;AAAA,EAAC;AAAC;AAAgG,SAAS0F,GAAGH,GAAEqO,GAAE;AAAC,MAAG,CAAChjB,GAAE,CAAC,IAAEugC,GAAG5rB,CAAC,GAAE,CAACzV,GAAE6P,CAAC,IAAEwxB,GAAG5rB,CAAC,GAAEwO,IAAEqd,GAAG,MAAI,EAAE,EAAE,GAAE,CAAC,GAAEnxB,IAAEmxB,GAAG,MAAIzxB,EAAE,EAAE,GAAEiU,KAAG,GAAG;AAAE,SAAOyd,GAAG,MAAI;AAAC,IAAA9rB,KAAGtF,EAAE,MAAK,GAAGN,EAAE,EAAE,GAAEoU,EAAE,YAAUA,EAAE,MAAK,GAAG,EAAE,EAAE,GAAE9T,EAAE,MAAK;AAAA,EAAG,GAAE,CAAC8T,GAAE9T,GAAEsF,CAAC,CAAC,GAAE,EAAC,UAAS3U,GAAE,SAAQd,EAAC;AAAC;AAAC,IAAIuR,KAAG,4BAA2BV,KAAG,8BAA6B8D,KAAE,oCAAmC6sB,KAAG,yCAAwC3rB,KAAG,6CAA4CvE,KAAE,qCAAoCQ,KAAE,uCAAsC+L,KAAE;AAA8E,SAAS5H,GAAG,EAAC,WAAUR,GAAE,OAAMqO,GAAE,mBAAkBhjB,GAAE,OAAM,GAAE,QAAOd,GAAE,UAAS6P,GAAE,WAAUoU,GAAE,OAAM9T,EAAC,GAAE;AAAC,SAAOY,GAAEjQ,CAAC,IAAE2gC,EAAAA,IAAGC,IAAG,EAAC,WAAUC,GAAG,EAAC,CAACpwB,EAAE,GAAEvR,KAAG6P,GAAE,CAACgB,EAAE,GAAEhB,GAAE,CAACyB,EAAC,GAAE2S,MAAI,QAAO,CAACnS,EAAC,GAAEmS,MAAI,UAAS,CAACpG,EAAC,GAAEoG,MAAI,QAAO,GAAExO,CAAC,GAAE,OAAM,CAAC,EAAC,OAAMtF,GAAE,UAASA,GAAE,UAASA,EAAC,GAAE2T,CAAC,GAAE,UAAS,EAAC,CAAC,IAAE;AAAI;AAAmF,SAAS/N,GAAG,EAAC,eAAcN,EAAC,GAAE;AAAC,SAAOmsB,MAAGC,IAAG,EAAC,WAAU,sDAAqD,uBAAsBpsB,KAAG,OAAM,CAAC;AAAC;AAAqD,SAASY,GAAG,EAAC,WAAUZ,GAAE,OAAMqO,GAAE,SAAQhjB,GAAE,oBAAmB,GAAE,kBAAiBd,GAAE,2BAA0B6P,GAAE,KAAIoU,EAAC,GAAE;AAAC,SAAO6d,EAAAA,IAAGC,IAAG,EAAC,KAAI9d,GAAE,WAAU+d,GAAG,4BAA2BvsB,CAAC,GAAE,OAAMqO,GAAE,UAASme,OAAGC,IAAG,EAAC,UAAS,CAACliC,KAAG8hC,EAAAA,IAAG/rB,IAAG,EAAC,eAAclG,EAAC,CAAC,GAAE/O,EAAE,IAAI,CAAC,EAAC,QAAOqP,GAAE,GAAG,EAAC,MAAI;AAAC,QAAGA,EAAE,QAAO;AAAK,QAAG,EAAC,UAASiE,GAAE,mBAAkBzB,GAAE,WAAUjB,GAAE,OAAMR,GAAE,QAAOhB,GAAE,iBAAgBzP,GAAE,aAAY8P,GAAE,QAAO4D,GAAE,UAASjC,EAAC,IAAE,EAAC,GAAG,GAAE,GAAG,EAAC;AAAE,WAAO4vB,EAAAA,IAAG7rB,IAAG,EAAC,WAAUxV,GAAE,OAAM8P,GAAE,mBAAkBoC,GAAE,WAAUjB,GAAE,OAAMR,GAAE,OAAMhB,GAAE,QAAOiE,GAAE,UAASjC,EAAC,GAAEkC,CAAC;AAAA,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC;AAAC;AAAyV,SAAS0B,GAAG,EAAC,OAAM,EAAC,IAAGL,GAAE,SAAQqO,GAAE,QAAOhjB,GAAE,OAAM,GAAE,WAAUd,GAAE,WAAU6P,GAAE,OAAMoU,EAAC,GAAE,UAAS9T,GAAE,cAAa,GAAE,gBAAeiE,GAAE,aAAYzB,GAAE,mBAAkBjB,IAAE,IAAG,mBAAkBR,EAAC,GAAE;AAAC,MAAIhB,IAAE4E,GAAG,MAAIgP,KAAGA,EAAE,SAAO,IAAEA,IAAEhjB,KAAGA,EAAE,SAAO,IAAEgd,GAAG,CAAC,EAAC,IAAGrI,GAAE,SAAQqO,GAAE,QAAOhjB,EAAC,CAAC,CAAC,IAAE,CAAA,GAAG,CAACgjB,GAAEhjB,GAAE2U,CAAC,CAAC,GAAEhV,IAAEqU,GAAG,MAAI5E,EAAE,IAAI,CAAC,EAAC,mBAAkBuB,EAAC,MAAIA,CAAC,GAAE,CAACvB,CAAC,CAAC,GAAEK,IAAEwN,GAAGtd,CAAC,GAAE0T,IAAEW,GAAG,MAAIkF,GAAG,EAAM,SAAQ8J,GAAE,QAAOhjB,EAAC,GAAEyP,CAAC,GAAE,CAACkF,GAAEqO,GAAEhjB,GAAEyP,CAAC,CAAC,GAAE2B,IAAE4C,GAAG,MAAIV,EAAE,OAAO,CAAC3C,GAAEQ,OAAIR,IAAEuI,GAAG/H,IAAE1B,CAAC,GAAE,CAAC,GAAE,CAAC6D,GAAE7D,CAAC,CAAC,GAAEiE,IAAE1T,KAAGA,EAAE,SAAO,IAAE,IAAEqP,IAAE,GAAEW,IAAEoB,IAAEiC,IAAEjD,GAAE,IAAEiwB,GAAGxuB,GAAE7B,GAAEY,CAAC;AAAE,SAAOyC,IAAE,IAAEguB,EAAAA,IAAGC,IAAG,EAAC,SAAQjuB,GAAE,SAAQK,IAAE,IAAEA,IAAE,QAAO,WAAUoK,GAAG,8CAA6C,EAAC,CAACtN,EAAC,GAAEtR,MAAI,QAAO,CAAC8R,EAAC,GAAE9R,MAAI,UAAS,CAAC6d,EAAC,GAAE7d,MAAI,SAAQ,4DAA2D,EAAC,GAAE6P,CAAC,GAAE,OAAMoU,GAAE,UAAS,KAAGzT,GAAGiF,CAAC,EAAC,CAAC,IAAE;AAAI;AAA2Y,SAASO,KAAI;AAAC,SAAO8I,EAAAA,KAAG,OAAM,EAAC,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,aAAY,KAAI,QAAO,gBAAe,MAAK,QAAO,eAAc,SAAQ,gBAAe,SAAQ,UAAS,CAACrI,EAAAA,IAAG,QAAO,EAAC,QAAO,QAAO,GAAE,iBAAgB,MAAK,OAAM,CAAC,GAAEA,MAAG,QAAO,EAAC,GAAE,0GAAyG,CAAC,CAAC,EAAC,CAAC;AAAC;AAAqD,SAASD,KAAI;AAAC,SAAO6rB,EAAAA,KAAG,OAAM,EAAC,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,aAAY,KAAI,QAAO,gBAAe,MAAK,QAAO,eAAc,SAAQ,gBAAe,SAAQ,UAAS,CAACjsB,EAAAA,IAAG,QAAO,EAAC,QAAO,QAAO,GAAE,iBAAgB,MAAK,OAAM,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,6MAA4M,aAAY,KAAI,MAAK,eAAc,CAAC,CAAC,EAAC,CAAC;AAAC;AAAqD,SAASG,GAAG,EAAC,UAASd,GAAE,UAASqO,GAAE,oBAAmBhjB,GAAE,kCAAiC,EAAC,GAAE;AAAC,MAAG,CAACd,GAAE,EAAC,OAAM6P,GAAE,QAAOoU,EAAC,CAAC,IAAEqe,GAAG,EAAE,GAAEnyB,IAAE2T,IAAEtN,KAAGR,IAAG,IAAEusB,GAAG1yB,CAAC;AAAE,SAAO,MAAI,IAAE,SAAQ2yB,EAAAA,KAAGC,IAAG,EAAC,WAAU,IAAG,QAAO,MAAK,QAAOziC,GAAE,SAAQ6P,GAAE,WAAU,IAAG,GAAG/O,GAAE,UAAS,CAAC4hC,EAAAA,IAAGC,IAAG,EAAC,UAASD,EAAAA,IAAGE,IAAG,EAAC,WAAU,oDAAmD,eAAc9e,KAAG,QAAO,MAAK,MAAK,SAAQ,WAAU,SAAQ,CAAA1P,MAAG;AAAC,IAAAA,EAAE,eAAc,GAAG6P,EAAC;AAAA,EAAE,GAAE,WAAU,CAAA7P,MAAGA,EAAE,gBAAe,GAAG,UAASsuB,EAAAA,IAAGvyB,GAAE,CAAA,CAAE,EAAC,CAAC,EAAC,CAAC,GAAEuyB,EAAAA,IAAGG,IAAG,EAAC,KAAI,GAAE,SAAQ,CAAAzuB,MAAGA,EAAE,gBAAe,GAAG,WAAU,CAAAA,MAAGA,EAAE,gBAAe,GAAG,UAAS,OAAOqB,KAAG,aAAWA,EAAE,EAAC,OAAM5F,EAAC,CAAC,IAAE4F,EAAC,CAAC,CAAC,EAAC,CAAC;AAAC;AAAyJ,IAAIiB,KAAG,CAAAjB,MAAG;AAAC,MAAG,EAAC,UAASqO,GAAE,WAAUhjB,EAAC,IAAE2U,GAAE,CAAC,GAAEzV,CAAC,IAAE8iC,GAAG,EAAE,GAAEjzB,IAAEgH,GAAG,CAAC,GAAEoN,IAAEpN,GAAG,EAAC,SAAQ,GAAE,MAAK,EAAC,CAAC,GAAE,EAAC,KAAI1G,EAAC,IAAEoO,GAAE,GAAG,IAAEpO,MAAI,OAAM,EAAC,yBAAwBiE,EAAC,IAAE7B,GAAE,GAAGI,IAAEoE,GAAG,CAAA7F,MAAG;AAAC,QAAGA,EAAE,eAAc,GAAGA,EAAE,gBAAe,GAAG,CAACpQ,EAAE,QAAQ;AAAO,QAAIoP,IAAEpP,EAAE,SAAQL,IAAEyP,EAAE;AAAmB,WAAKzP,KAAG;AAAC,UAAI0R,IAAE1R,EAAE,aAAa,eAAe;AAAE,UAAG0R,KAAGA,MAAI,gBAAgB;AAAM,MAAA1R,IAAEA,EAAE;AAAA,IAAkB;AAAC,QAAG,CAACA,EAAE;AAAO,QAAI8P,IAAE9P,EAAE,aAAa,eAAe;AAAE,QAAG,CAAC8P,EAAE;AAAO,QAAI4D,IAAE5D,MAAI;AAAgB,IAAAvQ,EAAE,EAAE,GAAE6P,EAAE,UAAQqB,EAAE;AAAQ,QAAIgB,IAAEhC,EAAE,aAAYtP,IAAEH,EAAE;AAAY,IAAAwjB,EAAE,UAAQ,EAAC,SAAQ/R,GAAE,MAAKtR,EAAC;AAAE,QAAI4T,IAAE,CAAArC,MAAG;AAAC,UAAG,CAACrR,EAAE,QAAQ;AAAO,UAAI2Q,KAAE3Q,EAAE,SAAQmR,IAAER,GAAE;AAAmB,UAAG,CAACQ,EAAE;AAAO,UAAIJ,IAAEM,EAAE,UAAQtC,EAAE;AAAQ,YAAIgC,IAAE,CAACA;AAAG,UAAI5R,IAAE,IAAGkV,IAAE8O,EAAE,QAAQ,UAAQhkB,GAAE2M,IAAEqX,EAAE,QAAQ,OAAKhkB,GAAE0R,KAAE,KAAK,IAAI,CAACwD,GAAE,KAAK,IAAItD,GAAEjF,CAAC,CAAC,GAAEqI,IAAEgP,EAAE,QAAQ,UAAQtS,IAAEU,IAAE4R,EAAE,QAAQ,OAAKtS;AAAE,MAAAF,GAAE,MAAM,QAAM,GAAGwD,CAAC,MAAKhD,EAAE,MAAM,QAAM,GAAGI,CAAC,MAAKZ,GAAE,MAAM,WAAS,GAAGwD,CAAC,MAAKxD,GAAE,MAAM,WAAS,GAAGwD,CAAC,MAAKhD,EAAE,MAAM,WAAS,GAAGI,CAAC,MAAKJ,EAAE,MAAM,WAAS,GAAGI,CAAC;AAAA,IAAI,GAAEvB,IAAE,MAAI;AAAC,UAAG,CAAChQ,EAAE,QAAQ;AAAO,UAAIqR,IAAErR,EAAE,SAAQ2Q,KAAEU,EAAE;AAAmB,MAAAnS,EAAE,EAAE,GAAE,SAAS,KAAK,MAAM,SAAO,WAAU,SAAS,KAAK,MAAM,aAAW;AAAU,UAAIiS,IAAE,SAASE,EAAE,MAAM,KAAK,KAAGA,EAAE,aAAYN,IAAEJ,KAAE,SAASA,GAAE,MAAM,KAAK,KAAGA,GAAE,cAAY,GAAExR,IAAE,CAAC,EAAC,UAAS6jB,GAAE,OAAM,GAAG7R,CAAC,KAAI,CAAC;AAAE,UAAGR,MAAG,CAAC0C,GAAE;AAAC,YAAIgB,IAAE1D,GAAE,aAAa,eAAe;AAAE,QAAA0D,KAAGlV,EAAE,KAAK,EAAC,UAASkV,GAAE,OAAM,GAAGtD,CAAC,KAAI,CAAC;AAAA,MAAC;AAAC,iBAAW,MAAI;AAAC,QAAAuC,EAAEnU,CAAC;AAAA,MAAC,GAAE,CAAC,GAAE,SAAS,oBAAoB,aAAYuU,CAAC,GAAE,SAAS,oBAAoB,WAAU1D,CAAC;AAAA,IAAC;AAAE,aAAS,KAAK,MAAM,SAAO,cAAa,SAAS,KAAK,MAAM,aAAW,QAAO,SAAS,iBAAiB,aAAY0D,CAAC,GAAE,SAAS,iBAAiB,WAAU1D,CAAC;AAAA,EAAC,GAAE,CAACgT,GAAEhjB,GAAE,GAAEsT,CAAC,CAAC,GAAE1C,IAAEqF,GAAG,MAAI;AAAC,QAAG,CAACjW,EAAE,QAAQ;AAAO,QAAIoQ,IAAEpQ,EAAE,SAAQoP,IAAEgB,EAAE;AAAmB,IAAAA,EAAE,MAAM,QAAM,IAAGA,EAAE,MAAM,WAAS,IAAGA,EAAE,MAAM,WAAS;AAAG,QAAIzQ,IAAE,CAAC,EAAC,UAASqjB,GAAE,OAAM,OAAM,CAAC;AAAE,QAAG5T,GAAE;AAAC,MAAAA,EAAE,MAAM,QAAM,IAAGA,EAAE,MAAM,WAAS,IAAGA,EAAE,MAAM,WAAS;AAAG,UAAIK,IAAEL,EAAE,aAAa,eAAe;AAAE,MAAAK,KAAGA,MAAI,mBAAiB9P,EAAE,KAAK,EAAC,UAAS8P,GAAE,OAAM,OAAM,CAAC;AAAA,IAAC;AAAC,eAAW,MAAI;AAAC,MAAA6D,EAAE3T,CAAC;AAAA,IAAC,GAAE,CAAC;AAAA,EAAC,GAAE,CAACqjB,GAAEhjB,GAAEsT,CAAC,CAAC;AAAE,SAAO2uB,EAAAA,IAAG,OAAM,EAAC,WAAU,6CAA4C,OAAM,EAAC,QAAO,IAAE,eAAa,OAAM,GAAE,aAAYpwB,GAAE,eAAcjB,GAAE,SAAQ,CAAAR,MAAGA,EAAE,gBAAe,GAAG,OAAM,+CAA8C,CAAC;AAAC;AAAsD,SAASyG,KAAI;AAAC,SAAOqrB,EAAAA,KAAG,OAAM,EAAC,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,aAAY,KAAI,QAAO,gBAAe,MAAK,QAAO,eAAc,SAAQ,gBAAe,SAAQ,UAAS,CAACxlB,EAAAA,IAAG,QAAO,EAAC,QAAO,QAAO,GAAE,iBAAgB,MAAK,OAAM,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,aAAY,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,cAAa,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,YAAW,CAAC,CAAC,EAAC,CAAC;AAAC;AAAqD,SAASlF,KAAI;AAAC,SAAO2qB,EAAAA,KAAG,OAAM,EAAC,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,aAAY,KAAI,QAAO,gBAAe,MAAK,QAAO,eAAc,SAAQ,gBAAe,SAAQ,UAAS,CAAC1lB,EAAAA,IAAG,QAAO,EAAC,QAAO,QAAO,GAAE,iBAAgB,MAAK,OAAM,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,gBAAe,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,iBAAgB,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,aAAY,CAAC,CAAC,EAAC,CAAC;AAAC;AAAqD,SAAS3G,KAAI;AAAC,SAAOssB,EAAAA,KAAG,OAAM,EAAC,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,aAAY,KAAI,QAAO,gBAAe,MAAK,QAAO,eAAc,SAAQ,gBAAe,SAAQ,UAAS,CAAC1wB,EAAAA,IAAG,QAAO,EAAC,QAAO,QAAO,GAAE,iBAAgB,MAAK,OAAM,CAAC,GAAEA,MAAG,QAAO,EAAC,GAAE,yCAAwC,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,0CAAyC,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,0CAAyC,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,0CAAyC,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,2CAA0C,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,2CAA0C,CAAC,CAAC,EAAC,CAAC;AAAC;AAAqD,SAASmE,KAAI;AAAC,SAAOwsB,EAAAA,KAAG,OAAM,EAAC,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,aAAY,KAAI,QAAO,gBAAe,MAAK,QAAO,eAAc,SAAQ,gBAAe,SAAQ,UAAS,CAACC,MAAG,QAAO,EAAC,QAAO,QAAO,GAAE,iBAAgB,MAAK,OAAM,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,eAAc,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,aAAY,CAAC,CAAC,EAAC,CAAC;AAAC;AAAmE,SAAS1rB,GAAG,EAAC,WAAUjC,GAAE,OAAMqO,GAAE,UAAShjB,GAAE,mBAAkB,GAAE,OAAMd,GAAE,UAAS6P,GAAE,WAAUoU,GAAE,YAAW9T,GAAE,WAAU,GAAE,WAAUiE,GAAE,WAAUzB,GAAE,OAAMjB,GAAE,YAAWR,GAAE,oBAAmBhB,GAAE,QAAOzP,GAAE,oBAAmB8P,GAAE,kCAAiC4D,GAAE,WAAUjC,GAAE,SAAQtR,EAAC,GAAE;AAAC,MAAG,EAAC,iBAAgB4T,GAAE,iBAAgB1D,GAAE,aAAYqB,GAAE,kBAAiBV,GAAC,IAAEc,GAAE,GAAG,CAACN,GAAEJ,CAAC,IAAEwxB,GAAG,EAAE,GAAEpjC,IAAE0e,GAAG,IAAI;AAAE,MAAG,CAAC5N,GAAE,CAAC,EAAE,QAAO;AAAK,MAAIoE,IAAEnV,KAAGwQ,GAAG1P,CAAC,GAAE8L,IAAE,OAAOuI,KAAG,WAASA,IAAE,QAAOxD,KAAE9B,KAAGK,IAAE,CAAAwN,MAAG;AAAC,IAAAA,GAAG,oBAAkBxN,EAAE,EAAC,SAAQtP,GAAE,gBAAeE,GAAE,WAAUoQ,GAAG,mBAAiBpQ,IAAEoQ,EAAE,cAAY,QAAM,SAAO,QAAMA,GAAG,aAAW,MAAK,CAAC;AAAA,EAAC,IAAE,QAAO+D,IAAE,CAAAyI,MAAG;AAAC,IAAAA,EAAE,gBAAe,GAAGlJ,EAAE1T,CAAC,GAAE+Q,EAAE,EAAE;AAAA,EAAC,GAAEQ,IAAE,CAAAqL,MAAG;AAAC,IAAAA,EAAE,eAAc,GAAG5M,EAAEhQ,CAAC,GAAE+Q,EAAE,EAAE;AAAA,EAAC,GAAED,IAAE,MAAI;AAAC,IAAAd,EAAEhQ,CAAC,GAAE+Q,EAAE,EAAE,GAAEM,EAAC;AAAA,EAAE,GAAEd,IAAE,MAAI;AAAC,IAAAQ,EAAE,EAAE;AAAA,EAAC,GAAEuuB,IAAE,MAAI;AAAC,IAAAvuB,EAAE,EAAE;AAAA,EAAC,GAAEY,IAAE,CAAAiL,MAAG;AAAC,IAAAA,EAAE,gBAAe,GAAGjM,GAAE,CAAAyD,MAAGA,EAAE,IAAI,CAAAzE,MAAGA,EAAE,aAAW3P,IAAE,EAAC,GAAG2P,GAAE,SAAQ,GAAE,IAAEA,CAAC,CAAC;AAAA,EAAC;AAAE,SAAO6yB,OAAGC,IAAG,EAAC,iBAAgBziC,GAAE,WAAU2c,GAAG,EAAC,0CAAyC5N,GAAE,4CAA2CM,GAAE,2CAA0C,EAAC,GAAEsF,CAAC,GAAE,OAAM,CAAC,EAAC,OAAM/D,GAAE,GAAG,IAAE,KAAG,EAAC,UAASA,GAAE,UAASA,EAAC,EAAC,GAAEoS,CAAC,GAAE,MAAKjU,IAAE,WAAS,QAAO,UAASA,IAAE,IAAE,QAAO,SAAQ8B,IAAE,WAAU,CAAA+L,MAAGA,EAAE,QAAM,WAAS/L,KAAC,GAAK,KAAI1R,GAAE,UAAS,CAACqjC,OAAGE,IAAG,EAAC,WAAU,gDAA+C,SAAQ,iBAAgB,MAAK,UAAS,UAAS,CAACF,EAAAA,KAAGG,IAAG,EAAC,OAAM,UAAS,GAAE,QAAO,WAAUhmB,GAAG,EAAC,2CAA0CwG,GAAE,2CAA0ChS,EAAC,CAAC,GAAE,WAAUgS,GAAE,aAAYA,IAAEhP,IAAE,QAAO,aAAYgP,IAAE5S,IAAE,QAAO,YAAW4S,IAAE5R,IAAE,QAAO,QAAO4R,IAAErS,IAAE,QAAO,aAAYqS,IAAEmc,IAAE,QAAO,UAAS,CAACnc,IAAEyf,MAAEC,IAAG,EAAC,MAAK,OAAM,cAAa,eAAc,UAASD,EAAAA,IAAE5rB,IAAG,EAAC,WAAU,uDAAsD,SAAQ,UAAS,MAAK,MAAK,SAAQ,CAAA4F,MAAG;AAAC,IAAAA,EAAE,gBAAe;AAAA,EAAE,GAAE,UAASgmB,MAAE9sB,IAAG,CAAA,CAAE,EAAC,CAAC,EAAC,CAAC,IAAE,MAAK8sB,EAAAA,IAAEE,IAAG,EAAC,WAAUnmB,GAAG,+CAA8C,EAAC,CAACnM,EAAC,GAAEqB,MAAI,QAAO,CAACb,EAAC,GAAEa,MAAI,UAAS,CAACkL,EAAC,GAAElL,MAAI,QAAO,GAAEpB,IAAGV,EAAE,GAAE,OAAMjE,GAAE,UAASuI,EAAC,CAAC,CAAC,EAAC,CAAC,GAAEhF,IAAEuzB,EAAAA,IAAEC,IAAG,EAAC,WAAU,iDAAgD,MAAK,OAAM,cAAa,iBAAgB,UAASD,EAAAA,IAAE5rB,IAAG,EAAC,MAAK,MAAK,SAAQ,SAAQ,SAAQrF,GAAE,UAASixB,EAAAA,IAAE/sB,IAAG,CAAA,CAAE,EAAC,CAAC,EAAC,CAAC,IAAE,MAAK9G,KAAGqB,GAAG,mBAAiBpQ,IAAE4iC,EAAAA,IAAEG,YAAG,EAAC,UAAS3yB,GAAG,mBAAiBpQ,IAAE4iC,EAAAA,IAAEC,IAAG,EAAC,WAAUlmB,GAAG,+CAA8C,EAAC,wDAAuDvM,EAAE,cAAY,OAAM,CAAC,GAAE,MAAK,OAAM,cAAa,UAAUA,EAAE,cAAY,SAAO,eAAa,WAAW,IAAG,UAASkD,GAAG,UAAQsvB,EAAAA,IAAE/rB,IAAG,CAAA,CAAE,EAAC,CAAC,IAAE+rB,EAAAA,IAAEC,IAAG,EAAC,WAAU,wDAAuD,MAAK,OAAM,cAAa,cAAa,UAASvvB,GAAG,YAAUsvB,EAAAA,IAAEprB,IAAG,CAAA,CAAE,EAAC,CAAC,EAAC,CAAC,IAAE,MAAK7X,IAAEijC,EAAAA,IAAEntB,IAAG,EAAC,oBAAmBhG,GAAE,UAAS,CAAC,CAAC2B,GAAE,kCAAiCiC,GAAE,UAAS1T,EAAC,CAAC,IAAE,IAAI,EAAC,CAAC,GAAE,KAAGK,MAAI,kBAAgB4iC,EAAAA,IAAEhtB,IAAG,EAAC,UAAS5V,GAAE,WAAUb,EAAC,CAAC,IAAE,IAAI,EAAC,CAAC;AAAC;AAAuH,SAAS8X,GAAG,EAAC,WAAUtC,GAAE,OAAMqO,GAAE,SAAQhjB,GAAE,eAAc,GAAE,SAAQd,GAAE,eAAc6P,GAAE,eAAcoU,GAAE,UAAS9T,GAAE,SAAQ,GAAE,KAAIiE,EAAC,GAAE;AAAC,MAAIzB,IAAE,CAACsR,EAAE;AAAS,SAAOrL,EAAAA,IAAGkrB,IAAG,EAAC,KAAI1vB,GAAE,WAAUrB,GAAG,0CAAyC,EAAC,CAAC4B,EAAC,GAAE7T,MAAI,UAAQ6R,EAAC,GAAE8C,CAAC,GAAE,OAAMqO,GAAE,SAAQ,GAAE,uBAAsB,KAAG,QAAO,iBAAgB,iBAAgB,SAAQhjB,MAAI,UAAQ6R,IAAExC,IAAE,QAAO,UAASyI,EAAAA,IAAGmrB,IAAG,EAAC,YAAWpxB,IAAE,EAAC,OAAMgC,GAAC,IAAE,QAAO,SAAQ3U,GAAE,eAAc6P,GAAE,UAASM,GAAE,GAAG8T,GAAE,UAAS,EAAE9T,KAAG8T,EAAE,aAAWA,EAAE,SAAQ,CAAC,EAAC,CAAC;AAAC;AAAoD,SAASrM,GAAG,EAAC,0BAAyBnC,GAAE,WAAUqO,GAAE,OAAMhjB,GAAE,YAAW,GAAE,WAAUd,GAAE,oBAAmB6P,GAAE,SAAQoU,GAAE,oBAAmB9T,GAAE,QAAO,GAAE,kBAAiBiE,GAAE,kBAAiBzB,GAAE,kBAAiBjB,GAAE,wBAAuBR,GAAE,mBAAkBhB,GAAE,wBAAuBzP,GAAE,2BAA0B8P,GAAE,0BAAyB4D,GAAE,sBAAqBjC,GAAE,mBAAkBtR,IAAE,IAAG,KAAI4T,EAAC,GAAE;AAAC,MAAI1D,IAAE,IAAEowB,GAAG,CAAC,IAAE,GAAE/uB,IAAErB,IAAE,IAAEA,IAAE,IAAE,GAAEW,KAAEkB,IAAEqL,EAAAA,IAAEjG,IAAG,EAAC,KAAItC,GAAE,WAAUtB,GAAE,OAAMjC,GAAE,SAAQkC,GAAE,eAAc7D,GAAE,SAAQmB,GAAE,eAAcR,GAAE,eAAczQ,GAAE,UAASyP,GAAE,SAAQ,IAAEiC,IAAE,OAAM,CAAC,IAAE,MAAK,EAAC,eAAcF,GAAE,kBAAiBJ,EAAC,IAAEU,GAAE,GAAG,CAACtS,GAAEkV,CAAC,IAAE6uB,GAAG,EAAE,GAAEp3B,IAAEqX,EAAE,KAAK,CAAA5R,MAAGA,EAAE,UAAU,GAAEV,KAAE/E,IAAE,OAAO,YAAYqX,EAAE,IAAI,CAAC,EAAC,UAAS5R,GAAE,OAAMT,EAAC,MAAI,CAACS,GAAET,KAAGpB,GAAG,OAAO6B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,QAAO4C,IAAEoJ,EAAAA,KAAG4lB,IAAG,EAAC,WAAU1wB,GAAG,4BAA2BuQ,CAAC,GAAE,OAAMhjB,GAAE,KAAI0T,GAAE,eAAc5H,IAAE,CAAAyF,MAAG;AAAC,IAAAA,EAAE,kBAAiB8C,EAAE,CAAAvD,MAAG,CAACA,CAAC;AAAA,EAAC,IAAE,QAAO,UAAS,CAAC,KAAG,MAAM,KAAK,EAAC,QAAOd,EAAC,GAAE,CAACuB,GAAET,MAAI;AAAC,QAAIP,IAAE4F,GAAG,GAAErF,CAAC;AAAE,WAAOyM,EAAAA,KAAGvH,IAAG,EAAC,UAAS,CAAClF,MAAI,KAAGH,IAAEJ,EAAE,IAAI,CAAC+uB,GAAE3tB,MAAIuL,EAAAA,IAAElI,IAAG,EAAC,OAAMsqB,GAAE,UAAStvB,GAAE,cAAac,GAAE,gBAAeP,EAAE,MAAM,GAAEoB,CAAC,GAAE,aAAYA,MAAIpB,EAAE,SAAO,GAAE,mBAAkBzQ,GAAE,mBAAkBqjB,EAAE,OAAM,GAAEmc,EAAE,EAAE,CAAC,CAAC,EAAC,GAAE,eAAexuB,CAAC,EAAE;AAAA,EAAC,CAAC,GAAEyM,EAAAA,KAAGvH,IAAG,EAAC,UAAS,CAAC,CAAC,KAAGrF,IAAEwS,EAAE,IAAI,CAAC,EAAC,QAAO5R,GAAE,GAAGT,EAAC,GAAEP,MAAI;AAAC,QAAGgB,EAAE,QAAO;AAAK,QAAG,EAAC,UAAS+tB,GAAE,mBAAkB3tB,GAAE,WAAUiL,GAAE,OAAMxI,GAAE,OAAMzE,GAAE,UAASyN,GAAG,WAAU/M,GAAG,YAAWkM,GAAG,WAAUzI,GAAG,gBAAe5C,GAAG,YAAW6C,IAAG,QAAOuJ,GAAG,oBAAmBnN,IAAE,kCAAiCizB,IAAG,WAAUC,IAAG,SAAQC,EAAE,IAAE,EAAC,GAAGj0B,GAAE,GAAGyB,EAAC;AAAE,WAAOoM,EAAAA,IAAEtG,IAAG,EAAC,UAAS0oB,GAAE,WAAUpuB,GAAG,OAAM6C,IAAG,mBAAkBpC,GAAE,WAAUiL,GAAE,OAAMxI,GAAE,OAAMzE,GAAE,UAASyN,GAAG,WAAU/M,GAAG,YAAWkM,GAAG,WAAUzI,KAAIvD,IAAE4S,EAAE,SAAO,GAAE,YAAW,GAAE,WAAUjkB,GAAE,SAAQokC,GAAG,oBAAmBv0B,GAAE,QAAOuO,GAAG,oBAAmBnN,IAAE,kCAAiCizB,IAAG,WAAUC,GAAE,GAAE/D,CAAC;AAAA,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC;AAAE,SAAOxzB,IAAEyR,EAAAA,KAAGvK,IAAG,EAAC,UAAS,UAAS,WAAU,IAAG,QAAO,MAAK,QAAO7T,GAAE,UAASkV,GAAE,UAAS,CAAC6I,EAAAA,IAAEqmB,IAAG,EAAC,UAASpvB,EAAC,CAAC,GAAE+I,EAAAA,IAAEsmB,IAAG,EAAC,UAAStmB,EAAAA,IAAElE,IAAG,EAAC,UAAS7H,EAAE,OAAO,CAAAI,MAAGA,EAAE,UAAU,EAAE,IAAI,CAAAA,MAAG2L,EAAAA,IAAEumB,IAAG,EAAC,UAASvmB,MAAEwmB,IAAG,EAAC,YAAW,EAAC,OAAM,wDAAuD,GAAE,MAAK,MAAK,OAAM7yB,GAAEU,EAAE,QAAQ,GAAE,SAAQA,EAAE,SAAQ,UAAS,CAAAT,MAAG;AAAC,IAAAC,EAAEI,EAAE,IAAI,CAAAZ,MAAGA,EAAE,aAAWgB,EAAE,WAAS,EAAC,GAAGhB,GAAE,SAAQO,EAAE,cAAc,QAAO,IAAEP,CAAC,CAAC;AAAA,EAAC,EAAC,CAAC,EAAC,GAAEgB,EAAE,QAAQ,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,IAAE4C;AAAC;AAAoH,SAAS6D,GAAG,EAAC,UAASrD,GAAE,eAAcqO,GAAE,gBAAehjB,GAAE,MAAK,GAAE,MAAKd,GAAE,OAAM6P,EAAC,GAAE;AAAC,SAAO4I,EAAAA,IAAG+D,IAAG,EAAC,WAAUnH,GAAG,4BAA2B,EAAC,qCAAoCI,EAAC,CAAC,GAAE,OAAM,CAAC,EAAC,gBAAe3U,IAAE,QAAQA,CAAC,QAAM,OAAM,CAAC,GAAE,UAAS2U,MAAIqO,KAAGrL,EAAAA,IAAGgG,IAAG,EAAC,MAAK,GAAE,MAAKze,GAAE,OAAM6P,EAAC,CAAC,GAAE,CAAC;AAAC;AAA8S,SAAS0E,GAAEkB,GAAEqO,GAAEhjB,GAAE;AAAC,SAAO2U,IAAEgvB,GAAG,EAAC,OAAM,OAAOhvB,KAAG,WAASA,EAAE3U,CAAC,IAAE2U,GAAE,OAAMqO,EAAC,CAAC,EAAE,QAAM;AAAM;AAAC,SAASvM,GAAG,EAAC,OAAM9B,GAAE,GAAEqO,GAAE,iBAAgBhjB,GAAE,aAAY,GAAE,gBAAed,GAAE,cAAa6P,GAAE,uBAAsBoU,EAAC,GAAE;AAAC,SAAM,EAAC,mCAAkC1P,GAAEuP,GAAErO,GAAE,OAAO,GAAE,kCAAiClB,GAAEuP,GAAErO,GAAE,MAAM,GAAE,8CAA6ClB,GAAEzT,GAAE2U,GAAE,OAAO,GAAE,6CAA4ClB,GAAEzT,GAAE2U,GAAE,MAAM,GAAE,0CAAyClB,GAAE,GAAEkB,GAAE,OAAO,GAAE,yCAAwClB,GAAE,GAAEkB,GAAE,MAAM,GAAE,8CAA6ClB,GAAEvU,GAAEyV,GAAE,OAAO,GAAE,6CAA4ClB,GAAEvU,GAAEyV,GAAE,MAAM,GAAE,2CAA0ClB,GAAE1E,GAAE4F,GAAE,OAAO,GAAE,0CAAyClB,GAAE1E,GAAE4F,GAAE,MAAM,GAAE,sDAAqDlB,GAAE0P,GAAExO,GAAE,OAAO,GAAE,qDAAoDlB,GAAE0P,GAAExO,GAAE,MAAM,EAAC;AAAC;AAAC,SAASivB,GAAG,EAAC,OAAMjvB,GAAE,2BAA0BqO,GAAE,iCAAgChjB,EAAC,GAAE;AAAC,SAAM,EAAC,0DAAyDyT,GAAEuP,GAAErO,GAAE,OAAO,GAAE,yDAAwDlB,GAAEuP,GAAErO,GAAE,MAAM,GAAE,gEAA+DlB,GAAEzT,GAAE2U,GAAE,OAAO,GAAE,+DAA8DlB,GAAEzT,GAAE2U,GAAE,MAAM,EAAC;AAAC;AAAC,SAASgE,GAAG,EAAC,OAAMhE,GAAE,OAAMqO,GAAE,iBAAgBhjB,EAAC,GAAE;AAAC,SAAM,EAAC,uCAAsCyT,GAAEuP,GAAErO,GAAE,OAAO,GAAE,sCAAqClB,GAAEuP,GAAErO,GAAE,MAAM,GAAE,kDAAiDlB,GAAEzT,GAAE2U,GAAE,OAAO,GAAE,iDAAgDlB,GAAEzT,GAAE2U,GAAE,MAAM,EAAC;AAAC;AAAqD,SAAS6D,KAAI;AAAC,SAAOqrB,OAAG,OAAM,EAAC,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,aAAY,KAAI,QAAO,gBAAe,MAAK,QAAO,eAAc,SAAQ,gBAAe,SAAQ,UAAS,CAACvnB,EAAAA,IAAG,QAAO,EAAC,QAAO,QAAO,GAAE,iBAAgB,MAAK,OAAM,CAAC,GAAEA,EAAAA,IAAG,QAAO,EAAC,GAAE,gBAAe,CAAC,GAAEA,MAAG,QAAO,EAAC,GAAE,oBAAmB,CAAC,CAAC,EAAC,CAAC;AAAC;AAAqD,IAAIvD,KAAG,EAAC,IAAG+qB,GAAG,EAAE,GAAE,IAAGA,GAAG,EAAE,GAAE,IAAGA,GAAG,EAAE,GAAE,IAAGA,GAAG,EAAE,GAAE,IAAGA,GAAG,EAAE,EAAC;AAAE,SAAS/pB,GAAG,EAAC,MAAKpF,GAAE,OAAMqO,GAAE,QAAOhjB,GAAE,OAAM,GAAE,iBAAgBd,GAAE,uBAAsB6P,GAAE,UAASoU,EAAC,GAAE;AAAC,SAAO7J,EAAAA,KAAGyqB,IAAG,EAAC,KAAI,MAAK,UAAS,CAACvyB,EAAAA,IAAG2F,IAAG,EAAC,WAAU,OAAM,MAAKxC,GAAE,UAASqO,EAAC,CAAC,GAAE1J,EAAAA,KAAG0qB,IAAG,EAAC,cAAa,IAAG,WAAU,IAAG,QAAO,GAAE,YAAW,EAAC,OAAM,kDAAiD,GAAE,UAAS,CAACxyB,EAAAA,IAAGyyB,IAAG,EAAC,UAASzyB,EAAAA,IAAGY,IAAG,EAAC,MAAKuC,GAAE,SAAQ,WAAU,YAAW,EAAC,SAAQ,mDAAkD,GAAE,cAAanD,EAAAA,IAAGgH,IAAG,CAAA,CAAE,GAAE,OAAM,CAAC,EAAC,YAAW,SAAQ,GAAE,CAAAnJ,OAAI,EAAC,QAAO0J,GAAGpE,CAAC,GAAE,aAAYtF,EAAE,QAAQsF,CAAC,GAAE,cAAatF,EAAE,QAAQsF,CAAC,EAAC,EAAE,GAAE,UAAS,EAAC,CAAC,EAAC,CAAC,GAAEnD,EAAAA,IAAG0yB,IAAG,EAAC,UAASlkC,EAAE,IAAI,CAAAqP,MAAG;AAAC,QAAI,IAAEA,MAAI;AAAE,WAAOmC,EAAAA,IAAGgD,IAAG,EAAC,WAAU2vB,GAAG,EAAC,+CAA8C,EAAC,CAAC,GAAE,OAAM,CAAC,EAAC,QAAOprB,GAAGpE,CAAC,EAAC,GAAE,MAAIzV,KAAG6P,KAAG,CAAAuE,MAAGswB,GAAG,EAAC,OAAMtwB,GAAE,2BAA0BpU,GAAE,iCAAgC6P,EAAC,CAAC,IAAE,MAAM,GAAE,UAAS,GAAE,SAAQ,MAAIoU,EAAE9T,CAAC,GAAE,UAASmC,MAAG2F,IAAG,EAAC,WAAU,OAAM,MAAKxC,GAAE,UAAStF,EAAC,CAAC,EAAC,GAAEA,CAAC;AAAA,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC;AAAC;AAAoE,SAASqJ,GAAG,EAAC,WAAU/D,GAAE,OAAMqO,GAAE,UAAShjB,GAAE,MAAK,GAAE,cAAad,GAAE,qBAAoB6P,GAAE,wBAAuBoU,GAAE,2BAA0B9T,GAAE,iCAAgC,GAAE,gBAAeiE,GAAE,aAAYzB,GAAE,eAAcjB,GAAE,gBAAeR,GAAE,cAAahB,GAAE,gBAAezP,GAAE,wBAAuB8P,GAAE,qBAAoB4D,GAAE,uBAAsBjC,GAAE,eAActR,GAAE,mBAAkB4T,GAAE,0BAAyB1D,GAAE,2BAA0BqB,GAAE,wBAAuBV,IAAE,kBAAiBQ,EAAC,GAAE;AAAC,MAAIJ;AAAE,MAAG3B,GAAE;AAAC,QAAImB,KAAG,IAAE,KAAG5Q,IAAE,GAAE2/B,IAAE/uB,KAAGzQ,KAAG,KAAG;AAAE,IAAAiR,IAAEX,EAAE,EAAC,MAAKG,GAAE,IAAG+uB,GAAE,cAAalwB,EAAC,CAAC;AAAA,EAAC,MAAM,CAAA2B,IAAE/Q,IAAE6R,IAAEjB;AAAE,MAAIzR,IAAEiQ,KAAGzP,IAAE,KAAK,IAAI,GAAE,KAAK,KAAKyP,IAAEzP,CAAC,CAAC,IAAE,GAAE0U,IAAEjF,KAAG,IAAE,MAAIzP,KAAG,KAAG,IAAE,QAAOmM,IAAEsD,KAAGiF,KAAG,MAAIvU,KAAG,KAAG,IAAE,QAAOqU,KAAE,CAAClE,GAAE,CAAC,EAAC,aAAYM,EAAC,MAAI,eAAe,OAAOP,KAAG,WAAS,GAAG0G,GAAG1G,CAAC,CAAC,QAAMO,EAAEP,CAAC,KAAGA,CAAC,GAAG,GAAEuB,IAAE,EAAC,MAAK,CAAAhB,MAAG8H,EAAAA,IAAG+rB,IAAG,EAAC,WAAU,OAAM,WAAU,qCAAoC,MAAK9wB,GAAE,GAAG/C,GAAE,UAASQ,EAAC,CAAC,GAAE,kBAAiB,CAAAR,MAAGa,IAAEiH,EAAAA,IAAG0B,IAAG,EAAC,iBAAgB1K,GAAE,uBAAsB,GAAE,MAAKiE,GAAE,OAAMD,GAAE,QAAOjC,GAAE,OAAMzR,GAAE,UAAS8P,GAAE,GAAGc,EAAC,CAAC,IAAE8H,EAAAA,IAAGsB,YAAG,CAAA,CAAE,GAAE,YAAW,CAAApJ,MAAG8H,EAAAA,IAAGgsB,IAAG,EAAC,YAAW,EAAC,MAAKnsB,GAAG,sCAAqC,EAAC,+CAA8ClY,KAAG,CAACF,EAAC,CAAC,GAAE,SAAQ,6CAA4C,GAAE,OAAMuP,KAAG,IAAE,CAAAiwB,MAAGsE,GAAG,EAAC,OAAMtE,GAAE,2BAA0BjwB,GAAE,iCAAgC,EAAC,CAAC,IAAE,QAAO,WAAUN,GAAE,cAAaoU,GAAE,OAAM,GAAE,UAASjkB,GAAE,MAAKoU,GAAE,OAAMnU,GAAE,iBAAgBkS,GAAE,cAAaV,IAAE,GAAGJ,EAAC,CAAC,EAAC,GAAEO,IAAE,EAAC,OAAM,EAAC,gBAAewC,GAAE,MAAK,GAAE,YAAWnU,GAAE,cAAaiQ,GAAE,gBAAezP,GAAE,eAAcG,GAAE,UAASE,GAAE,MAAKqU,GAAE,IAAGvI,GAAE,WAAUqI,GAAC,GAAE,SAAQ,EAAC,SAAQ,CAAA5D,MAAGrR,IAAIqR,CAAC,GAAE,mBAAkBd,IAAE,CAAAc,MAAGd,EAAEc,CAAC,IAAE,OAAM,GAAE,UAASgB,EAAC;AAAE,SAAO8G,EAAAA,IAAGisB,IAAG,EAAC,IAAG5wB,KAAG,MAAK,IAAG,MAAK,WAAUwE,GAAG,gCAA+BvD,CAAC,GAAE,OAAM,CAAC,EAAC,eAAcR,KAAE,WAAS,MAAK,GAAE6O,CAAC,GAAE,UAAS,OAAO7R,KAAG,aAAWA,EAAEL,CAAC,IAAE+K,EAAAA,KAAGlC,YAAG,EAAC,UAAS,CAACtB,EAAAA,IAAG9G,EAAE,MAAK,CAAA,CAAE,GAAE8G,EAAAA,IAAG9G,EAAE,kBAAiB,EAAE,GAAE8G,EAAAA,IAAG9G,EAAE,YAAW,CAAA,CAAE,CAAC,EAAC,CAAC,EAAC,CAAC;AAAC;AAAsK,SAASwF,GAAG,EAAC,WAAUpC,GAAE,OAAMqO,GAAE,mBAAkBhjB,GAAE,QAAO,GAAE,OAAMd,GAAE,SAAQ6P,GAAE,eAAcoU,GAAE,eAAc9T,GAAE,QAAO,GAAE,UAASiE,GAAE,WAAUzB,GAAE,OAAMjB,GAAE,UAASR,GAAE,QAAOhB,GAAE,eAAczP,GAAE,sBAAqB8P,EAAC,GAAE;AAAC,SAAOQ,GAAEjQ,CAAC,IAAEukC,EAAAA,IAAGC,IAAG,EAAC,WAAUC,GAAG,EAAC,CAACh0B,EAAE,GAAE,KAAG6C,GAAE,CAACvD,EAAE,GAAEuD,GAAE,CAACO,EAAC,GAAE9E,KAAGoU,GAAE,CAACud,EAAE,GAAErxB,GAAE,CAACmB,EAAC,GAAEqB,MAAI,QAAO,CAACb,EAAC,GAAEa,MAAI,UAAS,CAACkL,EAAC,GAAElL,MAAI,QAAO,GAAE8C,CAAC,GAAE,OAAM,CAAC,EAAC,OAAM/D,GAAE,UAASA,GAAE,UAASA,EAAC,GAAEoS,CAAC,GAAE,SAAQjU,GAAE,eAAcoU,GAAE,eAAc9T,GAAE,GAAGI,IAAI,GAAEvQ,CAAC,GAAE,UAASkQ,IAAEA,EAAE,GAAElQ,CAAC,IAAES,IAAEA,EAAE,GAAET,GAAEkR,CAAC,IAAE+vB,GAAG,GAAE/vB,CAAC,EAAC,CAAC,IAAE;AAAI;AAA0I,SAASqJ,GAAG,EAAC,MAAK9E,GAAE,SAAQqO,GAAE,SAAQhjB,GAAE,eAAc,EAAC,GAAE;AAAC,MAAG,EAAC,UAASd,GAAE,SAAQ6P,EAAC,IAAE+F,GAAGH,GAAE,GAAG,kBAAkB;AAAE,SAAO5F,IAAEF,OAAG61B,EAAAA,UAAG,EAAC,UAAS,CAACh0B,EAAAA,IAAGwG,IAAG,CAAA,CAAE,GAAExG,EAAAA,IAAGwG,IAAG,EAAC,UAASxG,EAAAA,IAAGi0B,IAAG,EAAC,WAAU,wCAAuC,SAAQ3hB,GAAE,UAAStS,EAAAA,IAAGk0B,IAAG,EAAC,IAAG1lC,GAAE,GAAG,GAAE,UAASwR,EAAAA,IAAG,OAAM,EAAC,WAAU,gDAA+C,UAAS1Q,EAAC,EAAE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,IAAE;AAAI;AAAuH,SAAS0Z,GAAG,EAAC,WAAU/E,GAAE,OAAMqO,GAAE,QAAOhjB,GAAE,OAAM,GAAE,SAAQd,GAAE,UAAS6P,GAAE,iBAAgBoU,GAAE,eAAc9T,GAAE,kBAAiB,GAAE,GAAGiE,EAAC,GAAE;AAAC,MAAIzB,IAAE,EAAC,GAAGxC,GAAE,GAAG,EAAErP,GAAE,CAAC,EAAC,GAAE4Q,IAAE,CAAC0C,EAAE,YAAU,CAACzB,EAAE,UAASzB,IAAE,CAAAhB,MAAG;AAAC,IAAAA,EAAE,mBAAkBlQ,MAAI,UAAQ0R,KAAG7B,IAAIK,CAAC;AAAA,EAAC;AAAE,SAAOwJ,EAAAA,IAAGE,IAAG,EAAC,WAAU+rB,GAAG,uCAAsC,EAAC,CAAChxB,EAAC,GAAE3U,MAAI,UAAQ0R,EAAC,GAAE+D,CAAC,GAAE,OAAMqO,GAAE,uBAAsBG,KAAG,QAAO,SAAQ/S,GAAE,UAASwI,MAAGksB,IAAG,EAAC,YAAWl0B,IAAE,EAAC,OAAMiD,GAAC,IAAE,QAAO,UAAS9E,GAAE,GAAGuE,GAAE,GAAGzB,EAAC,CAAC,EAAC,CAAC;AAAC;AAAoE,SAAS2H,GAAG,EAAC,QAAO7E,GAAE,OAAMqO,GAAE,SAAQhjB,GAAE,oBAAmB,GAAE,qBAAoBd,GAAE,kBAAiB6P,GAAE,kBAAiBoU,GAAE,kBAAiB9T,GAAE,mBAAkB,GAAE,oBAAmBiE,GAAE,wBAAuBzB,GAAE,2BAA0BjB,GAAE,SAAQR,GAAE,eAAchB,GAAE,eAAczP,GAAE,aAAY8P,GAAE,mBAAkB4D,GAAE,mBAAkBjC,GAAE,WAAUtR,GAAE,kBAAiB4T,GAAE,OAAM1D,GAAE,iBAAgBqB,GAAE,WAAUV,IAAE,OAAMQ,GAAE,2BAA0BJ,GAAE,0BAAyB5R,GAAE,sBAAqBkV,GAAE,YAAWvI,EAAC,GAAE;AAAC,MAAI+E,KAAEuH,OAAG4B,EAAAA,UAAG,EAAC,UAAS,CAACmJ,KAAG7K,EAAAA,IAAGoB,IAAG,EAAC,WAAUva,GAAE,OAAMkV,GAAE,QAAOM,GAAE,OAAMqO,GAAE,SAAQjU,GAAE,iBAAgBgC,GAAE,SAAQ1B,GAAE,UAAS,CAAC,MAAIiE,IAAE,CAACA,EAAEqB,GAAEqO,CAAC,IAAE,KAAI,UAAS,GAAE,eAAcnR,GAAE,kBAAiBjB,EAAC,CAAC,GAAE5Q,EAAE,IAAI,CAAC,EAAC,QAAO8Q,GAAE,eAAcP,GAAE,GAAG+uB,EAAC,GAAE3tB,MAAI;AAAC,QAAGb,KAAGP,EAAE,QAAO;AAAK,QAAG,EAAC,UAASqM,GAAE,mBAAkBxI,GAAE,WAAUzE,GAAE,QAAOyN,GAAG,UAAS/M,GAAG,OAAMkM,GAAG,QAAOzI,GAAG,gBAAe5C,GAAG,YAAW6C,IAAG,sBAAqBuJ,EAAE,IAAE,EAAC,GAAG,GAAE,GAAGgiB,EAAC;AAAE,WAAOhnB,EAAAA,IAAGvB,IAAG,EAAC,WAAU,OAAO7F,KAAI,aAAWA,EAAGyD,GAAEqO,CAAC,IAAE9R,GAAG,OAAM6C,KAAKY,GAAEqO,CAAC,GAAE,mBAAkB5O,GAAE,QAAOO,GAAE,OAAMqO,GAAE,SAAQvT,IAAE,CAAAU,OAAGV,EAAE,EAAC,OAAMU,IAAE,QAAOwE,GAAE,OAAMqO,GAAE,QAAOsc,GAAE,aAAY3tB,EAAC,CAAC,IAAE,QAAO,eAAc0B,IAAE,CAAAlD,OAAGkD,EAAE,EAAC,OAAMlD,IAAE,QAAOwE,GAAE,OAAMqO,GAAE,QAAOsc,GAAE,aAAY3tB,EAAC,CAAC,IAAE,QAAO,eAAcP,IAAE,CAAAjB,OAAGiB,EAAE,EAAC,OAAMjB,IAAE,QAAOwE,GAAE,OAAMqO,GAAE,QAAOsc,GAAE,aAAY3tB,EAAC,CAAC,IAAE,QAAO,UAASiL,GAAE,WAAUjN,GAAE,QAAOyN,GAAG,UAAS/M,GAAG,OAAMkM,GAAG,QAAOzI,GAAG,eAAc5U,GAAE,sBAAqBoe,EAAE,GAAEV,CAAC;AAAA,EAAC,CAAC,CAAC,EAAC,CAAC,GAAEzI,IAAErU,KAAGwY,EAAAA,IAAGmB,IAAG,EAAC,SAAQzZ,EAAE,OAAO,CAAC,EAAC,QAAO8Q,EAAC,MAAI,CAACA,CAAC,EAAE,UAAQqS,IAAE,IAAE,IAAG,MAAKrjB,EAAE,cAAc6U,CAAC,GAAE,SAAQ7U,EAAE,QAAQ,EAAC,QAAO6U,GAAE,OAAMqO,EAAC,CAAC,GAAE,eAAcljB,EAAE,cAAa,CAAC,GAAEyR,IAAEwzB,GAAG,EAAC,QAAOpwB,GAAE,OAAMqO,GAAE,kBAAiB3T,GAAE,SAAQe,GAAE,eAAchB,GAAE,eAAczP,GAAE,WAAUG,GAAE,kBAAiB4T,GAAE,OAAM1D,GAAE,iBAAgBqB,GAAE,WAAUV,IAAE,OAAMQ,EAAC,CAAC;AAAE,SAAOrF,IAAEA,EAAE,EAAC,QAAO6I,GAAE,OAAMqO,GAAE,UAASzR,GAAE,UAASV,IAAE,iBAAgBsD,EAAC,CAAC,IAAEiE,EAAAA,KAAG4B,EAAAA,UAAG,EAAC,UAAS,CAAC1B,EAAAA,IAAG1G,IAAG,EAAC,GAAGL,GAAE,UAASV,GAAC,CAAC,GAAEsD,CAAC,EAAC,CAAC;AAAC;AAAC,SAAS4wB,GAAG,EAAC,QAAOpwB,GAAE,OAAMqO,GAAE,kBAAiBhjB,GAAE,SAAQ,GAAE,eAAcd,GAAE,eAAc6P,GAAE,WAAUoU,GAAE,kBAAiB9T,GAAE,OAAM,GAAE,iBAAgBiE,GAAE,WAAUzB,GAAE,OAAMjB,EAAC,GAAE;AAAC,SAAM,EAAC,WAAU8D,GAAG,yBAAwB,EAAC,CAACb,EAAC,GAAE,KAAG3U,KAAGikB,GAAG,aAAa,EAAC,QAAOxO,GAAE,OAAMqO,EAAC,CAAC,KAAGG,GAAG,cAAa,GAAE,EAAC,CAACud,EAAE,GAAE3xB,EAAC,GAAE,OAAO8C,KAAG,aAAWA,EAAE8C,GAAEqO,CAAC,IAAEnR,CAAC,GAAE,iBAAgB7R,KAAG,QAAO,SAAQ,CAAAoQ,MAAG;AAAC,QAAG+S,GAAE;AAAC,UAAG,EAAC,cAAa/T,GAAE,eAAczP,GAAE,eAAc8P,GAAE,WAAU4D,GAAE,aAAYjC,EAAC,IAAE+R;AAAE,MAAA/T,EAAE,EAAC,QAAOuF,GAAE,OAAMqO,EAAC,CAAC,KAAGvT,MAAI9P,EAAEgV,CAAC,IAAEvD,EAAEuD,CAAC,IAAEtB,EAAEsB,CAAC;AAAA,IAAE;AAAC,QAAI,EAAC,OAAMvE,GAAE,QAAOuE,GAAE,OAAMqO,EAAC,CAAC;AAAA,EAAC,GAAE,eAAc9jB,IAAE,CAAAkR,MAAGlR,EAAE,EAAC,OAAMkR,GAAE,QAAOuE,GAAE,OAAMqO,EAAC,CAAC,IAAE,QAAO,eAAcjU,IAAE,CAAAqB,MAAGrB,EAAE,EAAC,OAAMqB,GAAE,QAAOuE,GAAE,OAAMqO,EAAC,CAAC,IAAE,QAAO,OAAM,CAAC,KAAG1P,IAAE,CAAAlD,MAAG;AAAC,QAAIhB,IAAE,IAAIuF,GAAEqO,CAAC,GAAErjB,IAAE2T,IAAIqB,GAAEqO,CAAC;AAAE,WAAOrK,GAAG,EAAC,OAAMvI,GAAE,OAAMhB,GAAE,iBAAgBzP,EAAC,CAAC;AAAA,EAAC,IAAE,QAAOiR,IAAI+D,GAAEqO,CAAC,CAAC,GAAE,GAAG3T,IAAIsF,GAAEqO,CAAC,KAAG,CAAA,EAAE;AAAC;AAAgI,SAAS3L,GAAG,EAAC,kBAAiB1C,GAAE,mBAAkBqO,GAAE,wBAAuBhjB,GAAE,UAAS,GAAE,aAAYd,GAAE,iBAAgB6P,EAAC,GAAE;AAAC,SAAOqG,EAAAA,KAAG4vB,IAAG,EAAC,GAAGj2B,GAAE,aAAY7P,GAAE,YAAW,EAAC,MAAK,iCAAgC,WAAU,2CAA0C,OAAM,uCAAsC,QAAO,uCAAsC,GAAE,wBAAuBc,GAAE,UAAS,CAAC,GAAEilC,MAAG9qB,IAAG,EAAC,WAAUkC,GAAG,wCAAuC,0CAA0C,EAAC,CAAC,GAAE4oB,EAAAA,IAAG,OAAM,EAAC,WAAU5oB,GAAG,wCAAuC,6CAA4C,EAAC,+CAA8C1H,EAAC,CAAC,EAAC,CAAC,GAAEswB,EAAAA,IAAG,OAAM,EAAC,WAAU5oB,GAAG,wCAAuC,8CAA6C,EAAC,+CAA8C2G,EAAC,CAAC,EAAC,CAAC,GAAEiiB,EAAAA,IAAG9qB,IAAG,EAAC,WAAUkC,GAAG,wCAAuC,6CAA6C,EAAC,CAAC,CAAC,EAAC,CAAC;AAAC;AAAoD,SAAS6oB,GAAG,EAAC,iBAAgBvwB,GAAE,cAAaqO,GAAE,uBAAsBhjB,GAAE,QAAO,IAAE,QAAO,WAAUd,GAAE,WAAU6P,GAAE,QAAOoU,GAAE,eAAc9T,IAAE,UAAS,UAAS,GAAE,SAAQiE,GAAE,iBAAgBzB,GAAE,QAAOjB,GAAE,gBAAeR,GAAE,eAAchB,GAAE,oBAAmBzP,GAAE,qBAAoB8P,GAAE,YAAW4D,IAAE,MAAK,SAAQjC,GAAE,kBAAiBtR,IAAE,YAAW,iBAAgB4T,GAAE,yBAAwB1D,GAAE,0BAAyBqB,GAAE,sBAAqBV,IAAE,oBAAmBQ,GAAE,wBAAuBJ,GAAE,kCAAiC5R,IAAE,EAAC,cAAa,qBAAoB,GAAE,iCAAgCkV,IAAE,CAACyI,IAAE7I,QAAM,EAAC,cAAa,iBAAiBA,KAAG,CAAC,GAAE,IAAG,YAAWnI,GAAE,WAAU+E,IAAE,oBAAmBsD,GAAE,mBAAkB5C,GAAE,MAAKT,GAAE,cAAaP,GAAE,cAAa+uB,GAAE,gBAAe3tB,GAAE,wBAAuBiL,GAAE,uBAAsBxI,GAAE,qBAAoBzE,IAAE,oBAAmB,qBAAoByN,GAAG,wBAAuB/M,GAAG,2BAA0BkM,GAAG,iCAAgCzI,GAAG,gBAAe5C,IAAG,MAAK,gBAAe6C,KAAG,CAAC,EAAC,MAAK+I,IAAE,IAAG7I,IAAG,cAAasE,GAAE,MAAI,GAAGuE,EAAC,MAAM7I,EAAE,MAAMsE,EAAE,IAAG,0BAAyB+E,IAAG,MAAK,2BAA0BnN,KAAE,CAAA2M,OAAGA,OAAI,aAAW,EAAC,cAAa,gBAAe,IAAEA,OAAI,SAAO,EAAC,cAAa,YAAW,IAAE,CAAA,GAAG,wBAAuBsmB,IAAG,kBAAiBC,IAAG,sBAAqBC,GAAG,cAAalqB,GAAG,YAAWc,GAAG,YAAWL,GAAG,aAAYR,GAAG,aAAYE,KAAG,OAAM,YAAWO,GAAG,eAAcqrB,IAAG,cAAa,eAAclpB,GAAG,kBAAiBD,GAAG,SAAQopB,GAAG,UAASC,GAAG,YAAWC,IAAG,kBAAiBC,IAAG,kBAAiBC,IAAG,aAAYC,IAAG,mBAAkBv2B,IAAG,mBAAkBmD,IAAG,UAASP,IAAG,eAActP,IAAG,kBAAiBsQ,IAAG,gBAAe+E,IAAG,iBAAgBtI,IAAG,GAAEX,IAAG,iBAAgByH,IAAG,aAAY1D,IAAG,gBAAesF,IAAG,cAAazB,IAAG,uBAAsBtE,IAAG,UAASe,IAAG,oBAAmB8E,IAAG,cAAaI,IAAG,cAAa5F,IAAG,UAASmzB,IAAG,qBAAoBvsB,IAAG,mBAAkB5B,IAAG,iBAAgBouB,IAAG,UAASlqB,IAAG,SAAQmqB,IAAG,GAAEntB,IAAG,IAAGotB,IAAG,IAAGC,IAAG,IAAG3yB,IAAG,IAAGiE,IAAG,IAAG0E,IAAG,IAAGiqB,IAAG,WAAUC,IAAG,YAAW3oB,IAAG,OAAM4oB,IAAG,QAAOvoB,IAAG,YAAW7E,IAAG,cAAa+E,IAAG,GAAGsoB,GAAE,GAAE;AAAC,MAAIppB,KAAEqpB,GAAG,MAAIv1B,IAAEoM,GAAGpM,CAAC,IAAE0C,GAAE,CAACA,GAAE1C,CAAC,CAAC,GAAE,CAACqD,IAAGsE,EAAE,IAAE6tB,GAAG,EAAE,GAAE,EAAC,MAAK1nB,IAAE,UAAS/C,GAAE,IAAE6B,GAAG,EAAC,iBAAgB,EAAC,UAAS1L,IAAG,eAActP,IAAG,kBAAiBsQ,IAAG,gBAAe+E,IAAG,iBAAgBtI,GAAE,GAAE,gBAAe22B,GAAG,eAAc,CAAC,GAAEG,KAAG3H,GAAG,EAAC,KAAI7sB,GAAE,SAAQiL,IAAE,WAAU4B,GAAE,QAAO,mBAAkBA,GAAE,gBAAe,qBAAoBnG,GAAE,CAAC,GAAE+tB,KAAGlsB,GAAGsE,GAAE,OAAMjD,EAAE,GAAE/D,KAAG0C,GAAGsE,GAAE,gBAAenH,EAAE,GAAEgvB,KAAG1zB,GAAG,EAAC,cAAasF,IAAG,SAAQ/G,GAAE,YAAWiC,EAAC,CAAC,GAAE+K,KAAGD,GAAG,EAAE,GAAElF,KAAGkF,GAAGrN,CAAC,GAAE01B,KAAGroB,GAAG/M,CAAC,GAAEq1B,KAAG9vB,GAAG,CAAAkG,OAAG;AAAC,IAAAuB,GAAG,UAAQ,IAAGooB,GAAG,UAAQp1B,GAAEb,EAAEsM,EAAC;AAAA,EAAC,GAAE,CAACtM,GAAEa,CAAC,CAAC;AAAEs1B,EAAAA,GAAG,MAAI;AAAC,IAAAztB,GAAG,YAAUnI,MAAIsN,GAAG,UAAQ,IAAGooB,GAAG,UAAQp1B,GAAE6H,GAAG,UAAQnI;AAAA,EAAE,GAAE,CAACA,GAAEM,CAAC,CAAC;AAAE,MAAIkD,KAAGlD,GAAG;AAAOu1B,EAAAA,GAAG,MAAI;AAAC,QAAG,CAACvoB,GAAG,WAAS,KAAGhN,MAAIo1B,GAAG,QAAQ;AAAO,QAAI3pB,KAAE6B,GAAE,eAAe;AAAQ,QAAG,CAAC7B,GAAE;AAAO,QAAIrJ,KAAG,sBAAsB,MAAI;AAAC,MAAAqJ,GAAE,SAAS,EAAC,KAAI,GAAE,MAAK,EAAC,CAAC,GAAEuB,GAAG,UAAQ;AAAA,IAAE,CAAC;AAAE,WAAM,MAAI,qBAAqB5K,EAAE;AAAA,EAAC,GAAE,CAAC,GAAEpC,GAAEsN,GAAE,cAAc,CAAC;AAAE,MAAInI,KAAGnF,GAAG,IAAI,CAAAyL,OAAGle,GAAEke,IAAExJ,CAAC,CAAC,GAAEO,KAAG,CAAC,CAACF,GAAEpD,KAAGoD,GAAG,IAAI,CAAAmJ,OAAGle,GAAEke,IAAExJ,CAAC,CAAC,GAAEiE,KAAGf,OAAK,UAAQjG,OAAK,UAAQA,GAAG,SAAO,GAAEs2B,KAAGz1B,IAAEC,GAAG,OAAOD,CAAC,IAAEC,GAAE6M,KAAG2oB,IAAI,IAAI,CAAA/pB,OAAGle,GAAEke,IAAExJ,CAAC,CAAC,GAAEwzB,KAAGvvB,MAAI2G,GAAG,MAAM,CAAApB,OAAGvM,GAAG,SAASuM,EAAC,CAAC,GAAEiqB,KAAGxvB,MAAI2G,GAAG,KAAK,CAAApB,OAAGvM,GAAG,SAASuM,EAAC,CAAC,GAAEkqB,KAAGpwB,GAAG,MAAI;AAAC,IAAAjD,KAAG1D,KAAGA,EAAE62B,KAAGnzB,EAAE,OAAO,CAAAmJ,OAAG,CAACoB,GAAG,SAAStf,GAAEke,IAAExJ,CAAC,CAAC,CAAC,IAAEmJ,GAAG,CAAC,GAAG9I,GAAE,GAAGkzB,EAAE,GAAE,CAAA/pB,OAAGle,GAAEke,IAAExJ,CAAC,CAAC,CAAC;AAAA,EAAC,GAAE,CAACwzB,IAAGxzB,GAAErD,GAAEiO,IAAG2oB,IAAGlzB,CAAC,CAAC,GAAE,EAAC,0BAAyBszB,IAAG,6BAA4BC,GAAE,IAAE1H,GAAGhpB,EAAE,GAAE2wB,KAAGtzB,MAAI,CAACxD,GAAE+2B,KAAG,EAAC,GAAE1uB,IAAG,IAAGotB,IAAG,IAAGC,IAAG,IAAG3yB,IAAG,IAAGiE,IAAG,IAAG0E,IAAG,IAAGiqB,GAAE,GAAEqB,KAAGzwB,GAAG,CAAC,EAAC,UAASkG,GAAC,MAAIe,KAAGA,GAAG,EAAC,UAASf,GAAC,CAAC,IAAEA,IAAE,CAACe,EAAE,CAAC;AAAE,SAAOhO,EAAAA,IAAE8tB,IAAG,EAAC,GAAG2I,IAAG,UAASpsB,EAAAA,KAAGotB,IAAG,EAAC,KAAI3oB,GAAE,MAAK,GAAGyoB,IAAG,WAAUvtB,GAAG,qBAAoB,EAAC,iCAAgCjF,EAAC,GAAEqxB,IAAG3oB,IAAI,IAAI,GAAE,OAAM,CAAC,CAAAR,QAAI,EAAC,GAAGpG,GAAG,EAAC,OAAMoG,IAAE,GAAEjO,IAAG,iBAAgByH,IAAG,aAAY1D,IAAG,gBAAesF,IAAG,cAAazB,IAAG,uBAAsBtE,GAAE,CAAC,GAAE,cAAa2K,GAAE,OAAOmG,CAAC,KAAGA,GAAE,WAAUnG,GAAE,QAAQsG,CAAC,KAAGA,GAAE,QAAO,GAAE,WAAUjkB,GAAE,WAAU6P,EAAC,IAAGk3B,IAAGvoB,IAAI,MAAK,EAAC,UAAS,WAAU,CAAC,GAAE,UAAS,CAAC9N,EAAAA,IAAEyH,IAAG,EAAC,aAAYK,IAAG,kBAAiB9D,MAAI,CAAC,CAACxD,GAAE,mBAAkBhB,GAAE,wBAAuBuM,IAAG,iBAAgBgqB,IAAG,UAAS/1B,EAAAA,IAAEw3B,IAAG,EAAC,UAASntB,EAAAA,KAAGqtB,IAAG,EAAC,KAAIhB,IAAG,mBAAkB/0B,GAAE,WAAUqI,GAAG,2BAA0B,EAAC,CAAC7E,EAAE,GAAE/U,GAAE,wCAAuCqP,MAAI,OAAM,2CAA0CA,MAAI,UAAS,qCAAoCD,GAAE,8CAA6CwE,IAAG,sCAAqCxD,GAAE,uCAAsCi2B,GAAG,uBAAqBpyB,GAAE,GAAEoJ,IAAI,KAAK,GAAE,OAAM,EAAC,GAAGK,IAAI,MAAK,GAAE,gBAAepJ,MAAI8wB,KAAI,QAAO,2BAA0BppB,KAAI,QAAO,GAAGkqB,IAAG,UAAS,CAACb,IAAG,OAAKz1B,EAAAA,IAAE8tB,IAAG,EAAC,GAAG2I,IAAG,UAASz2B,EAAAA,IAAEkH,IAAG,EAAC,KAAI4H,GAAE,QAAO,0BAAyBA,GAAE,uBAAsB,WAAUrB,IAAI,QAAO,OAAMK,IAAI,QAAO,SAAQZ,IAAE,oBAAmBnd,GAAE,QAAOiR,GAAE,YAAW9E,GAAE,WAAU+E,IAAE,oBAAmBsD,GAAE,kBAAiBrU,GAAE,kBAAiB8T,IAAG,kBAAiBizB,IAAG,wBAAuBC,MAAI,CAACD,IAAG,mBAAkBE,IAAG,wBAAuB,EAAC,GAAGh2B,GAAE,GAAG5R,EAAC,GAAE,2BAA0B+nC,IAAG,0BAAyB71B,GAAE,sBAAqBV,IAAE,mBAAkBu1B,GAAG,kBAAiB,CAAC,EAAC,CAAC,GAAEt2B,EAAAA,IAAE,SAAQ,EAAC,KAAIg2B,IAAG,UAAStxB,KAAGlD,EAAE,IAAI,CAACyL,IAAErJ,OAAK;AAAC,QAAI+zB,KAAG5oC,GAAEke,IAAExJ,CAAC,GAAEm0B,KAAGl3B,IAAI,SAASi3B,EAAE,KAAG,IAAGE;AAAG,WAAOz3B,KAAG0D,MAAI+zB,KAAG,CAAAC,OAAI;AAAC,UAAGA,GAAG,YAAY,YAAUV,OAAK,MAAK;AAAC,YAAI9yB,KAAG9C,EAAE,OAAOoC,KAAGwzB,KAAG,CAACrzB,IAAG7D,OAAKA,MAAIk3B,MAAIl3B,MAAI0D,OAAKrC,IAAEA,EAAEwC,IAAG7D,EAAE,IAAE,MAAI,CAAC6D,IAAG7D,OAAKA,MAAI0D,MAAI1D,MAAIk3B,OAAK71B,IAAEA,EAAEwC,IAAG7D,EAAE,IAAE,GAAG;AAAE,QAAAE,EAAEw3B,KAAGx1B,GAAG0B,GAAEQ,IAAG,CAAAP,OAAIhV,GAAEgV,IAAGN,CAAC,CAAC,IAAEmJ,GAAG,CAAC,GAAG9I,GAAE,GAAGQ,EAAE,GAAE,CAAAP,OAAIhV,GAAEgV,IAAGN,CAAC,CAAC,CAAC;AAAA,MAAC,MAAM,CAAArD,EAAEw3B,KAAG9zB,EAAE,OAAO,CAAAQ,OAAIvV,GAAEuV,IAAGb,CAAC,MAAIk0B,EAAE,IAAE/qB,GAAG,CAAC,GAAG9I,GAAEmJ,EAAC,GAAE,CAAA3I,OAAIvV,GAAEuV,IAAGb,CAAC,CAAC,CAAC;AAAE,MAAA4zB,GAAGzzB,EAAE;AAAA,IAAC,IAAG5D,EAAAA,IAAE4J,IAAG,EAAC,QAAOqD,IAAE,OAAMrJ,IAAG,SAAQsJ,IAAE,oBAAmBnd,GAAE,qBAAoB8P,GAAE,kBAAiB3P,GAAE,kBAAiB8T,IAAG,kBAAiB4zB,IAAG,mBAAkBC,IAAG,oBAAmBt2B,GAAE,wBAAuBJ,GAAE,2BAA0BsD,GAAE,SAAQixB,IAAG,eAAcC,IAAG,aAAYE,IAAG,mBAAkBv2B,IAAG,eAAcs2B,IAAG,mBAAkBnzB,IAAG,WAAUk0B,IAAG,OAAMtzB,IAAG,iBAAgB8E,IAAG,WAAUxF,IAAG,OAAMmzB,IAAG,kBAAiBvsB,IAAG,2BAA0B+tB,IAAG,0BAAyB71B,GAAE,sBAAqBV,IAAE,YAAW0C,GAAE,YAAWwF,GAAE,GAAE0uB,EAAE;AAAA,EAAC,CAAC,IAAE33B,MAAEiuB,IAAG,CAAA,CAAE,EAAC,CAAC,GAAE/gB,GAAE,KAAK,CAAC,EAAC,QAAOD,GAAC,MAAIA,EAAC,KAAGjN,EAAAA,IAAE2F,IAAG,EAAC,KAAImJ,GAAE,QAAO,WAAUrB,IAAI,QAAO,OAAMK,IAAI,QAAO,SAAQZ,IAAE,oBAAmBnd,GAAE,kBAAiBiU,IAAG,2BAA0BszB,GAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,GAAEp2B,KAAGlB,EAAAA,IAAE8I,IAAG,EAAC,WAAU2E,IAAI,YAAW,OAAMK,IAAI,YAAW,mBAAkBnM,GAAE,UAAS,GAAE,MAAKT,GAAE,cAAa21B,IAAG,cAAanH,GAAE,gBAAe3tB,GAAE,wBAAuBiL,GAAE,uBAAsBxI,GAAE,qBAAoBzE,GAAE,qBAAoByN,GAAG,wBAAuB/M,GAAG,2BAA0BkM,GAAG,iCAAgCzI,GAAG,gBAAe5C,GAAG,gBAAe6C,IAAG,0BAAyBuJ,GAAG,2BAA0BnN,IAAE,wBAAuBizB,IAAG,eAAc+B,GAAG,aAAY5rB,IAAG,eAAcjF,IAAG,kBAAiB+uB,GAAE,CAAC,GAAEzzB,MAAEoI,IAAG,EAAC,UAAS,GAAE,gBAAesrB,GAAG,eAAclqB,GAAG,MAAKc,GAAG,MAAKL,GAAG,OAAMR,EAAE,CAAC,GAAEzJ,EAAAA,IAAEsO,IAAG,EAAC,MAAKjC,GAAG,MAAKkpB,GAAG,QAAO,CAAC,KAAG,CAAC7wB,IAAG,UAASwF,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC;AAAC;AC8B5p5C,SAAA6tB,GAAAlpB,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,EAAA,GAA2C;AAAA,IAAAia,QAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAn6B,UAAAA;AAAAA,IAAA+iB,SAAAA;AAAAA,IAAAV,IAAAA;AAAAA,IAAA+X,OAAAA;AAAAA,EAAAA,IAAAra,GAQhD,CAAAua,GAAAC,CAAA,IAA4B5B,IAAkB,GAC9C,CAAA6B,GAAAC,CAAA,IAAsC9B,KAAuB,GAE7D;AAAA,IAAA/2B,MAAAA;AAAAA,IAAAuG,WAAA+gC;AAAAA,EAAAA,IAA2CpmB,GACzCC,GACA/iB,GACAqiB,CACF,GACA;AAAA,IAAAuY,aAAAK;AAAAA,IAAA/yB,SAAAihC;AAAAA,IAAArnC,OAAAsnC;AAAAA,IAAAnhC,WAAAA;AAAAA,EAAAA,IAKI+b,GAAgBjB,GAAS/iB,CAAQ;AAAE,MAAAmgB;AAAA,EAAAH,SAAAka,KAGlC/Z,IAAA,IAAAgb,IACDjB,EAAMkB,OAAAlY,EACqC,EAACD,IAAAK,EACd,CAAC,GAChCtD,OAAAka,GAAAla,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAI;AAAA,EAAAJ,SAAAG,KALoBC,QAClBD,CAIF,GACFH,OAAAG,GAAAH,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAND,QAAAqb,IAAuBjb;AAMrB,MAAAC;AAAA,EAAAL,SAAAka,KAIe7Z,IAAA6Z,EAAM0B,OAAApY,IAAA,CAAA,CAMX,GAACxD,OAAAka,GAAAla,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAAA,MAAA2b;AAAA,EAAA3b,SAAAka,KACDyB,KAAAzB,EAAMkB,OAAAvX,EACmB,EAAC+X,OAAA3X,IAAA,EAgBlC,GAACjE,OAAAka,GAAAla,OAAA2b,MAAAA,KAAA3b,EAAA,CAAA;AAAA,MAAA6b;AAAA,EAAA7b,EAAA,CAAA,MAAAK,KAAAL,SAAA2b,MA1BgBE,IAAA;AAAA,IAAAO,MACb;AAAA,IAAcC,eACLhc;AAAAA,IAMJic,UACDX;AAAAA,EAAAA,GAkBX3b,OAAAK,GAAAL,OAAA2b,IAAA3b,QAAA6b,KAAAA,IAAA7b,EAAA,EAAA;AA3BD,QAAA4G,IAAa2V,GAAQV,CA2BpB;AAAE,MAAAC;AAAA,EAAA9b,EAAA,EAAA,MAAApe,KAAAoe,UAAAka,KAAAla,EAAA,EAAA,MAAA4G,KAEOkV,IAAAA,MAAA;AAAA,QACJl6B,GAAI;AAGN,YAAAs6B,IAAA;AAAA,QAAA,GAAoBt6B;AAAAA,MAAAA;AAGpBs4B,MAAAA,EAAMmP,QAAArN,CAAAA,MAAA;AACJ,cAAA37B,IAAY8I,EAAKkZ;AAAe,QAC5BlZ,EAAKe,SAAU,aAAasxB,EAAOn7B,CAAG,MAAA,OACxCm7B,EAAOn7B,CAAG,IAAA,KACD8I,EAAKe,SAAU,UAAUsxB,EAAOn7B,CAAG,IAC5Cm7B,EAAOn7B,CAAG,IAAA,IAAAipC,KAAa9N,EAAOn7B,CAAG,CAAsB,IAC9Cm7B,EAAOn7B,CAAG,MAAA,SACnBm7B,EAAOn7B,CAAG,IAAI;AAAA,MAAgB,CAEjC,GACDumB,EAAI2iB,WAAY/N,CAAM,GACtB5U,EAAI0W,UAAW9B,CAAM;AAAA,IAAC;AAAA,EAAA,GAEzBxb,QAAApe,GAAAoe,QAAAka,GAAAla,QAAA4G,GAAA5G,QAAA8b,KAAAA,IAAA9b,EAAA,EAAA;AAAA,MAAAwc;AAAA,EAAAxc,UAAApe,KAAE46B,KAAC56B,CAAI,GAACoe,QAAApe,GAAAoe,QAAAwc,KAAAA,IAAAxc,EAAA,EAAA,GApBT2W,GAAUmF,GAoBPU,CAAM;AAAC,MAAAgB;AAAA,EAAAxd,EAAA,EAAA,MAAAsb,OAAAC,IAAA,2BAAA,KAIViC,IAAA,SAAAf,GAAAoB,GAAA;AAAA,WACM,OAAO10B,EAAKsyB,YAAc,aACrBtyB,EAAKsyB,SAAUD,OAA4B,IAAC,CAAA,CAE5CryB,EAAKsyB;AAAAA,EAAA,GACfzb,QAAAwd,KAAAA,IAAAxd,EAAA,EAAA;AALD,QAAA0b,KAAA8B;AAKC,MAAAE;AAAA,EAAA1d,EAAA,EAAA,MAAA4G,KAAA5G,UAAAqC,KAEDqb,IAAA,SAAAU,GAAA;AACE,UAAA1B,IAAmB9V,EAAI+V,UAAAA;AAAa,QAChCxzB,EAAKgzB,eAAA,CAAiBhzB,EAAKgzB,YAAaO,CAAU;AAAC,aAAA;AAGvD,UAAAE,IAAmBlB,GAAgBvyB,GAAOuzB,CAAU;AAAE,WAEpD5S,gBAAAA,EAAAA,KAACiQ,IAAA,EACG5wB,UAAAA;AAAAA,OAAAA,EAAKe,SAAA2V,UAAuB1W,EAAKe,QAAS,WAC1CmE,gBAAAA,EAAAA,IAACwuB,IAAA,EACQ,OAAA1zB,EAAKkc,OAAAyX,OAEC,aAAA3zB,EAAK4zB,eAAgB,IAAE,GAChCnW,EAAIoW,cAAe7zB,EAAKkZ,EAAa,GACnC,MAAAlZ,EAAKkZ,GAAA4a,SAAa,OAAO,IAAI,UAAOpd,QAChC+c,UAAAA,EAAAA,GAJLhW,EAAIvmB,IAAK8I,EAAKkZ,EAAG,CAIF;AAAA,MAIvBlZ,EAAKe,SAAU,YACdmE,gBAAAA,EAAAA,IAAC6uB,IAAA,EACkB,kBAAA,KACV,OAAA/zB,EAAKkc,OAAAyX,OACC,aAAA3zB,EAAK4zB,eAAgB,IACX,GACnBnW,EAAIoW,cAAe7zB,EAAKkZ,EAAa,GAC/Bua,UAAAA,EAAAA,GAFLhW,EAAIvmB,IAAK8I,EAAKkZ,EAAG,CAEF;AAAA,MAIvBlZ,EAAKe,SAAU,UACdmE,gBAAAA,EAAAA,IAACkpB,IAAA,EACQ,OAAApuB,EAAKkc,OAAAyX,OACC,aAAA3zB,EAAK4zB,eAAgB,IAErB,aAAA,cACb,WAAA,IAAS,GACLnW,EAAIoW,cAAe7zB,EAAKkZ,EAAa,GAC/Bua,UAAAA,EAAAA,GAJLhW,EAAIvmB,IAAK8I,EAAKkZ,EAAG,CAIF;AAAA,MAIvBlZ,EAAKe,SAAU,aACdmE,gBAAAA,EAAAA,IAAC8uB,MACI,IAAA,MACI,OAAAh0B,EAAKkc,OAAAyX,OACW,GACnBlW,EAAIoW,cAAe7zB,EAAKkZ,IAAa;AAAA,QAAAnY,MAAU;AAAA,MAAA,CAAY,GACrD0yB,UAAAA,EAAAA,GAFLhW,EAAIvmB,IAAK8I,EAAKkZ,EAAG;MAMzBlZ,EAAKe,SAAU,cACdmE,gBAAAA,EAAAA,IAAC+uB,IAAA,EACQ,OAAAj0B,EAAKkc,OAAAyX,OACC,aAAA3zB,EAAK4zB,eAAgB,OAE9BnW,EAAIoW,cAAe7zB,EAAKkZ,EAAa,GAChC,SAAA,GACT,cACUua,UAAAA,EAAAA,GAJLhW,EAAIvmB,IAAK8I,EAAKkZ,EAAG,CAIF;AAAA,MAIvBlZ,EAAKe,SAAU,YACdf,EAAKk0B,UACLl0B,EAAKk0B,OAAA;AAAA,QAAA,GACEzW,EAAI+V,UAAAA;AAAAA,QAAYta,IAAAA;AAAAA,MAAAA,GACrBuE,EAAI0W,WACJ7C,GAAc;AAAA,QAAA34B,OAEL8kB,EAAIoW,cAAe7zB,EAAKkZ,EAAa,EAACvgB;AAAAA,QAAA25B,UACnCmB;AAAAA,MAAAA,CAEd;AAAA,IAAA,EAAA,GAnEWzzB,EAAKkZ,EAoEpB;AAAA,EAAW,GAEdrC,QAAA4G,GAAA5G,QAAAqC,GAAArC,QAAA0d,KAAAA,IAAA1d,EAAA,EAAA;AA7ED,QAAAud,IAAAG;AA6EC,MAAAM;AAAA,EAAAhe,EAAA,EAAA,MAAAmpB,KAAAnpB,EAAA,EAAA,MAAAopB,GAAAvoB,WAAAb,EAAA,EAAA,MAAAopB,GAAAz9B,QAIIqyB,IAAAmL,KACC96B,gBAAAA,EAAAA,IAACovB,IAAA,EACS,SAAA,WACF,OAAA,OACC,OAAA2L,GAAWz9B,QAAU,sBACzB,IAAA,MAEFy9B,UAAAA,GAAWvoB,WAAa,sBAC3B,GACDb,QAAAmpB,GAAAnpB,EAAA,EAAA,IAAAopB,GAAAvoB,SAAAb,EAAA,EAAA,IAAAopB,GAAAz9B,MAAAqU,QAAAge,KAAAA,IAAAhe,EAAA,EAAA;AAAA,MAAAse;AAAA,EAAAte,UAAAsa,KAAAta,EAAA,EAAA,MAAAka,KAAAla,EAAA,EAAA,MAAA4G,KAAA5G,EAAA,EAAA,MAAAwa,KAAAxa,EAAA,EAAA,MAAAqC,KAAArC,EAAA,EAAA,MAAAkpB,KAAAlpB,UAAA/X,KAAA+X,EAAA,EAAA,MAAAmpB,KAAAnpB,EAAA,EAAA,MAAAma,KAAAna,EAAA,EAAA,MAAAud,KAAAvd,EAAA,EAAA,MAAAoa,KAAApa,UAAAqb,KAAArb,EAAA,EAAA,MAAAib,KAEAqD,IAAA4K,IACCpf,gBAAAA,OAAC0f,IAAA,EAAU,KAAA,MACT,UAAA;AAAA,IAAAn7B,gBAAAA,EAAAA,IAACo7B,IAAA,EAAiB,QAAA,GAAA;IACjBC,MAAMxP,EAAMyD,MAAO,EAACgM,KAAA,CACZ,EAAC1mB,IAAAiB,EAGP;AAAA,IACH4F,gBAAAA,EAAAA,KAACyU,IAAA,EAAS,IAAA,MAAa,SAAA,OACrB,UAAA;AAAA,MAAAlwB,gBAAAA,EAAAA,IAACo7B,IAAA,EAAgB,OAAA,KAAa,QAAA;MAC9Bp7B,gBAAAA,EAAAA,IAACo7B,IAAA,EAAgB,YAAa,YAAE;AAAA,IAAA,EAAA,CAClC;AAAA,EAAA,GACF,IAEA3f,gBAAAA,EAAAA,KAAA,QAAA,EACY,UAAAlD,EAAIgX,gBAAAgM,MAAA;AAAA,UACN3O,EAAM;AAAA,MAAA,GACPO;AAAAA,MAAMnZ,IAAAA;AAAAA,IAAAA,CAEL,GACFgZ,EAAcsC,UAAWrD,IAASe,EAAcsC,SAAA,IAC7CwL,KACH5O,EAAUD,IAAM,CAAI,IAGjB6O,MACHviB,EAAIkX,iBAAkBtC,CAAM,GAC5B5U,EAAImX,MAAAA,GACJ5D,EAAAA;AAAAA,EAAS,CAGd,GAEAkB,UAAAA;AAAAA,IAAAA,EAAcsC,SACbtvB,gBAAAA,EAAAA,IAAC4vB,IAAA,EAAgB3D,QAAAA,GAAa,MAAA,MAC3Be,YAAcpY,IAAAib,CAAAA,MACb7vB,gBAAAA,EAAAA,kBAEO+rB,KAASA,EAAM8D,KAAQ,IAAC;AAAA,MAAA5N,OAChB8J,EAAM8D,KAAQ,EAAA5N;AAAAA,IAAAA,IAAA,IAG1B4J,UAAAA,EAAMkB,OAAA+C,OACUhrB,EAAC+qB,SAAUA,CAAI,EAACjb,IAAAob,CAAAA,MACfd,EAAYp0B,CAAK,CAAC,EAAA,GAP/B+0B,CAQP,CACD,EAAA,CACH,IAEAhE,EAAMjX,IAAA4mB,CAAAA,MAAgBtM,EAAYp0B,CAAK,CAAC;AAAA,IAEzC,CAACqxB,KACA1Q,gBAAAA,EAAAA,KAACyU,MAAS,IAAA,MAAa,SAAA,OACrB,UAAA;AAAA,MAAAlwB,gBAAAA,EAAAA,IAACmwB,IAAA,EACU,SAAA,MACPnD,EAAcsC,SACVrD,MAAM,IACJH,MACAI,EAAUD,IAAM,CAAI,IACtBH,KAEE,SAAA,WAEPkB,UAAAA,EAAcsC,SACXrD,MAAM,IACJ,cACA,WACF,YAAA,CACN;AAAA,MACAjsB,gBAAAA,EAAAA,IAACmwB,IAAA,EAAY,MAAA,UAAkBv2B,SAAAA,GAC5BozB,UAAAA,EAAcsC,SACXrD,MAAWe,EAAcsC,SAAA,IACvB,cACA,WACF,YAAA,CACN;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GAEJ,GACD3d,QAAAsa,GAAAta,QAAAka,GAAAla,QAAA4G,GAAA5G,QAAAwa,GAAAxa,QAAAqC,GAAArC,QAAAkpB,GAAAlpB,QAAA/X,GAAA+X,QAAAmpB,GAAAnpB,QAAAma,GAAAna,QAAAud,GAAAvd,QAAAoa,GAAApa,QAAAqb,GAAArb,QAAAib,GAAAjb,QAAAse,KAAAA,IAAAte,EAAA,EAAA;AAAA,MAAAye;AAAA,SAAAze,EAAA,EAAA,MAAAge,KAAAhe,UAAAse,KA3FHG,yCACGT,UAAAA;AAAAA,IAAAA;AAAAA,IAWAM;AAAAA,EAAAA,GA+EA,GACAte,QAAAge,GAAAhe,QAAAse,GAAAte,QAAAye,KAAAA,IAAAze,EAAA,EAAA,GA5FHye;AA4FG;AAvQA,SAAAva,GAAAjkB,GAAA4pB,GAAA;AAAA,+BA6LQ4f,IAAA,EAAiD,QAAA,GAAA,GAAnC,kBAAkB5f,CAAK,EAAc;AAAI;AA7L/D,SAAA5F,GAAA8X,GAAA4C,GAAA;AA4CG1C,SAAAA,EAAI9yB,EAAKkZ,EAAc,IAAA,CAAA9iB,GAAAi8B,MACjBryB,EAAKgzB,eAAA,CAAiBhzB,EAAKgzB,YAAaX,CAAM,KAK7B,EAFP,OAAOryB,EAAKsyB,YAAc,aACpCtyB,EAAKsyB,SAAUD,CAAM,IAAC,CAAA,CACpBryB,EAAKsyB,aAEJl8B,IADG,OACY,eAEjB08B;AAAG;AAtDb,SAAApY,GAAA+a,GAAA;AAAA,SAyCkBz1B,EAAKsyB;AAAA;AAzCvB,SAAAjY,GAAAyY,GAAA9yB,GAAA;AAkCD8yB,SAAAA,EAAI9yB,EAAKkZ,EAAc,IACrBlZ,EAAKe,SAAU,YACVf,EAAKgqB,gBAAA,KACLhqB,EAAKgqB,gBAAkB,IACvB8I;AAAG;AAtCT,SAAA3Y,GAAAub,GAAA;AAAA,SA2Ba1rB,EAAC+qB;AAAe;AA3B7B,SAAAhb,GAAA/P,GAAA;AAAA,SA0BgB,OAAOA,EAAC+qB,QAAU;AAAQ;AC7C1C,SAAS4L,GAAkC;AAAA,EAChD9pC,UAAAA;AAAAA,EACA+iB,SAAAA;AAAAA,EACAoX,SAAAA;AAAAA,EACA4P,iBAAAA;AACmB,GAAG;AACtB,QAAM;AAAA,IACJnP,aAAaoP;AAAAA,IACb9hC,SAAS+hC;AAAAA,IACTnoC,OAAOooC;AAAAA,IACPjiC,WAAWkiC;AAAAA,EAAAA,IACThmB,GAAapB,GAAS/iB,CAAQ,GAE5B,CAACoqC,GAASC,CAAU,IAAI1R,GAAcoR,CAAe,GACrD,CAACO,GAAYC,CAAa,IAAI5R,GAAS,EAAK,GAG5CxwB,IAAYmiC,KAAcH;AAQhC,SANAxT,GAAU,MAAM;AACd,IAAKyT,EAAQzM,UACXxD,EAAAA;AAAAA,EAEJ,GAAG,CAACA,GAASiQ,CAAO,CAAC,GAEhBA,EAAQzM,SAKX7T,gBAAAA,EAAAA,KAAAiQ,YAAA,EACGkQ,UAAAA;AAAAA,IAAAA,KAAiBC,EAAYrpB,WAC5BxS,gBAAAA,EAAAA,IAACovB,IAAA,EAAM,SAAQ,WAAU,OAAM,OAAM,OAAOyM,EAAYv+B,MACrDu+B,UAAAA,EAAYrpB,SACf;AAAA,IAGFxS,gBAAAA,EAAAA,IAACm8B,IAAA,EACEJ,UAAAA,EAAQzM,WAAW,IAChB,QAAQyM,EAAQzM,MAAM,uCACtB,UAAUyM,EAAQzM,MAAM,uCAC9B;AAAA,IACA7T,gBAAAA,EAAAA,KAACyU,IAAA,EAAM,IAAG,MAAK,SAAQ,OACrB,UAAA;AAAA,MAAAlwB,gBAAAA,EAAAA,IAACmwB,MAAO,SAASrE,GAAS,SAAQ,WAAU,UAAUhyB,GAAU,UAAA,YAAA,CAEhE;AAAA,4BACCq2B,IAAA,EACC,OAAM,OACN,SAASr2B,GACT,SAAS,YAAY;AACnBoiC,QAAAA,EAAc,EAAI;AAClB,YAAI;AACF,gBAAME,QAAQC,IAAIN,EAAQnnB,IAAK0nB,OAAWX,EAAIW,EAAOtoB,EAAE,CAAC,CAAC,GACzDgoB,EAAW,CAAA,CAAE;AAAA,QACf,UAAA;AACEE,UAAAA,EAAc,EAAK;AAAA,QACrB;AAAA,MACF,GAAE,UAAA,UAAA,CAGJ;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GACF,IApCOl8B,gBAAAA,EAAAA,IAAA0rB,EAAAA,UAAA,EAAE;AAsCb;ACzEO,SAAA6Q,GAAAC,GAAAxqC,GAAA;AAAA,QAAA2f,IAAAC,GAAAA,EAAA,CAAA;AAAA,MAAAF;AAAA,EAAAC,EAAA,CAAA,MAAA6qB,KAAA7qB,SAAA3f,KAIiC0f,IAAAA,MAAA;AACpC,UAAA+qB,IAAoBtpB,aAAAC,QAAqB,0BAA0BphB,CAAG,EAAE;AAAE,WACnEyqC,IAAenqB,KAAAC,MAAWkqB,CAAW,IAAUD;AAAAA,EAAY,GACnE7qB,OAAA6qB,GAAA7qB,OAAA3f,GAAA2f,OAAAD,KAAAA,IAAAC,EAAA,CAAA;AAHD,QAAA,CAAA1Y,GAAAyjC,CAAA,IAA0BpS,GAAY5Y,CAGrC;AAAE,MAAAI;AAAA,EAAAH,SAAA3f,KAEqB8f,IAAA5Y,CAAAA,MAAA;AACtBwjC,IAAAA,EAASxjC,CAAQ,GACjBia,aAAAwpB,QACE,0BAA0B3qC,CAAG,IAC7BsgB,KAAA+B,UAAenb,CAAQ,CACzB;AAAA,EAAC,GACFyY,OAAA3f,GAAA2f,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAND,QAAAirB,IAAwB9qB;AAMtB,MAAAC;AAAA,SAAAJ,EAAA,CAAA,MAAAirB,KAAAjrB,SAAA1Y,KAEK8Y,IAAA,CAAC9Y,GAAO2jC,CAAe,GAACjrB,OAAAirB,GAAAjrB,OAAA1Y,GAAA0Y,OAAAI,KAAAA,IAAAJ,EAAA,CAAA,GAAxBI;AAAwB;AClBjC,MAAM8qB,KAAmB,CACvBtpC,GACAuH,MAC2C;AAC3C,QAAMgiC,IAAgBvpC,EACnBqhB,IAAKT,CAAAA,MAASA,EAAKrZ,CAAK,CAAC,EACzBiyB,OAAQ77B,OAAUA,KAAU,QAA+BA,MAAU,EAAE;AAE1E,MAAI4rC,EAAcxN,WAAW,EAAG,QAAO;AAGvC,QAAMyN,IAAaC,KAAKC,IAAI,KAAKH,EAAcxN,MAAM,GAC/C4N,IAASJ,EAAcK,MAAM,GAAGJ,CAAU,GAE1CK,IAAQ;AAAA,IACZC,QAAQ;AAAA,IACRC,QAAQ;AAAA,IACR9jB,MAAM;AAAA,EAAA,GAIF+jB,IAAe;AAAA,IACnB;AAAA;AAAA,IACA;AAAA;AAAA,IACA;AAAA;AAAA,IACA;AAAA;AAAA,EAAA;AAGFL,EAAAA,EAAOlC,QAAS9pC,CAAAA,MAAU;AACxB,QAAI,OAAOA,KAAU;AACnBksC,MAAAA,EAAME;AAAAA,aACG,OAAOpsC,KAAU,UAAU;AAEpC,YAAMssC,IAAUtsC,EAAMusC,KAAAA;AACtB,UACED,MAAY,MACZ,CAACE,MAAMC,OAAOH,CAAO,CAAC,KACtB,CAACE,MAAME,WAAWJ,CAAO,CAAC,GAC1B;AACAJ,QAAAA,EAAME;AACN;AAAA,MACF;AAGA,UAAIC,EAAaM,KAAMC,CAAAA,MAAYA,EAAQC,KAAKP,CAAO,CAAC,GAAG;AACzD,cAAMzS,IAAY,IAAIkQ,KAAKuC,CAAO;AAClC,YAAI,CAACE,MAAM3S,EAAUiT,QAAAA,CAAS,GAAG;AAC/BZ,UAAAA,EAAM5jB;AACN;AAAA,QACF;AAAA,MACF;AACA4jB,MAAAA,EAAMC;AAAAA,IACR,MAAA,CAAWnsC,aAAiB+pC,OAC1BmC,EAAM5jB,SAEN4jB,EAAMC;AAAAA,EAEV,CAAC;AAGD,QAAMY,IAAQb,EAAMC,SAASD,EAAME,SAASF,EAAM5jB;AAClD,SAAI4jB,EAAM5jB,OAAOykB,KAAS,MAAY,SAClCb,EAAME,SAASW,KAAS,MAAY,WACpCb,EAAMC,SAASY,KAAS,MAAY,WAEjC;AACT,GAGMC,yBAAgBC,IAAAA,GAETC,KAAW,CACtB7qC,GACAuH,GACAwb,IAA4B,UACpB;AAER,MAAI,CAAC/iB,KAAQA,EAAK+7B,WAAW,UAAU,CAAA;AAGvC,QAAM+O,IAAW,GAAGvpB,OAAOha,CAAK,CAAC,IAAIvH,EAAK+7B,MAAM;AAGhD,MAAIgP,IAAaJ,GAAUK,IAAIF,CAAQ;AAKvC,SAAKC,MACHA,IAAazB,GAAiBtpC,GAAMuH,CAAK,GACzCojC,GAAUM,IAAIH,GAAUC,CAAU,IAIjB,CAAC,GAAG/qC,CAAI,EAAEkrC,KAAK,CAACtsC,GAAGC,MAAM;AAC1C,UAAMssC,IAASvsC,EAAE2I,CAAK,GAChB6jC,IAASvsC,EAAE0I,CAAK,GAGhB8jC,IAAUF,KAAW,QAAgCA,MAAW,IAChEG,IAAUF,KAAW,QAAgCA,MAAW;AAGtE,QAAIC,KAAWC,EAAS,QAAO;AAG/B,QAAID,EAAS,QAAOtoB,MAAc,QAAQ,KAAK;AAG/C,QAAIuoB,EAAS,QAAOvoB,MAAc,QAAQ,IAAI;AAG9C,QAAIwoB,GACAC;AAEJ,YAAQT,GAAAA;AAAAA,MACN,KAAK;AACH,YAAI,OAAOI,KAAW,UAAU;AAC9B,gBAAMM,IAAa,IAAI/D,KAAKyD,EAAOjB,MAAM;AACzCqB,UAAAA,IAAapB,MAAMsB,EAAWhB,QAAAA,CAAS,IAAI,OAAOgB,EAAWhB,QAAAA;AAAAA,QAC/D,MAAA,CAAWU,aAAkBzD,OAC3B6D,IAAaJ,EAAOV,QAAAA,IAEpBc,IAAa;AAGf,YAAI,OAAOH,KAAW,UAAU;AAC9B,gBAAMM,IAAa,IAAIhE,KAAK0D,EAAOlB,MAAM;AACzCsB,UAAAA,IAAarB,MAAMuB,EAAWjB,QAAAA,CAAS,IAAI,OAAOiB,EAAWjB,QAAAA;AAAAA,QAC/D,MAAA,CAAWW,aAAkB1D,OAC3B8D,IAAaJ,EAAOX,QAAAA,IAEpBe,IAAa;AAEf;AAAA,MAEF,KAAK;AACH,YAAI,OAAOL,KAAW;AACpBI,UAAAA,IAAaJ;AAAAA,aACR;AACL,gBAAMQ,IAAYpqB,OAAO4pB,CAAM,EAAEjB,KAAAA,GAC3B0B,IAAYvB,WAAWsB,CAAS;AACtCJ,UAAAA,IAAapB,MAAMyB,CAAS,IAAI,OAAOA;AAAAA,QACzC;AAEA,YAAI,OAAOR,KAAW;AACpBI,UAAAA,IAAaJ;AAAAA,aACR;AACL,gBAAMS,IAAYtqB,OAAO6pB,CAAM,EAAElB,KAAAA,GAC3B4B,IAAYzB,WAAWwB,CAAS;AACtCL,UAAAA,IAAarB,MAAM2B,CAAS,IAAI,OAAOA;AAAAA,QACzC;AACA;AAAA,MAEF,KAAK;AACH,cAAMC,IAAe,OAAOZ,KAAW,WAAWA,IAAS5pB,OAAO4pB,CAAM,GAClEa,IAAe,OAAOZ,KAAW,WAAWA,IAAS7pB,OAAO6pB,CAAM;AACxEG,QAAAA,IAAaQ,EAAaE,YAAAA,EAAc/B,KAAAA,GACxCsB,IAAaQ,EAAaC,YAAAA,EAAc/B,KAAAA;AACxC;AAAA,MAEF,KAAK;AAAA,MACL;AACE,cAAMgC,IAAc3qB,OAAO4pB,CAAM,GAC3BgB,IAAc5qB,OAAO6pB,CAAM;AACjCG,QAAAA,IAAaW,EAAYD,YAAAA,EAAc/B,KAAAA,GACvCsB,IAAaW,EAAYF,YAAAA,EAAc/B,KAAAA;AACvC;AAAA,IAAA;AAIJ,WAAIqB,MAAe,QAAQC,MAAe,OAAa,IACnDD,MAAe,OAAaxoB,MAAc,QAAQ,IAAI,KACtDyoB,MAAe,QAGfD,IAAaC,IAAmBzoB,MAAc,QAAQ,KAAK,IAC3DwoB,IAAaC,IAAmBzoB,MAAc,QAAQ,IAAI,KACvD;AAAA,EACT,CAAC;AAGH;ACnJA,SAASqpB,GAAerD,GAAiCsD,GAA2B;AAClF,SAAOA,EAASC,MAAM,GAAG,EAAEtS,OAAgB,CAACuS,GAAK9tC,MAAQ;AACvD,QAAI8tC,KAAO,OAAOA,KAAQ,YAAY9tC,KAAQ8tC;AAC5C,aAAQA,EAAgC9tC,CAAG;AAAA,EAG/C,GAAGsqC,CAAM;AACX;AAEA,SAASyD,GAAuCzD,GAAWxhC,GAAkC;AAC3F,QAAMkc,IAASlc,EAAMkc;AAErB,MAAIA,EAAOgY;AACT,WAAOhY,EAAOgY,OAAOsN,GAAQ,CAAC;AAGhC,QAAMsD,IAAY5oB,EAAO4oB,YAAY9kC,EAAMkZ,IACrC9iB,IAAQyuC,GAAerD,GAA8CsD,CAAQ;AAEnF,SAAI1uC,KAAU,OACL8O,gBAAAA,EAAAA,IAACm8B,IAAA,EAAK,GAAE,UAAS,UAAA,KAAC,IAGvB,OAAOjrC,KAAU,kCACXirC,IAAA,EAAK,IAAG,MAAMjrC,UAAAA,IAAQ,OAAO,QAAO,0BAGtCirC,IAAA,EAAK,IAAG,MAAMrnB,UAAAA,OAAO5jB,CAAK,GAAE;AACtC;AAEA,SAAA8uC,GAAAtuB,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,EAAA,GAA6C;AAAA,IAAA9W,OAAAA;AAAAA,IAAAwhC,QAAAA;AAAAA,EAAAA,IAAA5qB,GAIpCI,IAAChX,EAAKkc,OAAAyX,SAA4B3zB,EAAKkZ;AAAG,MAAAjC;AAAA,EAAAJ,SAAAG,KAD7CC,0BAACoqB,IAAA,EAAS,SAAQ,IAAA,MACfrqB,UAAAA,GACH,GAAOH,OAAAG,GAAAH,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAAA,MAAAK;AAAA,EAAAL,EAAA,CAAA,MAAA7W,KAAA6W,SAAA2qB,KAEJtqB,IAAA+tB,GAAiBzD,GAAQxhC,CAAK,GAAC6W,OAAA7W,GAAA6W,OAAA2qB,GAAA3qB,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAAA,MAAA2b;AAAA,EAAA3b,SAAAK,KADlCsb,0BAAC5R,IAAA,EAAO,IAAA,SAAW,IAAA,MAChB1J,UAAAA,GACH,GAAML,OAAAK,GAAAL,OAAA2b,KAAAA,IAAA3b,EAAA,CAAA;AAAA,MAAA6b;AAAA,SAAA7b,EAAA,CAAA,MAAAI,KAAAJ,SAAA2b,KANRE,IAAA/R,gBAAAA,EAAAA,KAACyU,IAAA,EAAW,MAAA,UAAiB,SAAA,iBAAsB,OAAA,UAAY,IAAA,MAAQ,IAAA,MACrEne,UAAAA;AAAAA,IAAAA;AAAAA,IAGAub;AAAAA,EAAAA,GAGF,GAAQ3b,OAAAI,GAAAJ,OAAA2b,GAAA3b,OAAA6b,KAAAA,IAAA7b,EAAA,CAAA,GAPR6b;AAOQ;AAIL,SAAAyS,GAAAvuB,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,EAAA,GAA8C;AAAA,IAAAmqB,SAAAA;AAAAA,IAAAlQ,QAAAA;AAAAA,IAAAqU,WAAAA;AAAAA,IAAAxE,iBAAA5pB;AAAAA,IAAAquB,yBAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAA/B,MAAAA;AAAAA,IAAAgC,cAAAA;AAAAA,EAAAA,IAAA/uB;AAa5B,MAAAK;AAAA,EAAAJ,SAAAG,KATvBC,IAAAD,MAAoBN,cAApBM,GAAoBH,OAAAG,GAAAH,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAApB,QAAA+pB,IAAA3pB;AAAoB,MAAAC;AAAA,EAAAL,EAAA,CAAA,MAAAsb,OAAAC,IAAA,2BAAA,KAUiDlb,wBAAA8a,IAAAA,GAASnb,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAA9E,QAAA,CAAA+uB,GAAAC,CAAA,IAAsCrW,GAA+BtY,CAAS;AAAE,MAAAsb;AAAA,EAAA3b,EAAA,CAAA,MAAAsb,OAAAC,IAAA,2BAAA,KAExDI,IAAAtZ,CAAAA,MAAA;AACtB2sB,IAAAA,EAAcC,CAAAA,MAAA;AACZ,YAAAC,IAAA,IAAA/T,IAAqB8T,CAAI;AAAE,aACvBC,EAAIC,IAAK9sB,CAAE,IAAG6sB,EAAIE,OAAQ/sB,CAAE,IAC3B6sB,EAAIG,IAAKhtB,CAAE,GACT6sB;AAAAA,IAAI,CACZ;AAAA,EAAC,GACHlvB,OAAA2b,KAAAA,IAAA3b,EAAA,CAAA;AAPD,QAAAsvB,IAAwB3T;AAOtB,MAAA4T,GAAA1T,IAAAC,GAAAU,GAAAgB,GAAAE;AAAA,MAAA1d,SAAA0uB,KAAA1uB,EAAA,CAAA,MAAA4uB,KAAA5uB,EAAA,CAAA,MAAA2uB,KAAA3uB,SAAA+uB,KAAA/uB,EAAA,CAAA,MAAAka,KAAAla,EAAA,CAAA,MAAAyuB,KAAAzuB,EAAA,EAAA,MAAAwuB,KAAAxuB,UAAAoqB,KAAApqB,EAAA,EAAA,MAAA8uB,KAAA9uB,EAAA,EAAA,MAAA+pB,KAAA/pB,UAAAuuB,KAAAvuB,EAAA,EAAA,MAAA8sB,GAAA;AAmCEpP,IAAAA,IAAApC,OAAAC,iCAEM;AAACiU,IAAAA,GAAA;AApCX,YAAAC,IAAmBvV,EAAMkB,OAAAlY,EAAiC,GAE1DwsB,IAAoBD,EAAUrU,OAAA9X,EACc,EAACsY,OAAApY,MAOtC;AAAE,UAAAwa;AAAA,MAAAhe,UAAA+pB,KAEU/L,IAAA2M,OACjBZ,EAAemC,KAAA77B,OAAaA,EAACgS,OAAQsoB,EAAMtoB,EAAG,GAACrC,QAAA+pB,GAAA/pB,QAAAge,KAAAA,IAAAhe,EAAA,EAAA;AADjD,YAAA2vB,IAAmB3R;AAC+B,UAAAM;AAAA,MAAAte,EAAA,EAAA,MAAA2vB,KAAA3vB,UAAAwuB,KAAAxuB,EAAA,EAAA,MAAA+pB,KAE1BzL,IAAAsR,CAAAA,MAAA;AAAA,QACjBpB,MACDmB,EAAWhF,CAAM,IACnB6D,EAAwBzE,EAAe3O,OAAAyU,CAAAA,MAAex/B,EAACgS,OAAQsoB,EAAMtoB,EAAG,CAAC,IAEzEmsB,EAAuB,CAAA,GAAKzE,GAAiBY,CAAM,CAAC;AAAA,MAAC,GAExD3qB,QAAA2vB,GAAA3vB,QAAAwuB,GAAAxuB,QAAA+pB,GAAA/pB,QAAAse,KAAAA,IAAAte,EAAA,EAAA;AAPD,YAAA8vB,IAAwBxR;AAOtB,UAAAG;AAAA,MAAAze,EAAA,EAAA,MAAAyuB,KAAAzuB,UAAAuuB,KAAAvuB,EAAA,EAAA,MAAA8vB,KAEsBrR,IAAAA,CAAAsR,GAAAlmB,GAAArE,MAAA;AAAA,QAClBipB,IACFA,EAAU;AAAA,UAAA9D,QAAGA;AAAAA,UAAM9gB,OAAAA;AAAAA,UAAArE,OAAAA;AAAAA,QAAAA,CAAgB,IAC1B+oB,KACTuB,EAAgBnF,CAAM;AAAA,MAAC,GAE1B3qB,QAAAyuB,GAAAzuB,QAAAuuB,GAAAvuB,QAAA8vB,GAAA9vB,QAAAye,KAAAA,IAAAze,EAAA,EAAA;AAND,YAAAgwB,IAAwBvR;AAMtB,UAEE2L,EAAOzM,WAAA,GAAa;AAAA,YAAAe;AAAA,QAAA1e,EAAA,EAAA,MAAAsb,OAAAC,IAAA,2BAAA,KAEpBmD,0BAAC8L,MAAO,GAAA,UAAY,IAAA,UAAY,IAAA,MAAK,UAAA,0BAAA,CAErC,GAAOxqB,QAAA0e,KAAAA,IAAA1e,EAAA,EAAA,GAFP0d,IAAAgB;AAEO,cAAA8Q;AAAAA,MAAA;AAKRD,MAAAA,IAAA/F,IAAU3N,KAAA,MAAQC,IAAA,MAChBU,IAAAsQ,KAAQ4C,EAAW/R,SAAA,4BACjBY,IAAA,EAAU,KAAA,MAAU,MAAA,UACnB,UAAA;AAAA,QAAAlwB,gBAAAA,MAAC4hC,MACOP,MAAAA,GACC,OAAA5C,EAAI3jC,OACD,UAAA+mC,CAAAA,MAAW3wC,KAASutC,EAAIqD,aAAc5wC,GAAOutC,EAAInoB,SAAU,GACtD,eAAA,IACR,OAAA;AAAA,UAAAyrB,MAAA;AAAA,QAAA,GAAW;AAAA,QAEpB/hC,gBAAAA,EAAAA,IAACgiC,IAAA,EACS,SAAA,UACH,MAAA,YACI,SAAA,MAAMvD,EAAIqD,aAAcrD,EAAI3jC,OAAQ2jC,EAAInoB,cAAe,QAAQ,SAAS,KAAK,GAErFmoB,UAAAA,EAAInoB,cAAe,QAAQtW,gBAAAA,EAAAA,IAACiiC,IAAA,EAAwB,MAAA,GAAA,CAAE,IAAOjiC,gBAAAA,EAAAA,IAACkiC,IAAA,EAAyB,MAAA,IAAE,EAAA,CAC5F;AAAA,MAAA,GACF,GAGD/S,IAAA4M,EAAOnnB,IAAA,CAAAutB,GAAAC,MAAA;AACN,cAAAvoB,IAAiBynB,EAAWhF,CAAM,GAClC+F,IAAkB,CAAA,CAAEjC,OAAgBF,GAEpCoC,IAAkBhG,EAAMtoB,MAAOwH,GAC/B+mB,IAAiB7B,EAAWI,IAAKwB,CAAS;AAAE,oDAIxC,UAAA7mB,gBAAAA,EAAAA,KAACC,IAAA,EACK,IAAA7B,IAAW,uCAAuC2B,IAAK,MAAI,IAAS,gCAAgC,SACpG,IAAC3B,IAAkDrI,SAAvC,yCACT,OAAA;AAAA,UAAAgxB,cACS;AAAA,UAA0BC,UAC9B;AAAA,QAAA,GAGZ,UAAA;AAAA,UAAAhnB,gBAAAA,EAAAA,KAACC,IAAA,EACG,GAAA,QACK,OAAA;AAAA,YAAAgnB,QAAUL,KAAa5B,IAAe,YAAY;AAAA,UAAA,GAChD,SAAA74B,CAAAA,OAAA;AAAA,YACH64B,MAAiBL,IACnBa,EAAgBqB,CAAS,IAEzBX,EAAgBrF,GAAQ9gB,GAAO5T,EAAC;AAAA,UAAC,GAInCs4B,UAAAA;AAAAA,aAAAA,KAAaO,KAAiBJ,KAAWA,EAAO/Q,SAAA,MAChD7T,gBAAAA,EAAAA,KAACyU,IAAA,EAAS,IAAA,MAAQ,IAAA,MAAa,SAAA,iBAC7B,UAAA;AAAA,cAAAzU,gBAAAA,EAAAA,KAACyU,IAAA,EAAU,KAAA,MACRuQ,UAAAA;AAAAA,gBAAAA,KACCzgC,gBAAAA,EAAAA,IAAC0b,IAAA,EACG,GAAA,uCACK,OAAA;AAAA,kBAAAgnB,QAAU;AAAA,kBAASC,SAAW;AAAA,kBAAMC,YAAc;AAAA,gBAAA,GAChD,SAAAC,CAAAA,OAAA;AAA2Bj7B,kBAAAA,GAACk7B,gBAAAA,GAAoB7B,EAAgBqB,CAAS;AAAA,gBAAC,GAEnF,UAAAtiC,gBAAAA,MAAC+iC,IAAA,EACO,MAAA,IACC,OAAA;AAAA,kBAAAC,WAAaT,IAAW,iBAAiB;AAAA,kBAAgBU,YAAc;AAAA,gBAAA,GAAmB,EAAA,CAErG;AAAA,gBAED/C,KACClgC,gBAAAA,EAAAA,IAAC8uB,IAAA,EACUjV,SAAAA,GACC,UAAA,MAAM4nB,EAAgBnF,CAAM,GAC7B,SAAA9mB,GAAAA,CAA0B;AAAA,cAAA,GAGzC;AAAA,cACC6qB,KAAWA,EAAO/Q,eAAe,MAAA;AAChC,sBAAA4T,KAAwB7C,EAAOtT,OAAAzxB,CAAAA,MACzBA,EAAAA,EAAM2mB,UAAW,gBAAgBqe,KAAS,CAAKA,EAAUhE,CAAM,KAC/DhhC,EAAM2mB,UAAW,aAAase,KAAS,CAAKA,EAAUjE,CAAM,EAEjE;AAAE,uBACC4G,GAAe5T,WAAA,IAAa,OAEhC7T,gBAAAA,EAAAA,KAAC0nB,IAAA,EAAY,QAAA,MAAc,UAAA,cACzB,UAAA;AAAA,kBAAAnjC,gBAAAA,EAAAA,IAAAmjC,GAAA,QAAA,EACE,gCAACnB,IAAA,EACS,SAAA,UACF,OAAA,QACD,MAAA,MACI,SAAApsB,IAET,UAAA5V,gBAAAA,EAAAA,IAACojC,MAAuB,MAAA,IAAE,GAC5B,EAAA,CACF;AAAA,wCACAD,GAAA,UAAA,EACGD,UAAAA,GAAetuB,IAAA,CAAAyuB,GAAAC,OACdtjC,gBAAAA,EAAAA,IAAAmjC,GAAA,MAAA,EAEe,aAAA7nC,EAAMioC,MACV,SAAAC,CAAAA,OAAA;AACP57B,oBAAAA,GAACk7B,gBAAAA,GACDxnC,EAAMuuB,QAAA,CAAUyS,CAAM,CAAC;AAAA,kBAAC,GAGzBhhC,UAAAA,EAAM2mB,MAAAA,kBAPaqhB,EAAW,EAQjC,CACD,EAAA,CACH;AAAA,gBAAA,GACF;AAAA,cAAO,GAAA;AAAA,YAEN,GACL;AAAA,YAEDlC,EAAUxsB,KAAA9Z,IAAA2oC,MACThoB,gBAAAA,EAAAA,KAAArc,GAAA,UAAA,EACGqkC,UAAAA;AAAAA,cAAAA,IAAU,2BAASC,IAAA,CAAA,CAAO;AAAA,cAC3B1jC,gBAAAA,EAAAA,IAACggC,IAAA,EAAqBllC,OAAAA,IAAewhC,QAAAA,EAAAA,CAAM;AAAA,YAAA,EAAA,GAFxBxhC,GAAKkZ,EAG1B,CACD;AAAA,UAAA,GACH;AAAA,UACCysB,KACChlB,gBAAAA,EAAAA,KAACkoB,IAAA,EAAapB,OACZ,UAAA;AAAA,YAAAviC,gBAAAA,EAAAA,IAAC0jC,IAAA,EAAO;AAAA,YACR1jC,gBAAAA,EAAAA,IAAC0b,MAAO,IAAA,MAAQ,IAAA,MACb+kB,UAAAA,EAAYmD,QAAStH,CAAM,EAAA,CAC9B;AAAA,UAAA,EAAA,CACF;AAAA,QAAA,EAAA,CAEJ,KAhGmBgG,CAiGrB;AAAA,MAAiB,CAEpB;AAAA,IAAC;AAAA3wB,IAAAA,OAAA0uB,GAAA1uB,OAAA4uB,GAAA5uB,OAAA2uB,GAAA3uB,OAAA+uB,GAAA/uB,OAAAka,GAAAla,OAAAyuB,GAAAzuB,QAAAwuB,GAAAxuB,QAAAoqB,GAAApqB,QAAA8uB,GAAA9uB,QAAA+pB,GAAA/pB,QAAAuuB,GAAAvuB,QAAA8sB,GAAA9sB,QAAAuvB,GAAAvvB,QAAA6b,IAAA7b,QAAA8b,GAAA9b,QAAAwc,GAAAxc,QAAAwd,GAAAxd,QAAA0d;AAAAA,EAAA;AAAA6R,IAAAA,IAAAvvB,EAAA,EAAA,GAAA6b,KAAA7b,EAAA,EAAA,GAAA8b,IAAA9b,EAAA,EAAA,GAAAwc,IAAAxc,EAAA,EAAA,GAAAwd,IAAAxd,EAAA,EAAA,GAAA0d,IAAA1d,EAAA,EAAA;AAAA,MAAA0d,MAAApC,OAAAC,IAAA,6BAAA;AAAA,WAAAmC;AAAA,MAAAM;AAAA,EAAAhe,UAAA6uB,KAED7Q,IAAA6Q,KAAcA,EAAUqD,eAAgBrD,EAAUsD,yCAChD3I,IAAA,EAAU,KAAA,MAAQ,IAAA,MACjB,UAAA;AAAA,IAAAn7B,gBAAAA,EAAAA,IAACkwB,IAAA,EAAc,SAAA,UACb,UAAAlwB,gBAAAA,MAAC+jC,MACQ,OAAA/G,KAAAgH,KAAUxD,EAAUqD,eAAgBrD,EAAUsD,cAAe,GAC7D,OAAAtD,EAAUyD,MACP,UAAAzD,EAAU0D,cACf,MAAA,KAAA,IAET;AAAA,IACC1D,EAAU2D,yBAA0B3D,EAAU4D,iDAC5ClU,IAAA,EAAc,SAAA,UAAa,KAAA,MAC1B,UAAA;AAAA,MAAAlwB,gBAAAA,MAACm8B,IAAA,EAAQ,IAAA,MAAO,GAAA,UAAS,UAAA,uBAAmB;AAAA,MAC5Cn8B,gBAAAA,EAAAA,IAAC4hC,IAAA,EACO,MAAApB,EAAU2D,sBAAAvvB,IAAAiB,EAA0E,GACnF,OAAAf,OAAO0rB,EAAUsD,cAAe,GAC7B,UAAA/wC,CAAAA,MAAOA,KAAKytC,EAAU4D,uBAAyBzG,OAAO5qC,CAAC,CAAC,GACnD,mBACV,MAAA,MACF,GAAA,GAAA;OAEP;AAAA,EAAA,GAEJ,GACD4e,QAAA6uB,GAAA7uB,QAAAge,KAAAA,IAAAhe,EAAA,EAAA;AAAA,MAAAse;AAAA,SAAAte,UAAAuvB,KAAAvvB,EAAA,EAAA,MAAAge,KAAAhe,EAAA,EAAA,MAAA6b,MAAA7b,EAAA,EAAA,MAAA8b,KAAA9b,UAAAwc,KAAAxc,EAAA,EAAA,MAAAwd,KAzJHc,KAAAxU,gBAAAA,EAAAA,KAACylB,GAAA,EAAU,KAAA1T,IAAQ,IAAAC,GAChBU,UAAAA;AAAAA,IAAAA;AAAAA,IAmBAgB;AAAAA,IA6GAQ;AAAAA,EAAAA,GAyBH,GAAQhe,QAAAuvB,GAAAvvB,QAAAge,GAAAhe,QAAA6b,IAAA7b,QAAA8b,GAAA9b,QAAAwc,GAAAxc,QAAAwd,GAAAxd,QAAAse,MAAAA,KAAAte,EAAA,EAAA,GA1JRse;AA0JQ;AA3NL,SAAApa,GAAAwuB,GAAA;AAAA,SAAA;AAAA,IAAAnzC,OAgNqE4jB,OAAO7hB,CAAC;AAAA,IAACgvB,OAASnN,OAAO7hB,CAAC;AAAA,EAAA;AAAC;AAhNhG,SAAA2iB,GAAA0uB,GAAA;AAAA,SAsJuD18B,EAACk7B,gBAAAA;AAAkB;AAtJ1E,SAAAttB,GAAA+uB,GAAA;AAAA,SAoImC38B,EAACk7B,gBAAAA;AAAkB;AApItD,SAAA3tB,GAAAyY,GAAAkC,GAAA;AA6BD,QAAA5+B,IAAe4T,EAACkS,OAAA4oB,YAAoB96B,EAACkP;AAAe,SAC/C4Z,EAAGiQ,KAAA5qC,OAAaA,EAAC/B,UAAWA,CAAK,KACpC08B,EAAG4W,KAAA;AAAA,IAAAtzC,OAAAA;AAAAA,IAAA+wB,OAAuBnd,EAACkS,OAAAyX,SAA4B3pB,EAACkP;AAAAA,EAAAA,CAAK,GAExD4Z;AAAG;AAjCT,SAAA3Y,GAAAub,GAAA;AAAA,SA2BY1rB,EAACkS,OAAAytB,aAAA;AAA0B;AA3BvC,SAAA5vB,GAAA/P,GAAA;AAAA,SAwBmCA,EAAC4/B,QAAS5/B,EAACkS;AAAO;ACuB5D,MAAM2tB,KAAa,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG;AAEjC,SAAAC,GAAAlzB,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,GAAA,GAA8C;AAAA,IAAA6c,OAAAA;AAAAA,IAAA98B,UAAAA;AAAAA,IAAAkzC,oBAAAA;AAAAA,IAAAnwB,SAAAA;AAAAA,IAAAowB,iBAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAlZ,QAAAA;AAAAA,IAAAqU,WAAAA;AAAAA,IAAAM,YAAAA;AAAAA,IAAAwE,SAAAA;AAAAA,IAAA3E,SAAAA;AAAAA,IAAAtU,OAAAA;AAAAA,IAAAkZ,aAAAA;AAAAA,IAAAnD,cAAAA;AAAAA,IAAAoD,kBAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,MAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,WAAAC;AAAAA,IAAAC,mBAAAA;AAAAA,IAAAlF,WAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAkF,aAAA3zB;AAAAA,IAAA2uB,cAAAA;AAAAA,IAAAL,YAAAA;AAAAA,IAAAsF,aAAA3zB;AAAAA,EAAAA,IAAAL,GAuBnD+zB,KAAA3zB,MAAkBN,cAAlBM,GAGA4zB,IAAA3zB,MAAmBP,cAAnBO,GAEA,CAAA4zB,GAAAC,CAAA,IAAkDtb,GAChD+a,MAAeD,KAAQA,EAAI9V,aAAc8V,KAAIl0C,QAAA,KAC/C,GAEAo0C,IACEC,MAAmB/zB,SAAiB+zB,IAAsBI;AAAkB,MAAA3zB;AAAA,EAAAL,EAAA,CAAA,MAAA4zB,KAAA5zB,SAAA6zB,KAEtDxzB,IAAA9gB,CAAAA,OAAA;AAAA,IAClBq0C,MAAmB/zB,UACrBo0B,EAAqB10C,EAAK,GAExBs0C,KACFA,EAAkBt0C,EAAK;AAAA,EAAC,GAE3BygB,OAAA4zB,GAAA5zB,OAAA6zB,GAAA7zB,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAPD,QAAAk0B,IAAwB7zB;AAOtB,MAAAsb;AAAA,EAAA3b,EAAA,CAAA,MAAA2zB,KAAA3zB,SAAAyzB,KAEiB9X,IAAA8X,GAAIU,KAAAC,CAAAA,OAAgBA,GAAG70C,UAAWo0C,CAAS,GAAC3zB,OAAA2zB,GAAA3zB,OAAAyzB,GAAAzzB,OAAA2b,KAAAA,IAAA3b,EAAA,CAAA;AAA/D,QAAAq0B,IAAmB1Y,GACnB2Y,IAAyBD,GAAUb,eAAA,CAAA,GACnCe,IAAyBF,GAAUtxB,WAAaA,GAChDyxB,IAAiCH,GAAUlB,mBAAqBA,KAAmBoB,GACnFE,IAAA;AAAA,IAAA,GAA4BjB;AAAAA,IAAW,GAAKc;AAAAA,EAAAA,GAG5CI,IAA4BD,IACxB,MACAE,OAAAC,QAAeH,CAAc,EAACrZ,OAAAlY,EACgC,EAACD,IAAAK,EACK,EAACuxB,KAC7D,GAAG,IACX;AAAG,MAAAhZ;AAAA,EAAA7b,EAAA,CAAA,MAAA2zB,KAAA3zB,SAAAhgB,KAEmB67B,IAAA8X,IAAS,CAAA,GAAO3zC,GAAU2zC,CAAS,IAAI3zC,GAAQggB,OAAA2zB,GAAA3zB,OAAAhgB,GAAAggB,OAAA6b,KAAAA,IAAA7b,EAAA,CAAA;AAAzE,QAAA80B,KAA0BjZ,GAE1B;AAAA,IAAAj6B,MAAAmzC;AAAAA,IAAA5sC,WAAAA;AAAAA,IAAAD,SAAAA;AAAAA,IAAA8sC,cAAAA;AAAAA,IAAAC,SAAAA;AAAAA,EAAAA,IAMI5xB,GAAakxB,IAAmBG,GAAaI,EAAiB,GAElE;AAAA,IAAA3mC,aAAAA;AAAAA,EAAAA,IAAwBmS,GAAAA;AAAe,MAAAwb,GAAAU;AAAA,EAAAxc,EAAA,CAAA,MAAA+0B,KAAA/0B,UAAAkzB,KAAAlzB,EAAA,EAAA,MAAA7R,KAE7B2tB,IAAAA,MAAA;AAAA,IACJ,CAACiZ,KAAO,CAAKrL,MAAAwL,QAAcH,CAAO,KAEtC7B,GAAkB7J,QAAA8L,CAAAA,OAChBhnC,EAAWyV,kBAAA;AAAA,MAAA5jB,UAA+Bm1C;AAAAA,IAAAA,CAAmB,CAAC;AAAA,EAAA,GAE/D3Y,IAAA,CAACuY,GAAS7B,GAAoB/kC,CAAW,GAAC6R,OAAA+0B,GAAA/0B,QAAAkzB,GAAAlzB,QAAA7R,GAAA6R,QAAA8b,GAAA9b,QAAAwc,MAAAV,IAAA9b,EAAA,EAAA,GAAAwc,IAAAxc,EAAA,EAAA,IAN7C2W,GAAUmF,GAMPU,CAA0C;AAG3C,QAAA4Y,IACK,CAACL,MAAYrL,MAAAwL,QAAcH,CAAO,IAAC,KAE7B,CAAC1B,KAAWA,EAAO1V,WAAA,IAChBoX,IACAA,EAAO3Z,OAAAuP,CAAAA,OAAuB0I,EAAOgC,MAAAja,CAAAA,OAAA;AAAA,QACnCA,GAAM77B,UAAAsgB;AAAoB,aAAA;AAE9B,UAAAy1B,KAAYla,GAAM/Y;AAAe,QAC7B+Y,GAAMlxB,SAAU,SAAO;AACvB,YAAAqrC,KAAoB5K,GAAOtqC,EAAG;AAAE,aAC5BqpC,MAAAwL,QAAc9Z,GAAM77B,KAAM,IACtBmqC,MAAAwL,QAAcK,EAAW,IAClBA,GAAWrJ,KAAA1pB,CAAAA,OAAA;AAAA,YACV,OAAOA,MAAS,YAAY,OAAOA,MAAS;AAAQ,iBAC7C4Y,GAAM77B,MAAA09B,SAAiB9Z,OAAOX,EAAI,CAAC;AAAC,YAE3CA,MAAQ,OAAOA,MAAS,UAAQ;AAAA,cAC5B,QAAQA,MAAQ4Y,GAAM77B,MAAA09B,SAAiBza,GAAIH,EAAG;AAAC,mBAAA;AAAA,qBAG9CmzB,MAAchzB,IAAI;AACnB,kBAAAizB,KAAkBjzB,GAAKgzB,EAAI;AAGU,gBADjC,OAAOC,MAAc,YACrBra,GAAM77B,MAAA09B,SAAiBwY,EAAS,KAKhCA,MACA,OAAOA,MAAc,YACrB,QAAQA,MAEJra,GAAM77B,MAAA09B,SAAiBwY,GAASpzB,EAAG;AAAC,qBAAA;AAAA,UAAA;AAAA,QAAA;AAAA,eAAA;AAAA,MAAA,CAOvD,IAGDkzB,MACA,OAAOA,MAAgB,YACvB,QAAQA,KAEDna,GAAM77B,MAAA09B,SAAiBsY,GAAkBlzB,EAAI,IAAC,KAKzD,OAAOkzB,MAAgB,YACvBA,GAAWtY,SAAU7B,GAAM77B,KAAM;AAAA,IAAC,WAE/B67B,GAAMlxB,SAAU,QAAM;AAC7B,YAAAkvB,KAAkBgC,GAAM77B;AAA0B,UAAA,CAC7C65B;AAAS,eAAA;AAEd,YAAA,CAAAsc,IAAAr/B,EAAA,IAAmB+iB;AAAU,UACzB,CAACsc,MAAI,CAAKr/B;AAAE,eAAA;AAChB,YAAAs/B,KAAmBhL,GAAOtqC,EAAG;AAAE,UAC3B,OAAOs1C,MAAe,UAAQ;AAC9B,cAAAC,KAAsBD,GAAUzH,MAAO,GAAG,EAAC,CAAA;AAAI,YAC3CwH,MAAQr/B;AAAE,iBACHu/B,MAAiBF,MAAQE,MAAiBv/B;AAAE,YAC5Cq/B,OAASr/B;AAAE,iBACXu/B,MAAiBF;AAAI,YACrB,CAACA,MAAQr/B;AAAE,iBACXu/B,MAAiBv/B;AAAAA,MAAE;AAAA,aAAA;AAAA,IAAA,WAI3B+kB,GAAMlxB,SAAU;AACS,aAAZygC,GAAOtqC,EAAG,MACP+6B,GAAM77B;AAAM,WAAA;AAAA,EAAA,CAG1C,CAAC,GAGMi+B,KAAA8V,GAAWnqC,SAAW+wB,KAAM7X,IACjCqb,IAAA4V,GAAW3uB,aAAe;AAAM,MAAAqZ;AAAA,EAAAhe,EAAA,EAAA,MAAAwd,MAAAxd,UAAA0d,KAFwBM,IAAA;AAAA,IAAA6X,gBACnDrY;AAAAA,IAAkC7Y,WACvC+Y;AAAAA,EAAAA,GACZ1d,QAAAwd,IAAAxd,QAAA0d,GAAA1d,QAAAge,KAAAA,IAAAhe,EAAA,EAAA;AAHD,QAAA,CAAA81B,GAAAC,CAAA,IAAoCpd,GAAiCqF,CAGpE;AAAE,MAAAM;AAAA,EAAAte,UAAAmwB,KAEsB7R,IAAA0X,CAAAA,OAAA;AACvBD,IAAAA,EAAcC,EAAa,GACvB7F,KACFA,EAAahtB,OAAO6yB,GAAaH,cAAe,GAAGG,GAAarxB,SAAU;AAAA,EAAC,GAE9E3E,QAAAmwB,GAAAnwB,QAAAse,KAAAA,IAAAte,EAAA,EAAA;AALD,QAAAi2B,IAAyB3X,GAQzB4X,KAAmBzJ,GACjB2I,GACAU,EAAUD,gBACVC,EAAUnxB,SACZ,GAGA,CAAAwxB,IAAAC,EAAA,IAAgCxL,GAAAoI,GAAA,CAAA,GAE9B,yBACF,GACA,CAAAV,IAAA+D,EAAA,IAAwB1d,IAAU,GAElCyR,KAAgByE,IAAaqH,GAAU1K,OAAQ8G,KAAI,KAAQ6D,IAAU7D,KAAO6D,EAAQ,IAAID;AAAW,MAAAzX;AAAA,EAAAze,EAAA,EAAA,MAAAsb,OAAAC,IAAA,2BAAA,KAEvCkD,KAAA,CAAA,GAAEze,QAAAye,MAAAA,KAAAze,EAAA,EAAA;AAA9D,QAAA,CAAA+pB,IAAAuM,EAAA,IAA8C3d,GAAc8F,EAAE;AAAE,MAAAC;AAAA,EAAA1e,EAAA,EAAA,MAAAsb,OAAAC,IAAA,2BAAA,KAGtDmD,KAAAA,MAAA;AACR4X,IAAAA,KAAqB;AAAA,EAAC,GACvBt2B,QAAA0e,MAAAA,KAAA1e,EAAA,EAAA;AAAA,MAAAu2B;AAAA,EAAAv2B,UAAA2zB,KAAE4C,MAAC5C,CAAS,GAAC3zB,QAAA2zB,GAAA3zB,QAAAu2B,MAAAA,KAAAv2B,EAAA,EAAA,GAFd2W,GAAU+H,IAEP6X,EAAW;AAEd,QAAA,CAAAC,IAAAC,EAAA,IAA8C9d,KAAc,GAC5D,CAAA+d,IAAAC,EAAA,IAA8Che,KAAc,GAC5D,CAAAie,IAAAC,EAAA,IAA8Cle,KAAc;AAAE,MAAAme;AAAA,EAAA92B,UAAAka,KAEvC4c,KAAA5c,EAAMgS,KAAA1oB,EAA6B,GAACxD,QAAAka,GAAAla,QAAA82B,MAAAA,KAAA92B,EAAA,EAAA;AAA3D,QAAA+2B,KAAuBD;AAAqC,MAAAE;AAAA,EAAAh3B,UAAAka,KACrC8c,KAAA9c,EAAMgS,KAAAroB,EAA6B,GAAC7D,QAAAka,GAAAla,QAAAg3B,MAAAA,KAAAh3B,EAAA,EAAA;AAA3D,QAAAi3B,KAAuBD;AAAqC,MAAAE;AAAA,MAAAl3B,EAAA,EAAA,MAAA0uB,KAAA1uB,UAAAi3B,MAAAj3B,EAAA,EAAA,MAAA+2B,IAAA;AAEtB,QAAtCG,KAAA,CAAA,GACIH,IAAc;AAAA,UAAAI;AAAA,MAAAn3B,EAAA,EAAA,MAAAsb,OAAAC,IAAA,2BAAA,KAER4b,2BAACC,IAAA,EAAiB,MAAA,GAAA,CAAE,GAAIp3B,QAAAm3B,MAAAA,KAAAn3B,EAAA,EAAA;AAAA,UAAAq3B;AAAA,MAAAr3B,EAAA,EAAA,MAAAsb,OAAAC,IAAA,2BAAA,KADb8b,KAAA;AAAA,QAAAzF,MACXuF;AAAAA,QAAwB7mB,OACvB;AAAA,QAAY4H,SAAAof,CAAAA,OAAA;AAEjBhB,UAAAA,GAAmBlM,EAAO,GAC1BuM,KAAuB;AAAA,QAAC;AAAA,MAAA,GAE3B32B,QAAAq3B,MAAAA,KAAAr3B,EAAA,EAAA,GAPDk3B,GAAarE,KAAMwE,EAOlB;AAAA,IAAC;AAG4B,QAD5B3I,KACFwI,GAAarE,KAAA,GAASnE,CAAO,GAE3BuI,IAAc;AAAA,UAAAE;AAAA,MAAAn3B,EAAA,EAAA,MAAAsb,OAAAC,IAAA,2BAAA,KAER4b,2BAACI,IAAA,EAAgB,MAAA,GAAA,CAAE,GAAIv3B,QAAAm3B,MAAAA,KAAAn3B,EAAA,EAAA;AAAA,UAAAq3B;AAAA,MAAAr3B,EAAA,EAAA,MAAAsb,OAAAC,IAAA,2BAAA,KADZ8b,KAAA;AAAA,QAAAzF,MACXuF;AAAAA,QAAuB7mB,OACtB;AAAA,QAAS4H,SAAAsf,CAAAA,OAAA;AAEdlB,UAAAA,GAAmBlM,EAAO,GAC1ByM,KAAuB;AAAA,QAAC;AAAA,MAAA,GAE3B72B,QAAAq3B,MAAAA,KAAAr3B,EAAA,EAAA,GAPDk3B,GAAarE,KAAMwE,EAOlB;AAAA,IAAC;AAAAr3B,IAAAA,QAAA0uB,GAAA1uB,QAAAi3B,IAAAj3B,QAAA+2B,IAAA/2B,QAAAk3B;AAAAA,EAAA;AAAAA,IAAAA,KAAAl3B,EAAA,EAAA;AAKyB,QAAAm3B,KAAAra,IAAQ,kBAAkB;AAAK,MAAAua;AAAA,EAAAr3B,UAAA8c,KACrDua,KAAAva,MACE,OAAOA,KAAU,iCACf2a,IAAA,EAAa,OAAA,GAAI3a,UAAAA,EAAAA,CAAM,IAExBA,IACA9c,QAAA8c,GAAA9c,QAAAq3B,MAAAA,KAAAr3B,EAAA,EAAA;AAAA,MAAA03B;AAAA,EAAA13B,EAAA,EAAA,MAAAsb,OAAAC,IAAA,2BAAA,KAC4Dmc,KAAA;AAAA,IAAAC,YAAc;AAAA,EAAA,GAAQ33B,QAAA03B,MAAAA,KAAA13B,EAAA,EAAA;AAAA,MAAA43B;AAAA,EAAA53B,EAAA,EAAA,MAAAi1B,KAAAj1B,UAAA8zB,MACnF8D,KAAA9D,MACCzlC,gBAAAA,MAACgiC,IAAA,EACS,SAAA,UACC,SAAA,MAAM4E,EAAAA,GACJ,cAAA,YAEX,UAAA5mC,gBAAAA,EAAAA,IAACwpC,MAAW,GACd,GACD73B,QAAAi1B,GAAAj1B,QAAA8zB,IAAA9zB,QAAA43B,MAAAA,KAAA53B,EAAA,EAAA;AAAA,MAAA83B;AAAA,EAAA93B,EAAA,EAAA,MAAA0uB,KAAA1uB,EAAA,EAAA,MAAA4uB,KAAA5uB,EAAA,EAAA,MAAA2uB,MAAA3uB,UAAAka,KAAAla,EAAA,EAAA,MAAA+zB,KAAA/zB,EAAA,EAAA,MAAA+pB,MAAA/pB,EAAA,EAAA,MAAAuuB,KACAuJ,MAAC5d,EAAMgS,KAAAjoB,EAA6B,KAAKsqB,OAAc,MAAA;AACtD,UAAAwJ,KAAwB7d,EAAMia,KAAAjwB,EAA6B,MACxD,CAACyqB,MAAc5E,GAAepM,SAAA,KAAegR,GAAU5E,GAAe,CAAA,CAAG,IAC5EiO,KAAwB9d,EAAMia,KAAA/vB,EAA6B,MACxD,CAACwqB,KAAc7E,GAAepM,SAAA,KAAeiR,EAAU7E,GAAe,CAAA,CAAG,IAC5EkO,MAA0BvJ,KAAO,CAAA,GAAM/Q,SAAA,GACvCua,KAAqBH,MAAmBC,MAAmBC;AAAiB,WAG1E5pC,gBAAAA,MAAC0b,IAAA,EAAG,GAAMgqB,IAAW;AAAA,MAAAoE,aAAkB;AAAA,IAAA,IAAI,CAAA,GAC3C,UAAAruB,gBAAAA,EAAAA,KAAC0nB,IAAA,EAAY,QAAA,MACX,UAAA;AAAA,MAAAnjC,gBAAAA,EAAAA,IAAAmjC,GAAA,QAAA,EACE,UAAAnjC,gBAAAA,EAAAA,IAACmwB,MACS,SAAA,WACM,cAAAnwB,gBAAAA,EAAAA,IAAC+pC,IAAA,EAA0B,MAAA,GAAA,IAC/B,UAAA,CAACrO,GAAepM,WAAYua,IACvC,sBAED,EAAA,CACF;AAAA,MACApuB,gBAAAA,EAAAA,oBACGiuB,UAAAA;AAAAA,QAAAA,4BACCvG,GAAA,MAAA,EACe,aAAAnjC,gBAAAA,EAAAA,IAAC+oC,MAAiB,UAAE,GACxB,SAAA,MAAMT,KAAuB,GAC5B,UAAA5M,GAAepM,cAC1B,UAAA,cAED;AAAA,SAEA+Q,KAAO,CAAA,GAAMzrB,IAAA,CAAAtZ,IAAAkgB,OACb,gBAAAmH,GAAAwgB,GAAA,MAAA,EAAA,GACO7nC,GAAMioC,QAAA;AAAA,UAAAyG,aAAwB1uC,GAAMioC;AAAAA,QAAAA,GACpC,KAAA,iBAAiB/nB,EAAK,IAClB,SAAA,MAAMlgB,GAAMuuB,QAAS6R,EAAe,EAAA,GAE5CpgC,GAAM2mB,KACT,CACD;AAAA,QACA0nB,MACC3pC,gBAAAA,EAAAA,IAAAmjC,GAAA,MAAA,EACe,mCAAC+F,IAAA,EAAgB,MAAA,GAAA,CAAE,GACvB,SAAA,MAAMV,GAAkB,EAAK,GAChC,OAAA,OACP,UAAA,UAAA,CAED;AAAA,MAAA,EAAA,CAEJ;AAAA,IAAA,EAAA,CACF,EAAA,CACA;AAAA,EAAM,GAAA,GAEN72B,QAAA0uB,GAAA1uB,QAAA4uB,GAAA5uB,QAAA2uB,IAAA3uB,QAAAka,GAAAla,QAAA+zB,GAAA/zB,QAAA+pB,IAAA/pB,QAAAuuB,GAAAvuB,QAAA83B,MAAAA,KAAA93B,EAAA,EAAA;AAAA,MAAAs4B;AAAA,EAAAt4B,EAAA,EAAA,MAAAuzB,KAAAvzB,UAAAka,KAAAla,EAAA,EAAA,MAAA7X,MACHmwC,KAAApe,EAAMia,KAAA9vB,EAA6B,2BACjCma,IAAA,EACU,SAAA,MAAMiY,GAAkB,EAAK,GAC5BtuC,UAAAA,IAETorC,eAAoB,aACvB,GACDvzB,QAAAuzB,GAAAvzB,QAAAka,GAAAla,QAAA7X,IAAA6X,QAAAs4B,MAAAA,KAAAt4B,EAAA,EAAA;AAAA,MAAAu4B;AAAA,EAAAv4B,EAAA,EAAA,MAAAozB,KAAApzB,EAAA,EAAA,MAAA43B,MAAA53B,EAAA,EAAA,MAAA83B,MAAA93B,UAAAs4B,MAtEHC,4BAACha,IAAA,EAAY,OAAA,UAAa,KAAA,MAAU,MAAA,QAAe,SAAA,OAAa,OAAAmZ,IAC7DE,UAAAA;AAAAA,IAAAA;AAAAA,IASAE;AAAAA,IAqDAQ;AAAAA;KASH,GAAQt4B,QAAAozB,GAAApzB,QAAA43B,IAAA53B,QAAA83B,IAAA93B,QAAAs4B,IAAAt4B,QAAAu4B,MAAAA,KAAAv4B,EAAA,EAAA;AAAA,MAAAw4B;AAAA,EAAAx4B,EAAA,EAAA,MAAAm3B,MAAAn3B,UAAAq3B,MAAAr3B,EAAA,EAAA,MAAAu4B,MA/EVC,KAAA1uB,gBAAAA,EAAAA,KAACyU,MAAU,KAAA,MAAc,SAAA4Y,IAAuC,OAAA,UAAc,MAAA,QAC3EE,UAAAA;AAAAA,IAAAA;AAAAA,IAMDkB;AAAAA,EAAAA,GAyEF,GAAQv4B,QAAAm3B,IAAAn3B,QAAAq3B,IAAAr3B,QAAAu4B,IAAAv4B,QAAAw4B,MAAAA,KAAAx4B,EAAA,EAAA;AAAA,MAAAy4B;AAAA,EAAAz4B,EAAA,EAAA,MAAA2zB,KAAA3zB,UAAAk0B,KAAAl0B,EAAA,EAAA,MAAAyzB,KAEPgF,KAAAhF,KAAQA,EAAI9V,SAAA,2BACV+a,IAAA,EAAY/E,OAAAA,GAAqBO,UAAAA,GAAoB,IAAA,MACpD,UAAA7lC,gBAAAA,iBACGolC,YAAIxwB,IAAA01B,EAQJ,GACH,EAAA,CACF,GACD34B,QAAA2zB,GAAA3zB,QAAAk0B,GAAAl0B,QAAAyzB,GAAAzzB,QAAAy4B,MAAAA,KAAAz4B,EAAA,EAAA;AAAA,MAAA44B;AAAA,EAAA54B,UAAA9X,MAEA0wC,KAAA1wC,MACCmG,gBAAAA,EAAAA,IAACovB,IAAA,EACI,IAAA,MACK,SAAA,SACF,OAAA,OACA,OAAA,kCACA,MAAApvB,gBAAAA,EAAAA,IAACwqC,IAAA,EAAc,GACtB,UAAA,iFAGD,GACD74B,QAAA9X,IAAA8X,QAAA44B,MAAAA,KAAA54B,EAAA,EAAA;AAAA,MAAA84B;AAAA,EAAA94B,EAAA,EAAA,MAAA7X,MAAA6X,UAAAg1B,MAEA8D,MAAC3wC,MAAa6sC,OACblrB,gBAAAA,EAAAA,KAAC0f,IAAA,EAAS,IAAA,MACR,UAAA;AAAA,IAAAn7B,gBAAAA,EAAAA,IAACo7B,IAAA,EAAiB,QAAA,GAAA;IACjBC,MAAA,CAAO,EAACC,KAAA,CACA,EAAC1mB,IAAA81B,EAGP;AAAA,EAAA,GACL,GACD/4B,QAAA7X,IAAA6X,QAAAg1B,IAAAh1B,QAAA84B,MAAAA,KAAA94B,EAAA,EAAA;AAAA,MAAAg5B;AAAA,EAAAh5B,EAAA,EAAA,MAAA4uB,KAAA5uB,UAAA2uB,MAAA3uB,EAAA,EAAA,MAAAka,KAAAla,UAAAi2B,KAAAj2B,EAAA,EAAA,MAAA9X,MAAA8X,UAAA7X,MAAA6X,EAAA,EAAA,MAAAg1B,MAAAh1B,EAAA,EAAA,MAAAk3B,MAAAl3B,EAAA,EAAA,MAAA+zB,KAAA/zB,EAAA,EAAA,MAAAyuB,KAAAzuB,EAAA,EAAA,MAAAsyB,MAAAtyB,EAAA,EAAA,MAAAm2B,MAAAn2B,EAAA,EAAA,MAAA6uB,KAAA7uB,UAAAoqB,MAAApqB,EAAA,EAAA,MAAA8uB,KAAA9uB,EAAA,EAAA,MAAA+pB,MAAA/pB,EAAA,EAAA,MAAAuuB,KAAAvuB,EAAA,EAAA,MAAAq2B,MAAAr2B,EAAA,EAAA,MAAAo2B,MAAAp2B,EAAA,EAAA,MAAA81B,KAAA91B,UAAAk2B,MAEA8C,KAAA,CAAC7wC,MAAS,CAAK6sC,2CAEZ,UAAA;AAAA,IAAA3mC,gBAAAA,MAAC0b,IAAA,KAASgqB,IAAW;AAAA,MAAAoE,aAAkB;AAAA,IAAA,IAAI,CAAA,GAGzC,UAAA9pC,gBAAAA,EAAAA,IAAC4qC,MACI,IAAA,MACH,SAAA,IACA,sBACW,WAAA,KACD/wC,UAAAA,IACDkiC,SAAAA,IACG0L,YAAAA,GACQG,oBAAAA,MACf1H,KAAS;AAAA,MAAAxE,iBAAAA;AAAAA,MAAAyE,yBAEa8H;AAAAA,IAAAA,GAC1B,GACIzH,KACHzE,GAAOzM,UAAO;AAAA,MAAAuU,cACEgE,GAAUvY;AAAAA,MAAAwU,gBACRgE;AAAAA,MAAQ5D,cACV8D;AAAAA,MAAO/D,MAAAA;AAAAA,MAAAE,uBAAAQ;AAAAA,MAAAP,wBAGG2D;AAAAA,MAAW8C,qBACd;AAAA,IAAA,MAEpBpK,KAAY;AAAA,MAAAA,cAAA;AAAA,QAAAqK,eAEErK,EAAYqK,iBAAA;AAAA,QAAuBlH,SAAAmH,CAAAA,OAAA;AACxC,gBAAA;AAAA,YAAAzO,QAAAiF;AAAAA,UAAAA,IAAAwJ;AAAyB,iBAAKtK,EAAYmD,QAAStH,EAAM;AAAA,QAAC;AAAA,QAAA,GAChEmE,EAAY8B,YAAA;AAAA,UAAAA,UACJ9B,EAAY8B;AAAAA,QAAAA;AAAAA,MAAA;AAAA,IACvB,GAGI,SAAA1W,EAAMjX,IAAAo2B,EAA4B,GAC7B,0CACF5K,YAAAA,GAAU,GACjBA,KAAU;AAAA,MAAAhnB,OAAA;AAAA,QAAAspB,QAAuB;AAAA,MAAA;AAAA,IAAS,GAAI,EAAA,CAEvD;AAAA,IAECgD,KACC1lC,gBAAAA,EAAAA,IAAC0b,IAAA,EAAe,YAAA,MACd,UAAA1b,gBAAAA,MAACigC,IAAA,EACUlE,SAAAA,IACDlQ,QAAAA,GACGqU,WAAAA,GACMxE,iBAAAA,IACQuM,yBAAAA,IACb7H,YAAAA,GACN,MAAA;AAAA,MAAAtlC,OACGga,OAAO2yB,EAAUD,cAAe;AAAA,MAAClxB,WAC7BmxB,EAAUnxB;AAAAA,MAAAwrB,cAAAA,CAAAtG,IAAAllB,OAAA;AAEnBsxB,QAAAA,EAAgB;AAAA,UAAAJ,gBAAmB1sC;AAAAA,UAAgBwb,WAAAA;AAAAA,QAAAA,CAAa;AAAA,MAAC;AAAA,IAAA,GAEpE,GACIkqB,KAAczE,GAAOzM,UAAO;AAAA,MAAAkR,YAAA;AAAA,QAAAqD,cAEfgE,GAAUvY;AAAAA,QAAAwU,gBACRgE;AAAAA,QAAQ7D,MAAAA;AAAAA,QAAAC,cAEV8D;AAAAA,QAAO7D,uBAAAQ;AAAAA,QAAAP,wBAAAv0C,CAAAA,OAAA;AAEuBk4C,UAAAA,GAAYl4C,EAAI,GAAGm4C,IAAS;AAAA,QAAC;AAAA,MAAA;AAAA,IAAA,MAGxEvH,KAAY;AAAA,MAAAA,cAAA;AAAA,QAAAmD,SACUnD,EAAYmD;AAAAA,MAAAA;AAAAA,IAAA,GACtC,GACIiF,GAAavZ,SAAA,KAAW;AAAA,MAAA+Q,SAClBwI;AAAAA,MAAavI,WAAAA;AAAAA,MAAAC,WAAAA;AAAAA,IAAAA,GAGvB,EAAA,CAEL;AAAA,EAAA,GACD,GAIJ5uB,QAAA4uB,GAAA5uB,QAAA2uB,IAAA3uB,QAAAka,GAAAla,QAAAi2B,GAAAj2B,QAAA9X,IAAA8X,QAAA7X,IAAA6X,QAAAg1B,IAAAh1B,QAAAk3B,IAAAl3B,QAAA+zB,GAAA/zB,QAAAyuB,GAAAzuB,QAAAsyB,IAAAtyB,QAAAm2B,IAAAn2B,QAAA6uB,GAAA7uB,QAAAoqB,IAAApqB,QAAA8uB,GAAA9uB,QAAA+pB,IAAA/pB,QAAAuuB,GAAAvuB,QAAAq2B,IAAAr2B,QAAAo2B,IAAAp2B,QAAA81B,GAAA91B,QAAAk2B,IAAAl2B,QAAAg5B,MAAAA,KAAAh5B,EAAA,EAAA;AAAA,MAAAo5B;AAAA,EAAAp5B,EAAA,EAAA,MAAAsb,OAAAC,IAAA,2BAAA,KAIU6d,KAAAA,MAAA;AACPzC,IAAAA,KAAwB,GACxBL,KAAqB;AAAA,EAAC,GACvBt2B,QAAAo5B,MAAAA,KAAAp5B,EAAA,EAAA;AACM,QAAAs5B,KAAAxc,KAAS;AAAY,MAAAyc;AAAA,EAAAv5B,EAAA,EAAA,MAAAw0B,KAAAx0B,UAAAka,KAAAla,EAAA,EAAA,MAAAhgB,KAAAggB,EAAA,EAAA,MAAA+pB,GAAA,CAAA,KAAA/pB,EAAA,EAAA,MAAA+pB,GAAApM,UAAA3d,EAAA,EAAA,MAAAoa,KAE3Bmf,KAAAxP,GAAepM,SAAA,2BACbsL,IAAA,EACS,QAAA/O,EAAMkB,OAAAoe,EAA+B,GACnCx5C,UAAAA,GACDw0C,YACL,IAAAzK,GAAe,CAAA,EAAA1nB,IACV,SAAA,MAAA;AACPs0B,IAAAA,KAAwB,GACxBL,KAAqB;AAAA,EAAC,GAEjBlc,OAAAA,EAAAA,CAAK,GAEfpa,QAAAw0B,GAAAx0B,QAAAka,GAAAla,QAAAhgB,GAAAggB,QAAA+pB,GAAA,CAAA,GAAA/pB,EAAA,EAAA,IAAA+pB,GAAApM,QAAA3d,QAAAoa,GAAApa,SAAAu5B,MAAAA,KAAAv5B,EAAA,GAAA;AAAA,MAAAy5B;AAAA,EAAAz5B,EAAA,GAAA,MAAAs5B,MAAAt5B,WAAAu5B,MAAAv5B,EAAA,GAAA,MAAA02B,MApBH+C,KAAAprC,gBAAAA,EAAAA,IAACqrC,MACShD,YACC,SAAA0C,IAIF,OAAAE,IAENC,UAAAA,GAAAA,CAaH,GAAQv5B,SAAAs5B,IAAAt5B,SAAAu5B,IAAAv5B,SAAA02B,IAAA12B,SAAAy5B,MAAAA,KAAAz5B,EAAA,GAAA;AAAA,MAAA25B;AAAA,EAAA35B,EAAA,GAAA,MAAA42B,MAAA52B,EAAA,GAAA,MAAAw0B,KAAAx0B,EAAA,GAAA,MAAAhgB,KAAAggB,EAAA,GAAA,MAAA+pB,MAAA/pB,WAAA8c,KAEP6c,KAAA5P,GAAepM,cACdtvB,gBAAAA,EAAAA,IAACqrC,MACS9C,QAAAA,IACC,SAAA,MAAA;AACPC,IAAAA,KAAwB,GACxBP,KAAqB;AAAA,EAAC,GAEjB,OAAAxZ,KAAS,WAEhB,UAAAzuB,gBAAAA,MAACy7B,IAAA,EACU,SAAA,MAAA;AACP+M,IAAAA,KAAwB,GACxBP,KAAqB;AAAA,EAAC,GAEdt2C,UAAAA,GACDw0C,YACQzK,iBAAAA,IAAe,EAAA,CAEpC,GACD/pB,SAAA42B,IAAA52B,SAAAw0B,GAAAx0B,SAAAhgB,GAAAggB,SAAA+pB,IAAA/pB,SAAA8c,GAAA9c,SAAA25B,MAAAA,KAAA35B,EAAA,GAAA;AAAA,MAAA45B;AAAA,EAAA55B,EAAA,GAAA,MAAAsb,OAAAC,IAAA,2BAAA,KAIUqe,KAAAA,MAAA;AACPnD,IAAAA,KAAwB;AAAA,EAAC,GAC1Bz2B,SAAA45B,MAAAA,KAAA55B,EAAA,GAAA;AACM,QAAA65B,KAAA/c,KAAS;AAAS,MAAAgd;AAAA,EAAA95B,EAAA,GAAA,MAAAsb,OAAAC,IAAA,2BAAA,KAKdue,KAAAA,MAAA;AACPrD,IAAAA,KAAwB;AAAA,EAAC,GAC1Bz2B,SAAA85B,MAAAA,KAAA95B,EAAA,GAAA;AAAA,MAAA+5B;AAAA,EAAA/5B,WAAAka,KACO6f,KAAA7f,EAAMkB,OAAA4e,EAA+B,GAACh6B,SAAAka,GAAAla,SAAA+5B,MAAAA,KAAA/5B,EAAA,GAAA;AAAA,MAAAi6B;AAAA,EAAAj6B,EAAA,GAAA,MAAAw0B,KAAAx0B,EAAA,GAAA,MAAAhgB,KAAAggB,EAAA,GAAA,MAAAoa,KAAApa,WAAA+5B,MANhDE,KAAA5rC,gBAAAA,EAAAA,IAAC4rB,MACWj6B,UAAAA,GACDw0C,SAAAA,GACA,SAAAsF,IAGD,QAAAC,IACD3f,OAAAA,EAAAA,CAAK,GACZpa,SAAAw0B,GAAAx0B,SAAAhgB,GAAAggB,SAAAoa,GAAApa,SAAA+5B,IAAA/5B,SAAAi6B,MAAAA,KAAAj6B,EAAA,GAAA;AAAA,MAAAk6B;AAAA,EAAAl6B,EAAA,GAAA,MAAAw2B,MAAAx2B,WAAA65B,MAAA75B,EAAA,GAAA,MAAAi6B,MAfJC,KAAA7rC,gBAAAA,EAAAA,IAACqrC,MACSlD,YACC,SAAAoD,IAGF,OAAAC,IAEPI,UAAAA,GAAAA,CASF,GAAQj6B,SAAAw2B,IAAAx2B,SAAA65B,IAAA75B,SAAAi6B,IAAAj6B,SAAAk6B,MAAAA,KAAAl6B,EAAA,GAAA;AAAA,MAAAm6B;AAAA,SAAAn6B,EAAA,GAAA,MAAAw4B,MAAAx4B,EAAA,GAAA,MAAAy4B,MAAAz4B,EAAA,GAAA,MAAA44B,MAAA54B,EAAA,GAAA,MAAA84B,MAAA94B,EAAA,GAAA,MAAAg5B,MAAAh5B,EAAA,GAAA,MAAAy5B,MAAAz5B,EAAA,GAAA,MAAA25B,MAAA35B,WAAAk6B,MA7QVC,KAAArwB,gBAAAA,EAAAA,KAAAiQ,YAAA,EACEye,UAAAA;AAAAA,IAAAA;AAAAA,IAkFCC;AAAAA,IAgBAG;AAAAA,IAaAE;AAAAA,IAWAE;AAAAA,IAsFDS;AAAAA,IAuBCE;AAAAA,IAqBDO;AAAAA,EAAAA,GAgBQ,GACPl6B,SAAAw4B,IAAAx4B,SAAAy4B,IAAAz4B,SAAA44B,IAAA54B,SAAA84B,IAAA94B,SAAAg5B,IAAAh5B,SAAAy5B,IAAAz5B,SAAA25B,IAAA35B,SAAAk6B,IAAAl6B,SAAAm6B,MAAAA,KAAAn6B,EAAA,GAAA,GA9QHm6B;AA8QG;AAnfA,SAAAH,GAAAI,GAAA;AAAA,SA+eoCjxC,EAAK0xB;AAAA;AA/ezC,SAAA2e,GAAAa,GAAA;AAAA,SAgcsClxC,EAAK8xB;AAAA;AAhc3C,SAAAoe,GAAAhb,GAAA;AAAA,SAqYsCl1B,EAAKkc;AAAA;AArY3C,SAAA0zB,GAAA94C,GAAAwwC,GAAA;AAAA,+BA2VQhH,IAAA,EAA2C,QAAA,GAAA,GAA7B,YAAY5f,CAAK,EAAc;AAAI;AA3VzD,SAAA8uB,GAAA2B,GAAA;AAAA,SA4TOjsC,gBAAAA,EAAAA,IAAAqqC,GAAA,KAAA,EAES,OAAAtE,EAAG70C,OACG,aAAA60C,EAAGxC,MAEfwC,UAAAA,EAAG9jB,MAAAA,GAJC8jB,EAAG70C,KAKV;AAAW;AAlUlB,SAAA8kB,GAAA+Z,GAAA;AAAA,SA4S2Bj1B,EAAK0xB;AAAA;AA5ShC,SAAAzW,GAAA4X,GAAA;AAAA,SA0PoD7yB,EAAKimC;AAAA;AA1PzD,SAAAlrB,GAAAya,GAAA;AAAA,SAwPoDx1B,EAAK8xB;AAAA;AAxPzD,SAAAhX,GAAAwY,GAAA;AAAA,SAuP4BtzB,EAAK8xB;AAAA;AAvPjC,SAAApX,GAAA+a,GAAA;AAAA,SAyMyCz1B,EAAKimC;AAAA;AAzM9C,SAAA5rB,GAAAra,GAAA;AAAA,SAwMyCA,EAAK8xB;AAAA;AAxM9C,SAAA3X,GAAAvD,GAAA;AAuDO,QAAA,CAAA1f,GAAAk6C,CAAA,IAAAx6B;AAAY,SAAK,GAAG1f,CAAG,IAAIm6C,mBAAmBj7C,KAAS,EAAE,CAAC;AAAE;AAvDnE,SAAA2jB,GAAAnD,GAAA;AAsDU,QAAA,CAAA,EAAAmwB,CAAA,IAAAnwB;AAAS,SAAKxgB,KAAK;AAAgC;ACjL7D,SAAAk7C,GAAAvuC,GAAA;AAAA,QAAA8T,IAAAC,GAAAA,EAAA,CAAA,GACL;AAAA,IAAA9R,aAAAA;AAAAA,EAAAA,IAAwBmS,GAAAA;AAAe,MAAAP;AAAA,EAAAC,SAAA9T,KAGnC6T,IAAA1R,gBAAAA,EAAAA,IAAC4kC,IAAA,EAAc,GAAQ/mC,EAAAA,CAAK,GAAI8T,OAAA9T,GAAA8T,OAAAD,KAAAA,IAAAC,EAAA,CAAA;AAAA,MAAAG;AAAA,SAAAH,EAAA,CAAA,MAAA7R,KAAA6R,SAAAD,KADlCI,IAAA9R,gBAAAA,EAAAA,IAACD,IAAA,EAA4BD,QAAAA,GAC3B4R,UAAAA,GACF,GAAsBC,OAAA7R,GAAA6R,OAAAD,GAAAC,OAAAG,KAAAA,IAAAH,EAAA,CAAA,GAFtBG;AAEsB;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,84]}
1
+ {"version":3,"file":"index.es.js","sources":["../node_modules/react/cjs/react-compiler-runtime.production.js","../node_modules/react/cjs/react-compiler-runtime.development.js","../node_modules/react/compiler-runtime.js","../node_modules/@tanstack/query-core/build/modern/subscribable.js","../node_modules/@tanstack/query-core/build/modern/timeoutManager.js","../node_modules/@tanstack/query-core/build/modern/utils.js","../node_modules/@tanstack/query-core/build/modern/focusManager.js","../node_modules/@tanstack/query-core/build/modern/thenable.js","../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../node_modules/@tanstack/query-core/build/modern/retryer.js","../node_modules/@tanstack/query-core/build/modern/query.js","../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../node_modules/@tanstack/query-core/build/modern/mutation.js","../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js","../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../node_modules/@tanstack/react-query/build/modern/suspense.js","../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../node_modules/@tanstack/react-query/build/modern/useQuery.js","../node_modules/@tanstack/react-query/build/modern/useMutation.js","../src/Context/DataTableContext.tsx","../src/Hooks/useDataTable.ts","../src/Hooks/useApi.ts","../node_modules/dayjs/dayjs.min.js","../node_modules/@mantine/dates/esm/utils/handle-control-key-down/handle-control-key-down.mjs","../node_modules/@mantine/dates/esm/utils/to-date-string/to-date-string.mjs","../node_modules/@mantine/dates/esm/components/DatesProvider/DatesProvider.mjs","../node_modules/@mantine/dates/esm/components/DatesProvider/use-dates-context.mjs","../node_modules/@mantine/dates/esm/components/HiddenDatesInput/HiddenDatesInput.mjs","../node_modules/clsx/dist/clsx.mjs","../node_modules/@mantine/dates/esm/components/Day/Day.module.css.mjs","../node_modules/@mantine/dates/esm/components/Day/Day.mjs","../node_modules/@mantine/dates/esm/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.mjs","../node_modules/@mantine/dates/esm/components/WeekdaysRow/WeekdaysRow.module.css.mjs","../node_modules/@mantine/dates/esm/components/WeekdaysRow/WeekdaysRow.mjs","../node_modules/@mantine/dates/esm/components/Month/get-end-of-week/get-end-of-week.mjs","../node_modules/@mantine/dates/esm/components/Month/get-start-of-week/get-start-of-week.mjs","../node_modules/@mantine/dates/esm/components/Month/get-month-days/get-month-days.mjs","../node_modules/@mantine/dates/esm/components/Month/is-same-month/is-same-month.mjs","../node_modules/@mantine/dates/esm/components/Month/is-after-min-date/is-after-min-date.mjs","../node_modules/@mantine/dates/esm/components/Month/is-before-max-date/is-before-max-date.mjs","../node_modules/@mantine/dates/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.mjs","../node_modules/dayjs/plugin/isoWeek.js","../node_modules/@mantine/dates/esm/components/Month/get-week-number/get-week-number.mjs","../node_modules/@mantine/dates/esm/components/Month/Month.module.css.mjs","../node_modules/@mantine/dates/esm/components/Month/Month.mjs","../node_modules/@mantine/dates/esm/components/PickerControl/PickerControl.module.css.mjs","../node_modules/@mantine/dates/esm/components/PickerControl/PickerControl.mjs","../node_modules/@mantine/dates/esm/components/YearsList/is-year-disabled/is-year-disabled.mjs","../node_modules/@mantine/dates/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.mjs","../node_modules/@mantine/dates/esm/components/YearsList/get-years-data/get-years-data.mjs","../node_modules/@mantine/dates/esm/components/YearsList/YearsList.module.css.mjs","../node_modules/@mantine/dates/esm/components/YearsList/YearsList.mjs","../node_modules/@mantine/dates/esm/components/MonthsList/is-month-disabled/is-month-disabled.mjs","../node_modules/@mantine/dates/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.mjs","../node_modules/@mantine/dates/esm/components/MonthsList/get-months-data/get-months-data.mjs","../node_modules/@mantine/dates/esm/components/MonthsList/MonthsList.module.css.mjs","../node_modules/@mantine/dates/esm/components/MonthsList/MonthsList.mjs","../node_modules/@mantine/dates/esm/components/CalendarHeader/CalendarHeader.module.css.mjs","../node_modules/@mantine/dates/esm/components/CalendarHeader/CalendarHeader.mjs","../node_modules/@mantine/dates/esm/components/DecadeLevel/get-decade-range/get-decade-range.mjs","../node_modules/@mantine/dates/esm/components/DecadeLevel/DecadeLevel.mjs","../node_modules/@mantine/dates/esm/components/YearLevel/YearLevel.mjs","../node_modules/@mantine/dates/esm/components/MonthLevel/MonthLevel.mjs","../node_modules/@mantine/dates/esm/components/LevelsGroup/LevelsGroup.module.css.mjs","../node_modules/@mantine/dates/esm/components/LevelsGroup/LevelsGroup.mjs","../node_modules/@mantine/dates/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs","../node_modules/@mantine/dates/esm/components/YearLevelGroup/YearLevelGroup.mjs","../node_modules/@mantine/dates/esm/components/MonthLevelGroup/MonthLevelGroup.mjs","../node_modules/@mantine/dates/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs","../node_modules/@mantine/dates/esm/components/Calendar/clamp-level/clamp-level.mjs","../node_modules/@mantine/dates/esm/components/Calendar/Calendar.mjs","../node_modules/@mantine/dates/esm/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.mjs","../node_modules/@mantine/dates/esm/components/DateInput/date-string-parser/date-string-parser.mjs","../node_modules/@mantine/dates/esm/components/DateInput/is-date-valid/is-date-valid.mjs","../node_modules/@mantine/dates/esm/components/DateInput/DateInput.mjs","../src/DataTable/CreateModal.tsx","../node_modules/mantine-datatable/dist/index.mjs","../src/DataTable/UpdateModal.tsx","../src/DataTable/DeleteModal.tsx","../src/Hooks/usePersistentState.ts","../src/utils/sort.ts","../src/DataTable/MobileCardList.tsx","../src/DataTable/DataTableInner.tsx","../src/DataTable/DataTable.tsx"],"sourcesContent":["/**\n * @license React\n * react-compiler-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar ReactSharedInternals =\n require(\"react\").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nexports.c = function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n};\n","/**\n * @license React\n * react-compiler-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n var ReactSharedInternals =\n require(\"react\").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n exports.c = function (size) {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher.useMemoCache(size);\n };\n })();\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-compiler-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-compiler-runtime.development.js');\n}\n","// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/timeoutManager.ts\nvar 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: (timeoutId) => clearTimeout(timeoutId),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: (intervalId) => clearInterval(intervalId)\n};\nvar 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 ReturnType<typeof setTimeout>, which is infeasible.\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 (process.env.NODE_ENV !== \"production\") {\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 (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = false;\n }\n }\n setTimeout(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setTimeout(callback, delay);\n }\n clearTimeout(timeoutId) {\n this.#provider.clearTimeout(timeoutId);\n }\n setInterval(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n this.#provider.clearInterval(intervalId);\n }\n};\nvar timeoutManager = new TimeoutManager();\nfunction systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n}\nexport {\n TimeoutManager,\n defaultTimeoutProvider,\n systemSetTimeoutZero,\n timeoutManager\n};\n//# sourceMappingURL=timeoutManager.js.map","// src/utils.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveEnabled(enabled, query) {\n return typeof enabled === \"function\" ? enabled(query) : enabled;\n}\nfunction 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}\nfunction 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}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction 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}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n const array = isPlainArray(a) && isPlainArray(b);\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b;\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? new Array(bSize) : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n const aItem = a[key];\n const bItem = b[key];\n if (aItem === bItem) {\n copy[key] = aItem;\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++;\n continue;\n }\n if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n copy[key] = bItem;\n continue;\n }\n const v = replaceEqualDeep(aItem, bItem);\n copy[key] = v;\n if (v === aItem) equalItems++;\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction 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}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== \"production\") {\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. [${options.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n}\nexport {\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n shouldThrowError,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\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((listener) => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/thenable.ts\nimport { noop } from \"./utils.js\";\nfunction 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 finalize(data) {\n Object.assign(thenable, data);\n delete thenable.resolve;\n delete thenable.reject;\n }\n thenable.resolve = (value) => {\n finalize({\n status: \"fulfilled\",\n value\n });\n resolve(value);\n };\n thenable.reject = (reason) => {\n finalize({\n status: \"rejected\",\n reason\n });\n reject(reason);\n };\n return thenable;\n}\nfunction tryResolveSync(promise) {\n let data;\n promise.then((result) => {\n data = result;\n return result;\n }, noop)?.catch(noop);\n if (data !== void 0) {\n return { data };\n }\n return void 0;\n}\nexport {\n pendingThenable,\n tryResolveSync\n};\n//# sourceMappingURL=thenable.js.map","// src/notifyManager.ts\nimport { systemSetTimeoutZero } from \"./timeoutManager.js\";\nvar defaultScheduler = systemSetTimeoutZero;\nfunction 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}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n defaultScheduler,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (!isServer && 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((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport { isServer, sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class extends Error {\n constructor(options) {\n super(\"CancelledError\");\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction 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 ?? (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}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/query.ts\nimport {\n ensureQueryFn,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n skipToken,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { CancelledError, canFetch, createRetryer } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar 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(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n if (this.state && this.state.data === void 0) {\n const defaultState = getDefaultState(this.options);\n if (defaultState.data !== void 0) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt)\n );\n this.#initialState = defaultState;\n }\n }\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n this.#dispatch({ type: \"setState\", state, setStateOptions });\n }\n cancel(options) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n reset() {\n this.destroy();\n this.setState(this.#initialState);\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.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((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x) => x.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((x) => x !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\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 invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n async fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\" && // If the promise in the retyer 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 (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\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 (process.env.NODE_ENV !== \"production\") {\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 = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.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 ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\"\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\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};\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n}\nfunction successState(data, dataUpdatedAt) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\"\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.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}\nexport {\n Query,\n fetchState\n};\n//# sourceMappingURL=query.js.map","// src/queryObserver.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { fetchState } from \"./query.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n this.bindMethods();\n this.setOptions(options);\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(options) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\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(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\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({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\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 (isServer || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time + 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 (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) {\n timeoutManager.clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId) {\n timeoutManager.clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\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 } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(data);\n data = replaceData(prevResult?.data, data, options);\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: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\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, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n isEnabled: resolveEnabled(options.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const finalizeThenableIfPossible = (thenable) => {\n if (nextResult.status === \"error\") {\n thenable.reject(nextResult.error);\n } else if (nextResult.data !== void 0) {\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 (nextResult.status === \"error\" || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (nextResult.status !== \"error\" || 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((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return resolveEnabled(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (resolveEnabled(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || resolveEnabled(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return resolveEnabled(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar 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 || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\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((x) => x !== 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 await this.#mutationCache.config.onMutate?.(\n variables,\n this,\n mutationFnContext\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 await this.options.onError?.(\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\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 await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n throw error;\n } finally {\n this.#dispatch({ type: \"error\", error });\n }\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\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 ...state,\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 ...state,\n data: void 0,\n error: action.error,\n failureCount: state.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};\nfunction getDefaultState() {\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}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\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(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\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, options) {\n this.#mutateOptions = options;\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 state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.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 this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } else if (action?.type === \"error\") {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + 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 children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n maybeKey,\n getOwner(),\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar 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};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/IsRestoringProvider.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=IsRestoringProvider.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction 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}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"@tanstack/query-core\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => {\n if (options.suspense || options.throwOnError || options.experimental_prefetchInRender) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar 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};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureSuspenseTimers = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n const MIN_SUSPENSE_TIME_MS = 1e3;\n const clamp = (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) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(\n defaultedOptions.gcTime,\n MIN_SUSPENSE_TIME_MS\n );\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { isServer, noop, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n} from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\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(options);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\n );\n if (process.env.NODE_ENV !== \"production\") {\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);\n useClearResetErrorBoundary(errorResetBoundary);\n const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.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 React.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: client.getQueryCache().get(defaultedOptions.queryHash),\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 && !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 client.getQueryCache().get(defaultedOptions.queryHash)?.promise\n );\n promise?.catch(noop).finally(() => {\n observer.updateResult();\n });\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.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}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","import { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { createContext, ReactNode } from \"react\";\n\nexport type GetHeaders = () => Promise<HeadersInit>;\n\nexport interface State {\n baseUrl: string;\n queryClient: QueryClient;\n getHeaders: GetHeaders;\n}\n\ninterface DataTableContextProps {\n baseUrl: string;\n queryClient: QueryClient;\n getHeaders: GetHeaders;\n children: ReactNode | ReactNode[];\n}\n\nexport const DataTableContext = createContext<State | undefined>(undefined);\n\nconst defaultGetHeaders: GetHeaders = async () => ({\n \"Content-Type\": \"application/json\",\n});\n\nexport function DataTableProvider({\n children,\n baseUrl,\n queryClient,\n getHeaders = defaultGetHeaders,\n}: DataTableContextProps) {\n return (\n <DataTableContext.Provider value={{ baseUrl, queryClient, getHeaders }}>\n <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>\n </DataTableContext.Provider>\n );\n}\n","import { useContext } from \"react\";\nimport { DataTableContext, State } from \"../Context/DataTableContext.tsx\";\n\nexport function useDataTable(): State {\n const context = useContext(DataTableContext);\n\n if (!context) {\n throw new Error(\"useDataTable must be used within a DataTableProvider\");\n }\n\n return context;\n}\n","import { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { useDataTable } from \"./useDataTable.ts\";\nimport type { GetHeaders } from \"../Context/DataTableContext.tsx\";\n\nexport function parseApiError(error: unknown): { message: string; code?: string; details?: unknown } {\n if (typeof error === \"string\") {\n try {\n const parsed = JSON.parse(error);\n return {\n message: parsed.message || error,\n code: parsed.code,\n details: parsed.details,\n };\n } catch {\n return { message: error };\n }\n }\n if (error instanceof Error) {\n return { message: error.message };\n }\n return { message: \"Unbekannter Fehler\" };\n}\n\nasync function fetchWithError(url: string, init: RequestInit): Promise<Response> {\n const resp = await fetch(url, init);\n if (resp.status >= 400) {\n const responseText = await resp.text();\n if (!responseText) {\n throw new Error(`HTTP ${resp.status}: ${resp.statusText}`);\n }\n let errorJson: { message?: string; error?: string } | null = null;\n try {\n errorJson = JSON.parse(responseText);\n } catch {\n throw new Error(responseText);\n }\n throw new Error(errorJson?.message ?? errorJson?.error ?? responseText);\n }\n return resp;\n}\n\nexport interface BaseEntity {\n id: string | number;\n}\n\ntype AtLeast<T, K extends keyof T> = Partial<T> & Pick<T, K>;\n\nexport async function getAll<T extends BaseEntity>(\n path: string,\n getHeaders: GetHeaders,\n): Promise<T[]> {\n const resp = await fetchWithError(path, { method: \"GET\", headers: await getHeaders() });\n return resp.json();\n}\n\nexport async function getOne<T extends BaseEntity>(\n path: string,\n id: string | number,\n getHeaders: GetHeaders,\n): Promise<T> {\n const resp = await fetchWithError(`${path}/${id}`, { method: \"GET\", headers: await getHeaders() });\n return resp.json();\n}\n\nexport async function deleteOne(\n path: string,\n id: string | number,\n getHeaders: GetHeaders,\n): Promise<void> {\n await fetchWithError(`${path}/${id}`, { method: \"DELETE\", headers: await getHeaders() });\n}\n\nexport async function createOne<C, T extends BaseEntity>(\n path: string,\n item: C,\n getHeaders: GetHeaders,\n): Promise<T> {\n const resp = await fetchWithError(path, {\n method: \"POST\",\n headers: await getHeaders(),\n body: JSON.stringify(item),\n });\n if (resp.status === 204) return item as unknown as T;\n return resp.json();\n}\n\nexport async function api<R, U>(\n method: \"GET\" | \"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\",\n path: string,\n getHeaders: GetHeaders,\n payload?: U,\n): Promise<R> {\n const resp = await fetchWithError(path, {\n method,\n headers: await getHeaders(),\n body: payload ? JSON.stringify(payload) : undefined,\n });\n if (resp.status === 204) return undefined as R;\n return resp.json();\n}\n\nexport async function updateOne<T extends BaseEntity>(\n path: string,\n item: AtLeast<T, \"id\">,\n getHeaders: GetHeaders,\n): Promise<T> {\n const resp = await fetchWithError(`${path}/${item.id}`, {\n method: \"PUT\",\n headers: await getHeaders(),\n body: JSON.stringify(item),\n });\n if (resp.status === 204) return item as T;\n return resp.json();\n}\n\nexport function useGetOne<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n id?: string | number,\n) {\n const { baseUrl, getHeaders } = useDataTable();\n return useQuery<T>({\n queryKey: [...queryKey.map((k) => k.toString()), String(id?.toString())],\n queryFn: () => getOne<T>(`${baseUrl}${apiPath}`, id!, getHeaders),\n enabled: !!id,\n });\n}\n\nexport function useGetAll<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n enabled: boolean = true,\n) {\n const { baseUrl, getHeaders } = useDataTable();\n return useQuery<T[]>({\n queryKey: [...queryKey.map((k) => k.toString())],\n queryFn: () => getAll<T>(`${baseUrl}${apiPath}`, getHeaders),\n enabled,\n });\n}\n\nexport function useAddOne<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n) {\n const { baseUrl, queryClient, getHeaders } = useDataTable();\n return useMutation<T, Error, Omit<T, \"id\">>({\n mutationKey: [...queryKey.map((k) => k.toString())],\n mutationFn: (item) =>\n createOne<Omit<T, \"id\">, T>(`${baseUrl}${apiPath}`, item, getHeaders),\n onSettled() {\n return queryClient.invalidateQueries({\n queryKey: [...queryKey.map((k) => k.toString())]\n });\n },\n });\n}\n\nexport function useUpdateOne<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n) {\n const { baseUrl, queryClient, getHeaders } = useDataTable();\n return useMutation<T, Error, AtLeast<T, \"id\">>({\n mutationKey: [...queryKey.map((k) => k.toString())],\n mutationFn: (item) =>\n updateOne<T>(`${baseUrl}${apiPath}`, item, getHeaders),\n onSettled() {\n return queryClient.invalidateQueries({\n queryKey: [...queryKey.map((k) => k.toString())]\n });\n },\n });\n}\n\nexport function useDeleteOne(\n apiPath: string,\n queryKey: Array<string | number>,\n) {\n const { baseUrl, queryClient, getHeaders } = useDataTable();\n return useMutation<void, Error, string | number>({\n mutationKey: [...queryKey.map((k) => k.toString())],\n mutationFn: (id) => deleteOne(`${baseUrl}${apiPath}`, id, getHeaders),\n onSettled() {\n return queryClient.invalidateQueries({\n queryKey: [...queryKey.map((k) => k.toString())]\n });\n },\n });\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","'use client';\nfunction getNextIndex({ direction, levelIndex, rowIndex, cellIndex, size }) {\n switch (direction) {\n case \"up\":\n if (levelIndex === 0 && rowIndex === 0) {\n return null;\n }\n if (rowIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex: cellIndex <= size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1 ? size[levelIndex - 1].length - 1 : size[levelIndex - 1].length - 2,\n cellIndex\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex\n };\n case \"down\":\n if (rowIndex === size[levelIndex].length - 1) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex\n };\n }\n if (rowIndex === size[levelIndex].length - 2 && cellIndex >= size[levelIndex][size[levelIndex].length - 1]) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex\n };\n case \"left\":\n if (levelIndex === 0 && rowIndex === 0 && cellIndex === 0) {\n return null;\n }\n if (rowIndex === 0 && cellIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex: size[levelIndex - 1].length - 1,\n cellIndex: size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1\n };\n }\n if (cellIndex === 0) {\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex: size[levelIndex][rowIndex - 1] - 1\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex - 1\n };\n case \"right\":\n if (rowIndex === size[levelIndex].length - 1 && cellIndex === size[levelIndex][rowIndex] - 1) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex: 0\n };\n }\n if (cellIndex === size[levelIndex][rowIndex] - 1) {\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex: 0\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex + 1\n };\n default:\n return { levelIndex, rowIndex, cellIndex };\n }\n}\nfunction focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size\n}) {\n const nextIndex = getNextIndex({ direction, size, rowIndex, cellIndex, levelIndex });\n if (!nextIndex) {\n return;\n }\n const controlToFocus = controlsRef.current?.[nextIndex.levelIndex]?.[nextIndex.rowIndex]?.[nextIndex.cellIndex];\n if (!controlToFocus) {\n return;\n }\n if (controlToFocus.disabled || controlToFocus.getAttribute(\"data-hidden\") || controlToFocus.getAttribute(\"data-outside\")) {\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex: nextIndex.levelIndex,\n cellIndex: nextIndex.cellIndex,\n rowIndex: nextIndex.rowIndex,\n size\n });\n } else {\n controlToFocus.focus();\n }\n}\nfunction getDirection(key) {\n switch (key) {\n case \"ArrowDown\":\n return \"down\";\n case \"ArrowUp\":\n return \"up\";\n case \"ArrowRight\":\n return \"right\";\n case \"ArrowLeft\":\n return \"left\";\n default:\n return null;\n }\n}\nfunction getControlsSize(controlsRef) {\n return controlsRef.current?.map((column) => column.map((row) => row.length));\n}\nfunction handleControlKeyDown({\n controlsRef,\n levelIndex,\n rowIndex,\n cellIndex,\n event\n}) {\n const direction = getDirection(event.key);\n if (direction) {\n event.preventDefault();\n const size = getControlsSize(controlsRef);\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size\n });\n }\n}\n\nexport { handleControlKeyDown };\n//# sourceMappingURL=handle-control-key-down.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction toDateString(value) {\n return value == null || value === \"\" ? value : dayjs(value).format(\"YYYY-MM-DD\");\n}\nfunction toDateTimeString(value) {\n return value == null || value === \"\" ? value : dayjs(value).format(\"YYYY-MM-DD HH:mm:ss\");\n}\n\nexport { toDateString, toDateTimeString };\n//# sourceMappingURL=to-date-string.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { createContext } from 'react';\n\nconst DATES_PROVIDER_DEFAULT_SETTINGS = {\n locale: \"en\",\n firstDayOfWeek: 1,\n weekendDays: [0, 6],\n labelSeparator: \"\\u2013\",\n consistentWeeks: false\n};\nconst DatesProviderContext = createContext(DATES_PROVIDER_DEFAULT_SETTINGS);\nfunction DatesProvider({ settings, children }) {\n return /* @__PURE__ */ jsx(DatesProviderContext.Provider, { value: { ...DATES_PROVIDER_DEFAULT_SETTINGS, ...settings }, children });\n}\n\nexport { DATES_PROVIDER_DEFAULT_SETTINGS, DatesProvider, DatesProviderContext };\n//# sourceMappingURL=DatesProvider.mjs.map\n","'use client';\nimport { useContext, useCallback } from 'react';\nimport { DatesProviderContext } from './DatesProvider.mjs';\n\nfunction useDatesContext() {\n const ctx = useContext(DatesProviderContext);\n const getLocale = useCallback((input) => input || ctx.locale, [ctx.locale]);\n const getFirstDayOfWeek = useCallback(\n (input) => typeof input === \"number\" ? input : ctx.firstDayOfWeek,\n [ctx.firstDayOfWeek]\n );\n const getWeekendDays = useCallback(\n (input) => Array.isArray(input) ? input : ctx.weekendDays,\n [ctx.weekendDays]\n );\n const getLabelSeparator = useCallback(\n (input) => typeof input === \"string\" ? input : ctx.labelSeparator,\n [ctx.labelSeparator]\n );\n return {\n ...ctx,\n getLocale,\n getFirstDayOfWeek,\n getWeekendDays,\n getLabelSeparator\n };\n}\n\nexport { useDatesContext };\n//# sourceMappingURL=use-dates-context.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport 'dayjs';\nimport { toDateTimeString, toDateString } from '../../utils/to-date-string/to-date-string.mjs';\n\nfunction formatValue({ value, type, withTime }) {\n const formatter = withTime ? toDateTimeString : toDateString;\n if (type === \"range\" && Array.isArray(value)) {\n const startDate = formatter(value[0]);\n const endDate = formatter(value[1]);\n if (!startDate) {\n return \"\";\n }\n if (!endDate) {\n return `${startDate} \\u2013`;\n }\n return `${startDate} \\u2013 ${endDate}`;\n }\n if (type === \"multiple\" && Array.isArray(value)) {\n return value.filter(Boolean).join(\", \");\n }\n if (!Array.isArray(value) && value) {\n return formatter(value);\n }\n return \"\";\n}\nfunction HiddenDatesInput({\n value,\n type,\n name,\n form,\n withTime = false\n}) {\n return /* @__PURE__ */ jsx(\"input\", { type: \"hidden\", value: formatValue({ value, type, withTime }), name, form });\n}\nHiddenDatesInput.displayName = \"@mantine/dates/HiddenDatesInput\";\n\nexport { HiddenDatesInput };\n//# sourceMappingURL=HiddenDatesInput.mjs.map\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","'use client';\nvar classes = {\"day\":\"m_396ce5cb\"};\n\nexport { classes as default };\n//# sourceMappingURL=Day.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { createVarsResolver, getSize, factory, useProps, useStyles, UnstyledButton } from '@mantine/core';\nimport classes from './Day.module.css.mjs';\n\nconst varsResolver = createVarsResolver((_, { size }) => ({\n day: {\n \"--day-size\": getSize(size, \"day-size\")\n }\n}));\nconst Day = factory((_props, ref) => {\n const props = useProps(\"Day\", null, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n date,\n disabled,\n __staticSelector,\n weekend,\n outside,\n selected,\n renderDay,\n inRange,\n firstInRange,\n lastInRange,\n hidden,\n static: isStatic,\n highlightToday,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"Day\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: \"day\"\n });\n return /* @__PURE__ */ jsx(\n UnstyledButton,\n {\n ...getStyles(\"day\", { style: hidden ? { display: \"none\" } : void 0 }),\n component: isStatic ? \"div\" : \"button\",\n ref,\n disabled,\n \"data-today\": dayjs(date).isSame(/* @__PURE__ */ new Date(), \"day\") || void 0,\n \"data-hidden\": hidden || void 0,\n \"data-highlight-today\": highlightToday || void 0,\n \"data-disabled\": disabled || void 0,\n \"data-weekend\": !disabled && !outside && weekend || void 0,\n \"data-outside\": !disabled && outside || void 0,\n \"data-selected\": !disabled && selected || void 0,\n \"data-in-range\": inRange && !disabled || void 0,\n \"data-first-in-range\": firstInRange && !disabled || void 0,\n \"data-last-in-range\": lastInRange && !disabled || void 0,\n \"data-static\": isStatic || void 0,\n unstyled,\n ...others,\n children: renderDay?.(date) || dayjs(date).date()\n }\n );\n});\nDay.classes = classes;\nDay.displayName = \"@mantine/dates/Day\";\n\nexport { Day };\n//# sourceMappingURL=Day.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction getWeekdayNames({\n locale,\n format = \"dd\",\n firstDayOfWeek = 1\n}) {\n const baseDate = dayjs().day(firstDayOfWeek);\n const labels = [];\n for (let i = 0; i < 7; i += 1) {\n if (typeof format === \"string\") {\n labels.push(dayjs(baseDate).add(i, \"days\").locale(locale).format(format));\n } else {\n labels.push(format(dayjs(baseDate).add(i, \"days\").format(\"YYYY-MM-DD\")));\n }\n }\n return labels;\n}\n\nexport { getWeekdayNames };\n//# sourceMappingURL=get-weekdays-names.mjs.map\n","'use client';\nvar classes = {\"weekday\":\"m_18a3eca\"};\n\nexport { classes as default };\n//# sourceMappingURL=WeekdaysRow.module.css.mjs.map\n","'use client';\nimport { jsx, jsxs } from 'react/jsx-runtime';\nimport { createVarsResolver, getSpacing, getFontSize, factory, useProps, useStyles, Box } from '@mantine/core';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { getWeekdayNames } from './get-weekdays-names/get-weekdays-names.mjs';\nimport classes from './WeekdaysRow.module.css.mjs';\n\nconst varsResolver = createVarsResolver((_, { size }) => ({\n weekdaysRow: {\n \"--wr-fz\": getFontSize(size),\n \"--wr-spacing\": getSpacing(size)\n }\n}));\nconst WeekdaysRow = factory((_props, ref) => {\n const props = useProps(\"WeekdaysRow\", null, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n cellComponent: CellComponent = \"th\",\n __staticSelector,\n withWeekNumbers,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"WeekdaysRow\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: \"weekdaysRow\"\n });\n const ctx = useDatesContext();\n const weekdays = getWeekdayNames({\n locale: ctx.getLocale(locale),\n format: weekdayFormat,\n firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek)\n }).map((weekday, index) => /* @__PURE__ */ jsx(CellComponent, { ...getStyles(\"weekday\"), children: weekday }, index));\n return /* @__PURE__ */ jsxs(Box, { component: \"tr\", ref, ...getStyles(\"weekdaysRow\"), ...others, children: [\n withWeekNumbers && /* @__PURE__ */ jsx(CellComponent, { ...getStyles(\"weekday\"), children: \"#\" }),\n weekdays\n ] });\n});\nWeekdaysRow.classes = classes;\nWeekdaysRow.displayName = \"@mantine/dates/WeekdaysRow\";\n\nexport { WeekdaysRow };\n//# sourceMappingURL=WeekdaysRow.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction getEndOfWeek(date, firstDayOfWeek = 1) {\n let value = dayjs(date);\n if (!value.isValid()) {\n return value;\n }\n const lastDayOfWeek = firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1;\n while (value.day() !== lastDayOfWeek) {\n value = value.add(1, \"day\");\n }\n return value.format(\"YYYY-MM-DD\");\n}\n\nexport { getEndOfWeek };\n//# sourceMappingURL=get-end-of-week.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction getStartOfWeek(date, firstDayOfWeek = 1) {\n let value = dayjs(date);\n while (value.day() !== firstDayOfWeek) {\n value = value.subtract(1, \"day\");\n }\n return value.format(\"YYYY-MM-DD\");\n}\n\nexport { getStartOfWeek };\n//# sourceMappingURL=get-start-of-week.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\nimport { getEndOfWeek } from '../get-end-of-week/get-end-of-week.mjs';\nimport { getStartOfWeek } from '../get-start-of-week/get-start-of-week.mjs';\n\nfunction getMonthDays({\n month,\n firstDayOfWeek = 1,\n consistentWeeks\n}) {\n const day = dayjs(month).subtract(dayjs(month).date() - 1, \"day\");\n const start = dayjs(day.format(\"YYYY-M-D\"));\n const startOfMonth = start.format(\"YYYY-MM-DD\");\n const endOfMonth = start.add(+start.daysInMonth() - 1, \"day\").format(\"YYYY-MM-DD\");\n const endDate = getEndOfWeek(endOfMonth, firstDayOfWeek);\n const weeks = [];\n let date = dayjs(getStartOfWeek(startOfMonth, firstDayOfWeek));\n while (dayjs(date).isBefore(endDate, \"day\")) {\n const days = [];\n for (let i = 0; i < 7; i += 1) {\n days.push(date.format(\"YYYY-MM-DD\"));\n date = date.add(1, \"day\");\n }\n weeks.push(days);\n }\n if (consistentWeeks && weeks.length < 6) {\n const lastWeek = weeks[weeks.length - 1];\n const lastDay = lastWeek[lastWeek.length - 1];\n let nextDay = dayjs(lastDay).add(1, \"day\");\n while (weeks.length < 6) {\n const days = [];\n for (let i = 0; i < 7; i += 1) {\n days.push(nextDay.format(\"YYYY-MM-DD\"));\n nextDay = nextDay.add(1, \"day\");\n }\n weeks.push(days);\n }\n }\n return weeks;\n}\n\nexport { getMonthDays };\n//# sourceMappingURL=get-month-days.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction isSameMonth(date, comparison) {\n return dayjs(date).format(\"YYYY-MM\") === dayjs(comparison).format(\"YYYY-MM\");\n}\n\nexport { isSameMonth };\n//# sourceMappingURL=is-same-month.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction isAfterMinDate(date, minDate) {\n return minDate ? dayjs(date).isAfter(dayjs(minDate).subtract(1, \"day\"), \"day\") : true;\n}\n\nexport { isAfterMinDate };\n//# sourceMappingURL=is-after-min-date.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction isBeforeMaxDate(date, maxDate) {\n return maxDate ? dayjs(date).isBefore(dayjs(maxDate).add(1, \"day\"), \"day\") : true;\n}\n\nexport { isBeforeMaxDate };\n//# sourceMappingURL=is-before-max-date.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\nimport { isAfterMinDate } from '../is-after-min-date/is-after-min-date.mjs';\nimport { isBeforeMaxDate } from '../is-before-max-date/is-before-max-date.mjs';\nimport { isSameMonth } from '../is-same-month/is-same-month.mjs';\n\nfunction getDateInTabOrder({\n dates,\n minDate,\n maxDate,\n getDayProps,\n excludeDate,\n hideOutsideDates,\n month\n}) {\n const enabledDates = dates.flat().filter(\n (date) => isBeforeMaxDate(date, maxDate) && isAfterMinDate(date, minDate) && !excludeDate?.(date) && !getDayProps?.(date)?.disabled && (!hideOutsideDates || isSameMonth(date, month))\n );\n const selectedDate = enabledDates.find((date) => getDayProps?.(date)?.selected);\n if (selectedDate) {\n return selectedDate;\n }\n const currentDate = enabledDates.find((date) => dayjs().isSame(date, \"date\"));\n if (currentDate) {\n return currentDate;\n }\n return enabledDates[0];\n}\n\nexport { getDateInTabOrder };\n//# sourceMappingURL=get-date-in-tab-order.mjs.map\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeek=t()}(this,(function(){\"use strict\";var e=\"day\";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,o,r=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf(\"year\"),o=4-n.isoWeekday(),n.isoWeekday()>4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","'use client';\nimport dayjs from 'dayjs';\nimport isoWeek from 'dayjs/plugin/isoWeek.js';\n\ndayjs.extend(isoWeek);\nfunction getWeekNumber(week) {\n const monday = week.find((date) => dayjs(date).day() === 1);\n return dayjs(monday).isoWeek();\n}\n\nexport { getWeekNumber };\n//# sourceMappingURL=get-week-number.mjs.map\n","'use client';\nvar classes = {\"month\":\"m_cc9820d3\",\"monthCell\":\"m_8f457cd5\",\"weekNumber\":\"m_6cff9dea\"};\n\nexport { classes as default };\n//# sourceMappingURL=Month.module.css.mjs.map\n","'use client';\nimport { jsx, jsxs } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { createVarsResolver, getSize, getFontSize, factory, useProps, useStyles, useResolvedStylesApi, Box } from '@mantine/core';\nimport { toDateString } from '../../utils/to-date-string/to-date-string.mjs';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { Day } from '../Day/Day.mjs';\nimport { WeekdaysRow } from '../WeekdaysRow/WeekdaysRow.mjs';\nimport { getDateInTabOrder } from './get-date-in-tab-order/get-date-in-tab-order.mjs';\nimport { getMonthDays } from './get-month-days/get-month-days.mjs';\nimport { getWeekNumber } from './get-week-number/get-week-number.mjs';\nimport { isAfterMinDate } from './is-after-min-date/is-after-min-date.mjs';\nimport { isBeforeMaxDate } from './is-before-max-date/is-before-max-date.mjs';\nimport { isSameMonth } from './is-same-month/is-same-month.mjs';\nimport classes from './Month.module.css.mjs';\n\nconst defaultProps = {\n withCellSpacing: true\n};\nconst varsResolver = createVarsResolver((_, { size }) => ({\n weekNumber: {\n \"--wn-fz\": getFontSize(size),\n \"--wn-size\": getSize(size, \"wn-size\")\n }\n}));\nconst Month = factory((_props, ref) => {\n const props = useProps(\"Month\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n __staticSelector,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n month,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n static: isStatic,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n highlightToday,\n withWeekNumbers,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"Month\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: \"month\"\n });\n const ctx = useDatesContext();\n const dates = getMonthDays({\n month,\n firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),\n consistentWeeks: ctx.consistentWeeks\n });\n const dateInTabOrder = getDateInTabOrder({\n dates,\n minDate: toDateString(minDate),\n maxDate: toDateString(maxDate),\n getDayProps,\n excludeDate,\n hideOutsideDates,\n month\n });\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({\n classNames,\n styles,\n props\n });\n const rows = dates.map((row, rowIndex) => {\n const cells = row.map((date, cellIndex) => {\n const outside = !isSameMonth(date, month);\n const ariaLabel = getDayAriaLabel?.(date) || dayjs(date).locale(locale || ctx.locale).format(\"D MMMM YYYY\");\n const dayProps = getDayProps?.(date);\n const isDateInTabOrder = dayjs(date).isSame(dateInTabOrder, \"date\");\n return /* @__PURE__ */ jsx(\n \"td\",\n {\n ...getStyles(\"monthCell\"),\n \"data-with-spacing\": withCellSpacing || void 0,\n children: /* @__PURE__ */ jsx(\n Day,\n {\n __staticSelector: __staticSelector || \"Month\",\n classNames: resolvedClassNames,\n styles: resolvedStyles,\n unstyled,\n \"data-mantine-stop-propagation\": __stopPropagation || void 0,\n highlightToday,\n renderDay,\n date,\n size,\n weekend: ctx.getWeekendDays(weekendDays).includes(dayjs(date).get(\"day\")),\n outside,\n hidden: hideOutsideDates ? outside : false,\n \"aria-label\": ariaLabel,\n static: isStatic,\n disabled: excludeDate?.(date) || !isBeforeMaxDate(date, toDateString(maxDate)) || !isAfterMinDate(date, toDateString(minDate)),\n ref: (node) => {\n if (node) {\n __getDayRef?.(rowIndex, cellIndex, node);\n }\n },\n ...dayProps,\n onKeyDown: (event) => {\n dayProps?.onKeyDown?.(event);\n __onDayKeyDown?.(event, { rowIndex, cellIndex, date });\n },\n onMouseEnter: (event) => {\n dayProps?.onMouseEnter?.(event);\n __onDayMouseEnter?.(event, date);\n },\n onClick: (event) => {\n dayProps?.onClick?.(event);\n __onDayClick?.(event, date);\n },\n onMouseDown: (event) => {\n dayProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n },\n tabIndex: __preventFocus || !isDateInTabOrder ? -1 : 0\n }\n )\n },\n date.toString()\n );\n });\n return /* @__PURE__ */ jsxs(\"tr\", { ...getStyles(\"monthRow\"), children: [\n withWeekNumbers && /* @__PURE__ */ jsx(\"td\", { ...getStyles(\"weekNumber\"), children: getWeekNumber(row) }),\n cells\n ] }, rowIndex);\n });\n return /* @__PURE__ */ jsxs(Box, { component: \"table\", ...getStyles(\"month\"), size, ref, ...others, children: [\n !hideWeekdays && /* @__PURE__ */ jsx(\"thead\", { ...getStyles(\"monthThead\"), children: /* @__PURE__ */ jsx(\n WeekdaysRow,\n {\n __staticSelector: __staticSelector || \"Month\",\n locale,\n firstDayOfWeek,\n weekdayFormat,\n size,\n classNames: resolvedClassNames,\n styles: resolvedStyles,\n unstyled,\n withWeekNumbers\n }\n ) }),\n /* @__PURE__ */ jsx(\"tbody\", { ...getStyles(\"monthTbody\"), children: rows })\n ] });\n});\nMonth.classes = classes;\nMonth.displayName = \"@mantine/dates/Month\";\n\nexport { Month };\n//# sourceMappingURL=Month.mjs.map\n","'use client';\nvar classes = {\"pickerControl\":\"m_dc6a3c71\"};\n\nexport { classes as default };\n//# sourceMappingURL=PickerControl.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { createVarsResolver, getSize, getFontSize, factory, useProps, useStyles, UnstyledButton } from '@mantine/core';\nimport classes from './PickerControl.module.css.mjs';\n\nconst varsResolver = createVarsResolver((_, { size }) => ({\n pickerControl: {\n \"--dpc-fz\": getFontSize(size),\n \"--dpc-size\": getSize(size, \"dpc-size\")\n }\n}));\nconst PickerControl = factory((_props, ref) => {\n const props = useProps(\"PickerControl\", null, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n firstInRange,\n lastInRange,\n inRange,\n __staticSelector,\n selected,\n disabled,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"PickerControl\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: \"pickerControl\"\n });\n return /* @__PURE__ */ jsx(\n UnstyledButton,\n {\n ...getStyles(\"pickerControl\"),\n ref,\n unstyled,\n \"data-picker-control\": true,\n \"data-selected\": selected && !disabled || void 0,\n \"data-disabled\": disabled || void 0,\n \"data-in-range\": inRange && !disabled && !selected || void 0,\n \"data-first-in-range\": firstInRange && !disabled || void 0,\n \"data-last-in-range\": lastInRange && !disabled || void 0,\n disabled,\n ...others\n }\n );\n});\nPickerControl.classes = classes;\nPickerControl.displayName = \"@mantine/dates/PickerControl\";\n\nexport { PickerControl };\n//# sourceMappingURL=PickerControl.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction isYearDisabled({ year, minDate, maxDate }) {\n if (!minDate && !maxDate) {\n return false;\n }\n if (minDate && dayjs(year).isBefore(minDate, \"year\")) {\n return true;\n }\n if (maxDate && dayjs(year).isAfter(maxDate, \"year\")) {\n return true;\n }\n return false;\n}\n\nexport { isYearDisabled };\n//# sourceMappingURL=is-year-disabled.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\nimport { isYearDisabled } from '../is-year-disabled/is-year-disabled.mjs';\n\nfunction getYearInTabOrder({\n years,\n minDate,\n maxDate,\n getYearControlProps\n}) {\n const enabledYears = years.flat().filter(\n (year) => !isYearDisabled({ year, minDate, maxDate }) && !getYearControlProps?.(year)?.disabled\n );\n const selectedYear = enabledYears.find((year) => getYearControlProps?.(year)?.selected);\n if (selectedYear) {\n return selectedYear;\n }\n const currentYear = enabledYears.find((year) => dayjs().isSame(year, \"year\"));\n if (currentYear) {\n return currentYear;\n }\n return enabledYears[0];\n}\n\nexport { getYearInTabOrder };\n//# sourceMappingURL=get-year-in-tab-order.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction getYearsData(decade) {\n const year = dayjs(decade).year();\n const rounded = year - year % 10;\n let currentYearIndex = 0;\n const results = [[], [], [], []];\n for (let i = 0; i < 4; i += 1) {\n const max = i === 3 ? 1 : 3;\n for (let j = 0; j < max; j += 1) {\n results[i].push(dayjs(new Date(rounded + currentYearIndex, 0)).format(\"YYYY-MM-DD\"));\n currentYearIndex += 1;\n }\n }\n return results;\n}\n\nexport { getYearsData };\n//# sourceMappingURL=get-years-data.mjs.map\n","'use client';\nvar classes = {\"yearsList\":\"m_9206547b\",\"yearsListCell\":\"m_c5a19c7d\"};\n\nexport { classes as default };\n//# sourceMappingURL=YearsList.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { factory, useProps, useStyles, Box } from '@mantine/core';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { PickerControl } from '../PickerControl/PickerControl.mjs';\nimport { getYearInTabOrder } from './get-year-in-tab-order/get-year-in-tab-order.mjs';\nimport { getYearsData } from './get-years-data/get-years-data.mjs';\nimport { isYearDisabled } from './is-year-disabled/is-year-disabled.mjs';\nimport classes from './YearsList.module.css.mjs';\n\nconst defaultProps = {\n yearsListFormat: \"YYYY\",\n withCellSpacing: true\n};\nconst YearsList = factory((_props, ref) => {\n const props = useProps(\"YearsList\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n decade,\n yearsListFormat,\n locale,\n minDate,\n maxDate,\n getYearControlProps,\n __staticSelector,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"YearsList\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n rootSelector: \"yearsList\"\n });\n const ctx = useDatesContext();\n const years = getYearsData(decade);\n const yearInTabOrder = getYearInTabOrder({\n years,\n minDate,\n maxDate,\n getYearControlProps\n });\n const rows = years.map((yearsRow, rowIndex) => {\n const cells = yearsRow.map((year, cellIndex) => {\n const controlProps = getYearControlProps?.(year);\n const isYearInTabOrder = dayjs(year).isSame(yearInTabOrder, \"year\");\n return /* @__PURE__ */ jsx(\n \"td\",\n {\n ...getStyles(\"yearsListCell\"),\n \"data-with-spacing\": withCellSpacing || void 0,\n children: /* @__PURE__ */ jsx(\n PickerControl,\n {\n ...getStyles(\"yearsListControl\"),\n size,\n unstyled,\n \"data-mantine-stop-propagation\": __stopPropagation || void 0,\n disabled: isYearDisabled({ year, minDate, maxDate }),\n ref: (node) => {\n if (node) {\n __getControlRef?.(rowIndex, cellIndex, node);\n }\n },\n ...controlProps,\n onKeyDown: (event) => {\n controlProps?.onKeyDown?.(event);\n __onControlKeyDown?.(event, { rowIndex, cellIndex, date: year });\n },\n onClick: (event) => {\n controlProps?.onClick?.(event);\n __onControlClick?.(event, year);\n },\n onMouseEnter: (event) => {\n controlProps?.onMouseEnter?.(event);\n __onControlMouseEnter?.(event, year);\n },\n onMouseDown: (event) => {\n controlProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n },\n tabIndex: __preventFocus || !isYearInTabOrder ? -1 : 0,\n children: dayjs(year).locale(ctx.getLocale(locale)).format(yearsListFormat)\n }\n )\n },\n cellIndex\n );\n });\n return /* @__PURE__ */ jsx(\"tr\", { ...getStyles(\"yearsListRow\"), children: cells }, rowIndex);\n });\n return /* @__PURE__ */ jsx(Box, { component: \"table\", ref, size, ...getStyles(\"yearsList\"), ...others, children: /* @__PURE__ */ jsx(\"tbody\", { children: rows }) });\n});\nYearsList.classes = classes;\nYearsList.displayName = \"@mantine/dates/YearsList\";\n\nexport { YearsList };\n//# sourceMappingURL=YearsList.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction isMonthDisabled({ month, minDate, maxDate }) {\n if (!minDate && !maxDate) {\n return false;\n }\n if (minDate && dayjs(month).isBefore(minDate, \"month\")) {\n return true;\n }\n if (maxDate && dayjs(month).isAfter(maxDate, \"month\")) {\n return true;\n }\n return false;\n}\n\nexport { isMonthDisabled };\n//# sourceMappingURL=is-month-disabled.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\nimport { isMonthDisabled } from '../is-month-disabled/is-month-disabled.mjs';\n\nfunction getMonthInTabOrder({\n months,\n minDate,\n maxDate,\n getMonthControlProps\n}) {\n const enabledMonths = months.flat().filter(\n (month) => !isMonthDisabled({ month, minDate, maxDate }) && !getMonthControlProps?.(month)?.disabled\n );\n const selectedMonth = enabledMonths.find((month) => getMonthControlProps?.(month)?.selected);\n if (selectedMonth) {\n return selectedMonth;\n }\n const currentMonth = enabledMonths.find((month) => dayjs().isSame(month, \"month\"));\n if (currentMonth) {\n return currentMonth;\n }\n return enabledMonths[0];\n}\n\nexport { getMonthInTabOrder };\n//# sourceMappingURL=get-month-in-tab-order.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction getMonthsData(year) {\n const startOfYear = dayjs(year).startOf(\"year\").toDate();\n const results = [[], [], [], []];\n let currentMonthIndex = 0;\n for (let i = 0; i < 4; i += 1) {\n for (let j = 0; j < 3; j += 1) {\n results[i].push(dayjs(startOfYear).add(currentMonthIndex, \"months\").format(\"YYYY-MM-DD\"));\n currentMonthIndex += 1;\n }\n }\n return results;\n}\n\nexport { getMonthsData };\n//# sourceMappingURL=get-months-data.mjs.map\n","'use client';\nvar classes = {\"monthsList\":\"m_2a6c32d\",\"monthsListCell\":\"m_fe27622f\"};\n\nexport { classes as default };\n//# sourceMappingURL=MonthsList.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { factory, useProps, useStyles, Box } from '@mantine/core';\nimport { toDateString } from '../../utils/to-date-string/to-date-string.mjs';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { PickerControl } from '../PickerControl/PickerControl.mjs';\nimport { getMonthInTabOrder } from './get-month-in-tab-order/get-month-in-tab-order.mjs';\nimport { getMonthsData } from './get-months-data/get-months-data.mjs';\nimport { isMonthDisabled } from './is-month-disabled/is-month-disabled.mjs';\nimport classes from './MonthsList.module.css.mjs';\n\nconst defaultProps = {\n monthsListFormat: \"MMM\",\n withCellSpacing: true\n};\nconst MonthsList = factory((_props, ref) => {\n const props = useProps(\"MonthsList\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n __staticSelector,\n year,\n monthsListFormat,\n locale,\n minDate,\n maxDate,\n getMonthControlProps,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"MonthsList\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n rootSelector: \"monthsList\"\n });\n const ctx = useDatesContext();\n const months = getMonthsData(year);\n const monthInTabOrder = getMonthInTabOrder({\n months,\n minDate: toDateString(minDate),\n maxDate: toDateString(maxDate),\n getMonthControlProps\n });\n const rows = months.map((monthsRow, rowIndex) => {\n const cells = monthsRow.map((month, cellIndex) => {\n const controlProps = getMonthControlProps?.(month);\n const isMonthInTabOrder = dayjs(month).isSame(monthInTabOrder, \"month\");\n return /* @__PURE__ */ jsx(\n \"td\",\n {\n ...getStyles(\"monthsListCell\"),\n \"data-with-spacing\": withCellSpacing || void 0,\n children: /* @__PURE__ */ jsx(\n PickerControl,\n {\n ...getStyles(\"monthsListControl\"),\n size,\n unstyled,\n __staticSelector: __staticSelector || \"MonthsList\",\n \"data-mantine-stop-propagation\": __stopPropagation || void 0,\n disabled: isMonthDisabled({\n month,\n minDate: toDateString(minDate),\n maxDate: toDateString(maxDate)\n }),\n ref: (node) => {\n if (node) {\n __getControlRef?.(rowIndex, cellIndex, node);\n }\n },\n ...controlProps,\n onKeyDown: (event) => {\n controlProps?.onKeyDown?.(event);\n __onControlKeyDown?.(event, { rowIndex, cellIndex, date: month });\n },\n onClick: (event) => {\n controlProps?.onClick?.(event);\n __onControlClick?.(event, month);\n },\n onMouseEnter: (event) => {\n controlProps?.onMouseEnter?.(event);\n __onControlMouseEnter?.(event, month);\n },\n onMouseDown: (event) => {\n controlProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n },\n tabIndex: __preventFocus || !isMonthInTabOrder ? -1 : 0,\n children: dayjs(month).locale(ctx.getLocale(locale)).format(monthsListFormat)\n }\n )\n },\n cellIndex\n );\n });\n return /* @__PURE__ */ jsx(\"tr\", { ...getStyles(\"monthsListRow\"), children: cells }, rowIndex);\n });\n return /* @__PURE__ */ jsx(Box, { component: \"table\", ref, size, ...getStyles(\"monthsList\"), ...others, children: /* @__PURE__ */ jsx(\"tbody\", { children: rows }) });\n});\nMonthsList.classes = classes;\nMonthsList.displayName = \"@mantine/dates/MonthsList\";\n\nexport { MonthsList };\n//# sourceMappingURL=MonthsList.mjs.map\n","'use client';\nvar classes = {\"calendarHeader\":\"m_730a79ed\",\"calendarHeaderLevel\":\"m_f6645d97\",\"calendarHeaderControl\":\"m_2351eeb0\",\"calendarHeaderControlIcon\":\"m_367dc749\"};\n\nexport { classes as default };\n//# sourceMappingURL=CalendarHeader.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { createElement } from 'react';\nimport { createVarsResolver, getFontSize, getSize, factory, useProps, useStyles, UnstyledButton, AccordionChevron, Box } from '@mantine/core';\nimport classes from './CalendarHeader.module.css.mjs';\n\nconst defaultProps = {\n hasNextLevel: true,\n withNext: true,\n withPrevious: true,\n headerControlsOrder: [\"previous\", \"level\", \"next\"]\n};\nconst varsResolver = createVarsResolver((_, { size }) => ({\n calendarHeader: {\n \"--dch-control-size\": getSize(size, \"dch-control-size\"),\n \"--dch-fz\": getFontSize(size)\n }\n}));\nconst CalendarHeader = factory((_props, ref) => {\n const props = useProps(\"CalendarHeader\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n label,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n headerControlsOrder,\n __staticSelector,\n __preventFocus,\n __stopPropagation,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"CalendarHeader\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: \"calendarHeader\"\n });\n const preventFocus = __preventFocus ? (event) => event.preventDefault() : void 0;\n const previousControl = withPrevious && /* @__PURE__ */ createElement(\n UnstyledButton,\n {\n ...getStyles(\"calendarHeaderControl\"),\n key: \"previous\",\n \"data-direction\": \"previous\",\n \"aria-label\": previousLabel,\n onClick: onPrevious,\n unstyled,\n onMouseDown: preventFocus,\n disabled: previousDisabled,\n \"data-disabled\": previousDisabled || void 0,\n tabIndex: __preventFocus || previousDisabled ? -1 : 0,\n \"data-mantine-stop-propagation\": __stopPropagation || void 0\n },\n previousIcon || /* @__PURE__ */ jsx(\n AccordionChevron,\n {\n ...getStyles(\"calendarHeaderControlIcon\"),\n \"data-direction\": \"previous\",\n size: \"45%\"\n }\n )\n );\n const levelControl = /* @__PURE__ */ createElement(\n UnstyledButton,\n {\n component: hasNextLevel ? \"button\" : \"div\",\n ...getStyles(\"calendarHeaderLevel\"),\n key: \"level\",\n onClick: hasNextLevel ? onLevelClick : void 0,\n unstyled,\n onMouseDown: hasNextLevel ? preventFocus : void 0,\n disabled: !hasNextLevel,\n \"data-static\": !hasNextLevel || void 0,\n \"aria-label\": levelControlAriaLabel,\n tabIndex: __preventFocus || !hasNextLevel ? -1 : 0,\n \"data-mantine-stop-propagation\": __stopPropagation || void 0\n },\n label\n );\n const nextControl = withNext && /* @__PURE__ */ createElement(\n UnstyledButton,\n {\n ...getStyles(\"calendarHeaderControl\"),\n key: \"next\",\n \"data-direction\": \"next\",\n \"aria-label\": nextLabel,\n onClick: onNext,\n unstyled,\n onMouseDown: preventFocus,\n disabled: nextDisabled,\n \"data-disabled\": nextDisabled || void 0,\n tabIndex: __preventFocus || nextDisabled ? -1 : 0,\n \"data-mantine-stop-propagation\": __stopPropagation || void 0\n },\n nextIcon || /* @__PURE__ */ jsx(\n AccordionChevron,\n {\n ...getStyles(\"calendarHeaderControlIcon\"),\n \"data-direction\": \"next\",\n size: \"45%\"\n }\n )\n );\n const controls = headerControlsOrder.map((control) => {\n if (control === \"previous\") {\n return previousControl;\n }\n if (control === \"level\") {\n return levelControl;\n }\n if (control === \"next\") {\n return nextControl;\n }\n return null;\n });\n return /* @__PURE__ */ jsx(Box, { ...getStyles(\"calendarHeader\"), ref, ...others, children: controls });\n});\nCalendarHeader.classes = classes;\nCalendarHeader.displayName = \"@mantine/dates/CalendarHeader\";\n\nexport { CalendarHeader };\n//# sourceMappingURL=CalendarHeader.mjs.map\n","'use client';\nimport { getYearsData } from '../../YearsList/get-years-data/get-years-data.mjs';\n\nfunction getDecadeRange(decade) {\n const years = getYearsData(decade);\n return [years[0][0], years[3][0]];\n}\n\nexport { getDecadeRange };\n//# sourceMappingURL=get-decade-range.mjs.map\n","'use client';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { factory, useProps, Box } from '@mantine/core';\nimport { CalendarHeader } from '../CalendarHeader/CalendarHeader.mjs';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { YearsList } from '../YearsList/YearsList.mjs';\nimport { getDecadeRange } from './get-decade-range/get-decade-range.mjs';\n\nconst defaultProps = {\n decadeLabelFormat: \"YYYY\"\n};\nconst DecadeLevel = factory((_props, ref) => {\n const props = useProps(\"DecadeLevel\", defaultProps, _props);\n const {\n // YearsList settings\n decade,\n locale,\n minDate,\n maxDate,\n yearsListFormat,\n getYearControlProps,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n nextDisabled,\n previousDisabled,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n headerControlsOrder,\n // Other props\n decadeLabelFormat,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __stopPropagation,\n size,\n attributes,\n ...others\n } = props;\n const ctx = useDatesContext();\n const [startOfDecade, endOfDecade] = getDecadeRange(decade);\n const stylesApiProps = {\n __staticSelector: __staticSelector || \"DecadeLevel\",\n classNames,\n styles,\n unstyled,\n size,\n attributes\n };\n const _nextDisabled = typeof nextDisabled === \"boolean\" ? nextDisabled : maxDate ? !dayjs(endOfDecade).endOf(\"year\").isBefore(maxDate) : false;\n const _previousDisabled = typeof previousDisabled === \"boolean\" ? previousDisabled : minDate ? !dayjs(startOfDecade).startOf(\"year\").isAfter(minDate) : false;\n const formatDecade = (date, format) => dayjs(date).locale(locale || ctx.locale).format(format);\n return /* @__PURE__ */ jsxs(Box, { \"data-decade-level\": true, size, ref, ...others, children: [\n /* @__PURE__ */ jsx(\n CalendarHeader,\n {\n label: typeof decadeLabelFormat === \"function\" ? decadeLabelFormat(startOfDecade, endOfDecade) : `${formatDecade(startOfDecade, decadeLabelFormat)} \\u2013 ${formatDecade(\n endOfDecade,\n decadeLabelFormat\n )}`,\n __preventFocus,\n __stopPropagation,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n nextDisabled: _nextDisabled,\n previousDisabled: _previousDisabled,\n hasNextLevel: false,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n headerControlsOrder,\n ...stylesApiProps\n }\n ),\n /* @__PURE__ */ jsx(\n YearsList,\n {\n decade,\n locale,\n minDate,\n maxDate,\n yearsListFormat,\n getYearControlProps,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n ...stylesApiProps\n }\n )\n ] });\n});\nDecadeLevel.classes = { ...YearsList.classes, ...CalendarHeader.classes };\nDecadeLevel.displayName = \"@mantine/dates/DecadeLevel\";\n\nexport { DecadeLevel };\n//# sourceMappingURL=DecadeLevel.mjs.map\n","'use client';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { factory, useProps, Box } from '@mantine/core';\nimport { CalendarHeader } from '../CalendarHeader/CalendarHeader.mjs';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { MonthsList } from '../MonthsList/MonthsList.mjs';\n\nconst defaultProps = {\n yearLabelFormat: \"YYYY\"\n};\nconst YearLevel = factory((_props, ref) => {\n const props = useProps(\"YearLevel\", defaultProps, _props);\n const {\n // MonthsList settings\n year,\n locale,\n minDate,\n maxDate,\n monthsListFormat,\n getMonthControlProps,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n headerControlsOrder,\n // Other props\n yearLabelFormat,\n __staticSelector,\n __stopPropagation,\n size,\n classNames,\n styles,\n unstyled,\n attributes,\n ...others\n } = props;\n const ctx = useDatesContext();\n const stylesApiProps = {\n __staticSelector: __staticSelector || \"YearLevel\",\n classNames,\n styles,\n unstyled,\n size,\n attributes\n };\n const _nextDisabled = typeof nextDisabled === \"boolean\" ? nextDisabled : maxDate ? !dayjs(year).endOf(\"year\").isBefore(maxDate) : false;\n const _previousDisabled = typeof previousDisabled === \"boolean\" ? previousDisabled : minDate ? !dayjs(year).startOf(\"year\").isAfter(minDate) : false;\n return /* @__PURE__ */ jsxs(Box, { \"data-year-level\": true, size, ref, ...others, children: [\n /* @__PURE__ */ jsx(\n CalendarHeader,\n {\n label: typeof yearLabelFormat === \"function\" ? yearLabelFormat(year) : dayjs(year).locale(locale || ctx.locale).format(yearLabelFormat),\n __preventFocus,\n __stopPropagation,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled: _nextDisabled,\n previousDisabled: _previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n headerControlsOrder,\n ...stylesApiProps\n }\n ),\n /* @__PURE__ */ jsx(\n MonthsList,\n {\n year,\n locale,\n minDate,\n maxDate,\n monthsListFormat,\n getMonthControlProps,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n ...stylesApiProps\n }\n )\n ] });\n});\nYearLevel.classes = { ...CalendarHeader.classes, ...MonthsList.classes };\nYearLevel.displayName = \"@mantine/dates/YearLevel\";\n\nexport { YearLevel };\n//# sourceMappingURL=YearLevel.mjs.map\n","'use client';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { factory, useProps, Box } from '@mantine/core';\nimport { CalendarHeader } from '../CalendarHeader/CalendarHeader.mjs';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { Month } from '../Month/Month.mjs';\n\nconst defaultProps = {\n monthLabelFormat: \"MMMM YYYY\"\n};\nconst MonthLevel = factory((_props, ref) => {\n const props = useProps(\"MonthLevel\", defaultProps, _props);\n const {\n // Month settings\n month,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n withCellSpacing,\n highlightToday,\n withWeekNumbers,\n // CalendarHeader settings\n __preventFocus,\n __stopPropagation,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n headerControlsOrder,\n // Other props\n monthLabelFormat,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n size,\n static: isStatic,\n attributes,\n ...others\n } = props;\n const ctx = useDatesContext();\n const stylesApiProps = {\n __staticSelector: __staticSelector || \"MonthLevel\",\n classNames,\n styles,\n unstyled,\n size,\n attributes\n };\n const _nextDisabled = typeof nextDisabled === \"boolean\" ? nextDisabled : maxDate ? !dayjs(month).endOf(\"month\").isBefore(maxDate) : false;\n const _previousDisabled = typeof previousDisabled === \"boolean\" ? previousDisabled : minDate ? !dayjs(month).startOf(\"month\").isAfter(minDate) : false;\n return /* @__PURE__ */ jsxs(Box, { \"data-month-level\": true, size, ref, ...others, children: [\n /* @__PURE__ */ jsx(\n CalendarHeader,\n {\n label: typeof monthLabelFormat === \"function\" ? monthLabelFormat(month) : dayjs(month).locale(locale || ctx.locale).format(monthLabelFormat),\n __preventFocus,\n __stopPropagation,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled: _nextDisabled,\n previousDisabled: _previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n headerControlsOrder,\n ...stylesApiProps\n }\n ),\n /* @__PURE__ */ jsx(\n Month,\n {\n month,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n static: isStatic,\n withCellSpacing,\n highlightToday,\n withWeekNumbers,\n ...stylesApiProps\n }\n )\n ] });\n});\nMonthLevel.classes = { ...Month.classes, ...CalendarHeader.classes };\nMonthLevel.displayName = \"@mantine/dates/MonthLevel\";\n\nexport { MonthLevel };\n//# sourceMappingURL=MonthLevel.mjs.map\n","'use client';\nvar classes = {\"levelsGroup\":\"m_30b26e33\"};\n\nexport { classes as default };\n//# sourceMappingURL=LevelsGroup.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { factory, useProps, useStyles, Box } from '@mantine/core';\nimport classes from './LevelsGroup.module.css.mjs';\n\nconst LevelsGroup = factory((_props, ref) => {\n const props = useProps(\"LevelsGroup\", null, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n __staticSelector,\n attributes,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector || \"LevelsGroup\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n rootSelector: \"levelsGroup\"\n });\n return /* @__PURE__ */ jsx(Box, { ref, ...getStyles(\"levelsGroup\"), ...others });\n});\nLevelsGroup.classes = classes;\nLevelsGroup.displayName = \"@mantine/dates/LevelsGroup\";\n\nexport { LevelsGroup };\n//# sourceMappingURL=LevelsGroup.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { useRef } from 'react';\nimport { factory, useProps } from '@mantine/core';\nimport { handleControlKeyDown } from '../../utils/handle-control-key-down/handle-control-key-down.mjs';\nimport { DecadeLevel } from '../DecadeLevel/DecadeLevel.mjs';\nimport { LevelsGroup } from '../LevelsGroup/LevelsGroup.mjs';\n\nconst defaultProps = {\n numberOfColumns: 1\n};\nconst DecadeLevelGroup = factory((_props, ref) => {\n const props = useProps(\"DecadeLevelGroup\", defaultProps, _props);\n const {\n // DecadeLevel settings\n decade,\n locale,\n minDate,\n maxDate,\n yearsListFormat,\n getYearControlProps,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n nextDisabled,\n previousDisabled,\n headerControlsOrder,\n // Other settings\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __stopPropagation,\n numberOfColumns,\n levelControlAriaLabel,\n decadeLabelFormat,\n size,\n vars,\n attributes,\n ...others\n } = props;\n const controlsRef = useRef([]);\n const decades = Array(numberOfColumns).fill(0).map((_, decadeIndex) => {\n const currentDecade = dayjs(decade).add(decadeIndex * 10, \"years\").format(\"YYYY-MM-DD\");\n return /* @__PURE__ */ jsx(\n DecadeLevel,\n {\n size,\n yearsListFormat,\n decade: currentDecade,\n withNext: decadeIndex === numberOfColumns - 1,\n withPrevious: decadeIndex === 0,\n decadeLabelFormat,\n __onControlClick,\n __onControlMouseEnter,\n __onControlKeyDown: (event, payload) => handleControlKeyDown({\n levelIndex: decadeIndex,\n rowIndex: payload.rowIndex,\n cellIndex: payload.cellIndex,\n event,\n controlsRef\n }),\n __getControlRef: (rowIndex, cellIndex, node) => {\n if (!Array.isArray(controlsRef.current[decadeIndex])) {\n controlsRef.current[decadeIndex] = [];\n }\n if (!Array.isArray(controlsRef.current[decadeIndex][rowIndex])) {\n controlsRef.current[decadeIndex][rowIndex] = [];\n }\n controlsRef.current[decadeIndex][rowIndex][cellIndex] = node;\n },\n levelControlAriaLabel: typeof levelControlAriaLabel === \"function\" ? levelControlAriaLabel(currentDecade) : levelControlAriaLabel,\n locale,\n minDate,\n maxDate,\n __preventFocus,\n __stopPropagation,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n nextDisabled,\n previousDisabled,\n getYearControlProps,\n __staticSelector: __staticSelector || \"DecadeLevelGroup\",\n classNames,\n styles,\n unstyled,\n withCellSpacing,\n headerControlsOrder,\n attributes\n },\n decadeIndex\n );\n });\n return /* @__PURE__ */ jsx(\n LevelsGroup,\n {\n classNames,\n styles,\n __staticSelector: __staticSelector || \"DecadeLevelGroup\",\n ref,\n size,\n unstyled,\n attributes,\n ...others,\n children: decades\n }\n );\n});\nDecadeLevelGroup.classes = { ...LevelsGroup.classes, ...DecadeLevel.classes };\nDecadeLevelGroup.displayName = \"@mantine/dates/DecadeLevelGroup\";\n\nexport { DecadeLevelGroup };\n//# sourceMappingURL=DecadeLevelGroup.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { useRef } from 'react';\nimport { factory, useProps } from '@mantine/core';\nimport { handleControlKeyDown } from '../../utils/handle-control-key-down/handle-control-key-down.mjs';\nimport { LevelsGroup } from '../LevelsGroup/LevelsGroup.mjs';\nimport { YearLevel } from '../YearLevel/YearLevel.mjs';\n\nconst defaultProps = {\n numberOfColumns: 1\n};\nconst YearLevelGroup = factory((_props, ref) => {\n const props = useProps(\"YearLevelGroup\", defaultProps, _props);\n const {\n // YearLevel settings\n year,\n locale,\n minDate,\n maxDate,\n monthsListFormat,\n getMonthControlProps,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n headerControlsOrder,\n // Other settings\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __stopPropagation,\n numberOfColumns,\n levelControlAriaLabel,\n yearLabelFormat,\n size,\n vars,\n attributes,\n ...others\n } = props;\n const controlsRef = useRef([]);\n const years = Array(numberOfColumns).fill(0).map((_, yearIndex) => {\n const currentYear = dayjs(year).add(yearIndex, \"years\").format(\"YYYY-MM-DD\");\n return /* @__PURE__ */ jsx(\n YearLevel,\n {\n size,\n monthsListFormat,\n year: currentYear,\n withNext: yearIndex === numberOfColumns - 1,\n withPrevious: yearIndex === 0,\n yearLabelFormat,\n __stopPropagation,\n __onControlClick,\n __onControlMouseEnter,\n __onControlKeyDown: (event, payload) => handleControlKeyDown({\n levelIndex: yearIndex,\n rowIndex: payload.rowIndex,\n cellIndex: payload.cellIndex,\n event,\n controlsRef\n }),\n __getControlRef: (rowIndex, cellIndex, node) => {\n if (!Array.isArray(controlsRef.current[yearIndex])) {\n controlsRef.current[yearIndex] = [];\n }\n if (!Array.isArray(controlsRef.current[yearIndex][rowIndex])) {\n controlsRef.current[yearIndex][rowIndex] = [];\n }\n controlsRef.current[yearIndex][rowIndex][cellIndex] = node;\n },\n levelControlAriaLabel: typeof levelControlAriaLabel === \"function\" ? levelControlAriaLabel(currentYear) : levelControlAriaLabel,\n locale,\n minDate,\n maxDate,\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n getMonthControlProps,\n classNames,\n styles,\n unstyled,\n __staticSelector: __staticSelector || \"YearLevelGroup\",\n withCellSpacing,\n headerControlsOrder,\n attributes\n },\n yearIndex\n );\n });\n return /* @__PURE__ */ jsx(\n LevelsGroup,\n {\n classNames,\n styles,\n __staticSelector: __staticSelector || \"YearLevelGroup\",\n ref,\n size,\n unstyled,\n attributes,\n ...others,\n children: years\n }\n );\n});\nYearLevelGroup.classes = { ...YearLevel.classes, ...LevelsGroup.classes };\nYearLevelGroup.displayName = \"@mantine/dates/YearLevelGroup\";\n\nexport { YearLevelGroup };\n//# sourceMappingURL=YearLevelGroup.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { useRef } from 'react';\nimport { factory, useProps } from '@mantine/core';\nimport { handleControlKeyDown } from '../../utils/handle-control-key-down/handle-control-key-down.mjs';\nimport { LevelsGroup } from '../LevelsGroup/LevelsGroup.mjs';\nimport { MonthLevel } from '../MonthLevel/MonthLevel.mjs';\n\nconst defaultProps = {\n numberOfColumns: 1\n};\nconst MonthLevelGroup = factory((_props, ref) => {\n const props = useProps(\"MonthLevelGroup\", defaultProps, _props);\n const {\n // Month settings\n month,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n __onDayClick,\n __onDayMouseEnter,\n withCellSpacing,\n highlightToday,\n withWeekNumbers,\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n headerControlsOrder,\n // Other settings\n classNames,\n styles,\n unstyled,\n numberOfColumns,\n levelControlAriaLabel,\n monthLabelFormat,\n __staticSelector,\n __stopPropagation,\n size,\n static: isStatic,\n vars,\n attributes,\n ...others\n } = props;\n const daysRefs = useRef([]);\n const months = Array(numberOfColumns).fill(0).map((_, monthIndex) => {\n const currentMonth = dayjs(month).add(monthIndex, \"months\").format(\"YYYY-MM-DD\");\n return /* @__PURE__ */ jsx(\n MonthLevel,\n {\n month: currentMonth,\n withNext: monthIndex === numberOfColumns - 1,\n withPrevious: monthIndex === 0,\n monthLabelFormat,\n __stopPropagation,\n __onDayClick,\n __onDayMouseEnter,\n __onDayKeyDown: (event, payload) => handleControlKeyDown({\n levelIndex: monthIndex,\n rowIndex: payload.rowIndex,\n cellIndex: payload.cellIndex,\n event,\n controlsRef: daysRefs\n }),\n __getDayRef: (rowIndex, cellIndex, node) => {\n if (!Array.isArray(daysRefs.current[monthIndex])) {\n daysRefs.current[monthIndex] = [];\n }\n if (!Array.isArray(daysRefs.current[monthIndex][rowIndex])) {\n daysRefs.current[monthIndex][rowIndex] = [];\n }\n daysRefs.current[monthIndex][rowIndex][cellIndex] = node;\n },\n levelControlAriaLabel: typeof levelControlAriaLabel === \"function\" ? levelControlAriaLabel(currentMonth) : levelControlAriaLabel,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n classNames,\n styles,\n unstyled,\n __staticSelector: __staticSelector || \"MonthLevelGroup\",\n size,\n static: isStatic,\n withCellSpacing,\n highlightToday,\n withWeekNumbers,\n headerControlsOrder,\n attributes\n },\n monthIndex\n );\n });\n return /* @__PURE__ */ jsx(\n LevelsGroup,\n {\n classNames,\n styles,\n __staticSelector: __staticSelector || \"MonthLevelGroup\",\n ref,\n size,\n attributes,\n ...others,\n children: months\n }\n );\n});\nMonthLevelGroup.classes = { ...LevelsGroup.classes, ...MonthLevel.classes };\nMonthLevelGroup.displayName = \"@mantine/dates/MonthLevelGroup\";\n\nexport { MonthLevelGroup };\n//# sourceMappingURL=MonthLevelGroup.mjs.map\n","'use client';\nimport { useRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport 'dayjs';\nimport { toDateTimeString, toDateString } from '../../utils/to-date-string/to-date-string.mjs';\n\nconst getEmptyValue = (type) => type === \"range\" ? [null, null] : type === \"multiple\" ? [] : null;\nconst convertDatesValue = (value, withTime) => {\n const converter = withTime ? toDateTimeString : toDateString;\n return Array.isArray(value) ? value.map(converter) : converter(value);\n};\nfunction useUncontrolledDates({\n type,\n value,\n defaultValue,\n onChange,\n withTime = false\n}) {\n const storedType = useRef(type);\n const [_value, _setValue, controlled] = useUncontrolled({\n value: convertDatesValue(value, withTime),\n defaultValue: convertDatesValue(defaultValue, withTime),\n finalValue: getEmptyValue(type),\n onChange\n });\n let _finalValue = _value;\n if (storedType.current !== type) {\n storedType.current = type;\n if (value === void 0) {\n _finalValue = defaultValue !== void 0 ? defaultValue : getEmptyValue(type);\n _setValue(_finalValue);\n }\n }\n return [_finalValue, _setValue, controlled];\n}\n\nexport { convertDatesValue, useUncontrolledDates };\n//# sourceMappingURL=use-uncontrolled-dates.mjs.map\n","'use client';\nimport { clamp } from '@mantine/hooks';\n\nfunction levelToNumber(level, fallback) {\n if (!level) {\n return fallback || 0;\n }\n return level === \"month\" ? 0 : level === \"year\" ? 1 : 2;\n}\nfunction levelNumberToLevel(levelNumber) {\n return levelNumber === 0 ? \"month\" : levelNumber === 1 ? \"year\" : \"decade\";\n}\nfunction clampLevel(level, minLevel, maxLevel) {\n return levelNumberToLevel(\n clamp(\n levelToNumber(level, 0),\n levelToNumber(minLevel, 0),\n levelToNumber(maxLevel, 2)\n )\n );\n}\n\nexport { clampLevel };\n//# sourceMappingURL=clamp-level.mjs.map\n","'use client';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { useImperativeHandle, useRef, useEffect } from 'react';\nimport { factory, useProps, useResolvedStylesApi, Box } from '@mantine/core';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { useUncontrolledDates } from '../../hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { toDateString } from '../../utils/to-date-string/to-date-string.mjs';\nimport { DecadeLevelGroup } from '../DecadeLevelGroup/DecadeLevelGroup.mjs';\nimport { MonthLevelGroup } from '../MonthLevelGroup/MonthLevelGroup.mjs';\nimport { YearLevelGroup } from '../YearLevelGroup/YearLevelGroup.mjs';\nimport { clampLevel } from './clamp-level/clamp-level.mjs';\n\nconst defaultProps = {\n maxLevel: \"decade\",\n minLevel: \"month\",\n __updateDateOnYearSelect: true,\n __updateDateOnMonthSelect: true,\n enableKeyboardNavigation: true\n};\nconst Calendar = factory((_props, ref) => {\n const props = useProps(\"Calendar\", defaultProps, _props);\n const {\n // CalendarLevel props\n vars,\n maxLevel,\n minLevel,\n defaultLevel,\n level,\n onLevelChange,\n date,\n defaultDate,\n onDateChange,\n numberOfColumns,\n columnsToScroll,\n ariaLabels,\n nextLabel,\n previousLabel,\n onYearSelect,\n onMonthSelect,\n onYearMouseEnter,\n onMonthMouseEnter,\n headerControlsOrder,\n __updateDateOnYearSelect,\n __updateDateOnMonthSelect,\n __setDateRef,\n __setLevelRef,\n // MonthLevelGroup props\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n monthLabelFormat,\n nextIcon,\n previousIcon,\n __onDayClick,\n __onDayMouseEnter,\n withCellSpacing,\n highlightToday,\n withWeekNumbers,\n // YearLevelGroup props\n monthsListFormat,\n getMonthControlProps,\n yearLabelFormat,\n // DecadeLevelGroup props\n yearsListFormat,\n getYearControlProps,\n decadeLabelFormat,\n // Other props\n classNames,\n styles,\n unstyled,\n minDate,\n maxDate,\n locale,\n __staticSelector,\n size,\n __preventFocus,\n __stopPropagation,\n onNextDecade,\n onPreviousDecade,\n onNextYear,\n onPreviousYear,\n onNextMonth,\n onPreviousMonth,\n static: isStatic,\n enableKeyboardNavigation,\n attributes,\n ...others\n } = props;\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({\n classNames,\n styles,\n props\n });\n const [_level, setLevel] = useUncontrolled({\n value: level ? clampLevel(level, minLevel, maxLevel) : void 0,\n defaultValue: defaultLevel ? clampLevel(defaultLevel, minLevel, maxLevel) : void 0,\n finalValue: clampLevel(void 0, minLevel, maxLevel),\n onChange: onLevelChange\n });\n const [_date, setDate] = useUncontrolledDates({\n type: \"default\",\n value: toDateString(date),\n defaultValue: toDateString(defaultDate),\n onChange: onDateChange\n });\n useImperativeHandle(__setDateRef, () => (date2) => {\n setDate(date2);\n });\n useImperativeHandle(__setLevelRef, () => (level2) => {\n setLevel(level2);\n });\n const stylesApiProps = {\n __staticSelector: __staticSelector || \"Calendar\",\n styles: resolvedStyles,\n classNames: resolvedClassNames,\n unstyled,\n size,\n attributes\n };\n const _columnsToScroll = columnsToScroll || numberOfColumns || 1;\n const now = /* @__PURE__ */ new Date();\n const fallbackDate = minDate && dayjs(now).isAfter(minDate) ? minDate : dayjs(now).format(\"YYYY-MM-DD\");\n const currentDate = _date || fallbackDate;\n const handleNextMonth = () => {\n const nextDate = dayjs(currentDate).add(_columnsToScroll, \"month\").format(\"YYYY-MM-DD\");\n onNextMonth?.(nextDate);\n setDate(nextDate);\n };\n const handlePreviousMonth = () => {\n const nextDate = dayjs(currentDate).subtract(_columnsToScroll, \"month\").format(\"YYYY-MM-DD\");\n onPreviousMonth?.(nextDate);\n setDate(nextDate);\n };\n const handleNextYear = () => {\n const nextDate = dayjs(currentDate).add(_columnsToScroll, \"year\").format(\"YYYY-MM-DD\");\n onNextYear?.(nextDate);\n setDate(nextDate);\n };\n const handlePreviousYear = () => {\n const nextDate = dayjs(currentDate).subtract(_columnsToScroll, \"year\").format(\"YYYY-MM-DD\");\n onPreviousYear?.(nextDate);\n setDate(nextDate);\n };\n const handleNextDecade = () => {\n const nextDate = dayjs(currentDate).add(10 * _columnsToScroll, \"year\").format(\"YYYY-MM-DD\");\n onNextDecade?.(nextDate);\n setDate(nextDate);\n };\n const handlePreviousDecade = () => {\n const nextDate = dayjs(currentDate).subtract(10 * _columnsToScroll, \"year\").format(\"YYYY-MM-DD\");\n onPreviousDecade?.(nextDate);\n setDate(nextDate);\n };\n const calendarRef = useRef(null);\n useEffect(() => {\n if (!enableKeyboardNavigation || isStatic) {\n return;\n }\n const handleKeyDown = (event) => {\n if (!calendarRef.current?.contains(document.activeElement)) {\n return;\n }\n const isCtrlOrCmd = event.ctrlKey || event.metaKey;\n const isShift = event.shiftKey;\n switch (event.key) {\n case \"ArrowUp\":\n if (isCtrlOrCmd && isShift) {\n event.preventDefault();\n handlePreviousDecade();\n } else if (isCtrlOrCmd) {\n event.preventDefault();\n handlePreviousYear();\n }\n break;\n case \"ArrowDown\":\n if (isCtrlOrCmd && isShift) {\n event.preventDefault();\n handleNextDecade();\n } else if (isCtrlOrCmd) {\n event.preventDefault();\n handleNextYear();\n }\n break;\n case \"y\":\n case \"Y\":\n if (_level === \"month\") {\n event.preventDefault();\n setLevel(\"year\");\n }\n break;\n }\n };\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [\n enableKeyboardNavigation,\n isStatic,\n _level,\n handleNextYear,\n handlePreviousYear,\n handleNextDecade,\n handlePreviousDecade\n ]);\n const mergedRef = (node) => {\n calendarRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n };\n return /* @__PURE__ */ jsxs(Box, { ref: mergedRef, size, \"data-calendar\": true, ...others, children: [\n _level === \"month\" && /* @__PURE__ */ jsx(\n MonthLevelGroup,\n {\n month: currentDate,\n minDate,\n maxDate,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n onNext: handleNextMonth,\n onPrevious: handlePreviousMonth,\n hasNextLevel: maxLevel !== \"month\",\n onLevelClick: () => setLevel(\"year\"),\n numberOfColumns,\n locale,\n levelControlAriaLabel: ariaLabels?.monthLevelControl,\n nextLabel: ariaLabels?.nextMonth ?? nextLabel,\n nextIcon,\n previousLabel: ariaLabels?.previousMonth ?? previousLabel,\n previousIcon,\n monthLabelFormat,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n static: isStatic,\n withCellSpacing,\n highlightToday,\n withWeekNumbers,\n headerControlsOrder,\n ...stylesApiProps\n }\n ),\n _level === \"year\" && /* @__PURE__ */ jsx(\n YearLevelGroup,\n {\n year: currentDate,\n numberOfColumns,\n minDate,\n maxDate,\n monthsListFormat,\n getMonthControlProps,\n locale,\n onNext: handleNextYear,\n onPrevious: handlePreviousYear,\n hasNextLevel: maxLevel !== \"month\" && maxLevel !== \"year\",\n onLevelClick: () => setLevel(\"decade\"),\n levelControlAriaLabel: ariaLabels?.yearLevelControl,\n nextLabel: ariaLabels?.nextYear ?? nextLabel,\n nextIcon,\n previousLabel: ariaLabels?.previousYear ?? previousLabel,\n previousIcon,\n yearLabelFormat,\n __onControlMouseEnter: onMonthMouseEnter,\n __onControlClick: (_event, payload) => {\n __updateDateOnMonthSelect && setDate(payload);\n setLevel(clampLevel(\"month\", minLevel, maxLevel));\n onMonthSelect?.(payload);\n },\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n headerControlsOrder,\n ...stylesApiProps\n }\n ),\n _level === \"decade\" && /* @__PURE__ */ jsx(\n DecadeLevelGroup,\n {\n decade: currentDate,\n minDate,\n maxDate,\n yearsListFormat,\n getYearControlProps,\n locale,\n onNext: handleNextDecade,\n onPrevious: handlePreviousDecade,\n numberOfColumns,\n nextLabel: ariaLabels?.nextDecade ?? nextLabel,\n nextIcon,\n previousLabel: ariaLabels?.previousDecade ?? previousLabel,\n previousIcon,\n decadeLabelFormat,\n __onControlMouseEnter: onYearMouseEnter,\n __onControlClick: (_event, payload) => {\n __updateDateOnYearSelect && setDate(payload);\n setLevel(clampLevel(\"year\", minLevel, maxLevel));\n onYearSelect?.(payload);\n },\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n headerControlsOrder,\n ...stylesApiProps\n }\n )\n ] });\n});\nCalendar.classes = {\n ...DecadeLevelGroup.classes,\n ...YearLevelGroup.classes,\n ...MonthLevelGroup.classes\n};\nCalendar.displayName = \"@mantine/dates/Calendar\";\n\nexport { Calendar };\n//# sourceMappingURL=Calendar.mjs.map\n","'use client';\nfunction pickCalendarProps(props) {\n const {\n maxLevel,\n minLevel,\n defaultLevel,\n level,\n onLevelChange,\n nextIcon,\n previousIcon,\n date,\n defaultDate,\n onDateChange,\n numberOfColumns,\n columnsToScroll,\n ariaLabels,\n nextLabel,\n previousLabel,\n onYearSelect,\n onMonthSelect,\n onYearMouseEnter,\n onMonthMouseEnter,\n onNextMonth,\n onPreviousMonth,\n onNextYear,\n onPreviousYear,\n onNextDecade,\n onPreviousDecade,\n withCellSpacing,\n highlightToday,\n __updateDateOnYearSelect,\n __updateDateOnMonthSelect,\n __setDateRef,\n __setLevelRef,\n withWeekNumbers,\n headerControlsOrder,\n // MonthLevelGroup props\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n monthLabelFormat,\n // YearLevelGroup props\n monthsListFormat,\n getMonthControlProps,\n yearLabelFormat,\n // DecadeLevelGroup props\n yearsListFormat,\n getYearControlProps,\n decadeLabelFormat,\n // External picker props\n allowSingleDateInRange,\n allowDeselect,\n // Other props\n minDate,\n maxDate,\n locale,\n ...others\n } = props;\n return {\n calendarProps: {\n maxLevel,\n minLevel,\n defaultLevel,\n level,\n onLevelChange,\n nextIcon,\n previousIcon,\n date,\n defaultDate,\n onDateChange,\n numberOfColumns,\n columnsToScroll,\n ariaLabels,\n nextLabel,\n previousLabel,\n onYearSelect,\n onMonthSelect,\n onYearMouseEnter,\n onMonthMouseEnter,\n onNextMonth,\n onPreviousMonth,\n onNextYear,\n onPreviousYear,\n onNextDecade,\n onPreviousDecade,\n withCellSpacing,\n highlightToday,\n __updateDateOnYearSelect,\n __updateDateOnMonthSelect,\n __setDateRef,\n withWeekNumbers,\n headerControlsOrder,\n // MonthLevelGroup props\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n monthLabelFormat,\n // YearLevelGroup props\n monthsListFormat,\n getMonthControlProps,\n yearLabelFormat,\n // DecadeLevelGroup props\n yearsListFormat,\n getYearControlProps,\n decadeLabelFormat,\n // External picker props\n allowSingleDateInRange,\n allowDeselect,\n // Other props\n minDate,\n maxDate,\n locale\n },\n others\n };\n}\n\nexport { pickCalendarProps };\n//# sourceMappingURL=pick-calendar-levels-props.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction dateStringParser(dateString) {\n if (dateString === null) {\n return null;\n }\n const date = new Date(dateString);\n if (Number.isNaN(date.getTime()) || !dateString) {\n return null;\n }\n return dayjs(date).format(\"YYYY-MM-DD\");\n}\n\nexport { dateStringParser };\n//# sourceMappingURL=date-string-parser.mjs.map\n","'use client';\nimport dayjs from 'dayjs';\n\nfunction isDateValid({ date, maxDate, minDate }) {\n if (date == null) {\n return false;\n }\n if (Number.isNaN(new Date(date).getTime())) {\n return false;\n }\n if (maxDate && dayjs(date).isAfter(maxDate, \"date\")) {\n return false;\n }\n if (minDate && dayjs(date).isBefore(minDate, \"date\")) {\n return false;\n }\n return true;\n}\n\nexport { isDateValid };\n//# sourceMappingURL=is-date-valid.mjs.map\n","'use client';\nimport { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport dayjs from 'dayjs';\nimport { useRef, useState, useEffect } from 'react';\nimport { factory, useInputProps, Input, Popover } from '@mantine/core';\nimport { useDidUpdate, useClickOutside } from '@mantine/hooks';\nimport { useUncontrolledDates } from '../../hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs';\nimport '../DatesProvider/DatesProvider.mjs';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.mjs';\nimport { Calendar } from '../Calendar/Calendar.mjs';\nimport { pickCalendarProps } from '../Calendar/pick-calendar-levels-props/pick-calendar-levels-props.mjs';\nimport { HiddenDatesInput } from '../HiddenDatesInput/HiddenDatesInput.mjs';\nimport { isSameMonth } from '../Month/is-same-month/is-same-month.mjs';\nimport '../Month/Month.mjs';\nimport { dateStringParser } from './date-string-parser/date-string-parser.mjs';\nimport { isDateValid } from './is-date-valid/is-date-valid.mjs';\n\nconst defaultProps = {\n valueFormat: \"MMMM D, YYYY\",\n fixOnBlur: true,\n size: \"sm\"\n};\nconst DateInput = factory((_props, ref) => {\n const props = useInputProps(\"DateInput\", defaultProps, _props);\n const {\n inputProps,\n wrapperProps,\n value,\n defaultValue,\n onChange,\n clearable,\n clearButtonProps,\n popoverProps,\n getDayProps,\n locale,\n valueFormat,\n dateParser,\n minDate,\n maxDate,\n fixOnBlur,\n onFocus,\n onBlur,\n onClick,\n onKeyDown,\n readOnly,\n name,\n form,\n rightSection,\n unstyled,\n classNames,\n styles,\n allowDeselect,\n date,\n defaultDate,\n onDateChange,\n getMonthControlProps,\n getYearControlProps,\n disabled,\n ...rest\n } = props;\n const _wrapperRef = useRef(null);\n const _dropdownRef = useRef(null);\n const [dropdownOpened, setDropdownOpened] = useState(false);\n const { calendarProps, others } = pickCalendarProps(rest);\n const ctx = useDatesContext();\n const defaultDateParser = (val) => {\n const parsedDate = dayjs(val, valueFormat, ctx.getLocale(locale)).toDate();\n return Number.isNaN(parsedDate.getTime()) ? dateStringParser(val) : dayjs(parsedDate).format(\"YYYY-MM-DD\");\n };\n const _dateParser = dateParser || defaultDateParser;\n const _allowDeselect = allowDeselect !== void 0 ? allowDeselect : clearable;\n const formatValue = (val) => val ? dayjs(val).locale(ctx.getLocale(locale)).format(valueFormat) : \"\";\n const [_value, setValue, controlled] = useUncontrolledDates({\n type: \"default\",\n value,\n defaultValue,\n onChange\n });\n const [_date, setDate] = useUncontrolledDates({\n type: \"default\",\n value: date,\n defaultValue: defaultValue || defaultDate,\n onChange: onDateChange\n });\n useEffect(() => {\n if (controlled && value !== null) {\n setDate(value);\n }\n }, [controlled, value]);\n const [inputValue, setInputValue] = useState(formatValue(_value));\n useEffect(() => {\n setInputValue(formatValue(_value));\n }, [ctx.getLocale(locale)]);\n const handleInputChange = (event) => {\n const val = event.currentTarget.value;\n setInputValue(val);\n setDropdownOpened(true);\n if (val.trim() === \"\" && (allowDeselect || clearable)) {\n setValue(null);\n } else {\n const dateValue = _dateParser(val);\n if (dateValue && isDateValid({ date: dateValue, minDate, maxDate })) {\n setValue(dateValue);\n setDate(dateValue);\n }\n }\n };\n const handleInputBlur = (event) => {\n onBlur?.(event);\n setDropdownOpened(false);\n fixOnBlur && setInputValue(formatValue(_value));\n };\n const handleInputFocus = (event) => {\n onFocus?.(event);\n setDropdownOpened(true);\n };\n const handleInputClick = (event) => {\n onClick?.(event);\n setDropdownOpened(true);\n };\n const handleInputKeyDown = (event) => {\n if (event.key === \"Escape\") {\n setDropdownOpened(false);\n }\n onKeyDown?.(event);\n };\n const _getDayProps = (day) => ({\n ...getDayProps?.(day),\n selected: dayjs(_value).isSame(day, \"day\"),\n onClick: (event) => {\n getDayProps?.(day).onClick?.(event);\n const val = _allowDeselect ? dayjs(_value).isSame(day, \"day\") ? null : day : day;\n setValue(val);\n !controlled && val && setInputValue(formatValue(val));\n setDropdownOpened(false);\n }\n });\n const clearButton = /* @__PURE__ */ jsx(\n Input.ClearButton,\n {\n onClick: () => {\n setValue(null);\n !controlled && setInputValue(\"\");\n setDropdownOpened(false);\n },\n unstyled,\n ...clearButtonProps\n }\n );\n const _clearable = clearable && !!_value && !readOnly && !disabled;\n useDidUpdate(() => {\n _value !== void 0 && !dropdownOpened && setInputValue(formatValue(_value));\n }, [_value]);\n useClickOutside(() => setDropdownOpened(false), void 0, [\n _wrapperRef.current,\n _dropdownRef.current\n ]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Input.Wrapper, { ...wrapperProps, __staticSelector: \"DateInput\", ref: _wrapperRef, children: /* @__PURE__ */ jsxs(\n Popover,\n {\n opened: dropdownOpened,\n trapFocus: false,\n position: \"bottom-start\",\n disabled: readOnly || disabled,\n withRoles: false,\n unstyled,\n ...popoverProps,\n children: [\n /* @__PURE__ */ jsx(Popover.Target, { children: /* @__PURE__ */ jsx(\n Input,\n {\n \"data-dates-input\": true,\n \"data-read-only\": readOnly || void 0,\n autoComplete: \"off\",\n ref,\n value: inputValue,\n onChange: handleInputChange,\n onBlur: handleInputBlur,\n onFocus: handleInputFocus,\n onClick: handleInputClick,\n onKeyDown: handleInputKeyDown,\n readOnly,\n rightSection,\n __clearSection: clearButton,\n __clearable: _clearable,\n ...inputProps,\n ...others,\n disabled,\n __staticSelector: \"DateInput\"\n }\n ) }),\n /* @__PURE__ */ jsx(\n Popover.Dropdown,\n {\n onMouseDown: (event) => event.preventDefault(),\n \"data-dates-dropdown\": true,\n ref: _dropdownRef,\n children: /* @__PURE__ */ jsx(\n Calendar,\n {\n __staticSelector: \"DateInput\",\n ...calendarProps,\n classNames,\n styles,\n unstyled,\n __preventFocus: true,\n minDate,\n maxDate,\n locale,\n getDayProps: _getDayProps,\n size: inputProps.size,\n date: _date,\n onDateChange: setDate,\n getMonthControlProps: (date2) => ({\n selected: typeof _value === \"string\" ? isSameMonth(date2, _value) : false,\n ...getMonthControlProps?.(date2)\n }),\n getYearControlProps: (date2) => ({\n selected: typeof _value === \"string\" ? dayjs(date2).isSame(_value, \"year\") : false,\n ...getYearControlProps?.(date2)\n }),\n attributes: wrapperProps.attributes\n }\n )\n }\n )\n ]\n }\n ) }),\n /* @__PURE__ */ jsx(HiddenDatesInput, { name, form, value: _value, type: \"default\" })\n ] });\n});\nDateInput.classes = { ...Input.classes, ...Calendar.classes };\nDateInput.displayName = \"@mantine/dates/DateInput\";\n\nexport { DateInput };\n//# sourceMappingURL=DateInput.mjs.map\n","import {\n Alert,\n Button,\n Checkbox,\n Group,\n NumberInput,\n Stepper,\n Textarea,\n TextInput,\n} from \"@mantine/core\";\nimport { useForm } from \"@mantine/form\";\nimport { BaseEntity, useAddOne, useUpdateOne } from \"../Hooks/useApi\";\nimport { Field, StepConfig } from \"./DataTableInner.tsx\";\nimport { Fragment, useState } from \"react\";\n// @ts-expect-error - FormRule not publicly exported from @mantine/form\nimport type { FormRule } from \"@mantine/form/lib/types\";\nimport { DateInput } from \"@mantine/dates\";\n\nexport interface CreateModalProps<T> {\n fields: Field<T>[];\n onClose: () => void;\n queryKey: (string | number)[];\n apiPath: string;\n steps?: StepConfig[];\n onCreated?: (id: string | number) => void;\n}\n\nexport function CreateModal<T extends BaseEntity>({\n fields,\n onClose,\n queryKey,\n apiPath,\n steps,\n onCreated,\n}: CreateModalProps<T>) {\n const [active, setActive] = useState(0);\n const [hideButtons, setHideButtons] = useState<boolean>(false);\n const [recordId, setRecordId] = useState<string | number>();\n\n const {\n mutateAsync: create,\n isError: isCreateError,\n error: createError,\n isPending: isCreatePending,\n } = useAddOne<T>(apiPath, queryKey);\n const { mutateAsync: update, isPending: isUpdatePending } = useUpdateOne<T>(\n apiPath,\n queryKey,\n );\n\n const isPending = isCreatePending || isUpdatePending;\n\n const stepsAvailable = [\n ...new Set(\n fields\n .filter((f) => typeof f.step === \"number\")\n .map((f) => f.step as number),\n ),\n ];\n\n function resolveRequired(field: Field<T>, values?: Partial<T>): boolean {\n if (typeof field.required === \"function\") {\n return field.required(values ?? ({} as Partial<T>));\n }\n return !!field.required;\n }\n\n const form = useForm({\n mode: \"uncontrolled\",\n initialValues: fields.reduce((acc, field) => {\n acc[field.id as keyof T] =\n field.type === \"boolean\"\n ? (false as T[keyof T])\n : (field.defaultValue ?? (\"\" as T[keyof T]));\n return acc;\n }, {} as T),\n validate: fields\n .filter((field) => field.required)\n .reduce(\n (acc, field) => {\n acc[field.id as keyof T] = (value: never, values: T) => {\n if (field.conditional && !field.conditional(values)) return null;\n if (!resolveRequired(field, values)) return null;\n return value ? null : \"Pflichtfeld\";\n };\n return acc;\n },\n {} as Partial<{ [Key in keyof T]: FormRule<T[Key], T> }>,\n ),\n });\n\n function renderField(field: Field<T>) {\n const formValues = form.getValues();\n if (field.conditional && !field.conditional(formValues)) {\n return null;\n }\n const isRequired = resolveRequired(field, formValues);\n return (\n <Fragment key={field.id}>\n {(field.type === undefined || field.type == \"text\") && (\n <TextInput\n label={field.column.title}\n key={form.key(field.id)}\n placeholder={field.placeholder ?? \"\"}\n {...form.getInputProps(field.id as string)}\n type={field.id.includes(\"email\") ? \"email\" : undefined}\n required={isRequired}\n />\n )}\n\n {field.type === \"number\" && (\n <NumberInput\n decimalSeparator=\",\"\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"date\" && (\n <DateInput\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n valueFormat={\"DD.MM.YYYY\"}\n clearable\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"boolean\" && (\n <Checkbox\n mt=\"md\"\n label={field.column.title}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string, { type: \"checkbox\" })}\n required={isRequired}\n />\n )}\n\n {field.type === \"textarea\" && (\n <Textarea\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string)}\n minRows={3}\n autosize\n required={isRequired}\n />\n )}\n\n {field.type === \"custom\" &&\n field.render &&\n field.render(\n { ...form.getValues(), ...(recordId && { id: recordId }) } as T,\n form.setValues,\n setHideButtons,\n {\n error: form.getInputProps(field.id as string).error,\n required: isRequired,\n },\n )}\n </Fragment>\n );\n }\n\n return (\n <>\n {isCreateError && (\n <Alert\n variant=\"outline\"\n color=\"red\"\n title={createError?.name ?? \"Fehler aufgetreten\"}\n mb=\"lg\"\n >\n {createError?.message ?? \"Fehler aufgetreten\"}\n </Alert>\n )}\n\n <form\n onSubmit={form.onSubmit(async (values) => {\n if (recordId) {\n await update({ ...values, id: recordId } as T);\n } else {\n const result = await create(values as T);\n setRecordId(result.id);\n onCreated?.(result.id);\n }\n\n if (stepsAvailable.length && active < stepsAvailable.length - 1) {\n if (!isCreateError) {\n setActive(active + 1);\n }\n } else {\n if (!isCreateError) {\n form.setInitialValues(values);\n form.reset();\n onClose();\n }\n }\n })}\n >\n {stepsAvailable.length ? (\n <Stepper active={active} size=\"sm\">\n {stepsAvailable.map((step) => (\n <Stepper.Step\n key={step}\n {...(steps && steps[step - 1]\n ? { label: steps[step - 1].label }\n : {})}\n >\n {fields\n .filter((f) => f.step === step)\n .map((field) => renderField(field))}\n </Stepper.Step>\n ))}\n </Stepper>\n ) : (\n fields.map((field) => renderField(field))\n )}\n {!hideButtons && (\n <Group mt=\"md\" justify=\"end\">\n <Button\n onClick={() =>\n stepsAvailable.length\n ? active === 0\n ? onClose()\n : setActive(active - 1)\n : onClose()\n }\n variant=\"outline\"\n >\n {stepsAvailable.length\n ? active === 0\n ? \"Abbrechen\"\n : \"Zurück\"\n : \"Abbrechen\"}\n </Button>\n <Button type=\"submit\" loading={isPending}>\n {stepsAvailable.length\n ? active === stepsAvailable.length - 1\n ? \"Speichern\"\n : \"Weiter\"\n : \"Speichern\"}\n </Button>\n </Group>\n )}\n </form>\n </>\n );\n}\n","\"use client\";import{Box as el,Table as tl}from\"@mantine/core\";import{useMergedRef as Qo}from\"@mantine/hooks\";import Ko from\"clsx\";import{useCallback as Dt,useEffect as ol,useLayoutEffect as nl,useMemo as al,useRef as xt,useState as rl}from\"react\";import{useState as kt}from\"react\";import{createSafeContext as ta}from\"@mantine/core\";var[Mt,ue]=ta(\"useDataTableColumnsContext must be used within DataTableColumnProvider\");import{jsx as oa}from\"react/jsx-runtime\";var it=e=>{let{children:t,columnsOrder:o,setColumnsOrder:n,columnsToggle:a,setColumnsToggle:r,resetColumnsOrder:l,resetColumnsToggle:c,setColumnWidth:m,setMultipleColumnWidths:u,resetColumnsWidth:f}=e,[p,d]=kt(\"\"),[s,i]=kt(\"\");return oa(Mt,{value:{sourceColumn:p,setSourceColumn:d,targetColumn:s,setTargetColumn:i,columnsToggle:a,setColumnsToggle:r,swapColumns:()=>{if(!o||!n||!p||!s)return;let h=o.indexOf(p),y=o.indexOf(s);if(h!==-1&&y!==-1){let v=o.splice(h,1)[0];o.splice(y,0,v),n([...o])}},resetColumnsOrder:l,resetColumnsToggle:c,setColumnWidth:m,setMultipleColumnWidths:u,resetColumnsWidth:f},children:t})};import{jsx as Et}from\"react/jsx-runtime\";function Nt(){return Et(\"tr\",{className:\"mantine-datatable-empty-row\",children:Et(\"td\",{})})}import{Center as aa,Text as ra}from\"@mantine/core\";import{jsx as Se,jsxs as na}from\"react/jsx-runtime\";function Lt(){return na(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Se(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Se(\"path\",{d:\"M12.983 8.978c3.955 -.182 7.017 -1.446 7.017 -2.978c0 -1.657 -3.582 -3 -8 -3c-1.661 0 -3.204 .19 -4.483 .515m-2.783 1.228c-.471 .382 -.734 .808 -.734 1.257c0 1.22 1.944 2.271 4.734 2.74\"}),Se(\"path\",{d:\"M4 6v6c0 1.657 3.582 3 8 3c.986 0 1.93 -.067 2.802 -.19m3.187 -.82c1.251 -.53 2.011 -1.228 2.011 -1.99v-6\"}),Se(\"path\",{d:\"M4 12v6c0 1.657 3.582 3 8 3c3.217 0 5.991 -.712 7.261 -1.74m.739 -3.26v-4\"}),Se(\"path\",{d:\"M3 3l18 18\"})]})}import{Fragment as la,jsx as We,jsxs as ia}from\"react/jsx-runtime\";function Wt({icon:e,text:t,active:o,children:n}){return We(aa,{className:\"mantine-datatable-empty-state\",\"data-active\":o||void 0,children:n||ia(la,{children:[e||We(\"div\",{className:\"mantine-datatable-empty-state-icon\",children:We(Lt,{})}),We(ra,{component:\"div\",size:\"sm\",c:\"dimmed\",children:t})]})})}import{TableTfoot as Ia,TableTr as Ha}from\"@mantine/core\";import Oa from\"clsx\";import{TableTh as ka}from\"@mantine/core\";import Ea from\"clsx\";import{useCallback as Ml,useRef as kl,useState as El}from\"react\";import{useLocalStorage as sa}from\"@mantine/hooks\";function It({key:e,columns:t=[],getInitialValueInEffect:o=!0}){function n(p,d){let s=[];return p.forEach(i=>{d.find(g=>g.accessor===i)&&s.push(i)}),d.forEach(i=>{s.includes(i.accessor)||s.push(i.accessor)}),s}let a=t&&t.map(p=>p.accessor)||[],[r,l]=sa({key:e?`${e}-columns-order`:\"\",defaultValue:e?a:void 0,getInitialValueInEffect:o});function c(p){e&&l(p)}let m=()=>{c(a)};if(!e)return{columnsOrder:r,setColumnsOrder:c,resetColumnsOrder:m};let u=n(r,t),f=JSON.stringify(r);return JSON.stringify(u)!==f&&c(u),{columnsOrder:u,setColumnsOrder:c,resetColumnsOrder:m}}import{useLocalStorage as ca}from\"@mantine/hooks\";import{useCallback as re,useEffect as st,useMemo as Ie,useRef as Ht,useState as Ot}from\"react\";function _t({key:e,columns:t=[],getInitialValueInEffect:o=!0,headerRef:n,onFixedLayoutChange:a}){let r=Ht(!1),l=Ht({}),[c,m]=Ot(!0),u=Ie(()=>t.some(b=>b.resizable&&!b.hidden&&b.accessor!==\"__selection__\"),[t]),f=Ie(()=>t.filter(b=>b.resizable&&!b.hidden&&b.accessor!==\"__selection__\"),[t]),p=Ie(()=>f.some(b=>b.width===void 0||b.width===\"\"||b.width===\"initial\"),[f]),d=re(()=>t.filter(b=>b.accessor!==\"__selection__\").map(b=>({[b.accessor]:b.width??\"auto\"})),[t]),[s,i]=ca({key:e?`${e}-columns-width`:\"\",defaultValue:e?d():void 0,getInitialValueInEffect:!1}),[g,h]=Ot(()=>d());st(()=>{m(!1)},[]);let y=re(()=>{if(!n?.current||c)return{};let b=n.current,x=Array.from(b.querySelectorAll(\"th[data-accessor]\")),k={};return x.forEach(E=>{let L=E.getAttribute(\"data-accessor\");if(!L||L===\"__selection__\")return;let C=f.find(w=>w.accessor===L);if(C&&(C.width===void 0||C.width===\"\"||C.width===\"initial\")){let w=E.getBoundingClientRect();k[L]=Math.round(w.width)}}),k},[n,f,c]),v=re(b=>{let x=b.filter(E=>E.accessor!==\"__selection__\"),k=g.map(E=>{let L=Object.keys(E)[0],C=x.find(w=>w.accessor===L);return C?{[L]:C.width}:E});h(k),e&&i(k)},[g,e,i]),M=re(b=>{v(b)},[v]),R=re(()=>{if(!(!n?.current||!a||c))if(p)a(!1),requestAnimationFrame(()=>{requestAnimationFrame(()=>{let b=y();l.current={...l.current,...b};let x=t.filter(k=>k.accessor!==\"__selection__\").map(k=>{let E=k.accessor,L=s?.find(w=>Object.keys(w)[0]===E);if(L&&L[E]!==\"auto\")return{[E]:L[E]};let C=b[E];return C?{[E]:`${C}px`}:{[E]:k.width??\"auto\"}});h(x),setTimeout(()=>{a(!0),r.current=!0},10)})});else{let b=t.filter(x=>x.accessor!==\"__selection__\").map(x=>({[x.accessor]:x.width??\"auto\"}));h(b),a(!0),r.current=!0}},[n,a,c,p,y,t,s]),W=R;st(()=>{if(!u||!a||c){a?.(!1);return}r.current=!1;let b=setTimeout(()=>{R()},50);return()=>clearTimeout(b)},[u,a,c,R]),st(()=>{c||!e||!o||s&&s.length>0&&h(s)},[c,e,o,s]);let D=re(()=>{e&&i(d()),l.current={},r.current=!1,a&&(a(!1),setTimeout(()=>{R()},10))},[e,i,d,a,R]),T=re((b,x)=>{v([{accessor:b,width:x}])},[v]),P=Ie(()=>u?g.filter(b=>{let x=Object.keys(b)[0];return f.some(k=>k.accessor===x)}).every(b=>{let x=Object.values(b)[0];return x===\"auto\"||x===\"initial\"}):!1,[u,g,f]);return{columnsWidth:g,setColumnsWidth:v,setColumnWidth:T,setMultipleColumnWidths:M,resetColumnsWidth:D,hasResizableColumns:u,allResizableWidthsInitial:P,measureAndSetColumnWidths:W}}import{useMemo as da}from\"react\";import{useLocalStorage as ua}from\"@mantine/hooks\";function At({key:e,columns:t=[],getInitialValueInEffect:o=!0}){function n(p,d){let s=[];return p.forEach(i=>{d.find(g=>g.accessor===i.accessor)&&s.push(i)}),d.forEach(i=>{s.find(g=>g.accessor===i.accessor)||s.push({accessor:i.accessor,defaultToggle:i.defaultToggle||!0,toggleable:i.toggleable,toggled:i.defaultToggle===void 0?!0:i.defaultToggle})}),s}let a=t&&t.map(p=>({accessor:p.accessor,defaultToggle:p.defaultToggle||!0,toggleable:p.toggleable,toggled:p.defaultToggle===void 0?!0:p.defaultToggle})),[r,l]=ua({key:e?`${e}-columns-toggle`:\"\",defaultValue:e?a:void 0,getInitialValueInEffect:o});function c(p){e&&l(p)}let m=()=>{c(a)};if(!e)return{columnsToggle:r,setColumnsToggle:c,resetColumnsToggle:m};let u=n(r,t),f=JSON.stringify(r);return JSON.stringify(u)!==f&&c(u),{columnsToggle:u,setColumnsToggle:c,resetColumnsToggle:m}}var zt=({key:e,columns:t=[],getInitialValueInEffect:o=!0,headerRef:n,scrollViewportRef:a,onFixedLayoutChange:r})=>{let{columnsOrder:l,setColumnsOrder:c,resetColumnsOrder:m}=It({key:e,columns:t,getInitialValueInEffect:o}),{columnsToggle:u,setColumnsToggle:f,resetColumnsToggle:p}=At({key:e,columns:t,getInitialValueInEffect:o}),{columnsWidth:d,setColumnsWidth:s,setColumnWidth:i,setMultipleColumnWidths:g,resetColumnsWidth:h,hasResizableColumns:y,allResizableWidthsInitial:v,measureAndSetColumnWidths:M}=_t({key:e,columns:t,getInitialValueInEffect:o,headerRef:n,scrollViewportRef:a,onFixedLayoutChange:r});return{effectiveColumns:da(()=>l?l.map(T=>t.find(P=>P.accessor===T)).map(T=>({...T,hidden:T?.hidden||!u.find(P=>P.accessor===T?.accessor)?.toggled})).map(T=>T?.accessor===\"__selection__\"?T:{...T,width:d.find(P=>P[T?.accessor])?.[T?.accessor]}):t,[t,l,u,d]),setColumnsOrder:c,columnsOrder:l,resetColumnsOrder:m,columnsToggle:u,setColumnsToggle:f,resetColumnsToggle:p,columnsWidth:d,setColumnsWidth:s,setColumnWidth:i,setMultipleColumnWidths:g,resetColumnsWidth:h,hasResizableColumns:y,allResizableWidthsInitial:v,measureAndSetColumnWidths:M}};import{rem as ba}from\"@mantine/core\";import{useCallback as Ta,useEffect as dt,useRef as K}from\"react\";import{useEffect as ma,useLayoutEffect as pa}from\"react\";var ct=typeof window<\"u\"?pa:ma;import{useRef as fa}from\"react\";function ut(e){let t=fa(e);return t.current=e,t}var Bt=\"--mantine-datatable-header-height\",Vt=\"--mantine-datatable-footer-height\",Gt=\"--mantine-datatable-selection-column-width\",Ft=\"--mantine-datatable-last-row-border-bottom\";function G(e,t,o){e?.style.setProperty(t,o)}function pt(e){let t=e.borderBoxSize?.[0]||e.contentBoxSize?.[0];return t?{width:t.inlineSize,height:t.blockSize}:{width:e.contentRect.width,height:e.contentRect.height}}function mt(e,t,o){if(e){let n=new ResizeObserver(a=>{let r=a[0];r&&t(pt(r))});return n.observe(e),()=>{n.disconnect(),o()}}}function $t({scrollCallbacks:e,withRowBorders:t}){let o={root:K(null),table:K(null),scrollViewport:K(null),header:K(null),footer:K(null),selectionColumnHeader:K(null)},{root:n,table:a,scrollViewport:r,header:l,footer:c,selectionColumnHeader:m}=o,u=ut({withRowBorders:t}),f=ut(e),p=K(()=>{}),d=K(()=>{}),s=Ta(i=>{f.current.onScroll?.(i),p.current()},[]);return dt(()=>mt(l.current,i=>{G(n.current,Bt,`${i.height}px`)},()=>G(n.current,Bt,\"0\")),[l.current]),dt(()=>mt(c.current,i=>{G(n.current,Vt,`${i.height}px`)},()=>G(n.current,Vt,\"0\")),[c.current]),dt(()=>mt(m.current,i=>{G(n.current,Gt,`${i.width}px`)},()=>G(n.current,Gt,\"0\")),[m.current]),ct(()=>{if(typeof window===void 0)return;let i={top:!0,bottom:!0,left:!0,right:!0},g={width:0,height:0},h={width:0,height:0};function y(D,T){let P=i[D];return i[D]=T,G(n.current,`--mantine-datatable-${D}-shadow-opacity`,T?\"0\":\"1\"),P}function v(){let D=g.height-h.height,T=D<0;G(n.current,\"--mantine-datatable-footer-position\",T?\"relative\":\"sticky\"),G(n.current,\"--mantine-datatable-footer-bottom\",T?`${D}px`:\"0\")}function M(){u.current.withRowBorders&&g.height<h.height?G(n.current,Ft,`${ba(\"1px\")} solid var(--mantine-datatable-border-color)`):G(n.current,Ft,\"unset\")}d.current=M;function R(){let D=f.current,T=r.current,P=T?.scrollTop??0,b=T?.scrollLeft??0,x=P===0,k=g.height-P-h.height<1,E=y(\"top\",x),L=y(\"bottom\",k);x&&x!==E&&D.onScrollToTop?.(),k&&k!==L&&D.onScrollToBottom?.();let C=T?getComputedStyle(T).direction===\"rtl\":!1,w=(T?.scrollWidth??0)-h.width,S,I;if(C){let F=Math.abs(b);I=F<1,S=w-F<1}else S=b<1,I=g.width-b-h.width<1;let A=y(\"left\",S),H=y(\"right\",I);S&&S!==A&&D.onScrollToLeft?.(),I&&I!==H&&D.onScrollToRight?.()}p.current=R;let W=new ResizeObserver(D=>{for(let T of D)switch(T.target.tagName){case\"TABLE\":{g=pt(T);break}case\"DIV\":{h=pt(T);break}}R(),v(),M()});return W.observe(a.current),W.observe(r.current),()=>{W.disconnect()}},[]),ct(()=>{d.current()},[t]),{refs:o,onScroll:s}}import{useEffect as ga,useState as ha}from\"react\";function Xt(e){let[t,o]=ha(null),n=e?.join(\":\")||\"\";return ga(()=>{o(null)},[n]),{lastSelectionChangeIndex:t,setLastSelectionChangeIndex:o}}import{useEffect as Ca,useRef as ya,useState as Da}from\"react\";function xa(e,t){let o=()=>{t(e.map(a=>a.matches))},n=e.map(a=>{try{return a.addEventListener(\"change\",o),()=>a.removeEventListener(\"change\",o)}catch{return a.addListener(o),()=>a.removeListener(o)}});return()=>{n.forEach(a=>a())}}function wa(e,t){return t||(typeof window<\"u\"&&\"matchMedia\"in window?e.map(o=>window.matchMedia(o).matches):e.map(()=>!1))}function Ut(e,t,{getInitialValueInEffect:o}={getInitialValueInEffect:!0}){let[n,a]=Da(o?t:wa(e,t)),r=ya(null);return Ca(()=>{if(\"matchMedia\"in window)return r.current=e.map(l=>window.matchMedia(l)),a(r.current.map(l=>l.matches)),xa(r.current,l=>{a(l)})},[e]),n}import{useMantineTheme as Sa}from\"@mantine/core\";import{useMemo as Qt}from\"react\";function Kt(e){let t=Sa(),o=Qt(()=>e.map(a=>(typeof a==\"function\"?a(t):a)??\"\"),[e,t]),n=Qt(()=>e.map(()=>!0),[e]);return Ut(o,n)}import{useMantineTheme as Ra}from\"@mantine/core\";import{useMediaQuery as Pa}from\"@mantine/hooks\";function J(e){let t=Ra(),o=typeof e==\"function\"?e(t):e;return Pa(o||\"\",!0)}import{useState as va}from\"react\";function de(e){let t=e.replace(/([a-z\\d])([A-Z]+)/g,\"$1 $2\").replace(/\\W|_/g,\" \").trim().toLowerCase();return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}function Jt(e,t,o){return e.filter(n=>!t.map(o).includes(o(n)))}function He(e,t){return e.filter((o,n,a)=>n===a.findIndex(r=>t(o)===t(r)))}function ft(e,t){return t?t.match(/([^[.\\]])+/g).reduce((n,a)=>n&&n[a],e):void 0}function _(e,t){return typeof t==\"string\"?ft(e,t):t(e)}function ui(e,t){let o=structuredClone(t),n=o[e.source.index];return e.destination&&(o.splice(e.source.index,1),o.splice(e.destination.index,0,n)),o}function di(e,t){let o=structuredClone(t),n=e.destination;if(!n)return o;let a=o[e.source.index],r=o[n.index];return o.splice(n.index,1,a),o.splice(e.source.index,1,r),o}function bt(e){return!e||e.length===0?0:Math.max(...e.map(t=>t.groups&&t.groups.length>0?1+bt(t.groups):1))}function Re(e){let t=[];for(let o of e)o.columns&&o.columns.length>0?t.push(...o.columns.filter(n=>n!=null)):o.groups&&o.groups.length>0&&t.push(...Re(o.groups));return t.filter(o=>o!=null)}function Oe(e,t){return e.columns&&e.columns.length>0?e.columns.filter((o,n)=>o.hidden?!1:t?t[n]!==!1:!0).length:e.groups&&e.groups.length>0?e.groups.reduce((o,n)=>o+Oe(n,t),0):0}function Tt(e,t,o=0){if(o===t)return[...e];let n=[];for(let a of e)a.groups&&a.groups.length>0&&n.push(...Tt(a.groups,t,o+1));return n}function jt(e,t,o){return o?!e||t:!1}function Zt({rowExpansion:e,records:t,idAccessor:o}){let n=[];if(e&&t){let{trigger:c,allowMultiple:m,initiallyExpanded:u}=e;t&&c===\"always\"?n=t.map(f=>_(f,o)):u&&(n=t.filter((f,p)=>u({record:f,index:p})).map(f=>_(f,o)),m||(n=[n[0]]))}let a,r,l=va(n);if(e){let{expandable:c,trigger:m,allowMultiple:u,collapseProps:f,content:p}=e;e.expanded?{recordIds:a,onRecordIdsChange:r}=e.expanded:[a,r]=l;let d=s=>r?.(a.filter(i=>i!==_(s,o)));return{expandOnClick:m!==\"always\"&&m!==\"never\",isRowExpanded:s=>m===\"always\"?!0:a.includes(_(s,o)),isExpandable:({record:s,index:i})=>c?c({record:s,index:i}):!0,expandRow:s=>{let i=_(s,o);r?.(u?[...a,i]:[i])},collapseRow:d,collapseProps:f,content:({record:s,index:i})=>()=>p({record:s,index:i,collapse:()=>d(s)})}}}import{useTimeout as Yt}from\"@mantine/hooks\";import{useEffect as Ma,useState as qt}from\"react\";function eo(e,t){let[o,n]=qt(e),[a,r]=qt(e),l=Yt(()=>n(!0),0),c=Yt(()=>r(!1),t||200);return Ma(()=>{e?(c.clear(),r(!0),l.start()):(l.clear(),n(!1),c.start())},[l,c,e]),{expanded:o,visible:a}}var me=\"mantine-datatable-nowrap\",pe=\"mantine-datatable-ellipsis\",X=\"mantine-datatable-pointer-cursor\",_e=\"mantine-datatable-context-menu-cursor\",to=\"mantine-datatable-text-selection-disabled\",j=\"mantine-datatable-text-align-left\",Z=\"mantine-datatable-text-align-center\",Y=\"mantine-datatable-text-align-right\";import{jsx as Na}from\"react/jsx-runtime\";function oo({className:e,style:t,visibleMediaQuery:o,title:n,noWrap:a,ellipsis:r,textAlign:l,width:c}){return J(o)?Na(ka,{className:Ea({[me]:a||r,[pe]:r,[j]:l===\"left\",[Z]:l===\"center\",[Y]:l===\"right\"},e),style:[{width:c,minWidth:c,maxWidth:c},t],children:n}):null}import{TableTh as La}from\"@mantine/core\";import{jsx as Wa}from\"react/jsx-runtime\";function no({shadowVisible:e}){return Wa(La,{className:\"mantine-datatable-footer-selector-placeholder-cell\",\"data-shadow-visible\":e||void 0})}import{jsx as gt,jsxs as _a}from\"react/jsx-runtime\";function ao({className:e,style:t,columns:o,defaultColumnProps:n,selectionVisible:a,selectorCellShadowVisible:r,ref:l}){return gt(Ia,{ref:l,className:Oa(\"mantine-datatable-footer\",e),style:t,children:_a(Ha,{children:[a&&gt(no,{shadowVisible:r}),o.map(({hidden:c,...m})=>{if(c)return null;let{accessor:u,visibleMediaQuery:f,textAlign:p,width:d,footer:s,footerClassName:i,footerStyle:g,noWrap:h,ellipsis:y}={...n,...m};return gt(oo,{className:i,style:g,visibleMediaQuery:f,textAlign:p,width:d,title:s,noWrap:h,ellipsis:y},u)})]})})}import{Checkbox as pr,Group as fr,Popover as br,PopoverDropdown as Tr,PopoverTarget as gr,Stack as hr,TableThead as Cr,TableTr as wo}from\"@mantine/core\";import yr from\"clsx\";import{useState as Dr}from\"react\";import{TableTh as Aa}from\"@mantine/core\";import za from\"clsx\";import{useMemo as Ae}from\"react\";import{jsx as Ba}from\"react/jsx-runtime\";function ro({group:{id:e,columns:t,groups:o,title:n,textAlign:a,className:r,style:l},maxDepth:c,currentDepth:m,previousGroups:u,isLastGroup:f,withColumnBorders:p=!1,totalTableColumns:d}){let s=Ae(()=>t&&t.length>0?t:o&&o.length>0?Re([{id:e,columns:t,groups:o}]):[],[t,o,e]),i=Ae(()=>s.map(({visibleMediaQuery:D})=>D),[s]),g=Kt(i),h=Ae(()=>Oe({id:e,columns:t,groups:o},g),[e,t,o,g]),y=Ae(()=>u.reduce((D,T)=>D+Oe(T,g),0),[u,g]),M=o&&o.length>0?1:c-m,R=y+h<d,W=jt(f,R,p);return h>0?Ba(Aa,{colSpan:h,rowSpan:M>1?M:void 0,className:za(\"mantine-datatable-column-group-header-cell\",{[j]:a===\"left\",[Z]:a===\"center\",[Y]:a===\"right\",\"mantine-datatable-column-group-header-cell--needs-border\":W},r),style:l,children:n??de(e)}):null}import{ActionIcon as Co,Box as nr,Center as Ge,Flex as ar,Group as rr,TableTh as lr}from\"@mantine/core\";import Fe from\"clsx\";import{useRef as ir,useState as sr}from\"react\";import{ActionIcon as Fa,Popover as $a,PopoverDropdown as Xa,PopoverTarget as Ua}from\"@mantine/core\";import{useClickOutside as Qa,useDisclosure as Ka}from\"@mantine/hooks\";import{jsx as lo,jsxs as Va}from\"react/jsx-runtime\";function io(){return Va(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[lo(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),lo(\"path\",{d:\"M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z\"})]})}import{jsx as so,jsxs as Ga}from\"react/jsx-runtime\";function co(){return Ga(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[so(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),so(\"path\",{d:\"M20 3h-16a1 1 0 0 0 -1 1v2.227l.008 .223a3 3 0 0 0 .772 1.795l4.22 4.641v8.114a1 1 0 0 0 1.316 .949l6 -2l.108 -.043a1 1 0 0 0 .576 -.906v-6.586l4.121 -4.12a3 3 0 0 0 .879 -2.123v-2.171a1 1 0 0 0 -1 -1z\",strokeWidth:\"0\",fill:\"currentColor\"})]})}import{jsx as ze,jsxs as Ja}from\"react/jsx-runtime\";function uo({children:e,isActive:t,filterPopoverProps:o,filterPopoverDisableClickOutside:n}){let[a,{close:r,toggle:l}]=Ka(!1),c=t?co:io,m=Qa(r);return n&&(m=void 0),Ja($a,{withArrow:!0,shadow:\"md\",opened:a,onClose:r,trapFocus:!0,...o,children:[ze(Ua,{children:ze(Fa,{className:\"mantine-datatable-header-cell-filter-action-icon\",\"data-active\":t||void 0,size:\"sm\",variant:\"default\",onClick:u=>{u.preventDefault(),l()},onKeyDown:u=>u.stopPropagation(),children:ze(c,{})})}),ze(Xa,{ref:m,onClick:u=>u.stopPropagation(),onKeyDown:u=>u.stopPropagation(),children:typeof e==\"function\"?e({close:r}):e})]})}import{useDirection as ja}from\"@mantine/core\";import{useCallback as mo,useRef as po,useState as Za}from\"react\";import{jsx as Ya}from\"react/jsx-runtime\";var fo=e=>{let{accessor:t,columnRef:o}=e,[n,a]=Za(!1),r=po(0),l=po({current:0,next:0}),{dir:c}=ja(),m=c===\"rtl\",{setMultipleColumnWidths:u}=ue(),f=mo(d=>{if(d.preventDefault(),d.stopPropagation(),!o.current)return;let s=o.current,i=s.nextElementSibling;for(;i;){let W=i.getAttribute(\"data-accessor\");if(W&&W!==\"__selection__\")break;i=i.nextElementSibling}if(!i)return;let g=i.getAttribute(\"data-accessor\");if(!g)return;let h=g===\"__selection__\";a(!0),r.current=d.clientX;let y=s.offsetWidth,v=i.offsetWidth;l.current={current:y,next:v};let M=W=>{if(!o.current)return;let D=o.current,T=D.nextElementSibling;if(!T)return;let P=W.clientX-r.current;m&&(P=-P);let b=50,x=l.current.current-b,k=l.current.next-b,E=Math.max(-x,Math.min(P,k)),L=l.current.current+E,C=l.current.next-E;D.style.width=`${L}px`,T.style.width=`${C}px`,D.style.minWidth=`${L}px`,D.style.maxWidth=`${L}px`,T.style.minWidth=`${C}px`,T.style.maxWidth=`${C}px`},R=()=>{if(!o.current)return;let W=o.current,D=W.nextElementSibling;a(!1),document.body.style.cursor=\"initial\",document.body.style.userSelect=\"initial\";let T=parseInt(W.style.width)||W.offsetWidth,P=D?parseInt(D.style.width)||D.offsetWidth:0,b=[{accessor:t,width:`${T}px`}];if(D&&!h){let x=D.getAttribute(\"data-accessor\");x&&b.push({accessor:x,width:`${P}px`})}setTimeout(()=>{u(b)},0),document.removeEventListener(\"mousemove\",M),document.removeEventListener(\"mouseup\",R)};document.body.style.cursor=\"col-resize\",document.body.style.userSelect=\"none\",document.addEventListener(\"mousemove\",M),document.addEventListener(\"mouseup\",R)},[t,o,m,u]),p=mo(()=>{if(!o.current)return;let d=o.current,s=d.nextElementSibling;d.style.width=\"\",d.style.minWidth=\"\",d.style.maxWidth=\"\";let i=[{accessor:t,width:\"auto\"}];if(s){s.style.width=\"\",s.style.minWidth=\"\",s.style.maxWidth=\"\";let g=s.getAttribute(\"data-accessor\");g&&g!==\"__selection__\"&&i.push({accessor:g,width:\"auto\"})}setTimeout(()=>{u(i)},0)},[t,o,u]);return Ya(\"div\",{className:\"mantine-datatable-header-resizable-handle\",style:{cursor:n?\"col-resize\":void 0},onMouseDown:f,onDoubleClick:p,onClick:d=>d.stopPropagation(),title:\"Drag to resize column, double-click to reset\"})};import{jsx as Be,jsxs as qa}from\"react/jsx-runtime\";function bo(){return qa(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Be(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Be(\"path\",{d:\"M12 5l0 14\"}),Be(\"path\",{d:\"M16 9l-4 -4\"}),Be(\"path\",{d:\"M8 9l4 -4\"})]})}import{jsx as Ve,jsxs as er}from\"react/jsx-runtime\";function To(){return er(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Ve(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Ve(\"path\",{d:\"M8 7l4 -4l4 4\"}),Ve(\"path\",{d:\"M8 17l4 4l4 -4\"}),Ve(\"path\",{d:\"M12 3l0 18\"})]})}import{jsx as le,jsxs as tr}from\"react/jsx-runtime\";function go(){return tr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[le(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),le(\"path\",{d:\"M9 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),le(\"path\",{d:\"M9 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),le(\"path\",{d:\"M9 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),le(\"path\",{d:\"M15 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),le(\"path\",{d:\"M15 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),le(\"path\",{d:\"M15 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"})]})}import{jsx as ht,jsxs as or}from\"react/jsx-runtime\";function ho(){return or(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[ht(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),ht(\"path\",{d:\"M18 6l-12 12\"}),ht(\"path\",{d:\"M6 6l12 12\"})]})}import{Fragment as cr,jsx as z,jsxs as Ct}from\"react/jsx-runtime\";function yo({className:e,style:t,accessor:o,visibleMediaQuery:n,title:a,sortable:r,draggable:l,toggleable:c,resizable:m,sortIcons:u,textAlign:f,width:p,sortStatus:d,onSortStatusChange:s,filter:i,filterPopoverProps:g,filterPopoverDisableClickOutside:h,filtering:y,sortKey:v}){let{setSourceColumn:M,setTargetColumn:R,swapColumns:W,setColumnsToggle:D}=ue(),[T,P]=sr(!1),b=ir(null);if(!J(n))return null;let x=a??de(o),k=typeof x==\"string\"?x:void 0,E=r&&s?H=>{H?.defaultPrevented||s({sortKey:v,columnAccessor:o,direction:d?.columnAccessor===o?d.direction===\"asc\"?\"desc\":\"asc\":d?.direction??\"asc\"})}:void 0,L=H=>{H.stopPropagation(),M(o),P(!1)},C=H=>{H.preventDefault(),R(o),P(!0)},w=()=>{R(o),P(!1),W()},S=()=>{P(!0)},I=()=>{P(!1)},A=H=>{H.stopPropagation(),D(F=>F.map(U=>U.accessor===o?{...U,toggled:!1}:U))};return Ct(lr,{\"data-accessor\":o,className:Fe({\"mantine-datatable-header-cell-sortable\":r,\"mantine-datatable-header-cell-toggleable\":c,\"mantine-datatable-header-cell-resizable\":m},e),style:[{width:p,...m?{}:{minWidth:p,maxWidth:p}},t],role:r?\"button\":void 0,tabIndex:r?0:void 0,onClick:E,onKeyDown:H=>H.key===\"Enter\"&&E?.(),ref:b,children:[Ct(rr,{className:\"mantine-datatable-header-cell-sortable-group\",justify:\"space-between\",wrap:\"nowrap\",children:[Ct(ar,{align:\"center\",w:\"100%\",className:Fe({\"mantine-datatable-header-cell-draggable\":l,\"mantine-datatable-header-cell-drag-over\":T}),draggable:l,onDragStart:l?L:void 0,onDragEnter:l?S:void 0,onDragOver:l?C:void 0,onDrop:l?w:void 0,onDragLeave:l?I:void 0,children:[l?z(Ge,{role:\"img\",\"aria-label\":\"Drag column\",children:z(Co,{className:\"mantine-datatable-header-cell-draggable-action-icon\",variant:\"subtle\",size:\"xs\",onClick:H=>{H.stopPropagation()},children:z(go,{})})}):null,z(nr,{className:Fe(\"mantine-datatable-header-cell-sortable-text\",{[j]:f===\"left\",[Z]:f===\"center\",[Y]:f===\"right\"},me,pe),title:k,children:x})]}),c?z(Ge,{className:\"mantine-datatable-header-cell-toggleable-icon\",role:\"img\",\"aria-label\":\"Toggle column\",children:z(Co,{size:\"xs\",variant:\"light\",onClick:A,children:z(ho,{})})}):null,r||d?.columnAccessor===o?z(cr,{children:d?.columnAccessor===o?z(Ge,{className:Fe(\"mantine-datatable-header-cell-sortable-icon\",{\"mantine-datatable-header-cell-sortable-icon-reversed\":d.direction===\"desc\"}),role:\"img\",\"aria-label\":`Sorted ${d.direction===\"desc\"?\"descending\":\"ascending\"}`,children:u?.sorted||z(bo,{})}):z(Ge,{className:\"mantine-datatable-header-cell-sortable-unsorted-icon\",role:\"img\",\"aria-label\":\"Not sorted\",children:u?.unsorted||z(To,{})})}):null,i?z(uo,{filterPopoverProps:g,isActive:!!y,filterPopoverDisableClickOutside:h,children:i}):null]}),m&&o!==\"__selection__\"?z(fo,{accessor:o,columnRef:b}):null]})}import{Checkbox as ur,TableTh as dr}from\"@mantine/core\";import mr from\"clsx\";import{jsx as Do}from\"react/jsx-runtime\";function xo({className:e,style:t,trigger:o,shadowVisible:n,checked:a,indeterminate:r,checkboxProps:l,onChange:c,rowSpan:m,ref:u}){let f=!l.disabled;return Do(dr,{ref:u,className:mr(\"mantine-datatable-header-selector-cell\",{[X]:o===\"cell\"&&f},e),style:t,rowSpan:m,\"data-shadow-visible\":n||void 0,\"data-accessor\":\"__selection__\",onClick:o===\"cell\"&&f?c:void 0,children:Do(ur,{classNames:f?{input:X}:void 0,checked:a,indeterminate:r,onChange:c,...l,disabled:!(c||l.onChange)||l.disabled})})}import{jsx as q,jsxs as $e}from\"react/jsx-runtime\";function So({selectionColumnHeaderRef:e,className:t,style:o,sortStatus:n,sortIcons:a,onSortStatusChange:r,columns:l,defaultColumnProps:c,groups:m,selectionTrigger:u,selectionVisible:f,selectionChecked:p,selectionIndeterminate:d,onSelectionChange:s,selectionCheckboxProps:i,selectorCellShadowVisible:g,selectionColumnClassName:h,selectionColumnStyle:y,withColumnBorders:v=!1,ref:M}){let R=m?bt(m):0,W=R>0?R+1:1,D=f?q(xo,{ref:e,className:h,style:y,trigger:u,shadowVisible:g,checked:p,indeterminate:d,checkboxProps:i,onChange:s,rowSpan:m?W:void 0}):null,{columnsToggle:T,setColumnsToggle:P}=ue(),[b,x]=Dr(!1),k=l.some(C=>C.toggleable),E=k?Object.fromEntries(l.map(({accessor:C,title:w})=>[C,w??de(String(C))])):void 0,L=$e(Cr,{className:yr(\"mantine-datatable-header\",t),style:o,ref:M,onContextMenu:k?C=>{C.preventDefault(),x(w=>!w)}:void 0,children:[m&&Array.from({length:R},(C,w)=>{let S=Tt(m,w);return $e(wo,{children:[w===0&&D,S.map((I,A)=>q(ro,{group:I,maxDepth:R,currentDepth:w,previousGroups:S.slice(0,A),isLastGroup:A===S.length-1,withColumnBorders:v,totalTableColumns:l.length},I.id))]},`group-depth-${w}`)}),$e(wo,{children:[!m&&D,l.map(({hidden:C,...w},S)=>{if(C)return null;let{accessor:I,visibleMediaQuery:A,textAlign:H,width:F,title:U,sortable:fe,draggable:be,toggleable:Te,resizable:ge,titleClassName:te,titleStyle:he,filter:Ce,filterPopoverProps:Q,filterPopoverDisableClickOutside:Je,filtering:je,sortKey:Ze}={...c,...w};return q(yo,{accessor:I,className:te,style:he,visibleMediaQuery:A,textAlign:H,width:F,title:U,sortable:fe,draggable:be,toggleable:Te,resizable:ge&&S<l.length-1,sortStatus:n,sortIcons:a,sortKey:Ze,onSortStatusChange:r,filter:Ce,filterPopoverProps:Q,filterPopoverDisableClickOutside:Je,filtering:je},I)})]})]});return k?$e(br,{position:\"bottom\",withArrow:!0,shadow:\"md\",opened:b,onChange:x,children:[q(gr,{children:L}),q(Tr,{children:q(hr,{children:T.filter(C=>C.toggleable).map(C=>q(fr,{children:q(pr,{classNames:{label:\"mantine-datatable-header-column-toggle-checkbox-label\"},size:\"xs\",label:E[C.accessor],checked:C.toggled,onChange:w=>{P(T.map(S=>S.accessor===C.accessor?{...S,toggled:w.currentTarget.checked}:S))}})},C.accessor))})})]}):L}import{Center as xr,Loader as wr}from\"@mantine/core\";import Sr from\"clsx\";import{jsx as Ro}from\"react/jsx-runtime\";function Po({fetching:e,customContent:t,backgroundBlur:o,size:n,type:a,color:r}){return Ro(xr,{className:Sr(\"mantine-datatable-loader\",{\"mantine-datatable-loader-fetching\":e}),style:[{backdropFilter:o?`blur(${o}px)`:void 0}],children:e&&(t||Ro(wr,{size:n,type:a,color:r}))})}import{Box as Ir,Pagination as Hr,Text as Or,rem as _r}from\"@mantine/core\";import Io from\"clsx\";import{Button as vr,Group as Mr,Menu as kr,MenuDropdown as Er,MenuItem as Nr,MenuTarget as Lr,Text as Eo,rem as Pe}from\"@mantine/core\";import Wr from\"clsx\";import{parseThemeColor as Rr}from\"@mantine/core\";function O(e,t,o){return e?Rr({color:typeof e==\"object\"?e[o]:e,theme:t}).value:void 0}function vo({theme:e,c:t,backgroundColor:o,borderColor:n,rowBorderColor:a,stripedColor:r,highlightOnHoverColor:l}){return{\"--mantine-datatable-color-light\":O(t,e,\"light\"),\"--mantine-datatable-color-dark\":O(t,e,\"dark\"),\"--mantine-datatable-background-color-light\":O(o,e,\"light\"),\"--mantine-datatable-background-color-dark\":O(o,e,\"dark\"),\"--mantine-datatable-border-color-light\":O(n,e,\"light\"),\"--mantine-datatable-border-color-dark\":O(n,e,\"dark\"),\"--mantine-datatable-row-border-color-light\":O(a,e,\"light\"),\"--mantine-datatable-row-border-color-dark\":O(a,e,\"dark\"),\"--mantine-datatable-striped-color-light\":O(r,e,\"light\"),\"--mantine-datatable-striped-color-dark\":O(r,e,\"dark\"),\"--mantine-datatable-highlight-on-hover-color-light\":O(l,e,\"light\"),\"--mantine-datatable-highlight-on-hover-color-dark\":O(l,e,\"dark\")}}function Xe({theme:e,paginationActiveTextColor:t,paginationActiveBackgroundColor:o}){return{\"--mantine-datatable-pagination-active-text-color-light\":O(t,e,\"light\"),\"--mantine-datatable-pagination-active-text-color-dark\":O(t,e,\"dark\"),\"--mantine-datatable-pagination-active-background-color-light\":O(o,e,\"light\"),\"--mantine-datatable-pagination-active-background-color-dark\":O(o,e,\"dark\")}}function Mo({theme:e,color:t,backgroundColor:o}){return{\"--mantine-datatable-row-color-light\":O(t,e,\"light\"),\"--mantine-datatable-row-color-dark\":O(t,e,\"dark\"),\"--mantine-datatable-row-background-color-light\":O(o,e,\"light\"),\"--mantine-datatable-row-background-color-dark\":O(o,e,\"dark\")}}import{jsx as yt,jsxs as Pr}from\"react/jsx-runtime\";function ko(){return Pr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[yt(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),yt(\"path\",{d:\"M8 9l4 -4l4 4\"}),yt(\"path\",{d:\"M16 15l-4 4l-4 -4\"})]})}import{jsx as ie,jsxs as Lo}from\"react/jsx-runtime\";var No={xs:Pe(22),sm:Pe(26),md:Pe(32),lg:Pe(38),xl:Pe(44)};function Wo({size:e,label:t,values:o,value:n,activeTextColor:a,activeBackgroundColor:r,onChange:l}){return Lo(Mr,{gap:\"xs\",children:[ie(Eo,{component:\"div\",size:e,children:t}),Lo(kr,{withinPortal:!0,withArrow:!0,offset:2,classNames:{arrow:\"mantine-datatable-page-size-selector-menu-arrow\"},children:[ie(Lr,{children:ie(vr,{size:e,variant:\"default\",classNames:{section:\"mantine-datatable-page-size-selector-button-icon\"},rightSection:ie(ko,{}),style:[{fontWeight:\"normal\"},c=>({height:No[e],paddingLeft:c.spacing[e],paddingRight:c.spacing[e]})],children:n})}),ie(Er,{children:o.map(c=>{let m=c===n;return ie(Nr,{className:Wr({\"mantine-datatable-page-size-selector-active\":m}),style:[{height:No[e]},m&&(a||r)?u=>Xe({theme:u,paginationActiveTextColor:a,paginationActiveBackgroundColor:r}):void 0],disabled:m,onClick:()=>l(c),children:ie(Eo,{component:\"div\",size:e,children:c})},c)})})]})]})}import{Fragment as Ho,jsx as ee,jsxs as Ar}from\"react/jsx-runtime\";function Oo({className:e,style:t,fetching:o,page:n,onPageChange:a,paginationWithEdges:r,paginationWithControls:l,paginationActiveTextColor:c,paginationActiveBackgroundColor:m,paginationSize:u,loadingText:f,noRecordsText:p,paginationText:d,totalRecords:s,recordsPerPage:i,onRecordsPerPageChange:g,recordsPerPageLabel:h,recordsPerPageOptions:y,recordsLength:v,horizontalSpacing:M,paginationWrapBreakpoint:R,getPaginationControlProps:W,getPaginationItemProps:D,renderPagination:T}){let P;if(s){let S=(n-1)*i+1,I=S+(v||0)-1;P=d({from:S,to:I,totalRecords:s})}else P=o?f:p;let b=s&&i?Math.max(1,Math.ceil(s/i)):1,x=s?(n-1)*(i??0)+1:void 0,k=s?(x??1)+(v??0)-1:void 0,L=!J(({breakpoints:S})=>`(min-width: ${typeof R==\"number\"?`${_r(R)}rem`:S[R]||R})`),C={Text:S=>ee(Or,{component:\"div\",className:\"mantine-datatable-pagination-text\",size:u,...S,children:P}),PageSizeSelector:S=>y?ee(Wo,{activeTextColor:c,activeBackgroundColor:m,size:u,label:h,values:y,value:i,onChange:g,...S}):ee(Ho,{}),Pagination:S=>ee(Hr,{classNames:{root:Io(\"mantine-datatable-pagination-pages\",{\"mantine-datatable-pagination-pages-fetching\":o||!v}),control:\"mantine-datatable-pagination-pages-control\"},style:c||m?I=>Xe({theme:I,paginationActiveTextColor:c,paginationActiveBackgroundColor:m}):void 0,withEdges:r,withControls:l,value:n,onChange:a,size:u,total:b,getControlProps:W,getItemProps:D,...S})},w={state:{paginationSize:u,page:n,totalPages:b,totalRecords:s,recordsPerPage:i,recordsLength:v,fetching:o,from:x,to:k,isWrapped:L},actions:{setPage:S=>a?.(S),setRecordsPerPage:g?S=>g(S):void 0},Controls:C};return ee(Ir,{px:M??\"xs\",py:\"xs\",className:Io(\"mantine-datatable-pagination\",e),style:[{flexDirection:L?\"column\":\"row\"},t],children:typeof T==\"function\"?T(w):Ar(Ho,{children:[ee(C.Text,{}),ee(C.PageSizeSelector,{}),ee(C.Pagination,{})]})})}import{TableTr as Jr}from\"@mantine/core\";import jr from\"clsx\";import{TableTd as zr}from\"@mantine/core\";import Br from\"clsx\";import{jsx as Vr}from\"react/jsx-runtime\";function _o({className:e,style:t,visibleMediaQuery:o,record:n,index:a,onClick:r,onDoubleClick:l,onContextMenu:c,noWrap:m,ellipsis:u,textAlign:f,width:p,accessor:d,render:s,defaultRender:i,customCellAttributes:g}){return J(o)?Vr(zr,{className:Br({[me]:m||u,[pe]:u,[X]:r||l,[_e]:c,[j]:f===\"left\",[Z]:f===\"center\",[Y]:f===\"right\"},e),style:[{width:p,minWidth:p,maxWidth:p},t],onClick:r,onDoubleClick:l,onContextMenu:c,...g?.(n,a),children:s?s(n,a):i?i(n,a,d):ft(n,d)}):null}import{Collapse as Gr,TableTd as Fr,TableTr as Ao}from\"@mantine/core\";import{Fragment as $r,jsx as ve,jsxs as Xr}from\"react/jsx-runtime\";function zo({open:e,colSpan:t,content:o,collapseProps:n}){let{expanded:a,visible:r}=eo(e,n?.transitionDuration);return r?Xr($r,{children:[ve(Ao,{}),ve(Ao,{children:ve(Fr,{className:\"mantine-datatable-row-expansion-cell\",colSpan:t,children:ve(Gr,{in:a,...n,children:ve(\"div\",{className:\"mantine-datatable-row-expansion-cell-content\",children:o()})})})})]}):null}import{Checkbox as Ur,TableTd as Qr}from\"@mantine/core\";import Kr from\"clsx\";import{jsx as Bo}from\"react/jsx-runtime\";function Vo({className:e,style:t,record:o,index:n,trigger:a,onChange:r,withRightShadow:l,checkboxProps:c,getCheckboxProps:m,...u}){let f={...c,...m(o,n)},p=!u.disabled&&!f.disabled,d=s=>{s.stopPropagation(),a===\"cell\"&&p&&r?.(s)};return Bo(Qr,{className:Kr(\"mantine-datatable-row-selector-cell\",{[X]:a===\"cell\"&&p},e),style:t,\"data-shadow-visible\":l||void 0,onClick:d,children:Bo(Ur,{classNames:p?{input:X}:void 0,onChange:r,...u,...f})})}import{Fragment as Go,jsx as Ue,jsxs as Fo}from\"react/jsx-runtime\";function $o({record:e,index:t,columns:o,defaultColumnProps:n,defaultColumnRender:a,selectionTrigger:r,selectionVisible:l,selectionChecked:c,onSelectionChange:m,isRecordSelectable:u,selectionCheckboxProps:f,getSelectionCheckboxProps:p,onClick:d,onDoubleClick:s,onContextMenu:i,onCellClick:g,onCellDoubleClick:h,onCellContextMenu:y,expansion:v,customAttributes:M,color:R,backgroundColor:W,className:D,style:T,selectorCellShadowVisible:P,selectionColumnClassName:b,selectionColumnStyle:x,rowFactory:k}){let E=Fo(Go,{children:[l&&Ue(Vo,{className:b,style:x,record:e,index:t,trigger:r,withRightShadow:P,checked:c,disabled:!m||(u?!u(e,t):!1),onChange:m,checkboxProps:f,getCheckboxProps:p}),o.map(({hidden:w,hiddenContent:S,...I},A)=>{if(w||S)return null;let{accessor:H,visibleMediaQuery:F,textAlign:U,noWrap:fe,ellipsis:be,width:Te,render:ge,cellsClassName:te,cellsStyle:he,customCellAttributes:Ce}={...n,...I};return Ue(_o,{className:typeof te==\"function\"?te(e,t):te,style:he?.(e,t),visibleMediaQuery:F,record:e,index:t,onClick:g?Q=>g({event:Q,record:e,index:t,column:I,columnIndex:A}):void 0,onDoubleClick:h?Q=>h({event:Q,record:e,index:t,column:I,columnIndex:A}):void 0,onContextMenu:y?Q=>y({event:Q,record:e,index:t,column:I,columnIndex:A}):void 0,accessor:H,textAlign:U,noWrap:fe,ellipsis:be,width:Te,render:ge,defaultRender:a,customCellAttributes:Ce},H)})]}),L=v&&Ue(zo,{colSpan:o.filter(({hidden:w})=>!w).length+(l?1:0),open:v.isRowExpanded(e),content:v.content({record:e,index:t}),collapseProps:v.collapseProps}),C=Zr({record:e,index:t,selectionChecked:c,onClick:d,onDoubleClick:s,onContextMenu:i,expansion:v,customAttributes:M,color:R,backgroundColor:W,className:D,style:T});return k?k({record:e,index:t,rowProps:C,children:E,expandedElement:L}):Fo(Go,{children:[Ue(Jr,{...C,children:E}),L]})}function Zr({record:e,index:t,selectionChecked:o,onClick:n,onDoubleClick:a,onContextMenu:r,expansion:l,customAttributes:c,color:m,backgroundColor:u,className:f,style:p}){return{className:jr(\"mantine-datatable-row\",{[X]:n||a||l?.isExpandable({record:e,index:t})&&l?.expandOnClick},{[_e]:r},typeof f==\"function\"?f(e,t):f),\"data-selected\":o||void 0,onClick:d=>{if(l){let{isExpandable:s,isRowExpanded:i,expandOnClick:g,expandRow:h,collapseRow:y}=l;s({record:e,index:t})&&g&&(i(e)?y(e):h(e))}n?.({event:d,record:e,index:t})},onDoubleClick:a?d=>a({event:d,record:e,index:t}):void 0,onContextMenu:r?d=>r({event:d,record:e,index:t}):void 0,style:[m||u?d=>{let s=m?.(e,t),i=u?.(e,t);return Mo({theme:d,color:s,backgroundColor:i})}:void 0,p?.(e,t)],...c?.(e,t)??{}}}import{Box as Xo,ScrollArea as Yr}from\"@mantine/core\";import Qe from\"clsx\";import{jsx as Ke,jsxs as qr}from\"react/jsx-runtime\";function Uo({leftShadowBehind:e,rightShadowBehind:t,onScrollPositionChange:o,children:n,viewportRef:a,scrollAreaProps:r}){return qr(Yr,{...r,viewportRef:a,classNames:{root:\"mantine-datatable-scroll-area\",scrollbar:\"mantine-datatable-scroll-area-scrollbar\",thumb:\"mantine-datatable-scroll-area-thumb\",corner:\"mantine-datatable-scroll-area-corner\"},onScrollPositionChange:o,children:[n,Ke(Xo,{className:Qe(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-top-shadow\")}),Ke(\"div\",{className:Qe(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-left-shadow\",{\"mantine-datatable-scroll-area-shadow-behind\":e})}),Ke(\"div\",{className:Qe(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-right-shadow\",{\"mantine-datatable-scroll-area-shadow-behind\":t})}),Ke(Xo,{className:Qe(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-bottom-shadow\")})]})}import{jsx as B,jsxs as Jo}from\"react/jsx-runtime\";function ll({withTableBorder:e,borderRadius:t,textSelectionDisabled:o,height:n=\"100%\",minHeight:a,maxHeight:r,shadow:l,verticalAlign:c=\"center\",fetching:m,columns:u,storeColumnsKey:f,groups:p,pinFirstColumn:d,pinLastColumn:s,defaultColumnProps:i,defaultColumnRender:g,idAccessor:h=\"id\",records:y,selectionTrigger:v=\"checkbox\",selectedRecords:M,onSelectedRecordsChange:R,selectionColumnClassName:W,selectionColumnStyle:D,isRecordSelectable:T,selectionCheckboxProps:P,allRecordsSelectionCheckboxProps:b={\"aria-label\":\"Select all records\"},getRecordSelectionCheckboxProps:x=(V,xe)=>({\"aria-label\":`Select record ${xe+1}`}),sortStatus:k,sortIcons:E,onSortStatusChange:L,horizontalSpacing:C,page:w,onPageChange:S,totalRecords:I,recordsPerPage:A,onRecordsPerPageChange:H,recordsPerPageOptions:F,recordsPerPageLabel:U=\"Records per page\",paginationWithEdges:fe,paginationWithControls:be,paginationActiveTextColor:Te,paginationActiveBackgroundColor:ge,paginationSize:te=\"sm\",paginationText:he=({from:V,to:xe,totalRecords:et})=>`${V} - ${xe} / ${et}`,paginationWrapBreakpoint:Ce=\"sm\",getPaginationControlProps:Q=V=>V===\"previous\"?{\"aria-label\":\"Previous page\"}:V===\"next\"?{\"aria-label\":\"Next page\"}:{},getPaginationItemProps:Je,renderPagination:je,loaderBackgroundBlur:Ze,customLoader:jo,loaderSize:Zo,loaderType:Yo,loaderColor:qo,loadingText:en=\"...\",emptyState:tn,noRecordsText:wt=\"No records\",noRecordsIcon:on,highlightOnHover:nn,striped:an,noHeader:rn,onRowClick:ln,onRowDoubleClick:sn,onRowContextMenu:cn,onCellClick:un,onCellDoubleClick:dn,onCellContextMenu:mn,onScroll:pn,onScrollToTop:fn,onScrollToBottom:bn,onScrollToLeft:Tn,onScrollToRight:gn,c:hn,backgroundColor:Cn,borderColor:yn,rowBorderColor:Dn,stripedColor:xn,highlightOnHoverColor:wn,rowColor:Sn,rowBackgroundColor:Rn,rowExpansion:Pn,rowClassName:vn,rowStyle:Mn,customRowAttributes:kn,scrollViewportRef:En,scrollAreaProps:Nn,tableRef:Ln,bodyRef:Wn,m:In,my:Hn,mx:On,mt:_n,mb:An,ml:zn,mr:Bn,className:Vn,classNames:ye,style:Gn,styles:De,rowFactory:Fn,tableWrapper:Ye,...qe}){let V=al(()=>p?Re(p):u,[u,p]),[xe,et]=rl(!1),{refs:$,onScroll:$n}=$t({scrollCallbacks:{onScroll:pn,onScrollToTop:fn,onScrollToBottom:bn,onScrollToLeft:Tn,onScrollToRight:gn},withRowBorders:qe.withRowBorders}),tt=zt({key:f,columns:V,headerRef:$.header,scrollViewportRef:$.scrollViewport,onFixedLayoutChange:et}),Xn=Qo($.table,Ln),Un=Qo($.scrollViewport,En),Qn=Zt({rowExpansion:Pn,records:y,idAccessor:h}),Me=xt(!1),St=xt(w),ot=xt(y),Kn=Dt(N=>{Me.current=!0,ot.current=y,S(N)},[S,y]);ol(()=>{St.current!==w&&(Me.current=!0,ot.current=y,St.current=w)},[w,y]);let ke=y?.length;nl(()=>{if(!Me.current||m||y===ot.current)return;let N=$.scrollViewport.current;if(!N)return;let oe=requestAnimationFrame(()=>{N.scrollTo({top:0,left:0}),Me.current=!1});return()=>cancelAnimationFrame(oe)},[m,y,$.scrollViewport]);let Rt=y?.map(N=>_(N,h)),se=!!M,we=M?.map(N=>_(N,h)),Pt=Rt!==void 0&&we!==void 0&&we.length>0,nt=T?y?.filter(T):y,Ee=nt?.map(N=>_(N,h)),Ne=Pt&&Ee.every(N=>we.includes(N)),Jn=Pt&&Ee.some(N=>we.includes(N)),jn=Dt(()=>{M&&R&&R(Ne?M.filter(N=>!Ee.includes(_(N,h))):He([...M,...nt],N=>_(N,h)))},[Ne,h,R,Ee,nt,M]),{lastSelectionChangeIndex:Le,setLastSelectionChangeIndex:Zn}=Xt(Rt),at=se&&!d,Yn={m:In,my:Hn,mx:On,mt:_n,mb:An,ml:zn,mr:Bn},qn=Dt(({children:N})=>Ye?Ye({children:N}):N,[Ye]);return B(it,{...tt,children:Jo(el,{ref:$.root,...Yn,className:Ko(\"mantine-datatable\",{\"mantine-datatable-with-border\":e},Vn,ye?.root),style:[N=>({...vo({theme:N,c:hn,backgroundColor:Cn,borderColor:yn,rowBorderColor:Dn,stripedColor:xn,highlightOnHoverColor:wn}),borderRadius:N.radius[t]||t,boxShadow:N.shadows[l]||l,height:n,minHeight:a,maxHeight:r}),Gn,De?.root,{position:\"relative\"}],children:[B(Uo,{viewportRef:Un,leftShadowBehind:se||!!d,rightShadowBehind:s,onScrollPositionChange:$n,scrollAreaProps:Nn,children:B(qn,{children:Jo(tl,{ref:Xn,horizontalSpacing:C,className:Ko(\"mantine-datatable-table\",{[to]:o,\"mantine-datatable-vertical-align-top\":c===\"top\",\"mantine-datatable-vertical-align-bottom\":c===\"bottom\",\"mantine-datatable-pin-last-column\":s,\"mantine-datatable-selection-column-visible\":se,\"mantine-datatable-pin-first-column\":d,\"mantine-datatable-resizable-columns\":tt.hasResizableColumns&&xe},ye?.table),style:{...De?.table},\"data-striped\":ke&&an||void 0,\"data-highlight-on-hover\":nn||void 0,...qe,children:[rn?null:B(it,{...tt,children:B(So,{ref:$.header,selectionColumnHeaderRef:$.selectionColumnHeader,className:ye?.header,style:De?.header,columns:V,defaultColumnProps:i,groups:p,sortStatus:k,sortIcons:E,onSortStatusChange:L,selectionTrigger:v,selectionVisible:se,selectionChecked:Ne,selectionIndeterminate:Jn&&!Ne,onSelectionChange:jn,selectionCheckboxProps:{...P,...b},selectorCellShadowVisible:at,selectionColumnClassName:W,selectionColumnStyle:D,withColumnBorders:qe.withColumnBorders})}),B(\"tbody\",{ref:Wn,children:ke?y.map((N,oe)=>{let rt=_(N,h),lt=we?.includes(rt)||!1,vt;return R&&M&&(vt=ea=>{if(ea.nativeEvent.shiftKey&&Le!==null){let ce=y.filter(oe>Le?(ne,ae)=>ae>=Le&&ae<=oe&&(T?T(ne,ae):!0):(ne,ae)=>ae>=oe&&ae<=Le&&(T?T(ne,ae):!0));R(lt?Jt(M,ce,ne=>_(ne,h)):He([...M,...ce],ne=>_(ne,h)))}else R(lt?M.filter(ce=>_(ce,h)!==rt):He([...M,N],ce=>_(ce,h)));Zn(oe)}),B($o,{record:N,index:oe,columns:V,defaultColumnProps:i,defaultColumnRender:g,selectionTrigger:v,selectionVisible:se,selectionChecked:lt,onSelectionChange:vt,isRecordSelectable:T,selectionCheckboxProps:P,getSelectionCheckboxProps:x,onClick:ln,onDoubleClick:sn,onCellClick:un,onCellDoubleClick:dn,onContextMenu:cn,onCellContextMenu:mn,expansion:Qn,color:Sn,backgroundColor:Rn,className:vn,style:Mn,customAttributes:kn,selectorCellShadowVisible:at,selectionColumnClassName:W,selectionColumnStyle:D,idAccessor:h,rowFactory:Fn},rt)}):B(Nt,{})}),V.some(({footer:N})=>N)&&B(ao,{ref:$.footer,className:ye?.footer,style:De?.footer,columns:V,defaultColumnProps:i,selectionVisible:se,selectorCellShadowVisible:at})]})})}),w&&B(Oo,{className:ye?.pagination,style:De?.pagination,horizontalSpacing:C,fetching:m,page:w,onPageChange:Kn,totalRecords:I,recordsPerPage:A,onRecordsPerPageChange:H,recordsPerPageOptions:F,recordsPerPageLabel:U,paginationWithEdges:fe,paginationWithControls:be,paginationActiveTextColor:Te,paginationActiveBackgroundColor:ge,paginationSize:te,paginationText:he,paginationWrapBreakpoint:Ce,getPaginationControlProps:Q,getPaginationItemProps:Je,noRecordsText:wt,loadingText:en,recordsLength:ke,renderPagination:je}),B(Po,{fetching:m,backgroundBlur:Ze,customContent:jo,size:Zo,type:Yo,color:qo}),B(Wt,{icon:on,text:wt,active:!m&&!ke,children:tn})]})})}import{TableTr as il}from\"@mantine/core\";import{useMergedRef as sl}from\"@mantine/hooks\";import{useEffect as cl,useRef as ul}from\"react\";import{jsx as ml}from\"react/jsx-runtime\";function dl({className:e,children:t,isDragging:o,ref:n,...a}){let r=ul(null),l=sl(r,n);return cl(()=>{if(!r.current||!o)return;let f=r.current.parentElement.parentElement.children[0].children[0];for(let p=0;p<f.children.length;p++){let s=f.children[p].getBoundingClientRect(),i=r.current.children[p];i.style.height=s.height+\"px\",i.style.width=s.width+\"px\",i.style.minWidth=s.width+\"px\",i.style.maxWidth=s.width+\"px\"}},[o,t]),ml(il,{\"data-is-dragging\":o,ref:l,...a,className:e,children:t})}export{ll as DataTable,dl as DataTableDraggableRow,Oe as calculateColSpan,Jt as differenceBy,Re as flattenColumns,Tt as getGroupsAtDepth,bt as getMaxGroupDepth,_ as getRecordId,ft as getValueAtPath,de as humanize,jt as needsRightBorder,ui as reorderRecords,di as swapRecords,He as uniqBy,zt as useDataTableColumns};\n//# sourceMappingURL=index.mjs.map","import {\n Alert,\n Button,\n Checkbox,\n Group,\n NumberInput,\n Skeleton,\n Stack,\n Stepper,\n Textarea,\n TextInput\n} from \"@mantine/core\";\nimport { Fragment, useEffect, useState } from \"react\";\nimport { useForm } from \"@mantine/form\";\nimport { BaseEntity, useGetOne, useUpdateOne } from \"../Hooks/useApi\";\nimport { Field, StepConfig } from \"./DataTableInner.tsx\";\n// @ts-expect-error - FormRule not publicly exported from @mantine/form\nimport type { FormRule } from \"@mantine/form/lib/types\";\nimport { DateInput } from \"@mantine/dates\";\n\nexport interface UpdateModalProps<T> {\n fields: Field<T>[];\n steps?: StepConfig[];\n onClose: () => void;\n queryKey: (string | number)[];\n apiPath: string;\n id: string | number;\n}\n\nexport function UpdateModal<T extends BaseEntity>({\n fields,\n onClose,\n queryKey,\n apiPath,\n id,\n steps,\n}: UpdateModalProps<T>) {\n const [active, setActive] = useState<number>(0);\n const [hideButtons, setHideButtons] = useState<boolean>(false);\n\n const { data, isLoading: isDataLoading } = useGetOne<T>(\n apiPath,\n queryKey,\n id,\n );\n const {\n mutateAsync: update,\n isError: isUpdateError,\n error: updateError,\n isPending,\n } = useUpdateOne<T>(apiPath, queryKey);\n\n const stepsAvailable = [\n ...new Set(\n fields\n .filter((f) => typeof f.step === \"number\")\n .map((f) => f.step as number),\n ),\n ];\n\n const form = useForm({\n mode: \"uncontrolled\",\n initialValues: fields.reduce((acc, field) => {\n acc[field.id as keyof T] =\n field.type === \"boolean\"\n ? (field.defaultValue ?? (false as T[keyof T]))\n : (field.defaultValue ?? (\"\" as T[keyof T]));\n return acc;\n }, {} as T),\n validate: fields\n .filter((field) => field.required)\n .reduce(\n (acc, field) => {\n acc[field.id as keyof T] = (value: never, values: T) => {\n if (field.conditional && !field.conditional(values)) return null;\n const isReq = typeof field.required === \"function\"\n ? field.required(values)\n : !!field.required;\n if (!isReq) return null;\n return value ? null : \"Pflichtfeld\";\n };\n return acc;\n },\n {} as Partial<{ [Key in keyof T]: FormRule<T[Key], T> }>,\n ),\n });\n\n useEffect(() => {\n if (data) {\n const values = { ...data } as T;\n fields.forEach((field) => {\n const key = field.id as keyof T;\n if (field.type === \"boolean\" && values[key] === null) {\n values[key] = false as T[keyof T];\n } else if (field.type === \"date\" && values[key]) {\n values[key] = new Date(values[key] as unknown as string) as unknown as T[keyof T];\n } else if (values[key] === null) {\n values[key] = \"\" as T[keyof T];\n }\n });\n form.initialize(values);\n form.setValues(values);\n }\n }, [data]);\n\n function resolveRequired(field: Field<T>, values?: Partial<T>): boolean {\n if (typeof field.required === \"function\") {\n return field.required(values ?? ({} as Partial<T>));\n }\n return !!field.required;\n }\n\n function renderField(field: Field<T>) {\n const formValues = form.getValues();\n if (field.conditional && !field.conditional(formValues)) {\n return null;\n }\n const isRequired = resolveRequired(field, formValues);\n return (\n <Fragment key={field.id}>\n {(field.type === undefined || field.type == \"text\") && (\n <TextInput\n label={field.column.title}\n key={form.key(field.id)}\n placeholder={field.placeholder ?? \"\"}\n {...form.getInputProps(field.id as string)}\n type={field.id.includes(\"email\") ? \"email\" : undefined}\n required={isRequired}\n />\n )}\n\n {field.type === \"number\" && (\n <NumberInput\n decimalSeparator=\",\"\n label={field.column.title}\n key={form.key(field.id)}\n placeholder={field.placeholder ?? \"\"}\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"date\" && (\n <DateInput\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n valueFormat={\"DD.MM.YYYY\"}\n clearable\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"boolean\" && (\n <Checkbox\n mt=\"md\"\n label={field.column.title}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string, { type: \"checkbox\" })}\n required={isRequired}\n />\n )}\n\n {field.type === \"textarea\" && (\n <Textarea\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string)}\n minRows={3}\n autosize\n required={isRequired}\n />\n )}\n\n {field.type === \"custom\" &&\n field.render &&\n field.render(\n { ...form.getValues(), id } as T,\n form.setValues,\n setHideButtons,\n {\n error: form.getInputProps(field.id as string).error,\n required: isRequired,\n },\n )}\n </Fragment>\n );\n }\n\n return (\n <>\n {isUpdateError && (\n <Alert\n variant=\"outline\"\n color=\"red\"\n title={updateError?.name ?? \"Fehler aufgetreten\"}\n mb=\"lg\"\n >\n {updateError?.message ?? \"Fehler aufgetreten\"}\n </Alert>\n )}\n\n {isDataLoading ? (\n <Stack gap=\"md\">\n <Skeleton height={40} />\n {Array(fields.length)\n .fill(0)\n .map((_, index) => (\n <Skeleton key={`skeleton-field-${index}`} height={35} />\n ))}\n <Group mt=\"md\" justify=\"end\">\n <Skeleton width={100} height={36} />\n <Skeleton width={100} height={36} />\n </Group>\n </Stack>\n ) : (\n <form\n onSubmit={form.onSubmit(async (values) => {\n await update({\n ...values,\n id,\n } as T);\n if (stepsAvailable.length && active < stepsAvailable.length - 1) {\n if (!isUpdateError) {\n setActive(active + 1);\n }\n } else {\n if (!isUpdateError) {\n form.setInitialValues(values);\n form.reset();\n onClose();\n }\n }\n })}\n >\n {stepsAvailable.length ? (\n <Stepper active={active} size=\"sm\">\n {stepsAvailable.map((step) => (\n <Stepper.Step\n key={step}\n {...(steps && steps[step - 1]\n ? { label: steps[step - 1].label }\n : {})}\n >\n {fields\n .filter((f) => f.step === step)\n .map((field) => renderField(field))}\n </Stepper.Step>\n ))}\n </Stepper>\n ) : (\n fields.map((field) => renderField(field))\n )}\n {!hideButtons && (\n <Group mt=\"md\" justify=\"end\">\n <Button\n onClick={() =>\n stepsAvailable.length\n ? active === 0\n ? onClose()\n : setActive(active - 1)\n : onClose()\n }\n variant=\"outline\"\n >\n {stepsAvailable.length\n ? active === 0\n ? \"Abbrechen\"\n : \"Zurück\"\n : \"Abbrechen\"}\n </Button>\n <Button type=\"submit\" loading={isPending}>\n {stepsAvailable.length\n ? active === stepsAvailable.length - 1\n ? \"Speichern\"\n : \"Weiter\"\n : \"Speichern\"}\n </Button>\n </Group>\n )}\n </form>\n )}\n </>\n );\n}\n","import { Alert, Button, Group, Text } from \"@mantine/core\";\nimport { BaseEntity, useDeleteOne } from \"../Hooks/useApi\";\nimport { useEffect, useState } from \"react\";\n\nexport interface DeleteModalProps<T> {\n onClose: () => void;\n queryKey: (string | number)[];\n apiPath: string;\n selectedRecords: T[];\n}\n\nexport function DeleteModal<T extends BaseEntity>({\n queryKey,\n apiPath,\n onClose,\n selectedRecords,\n}: DeleteModalProps<T>) {\n const {\n mutateAsync: del,\n isError: isDeleteError,\n error: deleteError,\n isPending: isDeletePending,\n } = useDeleteOne(apiPath, queryKey);\n\n const [records, setRecords] = useState<T[]>(selectedRecords);\n const [isDeleting, setIsDeleting] = useState(false);\n const isLoading = isDeleting || isDeletePending;\n\n useEffect(() => {\n if (!records.length) {\n onClose();\n }\n }, [onClose, records]);\n\n if (!records.length) {\n return <></>;\n }\n\n return (\n <>\n {isDeleteError && deleteError.message && (\n <Alert variant=\"outline\" color=\"red\" title={deleteError.name}>\n {deleteError.message}\n </Alert>\n )}\n\n <Text>\n {records.length === 1\n ? `Soll ${records.length} Eintrag wirklich gelöscht werden?`\n : `Sollen ${records.length} Einträge wirklich gelöscht werden?`}\n </Text>\n <Group mt=\"md\" justify=\"end\">\n <Button onClick={onClose} variant=\"outline\" disabled={isLoading}>\n Abbrechen\n </Button>\n <Button\n color=\"red\"\n loading={isLoading}\n onClick={async () => {\n setIsDeleting(true);\n try {\n await Promise.all(records.map((record) => del(record.id)));\n setRecords([]);\n } finally {\n setIsDeleting(false);\n }\n }}\n >\n Löschen\n </Button>\n </Group>\n </>\n );\n}\n","import { useState } from \"react\";\n\nexport function usePersistentState<T>(\n initialValue: T,\n key: string,\n): [T, (value: T) => void] {\n const [state, setState] = useState<T>(() => {\n const storedValue = localStorage.getItem(`use_persistent_storage_${key}`);\n return storedValue ? (JSON.parse(storedValue) as T) : initialValue;\n });\n\n const setStateWrapper = (newState: T) => {\n setState(newState);\n localStorage.setItem(\n `use_persistent_storage_${key}`,\n JSON.stringify(newState),\n );\n };\n\n return [state, setStateWrapper];\n}\n","type ColumnType = \"string\" | \"number\" | \"date\" | \"mixed\";\n\nconst DATE_PATTERNS = [\n /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}/,\n /^\\d{4}-\\d{2}-\\d{2}$/,\n /^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/,\n /^\\d{1,2}\\.\\d{1,2}\\.\\d{4}$/,\n];\n\nconst detectColumnType = <T>(data: T[], field: keyof T): ColumnType => {\n const nonNullValues = data\n .map((item) => item[field])\n .filter((value) => value !== null && value !== undefined && value !== \"\");\n\n if (nonNullValues.length === 0) return \"string\";\n\n const sample = nonNullValues.slice(0, 100);\n const types = { string: 0, number: 0, date: 0 };\n\n sample.forEach((value) => {\n if (typeof value === \"number\") {\n types.number++;\n } else if (typeof value === \"string\") {\n const trimmed = value.trim();\n if (trimmed !== \"\" && !isNaN(Number(trimmed)) && !isNaN(parseFloat(trimmed))) {\n types.number++;\n return;\n }\n if (DATE_PATTERNS.some((pattern) => pattern.test(trimmed))) {\n const dateValue = new Date(trimmed);\n if (!isNaN(dateValue.getTime())) {\n types.date++;\n return;\n }\n }\n types.string++;\n } else if (value instanceof Date) {\n types.date++;\n } else {\n types.string++;\n }\n });\n\n const total = types.string + types.number + types.date;\n if (types.date / total >= 0.6) return \"date\";\n if (types.number / total >= 0.6) return \"number\";\n if (types.string / total >= 0.6) return \"string\";\n return \"mixed\";\n};\n\nfunction toSortValue(value: unknown, columnType: ColumnType): string | number | null {\n switch (columnType) {\n case \"date\":\n if (typeof value === \"string\") {\n const d = new Date(value.trim());\n return isNaN(d.getTime()) ? null : d.getTime();\n }\n if (value instanceof Date) return value.getTime();\n return null;\n case \"number\":\n if (typeof value === \"number\") return value;\n const num = parseFloat(String(value).trim());\n return isNaN(num) ? null : num;\n case \"string\":\n return (typeof value === \"string\" ? value : String(value)).toLowerCase().trim();\n default:\n return String(value).toLowerCase().trim();\n }\n}\n\nexport const sortData = <T>(\n data: T[],\n field: keyof T,\n direction: \"asc\" | \"desc\" = \"asc\",\n): T[] => {\n if (!data || data.length === 0) return [];\n\n const columnType = detectColumnType(data, field);\n\n return [...data].sort((a, b) => {\n const aValue = a[field];\n const bValue = b[field];\n\n const aIsNull = aValue === null || aValue === undefined || aValue === \"\";\n const bIsNull = bValue === null || bValue === undefined || bValue === \"\";\n\n if (aIsNull && bIsNull) return 0;\n if (aIsNull) return direction === \"asc\" ? -1 : 1;\n if (bIsNull) return direction === \"asc\" ? 1 : -1;\n\n const aSortValue = toSortValue(aValue, columnType);\n const bSortValue = toSortValue(bValue, columnType);\n\n if (aSortValue === null && bSortValue === null) return 0;\n if (aSortValue === null) return direction === \"asc\" ? 1 : -1;\n if (bSortValue === null) return direction === \"asc\" ? -1 : 1;\n\n if (aSortValue < bSortValue) return direction === \"asc\" ? -1 : 1;\n if (aSortValue > bSortValue) return direction === \"asc\" ? 1 : -1;\n return 0;\n });\n};\n","import { ActionIcon, Box, Checkbox, Collapse, Divider, Group, Menu, Pagination, Select, Stack, Text } from \"@mantine/core\";\nimport { BaseEntity } from \"../Hooks/useApi\";\nimport { Action, Field } from \"./DataTableInner\";\nimport React, { useState } from \"react\";\nimport { IconChevronDown, IconDotsVertical, IconSortAscending, IconSortDescending } from \"@tabler/icons-react\";\n\ninterface SortConfig {\n field: string;\n direction: \"asc\" | \"desc\";\n onSortChange: (field: string, direction: \"asc\" | \"desc\") => void;\n}\n\ninterface MobileCardListProps<T extends BaseEntity> {\n records: T[];\n fields: Field<T>[];\n selection?: boolean;\n selectedRecords?: T[];\n onSelectedRecordsChange?: (records: T[]) => void;\n onRowClick?: (params: { record: T; index: number; event: React.MouseEvent }) => void;\n actions?: Action<T>[];\n canUpdate?: (record: T) => boolean;\n canDelete?: (record: T) => boolean;\n pagination?: {\n totalRecords: number;\n recordsPerPage: number;\n page: number;\n onPageChange: (page: number) => void;\n recordsPerPageOptions?: number[];\n onRecordsPerPageChange?: (size: number) => void;\n };\n sort?: SortConfig;\n rowExpansion?: {\n content: (record: T) => React.ReactNode;\n };\n}\n\nfunction getNestedValue(record: Record<string, unknown>, accessor: string): unknown {\n return accessor.split(\".\").reduce<unknown>((obj, key) => {\n if (obj && typeof obj === \"object\" && key in (obj as Record<string, unknown>)) {\n return (obj as Record<string, unknown>)[key];\n }\n return undefined;\n }, record);\n}\n\nfunction renderFieldValue<T extends BaseEntity>(record: T, field: Field<T>): React.ReactNode {\n const column = field.column;\n\n if (column.render) {\n return column.render(record, 0);\n }\n\n const accessor = (column.accessor ?? field.id) as string;\n const value = getNestedValue(record as unknown as Record<string, unknown>, accessor);\n\n if (value === null || value === undefined) {\n return <Text c=\"dimmed\">–</Text>;\n }\n\n if (typeof value === \"boolean\") {\n return <Text fz=\"sm\">{value ? \"Ja\" : \"Nein\"}</Text>;\n }\n\n return <Text fz=\"sm\">{String(value)}</Text>;\n}\n\nfunction MobileCardRow<T extends BaseEntity>({ field, record }: { field: Field<T>; record: T }) {\n return (\n <Group wrap=\"nowrap\" justify=\"space-between\" align=\"center\" py=\"xs\" px=\"sm\">\n <Text fw={700} fz=\"sm\">\n {(field.column.title as string) ?? field.id}\n </Text>\n <Box ta=\"right\" fz=\"sm\">\n {renderFieldValue(record, field)}\n </Box>\n </Group>\n );\n}\n\nexport function MobileCardList<T extends BaseEntity>({\n records,\n fields,\n selection,\n selectedRecords = [],\n onSelectedRecordsChange,\n onRowClick,\n actions,\n canUpdate,\n canDelete,\n pagination,\n sort,\n rowExpansion,\n}: MobileCardListProps<T>) {\n const [expandedIds, setExpandedIds] = useState<Set<string | number>>(new Set());\n\n const toggleExpansion = (id: string | number) => {\n setExpandedIds((prev) => {\n const next = new Set(prev);\n if (next.has(id)) next.delete(id);\n else next.add(id);\n return next;\n });\n };\n const listFields = fields.filter((f) => f.list && f.column);\n\n const sortOptions = listFields\n .filter((f) => f.column.sortable !== false)\n .reduce<{ value: string; label: string }[]>((acc, f) => {\n const value = (f.column.accessor ?? f.id) as string;\n if (!acc.some((o) => o.value === value)) {\n acc.push({ value, label: (f.column.title as string) ?? f.id });\n }\n return acc;\n }, []);\n\n const isSelected = (record: T) =>\n selectedRecords.some((r) => r.id === record.id);\n\n const toggleSelection = (record: T) => {\n if (!onSelectedRecordsChange) return;\n if (isSelected(record)) {\n onSelectedRecordsChange(selectedRecords.filter((r) => r.id !== record.id));\n } else {\n onSelectedRecordsChange([...selectedRecords, record]);\n }\n };\n\n const handleCardClick = (record: T, index: number, event: React.MouseEvent) => {\n if (onRowClick) {\n onRowClick({ record, index, event });\n } else if (selection) {\n toggleSelection(record);\n }\n };\n\n if (records.length === 0) {\n return (\n <Text c=\"dimmed\" ta=\"center\" py=\"xl\">\n Keine Einträge gefunden\n </Text>\n );\n }\n\n return (\n <Stack gap=\"sm\" my=\"md\">\n {sort && sortOptions.length > 0 && (\n <Group gap=\"xs\" wrap=\"nowrap\">\n <Select\n data={sortOptions}\n value={sort.field}\n onChange={(value) => value && sort.onSortChange(value, sort.direction)}\n allowDeselect={false}\n style={{ flex: 1 }}\n />\n <ActionIcon\n variant=\"filled\"\n size=\"input-sm\"\n onClick={() => sort.onSortChange(sort.field, sort.direction === \"asc\" ? \"desc\" : \"asc\")}\n >\n {sort.direction === \"asc\" ? <IconSortAscending size={18} /> : <IconSortDescending size={18} />}\n </ActionIcon>\n </Group>\n )}\n\n {records.map((record, index) => {\n const selected = isSelected(record);\n const clickable = !!onRowClick || !!selection;\n\n const recordKey = record.id ?? index;\n const expanded = expandedIds.has(recordKey);\n\n return (\n <React.Fragment key={recordKey}>\n <Box\n bg={selected ? \"var(--mantine-primary-color-light)\" : index % 2 === 0 ? \"var(--mantine-color-gray-0)\" : \"white\"}\n bd={!selected ? \"1px solid var(--mantine-color-gray-2)\" : undefined}\n style={{\n borderRadius: \"var(--mantine-radius-md)\",\n overflow: \"hidden\",\n }}\n >\n <Box\n w=\"100%\"\n style={{ cursor: clickable || rowExpansion ? \"pointer\" : \"default\" }}\n onClick={(e: React.MouseEvent) => {\n if (rowExpansion && !onRowClick) {\n toggleExpansion(recordKey);\n } else {\n handleCardClick(record, index, e);\n }\n }}\n >\n {(selection || rowExpansion || (actions && actions.length > 0)) && (\n <Group px=\"sm\" pt=\"sm\" justify=\"space-between\">\n <Group gap=\"xs\">\n {rowExpansion && (\n <Box\n c=\"var(--mantine-primary-color-filled)\"\n style={{ cursor: \"pointer\", display: \"flex\", alignItems: \"center\" }}\n onClick={(e: React.MouseEvent) => { e.stopPropagation(); toggleExpansion(recordKey); }}\n >\n <IconChevronDown\n size={16}\n style={{ transform: expanded ? \"rotate(0deg)\" : \"rotate(-90deg)\", transition: \"transform 200ms\" }}\n />\n </Box>\n )}\n {selection && (\n <Checkbox\n checked={selected}\n onChange={() => toggleSelection(record)}\n onClick={(e) => e.stopPropagation()}\n />\n )}\n </Group>\n {actions && actions.length > 0 && (() => {\n const filteredActions = actions.filter((action) => {\n if (action.label === \"Bearbeiten\" && canUpdate && !canUpdate(record)) return false;\n if (action.label === \"Löschen\" && canDelete && !canDelete(record)) return false;\n return true;\n });\n if (filteredActions.length === 0) return null;\n return (\n <Menu shadow=\"md\" position=\"bottom-end\">\n <Menu.Target>\n <ActionIcon\n variant=\"subtle\"\n color=\"gray\"\n size=\"sm\"\n onClick={(e: React.MouseEvent) => e.stopPropagation()}\n >\n <IconDotsVertical size={16} />\n </ActionIcon>\n </Menu.Target>\n <Menu.Dropdown>\n {filteredActions.map((action, actionIndex) => (\n <Menu.Item\n key={`card_action_${actionIndex}`}\n leftSection={action.icon}\n onClick={(e: React.MouseEvent) => {\n e.stopPropagation();\n action.onClick([record]);\n }}\n >\n {action.label}\n </Menu.Item>\n ))}\n </Menu.Dropdown>\n </Menu>\n );\n })()}\n </Group>\n )}\n {listFields.map((field, fieldIndex) => (\n <React.Fragment key={field.id}>\n {fieldIndex > 0 && <Divider />}\n <MobileCardRow field={field} record={record} />\n </React.Fragment>\n ))}\n </Box>\n {rowExpansion && (\n <Collapse in={expanded}>\n <Divider />\n <Box px=\"sm\" py=\"sm\">\n {rowExpansion.content(record)}\n </Box>\n </Collapse>\n )}\n </Box>\n </React.Fragment>\n );\n })}\n\n {pagination && pagination.totalRecords > pagination.recordsPerPage && (\n <Stack gap=\"xs\" mt=\"sm\">\n <Group justify=\"center\">\n <Pagination\n total={Math.ceil(pagination.totalRecords / pagination.recordsPerPage)}\n value={pagination.page}\n onChange={pagination.onPageChange}\n size=\"sm\"\n />\n </Group>\n {pagination.recordsPerPageOptions && pagination.onRecordsPerPageChange && (\n <Group justify=\"center\" gap=\"xs\">\n <Text fz=\"xs\" c=\"dimmed\">Einträge pro Seite:</Text>\n <Select\n data={pagination.recordsPerPageOptions.map((o) => ({ value: String(o), label: String(o) }))}\n value={String(pagination.recordsPerPage)}\n onChange={(v) => v && pagination.onRecordsPerPageChange!(Number(v))}\n allowDeselect={false}\n size=\"xs\"\n w={70}\n />\n </Group>\n )}\n </Stack>\n )}\n </Stack>\n );\n}\n","import { ActionIcon, Alert, Box, Button, Group, Menu, Modal, Skeleton, Stack, Tabs, Title } from \"@mantine/core\";\nimport { BaseEntity, useGetAll } from \"../Hooks/useApi\";\nimport React, { useEffect, useState } from \"react\";\nimport { CreateModal } from \"./CreateModal\";\nimport { IconCaretDownFilled, IconInfoCircle, IconPencil, IconRefresh, IconTrash } from \"@tabler/icons-react\";\nimport { DataTable as MantineDataTable, DataTableColumn, DataTableSortStatus } from \"mantine-datatable\";\nimport { UpdateModal } from \"./UpdateModal.tsx\";\nimport { DeleteModal } from \"./DeleteModal.tsx\";\nimport { useDataTable } from \"../Hooks/useDataTable.ts\";\nimport { usePersistentState } from \"../Hooks/usePersistentState.ts\";\nimport { sortData } from \"../utils/sort\";\nimport { MobileCardList } from \"./MobileCardList\";\n\ntype DatesRangeValue = [string | null, string | null];\n\ninterface DateFilter {\n id: string | number;\n type: \"date\";\n value?: DatesRangeValue;\n}\n\ninterface StringFilter {\n id: string | number;\n type: \"query\";\n value?: string | string[];\n}\n\ninterface BooleanFilter {\n id: string | number;\n type: \"boolean\";\n value?: boolean;\n}\n\ntype Filter = DateFilter | StringFilter | BooleanFilter;\n\nexport type FieldType =\n | \"text\"\n | \"number\"\n | \"boolean\"\n | \"custom\"\n | \"date\"\n | \"textarea\";\n\nexport interface Field<T> {\n id: string;\n defaultValue?: T[keyof T];\n required?: boolean | ((values: Partial<T>) => boolean);\n step?: number;\n list: boolean;\n create: boolean;\n update: boolean;\n delete: boolean;\n type?: FieldType;\n placeholder?: string;\n conditional?: (values: Partial<T>) => boolean;\n render?: (\n values: T,\n setValues: (values: Partial<T>) => void,\n hideButtons: (value: boolean) => void,\n validationProps?: {\n error?: string;\n required?: boolean;\n },\n ) => React.ReactNode;\n column: DataTableColumn<T>;\n}\n\nexport interface Action<T extends BaseEntity> {\n icon?: React.ReactNode;\n label: string;\n onClick: (records: T[]) => void;\n disabled?: (records: T[]) => boolean;\n}\n\nexport interface TabOption {\n value: string;\n label: string;\n icon?: React.ReactNode;\n queryParams?: Record<string, string | number | boolean | null>;\n apiPath?: string;\n mutationApiPath?: string;\n}\n\nexport interface StepConfig {\n label: string;\n description?: string;\n}\n\nexport interface DataTableProps<T extends BaseEntity> {\n title?: string | React.ReactNode;\n queryKey: (string | number)[];\n connectedQueryKeys?: (string | number)[][];\n apiPath: string;\n mutationApiPath?: string;\n queryParams?: Record<string, string | number | boolean | null>;\n filters?: Filter[];\n buttons?: React.ReactNode[];\n createButtonText?: string;\n actions?: Action<T>[];\n selection?: boolean;\n pagination?: boolean;\n steps?: StepConfig[];\n fields: Field<T>[];\n defaultSort?: {\n field: string;\n direction: \"asc\" | \"desc\";\n };\n onSortChange?: (field: string, direction: \"asc\" | \"desc\") => void;\n tabs?: TabOption[];\n defaultTab?: string;\n activeTab?: string | null;\n onActiveTabChange?: (tabValue: string | null) => void;\n canUpdate?: (record: T) => boolean;\n canDelete?: (record: T) => boolean;\n showRefresh?: boolean;\n rowExpansion?: {\n allowMultiple?: boolean;\n content: (record: T) => React.ReactNode;\n expanded?: {\n recordIds: unknown[];\n onRecordIdsChange: (recordIds: unknown[]) => void;\n };\n };\n onRowClick?: (params: { record: T; index: number; event: React.MouseEvent }) => void;\n mobileCards?: boolean;\n}\n\nconst PAGE_SIZES = [10, 15, 50, 100, 500];\n\nexport function DataTableInner<T extends BaseEntity>({\n title,\n queryKey,\n connectedQueryKeys,\n apiPath,\n mutationApiPath,\n buttons,\n fields,\n selection,\n pagination,\n filters,\n actions,\n steps,\n defaultSort,\n onSortChange,\n createButtonText,\n queryParams,\n tabs,\n defaultTab,\n activeTab: controlledActiveTab,\n onActiveTabChange,\n canUpdate,\n canDelete,\n showRefresh = true,\n rowExpansion,\n onRowClick,\n mobileCards = false,\n}: DataTableProps<T>) {\n const [internalActiveTab, setInternalActiveTab] = useState<string | null>(\n defaultTab || (tabs && tabs.length > 0 ? tabs[0].value : null),\n );\n\n const activeTab =\n controlledActiveTab !== undefined ? controlledActiveTab : internalActiveTab;\n\n const handleTabChange = (value: string | null) => {\n if (controlledActiveTab === undefined) {\n setInternalActiveTab(value);\n }\n if (onActiveTabChange) {\n onActiveTabChange(value);\n }\n };\n\n const currentTab = tabs?.find((tab) => tab.value === activeTab);\n const currentTabParams = currentTab?.queryParams || {};\n const effectiveApiPath = currentTab?.apiPath ?? apiPath;\n const effectiveMutationApiPath = currentTab?.mutationApiPath ?? mutationApiPath ?? effectiveApiPath;\n const allQueryParams = { ...queryParams, ...currentTabParams };\n\n const queryString: string = allQueryParams\n ? \"?\" +\n Object.entries(allQueryParams)\n .filter(([, value]) => value !== null && value !== undefined)\n .map(([key, value]) => `${key}=${encodeURIComponent(value ?? \"\")}`)\n .join(\"&\")\n : \"\";\n\n const effectiveQueryKey = activeTab ? [...queryKey, activeTab] : queryKey;\n\n const {\n data: allData,\n isLoading,\n isError,\n isRefetching,\n refetch,\n } = useGetAll<T>(effectiveApiPath + queryString, effectiveQueryKey);\n\n const { queryClient } = useDataTable();\n\n useEffect(() => {\n if (!allData || !Array.isArray(allData)) return;\n\n connectedQueryKeys?.forEach((connectedQueryKey) =>\n queryClient.invalidateQueries({ queryKey: connectedQueryKey }),\n );\n }, [allData, connectedQueryKeys, queryClient]);\n\n const filteredData =\n (!allData || !Array.isArray(allData))\n ? []\n : (!filters || filters.length === 0)\n ? allData\n : allData.filter((record: T) => filters.every((filter) => {\n if (filter.value === undefined) return true;\n\n const key = filter.id as keyof T;\n if (filter.type === \"query\") {\n const recordValue = record[key];\n if (Array.isArray(filter.value)) {\n if (Array.isArray(recordValue)) {\n return recordValue.some((item: unknown) => {\n if (typeof item === \"string\" || typeof item === \"number\") {\n return filter.value!.includes(String(item));\n }\n if (item && typeof item === \"object\") {\n const obj = item as Record<string, unknown>;\n if (\"id\" in obj && filter.value!.includes(obj.id as string)) {\n return true;\n }\n for (const prop in obj) {\n const propValue = obj[prop];\n if (\n typeof propValue === \"string\" &&\n filter.value!.includes(propValue)\n ) {\n return true;\n }\n if (\n propValue &&\n typeof propValue === \"object\" &&\n \"id\" in (propValue as Record<string, unknown>)\n ) {\n if (filter.value!.includes((propValue as Record<string, unknown>).id as string)) {\n return true;\n }\n }\n }\n }\n return false;\n });\n }\n if (\n recordValue &&\n typeof recordValue === \"object\" &&\n \"id\" in recordValue\n ) {\n return filter.value.includes((recordValue as Record<string, unknown>).id as string);\n }\n return false;\n }\n return (\n typeof recordValue === \"string\" &&\n recordValue.includes(filter.value)\n );\n } else if (filter.type === \"date\") {\n const dateValue = filter.value as DatesRangeValue;\n if (!dateValue) return true;\n\n const [from, to] = dateValue;\n if (!from && !to) return true;\n const recordDate = record[key];\n if (typeof recordDate === \"string\") {\n const recordDateStr = recordDate.split(\" \")[0];\n if (from && to) {\n return recordDateStr >= from && recordDateStr <= to;\n } else if (from && !to) {\n return recordDateStr >= from;\n } else if (!from && to) {\n return recordDateStr <= to;\n }\n }\n return true;\n } else if (filter.type === \"boolean\") {\n const recordValue = record[key];\n return recordValue === filter.value;\n }\n return true;\n }));\n\n const [sortStatus, setSortStatus] = useState<DataTableSortStatus<T>>({\n columnAccessor: defaultSort?.field ?? fields[0].id,\n direction: defaultSort?.direction ?? \"desc\",\n });\n \n const handleSortChange = (newSortStatus: DataTableSortStatus<T>) => {\n setSortStatus(newSortStatus);\n if (onSortChange) {\n onSortChange(String(newSortStatus.columnAccessor), newSortStatus.direction);\n }\n };\n\n const sortedData = sortData(\n filteredData,\n sortStatus.columnAccessor as keyof T,\n sortStatus.direction,\n );\n\n const [pageSize, setPageSize] = usePersistentState(\n PAGE_SIZES[1],\n \"mantine-table-page-size\",\n );\n const [page, setPage] = useState(1);\n\n const records = pagination ? sortedData.slice((page - 1) * pageSize, page * pageSize) : sortedData;\n\n const [selectedRecords, setSelectedRecords] = useState<T[]>([]);\n\n useEffect(() => {\n setSelectedRecords([]);\n }, [activeTab]);\n\n const [createModalOpen, setCreateModalOpen] = useState(false);\n const [updateModalOpen, setUpdateModalOpen] = useState(false);\n const [deleteModalOpen, setDeleteModalOpen] = useState(false);\n\n const hasUpdateField = fields.some((field) => field.update);\n const hasDeleteField = fields.some((field) => field.delete);\n\n const mobileActions: Action<T>[] = [];\n if (hasUpdateField) {\n mobileActions.push({\n icon: <IconPencil size={14} />,\n label: \"Bearbeiten\",\n onClick: (records: T[]) => {\n setSelectedRecords(records);\n setUpdateModalOpen(true);\n },\n });\n }\n if (actions) {\n mobileActions.push(...actions);\n }\n if (hasDeleteField) {\n mobileActions.push({\n icon: <IconTrash size={14} />,\n label: \"Löschen\",\n onClick: (records: T[]) => {\n setSelectedRecords(records);\n setDeleteModalOpen(true);\n },\n });\n }\n\n return (\n <>\n <Group gap=\"xs\" justify={title ? \"space-between\" : \"end\"} align=\"center\" wrap=\"wrap\">\n {title &&\n (typeof title === \"string\" ? (\n <Title order={4}>{title}</Title>\n ) : (\n title\n ))}\n <Group align=\"center\" gap=\"xs\" wrap=\"wrap\" justify=\"end\" style={{ marginLeft: \"auto\" }}>\n {showRefresh && (\n <ActionIcon\n variant=\"subtle\"\n onClick={() => refetch()}\n aria-label=\"Neuladen\"\n >\n <IconRefresh />\n </ActionIcon>\n )}\n {(fields.some((field) => field.update) || selection) && (() => {\n const hasUpdateAction = fields.find((field) => field.update) && \n (!canUpdate || (selectedRecords.length > 0 && canUpdate(selectedRecords[0])));\n const hasDeleteAction = fields.find((field) => field.delete) && \n (!canDelete || (selectedRecords.length > 0 && canDelete(selectedRecords[0])));\n const hasCustomActions = (actions ?? []).length > 0;\n const hasAnyAction = hasUpdateAction || hasDeleteAction || hasCustomActions;\n\n return (\n <Box {...(mobileCards ? { visibleFrom: \"sm\" } : {})}>\n <Menu shadow=\"md\">\n <Menu.Target>\n <Button\n variant=\"outline\"\n rightSection={<IconCaretDownFilled size={14} />}\n disabled={!selectedRecords.length || !hasAnyAction}\n >\n Aktionen\n </Button>\n </Menu.Target>\n <Menu.Dropdown>\n {hasUpdateAction && (\n <Menu.Item\n leftSection={<IconPencil size={14} />}\n onClick={() => setUpdateModalOpen(true)}\n disabled={selectedRecords.length !== 1}\n >\n Bearbeiten\n </Menu.Item>\n )}\n {(actions ?? []).map((action, index) => (\n <Menu.Item\n {...(action.icon && { leftSection: action.icon })}\n key={`custom_action_${index}`}\n onClick={() => action.onClick(selectedRecords)}\n disabled={action.disabled?.(selectedRecords) ?? false}\n >\n {action.label}\n </Menu.Item>\n ))}\n {hasDeleteAction && (\n <Menu.Item\n leftSection={<IconTrash size={14} />}\n onClick={() => setDeleteModalOpen(true)}\n color=\"red\"\n >\n Löschen\n </Menu.Item>\n )}\n </Menu.Dropdown>\n </Menu>\n </Box>\n );\n })()}\n {fields.find((field) => field.create) && (\n <Button\n onClick={() => setCreateModalOpen(true)}\n disabled={isLoading}\n >\n {createButtonText ?? \"Erstellen\"}\n </Button>\n )}\n {buttons}\n </Group>\n </Group>\n\n {tabs && tabs.length > 0 && (\n <Tabs value={activeTab} onChange={handleTabChange} mt=\"md\">\n <Tabs.List>\n {tabs.map((tab) => (\n <Tabs.Tab\n key={tab.value}\n value={tab.value}\n leftSection={tab.icon}\n >\n {tab.label}\n </Tabs.Tab>\n ))}\n </Tabs.List>\n </Tabs>\n )}\n\n {isError && (\n <Alert\n mt=\"md\"\n variant=\"light\"\n color=\"red\"\n title=\"Es ist ein Fehler aufgetreten.\"\n icon={<IconInfoCircle />}\n >\n Bitte versuche es später erneut oder sende eine Nachricht an unseren\n Support.\n </Alert>\n )}\n\n {(isLoading || isRefetching) && (\n <Stack my=\"md\">\n <Skeleton height={40} />\n {Array(5)\n .fill(0)\n .map((_, index) => (\n <Skeleton key={`skeleton-${index}`} height={35} />\n ))}\n </Stack>\n )}\n\n {!isLoading && !isRefetching && (\n <>\n <Box {...(mobileCards ? { visibleFrom: \"sm\" } : {})}>\n {/* @ts-expect-error - conditional pagination spread not compatible with strict prop types */}\n <MantineDataTable\n withTableBorder\n my=\"md\"\n striped\n highlightOnHover\n minHeight={150}\n fetching={isError}\n records={records}\n sortStatus={sortStatus}\n onSortStatusChange={handleSortChange}\n {...(selection && {\n selectedRecords,\n onSelectedRecordsChange: setSelectedRecords,\n })}\n {...(pagination &&\n records.length && {\n totalRecords: sortedData.length,\n recordsPerPage: pageSize,\n onPageChange: setPage,\n page,\n recordsPerPageOptions: PAGE_SIZES,\n onRecordsPerPageChange: setPageSize,\n recordsPerPageLabel: \"Einträge pro Seite\",\n })}\n {...(rowExpansion && {\n rowExpansion: {\n allowMultiple: rowExpansion.allowMultiple ?? false,\n content: ({ record }: { record: T }) => rowExpansion.content(record),\n ...(rowExpansion.expanded && {\n expanded: rowExpansion.expanded,\n }),\n },\n })}\n columns={fields.map((field) => field.column)}\n noRecordsText=\"Keine Einträge gefunden\"\n onRowClick={onRowClick}\n {...(onRowClick && { style: { cursor: \"pointer\" } })}\n />\n </Box>\n\n {mobileCards && (\n <Box hiddenFrom=\"sm\">\n <MobileCardList\n records={records}\n fields={fields}\n selection={selection}\n selectedRecords={selectedRecords}\n onSelectedRecordsChange={setSelectedRecords}\n onRowClick={onRowClick}\n sort={{\n field: String(sortStatus.columnAccessor),\n direction: sortStatus.direction,\n onSortChange: (field, direction) => {\n handleSortChange({ columnAccessor: field as keyof T, direction });\n },\n }}\n {...(pagination && records.length && {\n pagination: {\n totalRecords: sortedData.length,\n recordsPerPage: pageSize,\n page,\n onPageChange: setPage,\n recordsPerPageOptions: PAGE_SIZES,\n onRecordsPerPageChange: (size: number) => { setPageSize(size); setPage(1); },\n },\n })}\n {...(rowExpansion && {\n rowExpansion: { content: rowExpansion.content },\n })}\n {...(mobileActions.length > 0 && {\n actions: mobileActions,\n canUpdate,\n canDelete,\n })}\n />\n </Box>\n )}\n\n\n </>\n )}\n\n <Modal\n opened={updateModalOpen}\n onClose={() => {\n setUpdateModalOpen(false);\n setSelectedRecords([]);\n }}\n title={title ?? \"Bearbeiten\"}\n >\n {selectedRecords.length > 0 && (\n <UpdateModal<T>\n fields={fields.filter((field) => field.update)}\n queryKey={queryKey}\n apiPath={effectiveMutationApiPath}\n id={selectedRecords[0].id}\n onClose={() => {\n setUpdateModalOpen(false);\n setSelectedRecords([]);\n }}\n steps={steps}\n />\n )}\n </Modal>\n\n {selectedRecords.length > 0 && (\n <Modal\n opened={deleteModalOpen}\n onClose={() => {\n setDeleteModalOpen(false);\n setSelectedRecords([]);\n }}\n title={title ?? \"Löschen\"}\n >\n <DeleteModal<T>\n onClose={() => {\n setDeleteModalOpen(false);\n setSelectedRecords([]);\n }}\n queryKey={queryKey}\n apiPath={effectiveMutationApiPath}\n selectedRecords={selectedRecords}\n />\n </Modal>\n )}\n\n <Modal\n opened={createModalOpen}\n onClose={() => {\n setCreateModalOpen(false);\n }}\n title={title ?? \"Anlegen\"}\n >\n <CreateModal<T>\n queryKey={queryKey}\n apiPath={effectiveMutationApiPath}\n onClose={() => {\n setCreateModalOpen(false);\n }}\n fields={fields.filter((field) => field.create)}\n steps={steps}\n />\n </Modal>\n </>\n );\n}\n","import { BaseEntity } from \"../Hooks/useApi.ts\";\nimport { DataTableInner, DataTableProps } from \"./DataTableInner.tsx\";\n\nexport function DataTable<T extends BaseEntity>(props: DataTableProps<T>) {\n return <DataTableInner<T> {...props} />;\n}\n"],"names":["ReactSharedInternals","require$$0","reactCompilerRuntime_production","size","reactCompilerRuntime_development","dispatcher","compilerRuntimeModule","require$$1","Subscribable","listener","defaultTimeoutProvider","callback","delay","timeoutId","intervalId","TimeoutManager","#provider","#providerCalled","provider","timeoutManager","systemSetTimeoutZero","isServer","noop","isValidTimeout","value","timeUntilStale","updatedAt","staleTime","resolveStaleTime","query","resolveEnabled","enabled","hashKey","queryKey","_","val","isPlainObject","result","key","hasOwn","replaceEqualDeep","a","b","array","isPlainArray","aSize","bItems","bSize","copy","equalItems","i","aItem","bItem","v","shallowEqualObjects","o","hasObjectPrototype","ctor","prot","replaceData","prevData","data","options","error","shouldThrowError","throwOnError","params","FocusManager","#focused","#cleanup","#setup","onFocus","setup","focused","isFocused","focusManager","pendingThenable","resolve","reject","thenable","_resolve","_reject","finalize","reason","defaultScheduler","createNotifyManager","queue","transactions","notifyFn","batchNotifyFn","scheduleFn","schedule","flush","originalQueue","args","fn","notifyManager","OnlineManager","#online","onOnline","onlineListener","offlineListener","online","onlineManager","canFetch","networkMode","fetchState","QueryObserver","client","#client","#selectError","#currentThenable","#currentQuery","#currentQueryInitialState","#currentResult","#currentResultState","#currentResultOptions","#selectFn","#selectResult","#lastQueryWithDefinedData","#staleTimeoutId","#refetchIntervalId","#currentRefetchInterval","#trackedProps","shouldFetchOnMount","#executeFetch","#updateTimers","shouldFetchOn","#clearStaleTimeout","#clearRefetchInterval","prevOptions","prevQuery","#updateQuery","mounted","shouldFetchOptionally","#updateStaleTimeout","nextRefetchInterval","#computeRefetchInterval","#updateRefetchInterval","shouldAssignObserverCurrentProperties","onPropTracked","target","defaultedOptions","fetchOptions","promise","timeout","nextInterval","prevResult","prevResultState","prevResultOptions","queryInitialState","state","newState","isPlaceholderData","fetchOnMount","fetchOptionally","errorUpdatedAt","status","skipSelect","placeholderData","selectError","isFetching","isPending","isError","isLoading","hasData","nextResult","isStale","finalizeThenableIfPossible","recreateThenable","pending","prevThenable","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","#notify","notifyOptions","shouldLoadOnMount","field","observer","optimisticResult","getDefaultState","MutationObserver","#currentMutation","#mutateOptions","#updateResult","action","variables","onMutateResult","context","REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getTaskName","name","getOwner","UnknownOwner","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","owner","debugStack","debugTask","refProp","jsxDEVImpl","isStaticChildren","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","isValidElement","object","React","createTask","callStackForError","unknownOwnerDebugStack","unknownOwnerDebugTask","reactJsxRuntime_development","trackActualOwner","jsxRuntimeModule","QueryClientContext","useQueryClient","queryClient","QueryClientProvider","jsx","IsRestoringContext","useIsRestoring","createValue","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","getHasError","suspense","ensureSuspenseTimers","clamp","originalStaleTime","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useBaseQuery","Observer","isNewCacheEntry","shouldSubscribe","onStoreChange","unsubscribe","useQuery","useMutation","mutate","mutateOptions","DataTableContext","createContext","undefined","defaultGetHeaders","DataTableProvider","t0","$","_c","baseUrl","getHeaders","t1","t2","t3","t4","useDataTable","useContext","Error","parseApiError","parsed","JSON","parse","message","code","details","fetchWithError","url","init","resp","fetch","responseText","text","statusText","errorJson","getAll","path","method","headers","json","getOne","id","deleteOne","createOne","item","body","stringify","api","payload","updateOne","useGetOne","apiPath","toString","map","_temp","String","queryFn","useGetAll","_temp2","useAddOne","_temp3","mutationKey","mutationFn","onSettled","invalidateQueries","_temp4","k_0","useUpdateOne","_temp5","_temp6","useDeleteOne","_temp7","_temp8","t","e","module","this","n","r","s","u","c","h","d","l","y","M","m","g","D","p","S","w","O","f","getNextIndex","direction","levelIndex","rowIndex","cellIndex","focusOnNextFocusableControl","controlsRef","nextIndex","controlToFocus","getDirection","getControlsSize","column","row","handleControlKeyDown","event","toDateString","dayjs","toDateTimeString","DATES_PROVIDER_DEFAULT_SETTINGS","DatesProviderContext","useDatesContext","ctx","getLocale","useCallback","input","getFirstDayOfWeek","getWeekendDays","getLabelSeparator","formatValue","withTime","formatter","startDate","endDate","HiddenDatesInput","form","clsx","classes","varsResolver","createVarsResolver","getSize","Day","factory","_props","ref","useProps","classNames","className","style","styles","unstyled","vars","date","disabled","__staticSelector","weekend","outside","selected","renderDay","inRange","firstInRange","lastInRange","hidden","isStatic","highlightToday","attributes","others","getStyles","useStyles","UnstyledButton","getWeekdayNames","locale","format","firstDayOfWeek","baseDate","labels","getFontSize","getSpacing","WeekdaysRow","weekdayFormat","CellComponent","withWeekNumbers","weekdays","weekday","index","jsxs","Box","getEndOfWeek","lastDayOfWeek","getStartOfWeek","getMonthDays","month","consistentWeeks","day","start","startOfMonth","endOfMonth","weeks","days","lastWeek","lastDay","nextDay","isSameMonth","comparison","isAfterMinDate","minDate","isBeforeMaxDate","maxDate","getDateInTabOrder","dates","getDayProps","excludeDate","hideOutsideDates","enabledDates","selectedDate","currentDate","isoWeek","getWeekNumber","week","monday","defaultProps","Month","weekendDays","hideWeekdays","getDayAriaLabel","__getDayRef","__onDayKeyDown","__onDayClick","__onDayMouseEnter","__preventFocus","__stopPropagation","withCellSpacing","dateInTabOrder","resolvedClassNames","resolvedStyles","useResolvedStylesApi","rows","cells","ariaLabel","dayProps","isDateInTabOrder","PickerControl","isYearDisabled","year","getYearInTabOrder","years","getYearControlProps","enabledYears","selectedYear","currentYear","getYearsData","decade","rounded","currentYearIndex","results","max","j","YearsList","yearsListFormat","__getControlRef","__onControlKeyDown","__onControlClick","__onControlMouseEnter","yearInTabOrder","yearsRow","controlProps","isYearInTabOrder","isMonthDisabled","getMonthInTabOrder","months","getMonthControlProps","enabledMonths","selectedMonth","currentMonth","getMonthsData","startOfYear","currentMonthIndex","MonthsList","monthsListFormat","monthInTabOrder","monthsRow","isMonthInTabOrder","CalendarHeader","nextIcon","previousIcon","nextLabel","previousLabel","onNext","onPrevious","onLevelClick","label","nextDisabled","previousDisabled","hasNextLevel","levelControlAriaLabel","withNext","withPrevious","headerControlsOrder","preventFocus","previousControl","createElement","AccordionChevron","levelControl","nextControl","controls","control","getDecadeRange","DecadeLevel","decadeLabelFormat","startOfDecade","endOfDecade","stylesApiProps","_nextDisabled","_previousDisabled","formatDecade","YearLevel","yearLabelFormat","MonthLevel","monthLabelFormat","LevelsGroup","DecadeLevelGroup","numberOfColumns","useRef","decades","decadeIndex","currentDecade","YearLevelGroup","yearIndex","MonthLevelGroup","daysRefs","monthIndex","getEmptyValue","convertDatesValue","converter","useUncontrolledDates","defaultValue","onChange","storedType","_value","_setValue","controlled","useUncontrolled","_finalValue","levelToNumber","level","fallback","levelNumberToLevel","levelNumber","clampLevel","minLevel","maxLevel","Calendar","defaultLevel","onLevelChange","defaultDate","onDateChange","columnsToScroll","ariaLabels","onYearSelect","onMonthSelect","onYearMouseEnter","onMonthMouseEnter","__updateDateOnYearSelect","__updateDateOnMonthSelect","__setDateRef","__setLevelRef","onNextDecade","onPreviousDecade","onNextYear","onPreviousYear","onNextMonth","onPreviousMonth","enableKeyboardNavigation","_level","setLevel","_date","setDate","useImperativeHandle","date2","level2","_columnsToScroll","now","fallbackDate","handleNextMonth","nextDate","handlePreviousMonth","handleNextYear","handlePreviousYear","handleNextDecade","handlePreviousDecade","calendarRef","useEffect","handleKeyDown","isCtrlOrCmd","isShift","mergedRef","_event","pickCalendarProps","allowSingleDateInRange","allowDeselect","dateStringParser","dateString","isDateValid","DateInput","useInputProps","inputProps","wrapperProps","clearable","clearButtonProps","popoverProps","valueFormat","dateParser","fixOnBlur","onBlur","onClick","onKeyDown","readOnly","rightSection","rest","_wrapperRef","_dropdownRef","dropdownOpened","setDropdownOpened","useState","calendarProps","_dateParser","parsedDate","_allowDeselect","setValue","inputValue","setInputValue","handleInputChange","dateValue","handleInputBlur","handleInputFocus","handleInputClick","handleInputKeyDown","_getDayProps","clearButton","Input","_clearable","useDidUpdate","useClickOutside","Fragment","Popover","CreateModal","fields","onClose","steps","onCreated","active","setActive","hideButtons","setHideButtons","recordId","setRecordId","mutateAsync","create","isCreateError","createError","isCreatePending","update","isUpdatePending","Set","filter","stepsAvailable","Symbol","for","values","required","resolveRequired","reduce","t5","t6","acc_0","field_2","acc","values_0","conditional","mode","initialValues","validate","useForm","t7","field_3","formValues","getValues","isRequired","TextInput","title","placeholder","getInputProps","includes","NumberInput","Checkbox","Textarea","render","setValues","renderField","t8","Alert","t9","length","onSubmit","values_1","setInitialValues","reset","t10","Stepper","step","f_1","field_4","field_5","t11","Group","Button","t12","t13","field_1","field_0","f_0","Mt","ue","ta","it","kt","oa","Nt","Et","Lt","na","Se","Wt","We","aa","ia","la","ra","It","sa","_t","Ht","Ot","Ie","re","ca","st","x","E","L","C","R","W","T","P","At","ua","zt","da","ct","pa","ma","ut","fa","Bt","Vt","Gt","Ft","G","pt","mt","$t","K","Ta","dt","ba","I","F","A","H","Xt","ha","ga","xa","wa","Ut","Da","ya","Ca","Kt","Sa","Qt","J","Ra","Pa","de","Jt","He","ft","bt","Re","Oe","Tt","jt","Zt","va","eo","qt","Yt","Ma","me","pe","X","_e","to","Z","Y","oo","Na","ka","Ea","no","Wa","La","ao","gt","Ia","Oa","_a","Ha","ro","Ae","Ba","Aa","za","io","Va","lo","co","Ga","so","uo","Ka","Qa","Ja","$a","ze","Ua","Fa","Xa","fo","Za","po","ja","mo","Ya","bo","qa","Be","To","er","Ve","go","tr","le","ho","or","ht","yo","sr","ir","U","Ct","lr","Fe","rr","ar","z","Ge","Co","nr","cr","xo","Do","dr","mr","ur","So","q","Dr","$e","Cr","yr","wo","fe","be","Te","ge","te","he","Ce","Je","je","Ze","br","gr","Tr","hr","fr","pr","Po","Ro","xr","Sr","wr","Rr","vo","Xe","Mo","ko","Pr","yt","No","Pe","Wo","Lo","Mr","ie","Eo","kr","Lr","vr","Er","Nr","Wr","Oo","_r","ee","Or","Ho","Hr","Io","Ir","Ar","_o","Vr","zr","Br","zo","Xr","$r","ve","Ao","Fr","Gr","Vo","Bo","Qr","Kr","Ur","$o","Fo","Go","Ue","Zr","Jr","jr","Uo","qr","Yr","Ke","Xo","Qe","ll","V","xe","et","jo","Zo","Yo","qo","en","tn","wt","on","nn","an","rn","ln","sn","cn","un","dn","mn","pn","bn","Tn","gn","hn","Cn","yn","Dn","xn","wn","Sn","Rn","Pn","vn","Mn","kn","En","Nn","Ln","Wn","In","Hn","On","_n","An","zn","Bn","Vn","ye","Gn","De","Fn","Ye","qe","al","rl","$n","tt","Xn","Qo","Un","Qn","Me","xt","St","ot","Kn","Dt","N","ol","ke","nl","oe","Rt","se","we","Pt","nt","Ee","Ne","Jn","jn","Le","Zn","at","Yn","qn","B","Jo","el","Ko","tl","rt","lt","vt","ea","ce","ne","ae","UpdateModal","isDataLoading","isUpdateError","updateError","forEach","Date","initialize","Stack","Skeleton","Array","fill","values_2","field_6","DeleteModal","selectedRecords","del","isDeleteError","deleteError","isDeletePending","records","setRecords","isDeleting","setIsDeleting","Text","Promise","all","record","usePersistentState","initialValue","storedValue","localStorage","getItem","setState","setItem","setStateWrapper","DATE_PATTERNS","detectColumnType","nonNullValues","sample","slice","types","string","number","trimmed","trim","isNaN","Number","parseFloat","some","pattern","test","getTime","total","toSortValue","columnType","num","toLowerCase","sortData","sort","aValue","bValue","aIsNull","bIsNull","aSortValue","bSortValue","getNestedValue","accessor","split","obj","renderFieldValue","MobileCardRow","MobileCardList","selection","onSelectedRecordsChange","onRowClick","actions","canUpdate","canDelete","pagination","rowExpansion","expandedIds","setExpandedIds","prev","next","has","delete","add","toggleExpansion","T0","bb0","listFields","sortOptions","isSelected","record_0","r_0","toggleSelection","record_1","handleCardClick","Select","value_0","onSortChange","flex","ActionIcon","IconSortAscending","IconSortDescending","record_2","index_0","clickable","recordKey","expanded","borderRadius","overflow","cursor","display","alignItems","e_0","stopPropagation","IconChevronDown","transform","transition","filteredActions","Menu","IconDotsVertical","action_0","actionIndex","icon","e_3","fieldIndex","Divider","Collapse","content","totalRecords","recordsPerPage","Pagination","Math","ceil","page","onPageChange","recordsPerPageOptions","onRecordsPerPageChange","o_0","e_2","e_1","push","sortable","list","PAGE_SIZES","DataTableInner","connectedQueryKeys","mutationApiPath","buttons","filters","defaultSort","createButtonText","queryParams","tabs","defaultTab","activeTab","controlledActiveTab","onActiveTabChange","showRefresh","mobileCards","internalActiveTab","setInternalActiveTab","handleTabChange","find","tab","currentTab","currentTabParams","effectiveApiPath","effectiveMutationApiPath","allQueryParams","queryString","Object","entries","join","effectiveQueryKey","allData","isRefetching","refetch","isArray","connectedQueryKey","filteredData","every","key_0","recordValue","prop","propValue","from","recordDate","recordDateStr","columnAccessor","sortStatus","setSortStatus","newSortStatus","handleSortChange","sortedData","pageSize","setPageSize","setPage","setSelectedRecords","t14","createModalOpen","setCreateModalOpen","updateModalOpen","setUpdateModalOpen","deleteModalOpen","setDeleteModalOpen","t15","hasUpdateField","t16","hasDeleteField","mobileActions","t17","IconPencil","t18","records_0","IconTrash","records_1","Title","t19","marginLeft","t20","IconRefresh","t21","hasUpdateAction","hasDeleteAction","hasCustomActions","hasAnyAction","visibleFrom","IconCaretDownFilled","leftSection","t22","t23","t24","t25","Tabs","_temp9","t26","IconInfoCircle","t27","_temp0","t28","MantineDataTable","recordsPerPageLabel","allowMultiple","t29","_temp1","t30","t31","_temp10","t32","Modal","t33","t34","t35","t36","t37","_temp11","t38","t39","t40","field_8","field_7","tab_0","value_1","encodeURIComponent","DataTable"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,83]}