import{Or as e,Tr as t}from"./jsx-runtime-NwRKtVrk.js";var n=e(t(),1),r=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},i=(e=>e?r(e):r),a=e=>e;function o(e,t=a){let r=n.useSyncExternalStore(e.subscribe,n.useCallback(()=>t(e.getState()),[e,t]),n.useCallback(()=>t(e.getInitialState()),[e,t]));return n.useDebugValue(r),r}var s=e=>{let t=i(e),n=e=>o(t,e);return Object.assign(n,t),n},c=(e=>e?s(e):s),l=e=>!!e.dispatchFromDevtools&&typeof e.dispatch==`function`,u=new Map,d=e=>{let t=u.get(e);return t?Object.fromEntries(Object.entries(t.stores).map(([e,t])=>[e,t.getState()])):{}},f=(e,t,n)=>{if(e===void 0)return{type:`untracked`,connection:t.connect(n)};let r=u.get(n.name);if(r)return{type:`tracked`,store:e,...r};let i={connection:t.connect(n),stores:{}};return u.set(n.name,i),{type:`tracked`,store:e,...i}},p=(e,t)=>{if(t===void 0)return;let n=u.get(e);n&&(delete n.stores[t],Object.keys(n.stores).length===0&&u.delete(e))},m=/.+ (.+) .+/,h=/^([^@]+)@/;function g(e){if(!e)return;let t=e.split(`
`),n=t.findIndex(e=>e.includes(`api.setState`));if(n<0)return;let r=t[n+1]?.trim()||``;return m.exec(r)?.[1]||h.exec(r)?.[1]}var _=(e,t={})=>(n,r,i)=>{let{enabled:a,anonymousActionType:o,store:s,...c}=t,u;try{u=(a??!1)&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!u)return e(n,r,i);let{connection:m,...h}=f(s,u,c),_=!0;i.setState=((e,t,a)=>{let l=n(e,t);if(!_)return l;let u=a===void 0?{type:o||g(Error().stack)||`anonymous`}:typeof a==`string`?{type:a}:a;return s===void 0?(m?.send(u,r()),l):(m?.send({...u,type:`${s}/${u.type}`},{...d(c.name),[s]:i.getState()}),l)}),i.devtools={cleanup:()=>{m&&typeof m.unsubscribe==`function`&&m.unsubscribe(),p(c.name,s)}};let y=(...e)=>{let t=_;_=!1,n(...e),_=t},b=e(i.setState,r,i);if(h.type===`untracked`?m?.init(b):(h.stores[h.store]=i,m?.init(Object.fromEntries(Object.entries(h.stores).map(([e,t])=>[e,e===h.store?b:t.getState()])))),l(i)){let e=i.dispatch;i.dispatch=(...t)=>{e(...t)}}return m.subscribe(e=>{switch(e.type){case`ACTION`:if(typeof e.payload!=`string`){console.error(`[zustand devtools middleware] Unsupported action format`);return}return v(e.payload,e=>{if(e.type===`__setState`){if(s===void 0){y(e.state);return}Object.keys(e.state).length!==1&&console.error(`
                    [zustand devtools middleware] Unsupported __setState action format.
                    When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
                    and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
                    `);let t=e.state[s];if(t==null)return;JSON.stringify(i.getState())!==JSON.stringify(t)&&y(t);return}l(i)&&i.dispatch(e)});case`DISPATCH`:switch(e.payload.type){case`RESET`:return y(b),s===void 0?m?.init(i.getState()):m?.init(d(c.name));case`COMMIT`:if(s===void 0){m?.init(i.getState());return}return m?.init(d(c.name));case`ROLLBACK`:return v(e.state,e=>{if(s===void 0){y(e),m?.init(i.getState());return}y(e[s]),m?.init(d(c.name))});case`JUMP_TO_STATE`:case`JUMP_TO_ACTION`:return v(e.state,e=>{if(s===void 0){y(e);return}JSON.stringify(i.getState())!==JSON.stringify(e[s])&&y(e[s])});case`IMPORT_STATE`:{let{nextLiftedState:t}=e.payload,n=t.computedStates.slice(-1)[0]?.state;if(!n)return;y(s===void 0?n:n[s]),m?.send(null,t);return}case`PAUSE_RECORDING`:return _=!_}return}}),b},v=(e,t)=>{let n;try{n=JSON.parse(e)}catch(e){console.error(`[zustand devtools middleware] Could not parse the received json`,e)}n!==void 0&&t(n)};function y(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}var b=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return b(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return b(t)(e)}}}},x=(e,t)=>(n,r,i)=>{let a={storage:y(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return b(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p};export{c as i,_ as n,x as r,y as t};