{"version":3,"file":"sokeresultat-DGzjDWHh.js","sources":["../../../Features/SokSide/Utilities/SokeresultatApi.ts","../../../Features/SokSide/Components/Treff.tsx","../../../node_modules/.pnpm/@tanstack+query-core@5.61.5/node_modules/@tanstack/query-core/build/modern/subscribable.js","../../../node_modules/.pnpm/@tanstack+query-core@5.61.5/node_modules/@tanstack/query-core/build/modern/utils.js","../../../node_modules/.pnpm/@tanstack+query-core@5.61.5/node_modules/@tanstack/query-core/build/modern/focusManager.js","../../../node_modules/.pnpm/@tanstack+query-core@5.61.5/node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../../node_modules/.pnpm/@tanstack+query-core@5.61.5/node_modules/@tanstack/query-core/build/modern/thenable.js","../../../node_modules/.pnpm/@tanstack+query-core@5.61.5/node_modules/@tanstack/query-core/build/modern/retryer.js","../../../node_modules/.pnpm/@tanstack+query-core@5.61.5/node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../../node_modules/.pnpm/@tanstack+query-core@5.61.5/node_modules/@tanstack/query-core/build/modern/removable.js","../../../node_modules/.pnpm/@tanstack+query-core@5.61.5/node_modules/@tanstack/query-core/build/modern/query.js","../../../node_modules/.pnpm/@tanstack+query-core@5.61.5/node_modules/@tanstack/query-core/build/modern/queryCache.js","../../../node_modules/.pnpm/@tanstack+query-core@5.61.5/node_modules/@tanstack/query-core/build/modern/mutation.js","../../../node_modules/.pnpm/@tanstack+query-core@5.61.5/node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../../node_modules/.pnpm/@tanstack+query-core@5.61.5/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../../node_modules/.pnpm/@tanstack+query-core@5.61.5/node_modules/@tanstack/query-core/build/modern/queryClient.js","../../../node_modules/.pnpm/@tanstack+query-core@5.61.5/node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../../node_modules/.pnpm/@tanstack+react-query@5.61.5_react@18.3.1/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../../../node_modules/.pnpm/@tanstack+react-query@5.61.5_react@18.3.1/node_modules/@tanstack/react-query/build/modern/isRestoring.js","../../../node_modules/.pnpm/@tanstack+react-query@5.61.5_react@18.3.1/node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../../node_modules/.pnpm/@tanstack+react-query@5.61.5_react@18.3.1/node_modules/@tanstack/react-query/build/modern/utils.js","../../../node_modules/.pnpm/@tanstack+react-query@5.61.5_react@18.3.1/node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../../node_modules/.pnpm/@tanstack+react-query@5.61.5_react@18.3.1/node_modules/@tanstack/react-query/build/modern/suspense.js","../../../node_modules/.pnpm/@tanstack+react-query@5.61.5_react@18.3.1/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../../node_modules/.pnpm/@tanstack+react-query@5.61.5_react@18.3.1/node_modules/@tanstack/react-query/build/modern/useQuery.js","../../../Features/SokSide/App.tsx","../../../Features/SokSide/index.tsx"],"sourcesContent":["export const hentSokeResultater = (query: string, visTreffPaTvers: boolean, culture: string) => {\r\n const params = new URLSearchParams({\r\n q: query,\r\n excludeLarestedInfo: `${!visTreffPaTvers}`,\r\n culture\r\n });\r\n return fetch(`/api/mt1534/CMSProxy/sok/gethits?${params}`, {\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n }\r\n }).then(async res => {\r\n if (!res.ok) {\r\n const errorMessage = await res.text();\r\n throw new Error(errorMessage);\r\n }\r\n return await res.json() as Promise\r\n })\r\n}\r\n\r\nexport enum SideTyper {\r\n Ingen = 0, Lanekassen = 1, Laresteder = 2\r\n}\r\n\r\nexport interface SokResultDto {\r\n hits: HitModel[];\r\n otherHits: HitModel[];\r\n}\r\n\r\nexport interface HitModel {\r\n id: string;\r\n title: string;\r\n url: string;\r\n excerpt: string;\r\n isPrioritized: boolean;\r\n score: number;\r\n forelderTag1: string;\r\n}\r\n\r\n","import React from 'react';\r\nimport {HitModel} from '../Utilities/SokeresultatApi';\r\n\r\ninterface TreffProps {\r\n hit: HitModel\r\n}\r\n\r\nexport default function Treff(props: TreffProps): JSX.Element {\r\n\r\n return (\r\n
\r\n \r\n

{props.hit.title}

\r\n
\r\n
{props.hit.forelderTag1}
\r\n

\r\n

\r\n )\r\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/utils.ts\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).some((key) => !partialMatchKey(a[key], b[key]));\n }\n return false;\n}\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)) {\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 ? [] : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n if ((!array && aItems.includes(key) || array) && a[key] === void 0 && b[key] === void 0) {\n copy[key] = void 0;\n equalItems++;\n } else {\n copy[key] = replaceEqualDeep(a[key], b[key]);\n if (copy[key] === a[key] && a[key] !== void 0) {\n equalItems++;\n }\n }\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n return b;\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 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 }\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}\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 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/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/thenable.ts\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}\nexport {\n pendingThenable\n};\n//# sourceMappingURL=thenable.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 isResolved = false;\n let continueFn;\n const thenable = pendingThenable();\n const cancel = (cancelOptions) => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions));\n config.abort?.();\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 isResolved = true;\n config.onSuccess?.(value);\n continueFn?.();\n thenable.resolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onError?.(value);\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 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/notifyManager.ts\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 = (cb) => setTimeout(cb, 0);\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 notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/removable.ts\nimport { isServer, isValidTimeout } from \"./utils.js\";\nvar Removable = class {\n #gcTimeout;\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1e3)\n );\n }\n clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout);\n this.#gcTimeout = void 0;\n }\n }\n};\nexport {\n Removable\n};\n//# sourceMappingURL=removable.js.map","// src/query.ts\nimport {\n ensureQueryFn,\n noop,\n replaceData,\n resolveEnabled,\n skipToken,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { canFetch, createRetryer, isCancelledError } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar Query = class extends Removable {\n #initialState;\n #revertState;\n #cache;\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.#cache = config.cache;\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 }\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 isStale() {\n if (this.state.isInvalidated) {\n return true;\n }\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0;\n }\n isStaleByTime(staleTime = 0) {\n return this.state.isInvalidated || this.state.data === void 0 || !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 fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\") {\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 queryFnContext = {\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext);\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 context = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context);\n this.options.behavior?.onFetch(\n context,\n this\n );\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 const onError = (error) => {\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: \"error\",\n error\n });\n }\n if (!isCancelledError(error)) {\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 }\n this.scheduleGc();\n };\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\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 onError(new Error(`${this.queryHash} data is undefined`));\n return;\n }\n try {\n this.setData(data);\n } catch (error) {\n onError(error);\n return;\n }\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n this.scheduleGc();\n },\n onError,\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 return this.#retryer.start();\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 return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\",\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n case \"error\":\n const error = action.error;\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState, fetchStatus: \"idle\" };\n }\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 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/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n cache: this,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.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 #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\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 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);\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: 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 this.#dispatch({ type: \"pending\", variables, isPaused });\n await this.#mutationCache.config.onMutate?.(\n variables,\n this\n );\n const context = await this.options.onMutate?.(variables);\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 );\n await this.options.onSuccess?.(data, variables, this.state.context);\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(data, null, variables, this.state.context);\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 );\n await this.options.onError?.(\n error,\n variables,\n this.state.context\n );\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context\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/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = /* @__PURE__ */ new Map();\n this.#mutationId = Date.now();\n }\n #mutations;\n #mutationId;\n build(client, options, state) {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n const scope = scopeFor(mutation);\n const mutations = this.#mutations.get(scope) ?? [];\n mutations.push(mutation);\n this.#mutations.set(scope, mutations);\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n const scope = scopeFor(mutation);\n if (this.#mutations.has(scope)) {\n const mutations = this.#mutations.get(scope)?.filter((x) => x !== mutation);\n if (mutations) {\n if (mutations.length === 0) {\n this.#mutations.delete(scope);\n } else {\n this.#mutations.set(scope, mutations);\n }\n }\n }\n this.notify({ type: \"removed\", mutation });\n }\n canRun(mutation) {\n const firstPendingMutation = this.#mutations.get(scopeFor(mutation))?.find((m) => m.state.status === \"pending\");\n return !firstPendingMutation || firstPendingMutation === mutation;\n }\n runNext(mutation) {\n const foundMutation = this.#mutations.get(scopeFor(mutation))?.find((m) => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((mutation) => {\n this.remove(mutation);\n });\n });\n }\n getAll() {\n return [...this.#mutations.values()].flat();\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop))\n )\n );\n }\n};\nfunction scopeFor(mutation) {\n return mutation.options.scope?.id ?? String(mutation.mutationId);\n}\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","// src/infiniteQueryBehavior.ts\nimport { addToEnd, addToStart, ensureQueryFn } from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n let result = { pages: [], pageParams: [] };\n let currentPage = 0;\n const fetchFn = async () => {\n let cancelled = false;\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true;\n } else {\n context.signal.addEventListener(\"abort\", () => {\n cancelled = true;\n });\n }\n return context.signal;\n }\n });\n };\n const queryFn = ensureQueryFn(context.options, context.fetchOptions);\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const queryFnContext = {\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext);\n const page = await queryFn(\n queryFnContext\n );\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n const remainingPages = pages ?? oldPages.length;\n do {\n const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);\n if (currentPage > 0 && param == null) {\n break;\n }\n result = await fetchPage(result, param);\n currentPage++;\n } while (currentPage < remainingPages);\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return pages.length > 0 ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n ) : void 0;\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;\n}\nfunction hasNextPage(options, data) {\n if (!data)\n return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam)\n return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1)\n return;\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0)\n return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const cachedData = this.getQueryData(options.queryKey);\n if (cachedData === void 0)\n return this.fetchQuery(options);\n else {\n const defaultedOptions = this.defaultQueryOptions(options);\n const query = this.#queryCache.build(this, defaultedOptions);\n if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n }\n getQueriesData(filters) {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.#queryCache.findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = this.#queryCache;\n const refetchFilters = {\n type: \"active\",\n ...filters\n };\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(refetchFilters, options);\n });\n }\n cancelQueries(filters = {}, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters = {}, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters.refetchType === \"none\") {\n return Promise.resolve();\n }\n const refetchFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? \"active\"\n };\n return this.refetchQueries(refetchFilters, options);\n });\n }\n refetchQueries(filters = {}, options) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query)\n ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n ensureInfiniteQueryData(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.ensureQueryData(options);\n }\n resumePausedMutations() {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.enabled !== true && defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.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\";\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 if (!this.options.experimental_prefetchInRender) {\n this.#currentThenable.reject(\n new Error(\"experimental_prefetchInRender feature flag is not enabled\")\n );\n }\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, notifyOptions) {\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(notifyOptions);\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 const trackedResult = {};\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.trackProp(key);\n onPropTracked?.(key);\n return result[key];\n }\n });\n });\n return trackedResult;\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 = 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 = 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 clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId) {\n 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 if (options.select && newState.data !== void 0) {\n if (prevResult && newState.data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(newState.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 } else {\n data = newState.data;\n }\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 } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n if (options.select && placeholderData !== void 0) {\n try {\n placeholderData = options.select(placeholderData);\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\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 (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 };\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(notifyOptions) {\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 defaultNotifyOptions = {};\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 if (notifyOptions?.listeners !== false && shouldNotifyListeners()) {\n defaultNotifyOptions.listeners = true;\n }\n this.#notify({ ...defaultNotifyOptions, ...notifyOptions });\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) {\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","\"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/isRestoring.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=isRestoring.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","// src/utils.ts\nfunction shouldThrowError(throwError, params) {\n if (typeof throwError === \"function\") {\n return throwError(...params);\n }\n return !!throwError;\n}\nfunction noop() {\n}\nexport {\n noop,\n shouldThrowError\n};\n//# sourceMappingURL=utils.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"./utils.js\";\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}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && 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 if (defaultedOptions.staleTime === void 0) {\n defaultedOptions.staleTime = 1e3;\n }\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(defaultedOptions.gcTime, 1e3);\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, 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 \"./isRestoring.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n} from \"./suspense.js\";\nimport { noop } from \"./utils.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 client = useQueryClient(queryClient);\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedOptions = client.defaultQueryOptions(options);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\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 React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = isRestoring ? noop : observer.subscribe(notifyManager.batchCalls(onStoreChange));\n observer.updateResult();\n return unsubscribe;\n },\n [observer, isRestoring]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions, { listeners: false });\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 })) {\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","import React, { useState } from 'react';\r\nimport ReactModal from 'react-modal';\r\n\r\nimport { HitModel, hentSokeResultater } from './Utilities/SokeresultatApi';\r\nimport { FeilmeldingComponent } from '../Shared/Scripts/Components/FeilmeldingComponent';\r\n\r\nimport Treff from './Components/Treff';\r\nimport { useQuery } from '@tanstack/react-query';\r\nimport { epiResolveLanguage } from '../Shared/Scripts/Utilities/EpiResolveLanguage';\r\n\r\ninterface AppOwnProps {\r\n antalltreff: string;\r\n ingentreff: string;\r\n andretreff: string;\r\n vistreffpatvers: boolean;\r\n sidetype: string;\r\n fane1: string;\r\n fane2: string;\r\n query: string;\r\n}\r\n\r\ntype AppProps = AppOwnProps;\r\n\r\nReactModal.setAppElement(document.getElementById('sokeresultat') as HTMLElement);\r\n\r\nexport function App({\r\n antalltreff,\r\n ingentreff,\r\n vistreffpatvers,\r\n sidetype,\r\n fane1,\r\n fane2,\r\n query\r\n}: AppProps) {\r\n const [activeTab, setActiveTab] = useState(1)\r\n\r\n const { isError, isLoading, data } = useQuery({\r\n queryKey: ['search'],\r\n queryFn: () => hentSokeResultater(query, vistreffpatvers, epiResolveLanguage())\r\n })\r\n\r\n\r\n if (isLoading) {\r\n return (
);\r\n }\r\n\r\n if (isError || !data) {\r\n return ();\r\n }\r\n\r\n function buttonClick(activeTab: number) {\r\n setActiveTab(activeTab)\r\n }\r\n\r\n const countHits = data.hits.length\r\n const countOtherHits = data.otherHits.length\r\n return (\r\n
\r\n {vistreffpatvers && countHits === 0 && countOtherHits === 0 &&\r\n
\r\n {ingentreff}\r\n
\r\n }\r\n {!vistreffpatvers && countHits === 0 &&\r\n
\r\n {ingentreff}\r\n
\r\n }\r\n\r\n {!vistreffpatvers && countHits !== undefined && countHits > 0 &&\r\n
\r\n {antalltreff} {countHits}\r\n
\r\n }\r\n {vistreffpatvers && countHits !== undefined && (countHits > 0 || (countOtherHits || 0) > 0) &&\r\n
\r\n {antalltreff} {countHits + countOtherHits}\r\n
\r\n }\r\n\r\n {((countHits || 0) > 0 || (countOtherHits || 0) > 0) &&\r\n
\r\n {vistreffpatvers &&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n {data.hits.length === 0 && vistreffpatvers &&\r\n
{ingentreff}
\r\n }\r\n {data.hits.length > 0 &&\r\n
\r\n {\r\n data.hits.filter((hit: HitModel) => {\r\n return (hit.isPrioritized);\r\n }).map((hit: HitModel, i: number) => {\r\n return (\r\n \r\n )\r\n }\r\n )\r\n }\r\n {\r\n data.hits.filter((hit: HitModel) => {\r\n return (!hit.isPrioritized);\r\n }).map((hit: HitModel, i: number) => {\r\n return (\r\n \r\n )\r\n }\r\n )\r\n }\r\n
\r\n }\r\n
\r\n {vistreffpatvers &&\r\n
\r\n {countOtherHits === 0 &&\r\n
{ingentreff}
\r\n }\r\n {data.otherHits.length > 0 &&\r\n
\r\n {\r\n data.otherHits.filter((hit: HitModel) => {\r\n return (hit.isPrioritized);\r\n }).map((hit: HitModel, i: number) => {\r\n return ()\r\n })\r\n }\r\n {\r\n data.otherHits.filter((hit: HitModel) => {\r\n return (!hit.isPrioritized);\r\n }).map((hit: HitModel, i: number) => {\r\n return (\r\n \r\n )\r\n }\r\n )\r\n }\r\n
\r\n }\r\n
\r\n }\r\n
\r\n }\r\n
\r\n )\r\n};\r\n\r\nexport default App;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom/client';\r\nimport App from './App';\r\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\r\n\r\nconst root = document.getElementById(\"sokeresultat\");\r\nif (root != null) {\r\n const { antalltreff, ingentreff, andretreff, query, vistreffpatvers, sidetype, fane1, fane2 } = root.dataset;\r\n\r\n const queryClient = new QueryClient({\r\n defaultOptions: {\r\n queries: {\r\n staleTime: Number.POSITIVE_INFINITY, // Ønsker ikke refetching annet en ved refresh av siden\r\n },\r\n },\r\n });\r\n\r\n const AppRoot = (): JSX.Element => (\r\n \r\n \r\n \r\n );\r\n\r\n const app = ReactDOM.createRoot(root as HTMLElement);\r\n app.render();\r\n}\r\n"],"names":["jsx","noop","getDefaultState","React.createContext","React.useContext","React.useEffect","React.useState","React.useSyncExternalStore","React.useCallback","useState","activeTab","jsxs"],"mappings":";;;;;;AAAO,MAAM,qBAAqB,CAAC,OAAe,iBAA0B,YAAoB;AACtF,QAAA,SAAS,IAAI,gBAAgB;AAAA,IAC/B,GAAG;AAAA,IACH,qBAAqB,GAAG,CAAC,eAAe;AAAA,IACxC;AAAA,EAAA,CACH;AACM,SAAA,MAAM,oCAAoC,MAAM,IAAI;AAAA,IACvD,SAAS;AAAA,MACL,gBAAgB;AAAA,IAAA;AAAA,EACpB,CACH,EAAE,KAAK,OAAM,QAAO;AACb,QAAA,CAAC,IAAI,IAAI;AACH,YAAA,eAAe,MAAM,IAAI,KAAK;AAC9B,YAAA,IAAI,MAAM,YAAY;AAAA,IAAA;AAEzB,WAAA,MAAM,IAAI,KAAK;AAAA,EAAA,CACzB;AACL;ACVA,SAAwB,MAAM,OAAgC;AAE1D,gDACK,OAAuB,EAAA,WAAU,mCAAkC,kBAAgB,MAAM,IAAI,OAC1F,UAAA;AAAA,IAAAA,kCAAA,IAAC,KAAE,EAAA,MAAM,MAAM,IAAI,KAAK,WAAU,wCAC9B,UAAAA,kCAAA,IAAC,MAAI,EAAA,UAAA,MAAM,IAAI,MAAM,CAAA,GACzB;AAAA,0CACC,OAAI,EAAA,WAAU,4BAA4B,UAAA,MAAM,IAAI,cAAa;AAAA,IAClEA,kCAAAA,IAAC,KAAE,EAAA,WAAU,4CAA2C,yBAAyB,EAAE,QAAQ,MAAM,IAAI,UAAW,CAAA;AAAA,EAAA,KAL1G,MAAM,IAAI,EAMpB;AAER;ACjBA,IAAI,eAAe,MAAM;AAAA,EACvB,cAAc;AACZ,SAAK,YAA4B,oBAAI,IAAK;AAC1C,SAAK,YAAY,KAAK,UAAU,KAAK,IAAI;AAAA,EAC7C;AAAA,EACE,UAAU,UAAU;AAClB,SAAK,UAAU,IAAI,QAAQ;AAC3B,SAAK,YAAa;AAClB,WAAO,MAAM;AACX,WAAK,UAAU,OAAO,QAAQ;AAC9B,WAAK,cAAe;AAAA,IACrB;AAAA,EACL;AAAA,EACE,eAAe;AACb,WAAO,KAAK,UAAU,OAAO;AAAA,EACjC;AAAA,EACE,cAAc;AAAA,EAChB;AAAA,EACE,gBAAgB;AAAA,EAClB;AACA;ACpBA,IAAI,WAAW,OAAO,WAAW,eAAe,UAAU;AAC1D,SAASC,SAAO;AAChB;AACA,SAAS,iBAAiB,SAAS,OAAO;AACxC,SAAO,OAAO,YAAY,aAAa,QAAQ,KAAK,IAAI;AAC1D;AACA,SAAS,eAAe,OAAO;AAC7B,SAAO,OAAO,UAAU,YAAY,SAAS,KAAK,UAAU;AAC9D;AACA,SAAS,eAAe,WAAW,WAAW;AACrC,SAAA,KAAK,IAAI,aAAa,aAAa,KAAK,KAAK,OAAO,CAAC;AAC9D;AACA,SAAS,iBAAiB,WAAW,OAAO;AAC1C,SAAO,OAAO,cAAc,aAAa,UAAU,KAAK,IAAI;AAC9D;AACA,SAAS,eAAe,SAAS,OAAO;AACtC,SAAO,OAAO,YAAY,aAAa,QAAQ,KAAK,IAAI;AAC1D;AACA,SAAS,WAAW,SAAS,OAAO;AAC5B,QAAA;AAAA,IACJ,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AACJ,MAAI,UAAU;AACZ,QAAI,OAAO;AACT,UAAI,MAAM,cAAc,sBAAsB,UAAU,MAAM,OAAO,GAAG;AAC/D,eAAA;AAAA,MAAA;AAAA,eAEA,CAAC,gBAAgB,MAAM,UAAU,QAAQ,GAAG;AAC9C,aAAA;AAAA,IAAA;AAAA,EACT;AAEF,MAAI,SAAS,OAAO;AACZ,UAAA,WAAW,MAAM,SAAS;AAC5B,QAAA,SAAS,YAAY,CAAC,UAAU;AAC3B,aAAA;AAAA,IAAA;AAEL,QAAA,SAAS,cAAc,UAAU;AAC5B,aAAA;AAAA,IAAA;AAAA,EACT;AAEF,MAAI,OAAO,UAAU,aAAa,MAAM,QAAA,MAAc,OAAO;AACpD,WAAA;AAAA,EAAA;AAET,MAAI,eAAe,gBAAgB,MAAM,MAAM,aAAa;AACnD,WAAA;AAAA,EAAA;AAET,MAAI,aAAa,CAAC,UAAU,KAAK,GAAG;AAC3B,WAAA;AAAA,EAAA;AAEF,SAAA;AACT;AACA,SAAS,cAAc,SAAS,UAAU;AACxC,QAAM,EAAE,OAAO,QAAQ,WAAW,YAAgB,IAAA;AAClD,MAAI,aAAa;AACX,QAAA,CAAC,SAAS,QAAQ,aAAa;AAC1B,aAAA;AAAA,IAAA;AAET,QAAI,OAAO;AACT,UAAI,QAAQ,SAAS,QAAQ,WAAW,MAAM,QAAQ,WAAW,GAAG;AAC3D,eAAA;AAAA,MAAA;AAAA,IACT,WACS,CAAC,gBAAgB,SAAS,QAAQ,aAAa,WAAW,GAAG;AAC/D,aAAA;AAAA,IAAA;AAAA,EACT;AAEF,MAAI,UAAU,SAAS,MAAM,WAAW,QAAQ;AACvC,WAAA;AAAA,EAAA;AAET,MAAI,aAAa,CAAC,UAAU,QAAQ,GAAG;AAC9B,WAAA;AAAA,EAAA;AAEF,SAAA;AACT;AACA,SAAS,sBAAsB,UAAU,SAAS;AAC1C,QAAA,SAAS,SAAS,kBAAkB;AAC1C,SAAO,OAAO,QAAQ;AACxB;AACA,SAAS,QAAQ,UAAU;AACzB,SAAO,KAAK;AAAA,IACV;AAAA,IACA,CAAC,GAAG,QAAQ,cAAc,GAAG,IAAI,OAAO,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,QAAQ;AACxE,aAAA,GAAG,IAAI,IAAI,GAAG;AACd,aAAA;AAAA,IACT,GAAG,CAAE,CAAA,IAAI;AAAA,EACX;AACF;AACA,SAAS,gBAAgB,GAAG,GAAG;AAC7B,MAAI,MAAM,GAAG;AACJ,WAAA;AAAA,EAAA;AAEL,MAAA,OAAO,MAAM,OAAO,GAAG;AAClB,WAAA;AAAA,EAAA;AAET,MAAI,KAAK,KAAK,OAAO,MAAM,YAAY,OAAO,MAAM,UAAU;AAC5D,WAAO,CAAC,OAAO,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;AAAA,EAAA;AAEhE,SAAA;AACT;AACA,SAAS,iBAAiB,GAAG,GAAG;AAC9B,MAAI,MAAM,GAAG;AACJ,WAAA;AAAA,EAAA;AAET,QAAM,QAAQ,aAAa,CAAC,KAAK,aAAa,CAAC;AAC/C,MAAI,SAAS,cAAc,CAAC,KAAK,cAAc,CAAC,GAAG;AACjD,UAAM,SAAS,QAAQ,IAAI,OAAO,KAAK,CAAC;AACxC,UAAM,QAAQ,OAAO;AACrB,UAAM,SAAS,QAAQ,IAAI,OAAO,KAAK,CAAC;AACxC,UAAM,QAAQ,OAAO;AACrB,UAAM,OAAO,QAAQ,CAAA,IAAK,CAAC;AAC3B,QAAI,aAAa;AACjB,aAAS,IAAI,GAAG,IAAI,OAAO,KAAK;AAC9B,YAAM,MAAM,QAAQ,IAAI,OAAO,CAAC;AAChC,WAAK,CAAC,SAAS,OAAO,SAAS,GAAG,KAAK,UAAU,EAAE,GAAG,MAAM,UAAU,EAAE,GAAG,MAAM,QAAQ;AACvF,aAAK,GAAG,IAAI;AACZ;AAAA,MAAA,OACK;AACA,aAAA,GAAG,IAAI,iBAAiB,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC;AACvC,YAAA,KAAK,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,QAAQ;AAC7C;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAEF,WAAO,UAAU,SAAS,eAAe,QAAQ,IAAI;AAAA,EAAA;AAEhD,SAAA;AACT;AACA,SAAS,oBAAoB,GAAG,GAAG;AAC7B,MAAA,CAAC,KAAK,OAAO,KAAK,CAAC,EAAE,WAAW,OAAO,KAAK,CAAC,EAAE,QAAQ;AAClD,WAAA;AAAA,EAAA;AAET,aAAW,OAAO,GAAG;AACnB,QAAI,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG;AACd,aAAA;AAAA,IAAA;AAAA,EACT;AAEK,SAAA;AACT;AACA,SAAS,aAAa,OAAO;AACpB,SAAA,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW,OAAO,KAAK,KAAK,EAAE;AACrE;AACA,SAAS,cAAc,GAAG;AACpB,MAAA,CAAC,mBAAmB,CAAC,GAAG;AACnB,WAAA;AAAA,EAAA;AAET,QAAM,OAAO,EAAE;AACf,MAAI,SAAS,QAAQ;AACZ,WAAA;AAAA,EAAA;AAET,QAAM,OAAO,KAAK;AACd,MAAA,CAAC,mBAAmB,IAAI,GAAG;AACtB,WAAA;AAAA,EAAA;AAET,MAAI,CAAC,KAAK,eAAe,eAAe,GAAG;AAClC,WAAA;AAAA,EAAA;AAET,MAAI,OAAO,eAAe,CAAC,MAAM,OAAO,WAAW;AAC1C,WAAA;AAAA,EAAA;AAEF,SAAA;AACT;AACA,SAAS,mBAAmB,GAAG;AAC7B,SAAO,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM;AAC/C;AACA,SAAS,MAAM,SAAS;AACf,SAAA,IAAI,QAAQ,CAAC,YAAY;AAC9B,eAAW,SAAS,OAAO;AAAA,EAAA,CAC5B;AACH;AACA,SAAS,YAAY,UAAU,MAAM,SAAS;AACxC,MAAA,OAAO,QAAQ,sBAAsB,YAAY;AAC5C,WAAA,QAAQ,kBAAkB,UAAU,IAAI;AAAA,EAAA,WACtC,QAAQ,sBAAsB,OAAO;AAUvC,WAAA,iBAAiB,UAAU,IAAI;AAAA,EAAA;AAEjC,SAAA;AACT;AAIA,SAAS,SAAS,OAAO,MAAM,MAAM,GAAG;AACtC,QAAM,WAAW,CAAC,GAAG,OAAO,IAAI;AAChC,SAAO,OAAO,SAAS,SAAS,MAAM,SAAS,MAAM,CAAC,IAAI;AAC5D;AACA,SAAS,WAAW,OAAO,MAAM,MAAM,GAAG;AACxC,QAAM,WAAW,CAAC,MAAM,GAAG,KAAK;AACzB,SAAA,OAAO,SAAS,SAAS,MAAM,SAAS,MAAM,GAAG,EAAE,IAAI;AAChE;AACA,IAAI,YAAY,OAAO;AACvB,SAAS,cAAc,SAAS,cAAc;AAQ5C,MAAI,CAAC,QAAQ,WAAW,cAAc,gBAAgB;AACpD,WAAO,MAAM,aAAa;AAAA,EAAA;AAE5B,MAAI,CAAC,QAAQ,WAAW,QAAQ,YAAY,WAAW;AAC9C,WAAA,MAAM,QAAQ,OAAO,IAAI,MAAM,qBAAqB,QAAQ,SAAS,GAAG,CAAC;AAAA,EAAA;AAElF,SAAO,QAAQ;AACjB;ACvNA,IAAI,eAAe,cAAc,aAAa;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AACZ,UAAO;AACP,SAAK,SAAS,CAAC,YAAY;AACzB,UAAI,CAAC,YAAY,OAAO,kBAAkB;AACxC,cAAM,WAAW,MAAM,QAAS;AAChC,eAAO,iBAAiB,oBAAoB,UAAU,KAAK;AAC3D,eAAO,MAAM;AACX,iBAAO,oBAAoB,oBAAoB,QAAQ;AAAA,QACxD;AAAA,MACT;AACM;AAAA,IACD;AAAA,EACL;AAAA,EACE,cAAc;AACZ,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,iBAAiB,KAAK,MAAM;AAAA,IACvC;AAAA,EACA;AAAA,EACE,gBAAgB;AACd,QAAI,CAAC,KAAK,gBAAgB;AACxB,WAAK,WAAY;AACjB,WAAK,WAAW;AAAA,IACtB;AAAA,EACA;AAAA,EACE,iBAAiB,OAAO;AACtB,SAAK,SAAS;AACd,SAAK,WAAY;AACjB,SAAK,WAAW,MAAM,CAAC,YAAY;AACjC,UAAI,OAAO,YAAY,WAAW;AAChC,aAAK,WAAW,OAAO;AAAA,MAC/B,OAAa;AACL,aAAK,QAAS;AAAA,MACtB;AAAA,IACA,CAAK;AAAA,EACL;AAAA,EACE,WAAW,SAAS;AAClB,UAAM,UAAU,KAAK,aAAa;AAClC,QAAI,SAAS;AACX,WAAK,WAAW;AAChB,WAAK,QAAS;AAAA,IACpB;AAAA,EACA;AAAA,EACE,UAAU;AACR,UAAM,YAAY,KAAK,UAAW;AAClC,SAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,eAAS,SAAS;AAAA,IACxB,CAAK;AAAA,EACL;AAAA,EACE,YAAY;AACV,QAAI,OAAO,KAAK,aAAa,WAAW;AACtC,aAAO,KAAK;AAAA,IAClB;AACI,WAAO,WAAW,UAAU,oBAAoB;AAAA,EACpD;AACA;AACA,IAAI,eAAe,IAAI,aAAc;AC3DrC,IAAI,gBAAgB,cAAc,aAAa;AAAA,EAC7C,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,cAAc;AACZ,UAAO;AACP,SAAK,SAAS,CAAC,aAAa;AAC1B,UAAI,CAAC,YAAY,OAAO,kBAAkB;AACxC,cAAM,iBAAiB,MAAM,SAAS,IAAI;AAC1C,cAAM,kBAAkB,MAAM,SAAS,KAAK;AAC5C,eAAO,iBAAiB,UAAU,gBAAgB,KAAK;AACvD,eAAO,iBAAiB,WAAW,iBAAiB,KAAK;AACzD,eAAO,MAAM;AACX,iBAAO,oBAAoB,UAAU,cAAc;AACnD,iBAAO,oBAAoB,WAAW,eAAe;AAAA,QACtD;AAAA,MACT;AACM;AAAA,IACD;AAAA,EACL;AAAA,EACE,cAAc;AACZ,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,iBAAiB,KAAK,MAAM;AAAA,IACvC;AAAA,EACA;AAAA,EACE,gBAAgB;AACd,QAAI,CAAC,KAAK,gBAAgB;AACxB,WAAK,WAAY;AACjB,WAAK,WAAW;AAAA,IACtB;AAAA,EACA;AAAA,EACE,iBAAiB,OAAO;AACtB,SAAK,SAAS;AACd,SAAK,WAAY;AACjB,SAAK,WAAW,MAAM,KAAK,UAAU,KAAK,IAAI,CAAC;AAAA,EACnD;AAAA,EACE,UAAU,QAAQ;AAChB,UAAM,UAAU,KAAK,YAAY;AACjC,QAAI,SAAS;AACX,WAAK,UAAU;AACf,WAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,iBAAS,MAAM;AAAA,MACvB,CAAO;AAAA,IACP;AAAA,EACA;AAAA,EACE,WAAW;AACT,WAAO,KAAK;AAAA,EAChB;AACA;AACA,IAAI,gBAAgB,IAAI,cAAe;ACnDvC,SAAS,kBAAkB;AACzB,MAAI;AACJ,MAAI;AACJ,QAAM,WAAW,IAAI,QAAQ,CAAC,UAAU,YAAY;AAClD,cAAU;AACV,aAAS;AAAA,EACb,CAAG;AACD,WAAS,SAAS;AAClB,WAAS,MAAM,MAAM;AAAA,EACvB,CAAG;AACD,WAAS,SAAS,MAAM;AACtB,WAAO,OAAO,UAAU,IAAI;AAC5B,WAAO,SAAS;AAChB,WAAO,SAAS;AAAA,EACpB;AACE,WAAS,UAAU,CAAC,UAAU;AAC5B,aAAS;AAAA,MACP,QAAQ;AAAA,MACR;AAAA,IACN,CAAK;AACD,YAAQ,KAAK;AAAA,EACd;AACD,WAAS,SAAS,CAAC,WAAW;AAC5B,aAAS;AAAA,MACP,QAAQ;AAAA,MACR;AAAA,IACN,CAAK;AACD,WAAO,MAAM;AAAA,EACd;AACD,SAAO;AACT;AC1BA,SAAS,kBAAkB,cAAc;AACvC,SAAO,KAAK,IAAI,MAAM,KAAK,cAAc,GAAG;AAC9C;AACA,SAAS,SAAS,aAAa;AAC7B,UAAQ,eAAe,cAAc,WAAW,cAAc,SAAQ,IAAK;AAC7E;AACA,IAAI,iBAAiB,cAAc,MAAM;AAAA,EACvC,YAAY,SAAS;AACnB,UAAM,gBAAgB;AACtB,SAAK,SAAS,SAAS;AACvB,SAAK,SAAS,SAAS;AAAA,EAC3B;AACA;AACA,SAAS,iBAAiB,OAAO;AAC/B,SAAO,iBAAiB;AAC1B;AACA,SAAS,cAAc,QAAQ;AAC7B,MAAI,mBAAmB;AACvB,MAAI,eAAe;AACnB,MAAI,aAAa;AACjB,MAAI;AACJ,QAAM,WAAW,gBAAiB;AAClC,QAAM,SAAS,CAAC,kBAAkB;AAChC,QAAI,CAAC,YAAY;AACf,aAAO,IAAI,eAAe,aAAa,CAAC;AACxC,aAAO,QAAS;AAAA,IACtB;AAAA,EACG;AACD,QAAM,cAAc,MAAM;AACxB,uBAAmB;AAAA,EACpB;AACD,QAAM,gBAAgB,MAAM;AAC1B,uBAAmB;AAAA,EACpB;AACD,QAAM,cAAc,MAAM,aAAa,UAAS,MAAO,OAAO,gBAAgB,YAAY,cAAc,SAAQ,MAAO,OAAO,OAAQ;AACtI,QAAM,WAAW,MAAM,SAAS,OAAO,WAAW,KAAK,OAAO,OAAQ;AACtE,QAAM,UAAU,CAAC,UAAU;AACzB,QAAI,CAAC,YAAY;AACf,mBAAa;AACb,aAAO,YAAY,KAAK;AACxB,mBAAc;AACd,eAAS,QAAQ,KAAK;AAAA,IAC5B;AAAA,EACG;AACD,QAAM,SAAS,CAAC,UAAU;AACxB,QAAI,CAAC,YAAY;AACf,mBAAa;AACb,aAAO,UAAU,KAAK;AACtB,mBAAc;AACd,eAAS,OAAO,KAAK;AAAA,IAC3B;AAAA,EACG;AACD,QAAM,QAAQ,MAAM;AAClB,WAAO,IAAI,QAAQ,CAAC,oBAAoB;AACtC,mBAAa,CAAC,UAAU;AACtB,YAAI,cAAc,eAAe;AAC/B,0BAAgB,KAAK;AAAA,QAC/B;AAAA,MACO;AACD,aAAO,UAAW;AAAA,IACxB,CAAK,EAAE,KAAK,MAAM;AACZ,mBAAa;AACb,UAAI,CAAC,YAAY;AACf,eAAO,aAAc;AAAA,MAC7B;AAAA,IACA,CAAK;AAAA,EACF;AACD,QAAM,MAAM,MAAM;AAChB,QAAI,YAAY;AACd;AAAA,IACN;AACI,QAAI;AACJ,UAAM,iBAAiB,iBAAiB,IAAI,OAAO,iBAAiB;AACpE,QAAI;AACF,uBAAiB,kBAAkB,OAAO,GAAI;AAAA,IAC/C,SAAQ,OAAO;AACd,uBAAiB,QAAQ,OAAO,KAAK;AAAA,IAC3C;AACI,YAAQ,QAAQ,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,CAAC,UAAU;AAC7D,UAAI,YAAY;AACd;AAAA,MACR;AACM,YAAM,QAAQ,OAAO,UAAU,WAAW,IAAI;AAC9C,YAAM,aAAa,OAAO,cAAc;AACxC,YAAM,QAAQ,OAAO,eAAe,aAAa,WAAW,cAAc,KAAK,IAAI;AACnF,YAAM,cAAc,UAAU,QAAQ,OAAO,UAAU,YAAY,eAAe,SAAS,OAAO,UAAU,cAAc,MAAM,cAAc,KAAK;AACnJ,UAAI,oBAAoB,CAAC,aAAa;AACpC,eAAO,KAAK;AACZ;AAAA,MACR;AACM;AACA,aAAO,SAAS,cAAc,KAAK;AACnC,YAAM,KAAK,EAAE,KAAK,MAAM;AACtB,eAAO,YAAa,IAAG,SAAS,MAAO;AAAA,MAC/C,CAAO,EAAE,KAAK,MAAM;AACZ,YAAI,kBAAkB;AACpB,iBAAO,KAAK;AAAA,QACtB,OAAe;AACL,cAAK;AAAA,QACf;AAAA,MACA,CAAO;AAAA,IACP,CAAK;AAAA,EACF;AACD,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,UAAU,MAAM;AACd,mBAAc;AACd,aAAO;AAAA,IACR;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,MAAM;AACX,UAAI,SAAQ,GAAI;AACd,YAAK;AAAA,MACb,OAAa;AACL,cAAO,EAAC,KAAK,GAAG;AAAA,MACxB;AACM,aAAO;AAAA,IACb;AAAA,EACG;AACH;AC9HA,SAAS,sBAAsB;AAC7B,MAAI,QAAQ,CAAE;AACd,MAAI,eAAe;AACnB,MAAI,WAAW,CAAC,aAAa;AAC3B,aAAU;AAAA,EACX;AACD,MAAI,gBAAgB,CAAC,aAAa;AAChC,aAAU;AAAA,EACX;AACD,MAAI,aAAa,CAAC,OAAO,WAAW,IAAI,CAAC;AACzC,QAAM,WAAW,CAAC,aAAa;AAC7B,QAAI,cAAc;AAChB,YAAM,KAAK,QAAQ;AAAA,IACzB,OAAW;AACL,iBAAW,MAAM;AACf,iBAAS,QAAQ;AAAA,MACzB,CAAO;AAAA,IACP;AAAA,EACG;AACD,QAAM,QAAQ,MAAM;AAClB,UAAM,gBAAgB;AACtB,YAAQ,CAAE;AACV,QAAI,cAAc,QAAQ;AACxB,iBAAW,MAAM;AACf,sBAAc,MAAM;AAClB,wBAAc,QAAQ,CAAC,aAAa;AAClC,qBAAS,QAAQ;AAAA,UAC7B,CAAW;AAAA,QACX,CAAS;AAAA,MACT,CAAO;AAAA,IACP;AAAA,EACG;AACD,SAAO;AAAA,IACL,OAAO,CAAC,aAAa;AACnB,UAAI;AACJ;AACA,UAAI;AACF,iBAAS,SAAU;AAAA,MAC3B,UAAgB;AACR;AACA,YAAI,CAAC,cAAc;AACjB,gBAAO;AAAA,QACjB;AAAA,MACA;AACM,aAAO;AAAA,IACR;AAAA;AAAA;AAAA;AAAA,IAID,YAAY,CAAC,aAAa;AACxB,aAAO,IAAI,SAAS;AAClB,iBAAS,MAAM;AACb,mBAAS,GAAG,IAAI;AAAA,QAC1B,CAAS;AAAA,MACF;AAAA,IACF;AAAA,IACD;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,mBAAmB,CAAC,OAAO;AACzB,iBAAW;AAAA,IACZ;AAAA;AAAA;AAAA;AAAA;AAAA,IAKD,wBAAwB,CAAC,OAAO;AAC9B,sBAAgB;AAAA,IACjB;AAAA,IACD,cAAc,CAAC,OAAO;AACpB,mBAAa;AAAA,IACnB;AAAA,EACG;AACH;AACA,IAAI,gBAAgB,oBAAqB;AC3EzC,IAAI,YAAY,MAAM;AAAA,EACpB;AAAA,EACA,UAAU;AACR,SAAK,eAAgB;AAAA,EACzB;AAAA,EACE,aAAa;AACX,SAAK,eAAgB;AACrB,QAAI,eAAe,KAAK,MAAM,GAAG;AAC/B,WAAK,aAAa,WAAW,MAAM;AACjC,aAAK,eAAgB;AAAA,MAC7B,GAAS,KAAK,MAAM;AAAA,IACpB;AAAA,EACA;AAAA,EACE,aAAa,WAAW;AACtB,SAAK,SAAS,KAAK;AAAA,MACjB,KAAK,UAAU;AAAA,MACf,cAAc,WAAW,WAAW,IAAI,KAAK;AAAA,IAC9C;AAAA,EACL;AAAA,EACE,iBAAiB;AACf,QAAI,KAAK,YAAY;AACnB,mBAAa,KAAK,UAAU;AAC5B,WAAK,aAAa;AAAA,IACxB;AAAA,EACA;AACA;ACfA,IAAI,QAAQ,cAAc,UAAU;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,QAAQ;AACZ,UAAA;AACN,SAAK,uBAAuB;AAC5B,SAAK,kBAAkB,OAAO;AACzB,SAAA,WAAW,OAAO,OAAO;AAC9B,SAAK,YAAY,CAAC;AAClB,SAAK,SAAS,OAAO;AACrB,SAAK,WAAW,OAAO;AACvB,SAAK,YAAY,OAAO;AACnB,SAAA,gBAAgBC,kBAAgB,KAAK,OAAO;AAC5C,SAAA,QAAQ,OAAO,SAAS,KAAK;AAClC,SAAK,WAAW;AAAA,EAAA;AAAA,EAElB,IAAI,OAAO;AACT,WAAO,KAAK,QAAQ;AAAA,EAAA;AAAA,EAEtB,IAAI,UAAU;AACZ,WAAO,KAAK,UAAU;AAAA,EAAA;AAAA,EAExB,WAAW,SAAS;AAClB,SAAK,UAAU,EAAE,GAAG,KAAK,iBAAiB,GAAG,QAAQ;AAChD,SAAA,aAAa,KAAK,QAAQ,MAAM;AAAA,EAAA;AAAA,EAEvC,iBAAiB;AACf,QAAI,CAAC,KAAK,UAAU,UAAU,KAAK,MAAM,gBAAgB,QAAQ;AAC1D,WAAA,OAAO,OAAO,IAAI;AAAA,IAAA;AAAA,EACzB;AAAA,EAEF,QAAQ,SAAS,SAAS;AACxB,UAAM,OAAO,YAAY,KAAK,MAAM,MAAM,SAAS,KAAK,OAAO;AAC/D,SAAK,UAAU;AAAA,MACb;AAAA,MACA,MAAM;AAAA,MACN,eAAe,SAAS;AAAA,MACxB,QAAQ,SAAS;AAAA,IAAA,CAClB;AACM,WAAA;AAAA,EAAA;AAAA,EAET,SAAS,OAAO,iBAAiB;AAC/B,SAAK,UAAU,EAAE,MAAM,YAAY,OAAO,iBAAiB;AAAA,EAAA;AAAA,EAE7D,OAAO,SAAS;AACR,UAAA,UAAU,KAAK,UAAU;AAC1B,SAAA,UAAU,OAAO,OAAO;AACtB,WAAA,UAAU,QAAQ,KAAKD,MAAI,EAAE,MAAMA,MAAI,IAAI,QAAQ,QAAQ;AAAA,EAAA;AAAA,EAEpE,UAAU;AACR,UAAM,QAAQ;AACd,SAAK,OAAO,EAAE,QAAQ,KAAA,CAAM;AAAA,EAAA;AAAA,EAE9B,QAAQ;AACN,SAAK,QAAQ;AACR,SAAA,SAAS,KAAK,aAAa;AAAA,EAAA;AAAA,EAElC,WAAW;AACT,WAAO,KAAK,UAAU;AAAA,MACpB,CAAC,aAAa,eAAe,SAAS,QAAQ,SAAS,IAAI,MAAM;AAAA,IACnE;AAAA,EAAA;AAAA,EAEF,aAAa;AACP,QAAA,KAAK,kBAAkB,IAAI,GAAG;AACzB,aAAA,CAAC,KAAK,SAAS;AAAA,IAAA;AAEjB,WAAA,KAAK,QAAQ,YAAY,aAAa,KAAK,MAAM,kBAAkB,KAAK,MAAM,qBAAqB;AAAA,EAAA;AAAA,EAE5G,UAAU;AACJ,QAAA,KAAK,MAAM,eAAe;AACrB,aAAA;AAAA,IAAA;AAEL,QAAA,KAAK,kBAAkB,IAAI,GAAG;AAChC,aAAO,KAAK,UAAU;AAAA,QACpB,CAAC,aAAa,SAAS,mBAAmB;AAAA,MAC5C;AAAA,IAAA;AAEK,WAAA,KAAK,MAAM,SAAS;AAAA,EAAA;AAAA,EAE7B,cAAc,YAAY,GAAG;AAC3B,WAAO,KAAK,MAAM,iBAAiB,KAAK,MAAM,SAAS,UAAU,CAAC,eAAe,KAAK,MAAM,eAAe,SAAS;AAAA,EAAA;AAAA,EAEtH,UAAU;AACF,UAAA,WAAW,KAAK,UAAU,KAAK,CAAC,MAAM,EAAE,0BAA0B;AACxE,cAAU,QAAQ,EAAE,eAAe,MAAA,CAAO;AAC1C,SAAK,UAAU,SAAS;AAAA,EAAA;AAAA,EAE1B,WAAW;AACH,UAAA,WAAW,KAAK,UAAU,KAAK,CAAC,MAAM,EAAE,wBAAwB;AACtE,cAAU,QAAQ,EAAE,eAAe,MAAA,CAAO;AAC1C,SAAK,UAAU,SAAS;AAAA,EAAA;AAAA,EAE1B,YAAY,UAAU;AACpB,QAAI,CAAC,KAAK,UAAU,SAAS,QAAQ,GAAG;AACjC,WAAA,UAAU,KAAK,QAAQ;AAC5B,WAAK,eAAe;AACf,WAAA,OAAO,OAAO,EAAE,MAAM,iBAAiB,OAAO,MAAM,UAAU;AAAA,IAAA;AAAA,EACrE;AAAA,EAEF,eAAe,UAAU;AACvB,QAAI,KAAK,UAAU,SAAS,QAAQ,GAAG;AACrC,WAAK,YAAY,KAAK,UAAU,OAAO,CAAC,MAAM,MAAM,QAAQ;AACxD,UAAA,CAAC,KAAK,UAAU,QAAQ;AAC1B,YAAI,KAAK,UAAU;AACjB,cAAI,KAAK,sBAAsB;AAC7B,iBAAK,SAAS,OAAO,EAAE,QAAQ,MAAM;AAAA,UAAA,OAChC;AACL,iBAAK,SAAS,YAAY;AAAA,UAAA;AAAA,QAC5B;AAEF,aAAK,WAAW;AAAA,MAAA;AAEb,WAAA,OAAO,OAAO,EAAE,MAAM,mBAAmB,OAAO,MAAM,UAAU;AAAA,IAAA;AAAA,EACvE;AAAA,EAEF,oBAAoB;AAClB,WAAO,KAAK,UAAU;AAAA,EAAA;AAAA,EAExB,aAAa;AACP,QAAA,CAAC,KAAK,MAAM,eAAe;AAC7B,WAAK,UAAU,EAAE,MAAM,aAAA,CAAc;AAAA,IAAA;AAAA,EACvC;AAAA,EAEF,MAAM,SAAS,cAAc;AACvB,QAAA,KAAK,MAAM,gBAAgB,QAAQ;AACrC,UAAI,KAAK,MAAM,SAAS,UAAU,cAAc,eAAe;AAC7D,aAAK,OAAO,EAAE,QAAQ,KAAA,CAAM;AAAA,MAAA,WACnB,KAAK,UAAU;AACxB,aAAK,SAAS,cAAc;AAC5B,eAAO,KAAK,SAAS;AAAA,MAAA;AAAA,IACvB;AAEF,QAAI,SAAS;AACX,WAAK,WAAW,OAAO;AAAA,IAAA;AAErB,QAAA,CAAC,KAAK,QAAQ,SAAS;AACnB,YAAA,WAAW,KAAK,UAAU,KAAK,CAAC,MAAM,EAAE,QAAQ,OAAO;AAC7D,UAAI,UAAU;AACP,aAAA,WAAW,SAAS,OAAO;AAAA,MAAA;AAAA,IAClC;AASI,UAAA,kBAAkB,IAAI,gBAAgB;AACtC,UAAA,oBAAoB,CAAC,WAAW;AAC7B,aAAA,eAAe,QAAQ,UAAU;AAAA,QACtC,YAAY;AAAA,QACZ,KAAK,MAAM;AACT,eAAK,uBAAuB;AAC5B,iBAAO,gBAAgB;AAAA,QAAA;AAAA,MACzB,CACD;AAAA,IACH;AACA,UAAM,UAAU,MAAM;AACpB,YAAM,UAAU,cAAc,KAAK,SAAS,YAAY;AACxD,YAAM,iBAAiB;AAAA,QACrB,UAAU,KAAK;AAAA,QACf,MAAM,KAAK;AAAA,MACb;AACA,wBAAkB,cAAc;AAChC,WAAK,uBAAuB;AACxB,UAAA,KAAK,QAAQ,WAAW;AAC1B,eAAO,KAAK,QAAQ;AAAA,UAClB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MAAA;AAEF,aAAO,QAAQ,cAAc;AAAA,IAC/B;AACA,UAAM,UAAU;AAAA,MACd;AAAA,MACA,SAAS,KAAK;AAAA,MACd,UAAU,KAAK;AAAA,MACf,OAAO,KAAK;AAAA,MACZ;AAAA,IACF;AACA,sBAAkB,OAAO;AACzB,SAAK,QAAQ,UAAU;AAAA,MACrB;AAAA,MACA;AAAA,IACF;AACA,SAAK,eAAe,KAAK;AACrB,QAAA,KAAK,MAAM,gBAAgB,UAAU,KAAK,MAAM,cAAc,QAAQ,cAAc,MAAM;AACvF,WAAA,UAAU,EAAE,MAAM,SAAS,MAAM,QAAQ,cAAc,MAAM;AAAA,IAAA;AAE9D,UAAA,UAAU,CAAC,UAAU;AACzB,UAAI,EAAE,iBAAiB,KAAK,KAAK,MAAM,SAAS;AAC9C,aAAK,UAAU;AAAA,UACb,MAAM;AAAA,UACN;AAAA,QAAA,CACD;AAAA,MAAA;AAEC,UAAA,CAAC,iBAAiB,KAAK,GAAG;AAC5B,aAAK,OAAO,OAAO;AAAA,UACjB;AAAA,UACA;AAAA,QACF;AACA,aAAK,OAAO,OAAO;AAAA,UACjB,KAAK,MAAM;AAAA,UACX;AAAA,UACA;AAAA,QACF;AAAA,MAAA;AAEF,WAAK,WAAW;AAAA,IAClB;AACA,SAAK,WAAW,cAAc;AAAA,MAC5B,gBAAgB,cAAc;AAAA,MAC9B,IAAI,QAAQ;AAAA,MACZ,OAAO,gBAAgB,MAAM,KAAK,eAAe;AAAA,MACjD,WAAW,CAAC,SAAS;AACnB,YAAI,SAAS,QAAQ;AAMnB,kBAAQ,IAAI,MAAM,GAAG,KAAK,SAAS,oBAAoB,CAAC;AACxD;AAAA,QAAA;AAEE,YAAA;AACF,eAAK,QAAQ,IAAI;AAAA,iBACV,OAAO;AACd,kBAAQ,KAAK;AACb;AAAA,QAAA;AAEF,aAAK,OAAO,OAAO,YAAY,MAAM,IAAI;AACzC,aAAK,OAAO,OAAO;AAAA,UACjB;AAAA,UACA,KAAK,MAAM;AAAA,UACX;AAAA,QACF;AACA,aAAK,WAAW;AAAA,MAClB;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,cAAc,UAAU;AAC/B,aAAK,UAAU,EAAE,MAAM,UAAU,cAAc,OAAO;AAAA,MACxD;AAAA,MACA,SAAS,MAAM;AACb,aAAK,UAAU,EAAE,MAAM,QAAA,CAAS;AAAA,MAClC;AAAA,MACA,YAAY,MAAM;AAChB,aAAK,UAAU,EAAE,MAAM,WAAA,CAAY;AAAA,MACrC;AAAA,MACA,OAAO,QAAQ,QAAQ;AAAA,MACvB,YAAY,QAAQ,QAAQ;AAAA,MAC5B,aAAa,QAAQ,QAAQ;AAAA,MAC7B,QAAQ,MAAM;AAAA,IAAA,CACf;AACM,WAAA,KAAK,SAAS,MAAM;AAAA,EAAA;AAAA,EAE7B,UAAU,QAAQ;AACV,UAAA,UAAU,CAAC,UAAU;AACzB,cAAQ,OAAO,MAAM;AAAA,QACnB,KAAK;AACI,iBAAA;AAAA,YACL,GAAG;AAAA,YACH,mBAAmB,OAAO;AAAA,YAC1B,oBAAoB,OAAO;AAAA,UAC7B;AAAA,QACF,KAAK;AACI,iBAAA;AAAA,YACL,GAAG;AAAA,YACH,aAAa;AAAA,UACf;AAAA,QACF,KAAK;AACI,iBAAA;AAAA,YACL,GAAG;AAAA,YACH,aAAa;AAAA,UACf;AAAA,QACF,KAAK;AACI,iBAAA;AAAA,YACL,GAAG;AAAA,YACH,GAAG,WAAW,MAAM,MAAM,KAAK,OAAO;AAAA,YACtC,WAAW,OAAO,QAAQ;AAAA,UAC5B;AAAA,QACF,KAAK;AACI,iBAAA;AAAA,YACL,GAAG;AAAA,YACH,MAAM,OAAO;AAAA,YACb,iBAAiB,MAAM,kBAAkB;AAAA,YACzC,eAAe,OAAO,iBAAiB,KAAK,IAAI;AAAA,YAChD,OAAO;AAAA,YACP,eAAe;AAAA,YACf,QAAQ;AAAA,YACR,GAAG,CAAC,OAAO,UAAU;AAAA,cACnB,aAAa;AAAA,cACb,mBAAmB;AAAA,cACnB,oBAAoB;AAAA,YAAA;AAAA,UAExB;AAAA,QACF,KAAK;AACH,gBAAM,QAAQ,OAAO;AACrB,cAAI,iBAAiB,KAAK,KAAK,MAAM,UAAU,KAAK,cAAc;AAChE,mBAAO,EAAE,GAAG,KAAK,cAAc,aAAa,OAAO;AAAA,UAAA;AAE9C,iBAAA;AAAA,YACL,GAAG;AAAA,YACH;AAAA,YACA,kBAAkB,MAAM,mBAAmB;AAAA,YAC3C,gBAAgB,KAAK,IAAI;AAAA,YACzB,mBAAmB,MAAM,oBAAoB;AAAA,YAC7C,oBAAoB;AAAA,YACpB,aAAa;AAAA,YACb,QAAQ;AAAA,UACV;AAAA,QACF,KAAK;AACI,iBAAA;AAAA,YACL,GAAG;AAAA,YACH,eAAe;AAAA,UACjB;AAAA,QACF,KAAK;AACI,iBAAA;AAAA,YACL,GAAG;AAAA,YACH,GAAG,OAAO;AAAA,UACZ;AAAA,MAAA;AAAA,IAEN;AACK,SAAA,QAAQ,QAAQ,KAAK,KAAK;AAC/B,kBAAc,MAAM,MAAM;AACnB,WAAA,UAAU,QAAQ,CAAC,aAAa;AACnC,iBAAS,cAAc;AAAA,MAAA,CACxB;AACI,WAAA,OAAO,OAAO,EAAE,OAAO,MAAM,MAAM,WAAW,QAAQ;AAAA,IAAA,CAC5D;AAAA,EAAA;AAEL;AACA,SAAS,WAAW,MAAM,SAAS;AAC1B,SAAA;AAAA,IACL,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,IACpB,aAAa,SAAS,QAAQ,WAAW,IAAI,aAAa;AAAA,IAC1D,GAAG,SAAS,UAAU;AAAA,MACpB,OAAO;AAAA,MACP,QAAQ;AAAA,IAAA;AAAA,EAEZ;AACF;AACA,SAASC,kBAAgB,SAAS;AAC1B,QAAA,OAAO,OAAO,QAAQ,gBAAgB,aAAa,QAAQ,gBAAgB,QAAQ;AACzF,QAAM,UAAU,SAAS;AACnB,QAAA,uBAAuB,UAAU,OAAO,QAAQ,yBAAyB,aAAa,QAAQ,qBAAA,IAAyB,QAAQ,uBAAuB;AACrJ,SAAA;AAAA,IACL;AAAA,IACA,iBAAiB;AAAA,IACjB,eAAe,UAAU,wBAAwB,KAAK,IAAQ,IAAA;AAAA,IAC9D,OAAO;AAAA,IACP,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,IAChB,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,IACpB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,QAAQ,UAAU,YAAY;AAAA,IAC9B,aAAa;AAAA,EACf;AACF;ACpXA,IAAI,aAAa,cAAc,aAAa;AAAA,EAC1C,YAAY,SAAS,IAAI;AACvB,UAAO;AACP,SAAK,SAAS;AACd,SAAK,WAA2B,oBAAI,IAAK;AAAA,EAC7C;AAAA,EACE;AAAA,EACA,MAAM,QAAQ,SAAS,OAAO;AAC5B,UAAM,WAAW,QAAQ;AACzB,UAAM,YAAY,QAAQ,aAAa,sBAAsB,UAAU,OAAO;AAC9E,QAAI,QAAQ,KAAK,IAAI,SAAS;AAC9B,QAAI,CAAC,OAAO;AACV,cAAQ,IAAI,MAAM;AAAA,QAChB,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA,SAAS,OAAO,oBAAoB,OAAO;AAAA,QAC3C;AAAA,QACA,gBAAgB,OAAO,iBAAiB,QAAQ;AAAA,MACxD,CAAO;AACD,WAAK,IAAI,KAAK;AAAA,IACpB;AACI,WAAO;AAAA,EACX;AAAA,EACE,IAAI,OAAO;AACT,QAAI,CAAC,KAAK,SAAS,IAAI,MAAM,SAAS,GAAG;AACvC,WAAK,SAAS,IAAI,MAAM,WAAW,KAAK;AACxC,WAAK,OAAO;AAAA,QACV,MAAM;AAAA,QACN;AAAA,MACR,CAAO;AAAA,IACP;AAAA,EACA;AAAA,EACE,OAAO,OAAO;AACZ,UAAM,aAAa,KAAK,SAAS,IAAI,MAAM,SAAS;AACpD,QAAI,YAAY;AACd,YAAM,QAAS;AACf,UAAI,eAAe,OAAO;AACxB,aAAK,SAAS,OAAO,MAAM,SAAS;AAAA,MAC5C;AACM,WAAK,OAAO,EAAE,MAAM,WAAW,MAAK,CAAE;AAAA,IAC5C;AAAA,EACA;AAAA,EACE,QAAQ;AACN,kBAAc,MAAM,MAAM;AACxB,WAAK,OAAM,EAAG,QAAQ,CAAC,UAAU;AAC/B,aAAK,OAAO,KAAK;AAAA,MACzB,CAAO;AAAA,IACP,CAAK;AAAA,EACL;AAAA,EACE,IAAI,WAAW;AACb,WAAO,KAAK,SAAS,IAAI,SAAS;AAAA,EACtC;AAAA,EACE,SAAS;AACP,WAAO,CAAC,GAAG,KAAK,SAAS,OAAM,CAAE;AAAA,EACrC;AAAA,EACE,KAAK,SAAS;AACZ,UAAM,mBAAmB,EAAE,OAAO,MAAM,GAAG,QAAS;AACpD,WAAO,KAAK,OAAM,EAAG;AAAA,MACnB,CAAC,UAAU,WAAW,kBAAkB,KAAK;AAAA,IAC9C;AAAA,EACL;AAAA,EACE,QAAQ,UAAU,IAAI;AACpB,UAAM,UAAU,KAAK,OAAQ;AAC7B,WAAO,OAAO,KAAK,OAAO,EAAE,SAAS,IAAI,QAAQ,OAAO,CAAC,UAAU,WAAW,SAAS,KAAK,CAAC,IAAI;AAAA,EACrG;AAAA,EACE,OAAO,OAAO;AACZ,kBAAc,MAAM,MAAM;AACxB,WAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,iBAAS,KAAK;AAAA,MACtB,CAAO;AAAA,IACP,CAAK;AAAA,EACL;AAAA,EACE,UAAU;AACR,kBAAc,MAAM,MAAM;AACxB,WAAK,OAAM,EAAG,QAAQ,CAAC,UAAU;AAC/B,cAAM,QAAS;AAAA,MACvB,CAAO;AAAA,IACP,CAAK;AAAA,EACL;AAAA,EACE,WAAW;AACT,kBAAc,MAAM,MAAM;AACxB,WAAK,OAAM,EAAG,QAAQ,CAAC,UAAU;AAC/B,cAAM,SAAU;AAAA,MACxB,CAAO;AAAA,IACP,CAAK;AAAA,EACL;AACA;ACxFA,IAAI,WAAW,cAAc,UAAU;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,QAAQ;AAClB,UAAO;AACP,SAAK,aAAa,OAAO;AACzB,SAAK,iBAAiB,OAAO;AAC7B,SAAK,aAAa,CAAE;AACpB,SAAK,QAAQ,OAAO,SAAS,gBAAiB;AAC9C,SAAK,WAAW,OAAO,OAAO;AAC9B,SAAK,WAAY;AAAA,EACrB;AAAA,EACE,WAAW,SAAS;AAClB,SAAK,UAAU;AACf,SAAK,aAAa,KAAK,QAAQ,MAAM;AAAA,EACzC;AAAA,EACE,IAAI,OAAO;AACT,WAAO,KAAK,QAAQ;AAAA,EACxB;AAAA,EACE,YAAY,UAAU;AACpB,QAAI,CAAC,KAAK,WAAW,SAAS,QAAQ,GAAG;AACvC,WAAK,WAAW,KAAK,QAAQ;AAC7B,WAAK,eAAgB;AACrB,WAAK,eAAe,OAAO;AAAA,QACzB,MAAM;AAAA,QACN,UAAU;AAAA,QACV;AAAA,MACR,CAAO;AAAA,IACP;AAAA,EACA;AAAA,EACE,eAAe,UAAU;AACvB,SAAK,aAAa,KAAK,WAAW,OAAO,CAAC,MAAM,MAAM,QAAQ;AAC9D,SAAK,WAAY;AACjB,SAAK,eAAe,OAAO;AAAA,MACzB,MAAM;AAAA,MACN,UAAU;AAAA,MACV;AAAA,IACN,CAAK;AAAA,EACL;AAAA,EACE,iBAAiB;AACf,QAAI,CAAC,KAAK,WAAW,QAAQ;AAC3B,UAAI,KAAK,MAAM,WAAW,WAAW;AACnC,aAAK,WAAY;AAAA,MACzB,OAAa;AACL,aAAK,eAAe,OAAO,IAAI;AAAA,MACvC;AAAA,IACA;AAAA,EACA;AAAA,EACE,WAAW;AACT,WAAO,KAAK,UAAU,SAAU;AAAA,IAChC,KAAK,QAAQ,KAAK,MAAM,SAAS;AAAA,EACrC;AAAA,EACE,MAAM,QAAQ,WAAW;AACvB,SAAK,WAAW,cAAc;AAAA,MAC5B,IAAI,MAAM;AACR,YAAI,CAAC,KAAK,QAAQ,YAAY;AAC5B,iBAAO,QAAQ,OAAO,IAAI,MAAM,qBAAqB,CAAC;AAAA,QAChE;AACQ,eAAO,KAAK,QAAQ,WAAW,SAAS;AAAA,MACzC;AAAA,MACD,QAAQ,CAAC,cAAc,UAAU;AAC/B,aAAK,UAAU,EAAE,MAAM,UAAU,cAAc,OAAO;AAAA,MACvD;AAAA,MACD,SAAS,MAAM;AACb,aAAK,UAAU,EAAE,MAAM,QAAO,CAAE;AAAA,MACjC;AAAA,MACD,YAAY,MAAM;AAChB,aAAK,UAAU,EAAE,MAAM,WAAU,CAAE;AAAA,MACpC;AAAA,MACD,OAAO,KAAK,QAAQ,SAAS;AAAA,MAC7B,YAAY,KAAK,QAAQ;AAAA,MACzB,aAAa,KAAK,QAAQ;AAAA,MAC1B,QAAQ,MAAM,KAAK,eAAe,OAAO,IAAI;AAAA,IACnD,CAAK;AACD,UAAM,WAAW,KAAK,MAAM,WAAW;AACvC,UAAM,WAAW,CAAC,KAAK,SAAS,SAAU;AAC1C,QAAI;AACF,UAAI,CAAC,UAAU;AACb,aAAK,UAAU,EAAE,MAAM,WAAW,WAAW,UAAU;AACvD,cAAM,KAAK,eAAe,OAAO;AAAA,UAC/B;AAAA,UACA;AAAA,QACD;AACD,cAAM,UAAU,MAAM,KAAK,QAAQ,WAAW,SAAS;AACvD,YAAI,YAAY,KAAK,MAAM,SAAS;AAClC,eAAK,UAAU;AAAA,YACb,MAAM;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,UACZ,CAAW;AAAA,QACX;AAAA,MACA;AACM,YAAM,OAAO,MAAM,KAAK,SAAS,MAAO;AACxC,YAAM,KAAK,eAAe,OAAO;AAAA,QAC/B;AAAA,QACA;AAAA,QACA,KAAK,MAAM;AAAA,QACX;AAAA,MACD;AACD,YAAM,KAAK,QAAQ,YAAY,MAAM,WAAW,KAAK,MAAM,OAAO;AAClE,YAAM,KAAK,eAAe,OAAO;AAAA,QAC/B;AAAA,QACA;AAAA,QACA,KAAK,MAAM;AAAA,QACX,KAAK,MAAM;AAAA,QACX;AAAA,MACD;AACD,YAAM,KAAK,QAAQ,YAAY,MAAM,MAAM,WAAW,KAAK,MAAM,OAAO;AACxE,WAAK,UAAU,EAAE,MAAM,WAAW,KAAI,CAAE;AACxC,aAAO;AAAA,IACR,SAAQ,OAAO;AACd,UAAI;AACF,cAAM,KAAK,eAAe,OAAO;AAAA,UAC/B;AAAA,UACA;AAAA,UACA,KAAK,MAAM;AAAA,UACX;AAAA,QACD;AACD,cAAM,KAAK,QAAQ;AAAA,UACjB;AAAA,UACA;AAAA,UACA,KAAK,MAAM;AAAA,QACZ;AACD,cAAM,KAAK,eAAe,OAAO;AAAA,UAC/B;AAAA,UACA;AAAA,UACA,KAAK,MAAM;AAAA,UACX,KAAK,MAAM;AAAA,UACX;AAAA,QACD;AACD,cAAM,KAAK,QAAQ;AAAA,UACjB;AAAA,UACA;AAAA,UACA;AAAA,UACA,KAAK,MAAM;AAAA,QACZ;AACD,cAAM;AAAA,MACd,UAAgB;AACR,aAAK,UAAU,EAAE,MAAM,SAAS,MAAK,CAAE;AAAA,MAC/C;AAAA,IACA,UAAc;AACR,WAAK,eAAe,QAAQ,IAAI;AAAA,IACtC;AAAA,EACA;AAAA,EACE,UAAU,QAAQ;AAChB,UAAM,UAAU,CAAC,UAAU;AACzB,cAAQ,OAAO,MAAI;AAAA,QACjB,KAAK;AACH,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,cAAc,OAAO;AAAA,YACrB,eAAe,OAAO;AAAA,UACvB;AAAA,QACH,KAAK;AACH,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,UAAU;AAAA,UACX;AAAA,QACH,KAAK;AACH,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,UAAU;AAAA,UACX;AAAA,QACH,KAAK;AACH,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,SAAS,OAAO;AAAA,YAChB,MAAM;AAAA,YACN,cAAc;AAAA,YACd,eAAe;AAAA,YACf,OAAO;AAAA,YACP,UAAU,OAAO;AAAA,YACjB,QAAQ;AAAA,YACR,WAAW,OAAO;AAAA,YAClB,aAAa,KAAK,IAAG;AAAA,UACtB;AAAA,QACH,KAAK;AACH,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,MAAM,OAAO;AAAA,YACb,cAAc;AAAA,YACd,eAAe;AAAA,YACf,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,UAAU;AAAA,UACX;AAAA,QACH,KAAK;AACH,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,MAAM;AAAA,YACN,OAAO,OAAO;AAAA,YACd,cAAc,MAAM,eAAe;AAAA,YACnC,eAAe,OAAO;AAAA,YACtB,UAAU;AAAA,YACV,QAAQ;AAAA,UACT;AAAA,MACX;AAAA,IACK;AACD,SAAK,QAAQ,QAAQ,KAAK,KAAK;AAC/B,kBAAc,MAAM,MAAM;AACxB,WAAK,WAAW,QAAQ,CAAC,aAAa;AACpC,iBAAS,iBAAiB,MAAM;AAAA,MACxC,CAAO;AACD,WAAK,eAAe,OAAO;AAAA,QACzB,UAAU;AAAA,QACV,MAAM;AAAA,QACN;AAAA,MACR,CAAO;AAAA,IACP,CAAK;AAAA,EACL;AACA;AACA,SAAS,kBAAkB;AACzB,SAAO;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,IACP,cAAc;AAAA,IACd,eAAe;AAAA,IACf,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,aAAa;AAAA,EACd;AACH;AChOA,IAAI,gBAAgB,cAAc,aAAa;AAAA,EAC7C,YAAY,SAAS,IAAI;AACvB,UAAO;AACP,SAAK,SAAS;AACd,SAAK,aAA6B,oBAAI,IAAK;AAC3C,SAAK,cAAc,KAAK,IAAK;AAAA,EACjC;AAAA,EACE;AAAA,EACA;AAAA,EACA,MAAM,QAAQ,SAAS,OAAO;AAC5B,UAAM,WAAW,IAAI,SAAS;AAAA,MAC5B,eAAe;AAAA,MACf,YAAY,EAAE,KAAK;AAAA,MACnB,SAAS,OAAO,uBAAuB,OAAO;AAAA,MAC9C;AAAA,IACN,CAAK;AACD,SAAK,IAAI,QAAQ;AACjB,WAAO;AAAA,EACX;AAAA,EACE,IAAI,UAAU;AACZ,UAAM,QAAQ,SAAS,QAAQ;AAC/B,UAAM,YAAY,KAAK,WAAW,IAAI,KAAK,KAAK,CAAE;AAClD,cAAU,KAAK,QAAQ;AACvB,SAAK,WAAW,IAAI,OAAO,SAAS;AACpC,SAAK,OAAO,EAAE,MAAM,SAAS,SAAQ,CAAE;AAAA,EAC3C;AAAA,EACE,OAAO,UAAU;AACf,UAAM,QAAQ,SAAS,QAAQ;AAC/B,QAAI,KAAK,WAAW,IAAI,KAAK,GAAG;AAC9B,YAAM,YAAY,KAAK,WAAW,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,MAAM,QAAQ;AAC1E,UAAI,WAAW;AACb,YAAI,UAAU,WAAW,GAAG;AAC1B,eAAK,WAAW,OAAO,KAAK;AAAA,QACtC,OAAe;AACL,eAAK,WAAW,IAAI,OAAO,SAAS;AAAA,QAC9C;AAAA,MACA;AAAA,IACA;AACI,SAAK,OAAO,EAAE,MAAM,WAAW,SAAQ,CAAE;AAAA,EAC7C;AAAA,EACE,OAAO,UAAU;AACf,UAAM,uBAAuB,KAAK,WAAW,IAAI,SAAS,QAAQ,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,WAAW,SAAS;AAC9G,WAAO,CAAC,wBAAwB,yBAAyB;AAAA,EAC7D;AAAA,EACE,QAAQ,UAAU;AAChB,UAAM,gBAAgB,KAAK,WAAW,IAAI,SAAS,QAAQ,CAAC,GAAG,KAAK,CAAC,MAAM,MAAM,YAAY,EAAE,MAAM,QAAQ;AAC7G,WAAO,eAAe,cAAc,QAAQ,QAAS;AAAA,EACzD;AAAA,EACE,QAAQ;AACN,kBAAc,MAAM,MAAM;AACxB,WAAK,OAAM,EAAG,QAAQ,CAAC,aAAa;AAClC,aAAK,OAAO,QAAQ;AAAA,MAC5B,CAAO;AAAA,IACP,CAAK;AAAA,EACL;AAAA,EACE,SAAS;AACP,WAAO,CAAC,GAAG,KAAK,WAAW,OAAQ,CAAA,EAAE,KAAM;AAAA,EAC/C;AAAA,EACE,KAAK,SAAS;AACZ,UAAM,mBAAmB,EAAE,OAAO,MAAM,GAAG,QAAS;AACpD,WAAO,KAAK,OAAM,EAAG;AAAA,MACnB,CAAC,aAAa,cAAc,kBAAkB,QAAQ;AAAA,IACvD;AAAA,EACL;AAAA,EACE,QAAQ,UAAU,IAAI;AACpB,WAAO,KAAK,OAAM,EAAG,OAAO,CAAC,aAAa,cAAc,SAAS,QAAQ,CAAC;AAAA,EAC9E;AAAA,EACE,OAAO,OAAO;AACZ,kBAAc,MAAM,MAAM;AACxB,WAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,iBAAS,KAAK;AAAA,MACtB,CAAO;AAAA,IACP,CAAK;AAAA,EACL;AAAA,EACE,wBAAwB;AACtB,UAAM,kBAAkB,KAAK,SAAS,OAAO,CAAC,MAAM,EAAE,MAAM,QAAQ;AACpE,WAAO,cAAc;AAAA,MACnB,MAAM,QAAQ;AAAA,QACZ,gBAAgB,IAAI,CAAC,aAAa,SAAS,SAAU,EAAC,MAAMD,MAAI,CAAC;AAAA,MACzE;AAAA,IACK;AAAA,EACL;AACA;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO,SAAS,QAAQ,OAAO,MAAM,OAAO,SAAS,UAAU;AACjE;ACxFA,SAAS,sBAAsB,OAAO;AACpC,SAAO;AAAA,IACL,SAAS,CAAC,SAAS,UAAU;AAC3B,YAAM,UAAU,QAAQ;AACxB,YAAM,YAAY,QAAQ,cAAc,MAAM,WAAW;AACzD,YAAM,WAAW,QAAQ,MAAM,MAAM,SAAS,CAAE;AAChD,YAAM,gBAAgB,QAAQ,MAAM,MAAM,cAAc,CAAE;AAC1D,UAAI,SAAS,EAAE,OAAO,CAAA,GAAI,YAAY,CAAA,EAAI;AAC1C,UAAI,cAAc;AAClB,YAAM,UAAU,YAAY;AAC1B,YAAI,YAAY;AAChB,cAAM,oBAAoB,CAAC,WAAW;AACpC,iBAAO,eAAe,QAAQ,UAAU;AAAA,YACtC,YAAY;AAAA,YACZ,KAAK,MAAM;AACT,kBAAI,QAAQ,OAAO,SAAS;AAC1B,4BAAY;AAAA,cAC5B,OAAqB;AACL,wBAAQ,OAAO,iBAAiB,SAAS,MAAM;AAC7C,8BAAY;AAAA,gBAC9B,CAAiB;AAAA,cACjB;AACc,qBAAO,QAAQ;AAAA,YAC7B;AAAA,UACA,CAAW;AAAA,QACF;AACD,cAAM,UAAU,cAAc,QAAQ,SAAS,QAAQ,YAAY;AACnE,cAAM,YAAY,OAAO,MAAM,OAAO,aAAa;AACjD,cAAI,WAAW;AACb,mBAAO,QAAQ,OAAQ;AAAA,UACnC;AACU,cAAI,SAAS,QAAQ,KAAK,MAAM,QAAQ;AACtC,mBAAO,QAAQ,QAAQ,IAAI;AAAA,UACvC;AACU,gBAAM,iBAAiB;AAAA,YACrB,UAAU,QAAQ;AAAA,YAClB,WAAW;AAAA,YACX,WAAW,WAAW,aAAa;AAAA,YACnC,MAAM,QAAQ,QAAQ;AAAA,UACvB;AACD,4BAAkB,cAAc;AAChC,gBAAM,OAAO,MAAM;AAAA,YACjB;AAAA,UACD;AACD,gBAAM,EAAE,aAAa,QAAQ;AAC7B,gBAAM,QAAQ,WAAW,aAAa;AACtC,iBAAO;AAAA,YACL,OAAO,MAAM,KAAK,OAAO,MAAM,QAAQ;AAAA,YACvC,YAAY,MAAM,KAAK,YAAY,OAAO,QAAQ;AAAA,UACnD;AAAA,QACF;AACD,YAAI,aAAa,SAAS,QAAQ;AAChC,gBAAM,WAAW,cAAc;AAC/B,gBAAM,cAAc,WAAW,uBAAuB;AACtD,gBAAM,UAAU;AAAA,YACd,OAAO;AAAA,YACP,YAAY;AAAA,UACb;AACD,gBAAM,QAAQ,YAAY,SAAS,OAAO;AAC1C,mBAAS,MAAM,UAAU,SAAS,OAAO,QAAQ;AAAA,QAC3D,OAAe;AACL,gBAAM,iBAAiB,SAAS,SAAS;AACzC,aAAG;AACD,kBAAM,QAAQ,gBAAgB,IAAI,cAAc,CAAC,KAAK,QAAQ,mBAAmB,iBAAiB,SAAS,MAAM;AACjH,gBAAI,cAAc,KAAK,SAAS,MAAM;AACpC;AAAA,YACd;AACY,qBAAS,MAAM,UAAU,QAAQ,KAAK;AACtC;AAAA,UACD,SAAQ,cAAc;AAAA,QACjC;AACQ,eAAO;AAAA,MACR;AACD,UAAI,QAAQ,QAAQ,WAAW;AAC7B,gBAAQ,UAAU,MAAM;AACtB,iBAAO,QAAQ,QAAQ;AAAA,YACrB;AAAA,YACA;AAAA,cACE,UAAU,QAAQ;AAAA,cAClB,MAAM,QAAQ,QAAQ;AAAA,cACtB,QAAQ,QAAQ;AAAA,YACjB;AAAA,YACD;AAAA,UACD;AAAA,QACF;AAAA,MACT,OAAa;AACL,gBAAQ,UAAU;AAAA,MAC1B;AAAA,IACA;AAAA,EACG;AACH;AACA,SAAS,iBAAiB,SAAS,EAAE,OAAO,WAAU,GAAI;AACxD,QAAM,YAAY,MAAM,SAAS;AACjC,SAAO,MAAM,SAAS,IAAI,QAAQ;AAAA,IAChC,MAAM,SAAS;AAAA,IACf;AAAA,IACA,WAAW,SAAS;AAAA,IACpB;AAAA,EACD,IAAG;AACN;AACA,SAAS,qBAAqB,SAAS,EAAE,OAAO,WAAU,GAAI;AAC5D,SAAO,MAAM,SAAS,IAAI,QAAQ,uBAAuB,MAAM,CAAC,GAAG,OAAO,WAAW,CAAC,GAAG,UAAU,IAAI;AACzG;ACxFA,IAAI,cAAc,MAAM;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,SAAS,IAAI;AACvB,SAAK,cAAc,OAAO,cAAc,IAAI,WAAY;AACxD,SAAK,iBAAiB,OAAO,iBAAiB,IAAI,cAAe;AACjE,SAAK,kBAAkB,OAAO,kBAAkB,CAAE;AAClD,SAAK,iBAAiC,oBAAI,IAAK;AAC/C,SAAK,oBAAoC,oBAAI,IAAK;AAClD,SAAK,cAAc;AAAA,EACvB;AAAA,EACE,QAAQ;AACN,SAAK;AACL,QAAI,KAAK,gBAAgB;AACvB;AACF,SAAK,oBAAoB,aAAa,UAAU,OAAO,YAAY;AACjE,UAAI,SAAS;AACX,cAAM,KAAK,sBAAuB;AAClC,aAAK,YAAY,QAAS;AAAA,MAClC;AAAA,IACA,CAAK;AACD,SAAK,qBAAqB,cAAc,UAAU,OAAO,WAAW;AAClE,UAAI,QAAQ;AACV,cAAM,KAAK,sBAAuB;AAClC,aAAK,YAAY,SAAU;AAAA,MACnC;AAAA,IACA,CAAK;AAAA,EACL;AAAA,EACE,UAAU;AACR,SAAK;AACL,QAAI,KAAK,gBAAgB;AACvB;AACF,SAAK,oBAAqB;AAC1B,SAAK,oBAAoB;AACzB,SAAK,qBAAsB;AAC3B,SAAK,qBAAqB;AAAA,EAC9B;AAAA,EACE,WAAW,SAAS;AAClB,WAAO,KAAK,YAAY,QAAQ,EAAE,GAAG,SAAS,aAAa,WAAY,CAAA,EAAE;AAAA,EAC7E;AAAA,EACE,WAAW,SAAS;AAClB,WAAO,KAAK,eAAe,QAAQ,EAAE,GAAG,SAAS,QAAQ,UAAW,CAAA,EAAE;AAAA,EAC1E;AAAA,EACE,aAAa,UAAU;AACrB,UAAM,UAAU,KAAK,oBAAoB,EAAE,SAAQ,CAAE;AACrD,WAAO,KAAK,YAAY,IAAI,QAAQ,SAAS,GAAG,MAAM;AAAA,EAC1D;AAAA,EACE,gBAAgB,SAAS;AACvB,UAAM,aAAa,KAAK,aAAa,QAAQ,QAAQ;AACrD,QAAI,eAAe;AACjB,aAAO,KAAK,WAAW,OAAO;AAAA,SAC3B;AACH,YAAM,mBAAmB,KAAK,oBAAoB,OAAO;AACzD,YAAM,QAAQ,KAAK,YAAY,MAAM,MAAM,gBAAgB;AAC3D,UAAI,QAAQ,qBAAqB,MAAM,cAAc,iBAAiB,iBAAiB,WAAW,KAAK,CAAC,GAAG;AACzG,aAAK,KAAK,cAAc,gBAAgB;AAAA,MAChD;AACM,aAAO,QAAQ,QAAQ,UAAU;AAAA,IACvC;AAAA,EACA;AAAA,EACE,eAAe,SAAS;AACtB,WAAO,KAAK,YAAY,QAAQ,OAAO,EAAE,IAAI,CAAC,EAAE,UAAU,YAAY;AACpE,YAAM,OAAO,MAAM;AACnB,aAAO,CAAC,UAAU,IAAI;AAAA,IAC5B,CAAK;AAAA,EACL;AAAA,EACE,aAAa,UAAU,SAAS,SAAS;AACvC,UAAM,mBAAmB,KAAK,oBAAoB,EAAE,SAAQ,CAAE;AAC9D,UAAM,QAAQ,KAAK,YAAY;AAAA,MAC7B,iBAAiB;AAAA,IAClB;AACD,UAAM,WAAW,OAAO,MAAM;AAC9B,UAAM,OAAO,iBAAiB,SAAS,QAAQ;AAC/C,QAAI,SAAS,QAAQ;AACnB,aAAO;AAAA,IACb;AACI,WAAO,KAAK,YAAY,MAAM,MAAM,gBAAgB,EAAE,QAAQ,MAAM,EAAE,GAAG,SAAS,QAAQ,KAAI,CAAE;AAAA,EACpG;AAAA,EACE,eAAe,SAAS,SAAS,SAAS;AACxC,WAAO,cAAc;AAAA,MACnB,MAAM,KAAK,YAAY,QAAQ,OAAO,EAAE,IAAI,CAAC,EAAE,eAAe;AAAA,QAC5D;AAAA,QACA,KAAK,aAAa,UAAU,SAAS,OAAO;AAAA,MAC7C,CAAA;AAAA,IACF;AAAA,EACL;AAAA,EACE,cAAc,UAAU;AACtB,UAAM,UAAU,KAAK,oBAAoB,EAAE,SAAQ,CAAE;AACrD,WAAO,KAAK,YAAY,IAAI,QAAQ,SAAS,GAAG;AAAA,EACpD;AAAA,EACE,cAAc,SAAS;AACrB,UAAM,aAAa,KAAK;AACxB,kBAAc,MAAM,MAAM;AACxB,iBAAW,QAAQ,OAAO,EAAE,QAAQ,CAAC,UAAU;AAC7C,mBAAW,OAAO,KAAK;AAAA,MAC/B,CAAO;AAAA,IACP,CAAK;AAAA,EACL;AAAA,EACE,aAAa,SAAS,SAAS;AAC7B,UAAM,aAAa,KAAK;AACxB,UAAM,iBAAiB;AAAA,MACrB,MAAM;AAAA,MACN,GAAG;AAAA,IACJ;AACD,WAAO,cAAc,MAAM,MAAM;AAC/B,iBAAW,QAAQ,OAAO,EAAE,QAAQ,CAAC,UAAU;AAC7C,cAAM,MAAO;AAAA,MACrB,CAAO;AACD,aAAO,KAAK,eAAe,gBAAgB,OAAO;AAAA,IACxD,CAAK;AAAA,EACL;AAAA,EACE,cAAc,UAAU,IAAI,gBAAgB,CAAA,GAAI;AAC9C,UAAM,yBAAyB,EAAE,QAAQ,MAAM,GAAG,cAAe;AACjE,UAAM,WAAW,cAAc;AAAA,MAC7B,MAAM,KAAK,YAAY,QAAQ,OAAO,EAAE,IAAI,CAAC,UAAU,MAAM,OAAO,sBAAsB,CAAC;AAAA,IAC5F;AACD,WAAO,QAAQ,IAAI,QAAQ,EAAE,KAAKA,MAAI,EAAE,MAAMA,MAAI;AAAA,EACtD;AAAA,EACE,kBAAkB,UAAU,IAAI,UAAU,CAAA,GAAI;AAC5C,WAAO,cAAc,MAAM,MAAM;AAC/B,WAAK,YAAY,QAAQ,OAAO,EAAE,QAAQ,CAAC,UAAU;AACnD,cAAM,WAAY;AAAA,MAC1B,CAAO;AACD,UAAI,QAAQ,gBAAgB,QAAQ;AAClC,eAAO,QAAQ,QAAS;AAAA,MAChC;AACM,YAAM,iBAAiB;AAAA,QACrB,GAAG;AAAA,QACH,MAAM,QAAQ,eAAe,QAAQ,QAAQ;AAAA,MAC9C;AACD,aAAO,KAAK,eAAe,gBAAgB,OAAO;AAAA,IACxD,CAAK;AAAA,EACL;AAAA,EACE,eAAe,UAAU,CAAE,GAAE,SAAS;AACpC,UAAM,eAAe;AAAA,MACnB,GAAG;AAAA,MACH,eAAe,SAAS,iBAAiB;AAAA,IAC1C;AACD,UAAM,WAAW,cAAc;AAAA,MAC7B,MAAM,KAAK,YAAY,QAAQ,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,WAAU,CAAE,EAAE,IAAI,CAAC,UAAU;AAC5F,YAAI,UAAU,MAAM,MAAM,QAAQ,YAAY;AAC9C,YAAI,CAAC,aAAa,cAAc;AAC9B,oBAAU,QAAQ,MAAMA,MAAI;AAAA,QACtC;AACQ,eAAO,MAAM,MAAM,gBAAgB,WAAW,QAAQ,QAAO,IAAK;AAAA,MACnE,CAAA;AAAA,IACF;AACD,WAAO,QAAQ,IAAI,QAAQ,EAAE,KAAKA,MAAI;AAAA,EAC1C;AAAA,EACE,WAAW,SAAS;AAClB,UAAM,mBAAmB,KAAK,oBAAoB,OAAO;AACzD,QAAI,iBAAiB,UAAU,QAAQ;AACrC,uBAAiB,QAAQ;AAAA,IAC/B;AACI,UAAM,QAAQ,KAAK,YAAY,MAAM,MAAM,gBAAgB;AAC3D,WAAO,MAAM;AAAA,MACX,iBAAiB,iBAAiB,WAAW,KAAK;AAAA,IACxD,IAAQ,MAAM,MAAM,gBAAgB,IAAI,QAAQ,QAAQ,MAAM,MAAM,IAAI;AAAA,EACxE;AAAA,EACE,cAAc,SAAS;AACrB,WAAO,KAAK,WAAW,OAAO,EAAE,KAAKA,MAAI,EAAE,MAAMA,MAAI;AAAA,EACzD;AAAA,EACE,mBAAmB,SAAS;AAC1B,YAAQ,WAAW,sBAAsB,QAAQ,KAAK;AACtD,WAAO,KAAK,WAAW,OAAO;AAAA,EAClC;AAAA,EACE,sBAAsB,SAAS;AAC7B,WAAO,KAAK,mBAAmB,OAAO,EAAE,KAAKA,MAAI,EAAE,MAAMA,MAAI;AAAA,EACjE;AAAA,EACE,wBAAwB,SAAS;AAC/B,YAAQ,WAAW,sBAAsB,QAAQ,KAAK;AACtD,WAAO,KAAK,gBAAgB,OAAO;AAAA,EACvC;AAAA,EACE,wBAAwB;AACtB,QAAI,cAAc,YAAY;AAC5B,aAAO,KAAK,eAAe,sBAAuB;AAAA,IACxD;AACI,WAAO,QAAQ,QAAS;AAAA,EAC5B;AAAA,EACE,gBAAgB;AACd,WAAO,KAAK;AAAA,EAChB;AAAA,EACE,mBAAmB;AACjB,WAAO,KAAK;AAAA,EAChB;AAAA,EACE,oBAAoB;AAClB,WAAO,KAAK;AAAA,EAChB;AAAA,EACE,kBAAkB,SAAS;AACzB,SAAK,kBAAkB;AAAA,EAC3B;AAAA,EACE,iBAAiB,UAAU,SAAS;AAClC,SAAK,eAAe,IAAI,QAAQ,QAAQ,GAAG;AAAA,MACzC;AAAA,MACA,gBAAgB;AAAA,IACtB,CAAK;AAAA,EACL;AAAA,EACE,iBAAiB,UAAU;AACzB,UAAM,WAAW,CAAC,GAAG,KAAK,eAAe,OAAM,CAAE;AACjD,QAAI,SAAS,CAAE;AACf,aAAS,QAAQ,CAAC,iBAAiB;AACjC,UAAI,gBAAgB,UAAU,aAAa,QAAQ,GAAG;AACpD,iBAAS,EAAE,GAAG,QAAQ,GAAG,aAAa,eAAgB;AAAA,MAC9D;AAAA,IACA,CAAK;AACD,WAAO;AAAA,EACX;AAAA,EACE,oBAAoB,aAAa,SAAS;AACxC,SAAK,kBAAkB,IAAI,QAAQ,WAAW,GAAG;AAAA,MAC/C;AAAA,MACA,gBAAgB;AAAA,IACtB,CAAK;AAAA,EACL;AAAA,EACE,oBAAoB,aAAa;AAC/B,UAAM,WAAW,CAAC,GAAG,KAAK,kBAAkB,OAAM,CAAE;AACpD,QAAI,SAAS,CAAE;AACf,aAAS,QAAQ,CAAC,iBAAiB;AACjC,UAAI,gBAAgB,aAAa,aAAa,WAAW,GAAG;AAC1D,iBAAS,EAAE,GAAG,QAAQ,GAAG,aAAa,eAAgB;AAAA,MAC9D;AAAA,IACA,CAAK;AACD,WAAO;AAAA,EACX;AAAA,EACE,oBAAoB,SAAS;AAC3B,QAAI,QAAQ,YAAY;AACtB,aAAO;AAAA,IACb;AACI,UAAM,mBAAmB;AAAA,MACvB,GAAG,KAAK,gBAAgB;AAAA,MACxB,GAAG,KAAK,iBAAiB,QAAQ,QAAQ;AAAA,MACzC,GAAG;AAAA,MACH,YAAY;AAAA,IACb;AACD,QAAI,CAAC,iBAAiB,WAAW;AAC/B,uBAAiB,YAAY;AAAA,QAC3B,iBAAiB;AAAA,QACjB;AAAA,MACD;AAAA,IACP;AACI,QAAI,iBAAiB,uBAAuB,QAAQ;AAClD,uBAAiB,qBAAqB,iBAAiB,gBAAgB;AAAA,IAC7E;AACI,QAAI,iBAAiB,iBAAiB,QAAQ;AAC5C,uBAAiB,eAAe,CAAC,CAAC,iBAAiB;AAAA,IACzD;AACI,QAAI,CAAC,iBAAiB,eAAe,iBAAiB,WAAW;AAC/D,uBAAiB,cAAc;AAAA,IACrC;AACI,QAAI,iBAAiB,YAAY,QAAQ,iBAAiB,YAAY,WAAW;AAC/E,uBAAiB,UAAU;AAAA,IACjC;AACI,WAAO;AAAA,EACX;AAAA,EACE,uBAAuB,SAAS;AAC9B,QAAI,SAAS,YAAY;AACvB,aAAO;AAAA,IACb;AACI,WAAO;AAAA,MACL,GAAG,KAAK,gBAAgB;AAAA,MACxB,GAAG,SAAS,eAAe,KAAK,oBAAoB,QAAQ,WAAW;AAAA,MACvE,GAAG;AAAA,MACH,YAAY;AAAA,IACb;AAAA,EACL;AAAA,EACE,QAAQ;AACN,SAAK,YAAY,MAAO;AACxB,SAAK,eAAe,MAAO;AAAA,EAC/B;AACA;AClRA,IAAI,gBAAgB,cAAc,aAAa;AAAA,EAC7C,YAAY,QAAQ,SAAS;AAC3B,UAAO;AACP,SAAK,UAAU;AACf,SAAK,UAAU;AACf,SAAK,eAAe;AACpB,SAAK,mBAAmB,gBAAiB;AACzC,QAAI,CAAC,KAAK,QAAQ,+BAA+B;AAC/C,WAAK,iBAAiB;AAAA,QACpB,IAAI,MAAM,2DAA2D;AAAA,MACtE;AAAA,IACP;AACI,SAAK,YAAa;AAClB,SAAK,WAAW,OAAO;AAAA,EAC3B;AAAA,EACE;AAAA,EACA,gBAAgB;AAAA,EAChB,4BAA4B;AAAA,EAC5B,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgC,oBAAI,IAAK;AAAA,EACzC,cAAc;AACZ,SAAK,UAAU,KAAK,QAAQ,KAAK,IAAI;AAAA,EACzC;AAAA,EACE,cAAc;AACZ,QAAI,KAAK,UAAU,SAAS,GAAG;AAC7B,WAAK,cAAc,YAAY,IAAI;AACnC,UAAI,mBAAmB,KAAK,eAAe,KAAK,OAAO,GAAG;AACxD,aAAK,cAAe;AAAA,MAC5B,OAAa;AACL,aAAK,aAAc;AAAA,MAC3B;AACM,WAAK,cAAe;AAAA,IAC1B;AAAA,EACA;AAAA,EACE,gBAAgB;AACd,QAAI,CAAC,KAAK,gBAAgB;AACxB,WAAK,QAAS;AAAA,IACpB;AAAA,EACA;AAAA,EACE,yBAAyB;AACvB,WAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,QAAQ;AAAA,IACd;AAAA,EACL;AAAA,EACE,2BAA2B;AACzB,WAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,QAAQ;AAAA,IACd;AAAA,EACL;AAAA,EACE,UAAU;AACR,SAAK,YAA4B,oBAAI,IAAK;AAC1C,SAAK,mBAAoB;AACzB,SAAK,sBAAuB;AAC5B,SAAK,cAAc,eAAe,IAAI;AAAA,EAC1C;AAAA,EACE,WAAW,SAAS,eAAe;AACjC,UAAM,cAAc,KAAK;AACzB,UAAM,YAAY,KAAK;AACvB,SAAK,UAAU,KAAK,QAAQ,oBAAoB,OAAO;AACvD,QAAI,KAAK,QAAQ,YAAY,UAAU,OAAO,KAAK,QAAQ,YAAY,aAAa,OAAO,KAAK,QAAQ,YAAY,cAAc,OAAO,eAAe,KAAK,QAAQ,SAAS,KAAK,aAAa,MAAM,WAAW;AAC/M,YAAM,IAAI;AAAA,QACR;AAAA,MACD;AAAA,IACP;AACI,SAAK,aAAc;AACnB,SAAK,cAAc,WAAW,KAAK,OAAO;AAC1C,QAAI,YAAY,cAAc,CAAC,oBAAoB,KAAK,SAAS,WAAW,GAAG;AAC7E,WAAK,QAAQ,cAAe,EAAC,OAAO;AAAA,QAClC,MAAM;AAAA,QACN,OAAO,KAAK;AAAA,QACZ,UAAU;AAAA,MAClB,CAAO;AAAA,IACP;AACI,UAAM,UAAU,KAAK,aAAc;AACnC,QAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL;AAAA,MACA,KAAK;AAAA,MACL;AAAA,IACN,GAAO;AACD,WAAK,cAAe;AAAA,IAC1B;AACI,SAAK,aAAa,aAAa;AAC/B,QAAI,YAAY,KAAK,kBAAkB,aAAa,eAAe,KAAK,QAAQ,SAAS,KAAK,aAAa,MAAM,eAAe,YAAY,SAAS,KAAK,aAAa,KAAK,iBAAiB,KAAK,QAAQ,WAAW,KAAK,aAAa,MAAM,iBAAiB,YAAY,WAAW,KAAK,aAAa,IAAI;AACzS,WAAK,oBAAqB;AAAA,IAChC;AACI,UAAM,sBAAsB,KAAK,wBAAyB;AAC1D,QAAI,YAAY,KAAK,kBAAkB,aAAa,eAAe,KAAK,QAAQ,SAAS,KAAK,aAAa,MAAM,eAAe,YAAY,SAAS,KAAK,aAAa,KAAK,wBAAwB,KAAK,0BAA0B;AACjO,WAAK,uBAAuB,mBAAmB;AAAA,IACrD;AAAA,EACA;AAAA,EACE,oBAAoB,SAAS;AAC3B,UAAM,QAAQ,KAAK,QAAQ,cAAe,EAAC,MAAM,KAAK,SAAS,OAAO;AACtE,UAAM,SAAS,KAAK,aAAa,OAAO,OAAO;AAC/C,QAAI,sCAAsC,MAAM,MAAM,GAAG;AACvD,WAAK,iBAAiB;AACtB,WAAK,wBAAwB,KAAK;AAClC,WAAK,sBAAsB,KAAK,cAAc;AAAA,IACpD;AACI,WAAO;AAAA,EACX;AAAA,EACE,mBAAmB;AACjB,WAAO,KAAK;AAAA,EAChB;AAAA,EACE,YAAY,QAAQ,eAAe;AACjC,UAAM,gBAAgB,CAAE;AACxB,WAAO,KAAK,MAAM,EAAE,QAAQ,CAAC,QAAQ;AACnC,aAAO,eAAe,eAAe,KAAK;AAAA,QACxC,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,KAAK,MAAM;AACT,eAAK,UAAU,GAAG;AAClB,0BAAgB,GAAG;AACnB,iBAAO,OAAO,GAAG;AAAA,QAC3B;AAAA,MACA,CAAO;AAAA,IACP,CAAK;AACD,WAAO;AAAA,EACX;AAAA,EACE,UAAU,KAAK;AACb,SAAK,cAAc,IAAI,GAAG;AAAA,EAC9B;AAAA,EACE,kBAAkB;AAChB,WAAO,KAAK;AAAA,EAChB;AAAA,EACE,QAAQ,EAAE,GAAG,QAAS,IAAG,IAAI;AAC3B,WAAO,KAAK,MAAM;AAAA,MAChB,GAAG;AAAA,IACT,CAAK;AAAA,EACL;AAAA,EACE,gBAAgB,SAAS;AACvB,UAAM,mBAAmB,KAAK,QAAQ,oBAAoB,OAAO;AACjE,UAAM,QAAQ,KAAK,QAAQ,cAAe,EAAC,MAAM,KAAK,SAAS,gBAAgB;AAC/E,WAAO,MAAM,MAAK,EAAG,KAAK,MAAM,KAAK,aAAa,OAAO,gBAAgB,CAAC;AAAA,EAC9E;AAAA,EACE,MAAM,cAAc;AAClB,WAAO,KAAK,cAAc;AAAA,MACxB,GAAG;AAAA,MACH,eAAe,aAAa,iBAAiB;AAAA,IACnD,CAAK,EAAE,KAAK,MAAM;AACZ,WAAK,aAAc;AACnB,aAAO,KAAK;AAAA,IAClB,CAAK;AAAA,EACL;AAAA,EACE,cAAc,cAAc;AAC1B,SAAK,aAAc;AACnB,QAAI,UAAU,KAAK,cAAc;AAAA,MAC/B,KAAK;AAAA,MACL;AAAA,IACD;AACD,QAAI,CAAC,cAAc,cAAc;AAC/B,gBAAU,QAAQ,MAAMA,MAAI;AAAA,IAClC;AACI,WAAO;AAAA,EACX;AAAA,EACE,sBAAsB;AACpB,SAAK,mBAAoB;AACzB,UAAM,YAAY;AAAA,MAChB,KAAK,QAAQ;AAAA,MACb,KAAK;AAAA,IACN;AACD,QAAI,YAAY,KAAK,eAAe,WAAW,CAAC,eAAe,SAAS,GAAG;AACzE;AAAA,IACN;AACI,UAAM,OAAO,eAAe,KAAK,eAAe,eAAe,SAAS;AACxE,UAAM,UAAU,OAAO;AACvB,SAAK,kBAAkB,WAAW,MAAM;AACtC,UAAI,CAAC,KAAK,eAAe,SAAS;AAChC,aAAK,aAAc;AAAA,MAC3B;AAAA,IACK,GAAE,OAAO;AAAA,EACd;AAAA,EACE,0BAA0B;AACxB,YAAQ,OAAO,KAAK,QAAQ,oBAAoB,aAAa,KAAK,QAAQ,gBAAgB,KAAK,aAAa,IAAI,KAAK,QAAQ,oBAAoB;AAAA,EACrJ;AAAA,EACE,uBAAuB,cAAc;AACnC,SAAK,sBAAuB;AAC5B,SAAK,0BAA0B;AAC/B,QAAI,YAAY,eAAe,KAAK,QAAQ,SAAS,KAAK,aAAa,MAAM,SAAS,CAAC,eAAe,KAAK,uBAAuB,KAAK,KAAK,4BAA4B,GAAG;AACzK;AAAA,IACN;AACI,SAAK,qBAAqB,YAAY,MAAM;AAC1C,UAAI,KAAK,QAAQ,+BAA+B,aAAa,UAAS,GAAI;AACxE,aAAK,cAAe;AAAA,MAC5B;AAAA,IACA,GAAO,KAAK,uBAAuB;AAAA,EACnC;AAAA,EACE,gBAAgB;AACd,SAAK,oBAAqB;AAC1B,SAAK,uBAAuB,KAAK,yBAAyB;AAAA,EAC9D;AAAA,EACE,qBAAqB;AACnB,QAAI,KAAK,iBAAiB;AACxB,mBAAa,KAAK,eAAe;AACjC,WAAK,kBAAkB;AAAA,IAC7B;AAAA,EACA;AAAA,EACE,wBAAwB;AACtB,QAAI,KAAK,oBAAoB;AAC3B,oBAAc,KAAK,kBAAkB;AACrC,WAAK,qBAAqB;AAAA,IAChC;AAAA,EACA;AAAA,EACE,aAAa,OAAO,SAAS;AAC3B,UAAM,YAAY,KAAK;AACvB,UAAM,cAAc,KAAK;AACzB,UAAM,aAAa,KAAK;AACxB,UAAM,kBAAkB,KAAK;AAC7B,UAAM,oBAAoB,KAAK;AAC/B,UAAM,cAAc,UAAU;AAC9B,UAAM,oBAAoB,cAAc,MAAM,QAAQ,KAAK;AAC3D,UAAM,EAAE,MAAK,IAAK;AAClB,QAAI,WAAW,EAAE,GAAG,MAAO;AAC3B,QAAI,oBAAoB;AACxB,QAAI;AACJ,QAAI,QAAQ,oBAAoB;AAC9B,YAAM,UAAU,KAAK,aAAc;AACnC,YAAM,eAAe,CAAC,WAAW,mBAAmB,OAAO,OAAO;AAClE,YAAM,kBAAkB,WAAW,sBAAsB,OAAO,WAAW,SAAS,WAAW;AAC/F,UAAI,gBAAgB,iBAAiB;AACnC,mBAAW;AAAA,UACT,GAAG;AAAA,UACH,GAAG,WAAW,MAAM,MAAM,MAAM,OAAO;AAAA,QACxC;AAAA,MACT;AACM,UAAI,QAAQ,uBAAuB,eAAe;AAChD,iBAAS,cAAc;AAAA,MAC/B;AAAA,IACA;AACI,QAAI,EAAE,OAAO,gBAAgB,OAAQ,IAAG;AACxC,QAAI,QAAQ,UAAU,SAAS,SAAS,QAAQ;AAC9C,UAAI,cAAc,SAAS,SAAS,iBAAiB,QAAQ,QAAQ,WAAW,KAAK,WAAW;AAC9F,eAAO,KAAK;AAAA,MACpB,OAAa;AACL,YAAI;AACF,eAAK,YAAY,QAAQ;AACzB,iBAAO,QAAQ,OAAO,SAAS,IAAI;AACnC,iBAAO,YAAY,YAAY,MAAM,MAAM,OAAO;AAClD,eAAK,gBAAgB;AACrB,eAAK,eAAe;AAAA,QACrB,SAAQ,aAAa;AACpB,eAAK,eAAe;AAAA,QAC9B;AAAA,MACA;AAAA,IACA,OAAW;AACL,aAAO,SAAS;AAAA,IACtB;AACI,QAAI,QAAQ,oBAAoB,UAAU,SAAS,UAAU,WAAW,WAAW;AACjF,UAAI;AACJ,UAAI,YAAY,qBAAqB,QAAQ,oBAAoB,mBAAmB,iBAAiB;AACnG,0BAAkB,WAAW;AAAA,MACrC,OAAa;AACL,0BAAkB,OAAO,QAAQ,oBAAoB,aAAa,QAAQ;AAAA,UACxE,KAAK,2BAA2B,MAAM;AAAA,UACtC,KAAK;AAAA,QACN,IAAG,QAAQ;AACZ,YAAI,QAAQ,UAAU,oBAAoB,QAAQ;AAChD,cAAI;AACF,8BAAkB,QAAQ,OAAO,eAAe;AAChD,iBAAK,eAAe;AAAA,UACrB,SAAQ,aAAa;AACpB,iBAAK,eAAe;AAAA,UAChC;AAAA,QACA;AAAA,MACA;AACM,UAAI,oBAAoB,QAAQ;AAC9B,iBAAS;AACT,eAAO;AAAA,UACL,YAAY;AAAA,UACZ;AAAA,UACA;AAAA,QACD;AACD,4BAAoB;AAAA,MAC5B;AAAA,IACA;AACI,QAAI,KAAK,cAAc;AACrB,cAAQ,KAAK;AACb,aAAO,KAAK;AACZ,uBAAiB,KAAK,IAAK;AAC3B,eAAS;AAAA,IACf;AACI,UAAM,aAAa,SAAS,gBAAgB;AAC5C,UAAM,YAAY,WAAW;AAC7B,UAAM,UAAU,WAAW;AAC3B,UAAM,YAAY,aAAa;AAC/B,UAAM,UAAU,SAAS;AACzB,UAAM,SAAS;AAAA,MACb;AAAA,MACA,aAAa,SAAS;AAAA,MACtB;AAAA,MACA,WAAW,WAAW;AAAA,MACtB;AAAA,MACA,kBAAkB;AAAA,MAClB;AAAA,MACA;AAAA,MACA,eAAe,SAAS;AAAA,MACxB;AAAA,MACA;AAAA,MACA,cAAc,SAAS;AAAA,MACvB,eAAe,SAAS;AAAA,MACxB,kBAAkB,SAAS;AAAA,MAC3B,WAAW,SAAS,kBAAkB,KAAK,SAAS,mBAAmB;AAAA,MACvE,qBAAqB,SAAS,kBAAkB,kBAAkB,mBAAmB,SAAS,mBAAmB,kBAAkB;AAAA,MACnI;AAAA,MACA,cAAc,cAAc,CAAC;AAAA,MAC7B,gBAAgB,WAAW,CAAC;AAAA,MAC5B,UAAU,SAAS,gBAAgB;AAAA,MACnC;AAAA,MACA,gBAAgB,WAAW;AAAA,MAC3B,SAAS,QAAQ,OAAO,OAAO;AAAA,MAC/B,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,IACf;AACD,UAAM,aAAa;AACnB,QAAI,KAAK,QAAQ,+BAA+B;AAC9C,YAAM,6BAA6B,CAAC,aAAa;AAC/C,YAAI,WAAW,WAAW,SAAS;AACjC,mBAAS,OAAO,WAAW,KAAK;AAAA,QACjC,WAAU,WAAW,SAAS,QAAQ;AACrC,mBAAS,QAAQ,WAAW,IAAI;AAAA,QAC1C;AAAA,MACO;AACD,YAAM,mBAAmB,MAAM;AAC7B,cAAM,UAAU,KAAK,mBAAmB,WAAW,UAAU,gBAAiB;AAC9E,mCAA2B,OAAO;AAAA,MACnC;AACD,YAAM,eAAe,KAAK;AAC1B,cAAQ,aAAa,QAAM;AAAA,QACzB,KAAK;AACH,cAAI,MAAM,cAAc,UAAU,WAAW;AAC3C,uCAA2B,YAAY;AAAA,UACnD;AACU;AAAA,QACF,KAAK;AACH,cAAI,WAAW,WAAW,WAAW,WAAW,SAAS,aAAa,OAAO;AAC3E,6BAAkB;AAAA,UAC9B;AACU;AAAA,QACF,KAAK;AACH,cAAI,WAAW,WAAW,WAAW,WAAW,UAAU,aAAa,QAAQ;AAC7E,6BAAkB;AAAA,UAC9B;AACU;AAAA,MACV;AAAA,IACA;AACI,WAAO;AAAA,EACX;AAAA,EACE,aAAa,eAAe;AAC1B,UAAM,aAAa,KAAK;AACxB,UAAM,aAAa,KAAK,aAAa,KAAK,eAAe,KAAK,OAAO;AACrE,SAAK,sBAAsB,KAAK,cAAc;AAC9C,SAAK,wBAAwB,KAAK;AAClC,QAAI,KAAK,oBAAoB,SAAS,QAAQ;AAC5C,WAAK,4BAA4B,KAAK;AAAA,IAC5C;AACI,QAAI,oBAAoB,YAAY,UAAU,GAAG;AAC/C;AAAA,IACN;AACI,SAAK,iBAAiB;AACtB,UAAM,uBAAuB,CAAE;AAC/B,UAAM,wBAAwB,MAAM;AAClC,UAAI,CAAC,YAAY;AACf,eAAO;AAAA,MACf;AACM,YAAM,EAAE,wBAAwB,KAAK;AACrC,YAAM,2BAA2B,OAAO,wBAAwB,aAAa,oBAAqB,IAAG;AACrG,UAAI,6BAA6B,SAAS,CAAC,4BAA4B,CAAC,KAAK,cAAc,MAAM;AAC/F,eAAO;AAAA,MACf;AACM,YAAM,gBAAgB,IAAI;AAAA,QACxB,4BAA4B,KAAK;AAAA,MAClC;AACD,UAAI,KAAK,QAAQ,cAAc;AAC7B,sBAAc,IAAI,OAAO;AAAA,MACjC;AACM,aAAO,OAAO,KAAK,KAAK,cAAc,EAAE,KAAK,CAAC,QAAQ;AACpD,cAAM,WAAW;AACjB,cAAM,UAAU,KAAK,eAAe,QAAQ,MAAM,WAAW,QAAQ;AACrE,eAAO,WAAW,cAAc,IAAI,QAAQ;AAAA,MACpD,CAAO;AAAA,IACF;AACD,QAAI,eAAe,cAAc,SAAS,sBAAqB,GAAI;AACjE,2BAAqB,YAAY;AAAA,IACvC;AACI,SAAK,QAAQ,EAAE,GAAG,sBAAsB,GAAG,cAAa,CAAE;AAAA,EAC9D;AAAA,EACE,eAAe;AACb,UAAM,QAAQ,KAAK,QAAQ,cAAa,EAAG,MAAM,KAAK,SAAS,KAAK,OAAO;AAC3E,QAAI,UAAU,KAAK,eAAe;AAChC;AAAA,IACN;AACI,UAAM,YAAY,KAAK;AACvB,SAAK,gBAAgB;AACrB,SAAK,4BAA4B,MAAM;AACvC,QAAI,KAAK,gBAAgB;AACvB,iBAAW,eAAe,IAAI;AAC9B,YAAM,YAAY,IAAI;AAAA,IAC5B;AAAA,EACA;AAAA,EACE,gBAAgB;AACd,SAAK,aAAc;AACnB,QAAI,KAAK,gBAAgB;AACvB,WAAK,cAAe;AAAA,IAC1B;AAAA,EACA;AAAA,EACE,QAAQ,eAAe;AACrB,kBAAc,MAAM,MAAM;AACxB,UAAI,cAAc,WAAW;AAC3B,aAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,mBAAS,KAAK,cAAc;AAAA,QACtC,CAAS;AAAA,MACT;AACM,WAAK,QAAQ,cAAe,EAAC,OAAO;AAAA,QAClC,OAAO,KAAK;AAAA,QACZ,MAAM;AAAA,MACd,CAAO;AAAA,IACP,CAAK;AAAA,EACL;AACA;AACA,SAAS,kBAAkB,OAAO,SAAS;AACzC,SAAO,eAAe,QAAQ,SAAS,KAAK,MAAM,SAAS,MAAM,MAAM,SAAS,UAAU,EAAE,MAAM,MAAM,WAAW,WAAW,QAAQ,iBAAiB;AACzJ;AACA,SAAS,mBAAmB,OAAO,SAAS;AAC1C,SAAO,kBAAkB,OAAO,OAAO,KAAK,MAAM,MAAM,SAAS,UAAU,cAAc,OAAO,SAAS,QAAQ,cAAc;AACjI;AACA,SAAS,cAAc,OAAO,SAAS,OAAO;AAC5C,MAAI,eAAe,QAAQ,SAAS,KAAK,MAAM,OAAO;AACpD,UAAM,QAAQ,OAAO,UAAU,aAAa,MAAM,KAAK,IAAI;AAC3D,WAAO,UAAU,YAAY,UAAU,SAAS,QAAQ,OAAO,OAAO;AAAA,EAC1E;AACE,SAAO;AACT;AACA,SAAS,sBAAsB,OAAO,WAAW,SAAS,aAAa;AACrE,UAAQ,UAAU,aAAa,eAAe,YAAY,SAAS,KAAK,MAAM,WAAW,CAAC,QAAQ,YAAY,MAAM,MAAM,WAAW,YAAY,QAAQ,OAAO,OAAO;AACzK;AACA,SAAS,QAAQ,OAAO,SAAS;AAC/B,SAAO,eAAe,QAAQ,SAAS,KAAK,MAAM,SAAS,MAAM,cAAc,iBAAiB,QAAQ,WAAW,KAAK,CAAC;AAC3H;AACA,SAAS,sCAAsC,UAAU,kBAAkB;AACzE,MAAI,CAAC,oBAAoB,SAAS,iBAAkB,GAAE,gBAAgB,GAAG;AACvE,WAAO;AAAA,EACX;AACE,SAAO;AACT;ACtdA,IAAI,qBAAqBE,aAAmB;AAAA,EAC1C;AACF;AACA,IAAI,iBAAiB,CAAC,gBAAgB;AACpC,QAAM,SAASC,aAAgB,WAAC,kBAAkB;AAIlD,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,MAAM,wDAAwD;AAAA,EAC5E;AACE,SAAO;AACT;AACA,IAAI,sBAAsB,CAAC;AAAA,EACzB;AAAA,EACA;AACF,MAAM;AACJC,eAAAA,UAAgB,MAAM;AACpB,WAAO,MAAO;AACd,WAAO,MAAM;AACX,aAAO,QAAS;AAAA,IACjB;AAAA,EACL,GAAK,CAAC,MAAM,CAAC;AACX,SAAuBL,kCAAAA,IAAI,mBAAmB,UAAU,EAAE,OAAO,QAAQ,UAAU;AACrF;ACzBA,IAAI,qBAAqBG,aAAmB,cAAC,KAAK;AAClD,IAAI,iBAAiB,MAAMC,aAAgB,WAAC,kBAAkB;AACpC,mBAAmB;ACD7C,SAAS,cAAc;AACrB,MAAI,UAAU;AACd,SAAO;AAAA,IACL,YAAY,MAAM;AAChB,gBAAU;AAAA,IACX;AAAA,IACD,OAAO,MAAM;AACX,gBAAU;AAAA,IACX;AAAA,IACD,SAAS,MAAM;AACb,aAAO;AAAA,IACb;AAAA,EACG;AACH;AACA,IAAI,iCAAiCD,aAAAA,cAAoB,aAAa;AACtE,IAAI,6BAA6B,MAAMC,aAAgB,WAAC,8BAA8B;ACnBtF,SAAS,iBAAiB,YAAY,QAAQ;AAC5C,MAAI,OAAO,eAAe,YAAY;AACpC,WAAO,WAAW,GAAG,MAAM;AAAA,EAC/B;AACE,SAAO,CAAC,CAAC;AACX;AACA,SAAS,OAAO;AAChB;ACHA,IAAI,kCAAkC,CAAC,SAAS,uBAAuB;AACrE,MAAI,QAAQ,YAAY,QAAQ,gBAAgB,QAAQ,+BAA+B;AACrF,QAAI,CAAC,mBAAmB,WAAW;AACjC,cAAQ,eAAe;AAAA,IAC7B;AAAA,EACA;AACA;AACA,IAAI,6BAA6B,CAAC,uBAAuB;AACvDC,eAAAA,UAAgB,MAAM;AACpB,uBAAmB,WAAY;AAAA,EACnC,GAAK,CAAC,kBAAkB,CAAC;AACzB;AACA,IAAI,cAAc,CAAC;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,SAAO,OAAO,WAAW,CAAC,mBAAmB,QAAO,KAAM,CAAC,OAAO,cAAc,SAAS,iBAAiB,cAAc,CAAC,OAAO,OAAO,KAAK,CAAC;AAC/I;ACtBA,IAAI,uBAAuB,CAAC,qBAAqB;AAC/C,MAAI,iBAAiB,UAAU;AAC7B,QAAI,iBAAiB,cAAc,QAAQ;AACzC,uBAAiB,YAAY;AAAA,IACnC;AACI,QAAI,OAAO,iBAAiB,WAAW,UAAU;AAC/C,uBAAiB,SAAS,KAAK,IAAI,iBAAiB,QAAQ,GAAG;AAAA,IACrE;AAAA,EACA;AACA;AACA,IAAI,YAAY,CAAC,QAAQ,gBAAgB,OAAO,aAAa,OAAO,cAAc,CAAC;AACnF,IAAI,gBAAgB,CAAC,kBAAkB,WAAW,kBAAkB,YAAY,OAAO;AACvF,IAAI,kBAAkB,CAAC,kBAAkB,UAAU,uBAAuB,SAAS,gBAAgB,gBAAgB,EAAE,MAAM,MAAM;AAC/H,qBAAmB,WAAY;AACjC,CAAC;ACID,SAAS,aAAa,SAAS,UAAU,aAAa;AAQ9C,QAAA,SAAS,eAA0B;AACzC,QAAM,cAAc,eAAe;AACnC,QAAM,qBAAqB,2BAA2B;AAChD,QAAA,mBAAmB,OAAO,oBAAoB,OAAO;AACpD,SAAA,oBAAoB,SAAS;AAAA,IAClC;AAAA,EACF;AACiB,mBAAA,qBAAqB,cAAc,gBAAgB;AACpE,uBAAqB,gBAAgB;AACrC,kCAAgC,kBAAkB,kBAAkB;AACpE,6BAA2B,kBAAkB;AAC7C,QAAM,kBAAkB,CAAC,OAAO,cAAgB,EAAA,IAAI,iBAAiB,SAAS;AACxE,QAAA,CAAC,QAAQ,IAAIC,aAAM;AAAA,IACvB,MAAM,IAAI;AAAA,MACR;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACM,QAAA,SAAS,SAAS,oBAAoB,gBAAgB;AACtDC,eAAA;AAAA,IACJC,aAAM;AAAA,MACJ,CAAC,kBAAkB;AACX,cAAA,cAAc,cAAc,OAAO,SAAS,UAAU,cAAc,WAAW,aAAa,CAAC;AACnG,iBAAS,aAAa;AACf,eAAA;AAAA,MACT;AAAA,MACA,CAAC,UAAU,WAAW;AAAA,IACxB;AAAA,IACA,MAAM,SAAS,iBAAiB;AAAA,IAChC,MAAM,SAAS,iBAAiB;AAAA,EAClC;AACAH,eAAAA,UAAgB,MAAM;AACpB,aAAS,WAAW,kBAAkB,EAAE,WAAW,OAAO;AAAA,EAAA,GACzD,CAAC,kBAAkB,QAAQ,CAAC;AAC3B,MAAA,cAAc,kBAAkB,MAAM,GAAG;AACrC,UAAA,gBAAgB,kBAAkB,UAAU,kBAAkB;AAAA,EAAA;AAEtE,MAAI,YAAY;AAAA,IACd;AAAA,IACA;AAAA,IACA,cAAc,iBAAiB;AAAA,IAC/B,OAAO,OAAO,cAAgB,EAAA,IAAI,iBAAiB,SAAS;AAAA,EAAA,CAC7D,GAAG;AACF,UAAM,OAAO;AAAA,EAAA;AAGR,SAAA,oBAAoB,SAAS;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,MAAI,iBAAiB,iCAAiC,CAAC,YAAY,UAAU,QAAQ,WAAW,GAAG;AACjG,UAAM,UAAU;AAAA;AAAA,MAEd,gBAAgB,kBAAkB,UAAU,kBAAkB;AAAA;AAAA;AAAA,MAG9D,OAAO,cAAc,EAAE,IAAI,iBAAiB,SAAS,GAAG;AAAA;AAE1D,aAAS,MAAM,IAAI,EAAE,QAAQ,MAAM;AACjC,eAAS,aAAa;AAAA,IAAA,CACvB;AAAA,EAAA;AAEH,SAAO,CAAC,iBAAiB,sBAAsB,SAAS,YAAY,MAAM,IAAI;AAChF;ACtFA,SAAS,SAAS,SAAS,aAAa;AACtC,SAAO,aAAa,SAAS,aAA0B;AACzD;ACgBA,WAAW,cAAc,SAAS,eAAe,cAAc,CAAgB;AAExE,SAAS,IAAI;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAAa;AACT,QAAM,CAAC,WAAW,YAAY,IAAII,aAAAA,SAAS,CAAC;AAE5C,QAAM,EAAE,SAAS,WAAW,KAAA,IAAS,SAAS;AAAA,IAC1C,UAAU,CAAC,QAAQ;AAAA,IACnB,SAAS,MAAM,mBAAmB,OAAO,iBAAiB,mBAAoB,CAAA;AAAA,EAAA,CACjF;AAGD,MAAI,WAAW;AACH,WAAAT,kCAAA,IAAC,OAAI,EAAA,WAAU,cAAc,CAAA;AAAA,EAAA;AAGrC,MAAA,WAAW,CAAC,MAAM;AAClB,iDAAS,sBAAqB,EAAA;AAAA,EAAA;AAGlC,WAAS,YAAYU,YAAmB;AACpC,iBAAaA,UAAS;AAAA,EAAA;AAGpB,QAAA,YAAY,KAAK,KAAK;AACtB,QAAA,iBAAiB,KAAK,UAAU;AAElC,SAAAC,kCAAA,KAAC,OAAI,EAAA,WAAU,+BACV,UAAA;AAAA,IAAmB,mBAAA,cAAc,KAAK,mBAAmB,2CACrD,OAAI,EAAA,WAAU,4BACV,UACL,WAAA,CAAA;AAAA,IAEH,CAAC,mBAAmB,cAAc,2CAC9B,OAAI,EAAA,WAAU,4BACV,UACL,YAAA;AAAA,IAGH,CAAC,mBAAmB,cAAc,UAAa,YAAY,KACxDA,kCAAA,KAAC,OAAI,EAAA,WAAU,4BACV,UAAA;AAAA,MAAA;AAAA,MAAY;AAAA,MAAE;AAAA,IAAA,GACnB;AAAA,IAEH,mBAAmB,cAAc,WAAc,YAAY,MAAM,kBAAkB,KAAK,MACrFA,kCAAAA,KAAC,OAAI,EAAA,WAAU,4BACV,UAAA;AAAA,MAAA;AAAA,MAAY;AAAA,MAAE,YAAY;AAAA,IAAA,GAC/B;AAAA,MAGD,aAAa,KAAK,MAAM,kBAAkB,KAAK,MAC9CA,kCAAA,KAAC,OAAI,EAAA,WAAU,8BACV,UAAA;AAAA,MAAA,mBACIA,kCAAAA,KAAA,OAAA,EAAI,MAAK,WAAU,WAAU,8BAC1B,UAAA;AAAA,QAAAA,kCAAA,KAAC,UAAO,EAAA,WAAU,wBAAuB,SAAS,MAAM,YAAY,CAAC,GAAG,MAAK,OAAM,IAAG,sBAAqB,iBAAc,QAAO,iBAAc,mCAAmC,UAAA;AAAA,UAAA;AAAA,UAAM;AAAA,UAAG;AAAA,UAAU;AAAA,QAAA,GAAC;AAAA,+CACpM,UAAO,EAAA,WAAU,oDAAmD,SAAS,MAAM,YAAY,CAAC,GAAG,MAAK,OAAM,IAAG,sBAAqB,iBAAc,SAAQ,iBAAc,0BAA0B,UAAA;AAAA,UAAA;AAAA,UAAM;AAAA,UAAG;AAAA,UAAe;AAAA,QAAA,EAAC,CAAA;AAAA,MAAA,GAClO;AAAA,6CAEH,OAAI,EAAA,MAAM,kBAAkB,aAAa,UAAU,mBAAiB,kBAAkB,uBAAuB,+BAA+B,IAAG,mCAAkC,WAAW,cAAc,IAAI,oBAAoB,yCAC9N,UAAA;AAAA,QAAK,KAAA,KAAK,WAAW,KAAK,yDACtB,OAAI,EAAA,WAAU,oBAAoB,UAAW,WAAA,CAAA;AAAA,QAEjD,KAAK,KAAK,SAAS,4CACf,OAAI,EAAA,IAAI,sBAAsB,UAEvB,UAAA;AAAA,UAAK,KAAA,KAAK,OAAO,CAAC,QAAkB;AAChC,mBAAQ,IAAI;AAAA,UACf,CAAA,EAAE;AAAA,YAAI,CAAC,KAAe,MAAc;AAE7B,qBAAAX,kCAAA,IAAC,OAAc,EAAA,IAAA,GAAH,CAAa;AAAA,YAAA;AAAA,UAGjC;AAAA,UAGA,KAAK,KAAK,OAAO,CAAC,QAAkB;AAChC,mBAAQ,CAAC,IAAI;AAAA,UAChB,CAAA,EAAE;AAAA,YAAI,CAAC,KAAe,MAAc;AAE7B,qBAAAA,kCAAA,IAAC,OAAc,EAAA,IAAA,GAAH,CAAa;AAAA,YAAA;AAAA,UAEjC;AAAA,QACA,EAER,CAAA;AAAA,MAAA,GAER;AAAA,MACC,mBACGW,kCAAA,KAAC,OAAI,EAAA,MAAK,YAAW,mBAAgB,sBAAqB,IAAG,0BAAyB,WAAW,cAAc,IAAI,4DAA4D,yCAC1K,UAAA;AAAA,QAAA,mBAAmB,KAChBX,kCAAAA,IAAC,OAAI,EAAA,WAAU,oBAAoB,UAAW,YAAA;AAAA,QAEjD,KAAK,UAAU,SAAS,4CACpB,OAAI,EAAA,IAAI,sBAAsB,UAEvB,UAAA;AAAA,UAAK,KAAA,UAAU,OAAO,CAAC,QAAkB;AACrC,mBAAQ,IAAI;AAAA,UACf,CAAA,EAAE,IAAI,CAAC,KAAe,MAAc;AACzB,mBAAAA,kCAAA,IAAC,OAAc,EAAA,IAAA,GAAH,CAAa;AAAA,UAAA,CACpC;AAAA,UAGD,KAAK,UAAU,OAAO,CAAC,QAAkB;AACrC,mBAAQ,CAAC,IAAI;AAAA,UAChB,CAAA,EAAE;AAAA,YAAI,CAAC,KAAe,MAAc;AAE7B,qBAAAA,kCAAA,IAAC,OAAc,EAAA,IAAA,GAAH,CAAa;AAAA,YAAA;AAAA,UAEjC;AAAA,QACA,EAER,CAAA;AAAA,MAAA,EAER,CAAA;AAAA,IAAA,EAER,CAAA;AAAA,EAAA,GAER;AAER;AChJA,MAAM,OAAO,SAAS,eAAe,cAAc;AACnD,IAAI,QAAQ,MAAM;AACR,QAAA,EAAE,aAAa,YAAY,YAAY,OAAO,iBAAiB,UAAU,OAAO,MAAM,IAAI,KAAK;AAE/F,QAAA,cAAc,IAAI,YAAY;AAAA,IAChC,gBAAgB;AAAA,MACZ,SAAS;AAAA,QACL,WAAW,OAAO;AAAA;AAAA,MAAA;AAAA,IACtB;AAAA,EACJ,CACH;AAED,QAAM,UAAU,MACXA,sCAAA,qBAAA,EAAoB,QAAQ,aACzB,UAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACG;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,iBAAiB,mBAAmB,SAAS,OAAO;AAAA,MACpD;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAAA,GAER;AAGE,QAAA,MAAM,SAAS,WAAW,IAAmB;AAC/C,MAAA,OAAQA,kCAAAA,IAAA,SAAA,CAAQ,CAAA,CAAE;AAC1B;","x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]}