@tanstack/react-query 5.0.0-alpha.4 → 5.0.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/__tests__/ssr.test.d.ts +0 -3
- package/build/lib/__tests__/utils.d.ts +2 -3
- package/build/umd/index.development.js +51 -51
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/HydrationBoundary.test.tsx +4 -3
- package/src/__tests__/QueryClientProvider.test.tsx +2 -1
- package/src/__tests__/QueryResetErrorBoundary.test.tsx +12 -11
- package/src/__tests__/ssr-hydration.test.tsx +11 -10
- package/src/__tests__/ssr.test.tsx +4 -7
- package/src/__tests__/suspense.test.tsx +14 -13
- package/src/__tests__/useInfiniteQuery.test.tsx +18 -16
- package/src/__tests__/useInfiniteQuery.type.test.tsx +81 -1
- package/src/__tests__/useMutation.test.tsx +21 -20
- package/src/__tests__/useMutationState.test.tsx +1 -58
- package/src/__tests__/useQueries.test.tsx +13 -73
- package/src/__tests__/useQuery.test.tsx +30 -36
- package/src/__tests__/utils.tsx +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.development.js","sources":["../../../query-core/build/lib/subscribable.mjs","../../../query-core/build/lib/utils.mjs","../../../query-core/build/lib/focusManager.mjs","../../../query-core/build/lib/onlineManager.mjs","../../../query-core/build/lib/retryer.mjs","../../../query-core/build/lib/notifyManager.mjs","../../../query-core/build/lib/removable.mjs","../../../query-core/build/lib/query.mjs","../../../query-core/build/lib/queryCache.mjs","../../../query-core/build/lib/mutation.mjs","../../../query-core/build/lib/mutationCache.mjs","../../../query-core/build/lib/infiniteQueryBehavior.mjs","../../../query-core/build/lib/queryClient.mjs","../../../query-core/build/lib/queryObserver.mjs","../../../query-core/build/lib/queriesObserver.mjs","../../../query-core/build/lib/infiniteQueryObserver.mjs","../../../query-core/build/lib/mutationObserver.mjs","../../../query-core/build/lib/hydration.mjs","../../src/QueryClientProvider.tsx","../../src/isRestoring.tsx","../../src/QueryErrorResetBoundary.tsx","../../src/utils.ts","../../src/errorBoundaryUtils.ts","../../src/suspense.ts","../../src/useQueries.ts","../../src/useBaseQuery.ts","../../src/useQuery.ts","../../src/HydrationBoundary.tsx","../../src/useIsFetching.ts","../../src/useMutationState.ts","../../src/useMutation.ts","../../src/useInfiniteQuery.ts"],"sourcesContent":["class Subscribable {\n constructor() {\n this.listeners = [];\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.push(listener);\n this.onSubscribe();\n return () => {\n this.listeners = this.listeners.filter(x => x !== listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.length > 0;\n }\n onSubscribe() {\n // Do nothing\n }\n onUnsubscribe() {\n // Do nothing\n }\n}\n\nexport { Subscribable };\n//# sourceMappingURL=subscribable.mjs.map\n","// TYPES\n\n// UTILS\n\nconst isServer = typeof window === 'undefined' || 'Deno' in window;\nfunction noop() {\n return undefined;\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 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 (typeof fetchStatus !== 'undefined' && 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 {\n exact,\n status,\n predicate,\n mutationKey\n } = 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}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nfunction hashKey(queryKey) {\n return JSON.stringify(queryKey, (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val);\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\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}\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\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 aSize = array ? a.length : Object.keys(a).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 copy[key] = replaceEqualDeep(a[key], b[key]);\n if (copy[key] === a[key]) {\n equalItems++;\n }\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n return b;\n}\n\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\nfunction shallowEqualObjects(a, b) {\n if (a && !b || b && !a) {\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}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n\n // If has modified constructor\n const ctor = o.constructor;\n if (typeof ctor === 'undefined') {\n return true;\n }\n\n // If has modified prototype\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false;\n }\n\n // Most likely a plain Object\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}\n\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\nfunction scheduleMicrotask(callback) {\n sleep(0).then(callback);\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 // Structurally share data between prev and new data if needed\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}\n\nexport { addToEnd, addToStart, functionalUpdate, hashKey, hashQueryKeyByOptions, isPlainArray, isPlainObject, isServer, isValidTimeout, keepPreviousData, matchMutation, matchQuery, noop, partialMatchKey, replaceData, replaceEqualDeep, scheduleMicrotask, shallowEqualObjects, sleep, timeUntilStale };\n//# sourceMappingURL=utils.mjs.map\n","import { Subscribable } from './subscribable.mjs';\nimport { isServer } from './utils.mjs';\n\nclass FocusManager extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = onFocus => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus();\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false);\n return () => {\n // Be sure to unsubscribe if a new handler is set\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 = undefined;\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 this.#focused = focused;\n if (focused) {\n this.onFocus();\n }\n }\n onFocus() {\n this.listeners.forEach(listener => {\n listener();\n });\n }\n isFocused() {\n if (typeof this.#focused === 'boolean') {\n return this.#focused;\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden';\n }\n}\nconst focusManager = new FocusManager();\n\nexport { FocusManager, focusManager };\n//# sourceMappingURL=focusManager.mjs.map\n","import { Subscribable } from './subscribable.mjs';\nimport { isServer } from './utils.mjs';\n\nclass OnlineManager extends Subscribable {\n #online;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = onOnline => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline();\n // Listen to online\n window.addEventListener('online', listener, false);\n window.addEventListener('offline', listener, false);\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', listener);\n window.removeEventListener('offline', 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 = undefined;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(online => {\n if (typeof online === 'boolean') {\n this.setOnline(online);\n } else {\n this.onOnline();\n }\n });\n }\n setOnline(online) {\n this.#online = online;\n if (online) {\n this.onOnline();\n }\n }\n onOnline() {\n this.listeners.forEach(listener => {\n listener();\n });\n }\n isOnline() {\n if (typeof this.#online === 'boolean') {\n return this.#online;\n }\n if (typeof navigator === 'undefined' || typeof navigator.onLine === 'undefined') {\n return true;\n }\n return navigator.onLine;\n }\n}\nconst onlineManager = new OnlineManager();\n\nexport { OnlineManager, onlineManager };\n//# sourceMappingURL=onlineManager.mjs.map\n","import { focusManager } from './focusManager.mjs';\nimport { onlineManager } from './onlineManager.mjs';\nimport { sleep } from './utils.mjs';\n\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1000 * 2 ** failureCount, 30000);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? 'online') === 'online' ? onlineManager.isOnline() : true;\n}\nclass CancelledError {\n constructor(options) {\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 let promiseResolve;\n let promiseReject;\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\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 shouldPause = () => !focusManager.isFocused() || config.networkMode !== 'always' && !onlineManager.isOnline();\n const resolve = value => {\n if (!isResolved) {\n isResolved = true;\n config.onSuccess?.(value);\n continueFn?.();\n promiseResolve(value);\n }\n };\n const reject = value => {\n if (!isResolved) {\n isResolved = true;\n config.onError?.(value);\n continueFn?.();\n promiseReject(value);\n }\n };\n const pause = () => {\n return new Promise(continueResolve => {\n continueFn = value => {\n const canContinue = isResolved || !shouldPause();\n if (canContinue) {\n continueResolve(value);\n }\n return canContinue;\n };\n config.onPause?.();\n }).then(() => {\n continueFn = undefined;\n if (!isResolved) {\n config.onContinue?.();\n }\n });\n };\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return;\n }\n let promiseOrValue;\n\n // Execute query\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch(error => {\n // Stop if the fetch is already resolved\n if (isResolved) {\n return;\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? 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 // We are done if the query does not need to be retried\n reject(error);\n return;\n }\n failureCount++;\n\n // Notify on fail\n config.onFail?.(failureCount, error);\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n if (shouldPause()) {\n return pause();\n }\n return;\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n\n // Start loop\n if (canFetch(config.networkMode)) {\n run();\n } else {\n pause().then(run);\n }\n return {\n promise,\n cancel,\n continue: () => {\n const didContinue = continueFn?.();\n return didContinue ? promise : Promise.resolve();\n },\n cancelRetry,\n continueRetry\n };\n}\n\nexport { CancelledError, canFetch, createRetryer, isCancelledError };\n//# sourceMappingURL=retryer.mjs.map\n","import { scheduleMicrotask } from './utils.mjs';\n\n// TYPES\n\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = callback => {\n callback();\n };\n let batchNotifyFn = callback => {\n callback();\n };\n const 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 const schedule = callback => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback);\n });\n }\n };\n\n /**\n * All calls to the wrapped function will be batched.\n */\n const batchCalls = callback => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach(callback => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n\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 const setNotifyFunction = fn => {\n notifyFn = fn;\n };\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 const setBatchNotifyFunction = fn => {\n batchNotifyFn = fn;\n };\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction\n };\n}\n\n// SINGLETON\nconst notifyManager = createNotifyManager();\n\nexport { createNotifyManager, notifyManager };\n//# sourceMappingURL=notifyManager.mjs.map\n","import { isValidTimeout, isServer } from './utils.mjs';\n\nclass Removable {\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 // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000));\n }\n clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout);\n this.#gcTimeout = undefined;\n }\n }\n}\n\nexport { Removable };\n//# sourceMappingURL=removable.mjs.map\n","import { replaceData, noop, timeUntilStale } from './utils.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { createRetryer, isCancelledError, canFetch } from './retryer.mjs';\nimport { Removable } from './removable.mjs';\n\n// TYPES\n\n// CLASS\n\nclass Query extends Removable {\n #initialState;\n #revertState;\n #cache;\n #promise;\n #retryer;\n #observers;\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 = config.state || getDefaultState(this.options);\n this.state = this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n #setOptions(options) {\n this.options = {\n ...this.#defaultOptions,\n ...options\n };\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\n // Set data and mark it as cached\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({\n type: 'setState',\n state,\n setStateOptions\n });\n }\n cancel(options) {\n const promise = this.#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({\n silent: true\n });\n }\n reset() {\n this.destroy();\n this.setState(this.#initialState);\n }\n isActive() {\n return this.#observers.some(observer => observer.options.enabled !== false);\n }\n isDisabled() {\n return this.getObserversCount() > 0 && !this.isActive();\n }\n isStale() {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || this.#observers.some(observer => observer.getCurrentResult().isStale);\n }\n isStaleByTime(staleTime = 0) {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.#observers.find(x => x.shouldFetchOnWindowFocus());\n observer?.refetch({\n cancelRefetch: false\n });\n\n // Continue fetch if currently paused\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.#observers.find(x => x.shouldFetchOnReconnect());\n observer?.refetch({\n cancelRefetch: false\n });\n\n // Continue fetch if currently paused\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (this.#observers.indexOf(observer) === -1) {\n this.#observers.push(observer);\n\n // Stop the query from being garbage collected\n this.clearGcTimeout();\n this.#cache.notify({\n type: 'observerAdded',\n query: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n if (this.#observers.indexOf(observer) !== -1) {\n this.#observers = this.#observers.filter(x => x !== observer);\n if (!this.#observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({\n revert: true\n });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({\n type: 'observerRemoved',\n query: this,\n observer\n });\n }\n }\n getObserversCount() {\n return this.#observers.length;\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({\n type: 'invalidate'\n });\n }\n }\n fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({\n silent: true\n });\n } else if (this.#promise) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer?.continueRetry();\n // Return current promise if we are already fetching\n return this.#promise;\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.#setOptions(options);\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\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(`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 const abortController = new AbortController();\n\n // Create query function context\n const queryFnContext = {\n queryKey: this.queryKey,\n meta: this.meta\n };\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\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 addSignalProperty(queryFnContext);\n\n // Create fetch function\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(new Error('Missing queryFn'));\n }\n this.#abortSignalConsumed = false;\n return this.options.queryFn(queryFnContext);\n };\n\n // Trigger behavior hook\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(context);\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state;\n\n // Set to fetching state if not already in it\n if (this.state.fetchStatus === 'idle' || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({\n type: 'fetch',\n meta: context.fetchOptions?.meta\n });\n }\n const onError = error => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: 'error',\n error: error\n });\n }\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.#cache.config.onError?.(error, this);\n this.#cache.config.onSettled?.(this.state.data, error, this);\n }\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n };\n\n // Try to fetch the data\n this.#retryer = createRetryer({\n fn: context.fetchFn,\n abort: abortController.abort.bind(abortController),\n onSuccess: data => {\n if (typeof data === 'undefined') {\n if (process.env.NODE_ENV !== 'production') {\n console.error(`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 onError(new Error('undefined'));\n return;\n }\n this.setData(data);\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(data, this.state.error, this);\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({\n type: 'failed',\n failureCount,\n error\n });\n },\n onPause: () => {\n this.#dispatch({\n type: 'pause'\n });\n },\n onContinue: () => {\n this.#dispatch({\n type: 'continue'\n });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode\n });\n this.#promise = this.#retryer.promise;\n return this.#promise;\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 fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: action.meta ?? null,\n fetchStatus: canFetch(this.options.networkMode) ? 'fetching' : 'paused',\n ...(!state.dataUpdatedAt && {\n error: null,\n status: 'pending'\n })\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 {\n ...this.#revertState\n };\n }\n return {\n ...state,\n error: 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(action);\n });\n this.#cache.notify({\n query: this,\n type: 'updated',\n action\n });\n });\n }\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === 'function' ? options.initialData() : options.initialData;\n const hasData = typeof data !== 'undefined';\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}\n\nexport { Query };\n//# sourceMappingURL=query.mjs.map\n","import { hashQueryKeyByOptions, matchQuery } from './utils.mjs';\nimport { Query } from './query.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { Subscribable } from './subscribable.mjs';\n\n// CLASS\n\nclass QueryCache extends Subscribable {\n #queries;\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = config.createStore?.() ?? new Map();\n }\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({\n type: 'removed',\n query\n });\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 if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n return this.getAll().find(query => matchQuery(filters, query));\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}\n\nexport { QueryCache };\n//# sourceMappingURL=queryCache.mjs.map\n","import { notifyManager } from './notifyManager.mjs';\nimport { Removable } from './removable.mjs';\nimport { createRetryer, canFetch } from './retryer.mjs';\n\n// TYPES\n\n// CLASS\n\nclass Mutation extends Removable {\n #observers;\n #defaultOptions;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.mutationId = config.mutationId;\n this.#defaultOptions = config.defaultOptions;\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 = {\n ...this.#defaultOptions,\n ...options\n };\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (this.#observers.indexOf(observer) === -1) {\n this.#observers.push(observer);\n\n // Stop the mutation from being garbage collected\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() ??\n // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const executeMutation = () => {\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({\n type: 'failed',\n failureCount,\n error\n });\n },\n onPause: () => {\n this.#dispatch({\n type: 'pause'\n });\n },\n onContinue: () => {\n this.#dispatch({\n type: 'continue'\n });\n },\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode\n });\n return this.#retryer.promise;\n };\n const restored = this.state.status === 'pending';\n try {\n if (!restored) {\n this.#dispatch({\n type: 'pending',\n variables\n });\n // Notify cache callback\n await this.#mutationCache.config.onMutate?.(variables, this);\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 });\n }\n }\n const data = await executeMutation();\n\n // Notify cache callback\n await this.#mutationCache.config.onSuccess?.(data, variables, this.state.context, this);\n await this.options.onSuccess?.(data, variables, this.state.context);\n\n // Notify cache callback\n await this.#mutationCache.config.onSettled?.(data, null, this.state.variables, this.state.context, this);\n await this.options.onSettled?.(data, null, variables, this.state.context);\n this.#dispatch({\n type: 'success',\n data\n });\n return data;\n } catch (error) {\n try {\n // Notify cache callback\n await this.#mutationCache.config.onError?.(error, variables, this.state.context, this);\n await this.options.onError?.(error, variables, this.state.context);\n\n // Notify cache callback\n await this.#mutationCache.config.onSettled?.(undefined, error, this.state.variables, this.state.context, this);\n await this.options.onSettled?.(undefined, error, variables, this.state.context);\n throw error;\n } finally {\n this.#dispatch({\n type: 'error',\n error: error\n });\n }\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: undefined,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: !canFetch(this.options.networkMode),\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: undefined,\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: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: 'idle',\n variables: undefined,\n submittedAt: 0\n };\n}\n\nexport { Mutation, getDefaultState };\n//# sourceMappingURL=mutation.mjs.map\n","import { notifyManager } from './notifyManager.mjs';\nimport { Mutation } from './mutation.mjs';\nimport { matchMutation, noop } from './utils.mjs';\nimport { Subscribable } from './subscribable.mjs';\n\n// TYPES\n\n// CLASS\n\nclass MutationCache extends Subscribable {\n #mutations;\n #mutationId;\n #resuming;\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = [];\n this.#mutationId = 0;\n }\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 this.#mutations.push(mutation);\n this.notify({\n type: 'added',\n mutation\n });\n }\n remove(mutation) {\n this.#mutations = this.#mutations.filter(x => x !== mutation);\n this.notify({\n type: 'removed',\n mutation\n });\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach(mutation => {\n this.remove(mutation);\n });\n });\n }\n getAll() {\n return this.#mutations;\n }\n find(filters) {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n return this.#mutations.find(mutation => matchMutation(filters, mutation));\n }\n findAll(filters = {}) {\n return this.#mutations.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 this.#resuming = (this.#resuming ?? Promise.resolve()).then(() => {\n const pausedMutations = this.#mutations.filter(x => x.state.isPaused);\n return notifyManager.batch(() => pausedMutations.reduce((promise, mutation) => promise.then(() => mutation.continue().catch(noop)), Promise.resolve()));\n }).then(() => {\n this.#resuming = undefined;\n });\n return this.#resuming;\n }\n}\n\nexport { MutationCache };\n//# sourceMappingURL=mutationCache.mjs.map\n","import { addToStart, addToEnd } from './utils.mjs';\n\nfunction infiniteQueryBehavior() {\n return {\n onFetch: context => {\n context.fetchFn = () => {\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 newPageParams = oldPageParams;\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\n // Get query function\n const queryFn = context.options.queryFn || (() => Promise.reject(new Error('Missing queryFn')));\n const buildNewPages = (pages, param, page, previous) => {\n const {\n maxPages\n } = context.options;\n if (previous) {\n newPageParams = addToStart(newPageParams, param, maxPages);\n return addToStart(pages, page, maxPages);\n }\n newPageParams = addToEnd(newPageParams, param, maxPages);\n return addToEnd(pages, page, maxPages);\n };\n\n // Create function to fetch a page\n const fetchPage = (pages, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (typeof param === 'undefined' && pages.length) {\n return Promise.resolve(pages);\n }\n const queryFnContext = {\n queryKey: context.queryKey,\n pageParam: param,\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext);\n const queryFnResult = queryFn(queryFnContext);\n const promise = Promise.resolve(queryFnResult).then(page => buildNewPages(pages, param, page, previous));\n return promise;\n };\n let promise;\n\n // Fetch first page?\n if (!oldPages.length) {\n promise = fetchPage([], options.defaultPageParam);\n }\n\n // fetch next / previous page?\n else if (direction) {\n const previous = direction === 'backward';\n const param = previous ? getPreviousPageParam(options, oldPages) : getNextPageParam(options, oldPages);\n promise = fetchPage(oldPages, param, previous);\n }\n\n // Refetch pages\n else {\n newPageParams = [];\n\n // Fetch first page\n promise = fetchPage([], oldPageParams[0]);\n\n // Fetch remaining pages\n for (let i = 1; i < oldPages.length; i++) {\n promise = promise.then(pages => {\n const param = getNextPageParam(options, pages);\n return fetchPage(pages, param);\n });\n }\n }\n const finalPromise = promise.then(pages => ({\n pages,\n pageParams: newPageParams\n }));\n return finalPromise;\n };\n }\n };\n}\nfunction getNextPageParam(options, pages) {\n return options.getNextPageParam(pages[pages.length - 1], pages);\n}\nfunction getPreviousPageParam(options, pages) {\n return options.getPreviousPageParam?.(pages[0], pages);\n}\n\n/**\n * Checks if there is a next page.\n */\nfunction hasNextPage(options, pages) {\n if (!pages) return false;\n return typeof getNextPageParam(options, pages) !== 'undefined';\n}\n\n/**\n * Checks if there is a previous page.\n */\nfunction hasPreviousPage(options, pages) {\n if (!pages || !options.getPreviousPageParam) return false;\n return typeof getPreviousPageParam(options, pages) !== 'undefined';\n}\n\nexport { hasNextPage, hasPreviousPage, infiniteQueryBehavior };\n//# sourceMappingURL=infiniteQueryBehavior.mjs.map\n","import { functionalUpdate, noop, hashKey, partialMatchKey, hashQueryKeyByOptions } from './utils.mjs';\nimport { QueryCache } from './queryCache.mjs';\nimport { MutationCache } from './mutationCache.mjs';\nimport { focusManager } from './focusManager.mjs';\nimport { onlineManager } from './onlineManager.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior.mjs';\n\n// CLASS\n\nclass QueryClient {\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 = new Map();\n this.#mutationDefaults = new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1) return;\n this.#unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0) return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = undefined;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = undefined;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({\n ...filters,\n fetchStatus: 'fetching'\n }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({\n ...filters,\n status: 'pending'\n }).length;\n }\n getQueryData(queryKey) {\n return this.#queryCache.find({\n queryKey\n })?.state.data;\n }\n ensureQueryData(options) {\n const cachedData = this.getQueryData(options.queryKey);\n return cachedData ? Promise.resolve(cachedData) : this.fetchQuery(options);\n }\n getQueriesData(filters) {\n return this.getQueryCache().findAll(filters).map(({\n queryKey,\n state\n }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const query = this.#queryCache.find({\n queryKey\n });\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (typeof data === 'undefined') {\n return undefined;\n }\n const defaultedOptions = this.defaultQueryOptions({\n queryKey\n });\n return this.#queryCache.build(this, defaultedOptions).setData(data, {\n ...options,\n manual: true\n });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(() => this.getQueryCache().findAll(filters).map(({\n queryKey\n }) => [queryKey, this.setQueryData(queryKey, updater, options)]));\n }\n getQueryState(queryKey) {\n return this.#queryCache.find({\n queryKey\n })?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach(query => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, 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 if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true;\n }\n const promises = notifyManager.batch(() => this.#queryCache.findAll(filters).map(query => query.cancel(cancelOptions)));\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 promises = notifyManager.batch(() => this.#queryCache.findAll(filters).filter(query => !query.isDisabled()).map(query => query.fetch(undefined, {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true\n })));\n let promise = Promise.all(promises).then(noop);\n if (!options?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(defaultedOptions.staleTime) ? 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();\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n resumePausedMutations() {\n return this.#mutationCache.resumePausedMutations();\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 = {\n ...result,\n ...queryDefault.defaultOptions\n };\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 = {\n ...result,\n ...queryDefault.defaultOptions\n };\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 ...(options?.queryKey && this.getQueryDefaults(options.queryKey)),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(defaultedOptions.queryKey, defaultedOptions);\n }\n\n // dependent default values\n if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== 'always';\n }\n if (typeof defaultedOptions.throwErrors === 'undefined') {\n defaultedOptions.throwErrors = !!defaultedOptions.suspense;\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}\n\nexport { QueryClient };\n//# sourceMappingURL=queryClient.mjs.map\n","import { shallowEqualObjects, noop, isServer, isValidTimeout, timeUntilStale, replaceData } from './utils.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { focusManager } from './focusManager.mjs';\nimport { Subscribable } from './subscribable.mjs';\nimport { canFetch, isCancelledError } from './retryer.mjs';\n\nclass QueryObserver extends Subscribable {\n #client;\n #currentQuery = undefined;\n #currentQueryInitialState = undefined;\n #currentResult = undefined;\n #currentResultState;\n #currentResultOptions;\n #previousQueryResult;\n #selectError;\n #selectFn;\n #selectResult;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = new Set();\n constructor(client, options) {\n super();\n this.#client = client;\n this.options = options;\n this.#selectError = null;\n this.bindMethods();\n this.setOptions(options);\n }\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.length === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.listeners.length) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(this.#currentQuery, this.options, this.options.refetchOnReconnect);\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(this.#currentQuery, this.options, this.options.refetchOnWindowFocus);\n }\n destroy() {\n this.listeners = [];\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 (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this\n });\n }\n if (typeof this.options.enabled !== 'undefined' && typeof this.options.enabled !== 'boolean') {\n throw new Error('Expected enabled to be a boolean');\n }\n\n // Keep previous query key if the user does not supply one\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey;\n }\n this.#updateQuery();\n const mounted = this.hasListeners();\n\n // Fetch if there are subscribers\n if (mounted && shouldFetchOptionally(this.#currentQuery, prevQuery, this.options, prevOptions)) {\n this.#executeFetch();\n }\n\n // Update result\n this.#updateResult(notifyOptions);\n\n // Update stale interval if needed\n if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n\n // Update refetch interval if needed\n if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n return this.createResult(query, options);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result) {\n const trackedResult = {};\n Object.keys(result).forEach(key => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.#trackedProps.add(key);\n return result[key];\n }\n });\n });\n return trackedResult;\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({\n ...options\n } = {}) {\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 query.isFetchingOptimistic = true;\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 // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery();\n\n // Fetch\n let promise = this.#currentQuery.fetch(this.options, fetchOptions);\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n if (isServer || this.#currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, this.options.staleTime);\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\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.#currentResult.data, this.#currentQuery) : this.options.refetchInterval ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (isServer || this.options.enabled === 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 = undefined;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId) {\n clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = undefined;\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 prevQueryResult = queryChange ? this.#currentResult : this.#previousQueryResult;\n const {\n state\n } = query;\n let {\n error,\n errorUpdatedAt,\n fetchStatus,\n status\n } = state;\n let isPlaceholderData = false;\n let data;\n\n // Optimistically set result in fetching state if needed\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 fetchStatus = canFetch(query.options.networkMode) ? 'fetching' : 'paused';\n if (!state.dataUpdatedAt) {\n status = 'pending';\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n fetchStatus = 'idle';\n }\n }\n\n // Select data if needed\n if (options.select && typeof state.data !== 'undefined') {\n // Memoize select result\n if (prevResult && state.data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(state.data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n // Use query data\n else {\n data = state.data;\n }\n\n // Show placeholder data if needed\n if (typeof options.placeholderData !== 'undefined' && typeof data === 'undefined' && status === 'pending') {\n let placeholderData;\n\n // Memoize placeholder data\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData(prevQueryResult?.data) : options.placeholderData;\n if (options.select && typeof placeholderData !== 'undefined') {\n try {\n placeholderData = options.select(placeholderData);\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (typeof placeholderData !== 'undefined') {\n status = 'success';\n data = replaceData(prevResult?.data, placeholderData, options);\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 = fetchStatus === 'fetching';\n const isPending = status === 'pending';\n const isError = status === 'error';\n const isLoading = isPending && isFetching;\n const result = {\n status,\n fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: state.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n failureReason: state.fetchFailureReason,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && state.dataUpdatedAt === 0,\n isPaused: fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch\n };\n return result;\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\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n\n // Determine which callbacks to trigger\n const defaultNotifyOptions = {};\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const {\n notifyOnChangeProps\n } = this.options;\n if (notifyOnChangeProps === 'all' || !notifyOnChangeProps && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(notifyOnChangeProps ?? this.#trackedProps);\n if (this.options.throwErrors) {\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({\n ...defaultNotifyOptions,\n ...notifyOptions\n });\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 this.#previousQueryResult = this.#currentResult;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate(action) {\n const notifyOptions = {};\n if (action.type === 'success') {\n notifyOptions.onSuccess = !action.manual;\n } else if (action.type === 'error' && !isCancelledError(action.error)) {\n notifyOptions.onError = true;\n }\n this.#updateResult(notifyOptions);\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n this.options.onSuccess?.(this.#currentResult.data);\n this.options.onSettled?.(this.#currentResult.data, null);\n } else if (notifyOptions.onError) {\n this.options.onError?.(this.#currentResult.error);\n this.options.onSettled?.(undefined, this.#currentResult.error);\n }\n\n // Then trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach(listener => {\n listener(this.#currentResult);\n });\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated'\n });\n });\n }\n}\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === 'error' && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.dataUpdatedAt > 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== 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 options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== 'error') && isStale(query, options);\n}\nfunction isStale(query, options) {\n return query.isStaleByTime(options.staleTime);\n}\n\nexport { QueryObserver };\n//# sourceMappingURL=queryObserver.mjs.map\n","import { notifyManager } from './notifyManager.mjs';\nimport { QueryObserver } from './queryObserver.mjs';\nimport { Subscribable } from './subscribable.mjs';\n\nfunction difference(array1, array2) {\n return array1.filter(x => array2.indexOf(x) === -1);\n}\nfunction replaceAt(array, index, value) {\n const copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nclass QueriesObserver extends Subscribable {\n #client;\n #result;\n #queries;\n #observers;\n constructor(client, queries) {\n super();\n this.#client = client;\n this.#queries = [];\n this.#result = [];\n this.#observers = [];\n if (queries) {\n this.setQueries(queries);\n }\n }\n onSubscribe() {\n if (this.listeners.length === 1) {\n this.#observers.forEach(observer => {\n observer.subscribe(result => {\n this.#onUpdate(observer, result);\n });\n });\n }\n }\n onUnsubscribe() {\n if (!this.listeners.length) {\n this.destroy();\n }\n }\n destroy() {\n this.listeners = [];\n this.#observers.forEach(observer => {\n observer.destroy();\n });\n }\n setQueries(queries, notifyOptions) {\n this.#queries = queries;\n notifyManager.batch(() => {\n const prevObservers = this.#observers;\n const newObserverMatches = this.#findMatchingObservers(this.#queries);\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach(match => match.observer.setOptions(match.defaultedQueryOptions, notifyOptions));\n const newObservers = newObserverMatches.map(match => match.observer);\n const newResult = newObservers.map(observer => observer.getCurrentResult());\n const hasIndexChange = newObservers.some((observer, index) => observer !== prevObservers[index]);\n if (prevObservers.length === newObservers.length && !hasIndexChange) {\n return;\n }\n this.#observers = newObservers;\n this.#result = newResult;\n if (!this.hasListeners()) {\n return;\n }\n difference(prevObservers, newObservers).forEach(observer => {\n observer.destroy();\n });\n difference(newObservers, prevObservers).forEach(observer => {\n observer.subscribe(result => {\n this.#onUpdate(observer, result);\n });\n });\n this.#notify();\n });\n }\n getCurrentResult() {\n return this.#result;\n }\n getQueries() {\n return this.#observers.map(observer => observer.getCurrentQuery());\n }\n getObservers() {\n return this.#observers;\n }\n getOptimisticResult(queries) {\n return this.#findMatchingObservers(queries).map(match => match.observer.getOptimisticResult(match.defaultedQueryOptions));\n }\n #findMatchingObservers(queries) {\n const prevObservers = this.#observers;\n const defaultedQueryOptions = queries.map(options => this.#client.defaultQueryOptions(options));\n const matchingObservers = defaultedQueryOptions.flatMap(defaultedOptions => {\n const match = prevObservers.find(observer => observer.options.queryHash === defaultedOptions.queryHash);\n if (match != null) {\n return [{\n defaultedQueryOptions: defaultedOptions,\n observer: match\n }];\n }\n return [];\n });\n const matchedQueryHashes = matchingObservers.map(match => match.defaultedQueryOptions.queryHash);\n const unmatchedQueries = defaultedQueryOptions.filter(defaultedOptions => !matchedQueryHashes.includes(defaultedOptions.queryHash));\n const getObserver = options => {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const currentObserver = this.#observers.find(o => o.options.queryHash === defaultedOptions.queryHash);\n return currentObserver ?? new QueryObserver(this.#client, defaultedOptions);\n };\n const newOrReusedObservers = unmatchedQueries.map(options => {\n return {\n defaultedQueryOptions: options,\n observer: getObserver(options)\n };\n });\n const sortMatchesByOrderOfQueries = (a, b) => defaultedQueryOptions.indexOf(a.defaultedQueryOptions) - defaultedQueryOptions.indexOf(b.defaultedQueryOptions);\n return matchingObservers.concat(newOrReusedObservers).sort(sortMatchesByOrderOfQueries);\n }\n #onUpdate(observer, result) {\n const index = this.#observers.indexOf(observer);\n if (index !== -1) {\n this.#result = replaceAt(this.#result, index, result);\n this.#notify();\n }\n }\n #notify() {\n notifyManager.batch(() => {\n this.listeners.forEach(listener => {\n listener(this.#result);\n });\n });\n }\n}\n\nexport { QueriesObserver };\n//# sourceMappingURL=queriesObserver.mjs.map\n","import { QueryObserver } from './queryObserver.mjs';\nimport { infiniteQueryBehavior, hasNextPage, hasPreviousPage } from './infiniteQueryBehavior.mjs';\n\nclass InfiniteQueryObserver extends QueryObserver {\n // Type override\n\n // Type override\n\n // Type override\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(client, options) {\n super(client, options);\n }\n bindMethods() {\n super.bindMethods();\n this.fetchNextPage = this.fetchNextPage.bind(this);\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this);\n }\n setOptions(options, notifyOptions) {\n super.setOptions({\n ...options,\n behavior: infiniteQueryBehavior()\n }, notifyOptions);\n }\n getOptimisticResult(options) {\n options.behavior = infiniteQueryBehavior();\n return super.getOptimisticResult(options);\n }\n fetchNextPage(options = {}) {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: {\n direction: 'forward'\n }\n }\n });\n }\n fetchPreviousPage({\n ...options\n } = {}) {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: {\n direction: 'backward'\n }\n }\n });\n }\n createResult(query, options) {\n const {\n state\n } = query;\n const result = super.createResult(query, options);\n const {\n isFetching,\n isRefetching\n } = result;\n const isFetchingNextPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'forward';\n const isFetchingPreviousPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'backward';\n return {\n ...result,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data?.pages),\n hasPreviousPage: hasPreviousPage(options, state.data?.pages),\n isFetchingNextPage,\n isFetchingPreviousPage,\n isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage\n };\n }\n}\n\nexport { InfiniteQueryObserver };\n//# sourceMappingURL=infiniteQueryObserver.mjs.map\n","import { getDefaultState } from './mutation.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { Subscribable } from './subscribable.mjs';\nimport { shallowEqualObjects } from './utils.mjs';\n\n// TYPES\n\n// CLASS\n\nclass MutationObserver extends Subscribable {\n #client;\n #currentResult = undefined;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this\n });\n }\n this.#currentMutation?.setOptions(this.options);\n }\n onUnsubscribe() {\n if (!this.listeners.length) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation = undefined;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(action.data, this.#currentResult.variables, this.#currentResult.context);\n this.#mutateOptions.onSettled?.(action.data, null, this.#currentResult.variables, this.#currentResult.context);\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(action.error, this.#currentResult.variables, this.#currentResult.context);\n this.#mutateOptions.onSettled?.(undefined, action.error, this.#currentResult.variables, this.#currentResult.context);\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach(listener => {\n listener(this.#currentResult);\n });\n });\n }\n}\n\nexport { MutationObserver };\n//# sourceMappingURL=mutationObserver.mjs.map\n","// TYPES\n\n// FUNCTIONS\n\nfunction dehydrateMutation(mutation) {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state\n };\n}\n\n// Most config is not dehydrated but instead meant to configure again when\n// consuming the de/rehydrated data, typically with useQuery on the client.\n// Sometimes it might make sense to prefetch data on the server and include\n// in the html-payload, but not consume it on the initial render.\nfunction dehydrateQuery(query) {\n return {\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash\n };\n}\nfunction defaultShouldDehydrateMutation(mutation) {\n return mutation.state.isPaused;\n}\nfunction defaultShouldDehydrateQuery(query) {\n return query.state.status === 'success';\n}\nfunction dehydrate(client, options = {}) {\n const mutations = [];\n const queries = [];\n if (options.dehydrateMutations !== false) {\n const shouldDehydrateMutation = options.shouldDehydrateMutation || defaultShouldDehydrateMutation;\n client.getMutationCache().getAll().forEach(mutation => {\n if (shouldDehydrateMutation(mutation)) {\n mutations.push(dehydrateMutation(mutation));\n }\n });\n }\n if (options.dehydrateQueries !== false) {\n const shouldDehydrateQuery = options.shouldDehydrateQuery || defaultShouldDehydrateQuery;\n client.getQueryCache().getAll().forEach(query => {\n if (shouldDehydrateQuery(query)) {\n queries.push(dehydrateQuery(query));\n }\n });\n }\n return {\n mutations,\n queries\n };\n}\nfunction hydrate(client, dehydratedState, options) {\n if (typeof dehydratedState !== 'object' || dehydratedState === null) {\n return;\n }\n const mutationCache = client.getMutationCache();\n const queryCache = client.getQueryCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const mutations = dehydratedState.mutations || [];\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const queries = dehydratedState.queries || [];\n mutations.forEach(dehydratedMutation => {\n mutationCache.build(client, {\n ...options?.defaultOptions?.mutations,\n mutationKey: dehydratedMutation.mutationKey\n }, dehydratedMutation.state);\n });\n queries.forEach(dehydratedQuery => {\n const query = queryCache.get(dehydratedQuery.queryHash);\n\n // Reset fetch status to idle in the dehydrated state to avoid\n // query being stuck in fetching state upon hydration\n const dehydratedQueryState = {\n ...dehydratedQuery.state,\n fetchStatus: 'idle'\n };\n\n // Do not hydrate if an existing query exists with newer data\n if (query) {\n if (query.state.dataUpdatedAt < dehydratedQueryState.dataUpdatedAt) {\n query.setState(dehydratedQueryState);\n }\n return;\n }\n\n // Restore query\n queryCache.build(client, {\n ...options?.defaultOptions?.queries,\n queryKey: dehydratedQuery.queryKey,\n queryHash: dehydratedQuery.queryHash\n }, dehydratedQueryState);\n });\n}\n\nexport { defaultShouldDehydrateMutation, defaultShouldDehydrateQuery, dehydrate, hydrate };\n//# sourceMappingURL=hydration.mjs.map\n","'use client'\nimport * as React from 'react'\n\nimport type { QueryClient } from '@tanstack/query-core'\n\nexport const QueryClientContext = React.createContext<QueryClient | undefined>(\n undefined,\n)\n\nexport const useQueryClient = (queryClient?: QueryClient) => {\n const client = React.useContext(QueryClientContext)\n\n if (queryClient) {\n return queryClient\n }\n\n if (!client) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one')\n }\n\n return client\n}\n\nexport type QueryClientProviderProps = {\n client: QueryClient\n children?: React.ReactNode\n}\n\nexport const QueryClientProvider = ({\n client,\n children,\n}: QueryClientProviderProps): JSX.Element => {\n React.useEffect(() => {\n client.mount()\n return () => {\n client.unmount()\n }\n }, [client])\n\n return (\n <QueryClientContext.Provider value={client}>\n {children}\n </QueryClientContext.Provider>\n )\n}\n","'use client'\nimport * as React from 'react'\n\nconst IsRestoringContext = React.createContext(false)\n\nexport const useIsRestoring = () => React.useContext(IsRestoringContext)\nexport const IsRestoringProvider = IsRestoringContext.Provider\n","'use client'\nimport * as React from 'react'\n\n// CONTEXT\n\nexport interface QueryErrorResetBoundaryValue {\n clearReset: () => void\n isReset: () => boolean\n reset: () => void\n}\n\nfunction createValue(): QueryErrorResetBoundaryValue {\n let isReset = false\n return {\n clearReset: () => {\n isReset = false\n },\n reset: () => {\n isReset = true\n },\n isReset: () => {\n return isReset\n },\n }\n}\n\nconst QueryErrorResetBoundaryContext = React.createContext(createValue())\n\n// HOOK\n\nexport const useQueryErrorResetBoundary = () =>\n React.useContext(QueryErrorResetBoundaryContext)\n\n// COMPONENT\n\nexport interface QueryErrorResetBoundaryProps {\n children:\n | ((value: QueryErrorResetBoundaryValue) => React.ReactNode)\n | React.ReactNode\n}\n\nexport const QueryErrorResetBoundary = ({\n children,\n}: QueryErrorResetBoundaryProps) => {\n const [value] = React.useState(() => createValue())\n return (\n <QueryErrorResetBoundaryContext.Provider value={value}>\n {typeof children === 'function'\n ? (children as Function)(value)\n : children}\n </QueryErrorResetBoundaryContext.Provider>\n )\n}\n","export function shouldThrowError<T extends (...args: any[]) => boolean>(\n throwError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwError function to override throwing behavior on a per-error basis\n if (typeof throwError === 'function') {\n return throwError(...params)\n }\n\n return !!throwError\n}\n","import type {\n DefaultedQueryObserverOptions,\n Query,\n QueryKey,\n QueryObserverResult,\n ThrowErrors,\n} from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\nimport * as React from 'react'\nimport { shouldThrowError } from './utils'\n\nexport const ensurePreventErrorBoundaryRetry = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) => {\n if (options.suspense || options.throwErrors) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false\n }\n }\n}\n\nexport const useClearResetErrorBoundary = (\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset()\n }, [errorResetBoundary])\n}\n\nexport const getHasError = <\n TData,\n TError,\n TQueryFnData,\n TQueryData,\n TQueryKey extends QueryKey,\n>({\n result,\n errorResetBoundary,\n throwErrors,\n query,\n}: {\n result: QueryObserverResult<TData, TError>\n errorResetBoundary: QueryErrorResetBoundaryValue\n throwErrors: ThrowErrors<TQueryFnData, TError, TQueryData, TQueryKey>\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n}) => {\n return (\n result.isError &&\n !errorResetBoundary.isReset() &&\n !result.isFetching &&\n shouldThrowError(throwErrors, [result.error, query])\n )\n}\n","import type { DefaultedQueryObserverOptions } from '@tanstack/query-core'\nimport type { QueryObserver } from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\nimport type { QueryObserverResult } from '@tanstack/query-core'\nimport type { QueryKey } from '@tanstack/query-core'\n\nexport const ensureStaleTime = (\n defaultedOptions: DefaultedQueryObserverOptions<any, any, any, any, any>,\n) => {\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (typeof defaultedOptions.staleTime !== 'number') {\n defaultedOptions.staleTime = 1000\n }\n }\n}\n\nexport const willFetch = (\n result: QueryObserverResult<any, any>,\n isRestoring: boolean,\n) => result.isLoading && result.isFetching && !isRestoring\n\nexport const shouldSuspend = (\n defaultedOptions:\n | DefaultedQueryObserverOptions<any, any, any, any, any>\n | undefined,\n result: QueryObserverResult<any, any>,\n isRestoring: boolean,\n) => defaultedOptions?.suspense && willFetch(result, isRestoring)\n\nexport const fetchOptimistic = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n defaultedOptions: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) =>\n observer\n .fetchOptimistic(defaultedOptions)\n .then(({ data }) => {\n defaultedOptions.onSuccess?.(data as TData)\n defaultedOptions.onSettled?.(data, null)\n })\n .catch((error) => {\n errorResetBoundary.clearReset()\n defaultedOptions.onError?.(error)\n defaultedOptions.onSettled?.(undefined, error)\n })\n","import * as React from 'react'\n\nimport type {\n QueryKey,\n QueryFunction,\n QueriesPlaceholderDataFunction,\n QueryClient,\n DefaultError,\n} from '@tanstack/query-core'\nimport { notifyManager, QueriesObserver } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { UseQueryOptions, UseQueryResult } from './types'\nimport { useIsRestoring } from './isRestoring'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport {\n ensureStaleTime,\n shouldSuspend,\n fetchOptimistic,\n willFetch,\n} from './suspense'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = Omit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'placeholderData'\n> & {\n placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>\n}\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptionsForUseQueries\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? UseQueryResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? UseQueryResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? UseQueryResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? UseQueryResult<TQueryFnData>\n : // Fallback\n UseQueryResult\n\n/**\n * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type QueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptionsForUseQueries[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? QueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptionsForUseQueries[]\n\n/**\n * QueriesResults reducer recursively maps type param to results\n */\nexport type QueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? QueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n UseQueryResult<\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >[]\n : // Fallback\n UseQueryResult[]\n\nexport function useQueries<T extends any[]>(\n {\n queries,\n }: {\n queries: readonly [...QueriesOptions<T>]\n },\n queryClient?: QueryClient,\n): QueriesResults<T> {\n const client = useQueryClient(queryClient)\n const isRestoring = useIsRestoring()\n\n const defaultedQueries = React.useMemo(\n () =>\n queries.map((options) => {\n const defaultedOptions = client.defaultQueryOptions(options)\n\n // Make sure the results are already in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n return defaultedOptions\n }),\n [queries, client, isRestoring],\n )\n\n const [observer] = React.useState(\n () => new QueriesObserver(client, defaultedQueries),\n )\n\n const optimisticResult = observer.getOptimisticResult(defaultedQueries)\n\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n isRestoring\n ? () => undefined\n : observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer, isRestoring],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setQueries(defaultedQueries, { listeners: false })\n }, [defaultedQueries, observer])\n\n const errorResetBoundary = useQueryErrorResetBoundary()\n\n defaultedQueries.forEach((query) => {\n ensurePreventErrorBoundaryRetry(query, errorResetBoundary)\n ensureStaleTime(query)\n })\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n const shouldAtLeastOneSuspend = optimisticResult.some((result, index) =>\n shouldSuspend(defaultedQueries[index], result, isRestoring),\n )\n\n const suspensePromises = shouldAtLeastOneSuspend\n ? optimisticResult.flatMap((result, index) => {\n const options = defaultedQueries[index]\n const queryObserver = observer.getObservers()[index]\n\n if (options && queryObserver) {\n if (shouldSuspend(options, result, isRestoring)) {\n return fetchOptimistic(options, queryObserver, errorResetBoundary)\n } else if (willFetch(result, isRestoring)) {\n void fetchOptimistic(options, queryObserver, errorResetBoundary)\n }\n }\n return []\n })\n : []\n\n if (suspensePromises.length > 0) {\n throw Promise.all(suspensePromises)\n }\n\n const firstSingleResultWhichShouldThrow = optimisticResult.find(\n (result, index) =>\n getHasError({\n result,\n errorResetBoundary,\n throwErrors: defaultedQueries[index]?.throwErrors ?? false,\n query: observer.getQueries()[index]!,\n }),\n )\n\n if (firstSingleResultWhichShouldThrow?.error) {\n throw firstSingleResultWhichShouldThrow.error\n }\n\n return optimisticResult as QueriesResults<T>\n}\n","import * as React from 'react'\n\nimport type { QueryClient, QueryKey, QueryObserver } from '@tanstack/query-core'\nimport { notifyManager } from '@tanstack/query-core'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { UseBaseQueryOptions } from './types'\nimport { useIsRestoring } from './isRestoring'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport { ensureStaleTime, shouldSuspend, fetchOptimistic } from './suspense'\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: UseBaseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n Observer: typeof QueryObserver,\n queryClient?: QueryClient,\n) {\n const client = useQueryClient(queryClient)\n const isRestoring = useIsRestoring()\n const errorResetBoundary = useQueryErrorResetBoundary()\n const defaultedOptions = client.defaultQueryOptions(options)\n\n // Make sure results are optimistically set in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n // Include callbacks in batch renders\n if (defaultedOptions.onError) {\n defaultedOptions.onError = notifyManager.batchCalls(\n defaultedOptions.onError,\n )\n }\n\n if (defaultedOptions.onSuccess) {\n defaultedOptions.onSuccess = notifyManager.batchCalls(\n defaultedOptions.onSuccess,\n )\n }\n\n if (defaultedOptions.onSettled) {\n defaultedOptions.onSettled = notifyManager.batchCalls(\n defaultedOptions.onSettled,\n )\n }\n\n ensureStaleTime(defaultedOptions)\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary)\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n const [observer] = React.useState(\n () =>\n new Observer<TQueryFnData, TError, TData, TQueryData, TQueryKey>(\n client,\n defaultedOptions,\n ),\n )\n\n const result = observer.getOptimisticResult(defaultedOptions)\n\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n isRestoring\n ? () => undefined\n : observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer, isRestoring],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setOptions(defaultedOptions, { listeners: false })\n }, [defaultedOptions, observer])\n\n // Handle suspense\n if (shouldSuspend(defaultedOptions, result, isRestoring)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n }\n\n // Handle error boundary\n if (\n getHasError({\n result,\n errorResetBoundary,\n throwErrors: defaultedOptions.throwErrors,\n query: observer.getCurrentQuery(),\n })\n ) {\n throw result.error\n }\n\n // Handle result property usage tracking\n return !defaultedOptions.notifyOnChangeProps\n ? observer.trackResult(result)\n : result\n}\n","import type { QueryClient, QueryKey, DefaultError } from '@tanstack/query-core'\nimport { QueryObserver } from '@tanstack/query-core'\nimport type {\n DefinedUseQueryResult,\n UseQueryOptions,\n UseQueryResult,\n} from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\n// HOOK\ntype UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\ntype DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData: TQueryFnData | (() => TQueryFnData)\n}\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(options, QueryObserver, queryClient)\n}\n","'use client'\nimport * as React from 'react'\n\nimport type { HydrateOptions, QueryClient } from '@tanstack/query-core'\nimport { hydrate } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\n\nexport interface HydrationBoundaryProps {\n state?: unknown\n options?: HydrateOptions\n children?: React.ReactNode\n queryClient?: QueryClient\n}\n\nexport const HydrationBoundary = ({\n children,\n options = {},\n state,\n queryClient,\n}: HydrationBoundaryProps) => {\n const client = useQueryClient(queryClient)\n\n const optionsRef = React.useRef(options)\n optionsRef.current = options\n\n // Running hydrate again with the same queries is safe,\n // it wont overwrite or initialize existing queries,\n // relying on useMemo here is only a performance optimization.\n // hydrate can and should be run *during* render here for SSR to work properly\n React.useMemo(() => {\n if (state) {\n hydrate(client, state, optionsRef.current)\n }\n }, [client, state])\n\n return children as React.ReactElement\n}\n","import * as React from 'react'\nimport type { QueryClient, QueryFilters } from '@tanstack/query-core'\nimport { notifyManager } from '@tanstack/query-core'\n\nimport { useQueryClient } from './QueryClientProvider'\n\nexport function useIsFetching(\n filters?: QueryFilters,\n queryClient?: QueryClient,\n): number {\n const client = useQueryClient(queryClient)\n const queryCache = client.getQueryCache()\n\n return React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n queryCache.subscribe(notifyManager.batchCalls(onStoreChange)),\n [queryCache],\n ),\n () => client.isFetching(filters),\n () => client.isFetching(filters),\n )\n}\n","import * as React from 'react'\n\nimport type {\n MutationFilters,\n QueryClient,\n Mutation,\n MutationCache,\n DefaultError,\n} from '@tanstack/query-core'\nimport { notifyManager, replaceEqualDeep } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { MutationState } from '@tanstack/query-core/build/lib/mutation'\n\nexport function useIsMutating(\n filters?: MutationFilters,\n queryClient?: QueryClient,\n): number {\n const client = useQueryClient(queryClient)\n return useMutationState(\n { filters: { ...filters, status: 'pending' } },\n client,\n ).length\n}\n\ntype MutationStateOptions<TResult> = {\n filters?: MutationFilters\n select?: (\n mutation: Mutation<unknown, DefaultError, unknown, unknown>,\n ) => TResult\n}\n\nfunction getResult<TResult = MutationState>(\n mutationCache: MutationCache,\n options: MutationStateOptions<TResult>,\n): Array<TResult> {\n return mutationCache\n .findAll(options.filters)\n .map(\n (mutation): TResult =>\n (options.select\n ? options.select(\n mutation as Mutation<unknown, DefaultError, unknown, unknown>,\n )\n : mutation.state) as TResult,\n )\n}\n\nexport function useMutationState<TResult = unknown>(\n options: MutationStateOptions<TResult> = {},\n queryClient?: QueryClient,\n): Array<TResult> {\n const mutationCache = useQueryClient(queryClient).getMutationCache()\n const optionsRef = React.useRef(options)\n const result = React.useRef<Array<TResult>>()\n if (!result.current) {\n result.current = getResult(mutationCache, options)\n }\n\n React.useEffect(() => {\n optionsRef.current = options\n })\n\n return React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n mutationCache.subscribe(() => {\n const nextResult = replaceEqualDeep(\n result.current,\n getResult(mutationCache, optionsRef.current),\n )\n if (result.current !== nextResult) {\n result.current = nextResult\n notifyManager.schedule(onStoreChange)\n }\n }),\n [mutationCache],\n ),\n () => result.current,\n () => result.current,\n )!\n}\n","import * as React from 'react'\nimport type { QueryClient, DefaultError } from '@tanstack/query-core'\nimport { notifyManager, MutationObserver } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type {\n UseMutateFunction,\n UseMutationOptions,\n UseMutationResult,\n} from './types'\nimport { shouldThrowError } from './utils'\n\n// HOOK\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n options: UseMutationOptions<TData, TError, TVariables, TContext>,\n queryClient?: QueryClient,\n): UseMutationResult<TData, TError, TVariables, TContext> {\n const client = useQueryClient(queryClient)\n\n const [observer] = React.useState(\n () =>\n new MutationObserver<TData, TError, TVariables, TContext>(\n client,\n options,\n ),\n )\n\n React.useEffect(() => {\n observer.setOptions(options)\n }, [observer, options])\n\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n const mutate = React.useCallback<\n UseMutateFunction<TData, TError, TVariables, TContext>\n >(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop)\n },\n [observer],\n )\n\n if (\n result.error &&\n shouldThrowError(observer.options.throwErrors, [result.error])\n ) {\n throw result.error\n }\n\n return { ...result, mutate, mutateAsync: result.mutate }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n","import type {\n QueryObserver,\n QueryKey,\n QueryClient,\n DefaultError,\n InfiniteData,\n} from '@tanstack/query-core'\nimport { InfiniteQueryObserver } from '@tanstack/query-core'\nimport type { UseInfiniteQueryOptions, UseInfiniteQueryResult } from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\n// HOOK\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult<TData, TError> {\n return useBaseQuery(\n options,\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n ) as UseInfiniteQueryResult<TData, TError>\n}\n"],"names":["noop","getDefaultState","QueryClientContext","React","createContext","undefined","useQueryClient","queryClient","client","useContext","Error","QueryClientProvider","children","useEffect","mount","unmount","IsRestoringContext","useIsRestoring","IsRestoringProvider","Provider","createValue","isReset","clearReset","reset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","QueryErrorResetBoundary","value","useState","shouldThrowError","throwError","params","ensurePreventErrorBoundaryRetry","options","errorResetBoundary","suspense","throwErrors","retryOnMount","useClearResetErrorBoundary","getHasError","result","query","isError","isFetching","error","ensureStaleTime","defaultedOptions","staleTime","willFetch","isRestoring","isLoading","shouldSuspend","fetchOptimistic","observer","then","data","onSuccess","onSettled","catch","onError","useQueries","queries","defaultedQueries","useMemo","map","defaultQueryOptions","_optimisticResults","QueriesObserver","optimisticResult","getOptimisticResult","useSyncExternalStore","useCallback","onStoreChange","subscribe","notifyManager","batchCalls","getCurrentResult","setQueries","listeners","forEach","shouldAtLeastOneSuspend","some","index","suspensePromises","flatMap","queryObserver","getObservers","length","Promise","all","firstSingleResultWhichShouldThrow","find","getQueries","useBaseQuery","Observer","setOptions","getCurrentQuery","notifyOnChangeProps","trackResult","useQuery","QueryObserver","HydrationBoundary","state","optionsRef","useRef","current","hydrate","useIsFetching","filters","queryCache","getQueryCache","useIsMutating","useMutationState","status","getResult","mutationCache","findAll","mutation","select","getMutationCache","nextResult","replaceEqualDeep","schedule","useMutation","MutationObserver","mutate","variables","mutateOptions","mutateAsync","useInfiniteQuery","InfiniteQueryObserver"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.development.js","sources":["../../../query-core/build/lib/subscribable.mjs","../../../query-core/build/lib/utils.mjs","../../../query-core/build/lib/focusManager.mjs","../../../query-core/build/lib/onlineManager.mjs","../../../query-core/build/lib/retryer.mjs","../../../query-core/build/lib/notifyManager.mjs","../../../query-core/build/lib/removable.mjs","../../../query-core/build/lib/query.mjs","../../../query-core/build/lib/queryCache.mjs","../../../query-core/build/lib/mutation.mjs","../../../query-core/build/lib/mutationCache.mjs","../../../query-core/build/lib/infiniteQueryBehavior.mjs","../../../query-core/build/lib/queryClient.mjs","../../../query-core/build/lib/queryObserver.mjs","../../../query-core/build/lib/queriesObserver.mjs","../../../query-core/build/lib/infiniteQueryObserver.mjs","../../../query-core/build/lib/mutationObserver.mjs","../../../query-core/build/lib/hydration.mjs","../../src/QueryClientProvider.tsx","../../src/isRestoring.tsx","../../src/QueryErrorResetBoundary.tsx","../../src/utils.ts","../../src/errorBoundaryUtils.ts","../../src/suspense.ts","../../src/useQueries.ts","../../src/useBaseQuery.ts","../../src/useQuery.ts","../../src/HydrationBoundary.tsx","../../src/useIsFetching.ts","../../src/useMutationState.ts","../../src/useMutation.ts","../../src/useInfiniteQuery.ts"],"sourcesContent":["class Subscribable {\n constructor() {\n this.listeners = [];\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.push(listener);\n this.onSubscribe();\n return () => {\n this.listeners = this.listeners.filter(x => x !== listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.length > 0;\n }\n onSubscribe() {\n // Do nothing\n }\n onUnsubscribe() {\n // Do nothing\n }\n}\n\nexport { Subscribable };\n//# sourceMappingURL=subscribable.mjs.map\n","// TYPES\n\n// UTILS\n\nconst isServer = typeof window === 'undefined' || 'Deno' in window;\nfunction noop() {\n return undefined;\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 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 (typeof fetchStatus !== 'undefined' && 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 {\n exact,\n status,\n predicate,\n mutationKey\n } = 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}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nfunction hashKey(queryKey) {\n return JSON.stringify(queryKey, (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val);\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\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}\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\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 aSize = array ? a.length : Object.keys(a).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 copy[key] = replaceEqualDeep(a[key], b[key]);\n if (copy[key] === a[key]) {\n equalItems++;\n }\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n return b;\n}\n\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\nfunction shallowEqualObjects(a, b) {\n if (a && !b || b && !a) {\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}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n\n // If has modified constructor\n const ctor = o.constructor;\n if (typeof ctor === 'undefined') {\n return true;\n }\n\n // If has modified prototype\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false;\n }\n\n // Most likely a plain Object\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}\n\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\nfunction scheduleMicrotask(callback) {\n sleep(0).then(callback);\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 // Structurally share data between prev and new data if needed\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}\n\nexport { addToEnd, addToStart, functionalUpdate, hashKey, hashQueryKeyByOptions, isPlainArray, isPlainObject, isServer, isValidTimeout, keepPreviousData, matchMutation, matchQuery, noop, partialMatchKey, replaceData, replaceEqualDeep, scheduleMicrotask, shallowEqualObjects, sleep, timeUntilStale };\n//# sourceMappingURL=utils.mjs.map\n","import { Subscribable } from './subscribable.mjs';\nimport { isServer } from './utils.mjs';\n\nclass FocusManager extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = onFocus => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus();\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false);\n return () => {\n // Be sure to unsubscribe if a new handler is set\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 = undefined;\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 this.#focused = focused;\n if (focused) {\n this.onFocus();\n }\n }\n onFocus() {\n this.listeners.forEach(listener => {\n listener();\n });\n }\n isFocused() {\n if (typeof this.#focused === 'boolean') {\n return this.#focused;\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden';\n }\n}\nconst focusManager = new FocusManager();\n\nexport { FocusManager, focusManager };\n//# sourceMappingURL=focusManager.mjs.map\n","import { Subscribable } from './subscribable.mjs';\nimport { isServer } from './utils.mjs';\n\nclass OnlineManager extends Subscribable {\n #online;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = onOnline => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline();\n // Listen to online\n window.addEventListener('online', listener, false);\n window.addEventListener('offline', listener, false);\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', listener);\n window.removeEventListener('offline', 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 = undefined;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(online => {\n if (typeof online === 'boolean') {\n this.setOnline(online);\n } else {\n this.onOnline();\n }\n });\n }\n setOnline(online) {\n this.#online = online;\n if (online) {\n this.onOnline();\n }\n }\n onOnline() {\n this.listeners.forEach(listener => {\n listener();\n });\n }\n isOnline() {\n if (typeof this.#online === 'boolean') {\n return this.#online;\n }\n if (typeof navigator === 'undefined' || typeof navigator.onLine === 'undefined') {\n return true;\n }\n return navigator.onLine;\n }\n}\nconst onlineManager = new OnlineManager();\n\nexport { OnlineManager, onlineManager };\n//# sourceMappingURL=onlineManager.mjs.map\n","import { focusManager } from './focusManager.mjs';\nimport { onlineManager } from './onlineManager.mjs';\nimport { sleep } from './utils.mjs';\n\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1000 * 2 ** failureCount, 30000);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? 'online') === 'online' ? onlineManager.isOnline() : true;\n}\nclass CancelledError {\n constructor(options) {\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 let promiseResolve;\n let promiseReject;\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\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 shouldPause = () => !focusManager.isFocused() || config.networkMode !== 'always' && !onlineManager.isOnline();\n const resolve = value => {\n if (!isResolved) {\n isResolved = true;\n config.onSuccess?.(value);\n continueFn?.();\n promiseResolve(value);\n }\n };\n const reject = value => {\n if (!isResolved) {\n isResolved = true;\n config.onError?.(value);\n continueFn?.();\n promiseReject(value);\n }\n };\n const pause = () => {\n return new Promise(continueResolve => {\n continueFn = value => {\n const canContinue = isResolved || !shouldPause();\n if (canContinue) {\n continueResolve(value);\n }\n return canContinue;\n };\n config.onPause?.();\n }).then(() => {\n continueFn = undefined;\n if (!isResolved) {\n config.onContinue?.();\n }\n });\n };\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return;\n }\n let promiseOrValue;\n\n // Execute query\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch(error => {\n // Stop if the fetch is already resolved\n if (isResolved) {\n return;\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? 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 // We are done if the query does not need to be retried\n reject(error);\n return;\n }\n failureCount++;\n\n // Notify on fail\n config.onFail?.(failureCount, error);\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n if (shouldPause()) {\n return pause();\n }\n return;\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n\n // Start loop\n if (canFetch(config.networkMode)) {\n run();\n } else {\n pause().then(run);\n }\n return {\n promise,\n cancel,\n continue: () => {\n const didContinue = continueFn?.();\n return didContinue ? promise : Promise.resolve();\n },\n cancelRetry,\n continueRetry\n };\n}\n\nexport { CancelledError, canFetch, createRetryer, isCancelledError };\n//# sourceMappingURL=retryer.mjs.map\n","import { scheduleMicrotask } from './utils.mjs';\n\n// TYPES\n\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = callback => {\n callback();\n };\n let batchNotifyFn = callback => {\n callback();\n };\n const 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 const schedule = callback => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback);\n });\n }\n };\n\n /**\n * All calls to the wrapped function will be batched.\n */\n const batchCalls = callback => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach(callback => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n\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 const setNotifyFunction = fn => {\n notifyFn = fn;\n };\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 const setBatchNotifyFunction = fn => {\n batchNotifyFn = fn;\n };\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction\n };\n}\n\n// SINGLETON\nconst notifyManager = createNotifyManager();\n\nexport { createNotifyManager, notifyManager };\n//# sourceMappingURL=notifyManager.mjs.map\n","import { isValidTimeout, isServer } from './utils.mjs';\n\nclass Removable {\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 // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000));\n }\n clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout);\n this.#gcTimeout = undefined;\n }\n }\n}\n\nexport { Removable };\n//# sourceMappingURL=removable.mjs.map\n","import { replaceData, noop, timeUntilStale } from './utils.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { createRetryer, isCancelledError, canFetch } from './retryer.mjs';\nimport { Removable } from './removable.mjs';\n\n// TYPES\n\n// CLASS\n\nclass Query extends Removable {\n #initialState;\n #revertState;\n #cache;\n #promise;\n #retryer;\n #observers;\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 = config.state || getDefaultState(this.options);\n this.state = this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n #setOptions(options) {\n this.options = {\n ...this.#defaultOptions,\n ...options\n };\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\n // Set data and mark it as cached\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({\n type: 'setState',\n state,\n setStateOptions\n });\n }\n cancel(options) {\n const promise = this.#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({\n silent: true\n });\n }\n reset() {\n this.destroy();\n this.setState(this.#initialState);\n }\n isActive() {\n return this.#observers.some(observer => observer.options.enabled !== false);\n }\n isDisabled() {\n return this.getObserversCount() > 0 && !this.isActive();\n }\n isStale() {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || this.#observers.some(observer => observer.getCurrentResult().isStale);\n }\n isStaleByTime(staleTime = 0) {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.#observers.find(x => x.shouldFetchOnWindowFocus());\n observer?.refetch({\n cancelRefetch: false\n });\n\n // Continue fetch if currently paused\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.#observers.find(x => x.shouldFetchOnReconnect());\n observer?.refetch({\n cancelRefetch: false\n });\n\n // Continue fetch if currently paused\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (this.#observers.indexOf(observer) === -1) {\n this.#observers.push(observer);\n\n // Stop the query from being garbage collected\n this.clearGcTimeout();\n this.#cache.notify({\n type: 'observerAdded',\n query: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n if (this.#observers.indexOf(observer) !== -1) {\n this.#observers = this.#observers.filter(x => x !== observer);\n if (!this.#observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({\n revert: true\n });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({\n type: 'observerRemoved',\n query: this,\n observer\n });\n }\n }\n getObserversCount() {\n return this.#observers.length;\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({\n type: 'invalidate'\n });\n }\n }\n fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({\n silent: true\n });\n } else if (this.#promise) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer?.continueRetry();\n // Return current promise if we are already fetching\n return this.#promise;\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.#setOptions(options);\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\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(`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 const abortController = new AbortController();\n\n // Create query function context\n const queryFnContext = {\n queryKey: this.queryKey,\n meta: this.meta\n };\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\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 addSignalProperty(queryFnContext);\n\n // Create fetch function\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(new Error('Missing queryFn'));\n }\n this.#abortSignalConsumed = false;\n return this.options.queryFn(queryFnContext);\n };\n\n // Trigger behavior hook\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(context);\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state;\n\n // Set to fetching state if not already in it\n if (this.state.fetchStatus === 'idle' || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({\n type: 'fetch',\n meta: context.fetchOptions?.meta\n });\n }\n const onError = error => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: 'error',\n error: error\n });\n }\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.#cache.config.onError?.(error, this);\n this.#cache.config.onSettled?.(this.state.data, error, this);\n }\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n };\n\n // Try to fetch the data\n this.#retryer = createRetryer({\n fn: context.fetchFn,\n abort: abortController.abort.bind(abortController),\n onSuccess: data => {\n if (typeof data === 'undefined') {\n if (process.env.NODE_ENV !== 'production') {\n console.error(`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 onError(new Error('undefined'));\n return;\n }\n this.setData(data);\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(data, this.state.error, this);\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({\n type: 'failed',\n failureCount,\n error\n });\n },\n onPause: () => {\n this.#dispatch({\n type: 'pause'\n });\n },\n onContinue: () => {\n this.#dispatch({\n type: 'continue'\n });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode\n });\n this.#promise = this.#retryer.promise;\n return this.#promise;\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 fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: action.meta ?? null,\n fetchStatus: canFetch(this.options.networkMode) ? 'fetching' : 'paused',\n ...(!state.dataUpdatedAt && {\n error: null,\n status: 'pending'\n })\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 {\n ...this.#revertState\n };\n }\n return {\n ...state,\n error: 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(action);\n });\n this.#cache.notify({\n query: this,\n type: 'updated',\n action\n });\n });\n }\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === 'function' ? options.initialData() : options.initialData;\n const hasData = typeof data !== 'undefined';\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}\n\nexport { Query };\n//# sourceMappingURL=query.mjs.map\n","import { hashQueryKeyByOptions, matchQuery } from './utils.mjs';\nimport { Query } from './query.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { Subscribable } from './subscribable.mjs';\n\n// CLASS\n\nclass QueryCache extends Subscribable {\n #queries;\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = config.createStore?.() ?? new Map();\n }\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({\n type: 'removed',\n query\n });\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 if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n return this.getAll().find(query => matchQuery(filters, query));\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}\n\nexport { QueryCache };\n//# sourceMappingURL=queryCache.mjs.map\n","import { notifyManager } from './notifyManager.mjs';\nimport { Removable } from './removable.mjs';\nimport { createRetryer, canFetch } from './retryer.mjs';\n\n// TYPES\n\n// CLASS\n\nclass Mutation extends Removable {\n #observers;\n #defaultOptions;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.mutationId = config.mutationId;\n this.#defaultOptions = config.defaultOptions;\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 = {\n ...this.#defaultOptions,\n ...options\n };\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (this.#observers.indexOf(observer) === -1) {\n this.#observers.push(observer);\n\n // Stop the mutation from being garbage collected\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() ??\n // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const executeMutation = () => {\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({\n type: 'failed',\n failureCount,\n error\n });\n },\n onPause: () => {\n this.#dispatch({\n type: 'pause'\n });\n },\n onContinue: () => {\n this.#dispatch({\n type: 'continue'\n });\n },\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode\n });\n return this.#retryer.promise;\n };\n const restored = this.state.status === 'pending';\n try {\n if (!restored) {\n this.#dispatch({\n type: 'pending',\n variables\n });\n // Notify cache callback\n await this.#mutationCache.config.onMutate?.(variables, this);\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 });\n }\n }\n const data = await executeMutation();\n\n // Notify cache callback\n await this.#mutationCache.config.onSuccess?.(data, variables, this.state.context, this);\n await this.options.onSuccess?.(data, variables, this.state.context);\n\n // Notify cache callback\n await this.#mutationCache.config.onSettled?.(data, null, this.state.variables, this.state.context, this);\n await this.options.onSettled?.(data, null, variables, this.state.context);\n this.#dispatch({\n type: 'success',\n data\n });\n return data;\n } catch (error) {\n try {\n // Notify cache callback\n await this.#mutationCache.config.onError?.(error, variables, this.state.context, this);\n await this.options.onError?.(error, variables, this.state.context);\n\n // Notify cache callback\n await this.#mutationCache.config.onSettled?.(undefined, error, this.state.variables, this.state.context, this);\n await this.options.onSettled?.(undefined, error, variables, this.state.context);\n throw error;\n } finally {\n this.#dispatch({\n type: 'error',\n error: error\n });\n }\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: undefined,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: !canFetch(this.options.networkMode),\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: undefined,\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: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: 'idle',\n variables: undefined,\n submittedAt: 0\n };\n}\n\nexport { Mutation, getDefaultState };\n//# sourceMappingURL=mutation.mjs.map\n","import { notifyManager } from './notifyManager.mjs';\nimport { Mutation } from './mutation.mjs';\nimport { matchMutation, noop } from './utils.mjs';\nimport { Subscribable } from './subscribable.mjs';\n\n// TYPES\n\n// CLASS\n\nclass MutationCache extends Subscribable {\n #mutations;\n #mutationId;\n #resuming;\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = [];\n this.#mutationId = 0;\n }\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 this.#mutations.push(mutation);\n this.notify({\n type: 'added',\n mutation\n });\n }\n remove(mutation) {\n this.#mutations = this.#mutations.filter(x => x !== mutation);\n this.notify({\n type: 'removed',\n mutation\n });\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach(mutation => {\n this.remove(mutation);\n });\n });\n }\n getAll() {\n return this.#mutations;\n }\n find(filters) {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n return this.#mutations.find(mutation => matchMutation(filters, mutation));\n }\n findAll(filters = {}) {\n return this.#mutations.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 this.#resuming = (this.#resuming ?? Promise.resolve()).then(() => {\n const pausedMutations = this.#mutations.filter(x => x.state.isPaused);\n return notifyManager.batch(() => pausedMutations.reduce((promise, mutation) => promise.then(() => mutation.continue().catch(noop)), Promise.resolve()));\n }).then(() => {\n this.#resuming = undefined;\n });\n return this.#resuming;\n }\n}\n\nexport { MutationCache };\n//# sourceMappingURL=mutationCache.mjs.map\n","import { addToStart, addToEnd } from './utils.mjs';\n\nfunction infiniteQueryBehavior() {\n return {\n onFetch: context => {\n context.fetchFn = async () => {\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 const empty = {\n pages: [],\n pageParams: []\n };\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\n // Get query function\n const queryFn = context.options.queryFn || (() => Promise.reject(new Error('Missing queryFn')));\n\n // Create function to fetch a page\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (typeof param === 'undefined' && data.pages.length) {\n return Promise.resolve(data);\n }\n const queryFnContext = {\n queryKey: context.queryKey,\n pageParam: param,\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext);\n const page = await queryFn(queryFnContext);\n const {\n maxPages\n } = 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 let result;\n\n // Fetch first page?\n if (!oldPages.length) {\n result = await fetchPage(empty, options.defaultPageParam);\n }\n\n // fetch next / previous page?\n else if (direction) {\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 }\n\n // Refetch pages\n else {\n // Fetch first page\n result = await fetchPage(empty, oldPageParams[0]);\n\n // Fetch remaining pages\n for (let i = 1; i < oldPages.length; i++) {\n const param = getNextPageParam(options, result);\n result = await fetchPage(result, param);\n }\n }\n return result;\n };\n }\n };\n}\nfunction getNextPageParam(options, {\n pages,\n pageParams\n}) {\n const lastIndex = pages.length - 1;\n return options.getNextPageParam(pages[lastIndex], pages, pageParams[lastIndex], pageParams);\n}\nfunction getPreviousPageParam(options, {\n pages,\n pageParams\n}) {\n return options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams);\n}\n\n/**\n * Checks if there is a next page.\n */\nfunction hasNextPage(options, data) {\n if (!data) return false;\n return typeof getNextPageParam(options, data) !== 'undefined';\n}\n\n/**\n * Checks if there is a previous page.\n */\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam) return false;\n return typeof getPreviousPageParam(options, data) !== 'undefined';\n}\n\nexport { hasNextPage, hasPreviousPage, infiniteQueryBehavior };\n//# sourceMappingURL=infiniteQueryBehavior.mjs.map\n","import { functionalUpdate, noop, hashKey, partialMatchKey, hashQueryKeyByOptions } from './utils.mjs';\nimport { QueryCache } from './queryCache.mjs';\nimport { MutationCache } from './mutationCache.mjs';\nimport { focusManager } from './focusManager.mjs';\nimport { onlineManager } from './onlineManager.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior.mjs';\n\n// CLASS\n\nclass QueryClient {\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 = new Map();\n this.#mutationDefaults = new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1) return;\n this.#unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0) return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = undefined;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = undefined;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({\n ...filters,\n fetchStatus: 'fetching'\n }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({\n ...filters,\n status: 'pending'\n }).length;\n }\n getQueryData(queryKey) {\n return this.#queryCache.find({\n queryKey\n })?.state.data;\n }\n ensureQueryData(options) {\n const cachedData = this.getQueryData(options.queryKey);\n return cachedData ? Promise.resolve(cachedData) : this.fetchQuery(options);\n }\n getQueriesData(filters) {\n return this.getQueryCache().findAll(filters).map(({\n queryKey,\n state\n }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const query = this.#queryCache.find({\n queryKey\n });\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (typeof data === 'undefined') {\n return undefined;\n }\n const defaultedOptions = this.defaultQueryOptions({\n queryKey\n });\n return this.#queryCache.build(this, defaultedOptions).setData(data, {\n ...options,\n manual: true\n });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(() => this.getQueryCache().findAll(filters).map(({\n queryKey\n }) => [queryKey, this.setQueryData(queryKey, updater, options)]));\n }\n getQueryState(queryKey) {\n return this.#queryCache.find({\n queryKey\n })?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach(query => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, 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 if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true;\n }\n const promises = notifyManager.batch(() => this.#queryCache.findAll(filters).map(query => query.cancel(cancelOptions)));\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 promises = notifyManager.batch(() => this.#queryCache.findAll(filters).filter(query => !query.isDisabled()).map(query => query.fetch(undefined, {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true\n })));\n let promise = Promise.all(promises).then(noop);\n if (!options?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(defaultedOptions.staleTime) ? 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();\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n resumePausedMutations() {\n return this.#mutationCache.resumePausedMutations();\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 = {\n ...result,\n ...queryDefault.defaultOptions\n };\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 = {\n ...result,\n ...queryDefault.defaultOptions\n };\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 ...(options?.queryKey && this.getQueryDefaults(options.queryKey)),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(defaultedOptions.queryKey, defaultedOptions);\n }\n\n // dependent default values\n if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== 'always';\n }\n if (typeof defaultedOptions.throwErrors === 'undefined') {\n defaultedOptions.throwErrors = !!defaultedOptions.suspense;\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}\n\nexport { QueryClient };\n//# sourceMappingURL=queryClient.mjs.map\n","import { shallowEqualObjects, noop, isServer, isValidTimeout, timeUntilStale, replaceData } from './utils.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { focusManager } from './focusManager.mjs';\nimport { Subscribable } from './subscribable.mjs';\nimport { canFetch, isCancelledError } from './retryer.mjs';\n\nclass QueryObserver extends Subscribable {\n #client;\n #currentQuery = undefined;\n #currentQueryInitialState = undefined;\n #currentResult = undefined;\n #currentResultState;\n #currentResultOptions;\n #previousQueryResult;\n #selectError;\n #selectFn;\n #selectResult;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = new Set();\n constructor(client, options) {\n super();\n this.#client = client;\n this.options = options;\n this.#selectError = null;\n this.bindMethods();\n this.setOptions(options);\n }\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.length === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.listeners.length) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(this.#currentQuery, this.options, this.options.refetchOnReconnect);\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(this.#currentQuery, this.options, this.options.refetchOnWindowFocus);\n }\n destroy() {\n this.listeners = [];\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 (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this\n });\n }\n if (typeof this.options.enabled !== 'undefined' && typeof this.options.enabled !== 'boolean') {\n throw new Error('Expected enabled to be a boolean');\n }\n\n // Keep previous query key if the user does not supply one\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey;\n }\n this.#updateQuery();\n const mounted = this.hasListeners();\n\n // Fetch if there are subscribers\n if (mounted && shouldFetchOptionally(this.#currentQuery, prevQuery, this.options, prevOptions)) {\n this.#executeFetch();\n }\n\n // Update result\n this.#updateResult(notifyOptions);\n\n // Update stale interval if needed\n if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n\n // Update refetch interval if needed\n if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n return this.createResult(query, options);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result) {\n const trackedResult = {};\n Object.keys(result).forEach(key => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.#trackedProps.add(key);\n return result[key];\n }\n });\n });\n return trackedResult;\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({\n ...options\n } = {}) {\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 query.isFetchingOptimistic = true;\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 // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery();\n\n // Fetch\n let promise = this.#currentQuery.fetch(this.options, fetchOptions);\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n if (isServer || this.#currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, this.options.staleTime);\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\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.#currentResult.data, this.#currentQuery) : this.options.refetchInterval ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (isServer || this.options.enabled === 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 = undefined;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId) {\n clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = undefined;\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 prevQueryResult = queryChange ? this.#currentResult : this.#previousQueryResult;\n const {\n state\n } = query;\n let {\n error,\n errorUpdatedAt,\n fetchStatus,\n status\n } = state;\n let isPlaceholderData = false;\n let data;\n\n // Optimistically set result in fetching state if needed\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 fetchStatus = canFetch(query.options.networkMode) ? 'fetching' : 'paused';\n if (!state.dataUpdatedAt) {\n status = 'pending';\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n fetchStatus = 'idle';\n }\n }\n\n // Select data if needed\n if (options.select && typeof state.data !== 'undefined') {\n // Memoize select result\n if (prevResult && state.data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(state.data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n // Use query data\n else {\n data = state.data;\n }\n\n // Show placeholder data if needed\n if (typeof options.placeholderData !== 'undefined' && typeof data === 'undefined' && status === 'pending') {\n let placeholderData;\n\n // Memoize placeholder data\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData(prevQueryResult?.data) : options.placeholderData;\n if (options.select && typeof placeholderData !== 'undefined') {\n try {\n placeholderData = options.select(placeholderData);\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (typeof placeholderData !== 'undefined') {\n status = 'success';\n data = replaceData(prevResult?.data, placeholderData, options);\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 = fetchStatus === 'fetching';\n const isPending = status === 'pending';\n const isError = status === 'error';\n const isLoading = isPending && isFetching;\n const result = {\n status,\n fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: state.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n failureReason: state.fetchFailureReason,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && state.dataUpdatedAt === 0,\n isPaused: fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch\n };\n return result;\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\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n\n // Determine which callbacks to trigger\n const defaultNotifyOptions = {};\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const {\n notifyOnChangeProps\n } = this.options;\n if (notifyOnChangeProps === 'all' || !notifyOnChangeProps && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(notifyOnChangeProps ?? this.#trackedProps);\n if (this.options.throwErrors) {\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({\n ...defaultNotifyOptions,\n ...notifyOptions\n });\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 this.#previousQueryResult = this.#currentResult;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate(action) {\n const notifyOptions = {};\n if (action.type === 'success') {\n notifyOptions.onSuccess = !action.manual;\n } else if (action.type === 'error' && !isCancelledError(action.error)) {\n notifyOptions.onError = true;\n }\n this.#updateResult(notifyOptions);\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n this.options.onSuccess?.(this.#currentResult.data);\n this.options.onSettled?.(this.#currentResult.data, null);\n } else if (notifyOptions.onError) {\n this.options.onError?.(this.#currentResult.error);\n this.options.onSettled?.(undefined, this.#currentResult.error);\n }\n\n // Then trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach(listener => {\n listener(this.#currentResult);\n });\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated'\n });\n });\n }\n}\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === 'error' && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.dataUpdatedAt > 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== 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 options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== 'error') && isStale(query, options);\n}\nfunction isStale(query, options) {\n return query.isStaleByTime(options.staleTime);\n}\n\nexport { QueryObserver };\n//# sourceMappingURL=queryObserver.mjs.map\n","import { notifyManager } from './notifyManager.mjs';\nimport { QueryObserver } from './queryObserver.mjs';\nimport { Subscribable } from './subscribable.mjs';\n\nfunction difference(array1, array2) {\n return array1.filter(x => array2.indexOf(x) === -1);\n}\nfunction replaceAt(array, index, value) {\n const copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nclass QueriesObserver extends Subscribable {\n #client;\n #result;\n #queries;\n #observers;\n constructor(client, queries) {\n super();\n this.#client = client;\n this.#queries = [];\n this.#result = [];\n this.#observers = [];\n if (queries) {\n this.setQueries(queries);\n }\n }\n onSubscribe() {\n if (this.listeners.length === 1) {\n this.#observers.forEach(observer => {\n observer.subscribe(result => {\n this.#onUpdate(observer, result);\n });\n });\n }\n }\n onUnsubscribe() {\n if (!this.listeners.length) {\n this.destroy();\n }\n }\n destroy() {\n this.listeners = [];\n this.#observers.forEach(observer => {\n observer.destroy();\n });\n }\n setQueries(queries, notifyOptions) {\n this.#queries = queries;\n notifyManager.batch(() => {\n const prevObservers = this.#observers;\n const newObserverMatches = this.#findMatchingObservers(this.#queries);\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach(match => match.observer.setOptions(match.defaultedQueryOptions, notifyOptions));\n const newObservers = newObserverMatches.map(match => match.observer);\n const newResult = newObservers.map(observer => observer.getCurrentResult());\n const hasIndexChange = newObservers.some((observer, index) => observer !== prevObservers[index]);\n if (prevObservers.length === newObservers.length && !hasIndexChange) {\n return;\n }\n this.#observers = newObservers;\n this.#result = newResult;\n if (!this.hasListeners()) {\n return;\n }\n difference(prevObservers, newObservers).forEach(observer => {\n observer.destroy();\n });\n difference(newObservers, prevObservers).forEach(observer => {\n observer.subscribe(result => {\n this.#onUpdate(observer, result);\n });\n });\n this.#notify();\n });\n }\n getCurrentResult() {\n return this.#result;\n }\n getQueries() {\n return this.#observers.map(observer => observer.getCurrentQuery());\n }\n getObservers() {\n return this.#observers;\n }\n getOptimisticResult(queries) {\n return this.#findMatchingObservers(queries).map(match => match.observer.getOptimisticResult(match.defaultedQueryOptions));\n }\n #findMatchingObservers(queries) {\n const prevObservers = this.#observers;\n const defaultedQueryOptions = queries.map(options => this.#client.defaultQueryOptions(options));\n const matchingObservers = defaultedQueryOptions.flatMap(defaultedOptions => {\n const match = prevObservers.find(observer => observer.options.queryHash === defaultedOptions.queryHash);\n if (match != null) {\n return [{\n defaultedQueryOptions: defaultedOptions,\n observer: match\n }];\n }\n return [];\n });\n const matchedQueryHashes = matchingObservers.map(match => match.defaultedQueryOptions.queryHash);\n const unmatchedQueries = defaultedQueryOptions.filter(defaultedOptions => !matchedQueryHashes.includes(defaultedOptions.queryHash));\n const getObserver = options => {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const currentObserver = this.#observers.find(o => o.options.queryHash === defaultedOptions.queryHash);\n return currentObserver ?? new QueryObserver(this.#client, defaultedOptions);\n };\n const newOrReusedObservers = unmatchedQueries.map(options => {\n return {\n defaultedQueryOptions: options,\n observer: getObserver(options)\n };\n });\n const sortMatchesByOrderOfQueries = (a, b) => defaultedQueryOptions.indexOf(a.defaultedQueryOptions) - defaultedQueryOptions.indexOf(b.defaultedQueryOptions);\n return matchingObservers.concat(newOrReusedObservers).sort(sortMatchesByOrderOfQueries);\n }\n #onUpdate(observer, result) {\n const index = this.#observers.indexOf(observer);\n if (index !== -1) {\n this.#result = replaceAt(this.#result, index, result);\n this.#notify();\n }\n }\n #notify() {\n notifyManager.batch(() => {\n this.listeners.forEach(listener => {\n listener(this.#result);\n });\n });\n }\n}\n\nexport { QueriesObserver };\n//# sourceMappingURL=queriesObserver.mjs.map\n","import { QueryObserver } from './queryObserver.mjs';\nimport { infiniteQueryBehavior, hasNextPage, hasPreviousPage } from './infiniteQueryBehavior.mjs';\n\nclass InfiniteQueryObserver extends QueryObserver {\n // Type override\n\n // Type override\n\n // Type override\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(client, options) {\n super(client, options);\n }\n bindMethods() {\n super.bindMethods();\n this.fetchNextPage = this.fetchNextPage.bind(this);\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this);\n }\n setOptions(options, notifyOptions) {\n super.setOptions({\n ...options,\n behavior: infiniteQueryBehavior()\n }, notifyOptions);\n }\n getOptimisticResult(options) {\n options.behavior = infiniteQueryBehavior();\n return super.getOptimisticResult(options);\n }\n fetchNextPage(options) {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: {\n direction: 'forward'\n }\n }\n });\n }\n fetchPreviousPage(options) {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: {\n direction: 'backward'\n }\n }\n });\n }\n createResult(query, options) {\n const {\n state\n } = query;\n const result = super.createResult(query, options);\n const {\n isFetching,\n isRefetching\n } = result;\n const isFetchingNextPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'forward';\n const isFetchingPreviousPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'backward';\n return {\n ...result,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data),\n hasPreviousPage: hasPreviousPage(options, state.data),\n isFetchingNextPage,\n isFetchingPreviousPage,\n isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage\n };\n }\n}\n\nexport { InfiniteQueryObserver };\n//# sourceMappingURL=infiniteQueryObserver.mjs.map\n","import { getDefaultState } from './mutation.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { Subscribable } from './subscribable.mjs';\nimport { shallowEqualObjects } from './utils.mjs';\n\n// TYPES\n\n// CLASS\n\nclass MutationObserver extends Subscribable {\n #client;\n #currentResult = undefined;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this\n });\n }\n this.#currentMutation?.setOptions(this.options);\n }\n onUnsubscribe() {\n if (!this.listeners.length) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation = undefined;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(action.data, this.#currentResult.variables, this.#currentResult.context);\n this.#mutateOptions.onSettled?.(action.data, null, this.#currentResult.variables, this.#currentResult.context);\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(action.error, this.#currentResult.variables, this.#currentResult.context);\n this.#mutateOptions.onSettled?.(undefined, action.error, this.#currentResult.variables, this.#currentResult.context);\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach(listener => {\n listener(this.#currentResult);\n });\n });\n }\n}\n\nexport { MutationObserver };\n//# sourceMappingURL=mutationObserver.mjs.map\n","// TYPES\n\n// FUNCTIONS\n\nfunction dehydrateMutation(mutation) {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state\n };\n}\n\n// Most config is not dehydrated but instead meant to configure again when\n// consuming the de/rehydrated data, typically with useQuery on the client.\n// Sometimes it might make sense to prefetch data on the server and include\n// in the html-payload, but not consume it on the initial render.\nfunction dehydrateQuery(query) {\n return {\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash\n };\n}\nfunction defaultShouldDehydrateMutation(mutation) {\n return mutation.state.isPaused;\n}\nfunction defaultShouldDehydrateQuery(query) {\n return query.state.status === 'success';\n}\nfunction dehydrate(client, options = {}) {\n const mutations = [];\n const queries = [];\n if (options.dehydrateMutations !== false) {\n const shouldDehydrateMutation = options.shouldDehydrateMutation || defaultShouldDehydrateMutation;\n client.getMutationCache().getAll().forEach(mutation => {\n if (shouldDehydrateMutation(mutation)) {\n mutations.push(dehydrateMutation(mutation));\n }\n });\n }\n if (options.dehydrateQueries !== false) {\n const shouldDehydrateQuery = options.shouldDehydrateQuery || defaultShouldDehydrateQuery;\n client.getQueryCache().getAll().forEach(query => {\n if (shouldDehydrateQuery(query)) {\n queries.push(dehydrateQuery(query));\n }\n });\n }\n return {\n mutations,\n queries\n };\n}\nfunction hydrate(client, dehydratedState, options) {\n if (typeof dehydratedState !== 'object' || dehydratedState === null) {\n return;\n }\n const mutationCache = client.getMutationCache();\n const queryCache = client.getQueryCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const mutations = dehydratedState.mutations || [];\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const queries = dehydratedState.queries || [];\n mutations.forEach(dehydratedMutation => {\n mutationCache.build(client, {\n ...options?.defaultOptions?.mutations,\n mutationKey: dehydratedMutation.mutationKey\n }, dehydratedMutation.state);\n });\n queries.forEach(dehydratedQuery => {\n const query = queryCache.get(dehydratedQuery.queryHash);\n\n // Reset fetch status to idle in the dehydrated state to avoid\n // query being stuck in fetching state upon hydration\n const dehydratedQueryState = {\n ...dehydratedQuery.state,\n fetchStatus: 'idle'\n };\n\n // Do not hydrate if an existing query exists with newer data\n if (query) {\n if (query.state.dataUpdatedAt < dehydratedQueryState.dataUpdatedAt) {\n query.setState(dehydratedQueryState);\n }\n return;\n }\n\n // Restore query\n queryCache.build(client, {\n ...options?.defaultOptions?.queries,\n queryKey: dehydratedQuery.queryKey,\n queryHash: dehydratedQuery.queryHash\n }, dehydratedQueryState);\n });\n}\n\nexport { defaultShouldDehydrateMutation, defaultShouldDehydrateQuery, dehydrate, hydrate };\n//# sourceMappingURL=hydration.mjs.map\n","'use client'\nimport * as React from 'react'\n\nimport type { QueryClient } from '@tanstack/query-core'\n\nexport const QueryClientContext = React.createContext<QueryClient | undefined>(\n undefined,\n)\n\nexport const useQueryClient = (queryClient?: QueryClient) => {\n const client = React.useContext(QueryClientContext)\n\n if (queryClient) {\n return queryClient\n }\n\n if (!client) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one')\n }\n\n return client\n}\n\nexport type QueryClientProviderProps = {\n client: QueryClient\n children?: React.ReactNode\n}\n\nexport const QueryClientProvider = ({\n client,\n children,\n}: QueryClientProviderProps): JSX.Element => {\n React.useEffect(() => {\n client.mount()\n return () => {\n client.unmount()\n }\n }, [client])\n\n return (\n <QueryClientContext.Provider value={client}>\n {children}\n </QueryClientContext.Provider>\n )\n}\n","'use client'\nimport * as React from 'react'\n\nconst IsRestoringContext = React.createContext(false)\n\nexport const useIsRestoring = () => React.useContext(IsRestoringContext)\nexport const IsRestoringProvider = IsRestoringContext.Provider\n","'use client'\nimport * as React from 'react'\n\n// CONTEXT\n\nexport interface QueryErrorResetBoundaryValue {\n clearReset: () => void\n isReset: () => boolean\n reset: () => void\n}\n\nfunction createValue(): QueryErrorResetBoundaryValue {\n let isReset = false\n return {\n clearReset: () => {\n isReset = false\n },\n reset: () => {\n isReset = true\n },\n isReset: () => {\n return isReset\n },\n }\n}\n\nconst QueryErrorResetBoundaryContext = React.createContext(createValue())\n\n// HOOK\n\nexport const useQueryErrorResetBoundary = () =>\n React.useContext(QueryErrorResetBoundaryContext)\n\n// COMPONENT\n\nexport interface QueryErrorResetBoundaryProps {\n children:\n | ((value: QueryErrorResetBoundaryValue) => React.ReactNode)\n | React.ReactNode\n}\n\nexport const QueryErrorResetBoundary = ({\n children,\n}: QueryErrorResetBoundaryProps) => {\n const [value] = React.useState(() => createValue())\n return (\n <QueryErrorResetBoundaryContext.Provider value={value}>\n {typeof children === 'function'\n ? (children as Function)(value)\n : children}\n </QueryErrorResetBoundaryContext.Provider>\n )\n}\n","export function shouldThrowError<T extends (...args: any[]) => boolean>(\n throwError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwError function to override throwing behavior on a per-error basis\n if (typeof throwError === 'function') {\n return throwError(...params)\n }\n\n return !!throwError\n}\n","import type {\n DefaultedQueryObserverOptions,\n Query,\n QueryKey,\n QueryObserverResult,\n ThrowErrors,\n} from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\nimport * as React from 'react'\nimport { shouldThrowError } from './utils'\n\nexport const ensurePreventErrorBoundaryRetry = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) => {\n if (options.suspense || options.throwErrors) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false\n }\n }\n}\n\nexport const useClearResetErrorBoundary = (\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset()\n }, [errorResetBoundary])\n}\n\nexport const getHasError = <\n TData,\n TError,\n TQueryFnData,\n TQueryData,\n TQueryKey extends QueryKey,\n>({\n result,\n errorResetBoundary,\n throwErrors,\n query,\n}: {\n result: QueryObserverResult<TData, TError>\n errorResetBoundary: QueryErrorResetBoundaryValue\n throwErrors: ThrowErrors<TQueryFnData, TError, TQueryData, TQueryKey>\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n}) => {\n return (\n result.isError &&\n !errorResetBoundary.isReset() &&\n !result.isFetching &&\n shouldThrowError(throwErrors, [result.error, query])\n )\n}\n","import type { DefaultedQueryObserverOptions } from '@tanstack/query-core'\nimport type { QueryObserver } from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\nimport type { QueryObserverResult } from '@tanstack/query-core'\nimport type { QueryKey } from '@tanstack/query-core'\n\nexport const ensureStaleTime = (\n defaultedOptions: DefaultedQueryObserverOptions<any, any, any, any, any>,\n) => {\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (typeof defaultedOptions.staleTime !== 'number') {\n defaultedOptions.staleTime = 1000\n }\n }\n}\n\nexport const willFetch = (\n result: QueryObserverResult<any, any>,\n isRestoring: boolean,\n) => result.isLoading && result.isFetching && !isRestoring\n\nexport const shouldSuspend = (\n defaultedOptions:\n | DefaultedQueryObserverOptions<any, any, any, any, any>\n | undefined,\n result: QueryObserverResult<any, any>,\n isRestoring: boolean,\n) => defaultedOptions?.suspense && willFetch(result, isRestoring)\n\nexport const fetchOptimistic = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n defaultedOptions: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) =>\n observer\n .fetchOptimistic(defaultedOptions)\n .then(({ data }) => {\n defaultedOptions.onSuccess?.(data as TData)\n defaultedOptions.onSettled?.(data, null)\n })\n .catch((error) => {\n errorResetBoundary.clearReset()\n defaultedOptions.onError?.(error)\n defaultedOptions.onSettled?.(undefined, error)\n })\n","import * as React from 'react'\n\nimport type {\n QueryKey,\n QueryFunction,\n QueriesPlaceholderDataFunction,\n QueryClient,\n DefaultError,\n} from '@tanstack/query-core'\nimport { notifyManager, QueriesObserver } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { UseQueryOptions, UseQueryResult } from './types'\nimport { useIsRestoring } from './isRestoring'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport {\n ensureStaleTime,\n shouldSuspend,\n fetchOptimistic,\n willFetch,\n} from './suspense'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = Omit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'placeholderData'\n> & {\n placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>\n}\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptionsForUseQueries\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? UseQueryResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? UseQueryResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? UseQueryResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? UseQueryResult<TQueryFnData>\n : // Fallback\n UseQueryResult\n\n/**\n * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type QueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptionsForUseQueries[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? QueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptionsForUseQueries[]\n\n/**\n * QueriesResults reducer recursively maps type param to results\n */\nexport type QueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? QueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n UseQueryResult<\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >[]\n : // Fallback\n UseQueryResult[]\n\nexport function useQueries<T extends any[]>(\n {\n queries,\n }: {\n queries: readonly [...QueriesOptions<T>]\n },\n queryClient?: QueryClient,\n): QueriesResults<T> {\n const client = useQueryClient(queryClient)\n const isRestoring = useIsRestoring()\n\n const defaultedQueries = React.useMemo(\n () =>\n queries.map((options) => {\n const defaultedOptions = client.defaultQueryOptions(options)\n\n // Make sure the results are already in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n return defaultedOptions\n }),\n [queries, client, isRestoring],\n )\n\n const [observer] = React.useState(\n () => new QueriesObserver(client, defaultedQueries),\n )\n\n const optimisticResult = observer.getOptimisticResult(defaultedQueries)\n\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n isRestoring\n ? () => undefined\n : observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer, isRestoring],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setQueries(defaultedQueries, { listeners: false })\n }, [defaultedQueries, observer])\n\n const errorResetBoundary = useQueryErrorResetBoundary()\n\n defaultedQueries.forEach((query) => {\n ensurePreventErrorBoundaryRetry(query, errorResetBoundary)\n ensureStaleTime(query)\n })\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n const shouldAtLeastOneSuspend = optimisticResult.some((result, index) =>\n shouldSuspend(defaultedQueries[index], result, isRestoring),\n )\n\n const suspensePromises = shouldAtLeastOneSuspend\n ? optimisticResult.flatMap((result, index) => {\n const options = defaultedQueries[index]\n const queryObserver = observer.getObservers()[index]\n\n if (options && queryObserver) {\n if (shouldSuspend(options, result, isRestoring)) {\n return fetchOptimistic(options, queryObserver, errorResetBoundary)\n } else if (willFetch(result, isRestoring)) {\n void fetchOptimistic(options, queryObserver, errorResetBoundary)\n }\n }\n return []\n })\n : []\n\n if (suspensePromises.length > 0) {\n throw Promise.all(suspensePromises)\n }\n\n const firstSingleResultWhichShouldThrow = optimisticResult.find(\n (result, index) =>\n getHasError({\n result,\n errorResetBoundary,\n throwErrors: defaultedQueries[index]?.throwErrors ?? false,\n query: observer.getQueries()[index]!,\n }),\n )\n\n if (firstSingleResultWhichShouldThrow?.error) {\n throw firstSingleResultWhichShouldThrow.error\n }\n\n return optimisticResult as QueriesResults<T>\n}\n","import * as React from 'react'\n\nimport type { QueryClient, QueryKey, QueryObserver } from '@tanstack/query-core'\nimport { notifyManager } from '@tanstack/query-core'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { UseBaseQueryOptions } from './types'\nimport { useIsRestoring } from './isRestoring'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport { ensureStaleTime, shouldSuspend, fetchOptimistic } from './suspense'\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: UseBaseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n Observer: typeof QueryObserver,\n queryClient?: QueryClient,\n) {\n const client = useQueryClient(queryClient)\n const isRestoring = useIsRestoring()\n const errorResetBoundary = useQueryErrorResetBoundary()\n const defaultedOptions = client.defaultQueryOptions(options)\n\n // Make sure results are optimistically set in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n // Include callbacks in batch renders\n if (defaultedOptions.onError) {\n defaultedOptions.onError = notifyManager.batchCalls(\n defaultedOptions.onError,\n )\n }\n\n if (defaultedOptions.onSuccess) {\n defaultedOptions.onSuccess = notifyManager.batchCalls(\n defaultedOptions.onSuccess,\n )\n }\n\n if (defaultedOptions.onSettled) {\n defaultedOptions.onSettled = notifyManager.batchCalls(\n defaultedOptions.onSettled,\n )\n }\n\n ensureStaleTime(defaultedOptions)\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary)\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n const [observer] = React.useState(\n () =>\n new Observer<TQueryFnData, TError, TData, TQueryData, TQueryKey>(\n client,\n defaultedOptions,\n ),\n )\n\n const result = observer.getOptimisticResult(defaultedOptions)\n\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n isRestoring\n ? () => undefined\n : observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer, isRestoring],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setOptions(defaultedOptions, { listeners: false })\n }, [defaultedOptions, observer])\n\n // Handle suspense\n if (shouldSuspend(defaultedOptions, result, isRestoring)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n }\n\n // Handle error boundary\n if (\n getHasError({\n result,\n errorResetBoundary,\n throwErrors: defaultedOptions.throwErrors,\n query: observer.getCurrentQuery(),\n })\n ) {\n throw result.error\n }\n\n // Handle result property usage tracking\n return !defaultedOptions.notifyOnChangeProps\n ? observer.trackResult(result)\n : result\n}\n","import type { QueryClient, QueryKey, DefaultError } from '@tanstack/query-core'\nimport { QueryObserver } from '@tanstack/query-core'\nimport type {\n DefinedUseQueryResult,\n UseQueryOptions,\n UseQueryResult,\n} from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\n// HOOK\ntype UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\ntype DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData: TQueryFnData | (() => TQueryFnData)\n}\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(options, QueryObserver, queryClient)\n}\n","'use client'\nimport * as React from 'react'\n\nimport type { HydrateOptions, QueryClient } from '@tanstack/query-core'\nimport { hydrate } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\n\nexport interface HydrationBoundaryProps {\n state?: unknown\n options?: HydrateOptions\n children?: React.ReactNode\n queryClient?: QueryClient\n}\n\nexport const HydrationBoundary = ({\n children,\n options = {},\n state,\n queryClient,\n}: HydrationBoundaryProps) => {\n const client = useQueryClient(queryClient)\n\n const optionsRef = React.useRef(options)\n optionsRef.current = options\n\n // Running hydrate again with the same queries is safe,\n // it wont overwrite or initialize existing queries,\n // relying on useMemo here is only a performance optimization.\n // hydrate can and should be run *during* render here for SSR to work properly\n React.useMemo(() => {\n if (state) {\n hydrate(client, state, optionsRef.current)\n }\n }, [client, state])\n\n return children as React.ReactElement\n}\n","import * as React from 'react'\nimport type { QueryClient, QueryFilters } from '@tanstack/query-core'\nimport { notifyManager } from '@tanstack/query-core'\n\nimport { useQueryClient } from './QueryClientProvider'\n\nexport function useIsFetching(\n filters?: QueryFilters,\n queryClient?: QueryClient,\n): number {\n const client = useQueryClient(queryClient)\n const queryCache = client.getQueryCache()\n\n return React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n queryCache.subscribe(notifyManager.batchCalls(onStoreChange)),\n [queryCache],\n ),\n () => client.isFetching(filters),\n () => client.isFetching(filters),\n )\n}\n","import * as React from 'react'\n\nimport type {\n MutationFilters,\n QueryClient,\n Mutation,\n MutationCache,\n DefaultError,\n} from '@tanstack/query-core'\nimport { notifyManager, replaceEqualDeep } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { MutationState } from '@tanstack/query-core/build/lib/mutation'\n\nexport function useIsMutating(\n filters?: MutationFilters,\n queryClient?: QueryClient,\n): number {\n const client = useQueryClient(queryClient)\n return useMutationState(\n { filters: { ...filters, status: 'pending' } },\n client,\n ).length\n}\n\ntype MutationStateOptions<TResult> = {\n filters?: MutationFilters\n select?: (\n mutation: Mutation<unknown, DefaultError, unknown, unknown>,\n ) => TResult\n}\n\nfunction getResult<TResult = MutationState>(\n mutationCache: MutationCache,\n options: MutationStateOptions<TResult>,\n): Array<TResult> {\n return mutationCache\n .findAll(options.filters)\n .map(\n (mutation): TResult =>\n (options.select\n ? options.select(\n mutation as Mutation<unknown, DefaultError, unknown, unknown>,\n )\n : mutation.state) as TResult,\n )\n}\n\nexport function useMutationState<TResult = unknown>(\n options: MutationStateOptions<TResult> = {},\n queryClient?: QueryClient,\n): Array<TResult> {\n const mutationCache = useQueryClient(queryClient).getMutationCache()\n const optionsRef = React.useRef(options)\n const result = React.useRef<Array<TResult>>()\n if (!result.current) {\n result.current = getResult(mutationCache, options)\n }\n\n React.useEffect(() => {\n optionsRef.current = options\n })\n\n return React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n mutationCache.subscribe(() => {\n const nextResult = replaceEqualDeep(\n result.current,\n getResult(mutationCache, optionsRef.current),\n )\n if (result.current !== nextResult) {\n result.current = nextResult\n notifyManager.schedule(onStoreChange)\n }\n }),\n [mutationCache],\n ),\n () => result.current,\n () => result.current,\n )!\n}\n","import * as React from 'react'\nimport type { QueryClient, DefaultError } from '@tanstack/query-core'\nimport { notifyManager, MutationObserver } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type {\n UseMutateFunction,\n UseMutationOptions,\n UseMutationResult,\n} from './types'\nimport { shouldThrowError } from './utils'\n\n// HOOK\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n options: UseMutationOptions<TData, TError, TVariables, TContext>,\n queryClient?: QueryClient,\n): UseMutationResult<TData, TError, TVariables, TContext> {\n const client = useQueryClient(queryClient)\n\n const [observer] = React.useState(\n () =>\n new MutationObserver<TData, TError, TVariables, TContext>(\n client,\n options,\n ),\n )\n\n React.useEffect(() => {\n observer.setOptions(options)\n }, [observer, options])\n\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n const mutate = React.useCallback<\n UseMutateFunction<TData, TError, TVariables, TContext>\n >(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop)\n },\n [observer],\n )\n\n if (\n result.error &&\n shouldThrowError(observer.options.throwErrors, [result.error])\n ) {\n throw result.error\n }\n\n return { ...result, mutate, mutateAsync: result.mutate }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n","import type {\n QueryObserver,\n QueryKey,\n QueryClient,\n DefaultError,\n InfiniteData,\n} from '@tanstack/query-core'\nimport { InfiniteQueryObserver } from '@tanstack/query-core'\nimport type { UseInfiniteQueryOptions, UseInfiniteQueryResult } from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\n// HOOK\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult<TData, TError> {\n return useBaseQuery(\n options,\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n ) as UseInfiniteQueryResult<TData, TError>\n}\n"],"names":["noop","getDefaultState","QueryClientContext","React","createContext","undefined","useQueryClient","queryClient","client","useContext","Error","QueryClientProvider","children","useEffect","mount","unmount","IsRestoringContext","useIsRestoring","IsRestoringProvider","Provider","createValue","isReset","clearReset","reset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","QueryErrorResetBoundary","value","useState","shouldThrowError","throwError","params","ensurePreventErrorBoundaryRetry","options","errorResetBoundary","suspense","throwErrors","retryOnMount","useClearResetErrorBoundary","getHasError","result","query","isError","isFetching","error","ensureStaleTime","defaultedOptions","staleTime","willFetch","isRestoring","isLoading","shouldSuspend","fetchOptimistic","observer","then","data","onSuccess","onSettled","catch","onError","useQueries","queries","defaultedQueries","useMemo","map","defaultQueryOptions","_optimisticResults","QueriesObserver","optimisticResult","getOptimisticResult","useSyncExternalStore","useCallback","onStoreChange","subscribe","notifyManager","batchCalls","getCurrentResult","setQueries","listeners","forEach","shouldAtLeastOneSuspend","some","index","suspensePromises","flatMap","queryObserver","getObservers","length","Promise","all","firstSingleResultWhichShouldThrow","find","getQueries","useBaseQuery","Observer","setOptions","getCurrentQuery","notifyOnChangeProps","trackResult","useQuery","QueryObserver","HydrationBoundary","state","optionsRef","useRef","current","hydrate","useIsFetching","filters","queryCache","getQueryCache","useIsMutating","useMutationState","status","getResult","mutationCache","findAll","mutation","select","getMutationCache","nextResult","replaceEqualDeep","schedule","useMutation","MutationObserver","mutate","variables","mutateOptions","mutateAsync","useInfiniteQuery","InfiniteQueryObserver"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAAA,MAAM,YAAY,CAAC;EACnB,EAAE,WAAW,GAAG;EAChB,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;EACxB,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC/C,GAAG;EACH,EAAE,SAAS,CAAC,QAAQ,EAAE;EACtB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;EAClC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;EACvB,IAAI,OAAO,MAAM;EACjB,MAAM,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC;EAClE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;EAC3B,KAAK,CAAC;EACN,GAAG;EACH,EAAE,YAAY,GAAG;EACjB,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;EACrC,GAAG;EACH,EAAE,WAAW,GAAG;EAChB;EACA,GAAG;EACH,EAAE,aAAa,GAAG;EAClB;EACA,GAAG;EACH;;ECtBA;AACA;EACA;AACA;AACK,QAAC,QAAQ,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,IAAI,OAAO;EACnE,SAASA,MAAI,GAAG;EAChB,EAAE,OAAO,SAAS,CAAC;EACnB,CAAC;EACD,SAAS,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE;EAC1C,EAAE,OAAO,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;EAClE,CAAC;EACD,SAAS,cAAc,CAAC,KAAK,EAAE;EAC/B,EAAE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,QAAQ,CAAC;EACvE,CAAC;EACD,SAAS,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE;EAC9C,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;EAChE,CAAC;EACD,SAAS,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE;EACpC,EAAE,MAAM;EACR,IAAI,IAAI,GAAG,KAAK;EAChB,IAAI,KAAK;EACT,IAAI,WAAW;EACf,IAAI,SAAS;EACb,IAAI,QAAQ;EACZ,IAAI,KAAK;EACT,GAAG,GAAG,OAAO,CAAC;EACd,EAAE,IAAI,QAAQ,EAAE;EAChB,IAAI,IAAI,KAAK,EAAE;EACf,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;EAC9E,QAAQ,OAAO,KAAK,CAAC;EACrB,OAAO;EACP,KAAK,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;EAC3D,MAAM,OAAO,KAAK,CAAC;EACnB,KAAK;EACL,GAAG;EACH,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE;EACtB,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;EACtC,IAAI,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,QAAQ,EAAE;EACxC,MAAM,OAAO,KAAK,CAAC;EACnB,KAAK;EACL,IAAI,IAAI,IAAI,KAAK,UAAU,IAAI,QAAQ,EAAE;EACzC,MAAM,OAAO,KAAK,CAAC;EACnB,KAAK;EACL,GAAG;EACH,EAAE,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,EAAE;EAC/D,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE;EACrF,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;EACtC,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,OAAO,IAAI,CAAC;EACd,CAAC;EACD,SAAS,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE;EAC1C,EAAE,MAAM;EACR,IAAI,KAAK;EACT,IAAI,MAAM;EACV,IAAI,SAAS;EACb,IAAI,WAAW;EACf,GAAG,GAAG,OAAO,CAAC;EACd,EAAE,IAAI,WAAW,EAAE;EACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE;EACvC,MAAM,OAAO,KAAK,CAAC;EACnB,KAAK;EACL,IAAI,IAAI,KAAK,EAAE;EACf,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,WAAW,CAAC,EAAE;EAC1E,QAAQ,OAAO,KAAK,CAAC;EACrB,OAAO;EACP,KAAK,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE;EAC5E,MAAM,OAAO,KAAK,CAAC;EACnB,KAAK;EACL,GAAG;EACH,EAAE,IAAI,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;EAClD,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;EACzC,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,OAAO,IAAI,CAAC;EACd,CAAC;EACD,SAAS,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE;EAClD,EAAE,MAAM,MAAM,GAAG,OAAO,EAAE,cAAc,IAAI,OAAO,CAAC;EACpD,EAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;EAC1B,CAAC;AACD;EACA;EACA;EACA;EACA;EACA,SAAS,OAAO,CAAC,QAAQ,EAAE;EAC3B,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,aAAa,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;EACnH,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;EAC3B,IAAI,OAAO,MAAM,CAAC;EAClB,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;EAChB,CAAC;AACD;EACA;EACA;EACA;AACA;EACA,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE;EAC/B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;EACf,IAAI,OAAO,IAAI,CAAC;EAChB,GAAG;EACH,EAAE,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,EAAE;EAC7B,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;EAChE,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EACzE,GAAG;EACH,EAAE,OAAO,KAAK,CAAC;EACf,CAAC;AACD;EACA;EACA;EACA;EACA;EACA;AACA;EACA,SAAS,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE;EAChC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;EACf,IAAI,OAAO,CAAC,CAAC;EACb,GAAG;EACH,EAAE,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;EACnD,EAAE,IAAI,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;EACrD,IAAI,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;EAC3D,IAAI,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EAC9C,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;EAChC,IAAI,MAAM,IAAI,GAAG,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC;EACjC,IAAI,IAAI,UAAU,GAAG,CAAC,CAAC;EACvB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;EACpC,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;EACxC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;EACnD,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE;EAChC,QAAQ,UAAU,EAAE,CAAC;EACrB,OAAO;EACP,KAAK;EACL,IAAI,OAAO,KAAK,KAAK,KAAK,IAAI,UAAU,KAAK,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;EAC9D,GAAG;EACH,EAAE,OAAO,CAAC,CAAC;EACX,CAAC;AACD;EACA;EACA;EACA;EACA,SAAS,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE;EACnC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;EAC1B,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE;EACvB,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE;EAC3B,MAAM,OAAO,KAAK,CAAC;EACnB,KAAK;EACL,GAAG;EACH,EAAE,OAAO,IAAI,CAAC;EACd,CAAC;EACD,SAAS,YAAY,CAAC,KAAK,EAAE;EAC7B,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;EAC5E,CAAC;AACD;EACA;EACA,SAAS,aAAa,CAAC,CAAC,EAAE;EAC1B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;EAC9B,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA;EACA,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC;EAC7B,EAAE,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;EACnC,IAAI,OAAO,IAAI,CAAC;EAChB,GAAG;AACH;EACA;EACA,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;EAC9B,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;EACjC,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA;EACA,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE;EAC7C,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA;EACA,EAAE,OAAO,IAAI,CAAC;EACd,CAAC;EACD,SAAS,kBAAkB,CAAC,CAAC,EAAE;EAC/B,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC;EACjE,CAAC;EACD,SAAS,KAAK,CAAC,OAAO,EAAE;EACxB,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI;EAChC,IAAI,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;EACjC,GAAG,CAAC,CAAC;EACL,CAAC;AACD;EACA;EACA;EACA;EACA;EACA,SAAS,iBAAiB,CAAC,QAAQ,EAAE;EACrC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;EAC1B,CAAC;EACD,SAAS,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;EAC9C,EAAE,IAAI,OAAO,OAAO,CAAC,iBAAiB,KAAK,UAAU,EAAE;EACvD,IAAI,OAAO,OAAO,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;EACrD,GAAG,MAAM,IAAI,OAAO,CAAC,iBAAiB,KAAK,KAAK,EAAE;EAClD;EACA,IAAI,OAAO,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;EAC5C,GAAG;EACH,EAAE,OAAO,IAAI,CAAC;EACd,CAAC;EACD,SAAS,gBAAgB,CAAC,YAAY,EAAE;EACxC,EAAE,OAAO,YAAY,CAAC;EACtB,CAAC;EACD,SAAS,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,EAAE;EACxC,EAAE,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC;EACpC,EAAE,OAAO,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;EACrE,CAAC;EACD,SAAS,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,EAAE;EAC1C,EAAE,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;EACpC,EAAE,OAAO,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;EACzE;;EC5NA,MAAM,YAAY,SAAS,YAAY,CAAC;EACxC,EAAE,QAAQ,CAAC;EACX,EAAE,QAAQ,CAAC;EACX,EAAE,MAAM,CAAC;EACT,EAAE,WAAW,GAAG;EAChB,IAAI,KAAK,EAAE,CAAC;EACZ,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,IAAI;EAC7B;EACA;EACA,MAAM,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,gBAAgB,EAAE;EAChD,QAAQ,MAAM,QAAQ,GAAG,MAAM,OAAO,EAAE,CAAC;EACzC;EACA,QAAQ,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;EACrE,QAAQ,OAAO,MAAM;EACrB;EACA,UAAU,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;EACnE,SAAS,CAAC;EACV,OAAO;EACP,MAAM,OAAO;EACb,KAAK,CAAC;EACN,GAAG;EACH,EAAE,WAAW,GAAG;EAChB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;EACxB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EACzC,KAAK;EACL,GAAG;EACH,EAAE,aAAa,GAAG;EAClB,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;EAC9B,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC;EACxB,MAAM,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;EAChC,KAAK;EACL,GAAG;EACH,EAAE,gBAAgB,CAAC,KAAK,EAAE;EAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;EACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC;EACtB,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,IAAI;EACrC,MAAM,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE;EACxC,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;EACjC,OAAO,MAAM;EACb,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;EACvB,OAAO;EACP,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,UAAU,CAAC,OAAO,EAAE;EACtB,IAAI,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;EAC5B,IAAI,IAAI,OAAO,EAAE;EACjB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;EACrB,KAAK;EACL,GAAG;EACH,EAAE,OAAO,GAAG;EACZ,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI;EACvC,MAAM,QAAQ,EAAE,CAAC;EACjB,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,SAAS,GAAG;EACd,IAAI,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;EAC5C,MAAM,OAAO,IAAI,CAAC,QAAQ,CAAC;EAC3B,KAAK;AACL;EACA;EACA;EACA,IAAI,OAAO,UAAU,CAAC,QAAQ,EAAE,eAAe,KAAK,QAAQ,CAAC;EAC7D,GAAG;EACH,CAAC;AACI,QAAC,YAAY,GAAG,IAAI,YAAY;;EChErC,MAAM,aAAa,SAAS,YAAY,CAAC;EACzC,EAAE,OAAO,CAAC;EACV,EAAE,QAAQ,CAAC;EACX,EAAE,MAAM,CAAC;EACT,EAAE,WAAW,GAAG;EAChB,IAAI,KAAK,EAAE,CAAC;EACZ,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,IAAI;EAC9B;EACA;EACA,MAAM,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,gBAAgB,EAAE;EAChD,QAAQ,MAAM,QAAQ,GAAG,MAAM,QAAQ,EAAE,CAAC;EAC1C;EACA,QAAQ,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;EAC3D,QAAQ,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;EAC5D,QAAQ,OAAO,MAAM;EACrB;EACA,UAAU,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;EACzD,UAAU,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;EAC1D,SAAS,CAAC;EACV,OAAO;EACP,MAAM,OAAO;EACb,KAAK,CAAC;EACN,GAAG;EACH,EAAE,WAAW,GAAG;EAChB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;EACxB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EACzC,KAAK;EACL,GAAG;EACH,EAAE,aAAa,GAAG;EAClB,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;EAC9B,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC;EACxB,MAAM,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;EAChC,KAAK;EACL,GAAG;EACH,EAAE,gBAAgB,CAAC,KAAK,EAAE;EAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;EACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC;EACtB,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,IAAI;EACpC,MAAM,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE;EACvC,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;EAC/B,OAAO,MAAM;EACb,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;EACxB,OAAO;EACP,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,SAAS,CAAC,MAAM,EAAE;EACpB,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;EAC1B,IAAI,IAAI,MAAM,EAAE;EAChB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;EACtB,KAAK;EACL,GAAG;EACH,EAAE,QAAQ,GAAG;EACb,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI;EACvC,MAAM,QAAQ,EAAE,CAAC;EACjB,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,QAAQ,GAAG;EACb,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;EAC3C,MAAM,OAAO,IAAI,CAAC,OAAO,CAAC;EAC1B,KAAK;EACL,IAAI,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,WAAW,EAAE;EACrF,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,SAAS,CAAC,MAAM,CAAC;EAC5B,GAAG;EACH,CAAC;AACI,QAAC,aAAa,GAAG,IAAI,aAAa;;ECjEvC,SAAS,iBAAiB,CAAC,YAAY,EAAE;EACzC,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,YAAY,EAAE,KAAK,CAAC,CAAC;EACnD,CAAC;EACD,SAAS,QAAQ,CAAC,WAAW,EAAE;EAC/B,EAAE,OAAO,CAAC,WAAW,IAAI,QAAQ,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;EAClF,CAAC;EACD,MAAM,cAAc,CAAC;EACrB,EAAE,WAAW,CAAC,OAAO,EAAE;EACvB,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;EAClC,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;EAClC,GAAG;EACH,CAAC;EACD,SAAS,gBAAgB,CAAC,KAAK,EAAE;EACjC,EAAE,OAAO,KAAK,YAAY,cAAc,CAAC;EACzC,CAAC;EACD,SAAS,aAAa,CAAC,MAAM,EAAE;EAC/B,EAAE,IAAI,gBAAgB,GAAG,KAAK,CAAC;EAC/B,EAAE,IAAI,YAAY,GAAG,CAAC,CAAC;EACvB,EAAE,IAAI,UAAU,GAAG,KAAK,CAAC;EACzB,EAAE,IAAI,UAAU,CAAC;EACjB,EAAE,IAAI,cAAc,CAAC;EACrB,EAAE,IAAI,aAAa,CAAC;EACpB,EAAE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,YAAY,EAAE,WAAW,KAAK;EAC7D,IAAI,cAAc,GAAG,YAAY,CAAC;EAClC,IAAI,aAAa,GAAG,WAAW,CAAC;EAChC,GAAG,CAAC,CAAC;EACL,EAAE,MAAM,MAAM,GAAG,aAAa,IAAI;EAClC,IAAI,IAAI,CAAC,UAAU,EAAE;EACrB,MAAM,MAAM,CAAC,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;EAChD,MAAM,MAAM,CAAC,KAAK,IAAI,CAAC;EACvB,KAAK;EACL,GAAG,CAAC;EACJ,EAAE,MAAM,WAAW,GAAG,MAAM;EAC5B,IAAI,gBAAgB,GAAG,IAAI,CAAC;EAC5B,GAAG,CAAC;EACJ,EAAE,MAAM,aAAa,GAAG,MAAM;EAC9B,IAAI,gBAAgB,GAAG,KAAK,CAAC;EAC7B,GAAG,CAAC;EACJ,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;EACtH,EAAE,MAAM,OAAO,GAAG,KAAK,IAAI;EAC3B,IAAI,IAAI,CAAC,UAAU,EAAE;EACrB,MAAM,UAAU,GAAG,IAAI,CAAC;EACxB,MAAM,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;EAChC,MAAM,UAAU,IAAI,CAAC;EACrB,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;EAC5B,KAAK;EACL,GAAG,CAAC;EACJ,EAAE,MAAM,MAAM,GAAG,KAAK,IAAI;EAC1B,IAAI,IAAI,CAAC,UAAU,EAAE;EACrB,MAAM,UAAU,GAAG,IAAI,CAAC;EACxB,MAAM,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;EAC9B,MAAM,UAAU,IAAI,CAAC;EACrB,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;EAC3B,KAAK;EACL,GAAG,CAAC;EACJ,EAAE,MAAM,KAAK,GAAG,MAAM;EACtB,IAAI,OAAO,IAAI,OAAO,CAAC,eAAe,IAAI;EAC1C,MAAM,UAAU,GAAG,KAAK,IAAI;EAC5B,QAAQ,MAAM,WAAW,GAAG,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;EACzD,QAAQ,IAAI,WAAW,EAAE;EACzB,UAAU,eAAe,CAAC,KAAK,CAAC,CAAC;EACjC,SAAS;EACT,QAAQ,OAAO,WAAW,CAAC;EAC3B,OAAO,CAAC;EACR,MAAM,MAAM,CAAC,OAAO,IAAI,CAAC;EACzB,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM;EAClB,MAAM,UAAU,GAAG,SAAS,CAAC;EAC7B,MAAM,IAAI,CAAC,UAAU,EAAE;EACvB,QAAQ,MAAM,CAAC,UAAU,IAAI,CAAC;EAC9B,OAAO;EACP,KAAK,CAAC,CAAC;EACP,GAAG,CAAC;AACJ;EACA;EACA,EAAE,MAAM,GAAG,GAAG,MAAM;EACpB;EACA,IAAI,IAAI,UAAU,EAAE;EACpB,MAAM,OAAO;EACb,KAAK;EACL,IAAI,IAAI,cAAc,CAAC;AACvB;EACA;EACA,IAAI,IAAI;EACR,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC;EACnC,KAAK,CAAC,OAAO,KAAK,EAAE;EACpB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;EAC7C,KAAK;EACL,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI;EACjE;EACA,MAAM,IAAI,UAAU,EAAE;EACtB,QAAQ,OAAO;EACf,OAAO;AACP;EACA;EACA,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;EACtC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,iBAAiB,CAAC;EAChE,MAAM,MAAM,KAAK,GAAG,OAAO,UAAU,KAAK,UAAU,GAAG,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC;EACpG,MAAM,MAAM,WAAW,GAAG,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,YAAY,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;EAC3J,MAAM,IAAI,gBAAgB,IAAI,CAAC,WAAW,EAAE;EAC5C;EACA,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC;EACtB,QAAQ,OAAO;EACf,OAAO;EACP,MAAM,YAAY,EAAE,CAAC;AACrB;EACA;EACA,MAAM,MAAM,CAAC,MAAM,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC;AAC3C;EACA;EACA,MAAM,KAAK,CAAC,KAAK,CAAC;EAClB;EACA,OAAO,IAAI,CAAC,MAAM;EAClB,QAAQ,IAAI,WAAW,EAAE,EAAE;EAC3B,UAAU,OAAO,KAAK,EAAE,CAAC;EACzB,SAAS;EACT,QAAQ,OAAO;EACf,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM;EACpB,QAAQ,IAAI,gBAAgB,EAAE;EAC9B,UAAU,MAAM,CAAC,KAAK,CAAC,CAAC;EACxB,SAAS,MAAM;EACf,UAAU,GAAG,EAAE,CAAC;EAChB,SAAS;EACT,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,GAAG,CAAC;AACJ;EACA;EACA,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;EACpC,IAAI,GAAG,EAAE,CAAC;EACV,GAAG,MAAM;EACT,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EACtB,GAAG;EACH,EAAE,OAAO;EACT,IAAI,OAAO;EACX,IAAI,MAAM;EACV,IAAI,QAAQ,EAAE,MAAM;EACpB,MAAM,MAAM,WAAW,GAAG,UAAU,IAAI,CAAC;EACzC,MAAM,OAAO,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;EACvD,KAAK;EACL,IAAI,WAAW;EACf,IAAI,aAAa;EACjB,GAAG,CAAC;EACJ;;EChJA;AACA;EACA,SAAS,mBAAmB,GAAG;EAC/B,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC;EACjB,EAAE,IAAI,YAAY,GAAG,CAAC,CAAC;EACvB,EAAE,IAAI,QAAQ,GAAG,QAAQ,IAAI;EAC7B,IAAI,QAAQ,EAAE,CAAC;EACf,GAAG,CAAC;EACJ,EAAE,IAAI,aAAa,GAAG,QAAQ,IAAI;EAClC,IAAI,QAAQ,EAAE,CAAC;EACf,GAAG,CAAC;EACJ,EAAE,MAAM,KAAK,GAAG,QAAQ,IAAI;EAC5B,IAAI,IAAI,MAAM,CAAC;EACf,IAAI,YAAY,EAAE,CAAC;EACnB,IAAI,IAAI;EACR,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;EAC1B,KAAK,SAAS;EACd,MAAM,YAAY,EAAE,CAAC;EACrB,MAAM,IAAI,CAAC,YAAY,EAAE;EACzB,QAAQ,KAAK,EAAE,CAAC;EAChB,OAAO;EACP,KAAK;EACL,IAAI,OAAO,MAAM,CAAC;EAClB,GAAG,CAAC;EACJ,EAAE,MAAM,QAAQ,GAAG,QAAQ,IAAI;EAC/B,IAAI,IAAI,YAAY,EAAE;EACtB,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;EAC3B,KAAK,MAAM;EACX,MAAM,iBAAiB,CAAC,MAAM;EAC9B,QAAQ,QAAQ,CAAC,QAAQ,CAAC,CAAC;EAC3B,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG,CAAC;AACJ;EACA;EACA;EACA;EACA,EAAE,MAAM,UAAU,GAAG,QAAQ,IAAI;EACjC,IAAI,OAAO,CAAC,GAAG,IAAI,KAAK;EACxB,MAAM,QAAQ,CAAC,MAAM;EACrB,QAAQ,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;EAC1B,OAAO,CAAC,CAAC;EACT,KAAK,CAAC;EACN,GAAG,CAAC;EACJ,EAAE,MAAM,KAAK,GAAG,MAAM;EACtB,IAAI,MAAM,aAAa,GAAG,KAAK,CAAC;EAChC,IAAI,KAAK,GAAG,EAAE,CAAC;EACf,IAAI,IAAI,aAAa,CAAC,MAAM,EAAE;EAC9B,MAAM,iBAAiB,CAAC,MAAM;EAC9B,QAAQ,aAAa,CAAC,MAAM;EAC5B,UAAU,aAAa,CAAC,OAAO,CAAC,QAAQ,IAAI;EAC5C,YAAY,QAAQ,CAAC,QAAQ,CAAC,CAAC;EAC/B,WAAW,CAAC,CAAC;EACb,SAAS,CAAC,CAAC;EACX,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG,CAAC;AACJ;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,iBAAiB,GAAG,EAAE,IAAI;EAClC,IAAI,QAAQ,GAAG,EAAE,CAAC;EAClB,GAAG,CAAC;AACJ;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,sBAAsB,GAAG,EAAE,IAAI;EACvC,IAAI,aAAa,GAAG,EAAE,CAAC;EACvB,GAAG,CAAC;EACJ,EAAE,OAAO;EACT,IAAI,KAAK;EACT,IAAI,UAAU;EACd,IAAI,QAAQ;EACZ,IAAI,iBAAiB;EACrB,IAAI,sBAAsB;EAC1B,GAAG,CAAC;EACJ,CAAC;AACD;EACA;AACK,QAAC,aAAa,GAAG,mBAAmB;;ECnFzC,MAAM,SAAS,CAAC;EAChB,EAAE,UAAU,CAAC;EACb,EAAE,OAAO,GAAG;EACZ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;EAC1B,GAAG;EACH,EAAE,UAAU,GAAG;EACf,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;EAC1B,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;EACrC,MAAM,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM;EACzC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;EAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;EACtB,KAAK;EACL,GAAG;EACH,EAAE,YAAY,CAAC,SAAS,EAAE;EAC1B;EACA,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,SAAS,KAAK,QAAQ,GAAG,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;EACjG,GAAG;EACH,EAAE,cAAc,GAAG;EACnB,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;EACzB,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACpC,MAAM,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;EAClC,KAAK;EACL,GAAG;EACH;;ECpBA;AACA;EACA;AACA;EACA,MAAM,KAAK,SAAS,SAAS,CAAC;EAC9B,EAAE,aAAa,CAAC;EAChB,EAAE,YAAY,CAAC;EACf,EAAE,MAAM,CAAC;EACT,EAAE,QAAQ,CAAC;EACX,EAAE,QAAQ,CAAC;EACX,EAAE,UAAU,CAAC;EACb,EAAE,eAAe,CAAC;EAClB,EAAE,oBAAoB,CAAC;EACvB,EAAE,WAAW,CAAC,MAAM,EAAE;EACtB,IAAI,KAAK,EAAE,CAAC;EACZ,IAAI,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;EACtC,IAAI,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC;EACjD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;EACrC,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;EACzB,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;EAC/B,IAAI,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;EACpC,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;EACtC,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,IAAIC,iBAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EACvE,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;EACpC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,GAAG;EACH,EAAE,IAAI,IAAI,GAAG;EACb,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;EAC7B,GAAG;EACH,EAAE,WAAW,CAAC,OAAO,EAAE;EACvB,IAAI,IAAI,CAAC,OAAO,GAAG;EACnB,MAAM,GAAG,IAAI,CAAC,eAAe;EAC7B,MAAM,GAAG,OAAO;EAChB,KAAK,CAAC;EACN,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;EAC3C,GAAG;EACH,EAAE,cAAc,GAAG;EACnB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,MAAM,EAAE;EACtE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;EAC/B,KAAK;EACL,GAAG;EACH,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE;EAC5B,IAAI,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AACrE;EACA;EACA,IAAI,IAAI,CAAC,SAAS,CAAC;EACnB,MAAM,IAAI;EACV,MAAM,IAAI,EAAE,SAAS;EACrB,MAAM,aAAa,EAAE,OAAO,EAAE,SAAS;EACvC,MAAM,MAAM,EAAE,OAAO,EAAE,MAAM;EAC7B,KAAK,CAAC,CAAC;EACP,IAAI,OAAO,IAAI,CAAC;EAChB,GAAG;EACH,EAAE,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE;EACnC,IAAI,IAAI,CAAC,SAAS,CAAC;EACnB,MAAM,IAAI,EAAE,UAAU;EACtB,MAAM,KAAK;EACX,MAAM,eAAe;EACrB,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,MAAM,CAAC,OAAO,EAAE;EAClB,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;EAClC,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;EACnC,IAAI,OAAO,OAAO,GAAG,OAAO,CAAC,IAAI,CAACD,MAAI,CAAC,CAAC,KAAK,CAACA,MAAI,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;EACxE,GAAG;EACH,EAAE,OAAO,GAAG;EACZ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;EACpB,IAAI,IAAI,CAAC,MAAM,CAAC;EAChB,MAAM,MAAM,EAAE,IAAI;EAClB,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,KAAK,GAAG;EACV,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;EACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;EACtC,GAAG;EACH,EAAE,QAAQ,GAAG;EACb,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;EAChF,GAAG;EACH,EAAE,UAAU,GAAG;EACf,IAAI,OAAO,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;EAC5D,GAAG;EACH,EAAE,OAAO,GAAG;EACZ,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC;EAC1I,GAAG;EACH,EAAE,aAAa,CAAC,SAAS,GAAG,CAAC,EAAE;EAC/B,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;EACzH,GAAG;EACH,EAAE,OAAO,GAAG;EACZ,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC;EAC7E,IAAI,QAAQ,EAAE,OAAO,CAAC;EACtB,MAAM,aAAa,EAAE,KAAK;EAC1B,KAAK,CAAC,CAAC;AACP;EACA;EACA,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;EAC9B,GAAG;EACH,EAAE,QAAQ,GAAG;EACb,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC;EAC3E,IAAI,QAAQ,EAAE,OAAO,CAAC;EACtB,MAAM,aAAa,EAAE,KAAK;EAC1B,KAAK,CAAC,CAAC;AACP;EACA;EACA,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;EAC9B,GAAG;EACH,EAAE,WAAW,CAAC,QAAQ,EAAE;EACxB,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;EAClD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC;EACA;EACA,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;EAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;EACzB,QAAQ,IAAI,EAAE,eAAe;EAC7B,QAAQ,KAAK,EAAE,IAAI;EACnB,QAAQ,QAAQ;EAChB,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG;EACH,EAAE,cAAc,CAAC,QAAQ,EAAE;EAC3B,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;EAClD,MAAM,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC;EACpE,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;EACnC;EACA;EACA,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;EAC3B,UAAU,IAAI,IAAI,CAAC,oBAAoB,EAAE;EACzC,YAAY,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;EACjC,cAAc,MAAM,EAAE,IAAI;EAC1B,aAAa,CAAC,CAAC;EACf,WAAW,MAAM;EACjB,YAAY,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;EACxC,WAAW;EACX,SAAS;EACT,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;EAC1B,OAAO;EACP,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;EACzB,QAAQ,IAAI,EAAE,iBAAiB;EAC/B,QAAQ,KAAK,EAAE,IAAI;EACnB,QAAQ,QAAQ;EAChB,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG;EACH,EAAE,iBAAiB,GAAG;EACtB,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;EAClC,GAAG;EACH,EAAE,UAAU,GAAG;EACf,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;EACnC,MAAM,IAAI,CAAC,SAAS,CAAC;EACrB,QAAQ,IAAI,EAAE,YAAY;EAC1B,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG;EACH,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE;EAC/B,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,MAAM,EAAE;EAC3C,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,YAAY,EAAE,aAAa,EAAE;EACnE;EACA,QAAQ,IAAI,CAAC,MAAM,CAAC;EACpB,UAAU,MAAM,EAAE,IAAI;EACtB,SAAS,CAAC,CAAC;EACX,OAAO,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;EAChC;EACA,QAAQ,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;EACvC;EACA,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC;EAC7B,OAAO;EACP,KAAK;AACL;EACA;EACA,IAAI,IAAI,OAAO,EAAE;EACjB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;EAChC,KAAK;AACL;EACA;EACA;EACA,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;EAC/B,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;EACpE,MAAM,IAAI,QAAQ,EAAE;EACpB,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;EAC3C,OAAO;EACP,KAAK;EACL,IAA+C;EAC/C,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;EACjD,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,mIAAmI,CAAC,CAAC,CAAC;EAC7J,OAAO;EACP,KAAK;EACL,IAAI,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;AAClD;EACA;EACA,IAAI,MAAM,cAAc,GAAG;EAC3B,MAAM,QAAQ,EAAE,IAAI,CAAC,QAAQ;EAC7B,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI;EACrB,KAAK,CAAC;AACN;EACA;EACA;EACA;EACA,IAAI,MAAM,iBAAiB,GAAG,MAAM,IAAI;EACxC,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE;EAC9C,QAAQ,UAAU,EAAE,IAAI;EACxB,QAAQ,GAAG,EAAE,MAAM;EACnB,UAAU,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;EAC3C,UAAU,OAAO,eAAe,CAAC,MAAM,CAAC;EACxC,SAAS;EACT,OAAO,CAAC,CAAC;EACT,KAAK,CAAC;EACN,IAAI,iBAAiB,CAAC,cAAc,CAAC,CAAC;AACtC;EACA;EACA,IAAI,MAAM,OAAO,GAAG,MAAM;EAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;EACjC,QAAQ,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;EAC5D,OAAO;EACP,MAAM,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;EACxC,MAAM,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;EAClD,KAAK,CAAC;AACN;EACA;EACA,IAAI,MAAM,OAAO,GAAG;EACpB,MAAM,YAAY;EAClB,MAAM,OAAO,EAAE,IAAI,CAAC,OAAO;EAC3B,MAAM,QAAQ,EAAE,IAAI,CAAC,QAAQ;EAC7B,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;EACvB,MAAM,OAAO;EACb,KAAK,CAAC;EACN,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;EAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAC5C;EACA;EACA,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;AACnC;EACA;EACA,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE;EAClG,MAAM,IAAI,CAAC,SAAS,CAAC;EACrB,QAAQ,IAAI,EAAE,OAAO;EACrB,QAAQ,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI;EACxC,OAAO,CAAC,CAAC;EACT,KAAK;EACL,IAAI,MAAM,OAAO,GAAG,KAAK,IAAI;EAC7B;EACA,MAAM,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;EACtD,QAAQ,IAAI,CAAC,SAAS,CAAC;EACvB,UAAU,IAAI,EAAE,OAAO;EACvB,UAAU,KAAK,EAAE,KAAK;EACtB,SAAS,CAAC,CAAC;EACX,OAAO;EACP,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;EACpC;EACA,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC;EAClD,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;EACrE,OAAO;EACP,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;EACtC;EACA,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;EAC1B,OAAO;EACP,MAAM,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;EACxC,KAAK,CAAC;AACN;EACA;EACA,IAAI,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;EAClC,MAAM,EAAE,EAAE,OAAO,CAAC,OAAO;EACzB,MAAM,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;EACxD,MAAM,SAAS,EAAE,IAAI,IAAI;EACzB,QAAQ,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;EACzC,UAAqD;EACrD,YAAY,OAAO,CAAC,KAAK,CAAC,CAAC,sIAAsI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EACrL,WAAW;EACX,UAAU,OAAO,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;EAC1C,UAAU,OAAO;EACjB,SAAS;EACT,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3B;EACA;EACA,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;EACnD,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;EACrE,QAAQ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;EACxC;EACA,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;EAC5B,SAAS;EACT,QAAQ,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;EAC1C,OAAO;EACP,MAAM,OAAO;EACb,MAAM,MAAM,EAAE,CAAC,YAAY,EAAE,KAAK,KAAK;EACvC,QAAQ,IAAI,CAAC,SAAS,CAAC;EACvB,UAAU,IAAI,EAAE,QAAQ;EACxB,UAAU,YAAY;EACtB,UAAU,KAAK;EACf,SAAS,CAAC,CAAC;EACX,OAAO;EACP,MAAM,OAAO,EAAE,MAAM;EACrB,QAAQ,IAAI,CAAC,SAAS,CAAC;EACvB,UAAU,IAAI,EAAE,OAAO;EACvB,SAAS,CAAC,CAAC;EACX,OAAO;EACP,MAAM,UAAU,EAAE,MAAM;EACxB,QAAQ,IAAI,CAAC,SAAS,CAAC;EACvB,UAAU,IAAI,EAAE,UAAU;EAC1B,SAAS,CAAC,CAAC;EACX,OAAO;EACP,MAAM,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK;EAClC,MAAM,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;EAC5C,MAAM,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;EAC9C,KAAK,CAAC,CAAC;EACP,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;EAC1C,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC;EACzB,GAAG;EACH,EAAE,SAAS,CAAC,MAAM,EAAE;EACpB,IAAI,MAAM,OAAO,GAAG,KAAK,IAAI;EAC7B,MAAM,QAAQ,MAAM,CAAC,IAAI;EACzB,QAAQ,KAAK,QAAQ;EACrB,UAAU,OAAO;EACjB,YAAY,GAAG,KAAK;EACpB,YAAY,iBAAiB,EAAE,MAAM,CAAC,YAAY;EAClD,YAAY,kBAAkB,EAAE,MAAM,CAAC,KAAK;EAC5C,WAAW,CAAC;EACZ,QAAQ,KAAK,OAAO;EACpB,UAAU,OAAO;EACjB,YAAY,GAAG,KAAK;EACpB,YAAY,WAAW,EAAE,QAAQ;EACjC,WAAW,CAAC;EACZ,QAAQ,KAAK,UAAU;EACvB,UAAU,OAAO;EACjB,YAAY,GAAG,KAAK;EACpB,YAAY,WAAW,EAAE,UAAU;EACnC,WAAW,CAAC;EACZ,QAAQ,KAAK,OAAO;EACpB,UAAU,OAAO;EACjB,YAAY,GAAG,KAAK;EACpB,YAAY,iBAAiB,EAAE,CAAC;EAChC,YAAY,kBAAkB,EAAE,IAAI;EACpC,YAAY,SAAS,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;EAC1C,YAAY,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,UAAU,GAAG,QAAQ;EACnF,YAAY,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI;EACxC,cAAc,KAAK,EAAE,IAAI;EACzB,cAAc,MAAM,EAAE,SAAS;EAC/B,aAAa,CAAC;EACd,WAAW,CAAC;EACZ,QAAQ,KAAK,SAAS;EACtB,UAAU,OAAO;EACjB,YAAY,GAAG,KAAK;EACpB,YAAY,IAAI,EAAE,MAAM,CAAC,IAAI;EAC7B,YAAY,eAAe,EAAE,KAAK,CAAC,eAAe,GAAG,CAAC;EACtD,YAAY,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,EAAE;EAC7D,YAAY,KAAK,EAAE,IAAI;EACvB,YAAY,aAAa,EAAE,KAAK;EAChC,YAAY,MAAM,EAAE,SAAS;EAC7B,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI;EAClC,cAAc,WAAW,EAAE,MAAM;EACjC,cAAc,iBAAiB,EAAE,CAAC;EAClC,cAAc,kBAAkB,EAAE,IAAI;EACtC,aAAa,CAAC;EACd,WAAW,CAAC;EACZ,QAAQ,KAAK,OAAO;EACpB,UAAU,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;EACrC,UAAU,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE;EAC5E,YAAY,OAAO;EACnB,cAAc,GAAG,IAAI,CAAC,YAAY;EAClC,aAAa,CAAC;EACd,WAAW;EACX,UAAU,OAAO;EACjB,YAAY,GAAG,KAAK;EACpB,YAAY,KAAK,EAAE,KAAK;EACxB,YAAY,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,GAAG,CAAC;EACxD,YAAY,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;EACtC,YAAY,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,GAAG,CAAC;EAC1D,YAAY,kBAAkB,EAAE,KAAK;EACrC,YAAY,WAAW,EAAE,MAAM;EAC/B,YAAY,MAAM,EAAE,OAAO;EAC3B,WAAW,CAAC;EACZ,QAAQ,KAAK,YAAY;EACzB,UAAU,OAAO;EACjB,YAAY,GAAG,KAAK;EACpB,YAAY,aAAa,EAAE,IAAI;EAC/B,WAAW,CAAC;EACZ,QAAQ,KAAK,UAAU;EACvB,UAAU,OAAO;EACjB,YAAY,GAAG,KAAK;EACpB,YAAY,GAAG,MAAM,CAAC,KAAK;EAC3B,WAAW,CAAC;EACZ,OAAO;EACP,KAAK,CAAC;EACN,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EACrC,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM;EAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,IAAI;EAC1C,QAAQ,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;EACvC,OAAO,CAAC,CAAC;EACT,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;EACzB,QAAQ,KAAK,EAAE,IAAI;EACnB,QAAQ,IAAI,EAAE,SAAS;EACvB,QAAQ,MAAM;EACd,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,GAAG;EACH,CAAC;EACD,SAASC,iBAAe,CAAC,OAAO,EAAE;EAClC,EAAE,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;EACvG,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,WAAW,CAAC;EAC9C,EAAE,MAAM,oBAAoB,GAAG,OAAO,GAAG,OAAO,OAAO,CAAC,oBAAoB,KAAK,UAAU,GAAG,OAAO,CAAC,oBAAoB,EAAE,GAAG,OAAO,CAAC,oBAAoB,GAAG,CAAC,CAAC;EAChK,EAAE,OAAO;EACT,IAAI,IAAI;EACR,IAAI,eAAe,EAAE,CAAC;EACtB,IAAI,aAAa,EAAE,OAAO,GAAG,oBAAoB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;EACnE,IAAI,KAAK,EAAE,IAAI;EACf,IAAI,gBAAgB,EAAE,CAAC;EACvB,IAAI,cAAc,EAAE,CAAC;EACrB,IAAI,iBAAiB,EAAE,CAAC;EACxB,IAAI,kBAAkB,EAAE,IAAI;EAC5B,IAAI,SAAS,EAAE,IAAI;EACnB,IAAI,aAAa,EAAE,KAAK;EACxB,IAAI,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS;EAC3C,IAAI,WAAW,EAAE,MAAM;EACvB,GAAG,CAAC;EACJ;;EC3ZA;AACA;EACA,MAAM,UAAU,SAAS,YAAY,CAAC;EACtC,EAAE,QAAQ,CAAC;EACX,EAAE,WAAW,CAAC,MAAM,GAAG,EAAE,EAAE;EAC3B,IAAI,KAAK,EAAE,CAAC;EACZ,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;EACzB,IAAI,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;EACxD,GAAG;EACH,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;EAChC,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;EACtC,IAAI,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;EACpF,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;EACpC,IAAI,IAAI,CAAC,KAAK,EAAE;EAChB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;EACxB,QAAQ,KAAK,EAAE,IAAI;EACnB,QAAQ,QAAQ;EAChB,QAAQ,SAAS;EACjB,QAAQ,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC;EACpD,QAAQ,KAAK;EACb,QAAQ,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;EACzD,OAAO,CAAC,CAAC;EACT,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;EACtB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,GAAG,CAAC,KAAK,EAAE;EACb,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;EAC7C,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;EAChD,MAAM,IAAI,CAAC,MAAM,CAAC;EAClB,QAAQ,IAAI,EAAE,OAAO;EACrB,QAAQ,KAAK;EACb,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG;EACH,EAAE,MAAM,CAAC,KAAK,EAAE;EAChB,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;EAC1D,IAAI,IAAI,UAAU,EAAE;EACpB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;EACtB,MAAM,IAAI,UAAU,KAAK,KAAK,EAAE;EAChC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;EAC9C,OAAO;EACP,MAAM,IAAI,CAAC,MAAM,CAAC;EAClB,QAAQ,IAAI,EAAE,SAAS;EACvB,QAAQ,KAAK;EACb,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG;EACH,EAAE,KAAK,GAAG;EACV,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM;EAC9B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI;EACrC,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;EAC3B,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,GAAG,CAAC,SAAS,EAAE;EACjB,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;EACxC,GAAG;EACH,EAAE,MAAM,GAAG;EACX,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;EACvC,GAAG;EACH,EAAE,IAAI,CAAC,OAAO,EAAE;EAChB,IAAI,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW,EAAE;EAC9C,MAAM,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;EAC3B,KAAK;EACL,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;EACnE,GAAG;EACH,EAAE,OAAO,CAAC,OAAO,GAAG,EAAE,EAAE;EACxB,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;EAClC,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC;EAC3G,GAAG;EACH,EAAE,MAAM,CAAC,KAAK,EAAE;EAChB,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM;EAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI;EACzC,QAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC;EACxB,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,OAAO,GAAG;EACZ,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM;EAC9B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI;EACrC,QAAQ,KAAK,CAAC,OAAO,EAAE,CAAC;EACxB,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,QAAQ,GAAG;EACb,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM;EAC9B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI;EACrC,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;EACzB,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,GAAG;EACH;;EC7FA;AACA;EACA;AACA;EACA,MAAM,QAAQ,SAAS,SAAS,CAAC;EACjC,EAAE,UAAU,CAAC;EACb,EAAE,eAAe,CAAC;EAClB,EAAE,cAAc,CAAC;EACjB,EAAE,QAAQ,CAAC;EACX,EAAE,WAAW,CAAC,MAAM,EAAE;EACtB,IAAI,KAAK,EAAE,CAAC;EACZ,IAAI,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;EACxC,IAAI,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC;EACjD,IAAI,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;EAC/C,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;EACzB,IAAI,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;EACnD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;EACpC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,GAAG;EACH,EAAE,UAAU,CAAC,OAAO,EAAE;EACtB,IAAI,IAAI,CAAC,OAAO,GAAG;EACnB,MAAM,GAAG,IAAI,CAAC,eAAe;EAC7B,MAAM,GAAG,OAAO;EAChB,KAAK,CAAC;EACN,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;EAC3C,GAAG;EACH,EAAE,IAAI,IAAI,GAAG;EACb,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;EAC7B,GAAG;EACH,EAAE,WAAW,CAAC,QAAQ,EAAE;EACxB,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;EAClD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC;EACA;EACA,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;EAC5B,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;EACjC,QAAQ,IAAI,EAAE,eAAe;EAC7B,QAAQ,QAAQ,EAAE,IAAI;EACtB,QAAQ,QAAQ;EAChB,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG;EACH,EAAE,cAAc,CAAC,QAAQ,EAAE;EAC3B,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC;EAClE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;EAC/B,MAAM,IAAI,EAAE,iBAAiB;EAC7B,MAAM,QAAQ,EAAE,IAAI;EACpB,MAAM,QAAQ;EACd,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,cAAc,GAAG;EACnB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;EACjC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;EAC3C,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;EAC1B,OAAO,MAAM;EACb,QAAQ,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;EACzC,OAAO;EACP,KAAK;EACL,GAAG;EACH,EAAE,QAAQ,GAAG;EACb,IAAI,OAAO,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE;EACpC;EACA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;EACvC,GAAG;EACH,EAAE,MAAM,OAAO,CAAC,SAAS,EAAE;EAC3B,IAAI,MAAM,eAAe,GAAG,MAAM;EAClC,MAAM,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;EACpC,QAAQ,EAAE,EAAE,MAAM;EAClB,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;EACxC,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;EACpE,WAAW;EACX,UAAU,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;EACpD,SAAS;EACT,QAAQ,MAAM,EAAE,CAAC,YAAY,EAAE,KAAK,KAAK;EACzC,UAAU,IAAI,CAAC,SAAS,CAAC;EACzB,YAAY,IAAI,EAAE,QAAQ;EAC1B,YAAY,YAAY;EACxB,YAAY,KAAK;EACjB,WAAW,CAAC,CAAC;EACb,SAAS;EACT,QAAQ,OAAO,EAAE,MAAM;EACvB,UAAU,IAAI,CAAC,SAAS,CAAC;EACzB,YAAY,IAAI,EAAE,OAAO;EACzB,WAAW,CAAC,CAAC;EACb,SAAS;EACT,QAAQ,UAAU,EAAE,MAAM;EAC1B,UAAU,IAAI,CAAC,SAAS,CAAC;EACzB,YAAY,IAAI,EAAE,UAAU;EAC5B,WAAW,CAAC,CAAC;EACb,SAAS;EACT,QAAQ,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;EACtC,QAAQ,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;EAC3C,QAAQ,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;EAC7C,OAAO,CAAC,CAAC;EACT,MAAM,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;EACnC,KAAK,CAAC;EACN,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;EACrD,IAAI,IAAI;EACR,MAAM,IAAI,CAAC,QAAQ,EAAE;EACrB,QAAQ,IAAI,CAAC,SAAS,CAAC;EACvB,UAAU,IAAI,EAAE,SAAS;EACzB,UAAU,SAAS;EACnB,SAAS,CAAC,CAAC;EACX;EACA,QAAQ,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;EACrE,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;EACjE,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;EAC5C,UAAU,IAAI,CAAC,SAAS,CAAC;EACzB,YAAY,IAAI,EAAE,SAAS;EAC3B,YAAY,OAAO;EACnB,YAAY,SAAS;EACrB,WAAW,CAAC,CAAC;EACb,SAAS;EACT,OAAO;EACP,MAAM,MAAM,IAAI,GAAG,MAAM,eAAe,EAAE,CAAC;AAC3C;EACA;EACA,MAAM,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;EAC9F,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC1E;EACA;EACA,MAAM,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;EAC/G,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;EAChF,MAAM,IAAI,CAAC,SAAS,CAAC;EACrB,QAAQ,IAAI,EAAE,SAAS;EACvB,QAAQ,IAAI;EACZ,OAAO,CAAC,CAAC;EACT,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK,CAAC,OAAO,KAAK,EAAE;EACpB,MAAM,IAAI;EACV;EACA,QAAQ,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;EAC/F,QAAQ,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3E;EACA;EACA,QAAQ,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;EACvH,QAAQ,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;EACxF,QAAQ,MAAM,KAAK,CAAC;EACpB,OAAO,SAAS;EAChB,QAAQ,IAAI,CAAC,SAAS,CAAC;EACvB,UAAU,IAAI,EAAE,OAAO;EACvB,UAAU,KAAK,EAAE,KAAK;EACtB,SAAS,CAAC,CAAC;EACX,OAAO;EACP,KAAK;EACL,GAAG;EACH,EAAE,SAAS,CAAC,MAAM,EAAE;EACpB,IAAI,MAAM,OAAO,GAAG,KAAK,IAAI;EAC7B,MAAM,QAAQ,MAAM,CAAC,IAAI;EACzB,QAAQ,KAAK,QAAQ;EACrB,UAAU,OAAO;EACjB,YAAY,GAAG,KAAK;EACpB,YAAY,YAAY,EAAE,MAAM,CAAC,YAAY;EAC7C,YAAY,aAAa,EAAE,MAAM,CAAC,KAAK;EACvC,WAAW,CAAC;EACZ,QAAQ,KAAK,OAAO;EACpB,UAAU,OAAO;EACjB,YAAY,GAAG,KAAK;EACpB,YAAY,QAAQ,EAAE,IAAI;EAC1B,WAAW,CAAC;EACZ,QAAQ,KAAK,UAAU;EACvB,UAAU,OAAO;EACjB,YAAY,GAAG,KAAK;EACpB,YAAY,QAAQ,EAAE,KAAK;EAC3B,WAAW,CAAC;EACZ,QAAQ,KAAK,SAAS;EACtB,UAAU,OAAO;EACjB,YAAY,GAAG,KAAK;EACpB,YAAY,OAAO,EAAE,MAAM,CAAC,OAAO;EACnC,YAAY,IAAI,EAAE,SAAS;EAC3B,YAAY,YAAY,EAAE,CAAC;EAC3B,YAAY,aAAa,EAAE,IAAI;EAC/B,YAAY,KAAK,EAAE,IAAI;EACvB,YAAY,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;EACzD,YAAY,MAAM,EAAE,SAAS;EAC7B,YAAY,SAAS,EAAE,MAAM,CAAC,SAAS;EACvC,YAAY,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;EACnC,WAAW,CAAC;EACZ,QAAQ,KAAK,SAAS;EACtB,UAAU,OAAO;EACjB,YAAY,GAAG,KAAK;EACpB,YAAY,IAAI,EAAE,MAAM,CAAC,IAAI;EAC7B,YAAY,YAAY,EAAE,CAAC;EAC3B,YAAY,aAAa,EAAE,IAAI;EAC/B,YAAY,KAAK,EAAE,IAAI;EACvB,YAAY,MAAM,EAAE,SAAS;EAC7B,YAAY,QAAQ,EAAE,KAAK;EAC3B,WAAW,CAAC;EACZ,QAAQ,KAAK,OAAO;EACpB,UAAU,OAAO;EACjB,YAAY,GAAG,KAAK;EACpB,YAAY,IAAI,EAAE,SAAS;EAC3B,YAAY,KAAK,EAAE,MAAM,CAAC,KAAK;EAC/B,YAAY,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,CAAC;EAChD,YAAY,aAAa,EAAE,MAAM,CAAC,KAAK;EACvC,YAAY,QAAQ,EAAE,KAAK;EAC3B,YAAY,MAAM,EAAE,OAAO;EAC3B,WAAW,CAAC;EACZ,OAAO;EACP,KAAK,CAAC;EACN,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EACrC,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM;EAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,IAAI;EAC1C,QAAQ,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;EAC1C,OAAO,CAAC,CAAC;EACT,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;EACjC,QAAQ,QAAQ,EAAE,IAAI;EACtB,QAAQ,IAAI,EAAE,SAAS;EACvB,QAAQ,MAAM;EACd,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,GAAG;EACH,CAAC;EACD,SAAS,eAAe,GAAG;EAC3B,EAAE,OAAO;EACT,IAAI,OAAO,EAAE,SAAS;EACtB,IAAI,IAAI,EAAE,SAAS;EACnB,IAAI,KAAK,EAAE,IAAI;EACf,IAAI,YAAY,EAAE,CAAC;EACnB,IAAI,aAAa,EAAE,IAAI;EACvB,IAAI,QAAQ,EAAE,KAAK;EACnB,IAAI,MAAM,EAAE,MAAM;EAClB,IAAI,SAAS,EAAE,SAAS;EACxB,IAAI,WAAW,EAAE,CAAC;EAClB,GAAG,CAAC;EACJ;;ECjOA;AACA;EACA;AACA;EACA,MAAM,aAAa,SAAS,YAAY,CAAC;EACzC,EAAE,UAAU,CAAC;EACb,EAAE,WAAW,CAAC;EACd,EAAE,SAAS,CAAC;EACZ,EAAE,WAAW,CAAC,MAAM,GAAG,EAAE,EAAE;EAC3B,IAAI,KAAK,EAAE,CAAC;EACZ,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;EACzB,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;EACzB,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;EACzB,GAAG;EACH,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;EAChC,IAAI,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC;EAClC,MAAM,aAAa,EAAE,IAAI;EACzB,MAAM,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW;EACpC,MAAM,OAAO,EAAE,MAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC;EACrD,MAAM,KAAK;EACX,KAAK,CAAC,CAAC;EACP,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EACvB,IAAI,OAAO,QAAQ,CAAC;EACpB,GAAG;EACH,EAAE,GAAG,CAAC,QAAQ,EAAE;EAChB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;EACnC,IAAI,IAAI,CAAC,MAAM,CAAC;EAChB,MAAM,IAAI,EAAE,OAAO;EACnB,MAAM,QAAQ;EACd,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,MAAM,CAAC,QAAQ,EAAE;EACnB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC;EAClE,IAAI,IAAI,CAAC,MAAM,CAAC;EAChB,MAAM,IAAI,EAAE,SAAS;EACrB,MAAM,QAAQ;EACd,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,KAAK,GAAG;EACV,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM;EAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,IAAI;EAC1C,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;EAC9B,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,MAAM,GAAG;EACX,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC;EAC3B,GAAG;EACH,EAAE,IAAI,CAAC,OAAO,EAAE;EAChB,IAAI,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW,EAAE;EAC9C,MAAM,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;EAC3B,KAAK;EACL,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;EAC9E,GAAG;EACH,EAAE,OAAO,CAAC,OAAO,GAAG,EAAE,EAAE;EACxB,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;EAChF,GAAG;EACH,EAAE,MAAM,CAAC,KAAK,EAAE;EAChB,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM;EAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI;EACzC,QAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC;EACxB,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,qBAAqB,GAAG;EAC1B,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,MAAM;EACtE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;EAC5E,MAAM,OAAO,aAAa,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAACD,MAAI,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;EAC9J,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM;EAClB,MAAM,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;EACjC,KAAK,CAAC,CAAC;EACP,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC;EAC1B,GAAG;EACH;;EC5EA,SAAS,qBAAqB,GAAG;EACjC,EAAE,OAAO;EACT,IAAI,OAAO,EAAE,OAAO,IAAI;EACxB,MAAM,OAAO,CAAC,OAAO,GAAG,YAAY;EACpC,QAAQ,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;EACxC,QAAQ,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC;EAC3E,QAAQ,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;EACzD,QAAQ,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;EACnE,QAAQ,MAAM,KAAK,GAAG;EACtB,UAAU,KAAK,EAAE,EAAE;EACnB,UAAU,UAAU,EAAE,EAAE;EACxB,SAAS,CAAC;EACV,QAAQ,IAAI,SAAS,GAAG,KAAK,CAAC;EAC9B,QAAQ,MAAM,iBAAiB,GAAG,MAAM,IAAI;EAC5C,UAAU,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE;EAClD,YAAY,UAAU,EAAE,IAAI;EAC5B,YAAY,GAAG,EAAE,MAAM;EACvB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;EAC1C,gBAAgB,SAAS,GAAG,IAAI,CAAC;EACjC,eAAe,MAAM;EACrB,gBAAgB,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM;EAC/D,kBAAkB,SAAS,GAAG,IAAI,CAAC;EACnC,iBAAiB,CAAC,CAAC;EACnB,eAAe;EACf,cAAc,OAAO,OAAO,CAAC,MAAM,CAAC;EACpC,aAAa;EACb,WAAW,CAAC,CAAC;EACb,SAAS,CAAC;AACV;EACA;EACA,QAAQ,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,KAAK,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACxG;EACA;EACA,QAAQ,MAAM,SAAS,GAAG,OAAO,IAAI,EAAE,KAAK,EAAE,QAAQ,KAAK;EAC3D,UAAU,IAAI,SAAS,EAAE;EACzB,YAAY,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;EACpC,WAAW;EACX,UAAU,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;EACjE,YAAY,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;EACzC,WAAW;EACX,UAAU,MAAM,cAAc,GAAG;EACjC,YAAY,QAAQ,EAAE,OAAO,CAAC,QAAQ;EACtC,YAAY,SAAS,EAAE,KAAK;EAC5B,YAAY,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;EACtC,WAAW,CAAC;EACZ,UAAU,iBAAiB,CAAC,cAAc,CAAC,CAAC;EAC5C,UAAU,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;EACrD,UAAU,MAAM;EAChB,YAAY,QAAQ;EACpB,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;EAC9B,UAAU,MAAM,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;EACzD,UAAU,OAAO;EACjB,YAAY,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC;EACpD,YAAY,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC;EAC/D,WAAW,CAAC;EACZ,SAAS,CAAC;EACV,QAAQ,IAAI,MAAM,CAAC;AACnB;EACA;EACA,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;EAC9B,UAAU,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;EACpE,SAAS;AACT;EACA;EACA,aAAa,IAAI,SAAS,EAAE;EAC5B,UAAU,MAAM,QAAQ,GAAG,SAAS,KAAK,UAAU,CAAC;EACpD,UAAU,MAAM,WAAW,GAAG,QAAQ,GAAG,oBAAoB,GAAG,gBAAgB,CAAC;EACjF,UAAU,MAAM,OAAO,GAAG;EAC1B,YAAY,KAAK,EAAE,QAAQ;EAC3B,YAAY,UAAU,EAAE,aAAa;EACrC,WAAW,CAAC;EACZ,UAAU,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;EACtD,UAAU,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;EAC7D,SAAS;AACT;EACA;EACA,aAAa;EACb;EACA,UAAU,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D;EACA;EACA,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EACpD,YAAY,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;EAC5D,YAAY,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;EACpD,WAAW;EACX,SAAS;EACT,QAAQ,OAAO,MAAM,CAAC;EACtB,OAAO,CAAC;EACR,KAAK;EACL,GAAG,CAAC;EACJ,CAAC;EACD,SAAS,gBAAgB,CAAC,OAAO,EAAE;EACnC,EAAE,KAAK;EACP,EAAE,UAAU;EACZ,CAAC,EAAE;EACH,EAAE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;EACrC,EAAE,OAAO,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;EAC9F,CAAC;EACD,SAAS,oBAAoB,CAAC,OAAO,EAAE;EACvC,EAAE,KAAK;EACP,EAAE,UAAU;EACZ,CAAC,EAAE;EACH,EAAE,OAAO,OAAO,CAAC,oBAAoB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;EACpF,CAAC;AACD;EACA;EACA;EACA;EACA,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;EACpC,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,CAAC;EAC1B,EAAE,OAAO,OAAO,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,WAAW,CAAC;EAChE,CAAC;AACD;EACA;EACA;EACA;EACA,SAAS,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE;EACxC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,KAAK,CAAC;EAC3D,EAAE,OAAO,OAAO,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,WAAW,CAAC;EACpE;;ECjHA;AACA;EACA,MAAM,WAAW,CAAC;EAClB,EAAE,WAAW,CAAC;EACd,EAAE,cAAc,CAAC;EACjB,EAAE,eAAe,CAAC;EAClB,EAAE,cAAc,CAAC;EACjB,EAAE,iBAAiB,CAAC;EACpB,EAAE,WAAW,CAAC;EACd,EAAE,iBAAiB,CAAC;EACpB,EAAE,kBAAkB,CAAC;EACrB,EAAE,WAAW,CAAC,MAAM,GAAG,EAAE,EAAE;EAC3B,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,UAAU,EAAE,CAAC;EAC7D,IAAI,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,IAAI,IAAI,aAAa,EAAE,CAAC;EACtE,IAAI,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;EACvD,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;EACpC,IAAI,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;EACvC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;EACzB,GAAG;EACH,EAAE,KAAK,GAAG;EACV,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;EACvB,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE,OAAO;EACvC,IAAI,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM;EAC1D,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE;EACpC,QAAQ,IAAI,CAAC,qBAAqB,EAAE,CAAC;EACrC,QAAQ,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;EACnC,OAAO;EACP,KAAK,CAAC,CAAC;EACP,IAAI,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM;EAC5D,MAAM,IAAI,aAAa,CAAC,QAAQ,EAAE,EAAE;EACpC,QAAQ,IAAI,CAAC,qBAAqB,EAAE,CAAC;EACrC,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;EACpC,OAAO;EACP,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,OAAO,GAAG;EACZ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;EACvB,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE,OAAO;EACvC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC;EAC/B,IAAI,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;EACvC,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC;EAChC,IAAI,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;EACxC,GAAG;EACH,EAAE,UAAU,CAAC,OAAO,EAAE;EACtB,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;EACpC,MAAM,GAAG,OAAO;EAChB,MAAM,WAAW,EAAE,UAAU;EAC7B,KAAK,CAAC,CAAC,MAAM,CAAC;EACd,GAAG;EACH,EAAE,UAAU,CAAC,OAAO,EAAE;EACtB,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;EACvC,MAAM,GAAG,OAAO;EAChB,MAAM,MAAM,EAAE,SAAS;EACvB,KAAK,CAAC,CAAC,MAAM,CAAC;EACd,GAAG;EACH,EAAE,YAAY,CAAC,QAAQ,EAAE;EACzB,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;EACjC,MAAM,QAAQ;EACd,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;EACnB,GAAG;EACH,EAAE,eAAe,CAAC,OAAO,EAAE;EAC3B,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;EAC3D,IAAI,OAAO,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;EAC/E,GAAG;EACH,EAAE,cAAc,CAAC,OAAO,EAAE;EAC1B,IAAI,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;EACtD,MAAM,QAAQ;EACd,MAAM,KAAK;EACX,KAAK,KAAK;EACV,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;EAC9B,MAAM,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;EAC9B,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;EAC3C,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;EACxC,MAAM,QAAQ;EACd,KAAK,CAAC,CAAC;EACP,IAAI,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;EACvC,IAAI,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;EACrD,IAAI,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;EACrC,MAAM,OAAO,SAAS,CAAC;EACvB,KAAK;EACL,IAAI,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC;EACtD,MAAM,QAAQ;EACd,KAAK,CAAC,CAAC;EACP,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE;EACxE,MAAM,GAAG,OAAO;EAChB,MAAM,MAAM,EAAE,IAAI;EAClB,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;EAC5C,IAAI,OAAO,aAAa,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;EAChF,MAAM,QAAQ;EACd,KAAK,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EACtE,GAAG;EACH,EAAE,aAAa,CAAC,QAAQ,EAAE;EAC1B,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;EACjC,MAAM,QAAQ;EACd,KAAK,CAAC,EAAE,KAAK,CAAC;EACd,GAAG;EACH,EAAE,aAAa,CAAC,OAAO,EAAE;EACzB,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;EACxC,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM;EAC9B,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI;EACnD,QAAQ,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;EACjC,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE;EACjC,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;EACxC,IAAI,MAAM,cAAc,GAAG;EAC3B,MAAM,IAAI,EAAE,QAAQ;EACpB,MAAM,GAAG,OAAO;EAChB,KAAK,CAAC;EACN,IAAI,OAAO,aAAa,CAAC,KAAK,CAAC,MAAM;EACrC,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI;EACnD,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;EACtB,OAAO,CAAC,CAAC;EACT,MAAM,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;EAC1D,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,aAAa,CAAC,OAAO,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE;EAClD,IAAI,IAAI,OAAO,aAAa,CAAC,MAAM,KAAK,WAAW,EAAE;EACrD,MAAM,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;EAClC,KAAK;EACL,IAAI,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;EAC5H,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAACA,MAAI,CAAC,CAAC,KAAK,CAACA,MAAI,CAAC,CAAC;EACxD,GAAG;EACH,EAAE,iBAAiB,CAAC,OAAO,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE;EAChD,IAAI,OAAO,aAAa,CAAC,KAAK,CAAC,MAAM;EACrC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI;EACzD,QAAQ,KAAK,CAAC,UAAU,EAAE,CAAC;EAC3B,OAAO,CAAC,CAAC;EACT,MAAM,IAAI,OAAO,CAAC,WAAW,KAAK,MAAM,EAAE;EAC1C,QAAQ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;EACjC,OAAO;EACP,MAAM,MAAM,cAAc,GAAG;EAC7B,QAAQ,GAAG,OAAO;EAClB,QAAQ,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,IAAI,QAAQ;EAC7D,OAAO,CAAC;EACR,MAAM,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;EAC1D,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,cAAc,CAAC,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE;EACxC,IAAI,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE;EAC1J,MAAM,GAAG,OAAO;EAChB,MAAM,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI;EACnD,KAAK,CAAC,CAAC,CAAC,CAAC;EACT,IAAI,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAACA,MAAI,CAAC,CAAC;EACnD,IAAI,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE;EAChC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAACA,MAAI,CAAC,CAAC;EACpC,KAAK;EACL,IAAI,OAAO,OAAO,CAAC;EACnB,GAAG;EACH,EAAE,UAAU,CAAC,OAAO,EAAE;EACtB,IAAI,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC/D;EACA;EACA,IAAI,IAAI,OAAO,gBAAgB,CAAC,KAAK,KAAK,WAAW,EAAE;EACvD,MAAM,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC;EACrC,KAAK;EACL,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;EACjE,IAAI,OAAO,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;EAC/H,GAAG;EACH,EAAE,aAAa,CAAC,OAAO,EAAE;EACzB,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAACA,MAAI,CAAC,CAAC,KAAK,CAACA,MAAI,CAAC,CAAC;EAC3D,GAAG;EACH,EAAE,kBAAkB,CAAC,OAAO,EAAE;EAC9B,IAAI,OAAO,CAAC,QAAQ,GAAG,qBAAqB,EAAE,CAAC;EAC/C,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;EACpC,GAAG;EACH,EAAE,qBAAqB,CAAC,OAAO,EAAE;EACjC,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,CAACA,MAAI,CAAC,CAAC,KAAK,CAACA,MAAI,CAAC,CAAC;EACnE,GAAG;EACH,EAAE,qBAAqB,GAAG;EAC1B,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC;EACvD,GAAG;EACH,EAAE,aAAa,GAAG;EAClB,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC;EAC5B,GAAG;EACH,EAAE,gBAAgB,GAAG;EACrB,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC;EAC/B,GAAG;EACH,EAAE,iBAAiB,GAAG;EACtB,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC;EAChC,GAAG;EACH,EAAE,iBAAiB,CAAC,OAAO,EAAE;EAC7B,IAAI,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;EACnC,GAAG;EACH,EAAE,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE;EACtC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;EAC/C,MAAM,QAAQ;EACd,MAAM,cAAc,EAAE,OAAO;EAC7B,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,gBAAgB,CAAC,QAAQ,EAAE;EAC7B,IAAI,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;EACvD,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;EACpB,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY,IAAI;EACrC,MAAM,IAAI,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE;EAC5D,QAAQ,MAAM,GAAG;EACjB,UAAU,GAAG,MAAM;EACnB,UAAU,GAAG,YAAY,CAAC,cAAc;EACxC,SAAS,CAAC;EACV,OAAO;EACP,KAAK,CAAC,CAAC;EACP,IAAI,OAAO,MAAM,CAAC;EAClB,GAAG;EACH,EAAE,mBAAmB,CAAC,WAAW,EAAE,OAAO,EAAE;EAC5C,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;EACrD,MAAM,WAAW;EACjB,MAAM,cAAc,EAAE,OAAO;EAC7B,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,mBAAmB,CAAC,WAAW,EAAE;EACnC,IAAI,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;EAC1D,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;EACpB,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY,IAAI;EACrC,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE;EAClE,QAAQ,MAAM,GAAG;EACjB,UAAU,GAAG,MAAM;EACnB,UAAU,GAAG,YAAY,CAAC,cAAc;EACxC,SAAS,CAAC;EACV,OAAO;EACP,KAAK,CAAC,CAAC;EACP,IAAI,OAAO,MAAM,CAAC;EAClB,GAAG;EACH,EAAE,mBAAmB,CAAC,OAAO,EAAE;EAC/B,IAAI,IAAI,OAAO,EAAE,UAAU,EAAE;EAC7B,MAAM,OAAO,OAAO,CAAC;EACrB,KAAK;EACL,IAAI,MAAM,gBAAgB,GAAG;EAC7B,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO;EACrC,MAAM,IAAI,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;EACvE,MAAM,GAAG,OAAO;EAChB,MAAM,UAAU,EAAE,IAAI;EACtB,KAAK,CAAC;EACN,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;EACrC,MAAM,gBAAgB,CAAC,SAAS,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;EACtG,KAAK;AACL;EACA;EACA,IAAI,IAAI,OAAO,gBAAgB,CAAC,kBAAkB,KAAK,WAAW,EAAE;EACpE,MAAM,gBAAgB,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,KAAK,QAAQ,CAAC;EACtF,KAAK;EACL,IAAI,IAAI,OAAO,gBAAgB,CAAC,WAAW,KAAK,WAAW,EAAE;EAC7D,MAAM,gBAAgB,CAAC,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC;EACjE,KAAK;EACL,IAAI,OAAO,gBAAgB,CAAC;EAC5B,GAAG;EACH,EAAE,sBAAsB,CAAC,OAAO,EAAE;EAClC,IAAI,IAAI,OAAO,EAAE,UAAU,EAAE;EAC7B,MAAM,OAAO,OAAO,CAAC;EACrB,KAAK;EACL,IAAI,OAAO;EACX,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS;EACvC,MAAM,IAAI,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;EAChF,MAAM,GAAG,OAAO;EAChB,MAAM,UAAU,EAAE,IAAI;EACtB,KAAK,CAAC;EACN,GAAG;EACH,EAAE,KAAK,GAAG;EACV,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;EAC7B,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;EAChC,GAAG;EACH;;EC3QA,MAAM,aAAa,SAAS,YAAY,CAAC;EACzC,EAAE,OAAO,CAAC;EACV,EAAE,aAAa,GAAG,SAAS,CAAC;EAC5B,EAAE,yBAAyB,GAAG,SAAS,CAAC;EACxC,EAAE,cAAc,GAAG,SAAS,CAAC;EAC7B,EAAE,mBAAmB,CAAC;EACtB,EAAE,qBAAqB,CAAC;EACxB,EAAE,oBAAoB,CAAC;EACvB,EAAE,YAAY,CAAC;EACf,EAAE,SAAS,CAAC;EACZ,EAAE,aAAa,CAAC;EAChB,EAAE,eAAe,CAAC;EAClB,EAAE,kBAAkB,CAAC;EACrB,EAAE,uBAAuB,CAAC;EAC1B,EAAE,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;EAC5B,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE;EAC/B,IAAI,KAAK,EAAE,CAAC;EACZ,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;EAC1B,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;EAC3B,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;EAC7B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;EACvB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;EAC7B,GAAG;EACH,EAAE,WAAW,GAAG;EAChB,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC3C,GAAG;EACH,EAAE,WAAW,GAAG;EAChB,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;EACrC,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;EAC3C,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;EAChE,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;EAC7B,OAAO;EACP,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;EAC3B,KAAK;EACL,GAAG;EACH,EAAE,aAAa,GAAG;EAClB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;EAChC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;EACrB,KAAK;EACL,GAAG;EACH,EAAE,sBAAsB,GAAG;EAC3B,IAAI,OAAO,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;EAC5F,GAAG;EACH,EAAE,wBAAwB,GAAG;EAC7B,IAAI,OAAO,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;EAC9F,GAAG;EACH,EAAE,OAAO,GAAG;EACZ,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;EACxB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;EAC9B,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;EACjC,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;EAC5C,GAAG;EACH,EAAE,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE;EACrC,IAAI,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;EACrC,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;EACzC,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;EAC7D,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;EACzD,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;EAC1C,QAAQ,IAAI,EAAE,wBAAwB;EACtC,QAAQ,KAAK,EAAE,IAAI,CAAC,aAAa;EACjC,QAAQ,QAAQ,EAAE,IAAI;EACtB,OAAO,CAAC,CAAC;EACT,KAAK;EACL,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;EAClG,MAAM,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;EAC1D,KAAK;AACL;EACA;EACA,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;EAChC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;EACnD,KAAK;EACL,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;EACxB,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;AACxC;EACA;EACA,IAAI,IAAI,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;EACpG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;EAC3B,KAAK;AACL;EACA;EACA,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AACtC;EACA;EACA,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,WAAW,CAAC,SAAS,CAAC,EAAE;EAC3J,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;EACjC,KAAK;EACL,IAAI,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAC/D;EACA;EACA,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO,IAAI,mBAAmB,KAAK,IAAI,CAAC,uBAAuB,CAAC,EAAE;EAC/J,MAAM,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;EACvD,KAAK;EACL,GAAG;EACH,EAAE,mBAAmB,CAAC,OAAO,EAAE;EAC/B,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;EAC5E,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;EAC7C,GAAG;EACH,EAAE,gBAAgB,GAAG;EACrB,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC;EAC/B,GAAG;EACH,EAAE,WAAW,CAAC,MAAM,EAAE;EACtB,IAAI,MAAM,aAAa,GAAG,EAAE,CAAC;EAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;EACvC,MAAM,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE;EAChD,QAAQ,YAAY,EAAE,KAAK;EAC3B,QAAQ,UAAU,EAAE,IAAI;EACxB,QAAQ,GAAG,EAAE,MAAM;EACnB,UAAU,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EACtC,UAAU,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;EAC7B,SAAS;EACT,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,IAAI,OAAO,aAAa,CAAC;EACzB,GAAG;EACH,EAAE,eAAe,GAAG;EACpB,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC;EAC9B,GAAG;EACH,EAAE,OAAO,CAAC;EACV,IAAI,GAAG,OAAO;EACd,GAAG,GAAG,EAAE,EAAE;EACV,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC;EACtB,MAAM,GAAG,OAAO;EAChB,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,eAAe,CAAC,OAAO,EAAE;EAC3B,IAAI,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;EACvE,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;EACrF,IAAI,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC;EACtC,IAAI,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;EAChF,GAAG;EACH,EAAE,KAAK,CAAC,YAAY,EAAE;EACtB,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC;EAC9B,MAAM,GAAG,YAAY;EACrB,MAAM,aAAa,EAAE,YAAY,CAAC,aAAa,IAAI,IAAI;EACvD,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM;EAClB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;EAC3B,MAAM,OAAO,IAAI,CAAC,cAAc,CAAC;EACjC,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,aAAa,CAAC,YAAY,EAAE;EAC9B;EACA,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;AACxB;EACA;EACA,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;EACvE,IAAI,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE;EACrC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAACA,MAAI,CAAC,CAAC;EACpC,KAAK;EACL,IAAI,OAAO,OAAO,CAAC;EACnB,GAAG;EACH,EAAE,mBAAmB,GAAG;EACxB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;EAC9B,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;EAC5F,MAAM,OAAO;EACb,KAAK;EACL,IAAI,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC3F;EACA;EACA;EACA,IAAI,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC;EAC7B,IAAI,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,MAAM;EAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;EACxC,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;EAC7B,OAAO;EACP,KAAK,EAAE,OAAO,CAAC,CAAC;EAChB,GAAG;EACH,EAAE,uBAAuB,GAAG;EAC5B,IAAI,OAAO,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC;EACnL,GAAG;EACH,EAAE,sBAAsB,CAAC,YAAY,EAAE;EACvC,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;EACjC,IAAI,IAAI,CAAC,uBAAuB,GAAG,YAAY,CAAC;EAChD,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,IAAI,CAAC,uBAAuB,KAAK,CAAC,EAAE;EAC3I,MAAM,OAAO;EACb,KAAK;EACL,IAAI,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC,MAAM;EAChD,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,2BAA2B,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE;EAChF,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;EAC7B,OAAO;EACP,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;EACrC,GAAG;EACH,EAAE,aAAa,GAAG;EAClB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;EAC/B,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;EAChE,GAAG;EACH,EAAE,kBAAkB,GAAG;EACvB,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE;EAC9B,MAAM,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;EACzC,MAAM,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;EACvC,KAAK;EACL,GAAG;EACH,EAAE,qBAAqB,GAAG;EAC1B,IAAI,IAAI,IAAI,CAAC,kBAAkB,EAAE;EACjC,MAAM,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;EAC7C,MAAM,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;EAC1C,KAAK;EACL,GAAG;EACH,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE;EAC/B,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;EACzC,IAAI,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;EACrC,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;EAC3C,IAAI,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC;EACrD,IAAI,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC;EACzD,IAAI,MAAM,WAAW,GAAG,KAAK,KAAK,SAAS,CAAC;EAC5C,IAAI,MAAM,iBAAiB,GAAG,WAAW,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC;EACzF,IAAI,MAAM,eAAe,GAAG,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC;EAC1F,IAAI,MAAM;EACV,MAAM,KAAK;EACX,KAAK,GAAG,KAAK,CAAC;EACd,IAAI,IAAI;EACR,MAAM,KAAK;EACX,MAAM,cAAc;EACpB,MAAM,WAAW;EACjB,MAAM,MAAM;EACZ,KAAK,GAAG,KAAK,CAAC;EACd,IAAI,IAAI,iBAAiB,GAAG,KAAK,CAAC;EAClC,IAAI,IAAI,IAAI,CAAC;AACb;EACA;EACA,IAAI,IAAI,OAAO,CAAC,kBAAkB,EAAE;EACpC,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;EAC1C,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,IAAI,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;EAC1E,MAAM,MAAM,eAAe,GAAG,OAAO,IAAI,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;EACvG,MAAM,IAAI,YAAY,IAAI,eAAe,EAAE;EAC3C,QAAQ,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,UAAU,GAAG,QAAQ,CAAC;EAClF,QAAQ,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;EAClC,UAAU,MAAM,GAAG,SAAS,CAAC;EAC7B,SAAS;EACT,OAAO;EACP,MAAM,IAAI,OAAO,CAAC,kBAAkB,KAAK,aAAa,EAAE;EACxD,QAAQ,WAAW,GAAG,MAAM,CAAC;EAC7B,OAAO;EACP,KAAK;AACL;EACA;EACA,IAAI,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;EAC7D;EACA,MAAM,IAAI,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE;EACnG,QAAQ,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;EAClC,OAAO,MAAM;EACb,QAAQ,IAAI;EACZ,UAAU,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;EAC1C,UAAU,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;EAC5C,UAAU,IAAI,GAAG,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;EAC9D,UAAU,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;EACpC,UAAU,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;EACnC,SAAS,CAAC,OAAO,WAAW,EAAE;EAC9B,UAAU,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;EAC1C,SAAS;EACT,OAAO;EACP,KAAK;EACL;EACA,SAAS;EACT,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;EACxB,KAAK;AACL;EACA;EACA,IAAI,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,WAAW,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,MAAM,KAAK,SAAS,EAAE;EAC/G,MAAM,IAAI,eAAe,CAAC;AAC1B;EACA;EACA,MAAM,IAAI,UAAU,EAAE,iBAAiB,IAAI,OAAO,CAAC,eAAe,KAAK,iBAAiB,EAAE,eAAe,EAAE;EAC3G,QAAQ,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC;EAC1C,OAAO,MAAM;EACb,QAAQ,eAAe,GAAG,OAAO,OAAO,CAAC,eAAe,KAAK,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;EACnJ,QAAQ,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE;EACtE,UAAU,IAAI;EACd,YAAY,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;EAC9D,YAAY,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;EACrC,WAAW,CAAC,OAAO,WAAW,EAAE;EAChC,YAAY,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;EAC5C,WAAW;EACX,SAAS;EACT,OAAO;EACP,MAAM,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE;EAClD,QAAQ,MAAM,GAAG,SAAS,CAAC;EAC3B,QAAQ,IAAI,GAAG,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;EACvE,QAAQ,iBAAiB,GAAG,IAAI,CAAC;EACjC,OAAO;EACP,KAAK;EACL,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;EAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;EAChC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;EAChC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;EAClC,MAAM,MAAM,GAAG,OAAO,CAAC;EACvB,KAAK;EACL,IAAI,MAAM,UAAU,GAAG,WAAW,KAAK,UAAU,CAAC;EAClD,IAAI,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,CAAC;EAC3C,IAAI,MAAM,OAAO,GAAG,MAAM,KAAK,OAAO,CAAC;EACvC,IAAI,MAAM,SAAS,GAAG,SAAS,IAAI,UAAU,CAAC;EAC9C,IAAI,MAAM,MAAM,GAAG;EACnB,MAAM,MAAM;EACZ,MAAM,WAAW;EACjB,MAAM,SAAS;EACf,MAAM,SAAS,EAAE,MAAM,KAAK,SAAS;EACrC,MAAM,OAAO;EACb,MAAM,gBAAgB,EAAE,SAAS;EACjC,MAAM,SAAS;EACf,MAAM,IAAI;EACV,MAAM,aAAa,EAAE,KAAK,CAAC,aAAa;EACxC,MAAM,KAAK;EACX,MAAM,cAAc;EACpB,MAAM,YAAY,EAAE,KAAK,CAAC,iBAAiB;EAC3C,MAAM,aAAa,EAAE,KAAK,CAAC,kBAAkB;EAC7C,MAAM,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;EAC9C,MAAM,SAAS,EAAE,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC;EACxE,MAAM,mBAAmB,EAAE,KAAK,CAAC,eAAe,GAAG,iBAAiB,CAAC,eAAe,IAAI,KAAK,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,gBAAgB;EACnJ,MAAM,UAAU;EAChB,MAAM,YAAY,EAAE,UAAU,IAAI,CAAC,SAAS;EAC5C,MAAM,cAAc,EAAE,OAAO,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC;EAC1D,MAAM,QAAQ,EAAE,WAAW,KAAK,QAAQ;EACxC,MAAM,iBAAiB;EACvB,MAAM,cAAc,EAAE,OAAO,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC;EAC1D,MAAM,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;EACtC,MAAM,OAAO,EAAE,IAAI,CAAC,OAAO;EAC3B,KAAK,CAAC;EACN,IAAI,OAAO,MAAM,CAAC;EAClB,GAAG;EACH,EAAE,aAAa,CAAC,aAAa,EAAE;EAC/B,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;EAC3C,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;EAC3E,IAAI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;EACxD,IAAI,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC;AAC9C;EACA;EACA,IAAI,IAAI,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;EACrD,MAAM,OAAO;EACb,KAAK;EACL,IAAI,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;AACrC;EACA;EACA,IAAI,MAAM,oBAAoB,GAAG,EAAE,CAAC;EACpC,IAAI,MAAM,qBAAqB,GAAG,MAAM;EACxC,MAAM,IAAI,CAAC,UAAU,EAAE;EACvB,QAAQ,OAAO,IAAI,CAAC;EACpB,OAAO;EACP,MAAM,MAAM;EACZ,QAAQ,mBAAmB;EAC3B,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;EACvB,MAAM,IAAI,mBAAmB,KAAK,KAAK,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;EAC7F,QAAQ,OAAO,IAAI,CAAC;EACpB,OAAO;EACP,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;EAC/E,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;EACpC,QAAQ,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;EACnC,OAAO;EACP,MAAM,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI;EAC1D,QAAQ,MAAM,QAAQ,GAAG,GAAG,CAAC;EAC7B,QAAQ,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC;EAC/E,QAAQ,OAAO,OAAO,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EACtD,OAAO,CAAC,CAAC;EACT,KAAK,CAAC;EACN,IAAI,IAAI,aAAa,EAAE,SAAS,KAAK,KAAK,IAAI,qBAAqB,EAAE,EAAE;EACvE,MAAM,oBAAoB,CAAC,SAAS,GAAG,IAAI,CAAC;EAC5C,KAAK;EACL,IAAI,IAAI,CAAC,OAAO,CAAC;EACjB,MAAM,GAAG,oBAAoB;EAC7B,MAAM,GAAG,aAAa;EACtB,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,YAAY,GAAG;EACjB,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;EACjF,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,aAAa,EAAE;EACtC,MAAM,OAAO;EACb,KAAK;EACL,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;EACzC,IAAI,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;EAC/B,IAAI,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC,KAAK,CAAC;EACjD,IAAI,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC;EACpD,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;EAC7B,MAAM,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;EACtC,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;EAC9B,KAAK;EACL,GAAG;EACH,EAAE,aAAa,CAAC,MAAM,EAAE;EACxB,IAAI,MAAM,aAAa,GAAG,EAAE,CAAC;EAC7B,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;EACnC,MAAM,aAAa,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;EAC/C,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;EAC3E,MAAM,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;EACnC,KAAK;EACL,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;EACtC,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;EAC7B,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;EAC3B,KAAK;EACL,GAAG;EACH,EAAE,OAAO,CAAC,aAAa,EAAE;EACzB,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM;EAC9B;EACA,MAAM,IAAI,aAAa,CAAC,SAAS,EAAE;EACnC,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;EAC3D,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EACjE,OAAO,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE;EACxC,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;EAC1D,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;EACvE,OAAO;AACP;EACA;EACA,MAAM,IAAI,aAAa,CAAC,SAAS,EAAE;EACnC,QAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI;EAC3C,UAAU,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;EACxC,SAAS,CAAC,CAAC;EACX,OAAO;AACP;EACA;EACA,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;EAC1C,QAAQ,KAAK,EAAE,IAAI,CAAC,aAAa;EACjC,QAAQ,IAAI,EAAE,wBAAwB;EACtC,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,GAAG;EACH,CAAC;EACD,SAAS,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE;EAC3C,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC;EACxI,CAAC;EACD,SAAS,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE;EAC5C,EAAE,OAAO,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;EACrI,CAAC;EACD,SAAS,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;EAC9C,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;EACjC,IAAI,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;EACrE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;EAC5E,GAAG;EACH,EAAE,OAAO,KAAK,CAAC;EACf,CAAC;EACD,SAAS,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE;EACvE,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;EACjL,CAAC;EACD,SAAS,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE;EACjC,EAAE,OAAO,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;EAChD;;EChbA,SAAS,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE;EACpC,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;EACtD,CAAC;EACD,SAAS,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;EACxC,EAAE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC9B,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;EACtB,EAAE,OAAO,IAAI,CAAC;EACd,CAAC;EACD,MAAM,eAAe,SAAS,YAAY,CAAC;EAC3C,EAAE,OAAO,CAAC;EACV,EAAE,OAAO,CAAC;EACV,EAAE,QAAQ,CAAC;EACX,EAAE,UAAU,CAAC;EACb,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE;EAC/B,IAAI,KAAK,EAAE,CAAC;EACZ,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;EAC1B,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;EACvB,IAAI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;EACtB,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;EACzB,IAAI,IAAI,OAAO,EAAE;EACjB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;EAC/B,KAAK;EACL,GAAG;EACH,EAAE,WAAW,GAAG;EAChB,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;EACrC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,IAAI;EAC1C,QAAQ,QAAQ,CAAC,SAAS,CAAC,MAAM,IAAI;EACrC,UAAU,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;EAC3C,SAAS,CAAC,CAAC;EACX,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG;EACH,EAAE,aAAa,GAAG;EAClB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;EAChC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;EACrB,KAAK;EACL,GAAG;EACH,EAAE,OAAO,GAAG;EACZ,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;EACxB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,IAAI;EACxC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;EACzB,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE;EACrC,IAAI,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;EAC5B,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM;EAC9B,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC;EAC5C,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5E;EACA;EACA,MAAM,kBAAkB,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC,CAAC;EACjH,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;EAC3E,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;EAClF,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAK,QAAQ,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;EACvG,MAAM,IAAI,aAAa,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE;EAC3E,QAAQ,OAAO;EACf,OAAO;EACP,MAAM,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;EACrC,MAAM,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;EAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;EAChC,QAAQ,OAAO;EACf,OAAO;EACP,MAAM,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI;EAClE,QAAQ,QAAQ,CAAC,OAAO,EAAE,CAAC;EAC3B,OAAO,CAAC,CAAC;EACT,MAAM,UAAU,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI;EAClE,QAAQ,QAAQ,CAAC,SAAS,CAAC,MAAM,IAAI;EACrC,UAAU,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;EAC3C,SAAS,CAAC,CAAC;EACX,OAAO,CAAC,CAAC;EACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;EACrB,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,gBAAgB,GAAG;EACrB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC;EACxB,GAAG;EACH,EAAE,UAAU,GAAG;EACf,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;EACvE,GAAG;EACH,EAAE,YAAY,GAAG;EACjB,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC;EAC3B,GAAG;EACH,EAAE,mBAAmB,CAAC,OAAO,EAAE;EAC/B,IAAI,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;EAC9H,GAAG;EACH,EAAE,sBAAsB,CAAC,OAAO,EAAE;EAClC,IAAI,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC;EAC1C,IAAI,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;EACpG,IAAI,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,IAAI;EAChF,MAAM,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,KAAK,gBAAgB,CAAC,SAAS,CAAC,CAAC;EAC9G,MAAM,IAAI,KAAK,IAAI,IAAI,EAAE;EACzB,QAAQ,OAAO,CAAC;EAChB,UAAU,qBAAqB,EAAE,gBAAgB;EACjD,UAAU,QAAQ,EAAE,KAAK;EACzB,SAAS,CAAC,CAAC;EACX,OAAO;EACP,MAAM,OAAO,EAAE,CAAC;EAChB,KAAK,CAAC,CAAC;EACP,IAAI,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;EACrG,IAAI,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;EACxI,IAAI,MAAM,WAAW,GAAG,OAAO,IAAI;EACnC,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;EACzE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,gBAAgB,CAAC,SAAS,CAAC,CAAC;EAC5G,MAAM,OAAO,eAAe,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;EAClF,KAAK,CAAC;EACN,IAAI,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,IAAI;EACjE,MAAM,OAAO;EACb,QAAQ,qBAAqB,EAAE,OAAO;EACtC,QAAQ,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC;EACtC,OAAO,CAAC;EACR,KAAK,CAAC,CAAC;EACP,IAAI,MAAM,2BAA2B,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;EAClK,IAAI,OAAO,iBAAiB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;EAC5F,GAAG;EACH,EAAE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE;EAC9B,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;EACpD,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;EACtB,MAAM,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;EAC5D,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;EACrB,KAAK;EACL,GAAG;EACH,EAAE,OAAO,GAAG;EACZ,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM;EAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI;EACzC,QAAQ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EAC/B,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,GAAG;EACH;;ECjIA,MAAM,qBAAqB,SAAS,aAAa,CAAC;EAClD;AACA;EACA;AACA;EACA;AACA;EACA;EACA,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE;EAC/B,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAC3B,GAAG;EACH,EAAE,WAAW,GAAG;EAChB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;EACxB,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACvD,IAAI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC/D,GAAG;EACH,EAAE,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE;EACrC,IAAI,KAAK,CAAC,UAAU,CAAC;EACrB,MAAM,GAAG,OAAO;EAChB,MAAM,QAAQ,EAAE,qBAAqB,EAAE;EACvC,KAAK,EAAE,aAAa,CAAC,CAAC;EACtB,GAAG;EACH,EAAE,mBAAmB,CAAC,OAAO,EAAE;EAC/B,IAAI,OAAO,CAAC,QAAQ,GAAG,qBAAqB,EAAE,CAAC;EAC/C,IAAI,OAAO,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;EAC9C,GAAG;EACH,EAAE,aAAa,CAAC,OAAO,EAAE;EACzB,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC;EACtB,MAAM,GAAG,OAAO;EAChB,MAAM,IAAI,EAAE;EACZ,QAAQ,SAAS,EAAE;EACnB,UAAU,SAAS,EAAE,SAAS;EAC9B,SAAS;EACT,OAAO;EACP,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,iBAAiB,CAAC,OAAO,EAAE;EAC7B,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC;EACtB,MAAM,GAAG,OAAO;EAChB,MAAM,IAAI,EAAE;EACZ,QAAQ,SAAS,EAAE;EACnB,UAAU,SAAS,EAAE,UAAU;EAC/B,SAAS;EACT,OAAO;EACP,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE;EAC/B,IAAI,MAAM;EACV,MAAM,KAAK;EACX,KAAK,GAAG,KAAK,CAAC;EACd,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;EACtD,IAAI,MAAM;EACV,MAAM,UAAU;EAChB,MAAM,YAAY;EAClB,KAAK,GAAG,MAAM,CAAC;EACf,IAAI,MAAM,kBAAkB,GAAG,UAAU,IAAI,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,KAAK,SAAS,CAAC;EACjG,IAAI,MAAM,sBAAsB,GAAG,UAAU,IAAI,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,KAAK,UAAU,CAAC;EACtG,IAAI,OAAO;EACX,MAAM,GAAG,MAAM;EACf,MAAM,aAAa,EAAE,IAAI,CAAC,aAAa;EACvC,MAAM,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;EAC/C,MAAM,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;EACnD,MAAM,eAAe,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;EAC3D,MAAM,kBAAkB;EACxB,MAAM,sBAAsB;EAC5B,MAAM,YAAY,EAAE,YAAY,IAAI,CAAC,kBAAkB,IAAI,CAAC,sBAAsB;EAClF,KAAK,CAAC;EACN,GAAG;EACH;;EClEA;AACA;EACA;AACA;EACA,MAAM,gBAAgB,SAAS,YAAY,CAAC;EAC5C,EAAE,OAAO,CAAC;EACV,EAAE,cAAc,GAAG,SAAS,CAAC;EAC7B,EAAE,gBAAgB,CAAC;EACnB,EAAE,cAAc,CAAC;EACjB,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE;EAC/B,IAAI,KAAK,EAAE,CAAC;EACZ,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;EAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;EAC7B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;EACvB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;EACzB,GAAG;EACH,EAAE,WAAW,GAAG;EAChB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACzC,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACvC,GAAG;EACH,EAAE,UAAU,CAAC,OAAO,EAAE;EACtB,IAAI,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;EACrC,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;EAChE,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;EACzD,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;EAC7C,QAAQ,IAAI,EAAE,wBAAwB;EACtC,QAAQ,QAAQ,EAAE,IAAI,CAAC,gBAAgB;EACvC,QAAQ,QAAQ,EAAE,IAAI;EACtB,OAAO,CAAC,CAAC;EACT,KAAK;EACL,IAAI,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EACpD,GAAG;EACH,EAAE,aAAa,GAAG;EAClB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;EAChC,MAAM,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;EAClD,KAAK;EACL,GAAG;EACH,EAAE,gBAAgB,CAAC,MAAM,EAAE;EAC3B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;EACzB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;EACzB,GAAG;EACH,EAAE,gBAAgB,GAAG;EACrB,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC;EAC/B,GAAG;EACH,EAAE,KAAK,GAAG;EACV,IAAI,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;EACtC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;EACzB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;EACnB,GAAG;EACH,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE;EAC7B,IAAI,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;EAClC,IAAI,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;EAChD,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;EAC9F,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;EAC5C,IAAI,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;EACpD,GAAG;EACH,EAAE,aAAa,GAAG;EAClB,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC;EACpE,IAAI,IAAI,CAAC,cAAc,GAAG;EAC1B,MAAM,GAAG,KAAK;EACd,MAAM,SAAS,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS;EAC3C,MAAM,SAAS,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS;EAC3C,MAAM,OAAO,EAAE,KAAK,CAAC,MAAM,KAAK,OAAO;EACvC,MAAM,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,MAAM;EACrC,MAAM,MAAM,EAAE,IAAI,CAAC,MAAM;EACzB,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;EACvB,KAAK,CAAC;EACN,GAAG;EACH,EAAE,OAAO,CAAC,MAAM,EAAE;EAClB,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM;EAC9B;EACA,MAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;EACtD,QAAQ,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,EAAE;EACxC,UAAU,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;EACnH,UAAU,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;EACzH,SAAS,MAAM,IAAI,MAAM,EAAE,IAAI,KAAK,OAAO,EAAE;EAC7C,UAAU,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;EAClH,UAAU,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;EAC/H,SAAS;EACT,OAAO;AACP;EACA;EACA,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI;EACzC,QAAQ,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;EACtC,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,GAAG;EACH;;EC5FA;AACA;EACA;AACA;EACA,SAAS,iBAAiB,CAAC,QAAQ,EAAE;EACrC,EAAE,OAAO;EACT,IAAI,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW;EAC7C,IAAI,KAAK,EAAE,QAAQ,CAAC,KAAK;EACzB,GAAG,CAAC;EACJ,CAAC;AACD;EACA;EACA;EACA;EACA;EACA,SAAS,cAAc,CAAC,KAAK,EAAE;EAC/B,EAAE,OAAO;EACT,IAAI,KAAK,EAAE,KAAK,CAAC,KAAK;EACtB,IAAI,QAAQ,EAAE,KAAK,CAAC,QAAQ;EAC5B,IAAI,SAAS,EAAE,KAAK,CAAC,SAAS;EAC9B,GAAG,CAAC;EACJ,CAAC;EACD,SAAS,8BAA8B,CAAC,QAAQ,EAAE;EAClD,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;EACjC,CAAC;EACD,SAAS,2BAA2B,CAAC,KAAK,EAAE;EAC5C,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;EAC1C,CAAC;EACD,SAAS,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE;EACzC,EAAE,MAAM,SAAS,GAAG,EAAE,CAAC;EACvB,EAAE,MAAM,OAAO,GAAG,EAAE,CAAC;EACrB,EAAE,IAAI,OAAO,CAAC,kBAAkB,KAAK,KAAK,EAAE;EAC5C,IAAI,MAAM,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,IAAI,8BAA8B,CAAC;EACtG,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI;EAC3D,MAAM,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE;EAC7C,QAAQ,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;EACpD,OAAO;EACP,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,IAAI,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE;EAC1C,IAAI,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,2BAA2B,CAAC;EAC7F,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI;EACrD,MAAM,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE;EACvC,QAAQ,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;EAC5C,OAAO;EACP,KAAK,CAAC,CAAC;EACP,GAAG;EACH,EAAE,OAAO;EACT,IAAI,SAAS;EACb,IAAI,OAAO;EACX,GAAG,CAAC;EACJ,CAAC;EACD,SAAS,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE;EACnD,EAAE,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,KAAK,IAAI,EAAE;EACvE,IAAI,OAAO;EACX,GAAG;EACH,EAAE,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;EAClD,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;AAC5C;EACA;EACA,EAAE,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,IAAI,EAAE,CAAC;EACpD;EACA,EAAE,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,IAAI,EAAE,CAAC;EAChD,EAAE,SAAS,CAAC,OAAO,CAAC,kBAAkB,IAAI;EAC1C,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE;EAChC,MAAM,GAAG,OAAO,EAAE,cAAc,EAAE,SAAS;EAC3C,MAAM,WAAW,EAAE,kBAAkB,CAAC,WAAW;EACjD,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;EACjC,GAAG,CAAC,CAAC;EACL,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe,IAAI;EACrC,IAAI,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AAC5D;EACA;EACA;EACA,IAAI,MAAM,oBAAoB,GAAG;EACjC,MAAM,GAAG,eAAe,CAAC,KAAK;EAC9B,MAAM,WAAW,EAAE,MAAM;EACzB,KAAK,CAAC;AACN;EACA;EACA,IAAI,IAAI,KAAK,EAAE;EACf,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,oBAAoB,CAAC,aAAa,EAAE;EAC1E,QAAQ,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;EAC7C,OAAO;EACP,MAAM,OAAO;EACb,KAAK;AACL;EACA;EACA,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE;EAC7B,MAAM,GAAG,OAAO,EAAE,cAAc,EAAE,OAAO;EACzC,MAAM,QAAQ,EAAE,eAAe,CAAC,QAAQ;EACxC,MAAM,SAAS,EAAE,eAAe,CAAC,SAAS;EAC1C,KAAK,EAAE,oBAAoB,CAAC,CAAC;EAC7B,GAAG,CAAC,CAAC;EACL;;ACzFO,QAAME,kBAAkB,gBAAGC,gBAAK,CAACC,aAAa,CACnDC,SAAS,EACV;AAEYC,QAAAA,cAAc,GAAIC,WAAyB,IAAK;EAC3D,EAAA,MAAMC,MAAM,GAAGL,gBAAK,CAACM,UAAU,CAACP,kBAAkB,CAAC,CAAA;EAEnD,EAAA,IAAIK,WAAW,EAAE;EACf,IAAA,OAAOA,WAAW,CAAA;EACpB,GAAA;IAEA,IAAI,CAACC,MAAM,EAAE;EACX,IAAA,MAAM,IAAIE,KAAK,CAAC,wDAAwD,CAAC,CAAA;EAC3E,GAAA;EAEA,EAAA,OAAOF,MAAM,CAAA;EACf,EAAC;AAOM,QAAMG,mBAAmB,GAAG,CAAC;IAClCH,MAAM;EACNI,EAAAA,QAAAA;EACwB,CAAC,KAAkB;IAC3CT,gBAAK,CAACU,SAAS,CAAC,MAAM;MACpBL,MAAM,CAACM,KAAK,EAAE,CAAA;EACd,IAAA,OAAO,MAAM;QACXN,MAAM,CAACO,OAAO,EAAE,CAAA;OACjB,CAAA;EACH,GAAC,EAAE,CAACP,MAAM,CAAC,CAAC,CAAA;IAEZ,oBACEL,gBAAA,CAAA,aAAA,CAAC,kBAAkB,CAAC,QAAQ,EAAA;EAAC,IAAA,KAAK,EAAEK,MAAAA;EAAO,GAAA,EACxCI,QAAQ,CACmB,CAAA;EAElC;;ECzCA,MAAMI,kBAAkB,gBAAGb,gBAAK,CAACC,aAAa,CAAC,KAAK,CAAC,CAAA;AAE9C,QAAMa,cAAc,GAAG,MAAMd,gBAAK,CAACM,UAAU,CAACO,kBAAkB,EAAC;AAC3DE,QAAAA,mBAAmB,GAAGF,kBAAkB,CAACG;;ECHtD;;EAQA,SAASC,WAAW,GAAiC;IACnD,IAAIC,OAAO,GAAG,KAAK,CAAA;IACnB,OAAO;EACLC,IAAAA,UAAU,EAAE,MAAM;EAChBD,MAAAA,OAAO,GAAG,KAAK,CAAA;OAChB;EACDE,IAAAA,KAAK,EAAE,MAAM;EACXF,MAAAA,OAAO,GAAG,IAAI,CAAA;OACf;EACDA,IAAAA,OAAO,EAAE,MAAM;EACb,MAAA,OAAOA,OAAO,CAAA;EAChB,KAAA;KACD,CAAA;EACH,CAAA;EAEA,MAAMG,8BAA8B,gBAAGrB,gBAAK,CAACC,aAAa,CAACgB,WAAW,EAAE,CAAC,CAAA;;EAEzE;;AAEO,QAAMK,0BAA0B,GAAG,MACxCtB,gBAAK,CAACM,UAAU,CAACe,8BAA8B,EAAC;;EAElD;;AAQO,QAAME,uBAAuB,GAAG,CAAC;EACtCd,EAAAA,QAAAA;EAC4B,CAAC,KAAK;IAClC,MAAM,CAACe,KAAK,CAAC,GAAGxB,gBAAK,CAACyB,QAAQ,CAAC,MAAMR,WAAW,EAAE,CAAC,CAAA;IACnD,oBACEjB,gBAAA,CAAA,aAAA,CAAC,8BAA8B,CAAC,QAAQ,EAAA;EAAC,IAAA,KAAK,EAAEwB,KAAAA;KAC7C,EAAA,OAAOf,QAAQ,KAAK,UAAU,GAC1BA,QAAQ,CAAce,KAAK,CAAC,GAC7Bf,QAAQ,CAC4B,CAAA;EAE9C;;ECpDO,SAASiB,gBAAgB,CAC9BC,UAAmC,EACnCC,MAAqB,EACZ;EACT;EACA,EAAA,IAAI,OAAOD,UAAU,KAAK,UAAU,EAAE;EACpC,IAAA,OAAOA,UAAU,CAAC,GAAGC,MAAM,CAAC,CAAA;EAC9B,GAAA;IAEA,OAAO,CAAC,CAACD,UAAU,CAAA;EACrB;;ECCO,MAAME,+BAA+B,GAAG,CAO7CC,OAMC,EACDC,kBAAgD,KAC7C;EACH,EAAA,IAAID,OAAO,CAACE,QAAQ,IAAIF,OAAO,CAACG,WAAW,EAAE;EAC3C;EACA,IAAA,IAAI,CAACF,kBAAkB,CAACb,OAAO,EAAE,EAAE;QACjCY,OAAO,CAACI,YAAY,GAAG,KAAK,CAAA;EAC9B,KAAA;EACF,GAAA;EACF,CAAC,CAAA;EAEM,MAAMC,0BAA0B,GACrCJ,kBAAgD,IAC7C;IACH/B,gBAAK,CAACU,SAAS,CAAC,MAAM;MACpBqB,kBAAkB,CAACZ,UAAU,EAAE,CAAA;EACjC,GAAC,EAAE,CAACY,kBAAkB,CAAC,CAAC,CAAA;EAC1B,CAAC,CAAA;EAEM,MAAMK,WAAW,GAAG,CAMzB;IACAC,MAAM;IACNN,kBAAkB;IAClBE,WAAW;EACXK,EAAAA,KAAAA;EAMF,CAAC,KAAK;IACJ,OACED,MAAM,CAACE,OAAO,IACd,CAACR,kBAAkB,CAACb,OAAO,EAAE,IAC7B,CAACmB,MAAM,CAACG,UAAU,IAClBd,gBAAgB,CAACO,WAAW,EAAE,CAACI,MAAM,CAACI,KAAK,EAAEH,KAAK,CAAC,CAAC,CAAA;EAExD,CAAC;;EC5DM,MAAMI,eAAe,GAC1BC,gBAAwE,IACrE;IACH,IAAIA,gBAAgB,CAACX,QAAQ,EAAE;EAC7B;EACA;EACA,IAAA,IAAI,OAAOW,gBAAgB,CAACC,SAAS,KAAK,QAAQ,EAAE;QAClDD,gBAAgB,CAACC,SAAS,GAAG,IAAI,CAAA;EACnC,KAAA;EACF,GAAA;EACF,CAAC,CAAA;EAEM,MAAMC,SAAS,GAAG,CACvBR,MAAqC,EACrCS,WAAoB,KACjBT,MAAM,CAACU,SAAS,IAAIV,MAAM,CAACG,UAAU,IAAI,CAACM,WAAW,CAAA;EAEnD,MAAME,aAAa,GAAG,CAC3BL,gBAEa,EACbN,MAAqC,EACrCS,WAAoB,KACjBH,gBAAgB,EAAEX,QAAQ,IAAIa,SAAS,CAACR,MAAM,EAAES,WAAW,CAAC,CAAA;EAE1D,MAAMG,eAAe,GAAG,CAO7BN,gBAMC,EACDO,QAA2E,EAC3EnB,kBAAgD,KAEhDmB,QAAQ,CACLD,eAAe,CAACN,gBAAgB,CAAC,CACjCQ,IAAI,CAAC,CAAC;EAAEC,EAAAA,IAAAA;EAAK,CAAC,KAAK;EAClBT,EAAAA,gBAAgB,CAACU,SAAS,GAAGD,IAAI,CAAU,CAAA;EAC3CT,EAAAA,gBAAgB,CAACW,SAAS,GAAGF,IAAI,EAAE,IAAI,CAAC,CAAA;EAC1C,CAAC,CAAC,CACDG,KAAK,CAAEd,KAAK,IAAK;IAChBV,kBAAkB,CAACZ,UAAU,EAAE,CAAA;EAC/BwB,EAAAA,gBAAgB,CAACa,OAAO,GAAGf,KAAK,CAAC,CAAA;EACjCE,EAAAA,gBAAgB,CAACW,SAAS,GAAGpD,SAAS,EAAEuC,KAAK,CAAC,CAAA;EAChD,CAAC,CAAC;;EChCN;EACA;;EAkIO,SAASgB,UAAU,CACxB;EACEC,EAAAA,OAAAA;EAGF,CAAC,EACDtD,WAAyB,EACN;EACnB,EAAA,MAAMC,MAAM,GAAGF,cAAc,CAACC,WAAW,CAAC,CAAA;IAC1C,MAAM0C,WAAW,GAAGhC,cAAc,EAAE,CAAA;EAEpC,EAAA,MAAM6C,gBAAgB,GAAG3D,gBAAK,CAAC4D,OAAO,CACpC,MACEF,OAAO,CAACG,GAAG,CAAE/B,OAAO,IAAK;EACvB,IAAA,MAAMa,gBAAgB,GAAGtC,MAAM,CAACyD,mBAAmB,CAAChC,OAAO,CAAC,CAAA;;EAE5D;EACAa,IAAAA,gBAAgB,CAACoB,kBAAkB,GAAGjB,WAAW,GAC7C,aAAa,GACb,YAAY,CAAA;EAEhB,IAAA,OAAOH,gBAAgB,CAAA;KACxB,CAAC,EACJ,CAACe,OAAO,EAAErD,MAAM,EAAEyC,WAAW,CAAC,CAC/B,CAAA;EAED,EAAA,MAAM,CAACI,QAAQ,CAAC,GAAGlD,gBAAK,CAACyB,QAAQ,CAC/B,MAAM,IAAIuC,eAAe,CAAC3D,MAAM,EAAEsD,gBAAgB,CAAC,CACpD,CAAA;EAED,EAAA,MAAMM,gBAAgB,GAAGf,QAAQ,CAACgB,mBAAmB,CAACP,gBAAgB,CAAC,CAAA;IAEvE3D,gBAAK,CAACmE,oBAAoB,CACxBnE,gBAAK,CAACoE,WAAW,CACdC,aAAa,IACZvB,WAAW,GACP,MAAM5C,SAAS,GACfgD,QAAQ,CAACoB,SAAS,CAACC,aAAa,CAACC,UAAU,CAACH,aAAa,CAAC,CAAC,EACjE,CAACnB,QAAQ,EAAEJ,WAAW,CAAC,CACxB,EACD,MAAMI,QAAQ,CAACuB,gBAAgB,EAAE,EACjC,MAAMvB,QAAQ,CAACuB,gBAAgB,EAAE,CAClC,CAAA;IAEDzE,gBAAK,CAACU,SAAS,CAAC,MAAM;EACpB;EACA;EACAwC,IAAAA,QAAQ,CAACwB,UAAU,CAACf,gBAAgB,EAAE;EAAEgB,MAAAA,SAAS,EAAE,KAAA;EAAM,KAAC,CAAC,CAAA;EAC7D,GAAC,EAAE,CAAChB,gBAAgB,EAAET,QAAQ,CAAC,CAAC,CAAA;IAEhC,MAAMnB,kBAAkB,GAAGT,0BAA0B,EAAE,CAAA;EAEvDqC,EAAAA,gBAAgB,CAACiB,OAAO,CAAEtC,KAAK,IAAK;EAClCT,IAAAA,+BAA+B,CAACS,KAAK,EAAEP,kBAAkB,CAAC,CAAA;MAC1DW,eAAe,CAACJ,KAAK,CAAC,CAAA;EACxB,GAAC,CAAC,CAAA;IAEFH,0BAA0B,CAACJ,kBAAkB,CAAC,CAAA;IAE9C,MAAM8C,uBAAuB,GAAGZ,gBAAgB,CAACa,IAAI,CAAC,CAACzC,MAAM,EAAE0C,KAAK,KAClE/B,aAAa,CAACW,gBAAgB,CAACoB,KAAK,CAAC,EAAE1C,MAAM,EAAES,WAAW,CAAC,CAC5D,CAAA;EAED,EAAA,MAAMkC,gBAAgB,GAAGH,uBAAuB,GAC5CZ,gBAAgB,CAACgB,OAAO,CAAC,CAAC5C,MAAM,EAAE0C,KAAK,KAAK;EAC1C,IAAA,MAAMjD,OAAO,GAAG6B,gBAAgB,CAACoB,KAAK,CAAC,CAAA;MACvC,MAAMG,aAAa,GAAGhC,QAAQ,CAACiC,YAAY,EAAE,CAACJ,KAAK,CAAC,CAAA;MAEpD,IAAIjD,OAAO,IAAIoD,aAAa,EAAE;QAC5B,IAAIlC,aAAa,CAAClB,OAAO,EAAEO,MAAM,EAAES,WAAW,CAAC,EAAE;EAC/C,QAAA,OAAOG,eAAe,CAACnB,OAAO,EAAEoD,aAAa,EAAEnD,kBAAkB,CAAC,CAAA;SACnE,MAAM,IAAIc,SAAS,CAACR,MAAM,EAAES,WAAW,CAAC,EAAE;EACzC,QAAA,KAAKG,eAAe,CAACnB,OAAO,EAAEoD,aAAa,EAAEnD,kBAAkB,CAAC,CAAA;EAClE,OAAA;EACF,KAAA;EACA,IAAA,OAAO,EAAE,CAAA;KACV,CAAC,GACF,EAAE,CAAA;EAEN,EAAA,IAAIiD,gBAAgB,CAACI,MAAM,GAAG,CAAC,EAAE;EAC/B,IAAA,MAAMC,OAAO,CAACC,GAAG,CAACN,gBAAgB,CAAC,CAAA;EACrC,GAAA;EAEA,EAAA,MAAMO,iCAAiC,GAAGtB,gBAAgB,CAACuB,IAAI,CAC7D,CAACnD,MAAM,EAAE0C,KAAK,KACZ3C,WAAW,CAAC;MACVC,MAAM;MACNN,kBAAkB;MAClBE,WAAW,EAAE0B,gBAAgB,CAACoB,KAAK,CAAC,EAAE9C,WAAW,IAAI,KAAK;EAC1DK,IAAAA,KAAK,EAAEY,QAAQ,CAACuC,UAAU,EAAE,CAACV,KAAK,CAAA;EACpC,GAAC,CAAC,CACL,CAAA;IAED,IAAIQ,iCAAiC,EAAE9C,KAAK,EAAE;MAC5C,MAAM8C,iCAAiC,CAAC9C,KAAK,CAAA;EAC/C,GAAA;EAEA,EAAA,OAAOwB,gBAAgB,CAAA;EACzB;;EChPO,SAASyB,YAAY,CAO1B5D,OAMC,EACD6D,QAA8B,EAC9BvF,WAAyB,EACzB;EACA,EAAA,MAAMC,MAAM,GAAGF,cAAc,CAACC,WAAW,CAAC,CAAA;IAC1C,MAAM0C,WAAW,GAAGhC,cAAc,EAAE,CAAA;IACpC,MAAMiB,kBAAkB,GAAGT,0BAA0B,EAAE,CAAA;EACvD,EAAA,MAAMqB,gBAAgB,GAAGtC,MAAM,CAACyD,mBAAmB,CAAChC,OAAO,CAAC,CAAA;;EAE5D;EACAa,EAAAA,gBAAgB,CAACoB,kBAAkB,GAAGjB,WAAW,GAC7C,aAAa,GACb,YAAY,CAAA;;EAEhB;IACA,IAAIH,gBAAgB,CAACa,OAAO,EAAE;MAC5Bb,gBAAgB,CAACa,OAAO,GAAGe,aAAa,CAACC,UAAU,CACjD7B,gBAAgB,CAACa,OAAO,CACzB,CAAA;EACH,GAAA;IAEA,IAAIb,gBAAgB,CAACU,SAAS,EAAE;MAC9BV,gBAAgB,CAACU,SAAS,GAAGkB,aAAa,CAACC,UAAU,CACnD7B,gBAAgB,CAACU,SAAS,CAC3B,CAAA;EACH,GAAA;IAEA,IAAIV,gBAAgB,CAACW,SAAS,EAAE;MAC9BX,gBAAgB,CAACW,SAAS,GAAGiB,aAAa,CAACC,UAAU,CACnD7B,gBAAgB,CAACW,SAAS,CAC3B,CAAA;EACH,GAAA;IAEAZ,eAAe,CAACC,gBAAgB,CAAC,CAAA;EACjCd,EAAAA,+BAA+B,CAACc,gBAAgB,EAAEZ,kBAAkB,CAAC,CAAA;IAErEI,0BAA0B,CAACJ,kBAAkB,CAAC,CAAA;EAE9C,EAAA,MAAM,CAACmB,QAAQ,CAAC,GAAGlD,gBAAK,CAACyB,QAAQ,CAC/B,MACE,IAAIkE,QAAQ,CACVtF,MAAM,EACNsC,gBAAgB,CACjB,CACJ,CAAA;EAED,EAAA,MAAMN,MAAM,GAAGa,QAAQ,CAACgB,mBAAmB,CAACvB,gBAAgB,CAAC,CAAA;IAE7D3C,gBAAK,CAACmE,oBAAoB,CACxBnE,gBAAK,CAACoE,WAAW,CACdC,aAAa,IACZvB,WAAW,GACP,MAAM5C,SAAS,GACfgD,QAAQ,CAACoB,SAAS,CAACC,aAAa,CAACC,UAAU,CAACH,aAAa,CAAC,CAAC,EACjE,CAACnB,QAAQ,EAAEJ,WAAW,CAAC,CACxB,EACD,MAAMI,QAAQ,CAACuB,gBAAgB,EAAE,EACjC,MAAMvB,QAAQ,CAACuB,gBAAgB,EAAE,CAClC,CAAA;IAEDzE,gBAAK,CAACU,SAAS,CAAC,MAAM;EACpB;EACA;EACAwC,IAAAA,QAAQ,CAAC0C,UAAU,CAACjD,gBAAgB,EAAE;EAAEgC,MAAAA,SAAS,EAAE,KAAA;EAAM,KAAC,CAAC,CAAA;EAC7D,GAAC,EAAE,CAAChC,gBAAgB,EAAEO,QAAQ,CAAC,CAAC,CAAA;;EAEhC;IACA,IAAIF,aAAa,CAACL,gBAAgB,EAAEN,MAAM,EAAES,WAAW,CAAC,EAAE;EACxD,IAAA,MAAMG,eAAe,CAACN,gBAAgB,EAAEO,QAAQ,EAAEnB,kBAAkB,CAAC,CAAA;EACvE,GAAA;;EAEA;EACA,EAAA,IACEK,WAAW,CAAC;MACVC,MAAM;MACNN,kBAAkB;MAClBE,WAAW,EAAEU,gBAAgB,CAACV,WAAW;MACzCK,KAAK,EAAEY,QAAQ,CAAC2C,eAAe,EAAA;EACjC,GAAC,CAAC,EACF;MACA,MAAMxD,MAAM,CAACI,KAAK,CAAA;EACpB,GAAA;;EAEA;EACA,EAAA,OAAO,CAACE,gBAAgB,CAACmD,mBAAmB,GACxC5C,QAAQ,CAAC6C,WAAW,CAAC1D,MAAM,CAAC,GAC5BA,MAAM,CAAA;EACZ;;EC1GA;;EAuCO,SAAS2D,QAAQ,CAMtBlE,OAAgE,EAChE1B,WAAyB,EACzB;EACA,EAAA,OAAOsF,YAAY,CAAC5D,OAAO,EAAEmE,aAAa,EAAE7F,WAAW,CAAC,CAAA;EAC1D;;AC5CO,QAAM8F,iBAAiB,GAAG,CAAC;IAChCzF,QAAQ;IACRqB,OAAO,GAAG,EAAE;IACZqE,KAAK;EACL/F,EAAAA,WAAAA;EACsB,CAAC,KAAK;EAC5B,EAAA,MAAMC,MAAM,GAAGF,cAAc,CAACC,WAAW,CAAC,CAAA;EAE1C,EAAA,MAAMgG,UAAU,GAAGpG,gBAAK,CAACqG,MAAM,CAACvE,OAAO,CAAC,CAAA;IACxCsE,UAAU,CAACE,OAAO,GAAGxE,OAAO,CAAA;;EAE5B;EACA;EACA;EACA;IACA9B,gBAAK,CAAC4D,OAAO,CAAC,MAAM;EAClB,IAAA,IAAIuC,KAAK,EAAE;QACTI,OAAO,CAAClG,MAAM,EAAE8F,KAAK,EAAEC,UAAU,CAACE,OAAO,CAAC,CAAA;EAC5C,KAAA;EACF,GAAC,EAAE,CAACjG,MAAM,EAAE8F,KAAK,CAAC,CAAC,CAAA;EAEnB,EAAA,OAAO1F,QAAQ,CAAA;EACjB;;EC9BO,SAAS+F,aAAa,CAC3BC,OAAsB,EACtBrG,WAAyB,EACjB;EACR,EAAA,MAAMC,MAAM,GAAGF,cAAc,CAACC,WAAW,CAAC,CAAA;EAC1C,EAAA,MAAMsG,UAAU,GAAGrG,MAAM,CAACsG,aAAa,EAAE,CAAA;EAEzC,EAAA,OAAO3G,gBAAK,CAACmE,oBAAoB,CAC/BnE,gBAAK,CAACoE,WAAW,CACdC,aAAa,IACZqC,UAAU,CAACpC,SAAS,CAACC,aAAa,CAACC,UAAU,CAACH,aAAa,CAAC,CAAC,EAC/D,CAACqC,UAAU,CAAC,CACb,EACD,MAAMrG,MAAM,CAACmC,UAAU,CAACiE,OAAO,CAAC,EAChC,MAAMpG,MAAM,CAACmC,UAAU,CAACiE,OAAO,CAAC,CACjC,CAAA;EACH;;ECTO,SAASG,aAAa,CAC3BH,OAAyB,EACzBrG,WAAyB,EACjB;EACR,EAAA,MAAMC,MAAM,GAAGF,cAAc,CAACC,WAAW,CAAC,CAAA;EAC1C,EAAA,OAAOyG,gBAAgB,CACrB;EAAEJ,IAAAA,OAAO,EAAE;EAAE,MAAA,GAAGA,OAAO;EAAEK,MAAAA,MAAM,EAAE,SAAA;EAAU,KAAA;EAAE,GAAC,EAC9CzG,MAAM,CACP,CAAC+E,MAAM,CAAA;EACV,CAAA;EASA,SAAS2B,SAAS,CAChBC,aAA4B,EAC5BlF,OAAsC,EACtB;IAChB,OAAOkF,aAAa,CACjBC,OAAO,CAACnF,OAAO,CAAC2E,OAAO,CAAC,CACxB5C,GAAG,CACDqD,QAAQ,IACNpF,OAAO,CAACqF,MAAM,GACXrF,OAAO,CAACqF,MAAM,CACZD,QAAQ,CACT,GACDA,QAAQ,CAACf,KAAiB,CACjC,CAAA;EACL,CAAA;EAEO,SAASU,gBAAgB,CAC9B/E,OAAsC,GAAG,EAAE,EAC3C1B,WAAyB,EACT;IAChB,MAAM4G,aAAa,GAAG7G,cAAc,CAACC,WAAW,CAAC,CAACgH,gBAAgB,EAAE,CAAA;EACpE,EAAA,MAAMhB,UAAU,GAAGpG,gBAAK,CAACqG,MAAM,CAACvE,OAAO,CAAC,CAAA;EACxC,EAAA,MAAMO,MAAM,GAAGrC,gBAAK,CAACqG,MAAM,EAAkB,CAAA;EAC7C,EAAA,IAAI,CAAChE,MAAM,CAACiE,OAAO,EAAE;MACnBjE,MAAM,CAACiE,OAAO,GAAGS,SAAS,CAACC,aAAa,EAAElF,OAAO,CAAC,CAAA;EACpD,GAAA;IAEA9B,gBAAK,CAACU,SAAS,CAAC,MAAM;MACpB0F,UAAU,CAACE,OAAO,GAAGxE,OAAO,CAAA;EAC9B,GAAC,CAAC,CAAA;EAEF,EAAA,OAAO9B,gBAAK,CAACmE,oBAAoB,CAC/BnE,gBAAK,CAACoE,WAAW,CACdC,aAAa,IACZ2C,aAAa,CAAC1C,SAAS,CAAC,MAAM;EAC5B,IAAA,MAAM+C,UAAU,GAAGC,gBAAgB,CACjCjF,MAAM,CAACiE,OAAO,EACdS,SAAS,CAACC,aAAa,EAAEZ,UAAU,CAACE,OAAO,CAAC,CAC7C,CAAA;EACD,IAAA,IAAIjE,MAAM,CAACiE,OAAO,KAAKe,UAAU,EAAE;QACjChF,MAAM,CAACiE,OAAO,GAAGe,UAAU,CAAA;EAC3B9C,MAAAA,aAAa,CAACgD,QAAQ,CAAClD,aAAa,CAAC,CAAA;EACvC,KAAA;EACF,GAAC,CAAC,EACJ,CAAC2C,aAAa,CAAC,CAChB,EACD,MAAM3E,MAAM,CAACiE,OAAO,EACpB,MAAMjE,MAAM,CAACiE,OAAO,CACrB,CAAA;EACH;;ECrEA;;EAEO,SAASkB,WAAW,CAMzB1F,OAAgE,EAChE1B,WAAyB,EAC+B;EACxD,EAAA,MAAMC,MAAM,GAAGF,cAAc,CAACC,WAAW,CAAC,CAAA;EAE1C,EAAA,MAAM,CAAC8C,QAAQ,CAAC,GAAGlD,gBAAK,CAACyB,QAAQ,CAC/B,MACE,IAAIgG,gBAAgB,CAClBpH,MAAM,EACNyB,OAAO,CACR,CACJ,CAAA;IAED9B,gBAAK,CAACU,SAAS,CAAC,MAAM;EACpBwC,IAAAA,QAAQ,CAAC0C,UAAU,CAAC9D,OAAO,CAAC,CAAA;EAC9B,GAAC,EAAE,CAACoB,QAAQ,EAAEpB,OAAO,CAAC,CAAC,CAAA;EAEvB,EAAA,MAAMO,MAAM,GAAGrC,gBAAK,CAACmE,oBAAoB,CACvCnE,gBAAK,CAACoE,WAAW,CACdC,aAAa,IACZnB,QAAQ,CAACoB,SAAS,CAACC,aAAa,CAACC,UAAU,CAACH,aAAa,CAAC,CAAC,EAC7D,CAACnB,QAAQ,CAAC,CACX,EACD,MAAMA,QAAQ,CAACuB,gBAAgB,EAAE,EACjC,MAAMvB,QAAQ,CAACuB,gBAAgB,EAAE,CAClC,CAAA;IAED,MAAMiD,MAAM,GAAG1H,gBAAK,CAACoE,WAAW,CAG9B,CAACuD,SAAS,EAAEC,aAAa,KAAK;MAC5B1E,QAAQ,CAACwE,MAAM,CAACC,SAAS,EAAEC,aAAa,CAAC,CAACrE,KAAK,CAAC1D,IAAI,CAAC,CAAA;EACvD,GAAC,EACD,CAACqD,QAAQ,CAAC,CACX,CAAA;EAED,EAAA,IACEb,MAAM,CAACI,KAAK,IACZf,gBAAgB,CAACwB,QAAQ,CAACpB,OAAO,CAACG,WAAW,EAAE,CAACI,MAAM,CAACI,KAAK,CAAC,CAAC,EAC9D;MACA,MAAMJ,MAAM,CAACI,KAAK,CAAA;EACpB,GAAA;IAEA,OAAO;EAAE,IAAA,GAAGJ,MAAM;MAAEqF,MAAM;MAAEG,WAAW,EAAExF,MAAM,CAACqF,MAAAA;KAAQ,CAAA;EAC1D,CAAA;;EAEA;EACA,SAAS7H,IAAI,GAAG;;ECvDhB;EACO,SAASiI,gBAAgB,CAO9BhG,OAOC,EACD1B,WAAyB,EACc;IACvC,OAAOsF,YAAY,CACjB5D,OAAO;EACP;IACAiG,qBAAqB,EACrB3H,WAAW,CACZ,CAAA;EACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|