@storesjs/stores 0.8.0 → 0.8.2

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.
Files changed (36) hide show
  1. package/README.md +147 -0
  2. package/dist/native/index.js +1 -1
  3. package/dist/native/index.mjs +1 -1
  4. package/dist/web/index.js +1 -1
  5. package/dist/web/index.mjs +1 -1
  6. package/package.json +6 -4
  7. package/dist/middleware/createSubscriptionManager.d.ts +0 -10
  8. package/dist/plugins/chrome/utils.d.ts +0 -1
  9. package/dist/plugins/delta/deltaInstrumentation.d.ts +0 -42
  10. package/dist/plugins/delta/index.d.ts +0 -1
  11. package/dist/plugins/delta/recordDelta.d.ts +0 -14
  12. package/dist/plugins/network/index.d.ts +0 -2
  13. package/dist/plugins/router/RouteErrorBoundary.d.ts +0 -19
  14. package/dist/plugins/router/__tests__/router-types.test.d.ts +0 -0
  15. package/dist/plugins/router/constants.d.ts +0 -38
  16. package/dist/plugins/router/createRouter-old-version.d.ts +0 -183
  17. package/dist/plugins/router/createRouter.d.ts +0 -183
  18. package/dist/plugins/router/errorBoundary.d.ts +0 -23
  19. package/dist/plugins/router/index.d.ts +0 -6
  20. package/dist/plugins/router/lazy.d.ts +0 -14
  21. package/dist/plugins/router/locationStore.d.ts +0 -24
  22. package/dist/plugins/router/pathMatching.d.ts +0 -28
  23. package/dist/plugins/router/scrollRestoration.d.ts +0 -8
  24. package/dist/plugins/router/searchParams.d.ts +0 -53
  25. package/dist/plugins/router/test-link-params.d.ts +0 -1
  26. package/dist/plugins/router/test-prefetch.d.ts +0 -17
  27. package/dist/plugins/router/test-types.d.ts +0 -1
  28. package/dist/plugins/router/types.d.ts +0 -11
  29. package/dist/plugins/router/utils.d.ts +0 -14
  30. package/dist/plugins/router/vite.d.ts +0 -5
  31. package/dist/presence/heartbeat.d.ts +0 -23
  32. package/dist/presence/presenceChannel.d.ts +0 -19
  33. package/dist/presence/pruning.d.ts +0 -34
  34. package/dist/queryStore/createParamManager.d.ts +0 -27
  35. package/dist/sync/networkSyncEngine.d.ts +0 -137
  36. package/dist/tsconfig.tsbuildinfo +0 -1
package/README.md ADDED
@@ -0,0 +1,147 @@
1
+ # Stores
2
+
3
+ Stores provides a minimal, reactive state layer built on top of Zustand.
4
+
5
+ It defines three types of runtime-evaluated stores—**base**, **derived**, and **query**—each representing a distinct state type: local, computed, or asynchronously fetched. Stores track dependencies at runtime, evaluate lazily, and clean up automatically when unused.
6
+
7
+ All stores expose a consistent interface and can be used both inside and outside React. Each store is a node. Together they form a composed graph.
8
+
9
+ - **Base stores** define synchronous local state with explicit update methods.
10
+ - **Derived stores** compute values from other stores and re-run only when inputs change.
11
+ - **Query stores** fetch and cache async data, refetching when reactive parameters change.
12
+
13
+ All store types share a common interface: a React-compatible hook, a
14
+ stable store object with `.getState()` and `.subscribe()`, and optional
15
+ support for persistence. They compose naturally, interoperate cleanly,
16
+ and scale as application complexity grows.
17
+
18
+ ## Base Store
19
+
20
+ A base store defines local state along with an interface for reading and
21
+ updating that state.
22
+
23
+ ```ts
24
+ export const useSettingsStore = createBaseStore<Settings>(set => ({
25
+ currency: 'USD',
26
+ setCurrency: currency => set({ currency }),
27
+ }));
28
+ ```
29
+
30
+ In React, subscribe to values with selectors:
31
+
32
+ ```ts
33
+ const currency = useSettingsStore(s => s.currency);
34
+ ```
35
+
36
+ Outside React:
37
+
38
+ ```ts
39
+ useSettingsStore.getState().currency;
40
+ useSettingsStore.subscribe(selector, listener, options);
41
+ ```
42
+
43
+ Enable persistence per store:
44
+
45
+ ```ts
46
+ createBaseStore<Settings>(set => ({ ... }), {
47
+ storageKey: 'settings',
48
+ partialize: state => ({ currency: state.currency }),
49
+ });
50
+ ```
51
+
52
+ You can also export actions as a stable object:
53
+
54
+ ```ts
55
+ export const settingsActions = createStoreActions(useSettingsStore);
56
+ ```
57
+
58
+ ## Derived Store
59
+
60
+ Derived stores compute values from other stores. The `$` accessor tracks
61
+ dependencies at runtime:
62
+
63
+ ```ts
64
+ export const useTotal = createDerivedStore($ => {
65
+ const { currency } = $(useSettingsStore);
66
+ const { subtotal, tax } = $(useCartStore);
67
+ return formatTotal(currency, subtotal, tax);
68
+ });
69
+ ```
70
+
71
+ If `currency`, `subtotal`, or `tax` change, the store re-computes.
72
+
73
+ If the store is not observed, nothing runs.
74
+
75
+ ## Query Store
76
+
77
+ Query stores manage remote data. They fetch, cache, and revalidate based
78
+ on reactive parameters:
79
+
80
+ ```ts
81
+ export const useAccountStore = createQueryStore<Account, Params>({
82
+ fetcher: fetchAccount,
83
+ params: {
84
+ userId: $ => $(useAuthStore).userId,
85
+ },
86
+ staleTime: time.minutes(10),
87
+ });
88
+ ```
89
+
90
+ When `userId` changes, the store refetches. If unobserved, it remains
91
+ idle.
92
+
93
+ Use it in React:
94
+
95
+ ```ts
96
+ const account = useAccountStore(s => s.getData());
97
+ ```
98
+
99
+ Or imperatively:
100
+
101
+ ```ts
102
+ useAccountStore.getState().fetch();
103
+ ```
104
+
105
+ Query stores support full customization: extended local state, manual cache control, configurable staleness and retry behavior, and optional persistence.
106
+
107
+ They deduplicate fetches across consumers and compute stable query keys automatically.
108
+
109
+ ## Store Interface
110
+
111
+ All stores implement the same API:
112
+
113
+ ```ts
114
+ useStore()
115
+ useStore(selector, equalityFn?)
116
+
117
+ useStore.getState()
118
+ useStore.setState() // Except for derived stores
119
+ useStore.subscribe(selector, listener, options?)
120
+ ```
121
+
122
+ ## Composed Example
123
+
124
+ ```ts
125
+ export const useCurrencyFormatter = createDerivedStore($ => {
126
+ const { currency, locale } = $(useSettingsStore);
127
+ return new Intl.NumberFormat(locale, {
128
+ currency,
129
+ style: 'currency',
130
+ });
131
+ });
132
+ ```
133
+
134
+ ```ts
135
+ export const useAccountBalance = createDerivedStore($ => {
136
+ const balance = $(useAccountStore).getData()?.balance ?? 0;
137
+ const formatter = $(useCurrencyFormatter);
138
+ return formatter.format(balance);
139
+ });
140
+ ```
141
+
142
+ ```ts
143
+ function AccountSummary() {
144
+ const balance = useAccountBalance();
145
+ return <Text>Balance: {balance}</Text>;
146
+ }
147
+ ```
@@ -1 +1 @@
1
- "use strict";var e,t=require("zustand/middleware"),r=require("zustand/traditional"),n=require("use-sync-external-store/shim/with-selector"),o=require("react"),s=(e=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,t)=>("undefined"!=typeof require?require:e)[t]}):e)(function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),i="undefined"!=typeof window&&"undefined"!=typeof document;try{const{MMKV:t}=s("react-native-mmkv"),r=new t({id:"stores-storage"}),{getString:n,...o}=r;e=Object.assign(Object.create(null),o,{get:n})}catch(e){throw new Error("[stores]: You must install react-native-mmkv for persistence to work in React Native.\n\n See: https://github.com/mrousavy/react-native-mmkv\n "+(e instanceof Error?`\n\nError: ${e.message}`:""))}!function(e){if(!e||"function"!=typeof e.get||"function"!=typeof e.set||"function"!=typeof e.delete||"function"!=typeof e.clearAll)throw new Error("[stores]: Storage instance does not conform to expected interface")}(e);var a={clearAll(){e.clearAll()},contains:t=>e.contains(t),delete(t){e.delete(t)},getAllKeys:()=>e.getAllKeys(),get:t=>e.get(t),set(t,r){e.set(t,r)}},c=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=l(t)}},u={debug:(e,t)=>{},error:(e,t)=>{},info:(e,t)=>{},warn:(e,t)=>{}};function l(e){return e instanceof Error?e:new Error(String(e))}var f="stores/core/sync-channel",d=`${f}:storage:`;function y(){try{return"undefined"!=typeof window?window.localStorage:null}catch{return null}}var p,h,g=class{constructor(e){this.broadcast=e.broadcast,this.origin=e.origin,this.storeKey=e.storeKey,this.teardown=e.teardown}destroy(){this.teardown()}publish(e){const t=Object.create(null);for(const r of Object.entries(e.values))t[r[0]]=r[1];const r={origin:this.origin,replace:e.replace,sessionId:e.sessionId,storeKey:this.storeKey,timestamp:e.timestamp,values:t};this.broadcast(r)}},b=class{destroy(){}publish(){}},m={storage:a,syncEngine:i?(p||(p=new class{constructor(){this.listeners=new Map,this.origin="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`,this.onChannelMessage=e=>{e.data&&this.dispatch(e.data)},this.onStorageEvent=e=>{if(e.key&&e.newValue&&e.key.startsWith(d))try{const t=JSON.parse(e.newValue);this.dispatch(t)}catch(e){u.error(new c("[sync] Failed to parse storage event payload"),{error:e})}},this.channel="undefined"==typeof BroadcastChannel?null:new BroadcastChannel(f),this.storage=y(),this.channel&&this.channel.addEventListener("message",this.onChannelMessage),i&&window.addEventListener("storage",this.onStorageEvent)}get sessionId(){return this.origin}register(e){const t=t=>{if(t.origin===this.origin||t.storeKey!==e.key)return;const r=Object.create(null);for(const n of e.fields)Object.prototype.hasOwnProperty.call(t.values,n)&&(r[n]=t.values[n]);Object.keys(r).length&&e.apply({replace:t.replace,sessionId:t.sessionId,timestamp:t.timestamp,values:r})};let r=this.listeners.get(e.key);return r||(r=new Set,this.listeners.set(e.key,r)),r.add(t),new g({broadcast:e=>this.broadcast(e),origin:this.origin,storeKey:e.key,teardown:()=>this.removeListener(e.key,t)})}broadcast(e){try{this.channel&&this.channel.postMessage(e),this.writeToStorage(e)}catch(e){u.error(new c("[sync] Failed to broadcast update"),{error:e})}}dispatch(e){if(!e.storeKey)return;const t=this.listeners.get(e.storeKey);if(t&&t.size)for(const r of t)r(e)}removeListener(e,t){const r=this.listeners.get(e);r&&(r.delete(t),r.size||this.listeners.delete(e))}writeToStorage(e){if(this.storage||(this.storage=y()),!this.storage)return;const t=`${d}${e.storeKey}`;try{this.storage.setItem(t,JSON.stringify(e))}catch(e){u.error(new c("[sync] Failed to write broadcast payload to storage"),{error:e})}}}),p):(h||(h=new class{constructor(){this.sessionId="noop"}register(e){return new b}}),h)};function S(){return m}function v(){let e,t,r=!1;return{complete:function(){!r&&e&&(r=!0,e(),e=void 0,t=void 0)},isHydrated:function(){return r},fail:function(n){!r&&t&&(r=!0,t(n),t=void 0,e=void 0)},promise:new Promise((r,n)=>{e=r,t=n})}}var w=Math.max,j=Math.min;function q(e,t=0,r={}){let n,o,s,i,a,c,u=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){const r=n,s=o;return n=o=void 0,u=t,i=r?e.apply(s,r):e.apply(s),i}function p(e){const r=e-(c??0);return void 0===c||r>=t||r<0||f&&void 0!==s&&e-u>=s}function h(){const e=O();if(p(e))return g(e);a=setTimeout(h,function(e){const r=t-(e-(c??0));return f&&void 0!==s?j(r,s-(e-u)):r}(e))}function g(e){return a=void 0,d&&n?y(e):(n=o=void 0,i)}function b(...e){const r=O(),s=p(r);if(n=e,o=this,c=r,s){if(void 0===a)return function(e){return u=e,a=setTimeout(h,t),l?y(e):i}(c);if(f)return clearTimeout(a),a=setTimeout(h,t),y(c)}return void 0===a&&(a=setTimeout(h,t)),i}return t=F(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(r)&&(l=!!r.leading,f="maxWait"in r,s=f?w(F(r.maxWait)||0,t):void 0,d="trailing"in r?!!r.trailing:d),b.cancel=function(){void 0!==a&&clearTimeout(a),u=0,n=c=o=a=void 0},b.flush=function(){return void 0===a?i:g(O())},b}function O(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function F(e){if("number"==typeof e)return e;if("symbol"==typeof e||void 0===e)return NaN;if("object"==typeof e&&null!==e){const t="function"==typeof e.valueOf?e.valueOf():e;e="object"==typeof t?t+"":t}return"string"!=typeof e?0===e?e:+e:(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e)}function A(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function k(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}function I(e){if(null!==e&&"object"==typeof e){const t={};for(const[r,n]of Object.entries(e))"function"!=typeof n&&(t[r]=n);return t}return e}var C={ms:e=>e,seconds:e=>1e3*e,minutes:e=>C.seconds(60*e),hours:e=>C.minutes(60*e),days:e=>C.hours(24*e),weeks:e=>C.days(7*e),infinity:1/0,zero:0},T=i?C.ms(200):C.seconds(5);function K(e){return t=>{if("string"!=typeof t)throw new c("[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.");return function(e,t){try{return JSON.parse(e,t?k:void 0)}catch(e){throw u.error(new c("[createBaseStore]: Failed to deserialize persisted Rainbow store data"),{error:e}),e}}(t,e)}}function M(e){return t=>function(e,t){try{return JSON.stringify(e,t?A:void 0)}catch(e){throw u.error(new c("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var E=Object.freeze({shouldClear:!1});function x(e,t,r){if(!t||!e)return E;const n=e.getFieldTimestampSnapshot();return function(e,t){const r=e.getSessionId(),n=e.getTimestamp();void 0!==r&&void 0!==n&&(t.syncMetadata={origin:r,timestamp:n})}(e,r),r.syncMetadata?n&&Object.keys(n).length>0?(r.syncMetadata.fields=n,{fieldSnapshot:n,shouldClear:!0}):(delete r.syncMetadata.fields,{fieldSnapshot:n,shouldClear:!1}):{fieldSnapshot:n,shouldClear:!1}}function z(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function D(e){return!!e&&!!e.getIsApplyingRemote()}function L(e,...t){return!0===t[1]?Q(t[0])?t[0](e):t[0]:{...e,...Q(t[0])?t[0](e):t[0]}}function P(e,t){W(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function R(e){return"getSnapshot"in e}function W(e){return"_queryStore"in e}function $(e){return"persist"in e}function _(e){return"_virtualStore"in e}function Q(e){return"function"==typeof e}var[U,V]=[0,1];function B(e,t,r){if(!e)return!0;const n=e[U],o=e[V];return!(t<n)&&(t>n||r>o)}function N(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function H(e,t){return!0}function J(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function Y(e,n){const o=void 0!==n&&"string"==typeof n.storageKey,s=o?n.storageKey:void 0,i=n?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new c("[createBaseStore]: sync: true requires a storageKey to inherit the key from");return{key:t}}if("string"==typeof e)return{key:e};const r=e,n=r.key??t;if(!n)throw new c("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...r,key:n}}(n.sync,s):void 0,a=o?n.storage??S().storage:void 0,f=i?function(e,t,r){const n=t.engine??S().syncEngine,o=function(e){let t,r,n,o=!1;return{isAsync:e,clearFieldTimestamps:function(e){if(e&&n){for(const t of Object.entries(e)){const e=t[0],r=t[1];n[e]===r&&delete n[e]}Object.keys(n).length||(n=void 0)}},getFieldTimestampSnapshot:function(){if(n)return{...n}},getIsApplyingRemote:()=>o,getSessionId:()=>t,getTimestamp:()=>r,mergeFieldTimestamps:function(e){if(n)for(const t of Object.entries(e)){const e=t[0],r=t[1],o=n[e];(void 0===o||r>o)&&(n[e]=r)}else n={...e}},onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>o=e,setSessionId:e=>t=e,setTimestamp:e=>r=e,setWithoutPersist:void 0}}(r);return{stateCreator:(s,i,a)=>{const l=new Map,f=[],d=[];let y=null,p=!1,h=!1,g=0,b=null,m=[],S=Promise.resolve(),v=!r;const w=(e,t)=>{if(o?.setSessionId&&o?.setTimestamp&&n.sessionId&&(o.setSessionId(n.sessionId),o.setTimestamp(e),o.mergeFieldTimestamps&&t.length>0)){const r=Object.create(null);for(const n of t)r[String(n)]=e;o.mergeFieldTimestamps(r)}},j=function(e,t){if(p||!b)return t?s(e,t):s(e);const r=(()=>{const e=Date.now(),t=e>g?e:g+1;return g=t,t})();let o=[],i=Object.create(null);const a=n=>{const s=L(n,e,t);for(const e of m)Object.is(s[e],n[e])||(o.push(e),i[e]=s[e]);return o.length&&w(r,o),s},c=t?s(a,!0):s(a),u=()=>{o.length&&(e=>{const t=n.sessionId;for(const r of e.keys)l.set(r,[e.timestamp,t]);y&&h?y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):d.push(e)})({keys:o,replace:t??!1,values:i,timestamp:r})};return(f=c)&&"object"==typeof f&&"then"in f&&"function"==typeof f.then?c.finally(u):(u(),c);var f},q=a.setState;a.setState=j;const O=e(j,i,a);if(m=t.fields??function(e){const t=[];for(const r of Object.entries(e)){if("function"==typeof r[1])continue;const e=r[0];t.push(e)}return t}(O),!m.length)return O;b=new Set(m);const F=async e=>{g=Math.max(g,e.timestamp);const r=Object.create(null),n=i(),s=e.timestamp;let a;if(e.replace)for(const t of m)N(t,e.values)||B(l.get(t),s,e.sessionId)&&(a??(a=[])).push(t);for(const o of m){if(!N(o,e.values))continue;if(!b?.has(o))continue;if(!B(l.get(o),s,e.sessionId))continue;const i=t.merge?.[o];if(i){const t=e.values[o],a=n[o];if(void 0!==t){const f=i(t,a,n,e.values),d=void 0!==a?a:t;if(!H())return void u.error(new c(`[sync] Merge function for field "${String(o)}" returned ${J(f)} but expected ${J(d)}`));r[o]=f,l.set(o,[s,e.sessionId])}}else r[o]=e.values[o],l.set(o,[s,e.sessionId])}if(Object.keys(r).length>0||a?.length){p=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...n};let t=!1;if(a?.length){t=!0;for(const t of a)delete e[t],l.delete(t)}for(const n in r){if(!Object.prototype.hasOwnProperty.call(r,n))continue;const o=r[n];void 0!==o&&(Object.is(e[n],o)||(t=!0),e[n]=o)}if(!t)return;await(o.setWithoutPersist??q)(e,!0)}else await(o.setWithoutPersist??q)(r)}finally{p=!1,o&&o.setIsApplyingRemote(!1)}}},A=e=>{r?S=S.then(()=>F(e)):F(e)};y=n.register({apply:e=>{v?A(e):f.push(e)},delta:t.delta,fields:m,getState:i,key:t.key});const k=()=>{h=!0,(()=>{if(y&&d.length){for(const e of d){const t=n.sessionId;for(const r of e.keys)l.set(r,[e.timestamp,t]);w(e.timestamp,e.keys),y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}d.length=0}})()},I=()=>{v=!0,(()=>{if(!f.length)return;const e=f.slice();f.length=0;for(const t of e)A(t)})()};return r&&o?(o.onHydrationComplete=k,o.onHydrationFlushEnd=I):y.onHydrated?(y.onHydrated(k),I()):(k(),I()),O},syncContext:o}}(e,i,a?.async??!1):void 0,d=f?.stateCreator??e;if(!o)return r.createWithEqualityFn()(t.subscribeWithSelector(d),Object.is);const y=a?.async?function(e){let t,r,n,o=!1;return{hydrationPromise:()=>o?t?.promise??r??(r=Promise.resolve()):(t||(t=v()),t.promise),stateCreator:(r,s,i)=>{let a;return n=()=>{if(a?.length){for(const e of a)e[1]?i.setState(e[0],e[1]):i.setState(e[0]);a=void 0}},e((...e)=>o?!0===e[1]?r(e[0],e[1]):r(e[0]):(t||(t=v()),a||(a=[]),a.push(e),t.promise),s,i)},wrapOnRehydrateStorage:(e,r)=>s=>{const i=e?.(s);return(e,s)=>{o=!0,r?.onHydrationComplete?.(),n&&n(),r?.onHydrationFlushEnd?.(),s?t?.fail(l(s)):t?.complete(),i?.(e,s)}}}}(d):null,p=function(e,t,r){const n=t??e.storage??S().storage,o=(e.sync?void 0:e.persistThrottleMs??T)||void 0,s=e.version??0,i=n.async?function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??I,a=t.deserializer??e.deserializer??K(o),l=t.serializer??e.serializer??M(o);async function f(t,r){try{if(D(n))return;r.state=i(r.state);const o=x(n,s,r),a=l(r);try{await e.set(t,a),z(n,o)}catch(e){u.error(new c("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){u.error(new c("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const d=void 0!==r?q(f,r,{leading:!1,maxWait:r,trailing:!0}):function(e){let t,r=null;return function(...n){return t=n,r||(r=new Promise(n=>{queueMicrotask(async()=>{try{await e(...t)}finally{r=null,n()}})})),r}}(f);return{getItem:async t=>{const r=await e.get(t);return void 0===r?null:a(r)},setItem:async(e,t)=>{if(!n?.getIsApplyingRemote())return await d(e,t)},removeItem:async t=>{try{await e.delete(t)}catch(e){u.error(new c("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(n,e,o,r):function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??I,a=t.deserializer??e.deserializer??K(o),l=t.serializer??e.serializer??M(o);function f(t,r){try{if(D(n))return;r.state=i(r.state);const o=x(n,s,r),a=l(r);try{e.set(t,a),z(n,o)}catch(e){u.error(new c("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){u.error(new c("[createBaseStore]: Failed to persist store data"),{error:e})}}const d=void 0!==r?q(f,r,{leading:!1,maxWait:r,trailing:!0}):f;return{getItem:t=>{const r=e.get(t);return void 0===r?null:a(r)},setItem:(e,t)=>{n?.getIsApplyingRemote()||d(e,t)},removeItem:t=>{try{e.delete(t)}catch(e){u.error(new c("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(n,e,o,r);return{persistStorage:i,version:s}}(n,a,f?.syncContext),h=y?y.wrapOnRehydrateStorage(n.onRehydrateStorage,f?.syncContext):n.onRehydrateStorage,g=y?(e,t,r)=>(f&&(f.syncContext.setWithoutPersist=r.setState),y.stateCreator(e,t,r)):d,b=r.createWithEqualityFn()(t.subscribeWithSelector(t.persist(g,function(e,t,r){const n={name:e.storageKey,onRehydrateStorage:r,storage:t.persistStorage,version:t.version};return void 0!==e.merge&&(n.merge=e.merge),void 0!==e.migrate&&(n.migrate=e.migrate),n}(n,p,h))),Object.is);return y?Object.assign(b,{persist:Object.assign(b.persist,{hydrationPromise:y.hydrationPromise})}):b}function G(e,t,r){const n=t.get(e);if(!n){const n=function(e,t,r,n=[]){return e&&"object"==typeof e?X(e,n,t,r,new WeakSet,new WeakMap):(r(t,n,!0),e)}(R(e)?e.getSnapshot():e.getState(),e,r);return t.set(e,n),n}return n}function X(e,t,r,n,o,s){return new Proxy(e,{get(i,a,c){if(o.has(i))return Reflect.get(i,a,c);if("__proto__"===a||"symbol"==typeof a)return a===Symbol.iterator&&(n(r,t,!0),o.add(i)),Reflect.get(i,a,c);const u=Reflect.get(i,a,i),l=String(a),f=t.concat(l);if("function"==typeof u)return Object.prototype.hasOwnProperty.call(i,a)?function(...e){return n(r,f,!0,{method:l,args:e.length?e:void 0}),Reflect.apply(u,i,e)}:(n(r,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return n(r,f,!d),d?(s.has(u)||s.set(u,X(u,f,r,n,o,s)),s.get(u)):u},getOwnPropertyDescriptor:(e,s)=>(n(r,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,s)),has:(e,o)=>(n(r,t,!0),Reflect.has(e,o)),ownKeys:e=>(n(r,t,!0),o.add(e),Reflect.ownKeys(e))})}function Z(e){return t=>te(t,e)}function ee(e,t){const r=e.slice(0,-1);return e=>{const n=te(e,r),o=n?.[t.method];return"function"==typeof o?o.apply(n,t.args):void 0}}function te(e,t){let r=e;for(const e of t){if(!r||"object"!=typeof r)return r;r=r[e]}return r}function re(){const e=new Map;return{buildProxySubscriptions(t,r){const n=new Set;for(const[t,r]of e)se(r,t,[],0,n);!function(e,t,r){for(const r of e)t(r.store,r.invocation?ee(r.path,r.invocation):Z(r.path));r&&e.size}(n,t,r)},trackPath(t,r,n,o){let s=e.get(t);s||(s=ne(),e.set(t,s)),oe(s,r,0,n,o)}}}function ne(){return Object.create(null)}function oe(e,t,r,n,o){if(r===t.length)return n&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=ne());const s=t[r];let i=e.children?.[s];i||(i=ne(),e.children[s]=i),oe(i,t,r+1,n,o)}function se(e,t,r,n,o,s=1){const i=e.children;if(!i)return void o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});const a=Object.keys(i),c=a.length;if(0!==c)if(e.isLeaf||n>=s&&c>1){o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});for(const e of a){const a=i[e];a.invocation&&se(a,t,[...r,e],n+1,o,s)}}else if(n<s&&c>1&&!e.isLeaf)for(const e of a)se(i[e],t,[...r,e],n+1,o,s);else{if(1===c){const e=a[0];return void se(i[e],t,[...r,e],n+1,o,s)}o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1})}else o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1})}var ie=!1,ae=!1,ce=new Map,ue=new Map,le=new Map,fe=null,de=1/0;function ye(){return ie}function pe(){return fe}function he(){ie||(ie=!0,ae||(ae=!0,queueMicrotask(()=>{ae=!1,(()=>{for(;ue.size>0;){const e=de,t=le.get(e);if(t){le.delete(e);for(const e of t)ue.delete(e);fe=e;for(const e of t)e();if(fe=null,le.size>0){de=1/0;for(const e of le.keys())e<de&&(de=e)}else de=1/0}else{de=1/0;for(const e of le.keys())e<de&&(de=e)}}for(;ce.size>0;){const e=Array.from(ce.values());ce.clear();for(const t of e)t()}})(),ie=!1,fe=null,ue.clear(),le.clear(),de=1/0})))}function ge(e,t){ie&&ce.set(e,t)}var be=e=>e;function me(e,t=Object.is){return r=function(e,t=Object.is){const{debounceOptions:r,debugMode:n,equalityFn:o,keepAlive:s,lockDependencies:i}="function"==typeof(u=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:u,keepAlive:!1,lockDependencies:!1}:{debounceOptions:u.debounce,debugMode:false,equalityFn:u.equalityFn??Object.is,keepAlive:u.keepAlive??!1,lockDependencies:u.lockDependencies??!1},a=String(ve+=1),c=new Set;var u;s&&c.add(we);const l=new Set;let f,d,y=Se,p=!1,h=!0,g=!0,b=!0,m=0,S=!1,v=null,w=Se;function j(e,t,r){if(!b||!c.size)return(t??be)(R(e)?e.getSnapshot():e.getState());if(!t)return f||(f=new WeakMap),d||(d=re()),G(e,f,d.trackPath);const n=e.subscribe(t,E,{equalityFn:r??Object.is,isDerivedStore:!0});return l.add(n),t(R(e)?e.getSnapshot():e.getState())}function O(e){for(const t of l)t(e);l.clear()}function F(){if(!g&&je(y))return y;g=!1,b&&O(!0);const t=y,r=je(t);y=function(t){h=!0;const r=y,n=e(t);return je(r)&&o(r,n)?(h=!1,r):n}(j);const s=n&&(!r||"verbose"===n&&b);return s&&l.size,d&&b&&(d.buildProxySubscriptions((e,t)=>{const r=e.subscribe(t,E,{equalityFn:Object.is,isDerivedStore:!0});l.add(r)},s),f=void 0,d=void 0),h&&r&&function(e,t){const r=function(){const e=c.has(we)?c.size-1:c.size;return m>0&&m<e}(),n=!m||r,o=r||null!==pe()||ye()&&n;r&&he();for(const t of c){if("function"==typeof t||!t.isDerivedWatcher)continue;const r=t.selector(e);if(!t.equalityFn(t.currentSlice,r)){const e=t.currentSlice;t.currentSlice=r,t.listener(r,e)}}o?S||(S=!0,je(w)||(w=t),ge(a,k)):A(e,t)}(y,t),i&&(b=!1),y}function A(e,t){for(const r of c)if("function"==typeof r)r(e,t);else if(!r.isDerivedWatcher){const t=r.selector(e);if(!r.equalityFn(r.currentSlice,t)){const e=r.currentSlice;r.currentSlice=t,r.listener(t,e)}}}function k(){c.size&&(S&&function(){if(g&&!m&&F(),!je(y))return;const e=je(w)?w:y;A(y,e)}(),S=!1,w=Se)}const I=r?q(T,"number"==typeof r?r:r.delay,"number"==typeof r?{leading:!1,maxWait:r,trailing:!0}:r):void 0,C=I??(()=>{p||(p=!0,queueMicrotask(T))});function T(){c.size&&(p=!1,g&&F())}function K(e){e?queueMicrotask(()=>{c.size||z()}):z()}function M(){T(),v=null}function E(){if(!g){if(g=!0,!I){if(m){he();const e=pe(),t=null===e?0:e+1;if(null!==v&&t<=v)return;return v=t,void function(e,t){if(!ie)return;const r=t<0?0:0|t,n=ue.get(e);if(void 0===n){ue.set(e,r);let t=le.get(r);return t||(t=new Set,le.set(r,t)),t.add(e),void(r<de&&(de=r))}if(r>n){const t=le.get(n);if(t&&(t.delete(e),0===t.size&&(le.delete(n),n===de))){de=1/0;for(const e of le.keys())e<de&&(de=e)}ue.set(e,r);let o=le.get(r);o||(o=new Set,le.set(r,o)),o.add(e),r<de&&(de=r)}}(M,t)}if(ye())return void(S||(S=!0,je(y)&&(w=y),ge(a,k)))}v=null,m&&!r?F():C()}}function x(){return g||!je(y)?c.size>0?F():e(j):y}function z(e=!0){s&&e||(I?.cancel(),O(),c.clear(),m=0,d=void 0,f=void 0,b=!0,p=!1,g=!0,y=Se,S=!1,w=Se,v=null)}return{destroy:()=>z(!1),flushUpdates:function(){c.size&&(I?I.flush():g&&F())},getSnapshot:function(){if(!je(y)){c.add(we);const e=F();return c.delete(we),e}return p&&T(),y},getState:x,subscribe:function(...e){if(1===e.length){const t=e[0];return c.add(t),1!==c.size||je(y)||x(),()=>{c.delete(t),c.size||K(!1)}}const[t,r,n]=e,o=n?.equalityFn??Object.is,s=n?.isDerivedStore??!1,i={currentSlice:void 0,equalityFn:o,isDerivedWatcher:s,listener:r,selector:t};return c.add(i),i.currentSlice=t(x()),s&&(m+=1),n?.fireImmediately&&r(i.currentSlice,i.currentSlice),()=>{c.delete(i),s&&(m-=1),c.size||K(s)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}(e,t),Object.assign(function(e=be,t=void 0){return n.useSyncExternalStoreWithSelector(r.subscribe,r.getSnapshot,void 0,e,t)},r);var r}var Se=Symbol(),ve=0;function we(){}function je(e){return e!==Se}var qe=class{constructor({disableAutoRefetching:e,initialEnabled:t}){this.count=0,this.enabled=!1,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,this.enabled=t,e&&(this.fetchThrottleMs=C.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}get(){return{enabled:this.enabled,lastSubscriptionTime:this.lastSubscriptionTime,subscriptionCount:this.count}}setEnabled(e){this.enabled=e}subscribe(){const e=0===this.count,t=null!==this.fetchThrottleMs&&null!==this.lastSubscriptionTime&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.onSubscribe?.(this.enabled,e,t),this.count+=1,this.lastSubscriptionTime=Date.now(),e=>{const t=1===this.count;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}},Oe={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function Fe(e,t){const r=Object.prototype.hasOwnProperty;function n(e,t){for(const r of e.keys())if(Fe(r,t))return r}let o,s,i;if(e===t)return!0;if(e&&t&&(o=e.constructor)===t.constructor){if(o===Date)return e.getTime()===t.getTime();if(o===RegExp)return e.toString()===t.toString();if(o===Array){if((s=e.length)===t.length)for(;s--&&Fe(e[s],t[s]););return-1===s}if(o===Set){if(e.size!==t.size)return!1;for(let r of e){if(i=r,i&&"object"==typeof i&&(i=n(t,i),!i))return!1;if(!t.has(i))return!1}return!0}if(o===Map){if(e.size!==t.size)return!1;for(let r of e){if(i=r[0],i&&"object"==typeof i&&(i=n(t,i),!i))return!1;if(!Fe(r[1],t.get(i)))return!1}return!0}if(o===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(o===DataView){if((s=e.byteLength)===t.byteLength)for(;s--&&e.getInt8(s)===t.getInt8(s););return-1===s}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){const r=e,n=t;if((s=r.byteLength)===n.byteLength)for(;s--&&r[s]===n[s];);return-1===s}if(!o||"object"==typeof e){s=0;for(const n in e){if(r.call(e,n)&&++s&&!r.call(t,n))return!1;if(!(n in t)||!Fe(e[n],t[n]))return!1}return Object.keys(t).length===s}}return e!=e&&t!=t}var Ae=new WeakMap,ke=new WeakMap;function Ie(e,t=Ce,r=Fe){return function(e,t,r){let n=ke.get(e);n||(n=new Map,ke.set(e,n));let o=n.get(t);o||(o=new Map,n.set(t,o));const s=o.get(r);if(s)return s;const[i,a,c]=Ke(e,t,r),u=new Map,l=e=>{const t={get(t,r){if("value"===r){let t=a();const r=e.split(".");for(const e of r)e&&(t=t[e]);return t}const n="string"==typeof r?r:r.toString(),o=e?`${e}.${n}`:n,s=u.get(o);if(s)return s;const c=l(o);return Ae.set(c,i),u.set(o,c),c},set(t,r,n){const o=e.split(".");return""===o[0]&&o.shift(),c(o,n),!0}};return new Proxy(Object.create(null),t)},f=l("");return i(()=>{}),Ae.set(f,i),o.set(r,f),f}(e,t,r)}var Ce=e=>e,Te=(e,t,r)=>{if(!t.length)return r;const[n,...o]=t,s=e[n],i=Te(s,o,r);if(Fe(s,i))return e;const a=Array.isArray(e)?e.slice():{...e};return a[n]=i,a},Ke=(e,t,r)=>{const n=new Set,o=R(e);let s,i=t(o?e.getSnapshot():e.getState());return[a=>(n.size||(s=e.subscribe(t,e=>{i=e,n.forEach(e=>e())},{equalityFn:r,isDerivedStore:o})),n.add(a),()=>{n.delete(a),!n.size&&s&&(s(),s=void 0)}),()=>(n.size||(i=t(e.getState())),i),(r,n)=>{if(t!==Ce)throw new Error("Cannot set a value with a selector");e.setState(e=>Te(e,r,n),!0)}]};function Me(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var[Ee,xe]=[!0,!1],ze={error:Ee,lastFetchedAt:Ee,queryCache:Ee,queryKey:Ee,status:Ee,enabled:xe,fetch:xe,getCacheEntry:xe,getData:xe,getStatus:xe,isDataExpired:xe,isStale:xe,reset:xe};function De(e,t){const r=t?.baseDelay??C.seconds(5),n=t?.maxDelay??C.minutes(5),o=Math.pow(2,e);return Math.min(r*o,n)}function Le(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Pe(e){return JSON.stringify(Re(e))}function Re(e){return"object"!=typeof e||null===e?e:Object.keys(e).sort().reduce((t,r)=>{const n=e[r];return t[r]=null!==n&&"object"==typeof n?Re(n):n,t},{})}function We(e,t,r,n){return n?function(e,t){if(!e)return!1;for(const r of t)if(!(r in e))return!1;return!0}(n,r)?n:{...$e(e,t),...n}:$e(e,t)}function $e(e,t){const r=t?.params??Object.create(null);for(const t in e?.params){const n=e.params[t];n&&(r[t]=n.value)}return r}function _e(){return Object.create(null)}function Qe(e,t,r){if(!r.queryCache)return r;const n=Date.now(),o=t??(e&&r.queryKey||null);let s=!1;const i=Object.create(null);for(const e in r.queryCache){if(!Me(r.queryCache,e))continue;const a=r.queryCache[e];a&&(n-(a.lastFetchedAt??a.errorInfo.lastFailedAt)<a.cacheTime||e===o)?!t&&a.errorInfo&&a.errorInfo.retryCount>0?(i[e]={...a,errorInfo:{...a.errorInfo,retryCount:0}},s=!0):i[e]=a:s=!0}return s?{...r,queryCache:i}:r}function Ue(e){return"function"==typeof e}function Ve(e){return!Ue(e)}function Be(e,t){return r=>{const n={...r},o={};for(const e in n)Me(n,e)&&e in ze&&(ze[e]&&(o[e]=n[e]),delete n[e]);return{...t?t(n):I(n),...Qe(e,null,o)}}}C.seconds(5);var Ne=Symbol(),He=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1}),Je=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function Ye(e,t,r=Je){if(t.current.isActive){if(!r?.forceResubscribe)return;t.current.unsubscribe()}t.current.options.debugMode,t.current.isActive=!0,t.current.resubscribe=(r=Je)=>Ye(e,t,r);const n=e.subscribe(e=>t.current.selector(e),(e,r)=>t.current.react(e,r,()=>{n(),t.current.isActive=!1}),r.fireImmediately?{...t.current.options,fireImmediately:!0}:t.current.options);t.current.unsubscribe=()=>{t.current.isActive&&(n(),t.current.isActive=!1)}}function Ge(e){return"function"==typeof e?{equalityFn:e}:e??He}var Xe=Symbol();function Ze(e,t){return function(...r){const n=e.getState()[t];if("function"==typeof n)return n(...r);throw new Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function et(e,t){return"function"==typeof e[t]}exports.QueryStatuses=Oe,exports.applyStateUpdate=L,exports.configureStores=function(e){var t;e.logger&&(t=e.logger,u=t),e.storage&&(m.storage=e.storage),e.syncEngine&&(m.syncEngine=e.syncEngine)},exports.createBaseStore=Y,exports.createDerivedStore=me,exports.createQueryStore=function(e,t,r){const n="function"==typeof t?t:_e,o="object"==typeof t?t:r,s=o&&"storageKey"in o?o:void 0,{fetcher:i,onError:a,onFetched:f,setData:d,transform:y,abortInterruptedFetches:p=!0,cacheTime:h=C.days(7),debugMode:g=!1,disableAutoRefetching:b=!1,disableCache:m=!1,enabled:S=!0,keepPreviousData:v=!1,maxRetries:w=5,paramChangeThrottle:j=!1,params:O,retryDelay:F=De,suppressStaleTimeWarning:A=!1,useParsableQueryKeys:k=!0}=e;let I="function"==typeof e.staleTime?C.minutes(2):e.staleTime??C.minutes(2);const T=k?Pe:Le,K=new Error("[createQueryStore: AbortError] Fetch interrupted"),M="function"==typeof h,E=Object.keys(e.params??Object.create(null));let x=null,z=null,D=null,L=[],P=!1,R=!1,W=null,$=null,_=null,Q=null,U=null;const V={enabled:"function"!=typeof S&&S,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Oe.Idle},B=new qe({disableAutoRefetching:b,initialEnabled:V.enabled}),N=()=>{W&&($=null,W.abort(),W=null)},H=(t,r,o)=>{const g=o.setState,S=(e,t)=>{const r="function"==typeof e;if(r||void 0!==e.enabled){let t;const n=g(n=>{const s=r?e(n):e,i=void 0!==s.enabled?s.enabled:n.enabled;return i!==n.enabled&&(t=()=>((e,t)=>{e!==t&&U!==t&&(U=t,B.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(_||p)&&(p&&N(),_&&(clearTimeout(_),_=null)))})(n.enabled,i)),s});return t?.(),n}return g(e)};o.setState=S,B.init({onSubscribe:(n,o,s)=>{if(z||x||!O&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(n)if(o){const e=$e(x,z),n=T(e),o=r();o.queryKey!==n&&t(e=>({...e,queryKey:n})),o.isStale()?q.fetch(e,void 0,!0):j(e,void 0)}else b&&!s&&q.fetch(void 0,void 0,!0)}else P=!0},onLastUnsubscribe:e=>{_&&(clearTimeout(_),_=null),p&&!e&&N()}});const j=(e,t)=>{if(b||t?.skipStoreUpdates)return;if(I<=0||I===1/0)return;_&&(clearTimeout(_),_=null);const n=T(e),o=r(),s=(m?Q===n&&o.lastFetchedAt:o.queryCache[n]?.lastFetchedAt)||null,i=s?I-(Date.now()-s):I;_=setTimeout(()=>{const t=B.get();t.enabled&&t.subscriptionCount>0&&q.fetch(e,{force:!0},!0)},i)},q={...n(S,r,o),...V,async fetch(e,n,o=!1){const g=B.get();if(!n?.force&&!n?.skipStoreUpdates&&!g.enabled)return null;const b=r(),O=b.error,A=b.queryKey,k=b.status,C=We(x,z,E,e),D=T(C),L=n?.staleTime??I,P=k===Oe.Loading,R=!!n?.skipStoreUpdates,U="boolean"==typeof n?.updateQueryKey?n.updateQueryKey:o?v:!R,V=o||!R&&(U||A===D);if($?.promise&&$.key===D&&P)return $.promise;if(p&&!R&&!1!==n?.updateQueryKey&&N(),!n?.force){const e=b.lastFetchedAt,r=b.queryCache[D],o=r?.lastFetchedAt,s=r?.errorInfo,i=s&&s.retryCount>=w,a=(m?Q===D&&e:o)||null;if(a&&!(Date.now()-a>=L)&&(!s||i||R))return V&&!R&&!_&&g.subscriptionCount>0&&0!==I&&I!==1/0&&j(C,n),U&&t(e=>e.queryKey!==D?{...e,queryKey:D}:e),r?.data??null}!R&&V&&(_&&(clearTimeout(_),_=null),!O&&P||t(e=>({...e,error:null,status:Oe.Loading})),$={key:D});const H=n?.cacheTime??(M?h(C):h),J=async()=>{try{const e=await(p&&!R&&V?(async e=>{const t=new AbortController;W=t;try{return await new Promise((r,n)=>{t.signal.addEventListener("abort",()=>n(K),{once:!0}),Promise.resolve(i(e,t)).then(r,n)})}finally{W===t&&(W=null)}})(C):i(C,null)),r=Date.now();let o;try{o=y?y(e,C):e}catch(e){throw new c(`[createQueryStore: ${s?.storageKey||D}]: transform failed`,e)}if(R)return"withCache"===n.skipStoreUpdates&&t(e=>{if(!d)return m?{...e,queryCache:{...e.queryCache,[D]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:r}}}:e;let t=e;const n=t.queryCache[D];return d({data:o,params:C,queryKey:D,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!m&&Object.is(n,t.queryCache[D])&&(t={...t,queryCache:{...t.queryCache,[D]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:r}}}),t}),o;if((d?S:t)(e=>{let t={...e,error:null,lastFetchedAt:r,queryKey:U?D:e.queryKey,status:Oe.Success};if(d||m){if(d){const e=t.queryCache[D];d({data:o,params:C,queryKey:D,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!m&&Object.is(e,t.queryCache[D])&&(t.queryCache={...t.queryCache,[D]:{cacheTime:H,data:null,errorInfo:null,lastFetchedAt:r}})}}else t.queryCache={...t.queryCache,[D]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:r}};return m||h===1/0?t:Qe(v,D,t)}),V&&(Q=D,j(C,n)),f)try{f({data:o,fetch:q.fetch,params:C,set:S})}catch(e){u.error(new c(`[createQueryStore: ${s?.storageKey||D}]: onFetched callback failed`,e))}return o??null}catch(i){if(i===K)return null;const f=!o&&!0===n?.throwOnError,d=l(i);if(R||!V){if(u.error(new c(`[createQueryStore: ${s?.storageKey||D}]: Failed to fetch data`,d)),f)throw d;return null}const y=m?void 0:r().queryCache[D],p=y?.errorInfo?.retryCount??0,h=p+1;if(a?.(d,p),p<w){if(B.get().subscriptionCount>0){const t="function"==typeof F?F(h,d):F;t!==1/0&&(_&&clearTimeout(_),_=setTimeout(()=>{const{enabled:t,subscriptionCount:r}=B.get();t&&r>0&&q.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:d,queryCache:{...e.queryCache,[D]:{cacheTime:y?.cacheTime??H,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:d,lastFailedAt:Date.now(),retryCount:h}}},queryKey:U?D:e.queryKey,status:Oe.Error}))}else t(e=>({...e,error:d,queryCache:{...e.queryCache,[D]:{cacheTime:y?.cacheTime??H,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:d,lastFailedAt:Date.now(),retryCount:w}}},queryKey:U?D:e.queryKey,status:Oe.Error}));if(u.error(new c(`[createQueryStore: ${s?.storageKey||D}]: Failed to fetch data`,d)),f)throw d;return null}finally{!R&&V&&($=null)}};return R||!V?J():($={key:D,promise:J()}).promise},getCacheEntry(e){if(m)return null;const t=r(),n=e?"string"==typeof e?e:T(We(x,z,E,e)):t.queryKey;return t.queryCache[n]??null},getData(e){if(m)return null;const t=r().getCacheEntry(e);return t&&null!==t.data?v?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return r().status===Oe.Idle;case"isLoading":return r().status===Oe.Loading;case"isSuccess":{const e=r(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Oe.Success}case"isError":case"isInitialLoad":case void 0:{const t=r(),n=t.queryCache[t.queryKey],o=(m?Q===t.queryKey&&t.lastFetchedAt:n?.lastFetchedAt)||null,s=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return m?"error"!==s:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&s===Oe.Loading}return{isError:s===Oe.Error,isIdle:s===Oe.Idle,isLoading:s===Oe.Loading,isInitialLoad:!o&&s===Oe.Loading,isSuccess:s===Oe.Success}}}},isDataExpired(e){const t=r(),n=t.queryCache[t.queryKey],o=t.queryKey,s=t.lastFetchedAt,i=(m?Q===o&&s:n?.lastFetchedAt)||null;if(!i)return!0;const a=e??n?.cacheTime;return void 0===a||Date.now()-i>=a},isStale(e){const t=r(),n=t.queryKey,o=(m?Q===n&&t.lastFetchedAt:t.queryCache[n]?.lastFetchedAt)||null;if(!o)return!0;const s=e??I;return Date.now()-o>=s},reset(e=!1){for(const e of L)e();L=[],x=null,z=null,D=null,N(),_&&(clearTimeout(_),_=null),$=null,Q=null,e&&t(e=>({...e,...V}))}},A=o.subscribe;return o.subscribe=(...e)=>{const t=R?()=>{}:B.subscribe(),r=1===e.length?A(e[0]):A(...e);return e=>{t(e),r()}},q},J=s?.storageKey?Y(H,Object.assign(Object.create(null),s,{partialize:Be(v,s.partialize)})):o&&!("storageKey"in o)?Y(H,o):Y(H),G=J.getState(),X=G.error,Z=G.enabled,ee=G.queryKey;if(ee&&!X&&(Q=ee),R=!0,O||"function"==typeof e.enabled){const{directValues:e,enabledAttachVal:t,enabledDirectValue:r,attachVals:n}=function(e,t,r){const n=Object.create(null),o=Object.create(null),s=Object.create(null);for(const e in t){if(!Me(t,e))continue;const i=t[e];if(Ue(i)){const t=i(Ie,r);n[e]=t,s[e]=t.value}else Ve(i)&&(o[e]=i,s[e]=i)}let i,a=null,c=null;if(Ue(e)){const t=e(Ie,r);i=t.value,a=t}else i=e,c=e;return{attachVals:n,directValues:o,enabledAttachVal:a,enabledDirectValue:c,resolvedEnabled:i,resolvedParams:s}}(S,O,J);x={enabled:t,params:n},z={enabled:r,params:e}}"function"==typeof e.staleTime&&(D=e.staleTime(Ie,J),I=D.value);const te=function(){let e,t=!1;return function(...r){e=r,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{G.fetch(e??$e(x,z),{updateQueryKey:v})})(...e)}))}}();function re(){let e;if(!v){e=$e(x,z);const t=T(e);J.setState(e=>({...e,queryKey:t}))}te(e)}const ne=j?q(re,"number"==typeof j?j:j.delay,"number"==typeof j?{leading:!1,maxWait:j,trailing:!0}:j):re;if(x?.enabled){const e=x.enabled,t=Ae.get(e);if(t){let r=e.value;Z!==r&&J.setState(e=>({...e,enabled:r})),r&&B.setEnabled(r);const n=t(()=>{const t=e.value;t!==r&&(r=t,J.setState(e=>({...e,enabled:t})))});L.push(n)}}else Z!==V.enabled&&J.setState(e=>({...e,enabled:V.enabled}));for(const e in x?.params){const t=x.params[e];if(!t)continue;const r=Ae.get(t);if(r){let e=t.value;const n=r(()=>{const r=t.value;Fe(e,r)||(e=r,ne())});L.push(n)}}if(D){const e=Ae.get(D);if(e){const t=D;let r=t.value;const n=e(()=>{const e=t.value;e!==r&&(r=e,I=e,J.getState().fetch())});L.push(n)}}return R=!1,P&&queueMicrotask(ne),oe=J,se="_queryStore",Object.assign(oe,{[se]:!0});var oe,se},exports.createStoreActions=function(e,t){const r=function(e){const t=e.getState(),r=Object.create(null);if(_(e)){for(const n in t)et(t,n)&&(r[n]=Ze(e,n));return r}for(const e in t)et(t,e)&&(r[e]=t[e]);return r}(e);return t?Object.assign(r,t):r},exports.createVirtualStore=function(e,t,r){const n="function"==typeof t,o=n?t:void 0,s=n?r:t,i=new Set,a=me(e,{debugMode:s?.debugMode??!1,equalityFn:function(e,t){const r=Object.is(e,t);return r||(function(e,t){for(const r of i){r.unsubscribe();const n=r.args;if(1===n.length){const o=n[0],s=e.getState(),i=t.getState(),a=t.subscribe(o);r.unsubscribe=a,Object.is(i,s)||o(i,s);continue}const o=n[0],s=n[1];let i=n[2];i?.fireImmediately&&(i={...i,fireImmediately:!1});const a=i?.equalityFn??Object.is,c=o(e.getState()),u=o(t.getState()),l=t.subscribe(...n);r.unsubscribe=l,a(c,u)||s(u,c)}}(e,t),P(e)),r},keepAlive:!0,lockDependencies:s?.lockDependencies??!0}),c=a.getState().persist,u=(l=a.getState,function(e,t){return t?l().setState(e,t):l().setState(e)});var l;return Object.assign(function(e,t){const r=a();return e?r(e,t):r()},{_virtualStore:!0,destroy:()=>a.destroy(),getInitialState:()=>a.getState().getInitialState(),getState:()=>a.getState().getState(),persist:c,setState:u,subscribe:function(...e){const t={args:e,unsubscribe:1===e.length?a.getState().subscribe(e[0]):a.getState().subscribe(...e)};return i.add(t),()=>{t.unsubscribe(),i.delete(t)}}},o?o(a.getState):void 0)},exports.deepEqual=function e(t,r){if("object"!=typeof t||null==t||"object"!=typeof r||null==r)return t===r;if(Object.is(t,r))return!0;const n=Object.keys(t);if(n.length!==Object.keys(r).length)return!1;for(const o of n)if(!(o in r)||!e(t[o],r[o]))return!1;return!0},exports.defaultRetryDelay=De,exports.destroyStore=P,exports.destroyStores=function(e,t){for(const r of Array.isArray(e)?e:Object.values(e))r&&!t?.skipDestroy?.(r)&&P(r,t)},exports.getLegacyQueryKey=Le,exports.getQueryKey=Pe,exports.getStoreName=function(e){return $(e)?e.persist.getOptions().name??e.name:e.name},exports.isDerivedStore=function(e){return"flushUpdates"in e},exports.isPersistedStore=$,exports.isQueryStore=W,exports.isVirtualStore=_,exports.parseQueryKey=function(e){return JSON.parse(e)},exports.replacer=A,exports.reviver=k,exports.shallowEqual=function(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const n of r)if(!Object.is(e[n],t[n]))return!1;return!0},exports.time=C,exports.useListen=function(e,t,r,n=He){const s=function(){const e=o.useRef(Ne);return e.current===Ne&&(e.current=function(e,t,r){return{selector:e,react:t,isActive:!1,options:Ge(r),resubscribe:()=>{},unsubscribe:()=>{}}}(t,r,n)),e}(),i=function(e){return"function"==typeof e?He.enabled:e?.enabled??He.enabled}(n);return s.current.react=r,s.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??He)}(s,n),o.useLayoutEffect(()=>{if(i)return Ye(e,s),()=>function(e){e.current.options.debugMode,e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(s)},[i,e]),s},exports.useStableValue=function(e){const t=o.useRef(Xe);return t.current===Xe&&(t.current=e()),t.current};
1
+ var e,t=require("zustand/middleware"),r=require("zustand/traditional"),n=require("use-sync-external-store/shim/with-selector"),o=require("react"),s=(e=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,t)=>("undefined"!=typeof require?require:e)[t]}):e)(function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),i="undefined"!=typeof window&&"undefined"!=typeof document;function a(){if(e)return e;try{const{MMKV:t}=s("react-native-mmkv"),r=new t({id:"stores-storage"}),{getString:n,...o}=r;e=Object.assign(Object.create(null),o,{get:n})}catch(e){throw new Error("[stores]: You must install react-native-mmkv for persistence to work in React Native.\n\n See: https://github.com/mrousavy/react-native-mmkv\n "+(e instanceof Error?`\n\nError: ${e.message}`:""))}return function(e){if(!e||"function"!=typeof e.get||"function"!=typeof e.set||"function"!=typeof e.delete||"function"!=typeof e.clearAll)throw new Error("[stores]: Storage instance does not conform to expected interface")}(e),e}var c={clearAll:()=>a().clearAll(),contains:e=>a().contains(e),delete:e=>a().delete(e),getAllKeys:()=>a().getAllKeys(),get:e=>a().get(e),set:(e,t)=>a().set(e,t)},u=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=f(t)}},l={debug:(e,t)=>{},error:(e,t)=>{},info:(e,t)=>{},warn:(e,t)=>{}};function f(e){return e instanceof Error?e:new Error(String(e))}var d="stores/core/sync-channel",y=`${d}:storage:`;function p(){try{return"undefined"!=typeof window?window.localStorage:null}catch{return null}}var h,g,b,m=class{constructor(e){this.broadcast=e.broadcast,this.origin=e.origin,this.storeKey=e.storeKey,this.teardown=e.teardown}destroy(){this.teardown()}publish(e){const t=Object.create(null);for(const r of Object.entries(e.values))t[r[0]]=r[1];const r={origin:this.origin,replace:e.replace,sessionId:e.sessionId,storeKey:this.storeKey,timestamp:e.timestamp,values:t};this.broadcast(r)}},S=class{constructor(){this.listeners=new Map,this.origin="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`,this.onChannelMessage=e=>{e.data&&this.dispatch(e.data)},this.onStorageEvent=e=>{if(e.key&&e.newValue&&e.key.startsWith(y))try{const t=JSON.parse(e.newValue);this.dispatch(t)}catch(e){l.error(new u("[sync] Failed to parse storage event payload"),{error:e})}},this.channel="undefined"==typeof BroadcastChannel?null:new BroadcastChannel(d),this.storage=p(),this.channel&&this.channel.addEventListener("message",this.onChannelMessage),i&&window.addEventListener("storage",this.onStorageEvent)}get sessionId(){return this.origin}register(e){const t=t=>{if(t.origin===this.origin||t.storeKey!==e.key)return;const r=Object.create(null);for(const n of e.fields)Object.prototype.hasOwnProperty.call(t.values,n)&&(r[n]=t.values[n]);Object.keys(r).length&&e.apply({replace:t.replace,sessionId:t.sessionId,timestamp:t.timestamp,values:r})};let r=this.listeners.get(e.key);return r||(r=new Set,this.listeners.set(e.key,r)),r.add(t),new m({broadcast:e=>this.broadcast(e),origin:this.origin,storeKey:e.key,teardown:()=>this.removeListener(e.key,t)})}broadcast(e){try{this.channel&&this.channel.postMessage(e),this.writeToStorage(e)}catch(e){l.error(new u("[sync] Failed to broadcast update"),{error:e})}}dispatch(e){if(!e.storeKey)return;const t=this.listeners.get(e.storeKey);if(t&&t.size)for(const r of t)r(e)}removeListener(e,t){const r=this.listeners.get(e);r&&(r.delete(t),r.size||this.listeners.delete(e))}writeToStorage(e){if(this.storage||(this.storage=p()),!this.storage)return;const t=`${y}${e.storeKey}`;try{this.storage.setItem(t,JSON.stringify(e))}catch(e){l.error(new u("[sync] Failed to write broadcast payload to storage"),{error:e})}}},v=class{destroy(){}publish(){}},w=class{constructor(){this.sessionId="noop"}register(e){return new v}};function j(){return b??(b=q())}function q(){return{storage:c,syncEngine:i?(h||(h=new S),h):(g||(g=new w),g)}}function O(){let e,t,r=!1;return{complete:function(){!r&&e&&(r=!0,e(),e=void 0,t=void 0)},isHydrated:function(){return r},fail:function(n){!r&&t&&(r=!0,t(n),t=void 0,e=void 0)},promise:new Promise((r,n)=>{e=r,t=n})}}var F=Math.max,A=Math.min;function k(e,t=0,r={}){let n,o,s,i,a,c,u=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){const r=n,s=o;return n=o=void 0,u=t,i=r?e.apply(s,r):e.apply(s),i}function p(e){const r=e-(c??0);return void 0===c||r>=t||r<0||f&&void 0!==s&&e-u>=s}function h(){const e=I();if(p(e))return g(e);a=setTimeout(h,function(e){const r=t-(e-(c??0));return f&&void 0!==s?A(r,s-(e-u)):r}(e))}function g(e){return a=void 0,d&&n?y(e):(n=o=void 0,i)}function b(...e){const r=I(),s=p(r);if(n=e,o=this,c=r,s){if(void 0===a)return function(e){return u=e,a=setTimeout(h,t),l?y(e):i}(c);if(f)return clearTimeout(a),a=setTimeout(h,t),y(c)}return void 0===a&&(a=setTimeout(h,t)),i}return t=C(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(r)&&(l=!!r.leading,f="maxWait"in r,s=f?F(C(r.maxWait)||0,t):void 0,d="trailing"in r?!!r.trailing:d),b.cancel=function(){void 0!==a&&clearTimeout(a),u=0,n=c=o=a=void 0},b.flush=function(){return void 0===a?i:g(I())},b}function I(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function C(e){if("number"==typeof e)return e;if("symbol"==typeof e||void 0===e)return NaN;if("object"==typeof e&&null!==e){const t="function"==typeof e.valueOf?e.valueOf():e;e="object"==typeof t?t+"":t}return"string"!=typeof e?0===e?e:+e:(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e)}function T(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function K(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}function M(e){if(null!==e&&"object"==typeof e){const t={};for(const[r,n]of Object.entries(e))"function"!=typeof n&&(t[r]=n);return t}return e}var E={ms:e=>e,seconds:e=>1e3*e,minutes:e=>E.seconds(60*e),hours:e=>E.minutes(60*e),days:e=>E.hours(24*e),weeks:e=>E.days(7*e),infinity:1/0,zero:0},x=i?E.ms(200):E.seconds(5);function z(e){return t=>{if("string"!=typeof t)throw new u("[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.");return function(e,t){try{return JSON.parse(e,t?K:void 0)}catch(e){throw l.error(new u("[createBaseStore]: Failed to deserialize persisted Rainbow store data"),{error:e}),e}}(t,e)}}function D(e){return t=>function(e,t){try{return JSON.stringify(e,t?T:void 0)}catch(e){throw l.error(new u("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var L=Object.freeze({shouldClear:!1});function P(e,t,r){if(!t||!e)return L;const n=e.getFieldTimestampSnapshot();return function(e,t){const r=e.getSessionId(),n=e.getTimestamp();void 0!==r&&void 0!==n&&(t.syncMetadata={origin:r,timestamp:n})}(e,r),r.syncMetadata?n&&Object.keys(n).length>0?(r.syncMetadata.fields=n,{fieldSnapshot:n,shouldClear:!0}):(delete r.syncMetadata.fields,{fieldSnapshot:n,shouldClear:!1}):{fieldSnapshot:n,shouldClear:!1}}function R(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function W(e){return!!e&&!!e.getIsApplyingRemote()}function $(e,...t){return!0===t[1]?N(t[0])?t[0](e):t[0]:{...e,...N(t[0])?t[0](e):t[0]}}function _(e,t){U(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function Q(e){return"getSnapshot"in e}function U(e){return"_queryStore"in e}function V(e){return"persist"in e}function B(e){return"_virtualStore"in e}function N(e){return"function"==typeof e}var[H,J]=[0,1];function Y(e,t,r){if(!e)return!0;const n=e[H],o=e[J];return!(t<n)&&(t>n||r>o)}function G(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function X(e,t){return!0}function Z(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function ee(e,n){const o=void 0!==n&&"string"==typeof n.storageKey,s=o?n.storageKey:void 0,i=n?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new u("[createBaseStore]: sync: true requires a storageKey to inherit the key from");return{key:t}}if("string"==typeof e)return{key:e};const r=e,n=r.key??t;if(!n)throw new u("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...r,key:n}}(n.sync,s):void 0,a=o?n.storage??j().storage:void 0,c=i?function(e,t,r){const n=t.engine??j().syncEngine,o=function(e){let t,r,n,o=!1;return{isAsync:e,clearFieldTimestamps:function(e){if(e&&n){for(const t of Object.entries(e)){const e=t[0],r=t[1];n[e]===r&&delete n[e]}Object.keys(n).length||(n=void 0)}},getFieldTimestampSnapshot:function(){if(n)return{...n}},getIsApplyingRemote:()=>o,getSessionId:()=>t,getTimestamp:()=>r,mergeFieldTimestamps:function(e){if(n)for(const t of Object.entries(e)){const e=t[0],r=t[1],o=n[e];(void 0===o||r>o)&&(n[e]=r)}else n={...e}},onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>o=e,setSessionId:e=>t=e,setTimestamp:e=>r=e,setWithoutPersist:void 0}}(r);return{stateCreator:(s,i,a)=>{const c=new Map,f=[],d=[];let y=null,p=!1,h=!1,g=0,b=null,m=[],S=Promise.resolve(),v=!r;const w=(e,t)=>{if(o?.setSessionId&&o?.setTimestamp&&n.sessionId&&(o.setSessionId(n.sessionId),o.setTimestamp(e),o.mergeFieldTimestamps&&t.length>0)){const r=Object.create(null);for(const n of t)r[String(n)]=e;o.mergeFieldTimestamps(r)}},j=function(e,t){if(p||!b)return t?s(e,t):s(e);const r=(()=>{const e=Date.now(),t=e>g?e:g+1;return g=t,t})();let o=[],i=Object.create(null);const a=n=>{const s=$(n,e,t);for(const e of m)Object.is(s[e],n[e])||(o.push(e),i[e]=s[e]);return o.length&&w(r,o),s},u=t?s(a,!0):s(a),l=()=>{o.length&&(e=>{const t=n.sessionId;for(const r of e.keys)c.set(r,[e.timestamp,t]);y&&h?y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):d.push(e)})({keys:o,replace:t??!1,values:i,timestamp:r})};return(f=u)&&"object"==typeof f&&"then"in f&&"function"==typeof f.then?u.finally(l):(l(),u);var f},q=a.setState;a.setState=j;const O=e(j,i,a);if(m=t.fields??function(e){const t=[];for(const r of Object.entries(e)){if("function"==typeof r[1])continue;const e=r[0];t.push(e)}return t}(O),!m.length)return O;b=new Set(m);const F=async e=>{g=Math.max(g,e.timestamp);const r=Object.create(null),n=i(),s=e.timestamp;let a;if(e.replace)for(const t of m)G(t,e.values)||Y(c.get(t),s,e.sessionId)&&(a??(a=[])).push(t);for(const o of m){if(!G(o,e.values))continue;if(!b?.has(o))continue;if(!Y(c.get(o),s,e.sessionId))continue;const i=t.merge?.[o];if(i){const t=e.values[o],a=n[o];if(void 0!==t){const f=i(t,a,n,e.values),d=void 0!==a?a:t;if(!X())return void l.error(new u(`[sync] Merge function for field "${String(o)}" returned ${Z(f)} but expected ${Z(d)}`));r[o]=f,c.set(o,[s,e.sessionId])}}else r[o]=e.values[o],c.set(o,[s,e.sessionId])}if(Object.keys(r).length>0||a?.length){p=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...n};let t=!1;if(a?.length){t=!0;for(const t of a)delete e[t],c.delete(t)}for(const n in r){if(!Object.prototype.hasOwnProperty.call(r,n))continue;const o=r[n];void 0!==o&&(Object.is(e[n],o)||(t=!0),e[n]=o)}if(!t)return;await(o.setWithoutPersist??q)(e,!0)}else await(o.setWithoutPersist??q)(r)}finally{p=!1,o&&o.setIsApplyingRemote(!1)}}},A=e=>{r?S=S.then(()=>F(e)):F(e)};y=n.register({apply:e=>{v?A(e):f.push(e)},delta:t.delta,fields:m,getState:i,key:t.key});const k=()=>{h=!0,(()=>{if(y&&d.length){for(const e of d){const t=n.sessionId;for(const r of e.keys)c.set(r,[e.timestamp,t]);w(e.timestamp,e.keys),y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}d.length=0}})()},I=()=>{v=!0,(()=>{if(!f.length)return;const e=f.slice();f.length=0;for(const t of e)A(t)})()};return r&&o?(o.onHydrationComplete=k,o.onHydrationFlushEnd=I):y.onHydrated?(y.onHydrated(k),I()):(k(),I()),O},syncContext:o}}(e,i,a?.async??!1):void 0,d=c?.stateCreator??e;if(!o)return r.createWithEqualityFn()(t.subscribeWithSelector(d),Object.is);const y=a?.async?function(e){let t,r,n,o=!1;return{hydrationPromise:()=>o?t?.promise??r??(r=Promise.resolve()):(t||(t=O()),t.promise),stateCreator:(r,s,i)=>{let a;return n=()=>{if(a?.length){for(const e of a)e[1]?i.setState(e[0],e[1]):i.setState(e[0]);a=void 0}},e((...e)=>o?!0===e[1]?r(e[0],e[1]):r(e[0]):(t||(t=O()),a||(a=[]),a.push(e),t.promise),s,i)},wrapOnRehydrateStorage:(e,r)=>s=>{const i=e?.(s);return(e,s)=>{o=!0,r?.onHydrationComplete?.(),n&&n(),r?.onHydrationFlushEnd?.(),s?t?.fail(f(s)):t?.complete(),i?.(e,s)}}}}(d):null,p=function(e,t,r){const n=t??e.storage??j().storage,o=(e.sync?void 0:e.persistThrottleMs??x)||void 0,s=e.version??0,i=n.async?function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??M,a=t.deserializer??e.deserializer??z(o),c=t.serializer??e.serializer??D(o);async function f(t,r){try{if(W(n))return;r.state=i(r.state);const o=P(n,s,r),a=c(r);try{await e.set(t,a),R(n,o)}catch(e){l.error(new u("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){l.error(new u("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const d=void 0!==r?k(f,r,{leading:!1,maxWait:r,trailing:!0}):function(e){let t,r=null;return function(...n){return t=n,r||(r=new Promise(n=>{queueMicrotask(async()=>{try{await e(...t)}finally{r=null,n()}})})),r}}(f);return{getItem:async t=>{const r=await e.get(t);return void 0===r?null:a(r)},setItem:async(e,t)=>{if(!n?.getIsApplyingRemote())return await d(e,t)},removeItem:async t=>{try{await e.delete(t)}catch(e){l.error(new u("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(n,e,o,r):function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??M,a=t.deserializer??e.deserializer??z(o),c=t.serializer??e.serializer??D(o);function f(t,r){try{if(W(n))return;r.state=i(r.state);const o=P(n,s,r),a=c(r);try{e.set(t,a),R(n,o)}catch(e){l.error(new u("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){l.error(new u("[createBaseStore]: Failed to persist store data"),{error:e})}}const d=void 0!==r?k(f,r,{leading:!1,maxWait:r,trailing:!0}):f;return{getItem:t=>{const r=e.get(t);return void 0===r?null:a(r)},setItem:(e,t)=>{n?.getIsApplyingRemote()||d(e,t)},removeItem:t=>{try{e.delete(t)}catch(e){l.error(new u("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(n,e,o,r);return{persistStorage:i,version:s}}(n,a,c?.syncContext),h=y?y.wrapOnRehydrateStorage(n.onRehydrateStorage,c?.syncContext):n.onRehydrateStorage,g=y?(e,t,r)=>(c&&(c.syncContext.setWithoutPersist=r.setState),y.stateCreator(e,t,r)):d,b=r.createWithEqualityFn()(t.subscribeWithSelector(t.persist(g,function(e,t,r){const n={name:e.storageKey,onRehydrateStorage:r,storage:t.persistStorage,version:t.version};return void 0!==e.merge&&(n.merge=e.merge),void 0!==e.migrate&&(n.migrate=e.migrate),n}(n,p,h))),Object.is);return y?Object.assign(b,{persist:Object.assign(b.persist,{hydrationPromise:y.hydrationPromise})}):b}function te(e,t,r){const n=t.get(e);if(!n){const n=function(e,t,r,n=[]){return e&&"object"==typeof e?re(e,n,t,r,new WeakSet,new WeakMap):(r(t,n,!0),e)}(Q(e)?e.getSnapshot():e.getState(),e,r);return t.set(e,n),n}return n}function re(e,t,r,n,o,s){return new Proxy(e,{get(i,a,c){if(o.has(i))return Reflect.get(i,a,c);if("__proto__"===a||"symbol"==typeof a)return a===Symbol.iterator&&(n(r,t,!0),o.add(i)),Reflect.get(i,a,c);const u=Reflect.get(i,a,i),l=String(a),f=t.concat(l);if("function"==typeof u)return Object.prototype.hasOwnProperty.call(i,a)?function(...e){return n(r,f,!0,{method:l,args:e.length?e:void 0}),Reflect.apply(u,i,e)}:(n(r,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return n(r,f,!d),d?(s.has(u)||s.set(u,re(u,f,r,n,o,s)),s.get(u)):u},getOwnPropertyDescriptor:(e,s)=>(n(r,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,s)),has:(e,o)=>(n(r,t,!0),Reflect.has(e,o)),ownKeys:e=>(n(r,t,!0),o.add(e),Reflect.ownKeys(e))})}function ne(e){return t=>se(t,e)}function oe(e,t){const r=e.slice(0,-1);return e=>{const n=se(e,r),o=n?.[t.method];return"function"==typeof o?o.apply(n,t.args):void 0}}function se(e,t){let r=e;for(const e of t){if(!r||"object"!=typeof r)return r;r=r[e]}return r}function ie(){const e=new Map;return{buildProxySubscriptions(t,r){const n=new Set;for(const[t,r]of e)ue(r,t,[],0,n);!function(e,t,r){for(const r of e)t(r.store,r.invocation?oe(r.path,r.invocation):ne(r.path));r&&e.size}(n,t,r)},trackPath(t,r,n,o){let s=e.get(t);s||(s=ae(),e.set(t,s)),ce(s,r,0,n,o)}}}function ae(){return Object.create(null)}function ce(e,t,r,n,o){if(r===t.length)return n&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=ae());const s=t[r];let i=e.children?.[s];i||(i=ae(),e.children[s]=i),ce(i,t,r+1,n,o)}function ue(e,t,r,n,o,s=1){const i=e.children;if(!i)return void o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});const a=Object.keys(i),c=a.length;if(0!==c)if(e.isLeaf||n>=s&&c>1){o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});for(const e of a){const a=i[e];a.invocation&&ue(a,t,[...r,e],n+1,o,s)}}else if(n<s&&c>1&&!e.isLeaf)for(const e of a)ue(i[e],t,[...r,e],n+1,o,s);else{if(1===c){const e=a[0];return void ue(i[e],t,[...r,e],n+1,o,s)}o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1})}else o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1})}var le=!1,fe=!1,de=new Map,ye=new Map,pe=new Map,he=null,ge=1/0;function be(){return le}function me(){return he}function Se(){le||(le=!0,fe||(fe=!0,queueMicrotask(()=>{fe=!1,(()=>{for(;ye.size>0;){const e=ge,t=pe.get(e);if(t){pe.delete(e);for(const e of t)ye.delete(e);he=e;for(const e of t)e();if(he=null,pe.size>0){ge=1/0;for(const e of pe.keys())e<ge&&(ge=e)}else ge=1/0}else{ge=1/0;for(const e of pe.keys())e<ge&&(ge=e)}}for(;de.size>0;){const e=Array.from(de.values());de.clear();for(const t of e)t()}})(),le=!1,he=null,ye.clear(),pe.clear(),ge=1/0})))}function ve(e,t){le&&de.set(e,t)}var we=e=>e;function je(e,t=Object.is){return r=function(e,t=Object.is){const{debounceOptions:r,debugMode:n,equalityFn:o,keepAlive:s,lockDependencies:i}="function"==typeof(u=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:u,keepAlive:!1,lockDependencies:!1}:{debounceOptions:u.debounce,debugMode:false,equalityFn:u.equalityFn??Object.is,keepAlive:u.keepAlive??!1,lockDependencies:u.lockDependencies??!1},a=String(Oe+=1),c=new Set;var u;s&&c.add(Fe);const l=new Set;let f,d,y=qe,p=!1,h=!0,g=!0,b=!0,m=0,S=!1,v=null,w=qe;function j(e,t,r){if(!b||!c.size)return(t??we)(Q(e)?e.getSnapshot():e.getState());if(!t)return f||(f=new WeakMap),d||(d=ie()),te(e,f,d.trackPath);const n=e.subscribe(t,E,{equalityFn:r??Object.is,isDerivedStore:!0});return l.add(n),t(Q(e)?e.getSnapshot():e.getState())}function q(e){for(const t of l)t(e);l.clear()}function O(){if(!g&&Ae(y))return y;g=!1,b&&q(!0);const t=y,r=Ae(t);y=function(t){h=!0;const r=y,n=e(t);return Ae(r)&&o(r,n)?(h=!1,r):n}(j);const s=n&&(!r||"verbose"===n&&b);return s&&l.size,d&&b&&(d.buildProxySubscriptions((e,t)=>{const r=e.subscribe(t,E,{equalityFn:Object.is,isDerivedStore:!0});l.add(r)},s),f=void 0,d=void 0),h&&r&&function(e,t){const r=function(){const e=c.has(Fe)?c.size-1:c.size;return m>0&&m<e}(),n=!m||r,o=r||null!==me()||be()&&n;r&&Se();for(const t of c){if("function"==typeof t||!t.isDerivedWatcher)continue;const r=t.selector(e);if(!t.equalityFn(t.currentSlice,r)){const e=t.currentSlice;t.currentSlice=r,t.listener(r,e)}}o?S||(S=!0,Ae(w)||(w=t),ve(a,A)):F(e,t)}(y,t),i&&(b=!1),y}function F(e,t){for(const r of c)if("function"==typeof r)r(e,t);else if(!r.isDerivedWatcher){const t=r.selector(e);if(!r.equalityFn(r.currentSlice,t)){const e=r.currentSlice;r.currentSlice=t,r.listener(t,e)}}}function A(){c.size&&(S&&function(){if(g&&!m&&O(),!Ae(y))return;const e=Ae(w)?w:y;F(y,e)}(),S=!1,w=qe)}const I=r?k(T,"number"==typeof r?r:r.delay,"number"==typeof r?{leading:!1,maxWait:r,trailing:!0}:r):void 0,C=I??(()=>{p||(p=!0,queueMicrotask(T))});function T(){c.size&&(p=!1,g&&O())}function K(e){e?queueMicrotask(()=>{c.size||z()}):z()}function M(){T(),v=null}function E(){if(!g){if(g=!0,!I){if(m){Se();const e=me(),t=null===e?0:e+1;if(null!==v&&t<=v)return;return v=t,void function(e,t){if(!le)return;const r=t<0?0:0|t,n=ye.get(e);if(void 0===n){ye.set(e,r);let t=pe.get(r);return t||(t=new Set,pe.set(r,t)),t.add(e),void(r<ge&&(ge=r))}if(r>n){const t=pe.get(n);if(t&&(t.delete(e),0===t.size&&(pe.delete(n),n===ge))){ge=1/0;for(const e of pe.keys())e<ge&&(ge=e)}ye.set(e,r);let o=pe.get(r);o||(o=new Set,pe.set(r,o)),o.add(e),r<ge&&(ge=r)}}(M,t)}if(be())return void(S||(S=!0,Ae(y)&&(w=y),ve(a,A)))}v=null,m&&!r?O():C()}}function x(){return g||!Ae(y)?c.size>0?O():e(j):y}function z(e=!0){s&&e||(I?.cancel(),q(),c.clear(),m=0,d=void 0,f=void 0,b=!0,p=!1,g=!0,y=qe,S=!1,w=qe,v=null)}return{destroy:()=>z(!1),flushUpdates:function(){c.size&&(I?I.flush():g&&O())},getSnapshot:function(){if(!Ae(y)){c.add(Fe);const e=O();return c.delete(Fe),e}return p&&T(),y},getState:x,subscribe:function(...e){if(1===e.length){const t=e[0];return c.add(t),1!==c.size||Ae(y)||x(),()=>{c.delete(t),c.size||K(!1)}}const[t,r,n]=e,o=n?.equalityFn??Object.is,s=n?.isDerivedStore??!1,i={currentSlice:void 0,equalityFn:o,isDerivedWatcher:s,listener:r,selector:t};return c.add(i),i.currentSlice=t(x()),s&&(m+=1),n?.fireImmediately&&r(i.currentSlice,i.currentSlice),()=>{c.delete(i),s&&(m-=1),c.size||K(s)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}(e,t),Object.assign(function(e=we,t=void 0){return n.useSyncExternalStoreWithSelector(r.subscribe,r.getSnapshot,void 0,e,t)},r);var r}var qe=Symbol(),Oe=0;function Fe(){}function Ae(e){return e!==qe}var ke=class{constructor({disableAutoRefetching:e,initialEnabled:t}){this.count=0,this.enabled=!1,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,this.enabled=t,e&&(this.fetchThrottleMs=E.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}get(){return{enabled:this.enabled,lastSubscriptionTime:this.lastSubscriptionTime,subscriptionCount:this.count}}setEnabled(e){this.enabled=e}subscribe(){const e=0===this.count,t=null!==this.fetchThrottleMs&&null!==this.lastSubscriptionTime&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.onSubscribe?.(this.enabled,e,t),this.count+=1,this.lastSubscriptionTime=Date.now(),e=>{const t=1===this.count;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}},Ie={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function Ce(e,t){const r=Object.prototype.hasOwnProperty;function n(e,t){for(const r of e.keys())if(Ce(r,t))return r}let o,s,i;if(e===t)return!0;if(e&&t&&(o=e.constructor)===t.constructor){if(o===Date)return e.getTime()===t.getTime();if(o===RegExp)return e.toString()===t.toString();if(o===Array){if((s=e.length)===t.length)for(;s--&&Ce(e[s],t[s]););return-1===s}if(o===Set){if(e.size!==t.size)return!1;for(let r of e){if(i=r,i&&"object"==typeof i&&(i=n(t,i),!i))return!1;if(!t.has(i))return!1}return!0}if(o===Map){if(e.size!==t.size)return!1;for(let r of e){if(i=r[0],i&&"object"==typeof i&&(i=n(t,i),!i))return!1;if(!Ce(r[1],t.get(i)))return!1}return!0}if(o===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(o===DataView){if((s=e.byteLength)===t.byteLength)for(;s--&&e.getInt8(s)===t.getInt8(s););return-1===s}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){const r=e,n=t;if((s=r.byteLength)===n.byteLength)for(;s--&&r[s]===n[s];);return-1===s}if(!o||"object"==typeof e){s=0;for(const n in e){if(r.call(e,n)&&++s&&!r.call(t,n))return!1;if(!(n in t)||!Ce(e[n],t[n]))return!1}return Object.keys(t).length===s}}return e!=e&&t!=t}var Te=new WeakMap,Ke=new WeakMap;function Me(e,t=Ee,r=Ce){return function(e,t,r){let n=Ke.get(e);n||(n=new Map,Ke.set(e,n));let o=n.get(t);o||(o=new Map,n.set(t,o));const s=o.get(r);if(s)return s;const[i,a,c]=ze(e,t,r),u=new Map,l=e=>{const t={get(t,r){if("value"===r){let t=a();const r=e.split(".");for(const e of r)e&&(t=t[e]);return t}const n="string"==typeof r?r:r.toString(),o=e?`${e}.${n}`:n,s=u.get(o);if(s)return s;const c=l(o);return Te.set(c,i),u.set(o,c),c},set(t,r,n){const o=e.split(".");return""===o[0]&&o.shift(),c(o,n),!0}};return new Proxy(Object.create(null),t)},f=l("");return i(()=>{}),Te.set(f,i),o.set(r,f),f}(e,t,r)}var Ee=e=>e,xe=(e,t,r)=>{if(!t.length)return r;const[n,...o]=t,s=e[n],i=xe(s,o,r);if(Ce(s,i))return e;const a=Array.isArray(e)?e.slice():{...e};return a[n]=i,a},ze=(e,t,r)=>{const n=new Set,o=Q(e);let s,i=t(o?e.getSnapshot():e.getState());return[a=>(n.size||(s=e.subscribe(t,e=>{i=e,n.forEach(e=>e())},{equalityFn:r,isDerivedStore:o})),n.add(a),()=>{n.delete(a),!n.size&&s&&(s(),s=void 0)}),()=>(n.size||(i=t(e.getState())),i),(r,n)=>{if(t!==Ee)throw new Error("Cannot set a value with a selector");e.setState(e=>xe(e,r,n),!0)}]};function De(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var[Le,Pe]=[!0,!1],Re={error:Le,lastFetchedAt:Le,queryCache:Le,queryKey:Le,status:Le,enabled:Pe,fetch:Pe,getCacheEntry:Pe,getData:Pe,getStatus:Pe,isDataExpired:Pe,isStale:Pe,reset:Pe};function We(e,t){const r=t?.baseDelay??E.seconds(5),n=t?.maxDelay??E.minutes(5),o=Math.pow(2,e);return Math.min(r*o,n)}function $e(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function _e(e){return JSON.stringify(Qe(e))}function Qe(e){return"object"!=typeof e||null===e?e:Object.keys(e).sort().reduce((t,r)=>{const n=e[r];return t[r]=null!==n&&"object"==typeof n?Qe(n):n,t},{})}function Ue(e,t,r,n){return n?function(e,t){if(!e)return!1;for(const r of t)if(!(r in e))return!1;return!0}(n,r)?n:{...Ve(e,t),...n}:Ve(e,t)}function Ve(e,t){const r=t?.params??Object.create(null);for(const t in e?.params){const n=e.params[t];n&&(r[t]=n.value)}return r}function Be(){return Object.create(null)}function Ne(e,t,r){if(!r.queryCache)return r;const n=Date.now(),o=t??(e&&r.queryKey||null);let s=!1;const i=Object.create(null);for(const e in r.queryCache){if(!De(r.queryCache,e))continue;const a=r.queryCache[e];a&&(n-(a.lastFetchedAt??a.errorInfo.lastFailedAt)<a.cacheTime||e===o)?!t&&a.errorInfo&&a.errorInfo.retryCount>0?(i[e]={...a,errorInfo:{...a.errorInfo,retryCount:0}},s=!0):i[e]=a:s=!0}return s?{...r,queryCache:i}:r}function He(e){return"function"==typeof e}function Je(e){return!He(e)}function Ye(e,t){return r=>{const n={...r},o={};for(const e in n)De(n,e)&&e in Re&&(Re[e]&&(o[e]=n[e]),delete n[e]);return{...t?t(n):M(n),...Ne(e,null,o)}}}E.seconds(5);var Ge=Symbol(),Xe=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1}),Ze=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function et(e,t,r=Ze){if(t.current.isActive){if(!r?.forceResubscribe)return;t.current.unsubscribe()}t.current.options.debugMode,t.current.isActive=!0,t.current.resubscribe=(r=Ze)=>et(e,t,r);const n=e.subscribe(e=>t.current.selector(e),(e,r)=>t.current.react(e,r,()=>{n(),t.current.isActive=!1}),r.fireImmediately?{...t.current.options,fireImmediately:!0}:t.current.options);t.current.unsubscribe=()=>{t.current.isActive&&(n(),t.current.isActive=!1)}}function tt(e){return"function"==typeof e?{equalityFn:e}:e??Xe}var rt=Symbol();function nt(e,t){return function(...r){const n=e.getState()[t];if("function"==typeof n)return n(...r);throw new Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function ot(e,t){return"function"==typeof e[t]}exports.QueryStatuses=Ie,exports.applyStateUpdate=$,exports.configureStores=function(e){var t;b??(b=q()),e.logger&&(t=e.logger,l=t),e.storage&&(b.storage=e.storage),e.syncEngine&&(b.syncEngine=e.syncEngine)},exports.createBaseStore=ee,exports.createDerivedStore=je,exports.createQueryStore=function(e,t,r){const n="function"==typeof t?t:Be,o="object"==typeof t?t:r,s=o&&"storageKey"in o?o:void 0,{fetcher:i,onError:a,onFetched:c,setData:d,transform:y,abortInterruptedFetches:p=!0,cacheTime:h=E.days(7),debugMode:g=!1,disableAutoRefetching:b=!1,disableCache:m=!1,enabled:S=!0,keepPreviousData:v=!1,maxRetries:w=5,paramChangeThrottle:j=!1,params:q,retryDelay:O=We,suppressStaleTimeWarning:F=!1,useParsableQueryKeys:A=!0}=e;let I="function"==typeof e.staleTime?E.minutes(2):e.staleTime??E.minutes(2);const C=A?_e:$e,T=new Error("[createQueryStore: AbortError] Fetch interrupted"),K="function"==typeof h,M=Object.keys(e.params??Object.create(null));let x=null,z=null,D=null,L=[],P=!1,R=!1,W=null,$=null,_=null,Q=null,U=null;const V={enabled:"function"!=typeof S&&S,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Ie.Idle},B=new ke({disableAutoRefetching:b,initialEnabled:V.enabled}),N=()=>{W&&($=null,W.abort(),W=null)},H=(t,r,o)=>{const g=o.setState,S=(e,t)=>{const r="function"==typeof e;if(r||void 0!==e.enabled){let t;const n=g(n=>{const s=r?e(n):e,i=void 0!==s.enabled?s.enabled:n.enabled;return i!==n.enabled&&(t=()=>((e,t)=>{e!==t&&U!==t&&(U=t,B.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(_||p)&&(p&&N(),_&&(clearTimeout(_),_=null)))})(n.enabled,i)),s});return t?.(),n}return g(e)};o.setState=S,B.init({onSubscribe:(n,o,s)=>{if(z||x||!q&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(n)if(o){const e=Ve(x,z),n=C(e),o=r();o.queryKey!==n&&t(e=>({...e,queryKey:n})),o.isStale()?F.fetch(e,void 0,!0):j(e,void 0)}else b&&!s&&F.fetch(void 0,void 0,!0)}else P=!0},onLastUnsubscribe:e=>{_&&(clearTimeout(_),_=null),p&&!e&&N()}});const j=(e,t)=>{if(b||t?.skipStoreUpdates)return;if(I<=0||I===1/0)return;_&&(clearTimeout(_),_=null);const n=C(e),o=r(),s=(m?Q===n&&o.lastFetchedAt:o.queryCache[n]?.lastFetchedAt)||null,i=s?I-(Date.now()-s):I;_=setTimeout(()=>{const t=B.get();t.enabled&&t.subscriptionCount>0&&F.fetch(e,{force:!0},!0)},i)},F={...n(S,r,o),...V,async fetch(e,n,o=!1){const g=B.get();if(!n?.force&&!n?.skipStoreUpdates&&!g.enabled)return null;const b=r(),q=b.error,A=b.queryKey,k=b.status,E=Ue(x,z,M,e),D=C(E),L=n?.staleTime??I,P=k===Ie.Loading,R=!!n?.skipStoreUpdates,U="boolean"==typeof n?.updateQueryKey?n.updateQueryKey:o?v:!R,V=o||!R&&(U||A===D);if($?.promise&&$.key===D&&P)return $.promise;if(p&&!R&&!1!==n?.updateQueryKey&&N(),!n?.force){const e=b.lastFetchedAt,r=b.queryCache[D],o=r?.lastFetchedAt,s=r?.errorInfo,i=s&&s.retryCount>=w,a=(m?Q===D&&e:o)||null;if(a&&!(Date.now()-a>=L)&&(!s||i||R))return V&&!R&&!_&&g.subscriptionCount>0&&0!==I&&I!==1/0&&j(E,n),U&&t(e=>e.queryKey!==D?{...e,queryKey:D}:e),r?.data??null}!R&&V&&(_&&(clearTimeout(_),_=null),!q&&P||t(e=>({...e,error:null,status:Ie.Loading})),$={key:D});const H=n?.cacheTime??(K?h(E):h),J=async()=>{try{const e=await(p&&!R&&V?(async e=>{const t=new AbortController;W=t;try{return await new Promise((r,n)=>{t.signal.addEventListener("abort",()=>n(T),{once:!0}),Promise.resolve(i(e,t)).then(r,n)})}finally{W===t&&(W=null)}})(E):i(E,null)),r=Date.now();let o;try{o=y?y(e,E):e}catch(e){throw new u(`[createQueryStore: ${s?.storageKey||D}]: transform failed`,e)}if(R)return"withCache"===n.skipStoreUpdates&&t(e=>{if(!d)return m?{...e,queryCache:{...e.queryCache,[D]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:r}}}:e;let t=e;const n=t.queryCache[D];return d({data:o,params:E,queryKey:D,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!m&&Object.is(n,t.queryCache[D])&&(t={...t,queryCache:{...t.queryCache,[D]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:r}}}),t}),o;if((d?S:t)(e=>{let t={...e,error:null,lastFetchedAt:r,queryKey:U?D:e.queryKey,status:Ie.Success};if(d||m){if(d){const e=t.queryCache[D];d({data:o,params:E,queryKey:D,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!m&&Object.is(e,t.queryCache[D])&&(t.queryCache={...t.queryCache,[D]:{cacheTime:H,data:null,errorInfo:null,lastFetchedAt:r}})}}else t.queryCache={...t.queryCache,[D]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:r}};return m||h===1/0?t:Ne(v,D,t)}),V&&(Q=D,j(E,n)),c)try{c({data:o,fetch:F.fetch,params:E,set:S})}catch(e){l.error(new u(`[createQueryStore: ${s?.storageKey||D}]: onFetched callback failed`,e))}return o??null}catch(i){if(i===T)return null;const c=!o&&!0===n?.throwOnError,d=f(i);if(R||!V){if(l.error(new u(`[createQueryStore: ${s?.storageKey||D}]: Failed to fetch data`,d)),c)throw d;return null}const y=m?void 0:r().queryCache[D],p=y?.errorInfo?.retryCount??0,h=p+1;if(a?.(d,p),p<w){if(B.get().subscriptionCount>0){const t="function"==typeof O?O(h,d):O;t!==1/0&&(_&&clearTimeout(_),_=setTimeout(()=>{const{enabled:t,subscriptionCount:r}=B.get();t&&r>0&&F.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:d,queryCache:{...e.queryCache,[D]:{cacheTime:y?.cacheTime??H,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:d,lastFailedAt:Date.now(),retryCount:h}}},queryKey:U?D:e.queryKey,status:Ie.Error}))}else t(e=>({...e,error:d,queryCache:{...e.queryCache,[D]:{cacheTime:y?.cacheTime??H,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:d,lastFailedAt:Date.now(),retryCount:w}}},queryKey:U?D:e.queryKey,status:Ie.Error}));if(l.error(new u(`[createQueryStore: ${s?.storageKey||D}]: Failed to fetch data`,d)),c)throw d;return null}finally{!R&&V&&($=null)}};return R||!V?J():($={key:D,promise:J()}).promise},getCacheEntry(e){if(m)return null;const t=r(),n=e?"string"==typeof e?e:C(Ue(x,z,M,e)):t.queryKey;return t.queryCache[n]??null},getData(e){if(m)return null;const t=r().getCacheEntry(e);return t&&null!==t.data?v?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return r().status===Ie.Idle;case"isLoading":return r().status===Ie.Loading;case"isSuccess":{const e=r(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Ie.Success}case"isError":case"isInitialLoad":case void 0:{const t=r(),n=t.queryCache[t.queryKey],o=(m?Q===t.queryKey&&t.lastFetchedAt:n?.lastFetchedAt)||null,s=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return m?"error"!==s:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&s===Ie.Loading}return{isError:s===Ie.Error,isIdle:s===Ie.Idle,isLoading:s===Ie.Loading,isInitialLoad:!o&&s===Ie.Loading,isSuccess:s===Ie.Success}}}},isDataExpired(e){const t=r(),n=t.queryCache[t.queryKey],o=t.queryKey,s=t.lastFetchedAt,i=(m?Q===o&&s:n?.lastFetchedAt)||null;if(!i)return!0;const a=e??n?.cacheTime;return void 0===a||Date.now()-i>=a},isStale(e){const t=r(),n=t.queryKey,o=(m?Q===n&&t.lastFetchedAt:t.queryCache[n]?.lastFetchedAt)||null;if(!o)return!0;const s=e??I;return Date.now()-o>=s},reset(e=!1){for(const e of L)e();L=[],x=null,z=null,D=null,N(),_&&(clearTimeout(_),_=null),$=null,Q=null,e&&t(e=>({...e,...V}))}},A=o.subscribe;return o.subscribe=(...e)=>{const t=R?()=>{}:B.subscribe(),r=1===e.length?A(e[0]):A(...e);return e=>{t(e),r()}},F},J=s?.storageKey?ee(H,Object.assign(Object.create(null),s,{partialize:Ye(v,s.partialize)})):o&&!("storageKey"in o)?ee(H,o):ee(H),Y=J.getState(),G=Y.error,X=Y.enabled,Z=Y.queryKey;if(Z&&!G&&(Q=Z),R=!0,q||"function"==typeof e.enabled){const{directValues:e,enabledAttachVal:t,enabledDirectValue:r,attachVals:n}=function(e,t,r){const n=Object.create(null),o=Object.create(null),s=Object.create(null);for(const e in t){if(!De(t,e))continue;const i=t[e];if(He(i)){const t=i(Me,r);n[e]=t,s[e]=t.value}else Je(i)&&(o[e]=i,s[e]=i)}let i,a=null,c=null;if(He(e)){const t=e(Me,r);i=t.value,a=t}else i=e,c=e;return{attachVals:n,directValues:o,enabledAttachVal:a,enabledDirectValue:c,resolvedEnabled:i,resolvedParams:s}}(S,q,J);x={enabled:t,params:n},z={enabled:r,params:e}}"function"==typeof e.staleTime&&(D=e.staleTime(Me,J),I=D.value);const te=function(){let e,t=!1;return function(...r){e=r,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{Y.fetch(e??Ve(x,z),{updateQueryKey:v})})(...e)}))}}();function re(){let e;if(!v){e=Ve(x,z);const t=C(e);J.setState(e=>({...e,queryKey:t}))}te(e)}const ne=j?k(re,"number"==typeof j?j:j.delay,"number"==typeof j?{leading:!1,maxWait:j,trailing:!0}:j):re;if(x?.enabled){const e=x.enabled,t=Te.get(e);if(t){let r=e.value;X!==r&&J.setState(e=>({...e,enabled:r})),r&&B.setEnabled(r);const n=t(()=>{const t=e.value;t!==r&&(r=t,J.setState(e=>({...e,enabled:t})))});L.push(n)}}else X!==V.enabled&&J.setState(e=>({...e,enabled:V.enabled}));for(const e in x?.params){const t=x.params[e];if(!t)continue;const r=Te.get(t);if(r){let e=t.value;const n=r(()=>{const r=t.value;Ce(e,r)||(e=r,ne())});L.push(n)}}if(D){const e=Te.get(D);if(e){const t=D;let r=t.value;const n=e(()=>{const e=t.value;e!==r&&(r=e,I=e,J.getState().fetch())});L.push(n)}}return R=!1,P&&queueMicrotask(ne),oe=J,se="_queryStore",Object.assign(oe,{[se]:!0});var oe,se},exports.createStoreActions=function(e,t){const r=function(e){const t=e.getState(),r=Object.create(null);if(B(e)){for(const n in t)ot(t,n)&&(r[n]=nt(e,n));return r}for(const e in t)ot(t,e)&&(r[e]=t[e]);return r}(e);return t?Object.assign(r,t):r},exports.createVirtualStore=function(e,t,r){const n="function"==typeof t,o=n?t:void 0,s=n?r:t,i=new Set,a=je(e,{debugMode:s?.debugMode??!1,equalityFn:function(e,t){const r=Object.is(e,t);return r||(function(e,t){for(const r of i){r.unsubscribe();const n=r.args;if(1===n.length){const o=n[0],s=e.getState(),i=t.getState(),a=t.subscribe(o);r.unsubscribe=a,Object.is(i,s)||o(i,s);continue}const o=n[0],s=n[1];let i=n[2];i?.fireImmediately&&(i={...i,fireImmediately:!1});const a=i?.equalityFn??Object.is,c=o(e.getState()),u=o(t.getState()),l=t.subscribe(...n);r.unsubscribe=l,a(c,u)||s(u,c)}}(e,t),_(e)),r},keepAlive:!0,lockDependencies:s?.lockDependencies??!0}),c=a.getState().persist,u=(l=a.getState,function(e,t){return t?l().setState(e,t):l().setState(e)});var l;return Object.assign(function(e,t){const r=a();return e?r(e,t):r()},{_virtualStore:!0,destroy:()=>a.destroy(),getInitialState:()=>a.getState().getInitialState(),getState:()=>a.getState().getState(),persist:c,setState:u,subscribe:function(...e){const t={args:e,unsubscribe:1===e.length?a.getState().subscribe(e[0]):a.getState().subscribe(...e)};return i.add(t),()=>{t.unsubscribe(),i.delete(t)}}},o?o(a.getState):void 0)},exports.deepEqual=function e(t,r){if("object"!=typeof t||null==t||"object"!=typeof r||null==r)return t===r;if(Object.is(t,r))return!0;const n=Object.keys(t);if(n.length!==Object.keys(r).length)return!1;for(const o of n)if(!(o in r)||!e(t[o],r[o]))return!1;return!0},exports.defaultRetryDelay=We,exports.destroyStore=_,exports.destroyStores=function(e,t){for(const r of Array.isArray(e)?e:Object.values(e))r&&!t?.skipDestroy?.(r)&&_(r,t)},exports.getLegacyQueryKey=$e,exports.getQueryKey=_e,exports.getStoreName=function(e){return V(e)?e.persist.getOptions().name??e.name:e.name},exports.isDerivedStore=function(e){return"flushUpdates"in e},exports.isPersistedStore=V,exports.isQueryStore=U,exports.isVirtualStore=B,exports.parseQueryKey=function(e){return JSON.parse(e)},exports.replacer=T,exports.reviver=K,exports.shallowEqual=function(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const n of r)if(!Object.is(e[n],t[n]))return!1;return!0},exports.time=E,exports.useListen=function(e,t,r,n=Xe){const s=function(){const e=o.useRef(Ge);return e.current===Ge&&(e.current=function(e,t,r){return{selector:e,react:t,isActive:!1,options:tt(r),resubscribe:()=>{},unsubscribe:()=>{}}}(t,r,n)),e}(),i=function(e){return"function"==typeof e?Xe.enabled:e?.enabled??Xe.enabled}(n);return s.current.react=r,s.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??Xe)}(s,n),o.useLayoutEffect(()=>{if(i)return et(e,s),()=>function(e){e.current.options.debugMode,e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(s)},[i,e]),s},exports.useStableValue=function(e){const t=o.useRef(rt);return t.current===rt&&(t.current=e()),t.current};
@@ -1 +1 @@
1
- import{subscribeWithSelector as e,persist as t}from"zustand/middleware";import{createWithEqualityFn as n}from"zustand/traditional";import{useSyncExternalStoreWithSelector as r}from"use-sync-external-store/shim/with-selector";import{useLayoutEffect as o,useRef as s}from"react";var i,a=(e=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,t)=>("undefined"!=typeof require?require:e)[t]}):e)(function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),c="undefined"!=typeof window&&"undefined"!=typeof document;try{const{MMKV:e}=a("react-native-mmkv"),t=new e({id:"stores-storage"}),{getString:n,...r}=t;i=Object.assign(Object.create(null),r,{get:n})}catch(e){throw new Error("[stores]: You must install react-native-mmkv for persistence to work in React Native.\n\n See: https://github.com/mrousavy/react-native-mmkv\n "+(e instanceof Error?`\n\nError: ${e.message}`:""))}!function(e){if(!e||"function"!=typeof e.get||"function"!=typeof e.set||"function"!=typeof e.delete||"function"!=typeof e.clearAll)throw new Error("[stores]: Storage instance does not conform to expected interface")}(i);var u={clearAll(){i.clearAll()},contains:e=>i.contains(e),delete(e){i.delete(e)},getAllKeys:()=>i.getAllKeys(),get:e=>i.get(e),set(e,t){i.set(e,t)}},l=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=d(t)}},f={debug:(e,t)=>{},error:(e,t)=>{},info:(e,t)=>{},warn:(e,t)=>{}};function d(e){return e instanceof Error?e:new Error(String(e))}var y="stores/core/sync-channel",p=`${y}:storage:`;function h(){try{return"undefined"!=typeof window?window.localStorage:null}catch{return null}}var g,b,m=class{constructor(e){this.broadcast=e.broadcast,this.origin=e.origin,this.storeKey=e.storeKey,this.teardown=e.teardown}destroy(){this.teardown()}publish(e){const t=Object.create(null);for(const n of Object.entries(e.values))t[n[0]]=n[1];const n={origin:this.origin,replace:e.replace,sessionId:e.sessionId,storeKey:this.storeKey,timestamp:e.timestamp,values:t};this.broadcast(n)}},v=class{destroy(){}publish(){}},S={storage:u,syncEngine:c?(g||(g=new class{constructor(){this.listeners=new Map,this.origin="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`,this.onChannelMessage=e=>{e.data&&this.dispatch(e.data)},this.onStorageEvent=e=>{if(e.key&&e.newValue&&e.key.startsWith(p))try{const t=JSON.parse(e.newValue);this.dispatch(t)}catch(e){f.error(new l("[sync] Failed to parse storage event payload"),{error:e})}},this.channel="undefined"==typeof BroadcastChannel?null:new BroadcastChannel(y),this.storage=h(),this.channel&&this.channel.addEventListener("message",this.onChannelMessage),c&&window.addEventListener("storage",this.onStorageEvent)}get sessionId(){return this.origin}register(e){const t=t=>{if(t.origin===this.origin||t.storeKey!==e.key)return;const n=Object.create(null);for(const r of e.fields)Object.prototype.hasOwnProperty.call(t.values,r)&&(n[r]=t.values[r]);Object.keys(n).length&&e.apply({replace:t.replace,sessionId:t.sessionId,timestamp:t.timestamp,values:n})};let n=this.listeners.get(e.key);return n||(n=new Set,this.listeners.set(e.key,n)),n.add(t),new m({broadcast:e=>this.broadcast(e),origin:this.origin,storeKey:e.key,teardown:()=>this.removeListener(e.key,t)})}broadcast(e){try{this.channel&&this.channel.postMessage(e),this.writeToStorage(e)}catch(e){f.error(new l("[sync] Failed to broadcast update"),{error:e})}}dispatch(e){if(!e.storeKey)return;const t=this.listeners.get(e.storeKey);if(t&&t.size)for(const n of t)n(e)}removeListener(e,t){const n=this.listeners.get(e);n&&(n.delete(t),n.size||this.listeners.delete(e))}writeToStorage(e){if(this.storage||(this.storage=h()),!this.storage)return;const t=`${p}${e.storeKey}`;try{this.storage.setItem(t,JSON.stringify(e))}catch(e){f.error(new l("[sync] Failed to write broadcast payload to storage"),{error:e})}}}),g):(b||(b=new class{constructor(){this.sessionId="noop"}register(e){return new v}}),b)};function w(e){var t;e.logger&&(t=e.logger,f=t),e.storage&&(S.storage=e.storage),e.syncEngine&&(S.syncEngine=e.syncEngine)}function j(){return S}function O(){let e,t,n=!1;return{complete:function(){!n&&e&&(n=!0,e(),e=void 0,t=void 0)},isHydrated:function(){return n},fail:function(r){!n&&t&&(n=!0,t(r),t=void 0,e=void 0)},promise:new Promise((n,r)=>{e=n,t=r})}}var q=Math.max,F=Math.min;function k(e,t=0,n={}){let r,o,s,i,a,c,u=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){const n=r,s=o;return r=o=void 0,u=t,i=n?e.apply(s,n):e.apply(s),i}function p(e){const n=e-(c??0);return void 0===c||n>=t||n<0||f&&void 0!==s&&e-u>=s}function h(){const e=A();if(p(e))return g(e);a=setTimeout(h,function(e){const n=t-(e-(c??0));return f&&void 0!==s?F(n,s-(e-u)):n}(e))}function g(e){return a=void 0,d&&r?y(e):(r=o=void 0,i)}function b(...e){const n=A(),s=p(n);if(r=e,o=this,c=n,s){if(void 0===a)return function(e){return u=e,a=setTimeout(h,t),l?y(e):i}(c);if(f)return clearTimeout(a),a=setTimeout(h,t),y(c)}return void 0===a&&(a=setTimeout(h,t)),i}return t=I(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(n)&&(l=!!n.leading,f="maxWait"in n,s=f?q(I(n.maxWait)||0,t):void 0,d="trailing"in n?!!n.trailing:d),b.cancel=function(){void 0!==a&&clearTimeout(a),u=0,r=c=o=a=void 0},b.flush=function(){return void 0===a?i:g(A())},b}function A(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function I(e){if("number"==typeof e)return e;if("symbol"==typeof e||void 0===e)return NaN;if("object"==typeof e&&null!==e){const t="function"==typeof e.valueOf?e.valueOf():e;e="object"==typeof t?t+"":t}return"string"!=typeof e?0===e?e:+e:(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e)}function C(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function T(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}function M(e){if(null!==e&&"object"==typeof e){const t={};for(const[n,r]of Object.entries(e))"function"!=typeof r&&(t[n]=r);return t}return e}var z={ms:e=>e,seconds:e=>1e3*e,minutes:e=>z.seconds(60*e),hours:e=>z.minutes(60*e),days:e=>z.hours(24*e),weeks:e=>z.days(7*e),infinity:1/0,zero:0},K=c?z.ms(200):z.seconds(5);function E(e){return t=>{if("string"!=typeof t)throw new l("[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.");return function(e,t){try{return JSON.parse(e,t?T:void 0)}catch(e){throw f.error(new l("[createBaseStore]: Failed to deserialize persisted Rainbow store data"),{error:e}),e}}(t,e)}}function D(e){return t=>function(e,t){try{return JSON.stringify(e,t?C:void 0)}catch(e){throw f.error(new l("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var L=Object.freeze({shouldClear:!1});function x(e,t,n){if(!t||!e)return L;const r=e.getFieldTimestampSnapshot();return function(e,t){const n=e.getSessionId(),r=e.getTimestamp();void 0!==n&&void 0!==r&&(t.syncMetadata={origin:n,timestamp:r})}(e,n),n.syncMetadata?r&&Object.keys(r).length>0?(n.syncMetadata.fields=r,{fieldSnapshot:r,shouldClear:!0}):(delete n.syncMetadata.fields,{fieldSnapshot:r,shouldClear:!1}):{fieldSnapshot:r,shouldClear:!1}}function P(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function R(e){return!!e&&!!e.getIsApplyingRemote()}function W(e,...t){return!0===t[1]?J(t[0])?t[0](e):t[0]:{...e,...J(t[0])?t[0](e):t[0]}}function $(e,t){V(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function _(e,t){for(const n of Array.isArray(e)?e:Object.values(e))n&&!t?.skipDestroy?.(n)&&$(n,t)}function U(e){return Q(e)?e.persist.getOptions().name??e.name:e.name}function B(e){return"getSnapshot"in e}function V(e){return"_queryStore"in e}function N(e){return"flushUpdates"in e}function Q(e){return"persist"in e}function H(e){return"_virtualStore"in e}function J(e){return"function"==typeof e}var[Y,G]=[0,1];function X(e,t,n){if(!e)return!0;const r=e[Y],o=e[G];return!(t<r)&&(t>r||n>o)}function Z(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function ee(e,t){return!0}function te(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function ne(r,o){const s=void 0!==o&&"string"==typeof o.storageKey,i=s?o.storageKey:void 0,a=o?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new l("[createBaseStore]: sync: true requires a storageKey to inherit the key from");return{key:t}}if("string"==typeof e)return{key:e};const n=e,r=n.key??t;if(!r)throw new l("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...n,key:r}}(o.sync,i):void 0,c=s?o.storage??j().storage:void 0,u=a?function(e,t,n){const r=t.engine??j().syncEngine,o=function(e){let t,n,r,o=!1;return{isAsync:e,clearFieldTimestamps:function(e){if(e&&r){for(const t of Object.entries(e)){const e=t[0],n=t[1];r[e]===n&&delete r[e]}Object.keys(r).length||(r=void 0)}},getFieldTimestampSnapshot:function(){if(r)return{...r}},getIsApplyingRemote:()=>o,getSessionId:()=>t,getTimestamp:()=>n,mergeFieldTimestamps:function(e){if(r)for(const t of Object.entries(e)){const e=t[0],n=t[1],o=r[e];(void 0===o||n>o)&&(r[e]=n)}else r={...e}},onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>o=e,setSessionId:e=>t=e,setTimestamp:e=>n=e,setWithoutPersist:void 0}}(n);return{stateCreator:(s,i,a)=>{const c=new Map,u=[],d=[];let y=null,p=!1,h=!1,g=0,b=null,m=[],v=Promise.resolve(),S=!n;const w=(e,t)=>{if(o?.setSessionId&&o?.setTimestamp&&r.sessionId&&(o.setSessionId(r.sessionId),o.setTimestamp(e),o.mergeFieldTimestamps&&t.length>0)){const n=Object.create(null);for(const r of t)n[String(r)]=e;o.mergeFieldTimestamps(n)}},j=function(e,t){if(p||!b)return t?s(e,t):s(e);const n=(()=>{const e=Date.now(),t=e>g?e:g+1;return g=t,t})();let o=[],i=Object.create(null);const a=r=>{const s=W(r,e,t);for(const e of m)Object.is(s[e],r[e])||(o.push(e),i[e]=s[e]);return o.length&&w(n,o),s},u=t?s(a,!0):s(a),l=()=>{o.length&&(e=>{const t=r.sessionId;for(const n of e.keys)c.set(n,[e.timestamp,t]);y&&h?y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):d.push(e)})({keys:o,replace:t??!1,values:i,timestamp:n})};return(f=u)&&"object"==typeof f&&"then"in f&&"function"==typeof f.then?u.finally(l):(l(),u);var f},O=a.setState;a.setState=j;const q=e(j,i,a);if(m=t.fields??function(e){const t=[];for(const n of Object.entries(e)){if("function"==typeof n[1])continue;const e=n[0];t.push(e)}return t}(q),!m.length)return q;b=new Set(m);const F=async e=>{g=Math.max(g,e.timestamp);const n=Object.create(null),r=i(),s=e.timestamp;let a;if(e.replace)for(const t of m)Z(t,e.values)||X(c.get(t),s,e.sessionId)&&(a??(a=[])).push(t);for(const o of m){if(!Z(o,e.values))continue;if(!b?.has(o))continue;if(!X(c.get(o),s,e.sessionId))continue;const i=t.merge?.[o];if(i){const t=e.values[o],a=r[o];if(void 0!==t){const u=i(t,a,r,e.values),d=void 0!==a?a:t;if(!ee())return void f.error(new l(`[sync] Merge function for field "${String(o)}" returned ${te(u)} but expected ${te(d)}`));n[o]=u,c.set(o,[s,e.sessionId])}}else n[o]=e.values[o],c.set(o,[s,e.sessionId])}if(Object.keys(n).length>0||a?.length){p=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...r};let t=!1;if(a?.length){t=!0;for(const t of a)delete e[t],c.delete(t)}for(const r in n){if(!Object.prototype.hasOwnProperty.call(n,r))continue;const o=n[r];void 0!==o&&(Object.is(e[r],o)||(t=!0),e[r]=o)}if(!t)return;await(o.setWithoutPersist??O)(e,!0)}else await(o.setWithoutPersist??O)(n)}finally{p=!1,o&&o.setIsApplyingRemote(!1)}}},k=e=>{n?v=v.then(()=>F(e)):F(e)};y=r.register({apply:e=>{S?k(e):u.push(e)},delta:t.delta,fields:m,getState:i,key:t.key});const A=()=>{h=!0,(()=>{if(y&&d.length){for(const e of d){const t=r.sessionId;for(const n of e.keys)c.set(n,[e.timestamp,t]);w(e.timestamp,e.keys),y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}d.length=0}})()},I=()=>{S=!0,(()=>{if(!u.length)return;const e=u.slice();u.length=0;for(const t of e)k(t)})()};return n&&o?(o.onHydrationComplete=A,o.onHydrationFlushEnd=I):y.onHydrated?(y.onHydrated(A),I()):(A(),I()),q},syncContext:o}}(r,a,c?.async??!1):void 0,y=u?.stateCreator??r;if(!s)return n()(e(y),Object.is);const p=c?.async?function(e){let t,n,r,o=!1;return{hydrationPromise:()=>o?t?.promise??n??(n=Promise.resolve()):(t||(t=O()),t.promise),stateCreator:(n,s,i)=>{let a;return r=()=>{if(a?.length){for(const e of a)e[1]?i.setState(e[0],e[1]):i.setState(e[0]);a=void 0}},e((...e)=>o?!0===e[1]?n(e[0],e[1]):n(e[0]):(t||(t=O()),a||(a=[]),a.push(e),t.promise),s,i)},wrapOnRehydrateStorage:(e,n)=>s=>{const i=e?.(s);return(e,s)=>{o=!0,n?.onHydrationComplete?.(),r&&r(),n?.onHydrationFlushEnd?.(),s?t?.fail(d(s)):t?.complete(),i?.(e,s)}}}}(y):null,h=function(e,t,n){const r=t??e.storage??j().storage,o=(e.sync?void 0:e.persistThrottleMs??K)||void 0,s=e.version??0,i=r.async?function(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??M,a=t.deserializer??e.deserializer??E(o),c=t.serializer??e.serializer??D(o);async function u(t,n){try{if(R(r))return;n.state=i(n.state);const o=x(r,s,n),a=c(n);try{await e.set(t,a),P(r,o)}catch(e){f.error(new l("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){f.error(new l("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const d=void 0!==n?k(u,n,{leading:!1,maxWait:n,trailing:!0}):function(e){let t,n=null;return function(...r){return t=r,n||(n=new Promise(r=>{queueMicrotask(async()=>{try{await e(...t)}finally{n=null,r()}})})),n}}(u);return{getItem:async t=>{const n=await e.get(t);return void 0===n?null:a(n)},setItem:async(e,t)=>{if(!r?.getIsApplyingRemote())return await d(e,t)},removeItem:async t=>{try{await e.delete(t)}catch(e){f.error(new l("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(r,e,o,n):function(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),s="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),i=t.partialize??M,a=t.deserializer??e.deserializer??E(o),c=t.serializer??e.serializer??D(o);function u(t,n){try{if(R(r))return;n.state=i(n.state);const o=x(r,s,n),a=c(n);try{e.set(t,a),P(r,o)}catch(e){f.error(new l("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){f.error(new l("[createBaseStore]: Failed to persist store data"),{error:e})}}const d=void 0!==n?k(u,n,{leading:!1,maxWait:n,trailing:!0}):u;return{getItem:t=>{const n=e.get(t);return void 0===n?null:a(n)},setItem:(e,t)=>{r?.getIsApplyingRemote()||d(e,t)},removeItem:t=>{try{e.delete(t)}catch(e){f.error(new l("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(r,e,o,n);return{persistStorage:i,version:s}}(o,c,u?.syncContext),g=p?p.wrapOnRehydrateStorage(o.onRehydrateStorage,u?.syncContext):o.onRehydrateStorage,b=p?(e,t,n)=>(u&&(u.syncContext.setWithoutPersist=n.setState),p.stateCreator(e,t,n)):y,m=n()(e(t(b,function(e,t,n){const r={name:e.storageKey,onRehydrateStorage:n,storage:t.persistStorage,version:t.version};return void 0!==e.merge&&(r.merge=e.merge),void 0!==e.migrate&&(r.migrate=e.migrate),r}(o,h,g))),Object.is);return p?Object.assign(m,{persist:Object.assign(m.persist,{hydrationPromise:p.hydrationPromise})}):m}function re(e,t,n){const r=t.get(e);if(!r){const r=function(e,t,n,r=[]){return e&&"object"==typeof e?oe(e,r,t,n,new WeakSet,new WeakMap):(n(t,r,!0),e)}(B(e)?e.getSnapshot():e.getState(),e,n);return t.set(e,r),r}return r}function oe(e,t,n,r,o,s){return new Proxy(e,{get(i,a,c){if(o.has(i))return Reflect.get(i,a,c);if("__proto__"===a||"symbol"==typeof a)return a===Symbol.iterator&&(r(n,t,!0),o.add(i)),Reflect.get(i,a,c);const u=Reflect.get(i,a,i),l=String(a),f=t.concat(l);if("function"==typeof u)return Object.prototype.hasOwnProperty.call(i,a)?function(...e){return r(n,f,!0,{method:l,args:e.length?e:void 0}),Reflect.apply(u,i,e)}:(r(n,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return r(n,f,!d),d?(s.has(u)||s.set(u,oe(u,f,n,r,o,s)),s.get(u)):u},getOwnPropertyDescriptor:(e,s)=>(r(n,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,s)),has:(e,o)=>(r(n,t,!0),Reflect.has(e,o)),ownKeys:e=>(r(n,t,!0),o.add(e),Reflect.ownKeys(e))})}function se(e){return t=>ae(t,e)}function ie(e,t){const n=e.slice(0,-1);return e=>{const r=ae(e,n),o=r?.[t.method];return"function"==typeof o?o.apply(r,t.args):void 0}}function ae(e,t){let n=e;for(const e of t){if(!n||"object"!=typeof n)return n;n=n[e]}return n}function ce(){const e=new Map;return{buildProxySubscriptions(t,n){const r=new Set;for(const[t,n]of e)fe(n,t,[],0,r);!function(e,t,n){for(const n of e)t(n.store,n.invocation?ie(n.path,n.invocation):se(n.path));n&&e.size}(r,t,n)},trackPath(t,n,r,o){let s=e.get(t);s||(s=ue(),e.set(t,s)),le(s,n,0,r,o)}}}function ue(){return Object.create(null)}function le(e,t,n,r,o){if(n===t.length)return r&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=ue());const s=t[n];let i=e.children?.[s];i||(i=ue(),e.children[s]=i),le(i,t,n+1,r,o)}function fe(e,t,n,r,o,s=1){const i=e.children;if(!i)return void o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1});const a=Object.keys(i),c=a.length;if(0!==c)if(e.isLeaf||r>=s&&c>1){o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1});for(const e of a){const a=i[e];a.invocation&&fe(a,t,[...n,e],r+1,o,s)}}else if(r<s&&c>1&&!e.isLeaf)for(const e of a)fe(i[e],t,[...n,e],r+1,o,s);else{if(1===c){const e=a[0];return void fe(i[e],t,[...n,e],r+1,o,s)}o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1})}else o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1})}var de=!1,ye=!1,pe=new Map,he=new Map,ge=new Map,be=null,me=1/0;function ve(){return de}function Se(){return be}function we(){de||(de=!0,ye||(ye=!0,queueMicrotask(()=>{ye=!1,(()=>{for(;he.size>0;){const e=me,t=ge.get(e);if(t){ge.delete(e);for(const e of t)he.delete(e);be=e;for(const e of t)e();if(be=null,ge.size>0){me=1/0;for(const e of ge.keys())e<me&&(me=e)}else me=1/0}else{me=1/0;for(const e of ge.keys())e<me&&(me=e)}}for(;pe.size>0;){const e=Array.from(pe.values());pe.clear();for(const t of e)t()}})(),de=!1,be=null,he.clear(),ge.clear(),me=1/0})))}function je(e,t){de&&pe.set(e,t)}var Oe=e=>e;function qe(e,t=Object.is){return n=function(e,t=Object.is){const{debounceOptions:n,debugMode:r,equalityFn:o,keepAlive:s,lockDependencies:i}="function"==typeof(u=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:u,keepAlive:!1,lockDependencies:!1}:{debounceOptions:u.debounce,debugMode:false,equalityFn:u.equalityFn??Object.is,keepAlive:u.keepAlive??!1,lockDependencies:u.lockDependencies??!1},a=String(ke+=1),c=new Set;var u;s&&c.add(Ae);const l=new Set;let f,d,y=Fe,p=!1,h=!0,g=!0,b=!0,m=0,v=!1,S=null,w=Fe;function j(e,t,n){if(!b||!c.size)return(t??Oe)(B(e)?e.getSnapshot():e.getState());if(!t)return f||(f=new WeakMap),d||(d=ce()),re(e,f,d.trackPath);const r=e.subscribe(t,K,{equalityFn:n??Object.is,isDerivedStore:!0});return l.add(r),t(B(e)?e.getSnapshot():e.getState())}function O(e){for(const t of l)t(e);l.clear()}function q(){if(!g&&Ie(y))return y;g=!1,b&&O(!0);const t=y,n=Ie(t);y=function(t){h=!0;const n=y,r=e(t);return Ie(n)&&o(n,r)?(h=!1,n):r}(j);const s=r&&(!n||"verbose"===r&&b);return s&&l.size,d&&b&&(d.buildProxySubscriptions((e,t)=>{const n=e.subscribe(t,K,{equalityFn:Object.is,isDerivedStore:!0});l.add(n)},s),f=void 0,d=void 0),h&&n&&function(e,t){const n=function(){const e=c.has(Ae)?c.size-1:c.size;return m>0&&m<e}(),r=!m||n,o=n||null!==Se()||ve()&&r;n&&we();for(const t of c){if("function"==typeof t||!t.isDerivedWatcher)continue;const n=t.selector(e);if(!t.equalityFn(t.currentSlice,n)){const e=t.currentSlice;t.currentSlice=n,t.listener(n,e)}}o?v||(v=!0,Ie(w)||(w=t),je(a,A)):F(e,t)}(y,t),i&&(b=!1),y}function F(e,t){for(const n of c)if("function"==typeof n)n(e,t);else if(!n.isDerivedWatcher){const t=n.selector(e);if(!n.equalityFn(n.currentSlice,t)){const e=n.currentSlice;n.currentSlice=t,n.listener(t,e)}}}function A(){c.size&&(v&&function(){if(g&&!m&&q(),!Ie(y))return;const e=Ie(w)?w:y;F(y,e)}(),v=!1,w=Fe)}const I=n?k(T,"number"==typeof n?n:n.delay,"number"==typeof n?{leading:!1,maxWait:n,trailing:!0}:n):void 0,C=I??(()=>{p||(p=!0,queueMicrotask(T))});function T(){c.size&&(p=!1,g&&q())}function M(e){e?queueMicrotask(()=>{c.size||D()}):D()}function z(){T(),S=null}function K(){if(!g){if(g=!0,!I){if(m){we();const e=Se(),t=null===e?0:e+1;if(null!==S&&t<=S)return;return S=t,void function(e,t){if(!de)return;const n=t<0?0:0|t,r=he.get(e);if(void 0===r){he.set(e,n);let t=ge.get(n);return t||(t=new Set,ge.set(n,t)),t.add(e),void(n<me&&(me=n))}if(n>r){const t=ge.get(r);if(t&&(t.delete(e),0===t.size&&(ge.delete(r),r===me))){me=1/0;for(const e of ge.keys())e<me&&(me=e)}he.set(e,n);let o=ge.get(n);o||(o=new Set,ge.set(n,o)),o.add(e),n<me&&(me=n)}}(z,t)}if(ve())return void(v||(v=!0,Ie(y)&&(w=y),je(a,A)))}S=null,m&&!n?q():C()}}function E(){return g||!Ie(y)?c.size>0?q():e(j):y}function D(e=!0){s&&e||(I?.cancel(),O(),c.clear(),m=0,d=void 0,f=void 0,b=!0,p=!1,g=!0,y=Fe,v=!1,w=Fe,S=null)}return{destroy:()=>D(!1),flushUpdates:function(){c.size&&(I?I.flush():g&&q())},getSnapshot:function(){if(!Ie(y)){c.add(Ae);const e=q();return c.delete(Ae),e}return p&&T(),y},getState:E,subscribe:function(...e){if(1===e.length){const t=e[0];return c.add(t),1!==c.size||Ie(y)||E(),()=>{c.delete(t),c.size||M(!1)}}const[t,n,r]=e,o=r?.equalityFn??Object.is,s=r?.isDerivedStore??!1,i={currentSlice:void 0,equalityFn:o,isDerivedWatcher:s,listener:n,selector:t};return c.add(i),i.currentSlice=t(E()),s&&(m+=1),r?.fireImmediately&&n(i.currentSlice,i.currentSlice),()=>{c.delete(i),s&&(m-=1),c.size||M(s)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}(e,t),Object.assign(function(e=Oe,t=void 0){return r(n.subscribe,n.getSnapshot,void 0,e,t)},n);var n}var Fe=Symbol(),ke=0;function Ae(){}function Ie(e){return e!==Fe}var Ce=class{constructor({disableAutoRefetching:e,initialEnabled:t}){this.count=0,this.enabled=!1,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,this.enabled=t,e&&(this.fetchThrottleMs=z.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}get(){return{enabled:this.enabled,lastSubscriptionTime:this.lastSubscriptionTime,subscriptionCount:this.count}}setEnabled(e){this.enabled=e}subscribe(){const e=0===this.count,t=null!==this.fetchThrottleMs&&null!==this.lastSubscriptionTime&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.onSubscribe?.(this.enabled,e,t),this.count+=1,this.lastSubscriptionTime=Date.now(),e=>{const t=1===this.count;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}},Te={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function Me(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!(r in t)||!Me(e[r],t[r]))return!1;return!0}function ze(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.is(e[r],t[r]))return!1;return!0}function Ke(e,t){const n=Object.prototype.hasOwnProperty;function r(e,t){for(const n of e.keys())if(Ke(n,t))return n}let o,s,i;if(e===t)return!0;if(e&&t&&(o=e.constructor)===t.constructor){if(o===Date)return e.getTime()===t.getTime();if(o===RegExp)return e.toString()===t.toString();if(o===Array){if((s=e.length)===t.length)for(;s--&&Ke(e[s],t[s]););return-1===s}if(o===Set){if(e.size!==t.size)return!1;for(let n of e){if(i=n,i&&"object"==typeof i&&(i=r(t,i),!i))return!1;if(!t.has(i))return!1}return!0}if(o===Map){if(e.size!==t.size)return!1;for(let n of e){if(i=n[0],i&&"object"==typeof i&&(i=r(t,i),!i))return!1;if(!Ke(n[1],t.get(i)))return!1}return!0}if(o===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(o===DataView){if((s=e.byteLength)===t.byteLength)for(;s--&&e.getInt8(s)===t.getInt8(s););return-1===s}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){const n=e,r=t;if((s=n.byteLength)===r.byteLength)for(;s--&&n[s]===r[s];);return-1===s}if(!o||"object"==typeof e){s=0;for(const r in e){if(n.call(e,r)&&++s&&!n.call(t,r))return!1;if(!(r in t)||!Ke(e[r],t[r]))return!1}return Object.keys(t).length===s}}return e!=e&&t!=t}var Ee=new WeakMap,De=new WeakMap;function Le(e,t=xe,n=Ke){return function(e,t,n){let r=De.get(e);r||(r=new Map,De.set(e,r));let o=r.get(t);o||(o=new Map,r.set(t,o));const s=o.get(n);if(s)return s;const[i,a,c]=Re(e,t,n),u=new Map,l=e=>{const t={get(t,n){if("value"===n){let t=a();const n=e.split(".");for(const e of n)e&&(t=t[e]);return t}const r="string"==typeof n?n:n.toString(),o=e?`${e}.${r}`:r,s=u.get(o);if(s)return s;const c=l(o);return Ee.set(c,i),u.set(o,c),c},set(t,n,r){const o=e.split(".");return""===o[0]&&o.shift(),c(o,r),!0}};return new Proxy(Object.create(null),t)},f=l("");return i(()=>{}),Ee.set(f,i),o.set(n,f),f}(e,t,n)}var xe=e=>e,Pe=(e,t,n)=>{if(!t.length)return n;const[r,...o]=t,s=e[r],i=Pe(s,o,n);if(Ke(s,i))return e;const a=Array.isArray(e)?e.slice():{...e};return a[r]=i,a},Re=(e,t,n)=>{const r=new Set,o=B(e);let s,i=t(o?e.getSnapshot():e.getState());return[a=>(r.size||(s=e.subscribe(t,e=>{i=e,r.forEach(e=>e())},{equalityFn:n,isDerivedStore:o})),r.add(a),()=>{r.delete(a),!r.size&&s&&(s(),s=void 0)}),()=>(r.size||(i=t(e.getState())),i),(n,r)=>{if(t!==xe)throw new Error("Cannot set a value with a selector");e.setState(e=>Pe(e,n,r),!0)}]};function We(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var[$e,_e]=[!0,!1],Ue={error:$e,lastFetchedAt:$e,queryCache:$e,queryKey:$e,status:$e,enabled:_e,fetch:_e,getCacheEntry:_e,getData:_e,getStatus:_e,isDataExpired:_e,isStale:_e,reset:_e};function Be(e,t,n){const r="function"==typeof t?t:Xe,o="object"==typeof t?t:n,s=o&&"storageKey"in o?o:void 0,{fetcher:i,onError:a,onFetched:c,setData:u,transform:y,abortInterruptedFetches:p=!0,cacheTime:h=z.days(7),debugMode:g=!1,disableAutoRefetching:b=!1,disableCache:m=!1,enabled:v=!0,keepPreviousData:S=!1,maxRetries:w=5,paramChangeThrottle:j=!1,params:O,retryDelay:q=Ve,suppressStaleTimeWarning:F=!1,useParsableQueryKeys:A=!0}=e;let I="function"==typeof e.staleTime?z.minutes(2):e.staleTime??z.minutes(2);const C=A?Qe:Ne,T=new Error("[createQueryStore: AbortError] Fetch interrupted"),M="function"==typeof h,K=Object.keys(e.params??Object.create(null));let E=null,D=null,L=null,x=[],P=!1,R=!1,W=null,$=null,_=null,U=null,B=null;const V={enabled:"function"!=typeof v&&v,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Te.Idle},N=new Ce({disableAutoRefetching:b,initialEnabled:V.enabled}),Q=()=>{W&&($=null,W.abort(),W=null)},H=(t,n,o)=>{const g=o.setState,v=(e,t)=>{const n="function"==typeof e;if(n||void 0!==e.enabled){let t;const r=g(r=>{const s=n?e(r):e,i=void 0!==s.enabled?s.enabled:r.enabled;return i!==r.enabled&&(t=()=>((e,t)=>{e!==t&&B!==t&&(B=t,N.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(_||p)&&(p&&Q(),_&&(clearTimeout(_),_=null)))})(r.enabled,i)),s});return t?.(),r}return g(e)};o.setState=v,N.init({onSubscribe:(r,o,s)=>{if(D||E||!O&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(r)if(o){const e=Ge(E,D),r=C(e),o=n();o.queryKey!==r&&t(e=>({...e,queryKey:r})),o.isStale()?F.fetch(e,void 0,!0):j(e,void 0)}else b&&!s&&F.fetch(void 0,void 0,!0)}else P=!0},onLastUnsubscribe:e=>{_&&(clearTimeout(_),_=null),p&&!e&&Q()}});const j=(e,t)=>{if(b||t?.skipStoreUpdates)return;if(I<=0||I===1/0)return;_&&(clearTimeout(_),_=null);const r=C(e),o=n(),s=(m?U===r&&o.lastFetchedAt:o.queryCache[r]?.lastFetchedAt)||null,i=s?I-(Date.now()-s):I;_=setTimeout(()=>{const t=N.get();t.enabled&&t.subscriptionCount>0&&F.fetch(e,{force:!0},!0)},i)},F={...r(v,n,o),...V,async fetch(e,r,o=!1){const g=N.get();if(!r?.force&&!r?.skipStoreUpdates&&!g.enabled)return null;const b=n(),O=b.error,k=b.queryKey,A=b.status,z=Ye(E,D,K,e),L=C(z),x=r?.staleTime??I,P=A===Te.Loading,R=!!r?.skipStoreUpdates,B="boolean"==typeof r?.updateQueryKey?r.updateQueryKey:o?S:!R,V=o||!R&&(B||k===L);if($?.promise&&$.key===L&&P)return $.promise;if(p&&!R&&!1!==r?.updateQueryKey&&Q(),!r?.force){const e=b.lastFetchedAt,n=b.queryCache[L],o=n?.lastFetchedAt,s=n?.errorInfo,i=s&&s.retryCount>=w,a=(m?U===L&&e:o)||null;if(a&&!(Date.now()-a>=x)&&(!s||i||R))return V&&!R&&!_&&g.subscriptionCount>0&&0!==I&&I!==1/0&&j(z,r),B&&t(e=>e.queryKey!==L?{...e,queryKey:L}:e),n?.data??null}!R&&V&&(_&&(clearTimeout(_),_=null),!O&&P||t(e=>({...e,error:null,status:Te.Loading})),$={key:L});const H=r?.cacheTime??(M?h(z):h),J=async()=>{try{const e=await(p&&!R&&V?(async e=>{const t=new AbortController;W=t;try{return await new Promise((n,r)=>{t.signal.addEventListener("abort",()=>r(T),{once:!0}),Promise.resolve(i(e,t)).then(n,r)})}finally{W===t&&(W=null)}})(z):i(z,null)),n=Date.now();let o;try{o=y?y(e,z):e}catch(e){throw new l(`[createQueryStore: ${s?.storageKey||L}]: transform failed`,e)}if(R)return"withCache"===r.skipStoreUpdates&&t(e=>{if(!u)return m?{...e,queryCache:{...e.queryCache,[L]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:n}}}:e;let t=e;const r=t.queryCache[L];return u({data:o,params:z,queryKey:L,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!m&&Object.is(r,t.queryCache[L])&&(t={...t,queryCache:{...t.queryCache,[L]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:n}}}),t}),o;if((u?v:t)(e=>{let t={...e,error:null,lastFetchedAt:n,queryKey:B?L:e.queryKey,status:Te.Success};if(u||m){if(u){const e=t.queryCache[L];u({data:o,params:z,queryKey:L,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!m&&Object.is(e,t.queryCache[L])&&(t.queryCache={...t.queryCache,[L]:{cacheTime:H,data:null,errorInfo:null,lastFetchedAt:n}})}}else t.queryCache={...t.queryCache,[L]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:n}};return m||h===1/0?t:Ze(S,L,t)}),V&&(U=L,j(z,r)),c)try{c({data:o,fetch:F.fetch,params:z,set:v})}catch(e){f.error(new l(`[createQueryStore: ${s?.storageKey||L}]: onFetched callback failed`,e))}return o??null}catch(i){if(i===T)return null;const c=!o&&!0===r?.throwOnError,u=d(i);if(R||!V){if(f.error(new l(`[createQueryStore: ${s?.storageKey||L}]: Failed to fetch data`,u)),c)throw u;return null}const y=m?void 0:n().queryCache[L],p=y?.errorInfo?.retryCount??0,h=p+1;if(a?.(u,p),p<w){if(N.get().subscriptionCount>0){const t="function"==typeof q?q(h,u):q;t!==1/0&&(_&&clearTimeout(_),_=setTimeout(()=>{const{enabled:t,subscriptionCount:n}=N.get();t&&n>0&&F.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:u,queryCache:{...e.queryCache,[L]:{cacheTime:y?.cacheTime??H,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:h}}},queryKey:B?L:e.queryKey,status:Te.Error}))}else t(e=>({...e,error:u,queryCache:{...e.queryCache,[L]:{cacheTime:y?.cacheTime??H,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:w}}},queryKey:B?L:e.queryKey,status:Te.Error}));if(f.error(new l(`[createQueryStore: ${s?.storageKey||L}]: Failed to fetch data`,u)),c)throw u;return null}finally{!R&&V&&($=null)}};return R||!V?J():($={key:L,promise:J()}).promise},getCacheEntry(e){if(m)return null;const t=n(),r=e?"string"==typeof e?e:C(Ye(E,D,K,e)):t.queryKey;return t.queryCache[r]??null},getData(e){if(m)return null;const t=n().getCacheEntry(e);return t&&null!==t.data?S?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return n().status===Te.Idle;case"isLoading":return n().status===Te.Loading;case"isSuccess":{const e=n(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Te.Success}case"isError":case"isInitialLoad":case void 0:{const t=n(),r=t.queryCache[t.queryKey],o=(m?U===t.queryKey&&t.lastFetchedAt:r?.lastFetchedAt)||null,s=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return m?"error"!==s:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&s===Te.Loading}return{isError:s===Te.Error,isIdle:s===Te.Idle,isLoading:s===Te.Loading,isInitialLoad:!o&&s===Te.Loading,isSuccess:s===Te.Success}}}},isDataExpired(e){const t=n(),r=t.queryCache[t.queryKey],o=t.queryKey,s=t.lastFetchedAt,i=(m?U===o&&s:r?.lastFetchedAt)||null;if(!i)return!0;const a=e??r?.cacheTime;return void 0===a||Date.now()-i>=a},isStale(e){const t=n(),r=t.queryKey,o=(m?U===r&&t.lastFetchedAt:t.queryCache[r]?.lastFetchedAt)||null;if(!o)return!0;const s=e??I;return Date.now()-o>=s},reset(e=!1){for(const e of x)e();x=[],E=null,D=null,L=null,Q(),_&&(clearTimeout(_),_=null),$=null,U=null,e&&t(e=>({...e,...V}))}},k=o.subscribe;return o.subscribe=(...e)=>{const t=R?()=>{}:N.subscribe(),n=1===e.length?k(e[0]):k(...e);return e=>{t(e),n()}},F},J=s?.storageKey?ne(H,Object.assign(Object.create(null),s,{partialize:nt(S,s.partialize)})):o&&!("storageKey"in o)?ne(H,o):ne(H),Y=J.getState(),G=Y.error,X=Y.enabled,Z=Y.queryKey;if(Z&&!G&&(U=Z),R=!0,O||"function"==typeof e.enabled){const{directValues:e,enabledAttachVal:t,enabledDirectValue:n,attachVals:r}=function(e,t,n){const r=Object.create(null),o=Object.create(null),s=Object.create(null);for(const e in t){if(!We(t,e))continue;const i=t[e];if(et(i)){const t=i(Le,n);r[e]=t,s[e]=t.value}else tt(i)&&(o[e]=i,s[e]=i)}let i,a=null,c=null;if(et(e)){const t=e(Le,n);i=t.value,a=t}else i=e,c=e;return{attachVals:r,directValues:o,enabledAttachVal:a,enabledDirectValue:c,resolvedEnabled:i,resolvedParams:s}}(v,O,J);E={enabled:t,params:r},D={enabled:n,params:e}}"function"==typeof e.staleTime&&(L=e.staleTime(Le,J),I=L.value);const ee=function(){let e,t=!1;return function(...n){e=n,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{Y.fetch(e??Ge(E,D),{updateQueryKey:S})})(...e)}))}}();function te(){let e;if(!S){e=Ge(E,D);const t=C(e);J.setState(e=>({...e,queryKey:t}))}ee(e)}const re=j?k(te,"number"==typeof j?j:j.delay,"number"==typeof j?{leading:!1,maxWait:j,trailing:!0}:j):te;if(E?.enabled){const e=E.enabled,t=Ee.get(e);if(t){let n=e.value;X!==n&&J.setState(e=>({...e,enabled:n})),n&&N.setEnabled(n);const r=t(()=>{const t=e.value;t!==n&&(n=t,J.setState(e=>({...e,enabled:t})))});x.push(r)}}else X!==V.enabled&&J.setState(e=>({...e,enabled:V.enabled}));for(const e in E?.params){const t=E.params[e];if(!t)continue;const n=Ee.get(t);if(n){let e=t.value;const r=n(()=>{const n=t.value;Ke(e,n)||(e=n,re())});x.push(r)}}if(L){const e=Ee.get(L);if(e){const t=L;let n=t.value;const r=e(()=>{const e=t.value;e!==n&&(n=e,I=e,J.getState().fetch())});x.push(r)}}return R=!1,P&&queueMicrotask(re),oe=J,se="_queryStore",Object.assign(oe,{[se]:!0});var oe,se}function Ve(e,t){const n=t?.baseDelay??z.seconds(5),r=t?.maxDelay??z.minutes(5),o=Math.pow(2,e);return Math.min(n*o,r)}function Ne(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Qe(e){return JSON.stringify(Je(e))}function He(e){return JSON.parse(e)}function Je(e){return"object"!=typeof e||null===e?e:Object.keys(e).sort().reduce((t,n)=>{const r=e[n];return t[n]=null!==r&&"object"==typeof r?Je(r):r,t},{})}function Ye(e,t,n,r){return r?function(e,t){if(!e)return!1;for(const n of t)if(!(n in e))return!1;return!0}(r,n)?r:{...Ge(e,t),...r}:Ge(e,t)}function Ge(e,t){const n=t?.params??Object.create(null);for(const t in e?.params){const r=e.params[t];r&&(n[t]=r.value)}return n}function Xe(){return Object.create(null)}function Ze(e,t,n){if(!n.queryCache)return n;const r=Date.now(),o=t??(e&&n.queryKey||null);let s=!1;const i=Object.create(null);for(const e in n.queryCache){if(!We(n.queryCache,e))continue;const a=n.queryCache[e];a&&(r-(a.lastFetchedAt??a.errorInfo.lastFailedAt)<a.cacheTime||e===o)?!t&&a.errorInfo&&a.errorInfo.retryCount>0?(i[e]={...a,errorInfo:{...a.errorInfo,retryCount:0}},s=!0):i[e]=a:s=!0}return s?{...n,queryCache:i}:n}function et(e){return"function"==typeof e}function tt(e){return!et(e)}function nt(e,t){return n=>{const r={...n},o={};for(const e in r)We(r,e)&&e in Ue&&(Ue[e]&&(o[e]=r[e]),delete r[e]);return{...t?t(r):M(r),...Ze(e,null,o)}}}function rt(e,t,n){const r="function"==typeof t,o=r?t:void 0,s=r?n:t,i=new Set,a=qe(e,{debugMode:s?.debugMode??!1,equalityFn:function(e,t){const n=Object.is(e,t);return n||(function(e,t){for(const n of i){n.unsubscribe();const r=n.args;if(1===r.length){const o=r[0],s=e.getState(),i=t.getState(),a=t.subscribe(o);n.unsubscribe=a,Object.is(i,s)||o(i,s);continue}const o=r[0],s=r[1];let i=r[2];i?.fireImmediately&&(i={...i,fireImmediately:!1});const a=i?.equalityFn??Object.is,c=o(e.getState()),u=o(t.getState()),l=t.subscribe(...r);n.unsubscribe=l,a(c,u)||s(u,c)}}(e,t),$(e)),n},keepAlive:!0,lockDependencies:s?.lockDependencies??!0}),c=a.getState().persist,u=(l=a.getState,function(e,t){return t?l().setState(e,t):l().setState(e)});var l;return Object.assign(function(e,t){const n=a();return e?n(e,t):n()},{_virtualStore:!0,destroy:()=>a.destroy(),getInitialState:()=>a.getState().getInitialState(),getState:()=>a.getState().getState(),persist:c,setState:u,subscribe:function(...e){const t={args:e,unsubscribe:1===e.length?a.getState().subscribe(e[0]):a.getState().subscribe(...e)};return i.add(t),()=>{t.unsubscribe(),i.delete(t)}}},o?o(a.getState):void 0)}z.seconds(5);var ot=Symbol(),st=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1});function it(e,t,n,r=st){const i=function(){const e=s(ot);return e.current===ot&&(e.current=function(e,t,n){return{selector:e,react:t,isActive:!1,options:ut(n),resubscribe:()=>{},unsubscribe:()=>{}}}(t,n,r)),e}(),a=function(e){return"function"==typeof e?st.enabled:e?.enabled??st.enabled}(r);return i.current.react=n,i.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??st)}(i,r),o(()=>{if(a)return ct(e,i),()=>function(e){e.current.options.debugMode,e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(i)},[a,e]),i}var at=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function ct(e,t,n=at){if(t.current.isActive){if(!n?.forceResubscribe)return;t.current.unsubscribe()}t.current.options.debugMode,t.current.isActive=!0,t.current.resubscribe=(n=at)=>ct(e,t,n);const r=e.subscribe(e=>t.current.selector(e),(e,n)=>t.current.react(e,n,()=>{r(),t.current.isActive=!1}),n.fireImmediately?{...t.current.options,fireImmediately:!0}:t.current.options);t.current.unsubscribe=()=>{t.current.isActive&&(r(),t.current.isActive=!1)}}function ut(e){return"function"==typeof e?{equalityFn:e}:e??st}var lt=Symbol();function ft(e){const t=s(lt);return t.current===lt&&(t.current=e()),t.current}function dt(e,t){const n=function(e){const t=e.getState(),n=Object.create(null);if(H(e)){for(const r in t)pt(t,r)&&(n[r]=yt(e,r));return n}for(const e in t)pt(t,e)&&(n[e]=t[e]);return n}(e);return t?Object.assign(n,t):n}function yt(e,t){return function(...n){const r=e.getState()[t];if("function"==typeof r)return r(...n);throw new Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function pt(e,t){return"function"==typeof e[t]}export{Te as QueryStatuses,W as applyStateUpdate,w as configureStores,ne as createBaseStore,qe as createDerivedStore,Be as createQueryStore,dt as createStoreActions,rt as createVirtualStore,Me as deepEqual,Ve as defaultRetryDelay,$ as destroyStore,_ as destroyStores,Ne as getLegacyQueryKey,Qe as getQueryKey,U as getStoreName,N as isDerivedStore,Q as isPersistedStore,V as isQueryStore,H as isVirtualStore,He as parseQueryKey,C as replacer,T as reviver,ze as shallowEqual,z as time,it as useListen,ft as useStableValue};
1
+ import{subscribeWithSelector as e,persist as t}from"zustand/middleware";import{createWithEqualityFn as n}from"zustand/traditional";import{useSyncExternalStoreWithSelector as r}from"use-sync-external-store/shim/with-selector";import{useLayoutEffect as o,useRef as i}from"react";var s,a=(e=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,t)=>("undefined"!=typeof require?require:e)[t]}):e)(function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),c="undefined"!=typeof window&&"undefined"!=typeof document;function u(){if(s)return s;try{const{MMKV:e}=a("react-native-mmkv"),t=new e({id:"stores-storage"}),{getString:n,...r}=t;s=Object.assign(Object.create(null),r,{get:n})}catch(e){throw new Error("[stores]: You must install react-native-mmkv for persistence to work in React Native.\n\n See: https://github.com/mrousavy/react-native-mmkv\n "+(e instanceof Error?`\n\nError: ${e.message}`:""))}return function(e){if(!e||"function"!=typeof e.get||"function"!=typeof e.set||"function"!=typeof e.delete||"function"!=typeof e.clearAll)throw new Error("[stores]: Storage instance does not conform to expected interface")}(s),s}var l={clearAll:()=>u().clearAll(),contains:e=>u().contains(e),delete:e=>u().delete(e),getAllKeys:()=>u().getAllKeys(),get:e=>u().get(e),set:(e,t)=>u().set(e,t)},f=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=y(t)}},d={debug:(e,t)=>{},error:(e,t)=>{},info:(e,t)=>{},warn:(e,t)=>{}};function y(e){return e instanceof Error?e:new Error(String(e))}var p="stores/core/sync-channel",h=`${p}:storage:`;function g(){try{return"undefined"!=typeof window?window.localStorage:null}catch{return null}}var b,m,v,S=class{constructor(e){this.broadcast=e.broadcast,this.origin=e.origin,this.storeKey=e.storeKey,this.teardown=e.teardown}destroy(){this.teardown()}publish(e){const t=Object.create(null);for(const n of Object.entries(e.values))t[n[0]]=n[1];const n={origin:this.origin,replace:e.replace,sessionId:e.sessionId,storeKey:this.storeKey,timestamp:e.timestamp,values:t};this.broadcast(n)}},w=class{constructor(){this.listeners=new Map,this.origin="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`,this.onChannelMessage=e=>{e.data&&this.dispatch(e.data)},this.onStorageEvent=e=>{if(e.key&&e.newValue&&e.key.startsWith(h))try{const t=JSON.parse(e.newValue);this.dispatch(t)}catch(e){d.error(new f("[sync] Failed to parse storage event payload"),{error:e})}},this.channel="undefined"==typeof BroadcastChannel?null:new BroadcastChannel(p),this.storage=g(),this.channel&&this.channel.addEventListener("message",this.onChannelMessage),c&&window.addEventListener("storage",this.onStorageEvent)}get sessionId(){return this.origin}register(e){const t=t=>{if(t.origin===this.origin||t.storeKey!==e.key)return;const n=Object.create(null);for(const r of e.fields)Object.prototype.hasOwnProperty.call(t.values,r)&&(n[r]=t.values[r]);Object.keys(n).length&&e.apply({replace:t.replace,sessionId:t.sessionId,timestamp:t.timestamp,values:n})};let n=this.listeners.get(e.key);return n||(n=new Set,this.listeners.set(e.key,n)),n.add(t),new S({broadcast:e=>this.broadcast(e),origin:this.origin,storeKey:e.key,teardown:()=>this.removeListener(e.key,t)})}broadcast(e){try{this.channel&&this.channel.postMessage(e),this.writeToStorage(e)}catch(e){d.error(new f("[sync] Failed to broadcast update"),{error:e})}}dispatch(e){if(!e.storeKey)return;const t=this.listeners.get(e.storeKey);if(t&&t.size)for(const n of t)n(e)}removeListener(e,t){const n=this.listeners.get(e);n&&(n.delete(t),n.size||this.listeners.delete(e))}writeToStorage(e){if(this.storage||(this.storage=g()),!this.storage)return;const t=`${h}${e.storeKey}`;try{this.storage.setItem(t,JSON.stringify(e))}catch(e){d.error(new f("[sync] Failed to write broadcast payload to storage"),{error:e})}}},j=class{destroy(){}publish(){}},O=class{constructor(){this.sessionId="noop"}register(e){return new j}};function q(e){var t;v??(v=k()),e.logger&&(t=e.logger,d=t),e.storage&&(v.storage=e.storage),e.syncEngine&&(v.syncEngine=e.syncEngine)}function F(){return v??(v=k())}function k(){return{storage:l,syncEngine:c?(b||(b=new w),b):(m||(m=new O),m)}}function A(){let e,t,n=!1;return{complete:function(){!n&&e&&(n=!0,e(),e=void 0,t=void 0)},isHydrated:function(){return n},fail:function(r){!n&&t&&(n=!0,t(r),t=void 0,e=void 0)},promise:new Promise((n,r)=>{e=n,t=r})}}var I=Math.max,C=Math.min;function T(e,t=0,n={}){let r,o,i,s,a,c,u=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){const n=r,i=o;return r=o=void 0,u=t,s=n?e.apply(i,n):e.apply(i),s}function p(e){const n=e-(c??0);return void 0===c||n>=t||n<0||f&&void 0!==i&&e-u>=i}function h(){const e=M();if(p(e))return g(e);a=setTimeout(h,function(e){const n=t-(e-(c??0));return f&&void 0!==i?C(n,i-(e-u)):n}(e))}function g(e){return a=void 0,d&&r?y(e):(r=o=void 0,s)}function b(...e){const n=M(),i=p(n);if(r=e,o=this,c=n,i){if(void 0===a)return function(e){return u=e,a=setTimeout(h,t),l?y(e):s}(c);if(f)return clearTimeout(a),a=setTimeout(h,t),y(c)}return void 0===a&&(a=setTimeout(h,t)),s}return t=z(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(n)&&(l=!!n.leading,f="maxWait"in n,i=f?I(z(n.maxWait)||0,t):void 0,d="trailing"in n?!!n.trailing:d),b.cancel=function(){void 0!==a&&clearTimeout(a),u=0,r=c=o=a=void 0},b.flush=function(){return void 0===a?s:g(M())},b}function M(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function z(e){if("number"==typeof e)return e;if("symbol"==typeof e||void 0===e)return NaN;if("object"==typeof e&&null!==e){const t="function"==typeof e.valueOf?e.valueOf():e;e="object"==typeof t?t+"":t}return"string"!=typeof e?0===e?e:+e:(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e)}function K(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function E(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}function D(e){if(null!==e&&"object"==typeof e){const t={};for(const[n,r]of Object.entries(e))"function"!=typeof r&&(t[n]=r);return t}return e}var L={ms:e=>e,seconds:e=>1e3*e,minutes:e=>L.seconds(60*e),hours:e=>L.minutes(60*e),days:e=>L.hours(24*e),weeks:e=>L.days(7*e),infinity:1/0,zero:0},x=c?L.ms(200):L.seconds(5);function P(e){return t=>{if("string"!=typeof t)throw new f("[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.");return function(e,t){try{return JSON.parse(e,t?E:void 0)}catch(e){throw d.error(new f("[createBaseStore]: Failed to deserialize persisted Rainbow store data"),{error:e}),e}}(t,e)}}function R(e){return t=>function(e,t){try{return JSON.stringify(e,t?K:void 0)}catch(e){throw d.error(new f("[createBaseStore]: Failed to serialize Rainbow store data"),{error:e}),e}}(t,e)}var W=Object.freeze({shouldClear:!1});function $(e,t,n){if(!t||!e)return W;const r=e.getFieldTimestampSnapshot();return function(e,t){const n=e.getSessionId(),r=e.getTimestamp();void 0!==n&&void 0!==r&&(t.syncMetadata={origin:n,timestamp:r})}(e,n),n.syncMetadata?r&&Object.keys(r).length>0?(n.syncMetadata.fields=r,{fieldSnapshot:r,shouldClear:!0}):(delete n.syncMetadata.fields,{fieldSnapshot:r,shouldClear:!1}):{fieldSnapshot:r,shouldClear:!1}}function _(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function U(e){return!!e&&!!e.getIsApplyingRemote()}function B(e,...t){return!0===t[1]?Z(t[0])?t[0](e):t[0]:{...e,...Z(t[0])?t[0](e):t[0]}}function V(e,t){J(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function N(e,t){for(const n of Array.isArray(e)?e:Object.values(e))n&&!t?.skipDestroy?.(n)&&V(n,t)}function Q(e){return G(e)?e.persist.getOptions().name??e.name:e.name}function H(e){return"getSnapshot"in e}function J(e){return"_queryStore"in e}function Y(e){return"flushUpdates"in e}function G(e){return"persist"in e}function X(e){return"_virtualStore"in e}function Z(e){return"function"==typeof e}var[ee,te]=[0,1];function ne(e,t,n){if(!e)return!0;const r=e[ee],o=e[te];return!(t<r)&&(t>r||n>o)}function re(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function oe(e,t){return!0}function ie(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function se(r,o){const i=void 0!==o&&"string"==typeof o.storageKey,s=i?o.storageKey:void 0,a=o?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new f("[createBaseStore]: sync: true requires a storageKey to inherit the key from");return{key:t}}if("string"==typeof e)return{key:e};const n=e,r=n.key??t;if(!r)throw new f("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...n,key:r}}(o.sync,s):void 0,c=i?o.storage??F().storage:void 0,u=a?function(e,t,n){const r=t.engine??F().syncEngine,o=function(e){let t,n,r,o=!1;return{isAsync:e,clearFieldTimestamps:function(e){if(e&&r){for(const t of Object.entries(e)){const e=t[0],n=t[1];r[e]===n&&delete r[e]}Object.keys(r).length||(r=void 0)}},getFieldTimestampSnapshot:function(){if(r)return{...r}},getIsApplyingRemote:()=>o,getSessionId:()=>t,getTimestamp:()=>n,mergeFieldTimestamps:function(e){if(r)for(const t of Object.entries(e)){const e=t[0],n=t[1],o=r[e];(void 0===o||n>o)&&(r[e]=n)}else r={...e}},onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>o=e,setSessionId:e=>t=e,setTimestamp:e=>n=e,setWithoutPersist:void 0}}(n);return{stateCreator:(i,s,a)=>{const c=new Map,u=[],l=[];let y=null,p=!1,h=!1,g=0,b=null,m=[],v=Promise.resolve(),S=!n;const w=(e,t)=>{if(o?.setSessionId&&o?.setTimestamp&&r.sessionId&&(o.setSessionId(r.sessionId),o.setTimestamp(e),o.mergeFieldTimestamps&&t.length>0)){const n=Object.create(null);for(const r of t)n[String(r)]=e;o.mergeFieldTimestamps(n)}},j=function(e,t){if(p||!b)return t?i(e,t):i(e);const n=(()=>{const e=Date.now(),t=e>g?e:g+1;return g=t,t})();let o=[],s=Object.create(null);const a=r=>{const i=B(r,e,t);for(const e of m)Object.is(i[e],r[e])||(o.push(e),s[e]=i[e]);return o.length&&w(n,o),i},u=t?i(a,!0):i(a),f=()=>{o.length&&(e=>{const t=r.sessionId;for(const n of e.keys)c.set(n,[e.timestamp,t]);y&&h?y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):l.push(e)})({keys:o,replace:t??!1,values:s,timestamp:n})};return(d=u)&&"object"==typeof d&&"then"in d&&"function"==typeof d.then?u.finally(f):(f(),u);var d},O=a.setState;a.setState=j;const q=e(j,s,a);if(m=t.fields??function(e){const t=[];for(const n of Object.entries(e)){if("function"==typeof n[1])continue;const e=n[0];t.push(e)}return t}(q),!m.length)return q;b=new Set(m);const F=async e=>{g=Math.max(g,e.timestamp);const n=Object.create(null),r=s(),i=e.timestamp;let a;if(e.replace)for(const t of m)re(t,e.values)||ne(c.get(t),i,e.sessionId)&&(a??(a=[])).push(t);for(const o of m){if(!re(o,e.values))continue;if(!b?.has(o))continue;if(!ne(c.get(o),i,e.sessionId))continue;const s=t.merge?.[o];if(s){const t=e.values[o],a=r[o];if(void 0!==t){const u=s(t,a,r,e.values),l=void 0!==a?a:t;if(!oe())return void d.error(new f(`[sync] Merge function for field "${String(o)}" returned ${ie(u)} but expected ${ie(l)}`));n[o]=u,c.set(o,[i,e.sessionId])}}else n[o]=e.values[o],c.set(o,[i,e.sessionId])}if(Object.keys(n).length>0||a?.length){p=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...r};let t=!1;if(a?.length){t=!0;for(const t of a)delete e[t],c.delete(t)}for(const r in n){if(!Object.prototype.hasOwnProperty.call(n,r))continue;const o=n[r];void 0!==o&&(Object.is(e[r],o)||(t=!0),e[r]=o)}if(!t)return;await(o.setWithoutPersist??O)(e,!0)}else await(o.setWithoutPersist??O)(n)}finally{p=!1,o&&o.setIsApplyingRemote(!1)}}},k=e=>{n?v=v.then(()=>F(e)):F(e)};y=r.register({apply:e=>{S?k(e):u.push(e)},delta:t.delta,fields:m,getState:s,key:t.key});const A=()=>{h=!0,(()=>{if(y&&l.length){for(const e of l){const t=r.sessionId;for(const n of e.keys)c.set(n,[e.timestamp,t]);w(e.timestamp,e.keys),y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}l.length=0}})()},I=()=>{S=!0,(()=>{if(!u.length)return;const e=u.slice();u.length=0;for(const t of e)k(t)})()};return n&&o?(o.onHydrationComplete=A,o.onHydrationFlushEnd=I):y.onHydrated?(y.onHydrated(A),I()):(A(),I()),q},syncContext:o}}(r,a,c?.async??!1):void 0,l=u?.stateCreator??r;if(!i)return n()(e(l),Object.is);const p=c?.async?function(e){let t,n,r,o=!1;return{hydrationPromise:()=>o?t?.promise??n??(n=Promise.resolve()):(t||(t=A()),t.promise),stateCreator:(n,i,s)=>{let a;return r=()=>{if(a?.length){for(const e of a)e[1]?s.setState(e[0],e[1]):s.setState(e[0]);a=void 0}},e((...e)=>o?!0===e[1]?n(e[0],e[1]):n(e[0]):(t||(t=A()),a||(a=[]),a.push(e),t.promise),i,s)},wrapOnRehydrateStorage:(e,n)=>i=>{const s=e?.(i);return(e,i)=>{o=!0,n?.onHydrationComplete?.(),r&&r(),n?.onHydrationFlushEnd?.(),i?t?.fail(y(i)):t?.complete(),s?.(e,i)}}}}(l):null,h=function(e,t,n){const r=t??e.storage??F().storage,o=(e.sync?void 0:e.persistThrottleMs??x)||void 0,i=e.version??0,s=r.async?function(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??D,a=t.deserializer??e.deserializer??P(o),c=t.serializer??e.serializer??R(o);async function u(t,n){try{if(U(r))return;n.state=s(n.state);const o=$(r,i,n),a=c(n);try{await e.set(t,a),_(r,o)}catch(e){d.error(new f("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){d.error(new f("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const l=void 0!==n?T(u,n,{leading:!1,maxWait:n,trailing:!0}):function(e){let t,n=null;return function(...r){return t=r,n||(n=new Promise(r=>{queueMicrotask(async()=>{try{await e(...t)}finally{n=null,r()}})})),n}}(u);return{getItem:async t=>{const n=await e.get(t);return void 0===n?null:a(n)},setItem:async(e,t)=>{if(!r?.getIsApplyingRemote())return await l(e,t)},removeItem:async t=>{try{await e.delete(t)}catch(e){d.error(new f("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(r,e,o,n):function(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??D,a=t.deserializer??e.deserializer??P(o),c=t.serializer??e.serializer??R(o);function u(t,n){try{if(U(r))return;n.state=s(n.state);const o=$(r,i,n),a=c(n);try{e.set(t,a),_(r,o)}catch(e){d.error(new f("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){d.error(new f("[createBaseStore]: Failed to persist store data"),{error:e})}}const l=void 0!==n?T(u,n,{leading:!1,maxWait:n,trailing:!0}):u;return{getItem:t=>{const n=e.get(t);return void 0===n?null:a(n)},setItem:(e,t)=>{r?.getIsApplyingRemote()||l(e,t)},removeItem:t=>{try{e.delete(t)}catch(e){d.error(new f("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(r,e,o,n);return{persistStorage:s,version:i}}(o,c,u?.syncContext),g=p?p.wrapOnRehydrateStorage(o.onRehydrateStorage,u?.syncContext):o.onRehydrateStorage,b=p?(e,t,n)=>(u&&(u.syncContext.setWithoutPersist=n.setState),p.stateCreator(e,t,n)):l,m=n()(e(t(b,function(e,t,n){const r={name:e.storageKey,onRehydrateStorage:n,storage:t.persistStorage,version:t.version};return void 0!==e.merge&&(r.merge=e.merge),void 0!==e.migrate&&(r.migrate=e.migrate),r}(o,h,g))),Object.is);return p?Object.assign(m,{persist:Object.assign(m.persist,{hydrationPromise:p.hydrationPromise})}):m}function ae(e,t,n){const r=t.get(e);if(!r){const r=function(e,t,n,r=[]){return e&&"object"==typeof e?ce(e,r,t,n,new WeakSet,new WeakMap):(n(t,r,!0),e)}(H(e)?e.getSnapshot():e.getState(),e,n);return t.set(e,r),r}return r}function ce(e,t,n,r,o,i){return new Proxy(e,{get(s,a,c){if(o.has(s))return Reflect.get(s,a,c);if("__proto__"===a||"symbol"==typeof a)return a===Symbol.iterator&&(r(n,t,!0),o.add(s)),Reflect.get(s,a,c);const u=Reflect.get(s,a,s),l=String(a),f=t.concat(l);if("function"==typeof u)return Object.prototype.hasOwnProperty.call(s,a)?function(...e){return r(n,f,!0,{method:l,args:e.length?e:void 0}),Reflect.apply(u,s,e)}:(r(n,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return r(n,f,!d),d?(i.has(u)||i.set(u,ce(u,f,n,r,o,i)),i.get(u)):u},getOwnPropertyDescriptor:(e,i)=>(r(n,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,i)),has:(e,o)=>(r(n,t,!0),Reflect.has(e,o)),ownKeys:e=>(r(n,t,!0),o.add(e),Reflect.ownKeys(e))})}function ue(e){return t=>fe(t,e)}function le(e,t){const n=e.slice(0,-1);return e=>{const r=fe(e,n),o=r?.[t.method];return"function"==typeof o?o.apply(r,t.args):void 0}}function fe(e,t){let n=e;for(const e of t){if(!n||"object"!=typeof n)return n;n=n[e]}return n}function de(){const e=new Map;return{buildProxySubscriptions(t,n){const r=new Set;for(const[t,n]of e)he(n,t,[],0,r);!function(e,t,n){for(const n of e)t(n.store,n.invocation?le(n.path,n.invocation):ue(n.path));n&&e.size}(r,t,n)},trackPath(t,n,r,o){let i=e.get(t);i||(i=ye(),e.set(t,i)),pe(i,n,0,r,o)}}}function ye(){return Object.create(null)}function pe(e,t,n,r,o){if(n===t.length)return r&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=ye());const i=t[n];let s=e.children?.[i];s||(s=ye(),e.children[i]=s),pe(s,t,n+1,r,o)}function he(e,t,n,r,o,i=1){const s=e.children;if(!s)return void o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1});const a=Object.keys(s),c=a.length;if(0!==c)if(e.isLeaf||r>=i&&c>1){o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1});for(const e of a){const a=s[e];a.invocation&&he(a,t,[...n,e],r+1,o,i)}}else if(r<i&&c>1&&!e.isLeaf)for(const e of a)he(s[e],t,[...n,e],r+1,o,i);else{if(1===c){const e=a[0];return void he(s[e],t,[...n,e],r+1,o,i)}o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1})}else o.add({store:t,path:n,invocation:e.invocation,isLeaf:e.isLeaf??!1})}var ge=!1,be=!1,me=new Map,ve=new Map,Se=new Map,we=null,je=1/0;function Oe(){return ge}function qe(){return we}function Fe(){ge||(ge=!0,be||(be=!0,queueMicrotask(()=>{be=!1,(()=>{for(;ve.size>0;){const e=je,t=Se.get(e);if(t){Se.delete(e);for(const e of t)ve.delete(e);we=e;for(const e of t)e();if(we=null,Se.size>0){je=1/0;for(const e of Se.keys())e<je&&(je=e)}else je=1/0}else{je=1/0;for(const e of Se.keys())e<je&&(je=e)}}for(;me.size>0;){const e=Array.from(me.values());me.clear();for(const t of e)t()}})(),ge=!1,we=null,ve.clear(),Se.clear(),je=1/0})))}function ke(e,t){ge&&me.set(e,t)}var Ae=e=>e;function Ie(e,t=Object.is){return n=function(e,t=Object.is){const{debounceOptions:n,debugMode:r,equalityFn:o,keepAlive:i,lockDependencies:s}="function"==typeof(u=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:u,keepAlive:!1,lockDependencies:!1}:{debounceOptions:u.debounce,debugMode:false,equalityFn:u.equalityFn??Object.is,keepAlive:u.keepAlive??!1,lockDependencies:u.lockDependencies??!1},a=String(Te+=1),c=new Set;var u;i&&c.add(Me);const l=new Set;let f,d,y=Ce,p=!1,h=!0,g=!0,b=!0,m=0,v=!1,S=null,w=Ce;function j(e,t,n){if(!b||!c.size)return(t??Ae)(H(e)?e.getSnapshot():e.getState());if(!t)return f||(f=new WeakMap),d||(d=de()),ae(e,f,d.trackPath);const r=e.subscribe(t,K,{equalityFn:n??Object.is,isDerivedStore:!0});return l.add(r),t(H(e)?e.getSnapshot():e.getState())}function O(e){for(const t of l)t(e);l.clear()}function q(){if(!g&&ze(y))return y;g=!1,b&&O(!0);const t=y,n=ze(t);y=function(t){h=!0;const n=y,r=e(t);return ze(n)&&o(n,r)?(h=!1,n):r}(j);const i=r&&(!n||"verbose"===r&&b);return i&&l.size,d&&b&&(d.buildProxySubscriptions((e,t)=>{const n=e.subscribe(t,K,{equalityFn:Object.is,isDerivedStore:!0});l.add(n)},i),f=void 0,d=void 0),h&&n&&function(e,t){const n=function(){const e=c.has(Me)?c.size-1:c.size;return m>0&&m<e}(),r=!m||n,o=n||null!==qe()||Oe()&&r;n&&Fe();for(const t of c){if("function"==typeof t||!t.isDerivedWatcher)continue;const n=t.selector(e);if(!t.equalityFn(t.currentSlice,n)){const e=t.currentSlice;t.currentSlice=n,t.listener(n,e)}}o?v||(v=!0,ze(w)||(w=t),ke(a,k)):F(e,t)}(y,t),s&&(b=!1),y}function F(e,t){for(const n of c)if("function"==typeof n)n(e,t);else if(!n.isDerivedWatcher){const t=n.selector(e);if(!n.equalityFn(n.currentSlice,t)){const e=n.currentSlice;n.currentSlice=t,n.listener(t,e)}}}function k(){c.size&&(v&&function(){if(g&&!m&&q(),!ze(y))return;const e=ze(w)?w:y;F(y,e)}(),v=!1,w=Ce)}const A=n?T(C,"number"==typeof n?n:n.delay,"number"==typeof n?{leading:!1,maxWait:n,trailing:!0}:n):void 0,I=A??(()=>{p||(p=!0,queueMicrotask(C))});function C(){c.size&&(p=!1,g&&q())}function M(e){e?queueMicrotask(()=>{c.size||D()}):D()}function z(){C(),S=null}function K(){if(!g){if(g=!0,!A){if(m){Fe();const e=qe(),t=null===e?0:e+1;if(null!==S&&t<=S)return;return S=t,void function(e,t){if(!ge)return;const n=t<0?0:0|t,r=ve.get(e);if(void 0===r){ve.set(e,n);let t=Se.get(n);return t||(t=new Set,Se.set(n,t)),t.add(e),void(n<je&&(je=n))}if(n>r){const t=Se.get(r);if(t&&(t.delete(e),0===t.size&&(Se.delete(r),r===je))){je=1/0;for(const e of Se.keys())e<je&&(je=e)}ve.set(e,n);let o=Se.get(n);o||(o=new Set,Se.set(n,o)),o.add(e),n<je&&(je=n)}}(z,t)}if(Oe())return void(v||(v=!0,ze(y)&&(w=y),ke(a,k)))}S=null,m&&!n?q():I()}}function E(){return g||!ze(y)?c.size>0?q():e(j):y}function D(e=!0){i&&e||(A?.cancel(),O(),c.clear(),m=0,d=void 0,f=void 0,b=!0,p=!1,g=!0,y=Ce,v=!1,w=Ce,S=null)}return{destroy:()=>D(!1),flushUpdates:function(){c.size&&(A?A.flush():g&&q())},getSnapshot:function(){if(!ze(y)){c.add(Me);const e=q();return c.delete(Me),e}return p&&C(),y},getState:E,subscribe:function(...e){if(1===e.length){const t=e[0];return c.add(t),1!==c.size||ze(y)||E(),()=>{c.delete(t),c.size||M(!1)}}const[t,n,r]=e,o=r?.equalityFn??Object.is,i=r?.isDerivedStore??!1,s={currentSlice:void 0,equalityFn:o,isDerivedWatcher:i,listener:n,selector:t};return c.add(s),s.currentSlice=t(E()),i&&(m+=1),r?.fireImmediately&&n(s.currentSlice,s.currentSlice),()=>{c.delete(s),i&&(m-=1),c.size||M(i)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}(e,t),Object.assign(function(e=Ae,t=void 0){return r(n.subscribe,n.getSnapshot,void 0,e,t)},n);var n}var Ce=Symbol(),Te=0;function Me(){}function ze(e){return e!==Ce}var Ke=class{constructor({disableAutoRefetching:e,initialEnabled:t}){this.count=0,this.enabled=!1,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,this.enabled=t,e&&(this.fetchThrottleMs=L.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}get(){return{enabled:this.enabled,lastSubscriptionTime:this.lastSubscriptionTime,subscriptionCount:this.count}}setEnabled(e){this.enabled=e}subscribe(){const e=0===this.count,t=null!==this.fetchThrottleMs&&null!==this.lastSubscriptionTime&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.onSubscribe?.(this.enabled,e,t),this.count+=1,this.lastSubscriptionTime=Date.now(),e=>{const t=1===this.count;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}},Ee={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function De(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!(r in t)||!De(e[r],t[r]))return!1;return!0}function Le(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.is(e[r],t[r]))return!1;return!0}function xe(e,t){const n=Object.prototype.hasOwnProperty;function r(e,t){for(const n of e.keys())if(xe(n,t))return n}let o,i,s;if(e===t)return!0;if(e&&t&&(o=e.constructor)===t.constructor){if(o===Date)return e.getTime()===t.getTime();if(o===RegExp)return e.toString()===t.toString();if(o===Array){if((i=e.length)===t.length)for(;i--&&xe(e[i],t[i]););return-1===i}if(o===Set){if(e.size!==t.size)return!1;for(let n of e){if(s=n,s&&"object"==typeof s&&(s=r(t,s),!s))return!1;if(!t.has(s))return!1}return!0}if(o===Map){if(e.size!==t.size)return!1;for(let n of e){if(s=n[0],s&&"object"==typeof s&&(s=r(t,s),!s))return!1;if(!xe(n[1],t.get(s)))return!1}return!0}if(o===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(o===DataView){if((i=e.byteLength)===t.byteLength)for(;i--&&e.getInt8(i)===t.getInt8(i););return-1===i}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){const n=e,r=t;if((i=n.byteLength)===r.byteLength)for(;i--&&n[i]===r[i];);return-1===i}if(!o||"object"==typeof e){i=0;for(const r in e){if(n.call(e,r)&&++i&&!n.call(t,r))return!1;if(!(r in t)||!xe(e[r],t[r]))return!1}return Object.keys(t).length===i}}return e!=e&&t!=t}var Pe=new WeakMap,Re=new WeakMap;function We(e,t=$e,n=xe){return function(e,t,n){let r=Re.get(e);r||(r=new Map,Re.set(e,r));let o=r.get(t);o||(o=new Map,r.set(t,o));const i=o.get(n);if(i)return i;const[s,a,c]=Ue(e,t,n),u=new Map,l=e=>{const t={get(t,n){if("value"===n){let t=a();const n=e.split(".");for(const e of n)e&&(t=t[e]);return t}const r="string"==typeof n?n:n.toString(),o=e?`${e}.${r}`:r,i=u.get(o);if(i)return i;const c=l(o);return Pe.set(c,s),u.set(o,c),c},set(t,n,r){const o=e.split(".");return""===o[0]&&o.shift(),c(o,r),!0}};return new Proxy(Object.create(null),t)},f=l("");return s(()=>{}),Pe.set(f,s),o.set(n,f),f}(e,t,n)}var $e=e=>e,_e=(e,t,n)=>{if(!t.length)return n;const[r,...o]=t,i=e[r],s=_e(i,o,n);if(xe(i,s))return e;const a=Array.isArray(e)?e.slice():{...e};return a[r]=s,a},Ue=(e,t,n)=>{const r=new Set,o=H(e);let i,s=t(o?e.getSnapshot():e.getState());return[a=>(r.size||(i=e.subscribe(t,e=>{s=e,r.forEach(e=>e())},{equalityFn:n,isDerivedStore:o})),r.add(a),()=>{r.delete(a),!r.size&&i&&(i(),i=void 0)}),()=>(r.size||(s=t(e.getState())),s),(n,r)=>{if(t!==$e)throw new Error("Cannot set a value with a selector");e.setState(e=>_e(e,n,r),!0)}]};function Be(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var[Ve,Ne]=[!0,!1],Qe={error:Ve,lastFetchedAt:Ve,queryCache:Ve,queryKey:Ve,status:Ve,enabled:Ne,fetch:Ne,getCacheEntry:Ne,getData:Ne,getStatus:Ne,isDataExpired:Ne,isStale:Ne,reset:Ne};function He(e,t,n){const r="function"==typeof t?t:nt,o="object"==typeof t?t:n,i=o&&"storageKey"in o?o:void 0,{fetcher:s,onError:a,onFetched:c,setData:u,transform:l,abortInterruptedFetches:p=!0,cacheTime:h=L.days(7),debugMode:g=!1,disableAutoRefetching:b=!1,disableCache:m=!1,enabled:v=!0,keepPreviousData:S=!1,maxRetries:w=5,paramChangeThrottle:j=!1,params:O,retryDelay:q=Je,suppressStaleTimeWarning:F=!1,useParsableQueryKeys:k=!0}=e;let A="function"==typeof e.staleTime?L.minutes(2):e.staleTime??L.minutes(2);const I=k?Ge:Ye,C=new Error("[createQueryStore: AbortError] Fetch interrupted"),M="function"==typeof h,z=Object.keys(e.params??Object.create(null));let K=null,E=null,D=null,x=[],P=!1,R=!1,W=null,$=null,_=null,U=null,B=null;const V={enabled:"function"!=typeof v&&v,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Ee.Idle},N=new Ke({disableAutoRefetching:b,initialEnabled:V.enabled}),Q=()=>{W&&($=null,W.abort(),W=null)},H=(t,n,o)=>{const g=o.setState,v=(e,t)=>{const n="function"==typeof e;if(n||void 0!==e.enabled){let t;const r=g(r=>{const i=n?e(r):e,s=void 0!==i.enabled?i.enabled:r.enabled;return s!==r.enabled&&(t=()=>((e,t)=>{e!==t&&B!==t&&(B=t,N.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(_||p)&&(p&&Q(),_&&(clearTimeout(_),_=null)))})(r.enabled,s)),i});return t?.(),r}return g(e)};o.setState=v,N.init({onSubscribe:(r,o,i)=>{if(E||K||!O&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(r)if(o){const e=tt(K,E),r=I(e),o=n();o.queryKey!==r&&t(e=>({...e,queryKey:r})),o.isStale()?F.fetch(e,void 0,!0):j(e,void 0)}else b&&!i&&F.fetch(void 0,void 0,!0)}else P=!0},onLastUnsubscribe:e=>{_&&(clearTimeout(_),_=null),p&&!e&&Q()}});const j=(e,t)=>{if(b||t?.skipStoreUpdates)return;if(A<=0||A===1/0)return;_&&(clearTimeout(_),_=null);const r=I(e),o=n(),i=(m?U===r&&o.lastFetchedAt:o.queryCache[r]?.lastFetchedAt)||null,s=i?A-(Date.now()-i):A;_=setTimeout(()=>{const t=N.get();t.enabled&&t.subscriptionCount>0&&F.fetch(e,{force:!0},!0)},s)},F={...r(v,n,o),...V,async fetch(e,r,o=!1){const g=N.get();if(!r?.force&&!r?.skipStoreUpdates&&!g.enabled)return null;const b=n(),O=b.error,k=b.queryKey,T=b.status,D=et(K,E,z,e),L=I(D),x=r?.staleTime??A,P=T===Ee.Loading,R=!!r?.skipStoreUpdates,B="boolean"==typeof r?.updateQueryKey?r.updateQueryKey:o?S:!R,V=o||!R&&(B||k===L);if($?.promise&&$.key===L&&P)return $.promise;if(p&&!R&&!1!==r?.updateQueryKey&&Q(),!r?.force){const e=b.lastFetchedAt,n=b.queryCache[L],o=n?.lastFetchedAt,i=n?.errorInfo,s=i&&i.retryCount>=w,a=(m?U===L&&e:o)||null;if(a&&!(Date.now()-a>=x)&&(!i||s||R))return V&&!R&&!_&&g.subscriptionCount>0&&0!==A&&A!==1/0&&j(D,r),B&&t(e=>e.queryKey!==L?{...e,queryKey:L}:e),n?.data??null}!R&&V&&(_&&(clearTimeout(_),_=null),!O&&P||t(e=>({...e,error:null,status:Ee.Loading})),$={key:L});const H=r?.cacheTime??(M?h(D):h),J=async()=>{try{const e=await(p&&!R&&V?(async e=>{const t=new AbortController;W=t;try{return await new Promise((n,r)=>{t.signal.addEventListener("abort",()=>r(C),{once:!0}),Promise.resolve(s(e,t)).then(n,r)})}finally{W===t&&(W=null)}})(D):s(D,null)),n=Date.now();let o;try{o=l?l(e,D):e}catch(e){throw new f(`[createQueryStore: ${i?.storageKey||L}]: transform failed`,e)}if(R)return"withCache"===r.skipStoreUpdates&&t(e=>{if(!u)return m?{...e,queryCache:{...e.queryCache,[L]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:n}}}:e;let t=e;const r=t.queryCache[L];return u({data:o,params:D,queryKey:L,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!m&&Object.is(r,t.queryCache[L])&&(t={...t,queryCache:{...t.queryCache,[L]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:n}}}),t}),o;if((u?v:t)(e=>{let t={...e,error:null,lastFetchedAt:n,queryKey:B?L:e.queryKey,status:Ee.Success};if(u||m){if(u){const e=t.queryCache[L];u({data:o,params:D,queryKey:L,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!m&&Object.is(e,t.queryCache[L])&&(t.queryCache={...t.queryCache,[L]:{cacheTime:H,data:null,errorInfo:null,lastFetchedAt:n}})}}else t.queryCache={...t.queryCache,[L]:{cacheTime:H,data:o,errorInfo:null,lastFetchedAt:n}};return m||h===1/0?t:rt(S,L,t)}),V&&(U=L,j(D,r)),c)try{c({data:o,fetch:F.fetch,params:D,set:v})}catch(e){d.error(new f(`[createQueryStore: ${i?.storageKey||L}]: onFetched callback failed`,e))}return o??null}catch(s){if(s===C)return null;const c=!o&&!0===r?.throwOnError,u=y(s);if(R||!V){if(d.error(new f(`[createQueryStore: ${i?.storageKey||L}]: Failed to fetch data`,u)),c)throw u;return null}const l=m?void 0:n().queryCache[L],p=l?.errorInfo?.retryCount??0,h=p+1;if(a?.(u,p),p<w){if(N.get().subscriptionCount>0){const t="function"==typeof q?q(h,u):q;t!==1/0&&(_&&clearTimeout(_),_=setTimeout(()=>{const{enabled:t,subscriptionCount:n}=N.get();t&&n>0&&F.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:u,queryCache:{...e.queryCache,[L]:{cacheTime:l?.cacheTime??H,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:h}}},queryKey:B?L:e.queryKey,status:Ee.Error}))}else t(e=>({...e,error:u,queryCache:{...e.queryCache,[L]:{cacheTime:l?.cacheTime??H,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:u,lastFailedAt:Date.now(),retryCount:w}}},queryKey:B?L:e.queryKey,status:Ee.Error}));if(d.error(new f(`[createQueryStore: ${i?.storageKey||L}]: Failed to fetch data`,u)),c)throw u;return null}finally{!R&&V&&($=null)}};return R||!V?J():($={key:L,promise:J()}).promise},getCacheEntry(e){if(m)return null;const t=n(),r=e?"string"==typeof e?e:I(et(K,E,z,e)):t.queryKey;return t.queryCache[r]??null},getData(e){if(m)return null;const t=n().getCacheEntry(e);return t&&null!==t.data?S?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return n().status===Ee.Idle;case"isLoading":return n().status===Ee.Loading;case"isSuccess":{const e=n(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Ee.Success}case"isError":case"isInitialLoad":case void 0:{const t=n(),r=t.queryCache[t.queryKey],o=(m?U===t.queryKey&&t.lastFetchedAt:r?.lastFetchedAt)||null,i=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return m?"error"!==i:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&i===Ee.Loading}return{isError:i===Ee.Error,isIdle:i===Ee.Idle,isLoading:i===Ee.Loading,isInitialLoad:!o&&i===Ee.Loading,isSuccess:i===Ee.Success}}}},isDataExpired(e){const t=n(),r=t.queryCache[t.queryKey],o=t.queryKey,i=t.lastFetchedAt,s=(m?U===o&&i:r?.lastFetchedAt)||null;if(!s)return!0;const a=e??r?.cacheTime;return void 0===a||Date.now()-s>=a},isStale(e){const t=n(),r=t.queryKey,o=(m?U===r&&t.lastFetchedAt:t.queryCache[r]?.lastFetchedAt)||null;if(!o)return!0;const i=e??A;return Date.now()-o>=i},reset(e=!1){for(const e of x)e();x=[],K=null,E=null,D=null,Q(),_&&(clearTimeout(_),_=null),$=null,U=null,e&&t(e=>({...e,...V}))}},k=o.subscribe;return o.subscribe=(...e)=>{const t=R?()=>{}:N.subscribe(),n=1===e.length?k(e[0]):k(...e);return e=>{t(e),n()}},F},J=i?.storageKey?se(H,Object.assign(Object.create(null),i,{partialize:st(S,i.partialize)})):o&&!("storageKey"in o)?se(H,o):se(H),Y=J.getState(),G=Y.error,X=Y.enabled,Z=Y.queryKey;if(Z&&!G&&(U=Z),R=!0,O||"function"==typeof e.enabled){const{directValues:e,enabledAttachVal:t,enabledDirectValue:n,attachVals:r}=function(e,t,n){const r=Object.create(null),o=Object.create(null),i=Object.create(null);for(const e in t){if(!Be(t,e))continue;const s=t[e];if(ot(s)){const t=s(We,n);r[e]=t,i[e]=t.value}else it(s)&&(o[e]=s,i[e]=s)}let s,a=null,c=null;if(ot(e)){const t=e(We,n);s=t.value,a=t}else s=e,c=e;return{attachVals:r,directValues:o,enabledAttachVal:a,enabledDirectValue:c,resolvedEnabled:s,resolvedParams:i}}(v,O,J);K={enabled:t,params:r},E={enabled:n,params:e}}"function"==typeof e.staleTime&&(D=e.staleTime(We,J),A=D.value);const ee=function(){let e,t=!1;return function(...n){e=n,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{Y.fetch(e??tt(K,E),{updateQueryKey:S})})(...e)}))}}();function te(){let e;if(!S){e=tt(K,E);const t=I(e);J.setState(e=>({...e,queryKey:t}))}ee(e)}const ne=j?T(te,"number"==typeof j?j:j.delay,"number"==typeof j?{leading:!1,maxWait:j,trailing:!0}:j):te;if(K?.enabled){const e=K.enabled,t=Pe.get(e);if(t){let n=e.value;X!==n&&J.setState(e=>({...e,enabled:n})),n&&N.setEnabled(n);const r=t(()=>{const t=e.value;t!==n&&(n=t,J.setState(e=>({...e,enabled:t})))});x.push(r)}}else X!==V.enabled&&J.setState(e=>({...e,enabled:V.enabled}));for(const e in K?.params){const t=K.params[e];if(!t)continue;const n=Pe.get(t);if(n){let e=t.value;const r=n(()=>{const n=t.value;xe(e,n)||(e=n,ne())});x.push(r)}}if(D){const e=Pe.get(D);if(e){const t=D;let n=t.value;const r=e(()=>{const e=t.value;e!==n&&(n=e,A=e,J.getState().fetch())});x.push(r)}}return R=!1,P&&queueMicrotask(ne),re=J,oe="_queryStore",Object.assign(re,{[oe]:!0});var re,oe}function Je(e,t){const n=t?.baseDelay??L.seconds(5),r=t?.maxDelay??L.minutes(5),o=Math.pow(2,e);return Math.min(n*o,r)}function Ye(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Ge(e){return JSON.stringify(Ze(e))}function Xe(e){return JSON.parse(e)}function Ze(e){return"object"!=typeof e||null===e?e:Object.keys(e).sort().reduce((t,n)=>{const r=e[n];return t[n]=null!==r&&"object"==typeof r?Ze(r):r,t},{})}function et(e,t,n,r){return r?function(e,t){if(!e)return!1;for(const n of t)if(!(n in e))return!1;return!0}(r,n)?r:{...tt(e,t),...r}:tt(e,t)}function tt(e,t){const n=t?.params??Object.create(null);for(const t in e?.params){const r=e.params[t];r&&(n[t]=r.value)}return n}function nt(){return Object.create(null)}function rt(e,t,n){if(!n.queryCache)return n;const r=Date.now(),o=t??(e&&n.queryKey||null);let i=!1;const s=Object.create(null);for(const e in n.queryCache){if(!Be(n.queryCache,e))continue;const a=n.queryCache[e];a&&(r-(a.lastFetchedAt??a.errorInfo.lastFailedAt)<a.cacheTime||e===o)?!t&&a.errorInfo&&a.errorInfo.retryCount>0?(s[e]={...a,errorInfo:{...a.errorInfo,retryCount:0}},i=!0):s[e]=a:i=!0}return i?{...n,queryCache:s}:n}function ot(e){return"function"==typeof e}function it(e){return!ot(e)}function st(e,t){return n=>{const r={...n},o={};for(const e in r)Be(r,e)&&e in Qe&&(Qe[e]&&(o[e]=r[e]),delete r[e]);return{...t?t(r):D(r),...rt(e,null,o)}}}function at(e,t,n){const r="function"==typeof t,o=r?t:void 0,i=r?n:t,s=new Set,a=Ie(e,{debugMode:i?.debugMode??!1,equalityFn:function(e,t){const n=Object.is(e,t);return n||(function(e,t){for(const n of s){n.unsubscribe();const r=n.args;if(1===r.length){const o=r[0],i=e.getState(),s=t.getState(),a=t.subscribe(o);n.unsubscribe=a,Object.is(s,i)||o(s,i);continue}const o=r[0],i=r[1];let s=r[2];s?.fireImmediately&&(s={...s,fireImmediately:!1});const a=s?.equalityFn??Object.is,c=o(e.getState()),u=o(t.getState()),l=t.subscribe(...r);n.unsubscribe=l,a(c,u)||i(u,c)}}(e,t),V(e)),n},keepAlive:!0,lockDependencies:i?.lockDependencies??!0}),c=a.getState().persist,u=(l=a.getState,function(e,t){return t?l().setState(e,t):l().setState(e)});var l;return Object.assign(function(e,t){const n=a();return e?n(e,t):n()},{_virtualStore:!0,destroy:()=>a.destroy(),getInitialState:()=>a.getState().getInitialState(),getState:()=>a.getState().getState(),persist:c,setState:u,subscribe:function(...e){const t={args:e,unsubscribe:1===e.length?a.getState().subscribe(e[0]):a.getState().subscribe(...e)};return s.add(t),()=>{t.unsubscribe(),s.delete(t)}}},o?o(a.getState):void 0)}L.seconds(5);var ct=Symbol(),ut=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1});function lt(e,t,n,r=ut){const s=function(){const e=i(ct);return e.current===ct&&(e.current=function(e,t,n){return{selector:e,react:t,isActive:!1,options:yt(n),resubscribe:()=>{},unsubscribe:()=>{}}}(t,n,r)),e}(),a=function(e){return"function"==typeof e?ut.enabled:e?.enabled??ut.enabled}(r);return s.current.react=n,s.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??ut)}(s,r),o(()=>{if(a)return dt(e,s),()=>function(e){e.current.options.debugMode,e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(s)},[a,e]),s}var ft=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function dt(e,t,n=ft){if(t.current.isActive){if(!n?.forceResubscribe)return;t.current.unsubscribe()}t.current.options.debugMode,t.current.isActive=!0,t.current.resubscribe=(n=ft)=>dt(e,t,n);const r=e.subscribe(e=>t.current.selector(e),(e,n)=>t.current.react(e,n,()=>{r(),t.current.isActive=!1}),n.fireImmediately?{...t.current.options,fireImmediately:!0}:t.current.options);t.current.unsubscribe=()=>{t.current.isActive&&(r(),t.current.isActive=!1)}}function yt(e){return"function"==typeof e?{equalityFn:e}:e??ut}var pt=Symbol();function ht(e){const t=i(pt);return t.current===pt&&(t.current=e()),t.current}function gt(e,t){const n=function(e){const t=e.getState(),n=Object.create(null);if(X(e)){for(const r in t)mt(t,r)&&(n[r]=bt(e,r));return n}for(const e in t)mt(t,e)&&(n[e]=t[e]);return n}(e);return t?Object.assign(n,t):n}function bt(e,t){return function(...n){const r=e.getState()[t];if("function"==typeof r)return r(...n);throw new Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function mt(e,t){return"function"==typeof e[t]}export{Ee as QueryStatuses,B as applyStateUpdate,q as configureStores,se as createBaseStore,Ie as createDerivedStore,He as createQueryStore,gt as createStoreActions,at as createVirtualStore,De as deepEqual,Je as defaultRetryDelay,V as destroyStore,N as destroyStores,Ye as getLegacyQueryKey,Ge as getQueryKey,Q as getStoreName,Y as isDerivedStore,G as isPersistedStore,J as isQueryStore,X as isVirtualStore,Xe as parseQueryKey,K as replacer,E as reviver,Le as shallowEqual,L as time,lt as useListen,ht as useStableValue};