{"version":3,"file":"static/chunks/5883-b296675e3d443455.js","mappings":"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","sources":["webpack://_N_E/./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","webpack://_N_E/./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","webpack://_N_E/./node_modules/use-sync-external-store/shim/index.js","webpack://_N_E/./node_modules/use-sync-external-store/shim/with-selector.js","webpack://_N_E/./node_modules/zustand/esm/vanilla.mjs","webpack://_N_E/./node_modules/zustand/esm/index.mjs","webpack://_N_E/./node_modules/zustand/esm/middleware.mjs"],"sourcesContent":["/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"react\"),n=require(\"use-sync-external-store/shim\");function p(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var q=\"function\"===typeof Object.is?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;\nexports.useSyncExternalStoreWithSelector=function(a,b,e,l,g){var c=t(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=v(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==g&&f.hasValue){var b=f.value;if(g(b,a))return k=b}return k=a}b=k;if(q(d,a))return b;var e=l(a);if(void 0!==g&&g(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,g]);var d=r(a,c[0],c[1]);\nu(function(){f.hasValue=!0;f.value=d},[d]);w(d);return d};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const destroy = () => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected.\"\n );\n }\n listeners.clear();\n };\n const api = { setState, getState, getInitialState, subscribe, destroy };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\nvar vanilla = (createState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] Default export is deprecated. Instead use import { createStore } from 'zustand/vanilla'.\"\n );\n }\n return createStore(createState);\n};\n\nexport { createStore, vanilla as default };\n","import { createStore } from 'zustand/vanilla';\nexport * from 'zustand/vanilla';\nimport ReactExports from 'react';\nimport useSyncExternalStoreExports from 'use-sync-external-store/shim/with-selector.js';\n\nconst { useDebugValue } = ReactExports;\nconst { useSyncExternalStoreWithSelector } = useSyncExternalStoreExports;\nlet didWarnAboutEqualityFn = false;\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity, equalityFn) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && equalityFn && !didWarnAboutEqualityFn) {\n console.warn(\n \"[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937\"\n );\n didWarnAboutEqualityFn = true;\n }\n const slice = useSyncExternalStoreWithSelector(\n api.subscribe,\n api.getState,\n api.getServerState || api.getInitialState,\n selector,\n equalityFn\n );\n useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && typeof createState !== \"function\") {\n console.warn(\n \"[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.\"\n );\n }\n const api = typeof createState === \"function\" ? createStore(createState) : createState;\n const useBoundStore = (selector, equalityFn) => useStore(api, selector, equalityFn);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\nvar react = (createState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] Default export is deprecated. Instead use `import { create } from 'zustand'`.\"\n );\n }\n return create(createState);\n};\n\nexport { create, react as default, useStore };\n","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...a) => api.dispatch(...a), ...initial };\n};\nconst redux = reduxImpl;\n\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (_e) {\n }\n if (!extensionConnector) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && enabled) {\n console.warn(\n \"[zustand devtools middleware] Please install/enable Redux devtools extension\"\n );\n }\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = (state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? { type: anonymousActionType || \"anonymous\" } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...a) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && a[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...a);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format. \n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools) return;\n if (typeof api.dispatch !== \"function\") return;\n api.dispatch(action);\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, f) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) f(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = (selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n };\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nconst combine = (initialState, create) => (...a) => Object.assign({}, initialState, create(...a));\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (_e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(\n name,\n JSON.stringify(newValue, options == null ? void 0 : options.replacer)\n ),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst oldImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n getStorage: () => localStorage,\n serialize: JSON.stringify,\n deserialize: JSON.parse,\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage;\n try {\n storage = options.getStorage();\n } catch (_e) {\n }\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const thenableSerialize = toThenable(options.serialize);\n const setItem = () => {\n const state = options.partialize({ ...get() });\n let errorInSync;\n const thenable = thenableSerialize({ state, version: options.version }).then(\n (serializedValue) => storage.setItem(options.name, serializedValue)\n ).catch((e) => {\n errorInSync = e;\n });\n if (errorInSync) {\n throw errorInSync;\n }\n return thenable;\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n let stateFromStorage;\n const hydrate = () => {\n var _a;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => cb(get()));\n const postRehydrationCallback = ((_a = options.onRehydrateStorage) == null ? void 0 : _a.call(options, get())) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((storageValue) => {\n if (storageValue) {\n return options.deserialize(storageValue);\n }\n }).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n return options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return deserializedStorageValue.state;\n }\n }\n }).then((migratedState) => {\n var _a2;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n return setItem();\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.getStorage) {\n storage = newOptions.getStorage();\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n hydrate();\n return stateFromStorage || configResult;\n};\nconst newImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n return [\n true,\n options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n )\n ];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persistImpl = (config, baseOptions) => {\n if (\"getStorage\" in baseOptions || \"serialize\" in baseOptions || \"deserialize\" in baseOptions) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead.\"\n );\n }\n return oldImpl(config, baseOptions);\n }\n return newImpl(config, baseOptions);\n};\nconst persist = persistImpl;\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector };\n"],"names":["e","__webpack_require__","k","Object","is","a","b","l","useState","m","useEffect","n","useLayoutEffect","p","useDebugValue","r","getSnapshot","value","d","f","u","window","document","createElement","inst","c","g","exports","useSyncExternalStore","h","q","t","useRef","v","useMemo","w","useSyncExternalStoreWithSelector","current","hasValue","module","createStoreImpl","state","listeners","Set","setState","partial","replace","nextState","previousState","assign","forEach","listener","getState","api","getInitialState","initialState","subscribe","add","delete","destroy","console","warn","clear","createState","createStore","react","with_selector","didWarnAboutEqualityFn","identity","arg","createImpl","useBoundStore","selector","equalityFn","useStore","slice","getServerState","create","toThenable","result","fn","input","Promise","then","onFulfilled","catch","_onRejected","_onFulfilled","onRejected","oldImpl","config","baseOptions","set","get","storage","stateFromStorage","options","getStorage","localStorage","serialize","JSON","stringify","deserialize","parse","partialize","version","merge","persistedState","currentState","hasHydrated","hydrationListeners","finishHydrationListeners","_e","args","name","thenableSerialize","setItem","errorInSync","thenable","serializedValue","savedSetState","configResult","hydrate","_a","cb","postRehydrationCallback","onRehydrateStorage","call","getItem","bind","storageValue","deserializedStorageValue","migrate","error","_a2","migratedState","persist","setOptions","newOptions","clearStorage","removeItem","getOptions","rehydrate","onHydrate","onFinishHydration","newImpl","createJSONStorage","str2","str","newValue","_b","migrated","migrationResult","skipHydration"],"sourceRoot":""}