(window.webpackJsonp_N_E=window.webpackJsonp_N_E||[]).push([[10],{T1Xd:function(e,t,n){"use strict";n.d(t,"a",(function(){return Nr})),n.d(t,"b",(function(){return Lr})),n.d(t,"c",(function(){return Dr})),n.d(t,"d",(function(){return Ir})),n.d(t,"e",(function(){return Br})),n.d(t,"f",(function(){return Ur})),n.d(t,"g",(function(){return Cr}));var o=n("i8i4"),r=n.n(o),a=n("q1tI"),s=n.n(a);const i=new Map;function l(e){var t;return null!==(t=i.get(e))&&void 0!==t&&t}l.setPass=e=>{i.set(e,!0)},l.setFail=e=>{i.set(e,!1)};var u=l;var c=function(e,t){const n=new Map;return e.forEach(((e,o)=>{n.set(o,t(e,o))})),n};var d=function(e,t){if(null!=e)return e;throw new Error(null!==t&&void 0!==t?t:"Got unexpected null or undefined")};var f=function(e,t,{error:n}={}){return null};var p={trace:function(e,t,n){return n()},wrap:function(e){return e}};var h={setByAddingToSet:function(e,t){const n=new Set(e);return n.add(t),n},setByDeletingFromSet:function(e,t){const n=new Set(e);return n.delete(t),n},mapBySettingInMap:function(e,t,n){const o=new Map(e);return o.set(t,n),o},mapByUpdatingInMap:function(e,t,n){const o=new Map(e);return o.set(t,n(o.get(t))),o},mapByDeletingFromMap:function(e,t){const n=new Map(e);return n.delete(t),n},mapByDeletingMultipleFromMap:function(e,t){const n=new Map(e);return t.forEach((e=>n.delete(e))),n}};var v=function(e,...t){0};function g(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class y{constructor(e){g(this,"key",void 0),this.key=e}}class S extends y{}class m extends y{}var w={AbstractRecoilValue:y,RecoilState:S,RecoilValueReadOnly:m,isRecoilValue:function(e){return e instanceof S||e instanceof m}},b=w.AbstractRecoilValue,T=w.RecoilState,A=w.RecoilValueReadOnly,_=w.isRecoilValue,R=Object.freeze({__proto__:null,AbstractRecoilValue:b,RecoilState:T,RecoilValueReadOnly:A,isRecoilValue:_});class E{}const V=new E;class M extends Error{constructor(e){super(`Tried to set the value of Recoil selector ${e} using an updater function, but it is an async selector in a pending or error state; this is not supported.`)}}const k=new Map,N=new Map;class L extends Error{}var D={nodes:k,recoilValues:N,registerNode:function(e){if(k.has(e.key)){const t=`Duplicate atom key "${e.key}". This is a FATAL ERROR in\n      production. But it is safe to ignore this warning if it occurred because of\n      hot module replacement.`;console.warn(t)}k.set(e.key,e);const t=null==e.set?new R.RecoilValueReadOnly(e.key):new R.RecoilState(e.key);return N.set(e.key,t),t},getNode:function(e){const t=k.get(e);if(null==t)throw new L(`Missing definition for RecoilValue: "${e}""`);return t},getNodeMaybe:function(e){return k.get(e)},NodeMissingError:L,DefaultValue:E,DEFAULT_VALUE:V,RecoilValueNotReady:M};const{mapByDeletingFromMap:U,mapBySettingInMap:B,setByAddingToSet:C}=h,{getNode:I,getNodeMaybe:F}=D,x=Object.freeze(new Set);class O extends Error{}var P={getNodeLoadable:function(e,t,n){return I(n).get(e,t)},peekNodeLoadable:function(e,t,n){return I(n).peek(e,t)},setNodeValue:function(e,t,n,o){const r=I(n);if(null==r.set)throw new O(`Attempt to set read-only RecoilValue: ${n}`);return r.set(e,t,o)},cleanUpNode:function(e,t){I(t).cleanUp(e)},setUnvalidatedAtomValue_DEPRECATED:function(e,t,n){var o;const r=F(t);return null===r||void 0===r||null===(o=r.invalidate)||void 0===o||o.call(r,e),{...e,atomValues:U(e.atomValues,t),nonvalidatedAtoms:B(e.nonvalidatedAtoms,t,n),dirtyAtoms:C(e.dirtyAtoms,t)}},getDownstreamNodes:function(e,t,n){const o=new Set,r=Array.from(n),a=e.getGraph(t.version);for(let i=r.pop();i;i=r.pop()){var s;o.add(i);const e=null!==(s=a.nodeToNodeSubscriptions.get(i))&&void 0!==s?s:x;for(const t of e)o.has(t)||r.push(t)}return o}};var $=function(e,...t){const n=new Set;e:for(const o of e){for(const e of t)if(e.has(o))continue e;n.add(o)}return n};function W(e,t,n){const{nodeDeps:o,nodeToNodeSubscriptions:r}=t;e.forEach(((e,t)=>{const a=o.get(t);if(a&&n&&a!==n.nodeDeps.get(t))return;o.set(t,new Set(e));if((null==a?e:$(e,a)).forEach((e=>{r.has(e)||r.set(e,new Set);d(r.get(e)).add(t)})),a){$(a,e).forEach((e=>{if(!r.has(e))return;const n=d(r.get(e));n.delete(t),0===n.size&&r.delete(e)}))}}))}var G={addToDependencyMap:function(e,t,n){n.has(e)||n.set(e,new Set),d(n.get(e)).add(t)},cloneGraph:function(e){return{nodeDeps:c(e.nodeDeps,(e=>new Set(e))),nodeToNodeSubscriptions:c(e.nodeToNodeSubscriptions,(e=>new Set(e)))}},graph:function(){return{nodeDeps:new Map,nodeToNodeSubscriptions:new Map}},mergeDepsIntoDependencyMap:function(e,t){e.forEach(((e,n)=>{t.has(n)||t.set(n,new Set);const o=d(t.get(n));e.forEach((e=>o.add(e)))}))},saveDependencyMapToStore:function(e,t,n){var o,r,a,s;const i=t.getState();n!==i.currentTree.version&&n!==(null===(o=i.nextTree)||void 0===o?void 0:o.version)&&n!==(null===(r=i.previousTree)||void 0===r?void 0:r.version)&&f("Tried to save dependencies to a discarded tree");const l=t.getGraph(n);if(W(e,l),n===(null===(a=i.previousTree)||void 0===a?void 0:a.version)){W(e,t.getGraph(i.currentTree.version),l)}if(n===(null===(s=i.previousTree)||void 0===s?void 0:s.version)||n===i.currentTree.version){var u;const n=null===(u=i.nextTree)||void 0===u?void 0:u.version;if(void 0!==n){W(e,t.getGraph(n),l)}}}};const{getDownstreamNodes:z,getNodeLoadable:j,setNodeValue:q}=P,{saveDependencyMapToStore:K}=G,{getNodeMaybe:J}=D,{DefaultValue:H,RecoilValueNotReady:X}=D,{AbstractRecoilValue:Q,RecoilState:Y,RecoilValueReadOnly:Z,isRecoilValue:ee}=R;function te(e,t,n){if("set"===n.type){const{recoilValue:o,valueOrUpdater:r}=n,a=function(e,t,{key:n},o){if("function"===typeof o){const r=j(e,t,n)[1];if("loading"===r.state)throw new X(n);if("hasError"===r.state)throw r.contents;return o(r.contents)}return o}(e,t,o,r),[s,i]=q(e,t,o.key,a);K(s,e,t.version);for(const[e,n]of i.entries())ne(t,e,n)}else if("setLoadable"===n.type){const{recoilValue:{key:e},loadable:o}=n;ne(t,e,o)}else if("markModified"===n.type){const{recoilValue:{key:e}}=n;t.dirtyAtoms.add(e)}else if("setUnvalidated"===n.type){var o;const{recoilValue:{key:e},unvalidatedValue:r}=n,a=J(e);null===a||void 0===a||null===(o=a.invalidate)||void 0===o||o.call(a,t),t.atomValues.delete(e),t.nonvalidatedAtoms.set(e,r),t.dirtyAtoms.add(e)}else f(`Unknown action ${n.type}`)}function ne(e,t,n){"hasValue"===n.state&&n.contents instanceof H?e.atomValues.delete(t):e.atomValues.set(t,n),e.dirtyAtoms.add(t),e.nonvalidatedAtoms.delete(t)}function oe(e,t){e.replaceState((n=>{const o=function(e){return{...e,atomValues:new Map(e.atomValues),nonvalidatedAtoms:new Map(e.nonvalidatedAtoms),dirtyAtoms:new Set(e.dirtyAtoms)}}(n);for(const r of t)te(e,o,r);return se(e,o),o}))}function re(e,t,n,o){if(ae.length){const n=ae[ae.length-1];let o=n.get(e);o||n.set(e,o=[]),o.push(t)}else p.trace(o,n,(()=>oe(e,[t])))}const ae=[];function se(e,t){const n=z(e,t,t.dirtyAtoms);for(const a of n){var o,r;null===(o=J(a))||void 0===o||null===(r=o.invalidate)||void 0===r||r.call(o,t)}}function ie(e,t,n){re(e,{type:"set",recoilValue:t,valueOrUpdater:n},t.key,"set Recoil value")}let le=0;var ue={RecoilValueReadOnly:Z,AbstractRecoilValue:Q,RecoilState:Y,getRecoilValueAsLoadable:function(e,{key:t},n=e.getState().currentTree){var o,r;const a=e.getState();n.version!==a.currentTree.version&&n.version!==(null===(o=a.nextTree)||void 0===o?void 0:o.version)&&n.version!==(null===(r=a.previousTree)||void 0===r?void 0:r.version)&&f("Tried to read from a discarded tree");const[s,i]=j(e,n,t);return u("recoil_async_selector_refactor")||K(s,e,n.version),i},setRecoilValue:ie,setRecoilValueLoadable:function(e,t,n){if(n instanceof H)return ie(e,t,n);re(e,{type:"setLoadable",recoilValue:t,loadable:n},t.key,"set Recoil value")},markRecoilValueModified:function(e,t){re(e,{type:"markModified",recoilValue:t},t.key,"mark RecoilValue modified")},setUnvalidatedRecoilValue:function(e,t,n){re(e,{type:"setUnvalidated",recoilValue:t,unvalidatedValue:n},t.key,"set Recoil value")},subscribeToRecoilValue:function(e,{key:t},n,o=null){const r=le++,a=e.getState();return a.nodeToComponentSubscriptions.has(t)||a.nodeToComponentSubscriptions.set(t,new Map),d(a.nodeToComponentSubscriptions.get(t)).set(r,[null!==o&&void 0!==o?o:"<not captured>",n]),{release:()=>{const n=e.getState(),o=n.nodeToComponentSubscriptions.get(t);void 0!==o&&o.has(r)?(o.delete(r),0===o.size&&n.nodeToComponentSubscriptions.delete(t)):f(`Subscription missing at release time for atom ${t}. This is a bug in Recoil.`)}}},isRecoilValue:ee,applyAtomValueWrites:function(e,t){const n=c(e,(e=>e));return t.forEach(((e,t)=>{"hasValue"===e.state&&e.contents instanceof H?n.delete(t):n.set(t,e)})),n},batchStart:function(){const e=new Map;return ae.push(e),()=>{for(const[t,n]of e)p.trace("Recoil batched updates","-",(()=>oe(t,n)));ae.pop()!==e&&f("Incorrect order of batch popping")}},invalidateDownstreams_FOR_TESTING:se};const{unstable_batchedUpdates:ce}=r.a;var de={unstable_batchedUpdates:ce};const{batchStart:fe}=ue,{unstable_batchedUpdates:pe}=de;let he=pe;var ve={getBatcher:()=>he,setBatcher:e=>{he=e},batchUpdates:e=>{he((()=>{let t=()=>{};try{t=fe(),e()}finally{t()}}))}};var ge={enqueueExecution:function(e,t){t()}};var ye=function*(e){for(const t of e)for(const e of t)yield e};var Se=function*(e,t){let n=0;for(const o of e)t(o,n++)&&(yield o)};var me=function(e,t){return function*(){let n=0;for(const o of e)yield t(o,n++)}()};const{graph:we}=G;let be=0;const Te=()=>be++;function Ae(){const e=Te();return{version:e,stateID:e,transactionMetadata:{},dirtyAtoms:new Set,atomValues:new Map,nonvalidatedAtoms:new Map}}var _e={makeEmptyTreeState:Ae,makeEmptyStoreState:function(){const e=Ae();return{currentTree:e,nextTree:null,previousTree:null,knownAtoms:new Set,knownSelectors:new Set,transactionSubscriptions:new Map,nodeTransactionSubscriptions:new Map,nodeToComponentSubscriptions:new Map,queuedComponentCallbacks_DEPRECATED:[],suspendedComponentResolvers:new Set,graphsByVersion:(new Map).set(e.version,we()),versionsUsedByComponent:new Map}},getNextTreeStateVersion:Te};const{batchUpdates:Re}=ve,{getDownstreamNodes:Ee,peekNodeLoadable:Ve}=P,{graph:Me}=G,{DEFAULT_VALUE:ke,recoilValues:Ne}=D,{getRecoilValueAsLoadable:Le,setRecoilValue:De}=ue,{getNextTreeStateVersion:Ue,makeEmptyStoreState:Be}=_e;function Ce(e){return me(e,(e=>d(Ne.get(e))))}class Ie{constructor(e){g(this,"_store",void 0),g(this,"getLoadable",(e=>Le(this._store,e))),g(this,"getPromise",(e=>this.getLoadable(e).toPromise())),g(this,"getNodes_UNSTABLE",(e=>{if(!0===(null===e||void 0===e?void 0:e.isModified)){if(!1===(null===e||void 0===e?void 0:e.isInitialized))return[];return Ce(this._store.getState().currentTree.dirtyAtoms)}const t=this._store.getState().knownAtoms,n=this._store.getState().knownSelectors;return null==(null===e||void 0===e?void 0:e.isInitialized)?Ne.values():!0===e.isInitialized?Ce(ye([this._store.getState().knownAtoms,this._store.getState().knownSelectors])):Se(Ne.values(),(({key:e})=>!t.has(e)&&!n.has(e)))})),g(this,"getDeps_UNSTABLE",(e=>{this.getLoadable(e);const t=this._store.getGraph(this._store.getState().currentTree.version).nodeDeps.get(e.key);return Ce(null!==t&&void 0!==t?t:[])})),g(this,"getSubscribers_UNSTABLE",(({key:e})=>{const t=this._store.getState().currentTree;return{nodes:Ce(Se(Ee(this._store,t,new Set([e])),(t=>t!==e)))}})),g(this,"getInfo_UNSTABLE",(e=>{var t;const{key:n}=e,o=this._store.getState().currentTree,r=this._store.getGraph(o.version),a=this._store.getState().knownAtoms.has(n)?"atom":this._store.getState().knownSelectors.has(n)?"selector":void 0;return{loadable:Ve(this._store,o,n),isActive:this._store.getState().knownAtoms.has(n)||this._store.getState().knownSelectors.has(n),isSet:"selector"!==a&&o.atomValues.has(n),isModified:o.dirtyAtoms.has(n),type:a,deps:Ce(null!==(t=r.nodeDeps.get(n))&&void 0!==t?t:[]),subscribers:this.getSubscribers_UNSTABLE(e)}})),g(this,"map",(e=>{const t=new Oe(this);return e(t),xe(t.getStore_INTERNAL())})),g(this,"asyncMap",(async e=>{const t=new Oe(this);return await e(t),xe(t.getStore_INTERNAL())})),this._store={getState:()=>e,replaceState:t=>{e.currentTree=t(e.currentTree)},getGraph:t=>{const n=e.graphsByVersion;if(n.has(t))return d(n.get(t));const o=Me();return n.set(t,o),o},subscribeToTransactions:()=>({release:()=>{}}),addTransactionMetadata:()=>{throw new Error("Cannot subscribe to Snapshots")}}}getStore_INTERNAL(){return this._store}getID(){return this.getID_INTERNAL()}getID_INTERNAL(){return this._store.getState().currentTree.stateID}}function Fe(e,t,n=!1){const o=e.getState(),r=n?Ue():t.version;return{currentTree:n?{version:r,stateID:r,transactionMetadata:{...t.transactionMetadata},dirtyAtoms:new Set(t.dirtyAtoms),atomValues:new Map(t.atomValues),nonvalidatedAtoms:new Map(t.nonvalidatedAtoms)}:t,nextTree:null,previousTree:null,knownAtoms:new Set(o.knownAtoms),knownSelectors:new Set(o.knownSelectors),transactionSubscriptions:new Map,nodeTransactionSubscriptions:new Map,nodeToComponentSubscriptions:new Map,queuedComponentCallbacks_DEPRECATED:[],suspendedComponentResolvers:new Set,graphsByVersion:(new Map).set(r,e.getGraph(t.version)),versionsUsedByComponent:new Map}}function xe(e,t="current"){const n=e.getState(),o="current"===t?n.currentTree:d(n.previousTree);return new Ie(Fe(e,o))}class Oe extends Ie{constructor(e){super(Fe(e.getStore_INTERNAL(),e.getStore_INTERNAL().getState().currentTree,!0)),g(this,"set",((e,t)=>{const n=this.getStore_INTERNAL();Re((()=>{De(n,e,t)}))})),g(this,"reset",(e=>Re((()=>De(this.getStore_INTERNAL(),e,ke)))))}}var Pe={Snapshot:Ie,MutableSnapshot:Oe,freshSnapshot:function(e){const t=new Ie(Be());return null!=e?t.map(e):t},cloneSnapshot:xe},$e=Pe.Snapshot,We=Pe.MutableSnapshot,Ge=Pe.freshSnapshot,ze=Pe.cloneSnapshot,je=Object.freeze({__proto__:null,Snapshot:$e,MutableSnapshot:We,freshSnapshot:Ge,cloneSnapshot:ze});var qe=function(...e){const t=new Set;for(const n of e)for(const e of n)t.add(e);return t};const{useContext:Ke,useEffect:Je,useMemo:He,useRef:Xe,useState:Qe}=s.a,{cleanUpNode:Ye,getDownstreamNodes:Ze,setNodeValue:et,setUnvalidatedAtomValue_DEPRECATED:tt}=P,{graph:nt,saveDependencyMapToStore:ot}=G,{cloneGraph:rt}=G,{applyAtomValueWrites:at}=ue,{freshSnapshot:st}=je,{getNextTreeStateVersion:it,makeEmptyStoreState:lt}=_e,{mapByDeletingMultipleFromMap:ut}=h;function ct(){throw new Error("This component must be used inside a <RecoilRoot> component.")}const dt=Object.freeze({getState:ct,replaceState:ct,getGraph:ct,subscribeToTransactions:ct,addTransactionMetadata:ct});let ft=!1;function pt(e){if(ft)throw new Error("An atom update was triggered within the execution of a state updater function. State updater functions provided to Recoil must be pure functions.");if(null===e.nextTree){const t=e.currentTree.version,n=it();e.nextTree={...e.currentTree,version:n,stateID:n,dirtyAtoms:new Set,transactionMetadata:{}},e.graphsByVersion.set(n,rt(d(e.graphsByVersion.get(t))))}}const ht=s.a.createContext({current:dt}),vt=()=>Ke(ht),gt=s.a.createContext(null);function yt(e){const t=e.getState(),n=t.currentTree,o=n.dirtyAtoms;if(o.size){for(const[n,s]of t.nodeTransactionSubscriptions)if(o.has(n))for(const[t,o]of s)o(e);for(const[n,o]of t.transactionSubscriptions)o(e);const r=Ze(e,n,o);for(const e of r){const o=t.nodeToComponentSubscriptions.get(e);if(o)for(const[e,[t,r]]of o)r(n)}let a="[available in dev build]";0,t.suspendedComponentResolvers.forEach((e=>p.trace("value became available, waking components",a,e)))}t.queuedComponentCallbacks_DEPRECATED.forEach((e=>e(n))),t.queuedComponentCallbacks_DEPRECATED.splice(0,t.queuedComponentCallbacks_DEPRECATED.length)}function St(e){const t=vt(),[n,o]=Qe([]);return e.setNotifyBatcherOfChange((()=>o({}))),Je((()=>{ge.enqueueExecution("Batcher",(()=>{const e=t.current.getState(),{nextTree:n}=e;if(null===n)return;e.previousTree=e.currentTree,e.currentTree=n,e.nextTree=null,yt(t.current);const o=d(e.previousTree).version;e.graphsByVersion.delete(o),e.previousTree=null}))})),null}let mt=0;var wt={useStoreRef:vt,useRecoilMutableSource:()=>Ke(gt),RecoilRoot:function({initializeState_DEPRECATED:e,initializeState:t,store_INTERNAL:n,children:o}){var r;let a;const i=Xe(null),l=null!==(r=s.a.createMutableSource)&&void 0!==r?r:s.a.unstable_createMutableSource,u=null!==n&&void 0!==n?n:{getState:()=>a.current,replaceState:e=>{const t=c.current.getState();pt(t);const n=d(t.nextTree);let o;try{ft=!0,o=e(n)}finally{ft=!1}o!==n&&(t.nextTree=o,d(i.current)())},getGraph:e=>{const t=a.current.graphsByVersion;if(t.has(e))return d(t.get(e));const n=nt();return t.set(e,n),n},subscribeToTransactions:(e,t)=>{if(null==t){const{transactionSubscriptions:t}=c.current.getState(),n=mt++;return t.set(n,e),{release:()=>{t.delete(n)}}}{const{nodeTransactionSubscriptions:n}=c.current.getState();n.has(t)||n.set(t,new Map);const o=mt++;return d(n.get(t)).set(o,e),{release:()=>{const e=n.get(t);e&&(e.delete(o),0===e.size&&n.delete(t))}}}},addTransactionMetadata:e=>{pt(c.current.getState());for(const t of Object.keys(e))d(c.current.getState().nextTree).transactionMetadata[t]=e[t]}},c=Xe(u);a=Xe(null!=e?function(e,t){const n=lt();return t({set:(t,o)=>{const r=n.currentTree,[a,s]=et(e,r,t.key,o),i=new Set(s.keys());ot(a,e,r.version);const l=ut(r.nonvalidatedAtoms,i);n.currentTree={...r,dirtyAtoms:qe(r.dirtyAtoms,i),atomValues:at(r.atomValues,s),nonvalidatedAtoms:l}},setUnvalidatedAtomValues:e=>{e.forEach(((e,t)=>{n.currentTree=tt(n.currentTree,t,e)}))}}),n}(u,e):null!=t?function(e){return st().map(e).getStore_INTERNAL().getState()}(t):lt());const f=He((()=>l?l(a,(()=>a.current.currentTree.version)):null),[l,a]);return Je((()=>()=>{for(const e of c.current.getState().knownAtoms)Ye(c.current,e)}),[]),s.a.createElement(ht.Provider,{value:c},s.a.createElement(gt.Provider,{value:f},s.a.createElement(St,{setNotifyBatcherOfChange:function(e){i.current=e}}),o))},sendEndOfBatchNotifications_FOR_TESTING:yt};var bt=function(e,t){const n=new Map;for(const[o,r]of e)t(r,o)&&n.set(o,r);return n};var Tt=function(e,t){const n=new Set;for(const o of e)t(o)&&n.add(o);return n};var At=function(e,t){if(!e)throw new Error(t)};var _t,Rt=function(...e){const t=new Map;for(let n=0;n<e.length;n++){const o=e[n].keys();let r;for(;!(r=o.next()).done;)t.set(r.value,e[n].get(r.value))}return t};const Et=null!==(_t=s.a.useMutableSource)&&void 0!==_t?_t:s.a.unstable_useMutableSource;var Vt={mutableSourceExists:function(){return Et&&!("undefined"!==typeof window&&window.$disableRecoilValueMutableSource_TEMP_HACK_DO_NOT_USE)},useMutableSource:Et};const{useRef:Mt}=s.a;var kt=function(){return Mt(),"<component name not available>"};const{useCallback:Nt,useEffect:Lt,useMemo:Dt,useRef:Ut,useState:Bt}=s.a,{batchUpdates:Ct}=ve,{DEFAULT_VALUE:It,getNode:Ft,nodes:xt}=D,{useRecoilMutableSource:Ot,useStoreRef:Pt}=wt,{isRecoilValue:$t}=R,{AbstractRecoilValue:Wt,getRecoilValueAsLoadable:Gt,setRecoilValue:zt,setRecoilValueLoadable:jt,setUnvalidatedRecoilValue:qt,subscribeToRecoilValue:Kt}=ue,{Snapshot:Jt,cloneSnapshot:Ht}=je,{setByAddingToSet:Xt}=h,{mutableSourceExists:Qt,useMutableSource:Yt}=Vt;function Zt(e,t,n){if("hasValue"===e.state)return e.contents;if("loading"===e.state){throw new Promise((e=>{n.current.getState().suspendedComponentResolvers.add(e)}))}throw"hasError"===e.state?e.contents:new Error(`Invalid value of loadable atom "${t.key}"`)}function en(e){return Qt()?function(e){const t=Pt(),n=Nt((()=>Gt(t.current,e,t.current.getState().currentTree)),[t,e]),o=kt(),r=Nt(((n,r)=>{const a=t.current,s=Kt(a,e,(()=>{p.trace("RecoilValue subscription fired",e.key,(()=>{r()}))}),o);return()=>s.release(a)}),[e,t,o]);return Yt(Ot(),n,r)}(e):function(e){const t=Pt(),[n,o]=Bt([]),r=kt();return Lt((()=>{const n=t.current,a=Kt(n,e,(t=>{p.trace("RecoilValue subscription fired",e.key,(()=>{o([])}))}),r);return p.trace("initial update on subscribing",e.key,(()=>{n.getState().nextTree?n.getState().queuedComponentCallbacks_DEPRECATED.push(p.wrap((()=>{o([])}))):o([])})),()=>a.release(n)}),[e,t]),Gt(t.current,e)}(e)}function tn(e){const t=Pt();return Zt(en(e),e,t)}function nn(e){const t=Pt();return Nt((n=>{zt(t.current,e,n)}),[t,e])}function on(e){const t=Pt();Lt((()=>t.current.subscribeToTransactions(e).release),[e,t])}function rn(e){const t=e.atomValues,n=c(bt(t,((e,t)=>{const n=Ft(t).persistence_UNSTABLE;return null!=n&&"none"!==n.type&&"hasValue"===e.state})),(e=>e.contents));return Rt(e.nonvalidatedAtoms,n)}function an(){const e=Pt();return Nt((t=>{var n;const o=e.current.getState(),r=null!==(n=o.nextTree)&&void 0!==n?n:o.currentTree,a=t.getStore_INTERNAL().getState().currentTree;Ct((()=>{const n=new Set;for(const e of[r.atomValues.keys(),a.atomValues.keys()])for(const t of e){var o,s;(null===(o=r.atomValues.get(t))||void 0===o?void 0:o.contents)!==(null===(s=a.atomValues.get(t))||void 0===s?void 0:s.contents)&&Ft(t).shouldRestoreFromSnapshots&&n.add(t)}n.forEach((t=>{jt(e.current,new Wt(t),a.atomValues.has(t)?d(a.atomValues.get(t)):It)})),e.current.replaceState((e=>({...e,stateID:t.getID_INTERNAL()})))}))}),[e])}class sn{}const ln=new sn;var un={recoilComponentGetRecoilValueCount_FOR_TESTING:{current:0},useGotoRecoilSnapshot:an,useRecoilCallback:function(e,t){const n=Pt(),o=an();return Nt(((...t)=>{const r=Ht(n.current);function a(e,t){zt(n.current,e,t)}function s(e){zt(n.current,e,It)}let i=ln;return Ct((()=>{i=e({set:a,reset:s,snapshot:r,gotoSnapshot:o})(...t)})),i instanceof sn&&At(!1),i}),null!=t?[...t,n]:void 0)},useRecoilInterface:function(){const e=Pt(),[t,n]=Bt([]),o=Ut(new Set);o.current=new Set;const r=Ut(new Set),a=Ut(new Map),s=Nt((t=>{const n=a.current.get(t);n&&(n.release(e.current),a.current.delete(t))}),[e,a]),i=kt();return Lt((()=>{const t=e.current;function l(e,t){a.current.has(t)&&n([])}$(o.current,r.current).forEach((e=>{if(a.current.has(e))return void v(`Double subscription to RecoilValue "${e}"`);const n=Kt(t,new Wt(e),(t=>{p.trace("RecoilValue subscription fired",e,(()=>{l(0,e)}))}),i);a.current.set(e,n),p.trace("initial update on subscribing",e,(()=>{t.getState().nextTree?t.getState().queuedComponentCallbacks_DEPRECATED.push(p.wrap((()=>{l(t.getState(),e)}))):l(t.getState(),e)}))})),$(r.current,o.current).forEach((e=>{s(e)})),r.current=o.current})),Lt((()=>{const e=a.current;return()=>e.forEach(((e,t)=>s(t)))}),[s]),Dt((()=>{function t(t){return n=>{zt(e.current,t,n)}}function n(t){return o.current.has(t.key)||(o.current=Xt(o.current,t.key)),Gt(e.current,t)}function r(t){return Zt(n(t),t,e)}return{getRecoilValue:r,getRecoilValueLoadable:n,getRecoilState:function(e){return[r(e),t(e)]},getRecoilStateLoadable:function(e){return[n(e),t(e)]},getSetRecoilState:t,getResetRecoilState:function(t){return()=>zt(e.current,t,It)}}}),[o,e])},useRecoilSnapshot:function(){const e=Pt(),[t,n]=Bt((()=>Ht(e.current)));return on(Nt((e=>n(Ht(e))),[])),t},useRecoilState:function(e){return[tn(e),nn(e)]},useRecoilStateLoadable:function(e){return[en(e),nn(e)]},useRecoilTransactionObserver:function(e){on(Nt((t=>{e({snapshot:Ht(t,"current"),previousSnapshot:Ht(t,"previous")})}),[e]))},useRecoilValue:tn,useRecoilValueLoadable:en,useResetRecoilState:function(e){const t=Pt();return Nt((()=>{zt(t.current,e,It)}),[t,e])},useSetRecoilState:nn,useSetUnvalidatedAtomValues:function(){const e=Pt();return(t,n={})=>{Ct((()=>{e.current.addTransactionMetadata(n),t.forEach(((t,n)=>qt(e.current,new Wt(n),t)))}))}},useTransactionObservation_DEPRECATED:function(e){on(Nt((t=>{let n=t.getState().previousTree;const o=t.getState().currentTree;n||(f("Transaction subscribers notified without a previous tree being present -- this is a bug in Recoil"),n=t.getState().currentTree);const r=rn(o),a=rn(n),s=c(xt,(e=>{var t,n,o,r;return{persistence_UNSTABLE:{type:null!==(t=null===(n=e.persistence_UNSTABLE)||void 0===n?void 0:n.type)&&void 0!==t?t:"none",backButton:null!==(o=null===(r=e.persistence_UNSTABLE)||void 0===r?void 0:r.backButton)&&void 0!==o&&o}}})),i=Tt(o.dirtyAtoms,(e=>r.has(e)||a.has(e)));e({atomValues:r,previousAtomValues:a,atomInfo:s,modifiedAtoms:i,transactionMetadata:{...o.transactionMetadata}})}),[e]))},useTransactionSubscription_DEPRECATED:on};const{useMemo:cn}=s.a,{RecoilRoot:dn,useStoreRef:fn}=wt;var pn=function(){const e=fn().current;return cn((()=>function({children:t}){return s.a.createElement(dn,{store_INTERNAL:e},t)}),[e])};var hn=function(e){return!!e&&"function"===typeof e.then};const vn={getValue(){if("loading"===this.state&&u("recoil_async_selector_refactor"))throw this.contents.then((({__value:e})=>e));if("hasValue"!==this.state)throw this.contents;return this.contents},toPromise(){return"hasValue"===this.state?Promise.resolve(this.contents):"hasError"===this.state?Promise.reject(this.contents):u("recoil_async_selector_refactor")?this.contents.then((({__value:e})=>e)):this.contents},valueMaybe(){return"hasValue"===this.state?this.contents:void 0},valueOrThrow(){if("hasValue"!==this.state)throw new Error(`Loadable expected value, but in "${this.state}" state`);return this.contents},errorMaybe(){return"hasError"===this.state?this.contents:void 0},errorOrThrow(){if("hasError"!==this.state)throw new Error(`Loadable expected error, but in "${this.state}" state`);return this.contents},promiseMaybe(){return"loading"===this.state?u("recoil_async_selector_refactor")?this.contents.then((({__value:e})=>e)):this.contents:void 0},promiseOrThrow(){if("loading"!==this.state)throw new Error(`Loadable expected promise, but in "${this.state}" state`);return u("recoil_async_selector_refactor")?this.contents.then((({__value:e})=>e)):this.contents},map(e){if("hasError"===this.state)return this;if("hasValue"===this.state)try{const t=e(this.contents);return hn(t)?Sn(t):gn(t)}catch(t){return hn(t)?Sn(t.next((()=>e(this.contents)))):yn(t)}if("loading"===this.state)return Sn(this.contents.then(e).catch((t=>{if(hn(t))return t.then((()=>e(this.contents)));throw t})));throw new Error("Invalid Loadable state")}};function gn(e){return Object.freeze({state:"hasValue",contents:e,...vn})}function yn(e){return Object.freeze({state:"hasError",contents:e,...vn})}function Sn(e){return Object.freeze({state:"loading",contents:e,...vn})}var mn={loadableWithValue:gn,loadableWithError:yn,loadableWithPromise:Sn,loadableLoading:function(){return Sn(new Promise((()=>{})))},loadableAll:function(e){return e.every((e=>"hasValue"===e.state))?gn(e.map((e=>e.contents))):e.some((e=>"hasError"===e.state))?yn(d(e.find((e=>"hasError"===e.state)),"Invalid loadable passed to loadableAll").contents):Sn(u("recoil_async_selector_refactor")?Promise.all(e.map((e=>e.contents))).then((e=>({__value:e}))):Promise.all(e.map((e=>e.contents))))}};Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,DataView;"undefined"!==typeof navigator&&navigator.product;var wn=function(){let e,t;const n={get:n=>n===e?t:void 0,set:(o,r)=>(e=o,t=r,n)};return n};const bn=Symbol("ArrayKeyedMap"),Tn=new Map;class An{constructor(e){if(g(this,"_base",new Map),e instanceof An)for(const[t,n]of e.entries())this.set(t,n);else if(e)for(const[t,n]of e)this.set(t,n);return this}get(e){const t=Array.isArray(e)?e:[e];let n=this._base;return t.forEach((e=>{var t;n=null!==(t=n.get(e))&&void 0!==t?t:Tn})),void 0===n?void 0:n.get(bn)}set(e,t){const n=Array.isArray(e)?e:[e];let o=this._base,r=o;return n.forEach((e=>{r=o.get(e),r||(r=new Map,o.set(e,r)),o=r})),r.set(bn,t),this}delete(e){const t=Array.isArray(e)?e:[e];let n=this._base,o=n;return t.forEach((e=>{o=n.get(e),o||(o=new Map,n.set(e,o)),n=o})),o.delete(bn),this}entries(){const e=[];return function t(n,o){n.forEach(((n,r)=>{r===bn?e.push([o,n]):t(n,o.concat(r))}))}(this._base,[]),e.values()}toBuiltInMap(){return new Map(this.entries())}}var _n=An,Rn=Object.freeze({__proto__:null,ArrayKeyedMap:_n});const{ArrayKeyedMap:En}=Rn;var Vn=function(){return new En};function Mn(e,t,n){if("string"===typeof e&&!e.includes('"')&&!e.includes("\\"))return`"${e}"`;switch(typeof e){case"undefined":return"";case"boolean":return e?"true":"false";case"number":case"symbol":return String(e);case"string":return JSON.stringify(e);case"function":if(!0!==(null===t||void 0===t?void 0:t.allowFunctions))throw new Error("Attempt to serialize function in a Recoil cache key");return`__FUNCTION(${e.name})__`}if(null===e)return"null";var o;if("object"!==typeof e)return null!==(o=JSON.stringify(e))&&void 0!==o?o:"";if(hn(e))return"__PROMISE__";if(Array.isArray(e))return`[${e.map(((e,n)=>Mn(e,t,n.toString())))}]`;if("function"===typeof e.toJSON)return Mn(e.toJSON(n),t,n);if(e instanceof Map){const o={};for(const[n,r]of e)o["string"===typeof n?n:Mn(n,t)]=r;return Mn(o,t,n)}return e instanceof Set?Mn(Array.from(e).sort(((e,n)=>Mn(e,t).localeCompare(Mn(n,t)))),t,n):null!=e[Symbol.iterator]&&"function"===typeof e[Symbol.iterator]?Mn(Array.from(e),t,n):`{${Object.keys(e).filter((t=>void 0!==e[t])).sort().map((n=>`${Mn(n,t)}:${Mn(e[n],t,n)}`)).join(",")}}`}var kn=function(e,t={allowFunctions:!1}){return Mn(e,t)};var Nn=function(){const e=new Map,t={get:t=>e.get(kn(t)),set:(n,o)=>(e.set(kn(n),o),t),map:e};return t};var Ln=function(){let e;return{get:(t,n)=>{if(void 0!==e){for(const[r,a]of e.route){var o;if(t(r)!==a)return;null===n||void 0===n||null===(o=n.onCacheHit)||void 0===o||o.call(n,r)}return e.value}},set:(t,n)=>{e={route:t,value:n}},getRoot:()=>e}};var Dn={setInTreeCache:function e(t,n,o){if(null==t){if(0===n.length)return{type:"result",result:o};{const[t,...r]=n,[a,s]=t;return{type:"branch",nodeKey:a,branches:new Map([[s,e(null,r,o)]])}}}if(0===n.length){if("result"!==t.type&&At(!1),t.result&&"loading"===t.result.state){return{type:"result",result:o}}t.result!==o&&At(!1);return t}{const[r,...a]=n,[s,i]=r;return"branch"!==t.type&&At(!1),t.nodeKey!==s&&At(!1),t.branches.set(i,e(t.branches.get(i),a,o)),t}},getFromTreeCache:function e(t,n,o){var r;if(null==t)return;if("result"===t.type)return t.result;null===o||void 0===o||null===(r=o.onCacheHit)||void 0===r||r.call(o,t.nodeKey);const a=n(t.nodeKey);return e(t.branches.get(a),n,o)}};const{getFromTreeCache:Un,setInTreeCache:Bn}=Dn;var Cn=function(){let e;return{get:(t,n)=>Un(e,t,n),set:(t,n)=>{e=Bn(e,t,n)},getRoot:()=>e}};const{getFromTreeCache:In,setInTreeCache:Fn}=Dn;var xn=function(){let e;return{get:(t,n)=>In(e,(e=>kn(t(e))),n),set:(t,n)=>{e=Fn(e,t.map((([e,t])=>[e,kn(t)])),n)},getRoot:()=>e}};var On={startPerfBlock:function(e){return()=>null}};const{loadableWithError:Pn,loadableWithPromise:$n,loadableWithValue:Wn}=mn,{getNodeLoadable:Gn,peekNodeLoadable:zn,setNodeValue:jn}=P,{saveDependencyMapToStore:qn}=G,{DEFAULT_VALUE:Kn,RecoilValueNotReady:Jn,registerNode:Hn}=D,{isRecoilValue:Xn}=R,{AbstractRecoilValue:Qn}=R,{setRecoilValueLoadable:Yn}=ue,{startPerfBlock:Zn}=On,eo=Object.freeze(new Set),to=[],no=new Map,oo=(()=>{let e=0;return()=>e++})();var ro=function(e){const{key:t,get:n,cacheImplementation_UNSTABLE:o}=e,r=null!=e.set?e.set:void 0,a=o===Vn?Cn():o===Nn?xn():o===wn?Ln():Cn(),s={depValuesDiscoveredSoFarDuringAsyncWork:null,latestLoadable:null,latestExecutionId:null,stateVersion:null};function i(e){e.getState().knownSelectors.add(t)}function l(e,t,n){if("loading"===t.state){let t=no.get(n);null==t&&no.set(n,t=new Set),t.add(e)}}function u(e,t,n){if(t.atomValues.has(n))return[new Map,d(t.atomValues.get(n))];const[,o]=Gn(e,t,n),r=e.getState().knownSelectors.has(n);return"loading"!==o.state&&r&&t.atomValues.set(n,o),[new Map,o]}function c(e,n,o,r,a){return n.then((n=>{const{__key:r,__value:s}=n;null!=r&&o.atomValues.set(r,Wn(s));const[i,l]=v(e,o,a);if(T(a)&&b(l,a),A(i),"loading"!==i.state&&(R(o,g(l),i),f(i,a)),"hasError"===i.state)throw i.contents;return"hasValue"===i.state?{__value:i.contents,__key:t}:i.contents})).catch((e=>{const t=Pn(e);throw _(e),R(o,g(r),Pn(e)),f(t,a),e}))}function f(e,n){T(n)&&(w(e),function(e,n){const o=no.get(n);if(void 0!==o){for(const n of o)Yn(n,new Qn(t),e);no.delete(n)}}(e,n))}function p(e,n,o,r){var a,s,i,l,u,c,d;(T(r)||n.version===(null===(a=e.getState())||void 0===a||null===(s=a.currentTree)||void 0===s?void 0:s.version)||n.version===(null===(i=e.getState())||void 0===i||null===(l=i.nextTree)||void 0===l?void 0:l.version))&&qn(new Map([[t,o]]),e,null!==(u=null===(c=e.getState())||void 0===c||null===(d=c.nextTree)||void 0===d?void 0:d.version)&&void 0!==u?u:e.getState().currentTree.version)}function h(e,t,n,o,r){n.add(o),p(e,t,n,r)}function v(e,o,r){const a=Zn(t);let s,i;const l=new Map,d=new Set;function v(t){const{key:n}=t;h(e,o,d,n,r);const[,a]=u(e,o,n);if(l.set(n,a),"hasValue"===a.state)return a.contents;throw a.contents}p(e,o,d,r);try{s=n({get:v}),s=Xn(s)?v(s):s,hn(s)?s=function(e,n,o,r,a){return n.then((e=>{const n=Wn(e);return _(e),R(o,g(r),n),f(n,a),{__value:e,__key:t}})).catch((t=>{if(T(a)&&b(r,a),hn(t))return c(e,t,o,r,a);const n=Pn(t);throw _(t),R(o,g(r),n),f(n,a),t}))}(e,s,o,l,r).finally(a):a()}catch(y){s=y,hn(s)?s=c(e,s,o,l,r).finally(a):a()}return i=s instanceof Error?Pn(s):hn(s)?$n(s):Wn(s),A(i),[i,l]}function g(e){return Array.from(e.entries()).map((([e,t])=>[e,t.contents]))}function y(e,t){const n=oo(),[o,r]=v(e,t,n);return w(o,r,n,t),function(e,t,n){"loading"!==n.state&&R(e,t,n)}(t,g(r),o),l(e,o,n),o}function S(e,n){const o=function(e,n){var o;if(n.atomValues.has(t))return n.atomValues.get(t);const r=new Set(null!==(o=e.getGraph(n.version).nodeDeps.get(t))&&void 0!==o?o:eo);return p(e,n,r,s.latestExecutionId),a.get((t=>{const[,o]=u(e,n,t);return o.contents}),{onCacheHit:o=>{o!==t&&h(e,n,r,o,s.latestExecutionId)}})}(e,n);return null!=o?(w(o),o):function(e,t){return null!=s.latestLoadable&&null!=s.latestExecutionId&&!function(e,t){var n,o;const r=null!==(n=s.depValuesDiscoveredSoFarDuringAsyncWork)&&void 0!==n?n:new Map,a=Array((null!==(o=m.get(t.version))&&void 0!==o?o:new Map).entries()),i=m.has(t.version)&&a.length===r.size&&a.every((([e,t])=>r.get(e)===t));if(null==r||t.version===s.stateVersion||i)return!1;return m.set(t.version,new Map(r)),Array.from(r).some((([n,o])=>{const[,r]=u(e,t,n);return r.contents!==o.contents&&!("loading"===o.state&&"loading"!==r.state)}))}(e,t)}(e,n)?(l(e,d(s.latestLoadable),d(s.latestExecutionId)),d(s.latestLoadable)):y(e,n)}const m=new Map;function w(e,t,n,o){"loading"===e.state?(s.depValuesDiscoveredSoFarDuringAsyncWork=t,s.latestExecutionId=n,s.latestLoadable=e,s.stateVersion=null===o||void 0===o?void 0:o.version):(s.depValuesDiscoveredSoFarDuringAsyncWork=null,s.latestExecutionId=null,s.latestLoadable=null,s.stateVersion=null)}function b(e,t){T(t)&&(s.depValuesDiscoveredSoFarDuringAsyncWork=e)}function T(e){return e===s.latestExecutionId}function A(e){"loading"!==e.state&&_(e.contents)}function _(e){0}function R(e,n,o){e.atomValues.set(t,o),a.set(n,o)}function E(e){if(to.includes(t)){const e=`Recoil selector has circular dependencies: ${to.slice(to.indexOf(t)).join(" \u2192 ")}`;return Pn(new Error(e))}to.push(t);try{return e()}finally{to.pop()}}function V(e,t){return a.get((n=>{const o=zn(e,t,n);return null===o||void 0===o?void 0:o.contents}))}function M(e,t){return i(e),[new Map,E((()=>S(e,t)))]}function k(e){e.atomValues.delete(t)}if(null!=r){function n(e,t,n){i(e);const o=new Map,a=new Map;function s({key:n}){const[,o]=u(e,t,n);if("hasValue"===o.state)return o.contents;throw"loading"===o.state?new Jn(n):o.contents}function l(n,o){const r="function"===typeof o?o(s(n)):o,[,i]=jn(e,t,n.key,r);i.forEach(((e,t)=>a.set(t,e)))}return r({set:l,get:s,reset:function(e){l(e,Kn)}},n),[o,a]}return Hn({key:t,peek:V,get:M,set:n,cleanUp:()=>{},invalidate:k,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1})}return Hn({key:t,peek:V,get:M,cleanUp:()=>{},invalidate:k,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1})};const{loadableWithError:ao,loadableWithPromise:so,loadableWithValue:io}=mn,{getNodeLoadable:lo,peekNodeLoadable:uo,setNodeValue:co}=P,{addToDependencyMap:fo,mergeDepsIntoDependencyMap:po,saveDependencyMapToStore:ho}=G,{DEFAULT_VALUE:vo,RecoilValueNotReady:go,registerNode:yo}=D,{AbstractRecoilValue:So}=R,{getRecoilValueAsLoadable:mo,isRecoilValue:wo,setRecoilValueLoadable:bo}=ue,{startPerfBlock:To}=On,Ao=Object.freeze(new Set);function _o(e){const t=[];for(const n of Array.from(e.keys()).sort()){const o=d(e.get(n));t.push(n),t.push(o.state),t.push(o.contents)}return t}const Ro=new Map;var Eo=function(e){const{key:t,get:n,cacheImplementation_UNSTABLE:o}=e,r=null!=e.set?e.set:void 0;let a=null!==o&&void 0!==o?o:Vn();function s(e){e.getState().knownSelectors.add(t)}function i(e,t){if("loading"===t.state){let n=Ro.get(t);void 0===n&&Ro.set(t,n=new Set),n.add(e)}}function l(e,n){const o=Ro.get(e);if(void 0!==o){for(const e of o)bo(e,new So(t),n);Ro.delete(e)}}function u(e,o){var r;const s=new Map,u=null!==(r=e.getGraph(o.version).nodeDeps.get(t))&&void 0!==r?r:Ao,c=_o(new Map(Array.from(u).sort().map((t=>{const[n,r]=lo(e,o,t);return po(n,s),ho(s,e,o.version),[t,r]})))),d=a.get(c);if(null!=d)return i(e,d),[s,d];const[f,p,h]=function(e,o){const r=To(t),a=new Map,s=new Map;function i({key:n}){fo(t,n,s);const[r,i]=lo(e,o,n);if(a.set(n,i),po(r,s),ho(s,e,o.version),"hasValue"===i.state)return i.contents;throw i.contents}try{const e=n({get:i}),t=wo(e)?i(e):e;let o;return hn(t)?o=so(t.finally(r)):(r(),o=io(t)),[s,o,a]}catch(l){let n;return void 0!==l.then?n=so(l.then((()=>{const n=mo(e,new So(t));if("hasError"===n.state)throw n.contents;return n.contents})).finally(r)):(r(),n=ao(l)),[s,n,a]}}(e,o);po(f,s),ho(s,e,o.version);const v=_o(h);return i(e,p),function(e,n,o){"loading"!==o.state||o.contents.then((e=>{const t=io(e);return a=a.set(n,t),l(o,t),e})).catch((e=>{if(hn(e))return e;const t=ao(e);return a=a.set(n,t),l(o,t),e})),a=a.set(n,o),"loading"!==o.state&&e.atomValues.set(t,o)}(o,v,p),[s,p]}function c(e,n){var o;const r=null!==(o=e.getGraph(n.version).nodeDeps.get(t))&&void 0!==o?o:Ao,s=new Map(Array.from(r).sort().map((t=>[t,uo(e,n,t)]))),i=new Map;for(const[t,a]of s.entries()){if(null==a)return;i.set(t,a)}const l=_o(i);return a.get(l)}function d(e){e.atomValues.delete(t)}function f(e,n){s(e);const o=n.atomValues.get(t);return void 0!==o?[new Map,o]:u(e,n)}if(null!=r){function n(e,t,n){s(e);const o=new Map,a=new Map;function i({key:n}){const[r,a]=lo(e,t,n);if(po(r,o),"hasValue"===a.state)return a.contents;throw"loading"===a.state?new go(n):a.contents}function l(n,r){const s="function"===typeof r?r(i(n)):r,[l,u]=co(e,t,n.key,s);po(l,o),u.forEach(((e,t)=>a.set(t,e)))}return r({set:l,get:i,reset:function(e){l(e,vo)}},n),[o,a]}return yo({key:t,peek:c,get:f,set:n,invalidate:d,cleanUp:()=>{},dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1})}return yo({key:t,peek:c,get:f,invalidate:d,cleanUp:()=>{},dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1})};var Vo=u("recoil_async_selector_refactor")?ro:Eo;const{loadableWithError:Mo,loadableWithPromise:ko,loadableWithValue:No}=mn,{DEFAULT_VALUE:Lo,DefaultValue:Do,registerNode:Uo}=D,{isRecoilValue:Bo}=R,{markRecoilValueModified:Co,setRecoilValue:Io,setRecoilValueLoadable:Fo}=ue;function xo(e){const{key:t,persistence_UNSTABLE:n}=e;let o,r=hn(e.default)?ko(e.default.then((e=>{r=No(e);return{__key:t,__value:e}})).catch((e=>{throw r=Mo(e),e}))):No(e.default);const a=new Map;function s(n,o,s){if(n.getState().knownAtoms.has(t))return;if(n.getState().knownAtoms.add(t),"loading"===r.state){function e(){var e;(null!==(e=n.getState().nextTree)&&void 0!==e?e:n.getState().currentTree).atomValues.has(t)||Co(n,i)}r.contents.then(e).catch(e)}let l=Lo,u=null;if(null!=e.effects_UNSTABLE){let o=!0;const d=e=>t=>{if(o){const e=l instanceof Do||hn(l)?"hasValue"===r.state?r.contents:Lo:l;l="function"===typeof t?t(e):t}else{if(hn(t))throw new Error("Setting atoms to async values is not implemented.");"function"!==typeof t&&(u={effect:e,value:t}),Io(n,i,"function"===typeof t?n=>{const o=t(n);return u={effect:e,value:o},o}:t)}},p=e=>()=>d(e)(Lo),h=e=>o=>{n.subscribeToTransactions((n=>{var a;let{currentTree:s,previousTree:i}=n.getState();i||(f("Transaction subscribers notified without a next tree being present -- this is a bug in Recoil"),i=s);const l=s.atomValues.get(t);if(null==l||"hasValue"===l.state){var c,d,p;const n=null!=l?l.contents:Lo,a=null!==(c=i.atomValues.get(t))&&void 0!==c?c:r,s="hasValue"===a.state?a.contents:Lo;(null===(d=u)||void 0===d?void 0:d.effect)===e&&(null===(p=u)||void 0===p?void 0:p.value)===n||o(n,s)}(null===(a=u)||void 0===a?void 0:a.effect)===e&&(u=null)}),t)};for(const t of null!==(c=e.effects_UNSTABLE)&&void 0!==c?c:[]){var c;const e=t({node:i,trigger:s,setSelf:d(t),resetSelf:p(t),onSet:h(t)});null!=e&&a.set(n,e)}o=!1}l instanceof Do||o.atomValues.set(t,hn(l)?ko(function(e,n){const o=n.then((n=>{var r,a;return(null===(a=(null!==(r=e.getState().nextTree)&&void 0!==r?r:e.getState().currentTree).atomValues.get(t))||void 0===a?void 0:a.contents)===o&&Io(e,i,n),{__key:t,__value:n}})).catch((n=>{var r,a;throw(null===(a=(null!==(r=e.getState().nextTree)&&void 0!==r?r:e.getState().currentTree).atomValues.get(t))||void 0===a?void 0:a.contents)===o&&Fo(e,i,Mo(n)),n}));return o}(n,l)):No(l))}const i=Uo({key:t,peek:function(e,n){var a,s,i;return null!==(a=null!==(s=n.atomValues.get(t))&&void 0!==s?s:null===(i=o)||void 0===i?void 0:i[1])&&void 0!==a?a:r},get:function(e,a){if(s(e,a,"get"),a.atomValues.has(t))return[new Map,d(a.atomValues.get(t))];if(a.nonvalidatedAtoms.has(t)){if(null!=o)return o;if(null==n)return v(`Tried to restore a persisted value for atom ${t} but it has no persistence settings.`),[new Map,r];const e=a.nonvalidatedAtoms.get(t),s=n.validator(e,Lo),i=s instanceof Do?r:No(s);return o=[new Map,i],o}return[new Map,r]},set:function(e,n,r){if(s(e,n,"set"),n.atomValues.has(t)){const e=d(n.atomValues.get(t));if("hasValue"===e.state&&r===e.contents)return[new Map,new Map]}else if(!n.nonvalidatedAtoms.has(t)&&r instanceof Do)return[new Map,new Map];return o=void 0,[new Map,(new Map).set(t,No(r))]},cleanUp:function(e){var t;null===(t=a.get(e))||void 0===t||t(),a.delete(e)},invalidate:function(){o=void 0},dangerouslyAllowMutability:e.dangerouslyAllowMutability,persistence_UNSTABLE:e.persistence_UNSTABLE?{type:e.persistence_UNSTABLE.type,backButton:e.persistence_UNSTABLE.backButton}:void 0,shouldRestoreFromSnapshots:!0});return i}function Oo(e){const{default:t,...n}=e;return Bo(t)?function(e){const t=Oo({...e,default:Lo,persistence_UNSTABLE:void 0===e.persistence_UNSTABLE?void 0:{...e.persistence_UNSTABLE,validator:t=>t instanceof Do?t:d(e.persistence_UNSTABLE).validator(t,Lo)},effects_UNSTABLE:e.effects_UNSTABLE});return Vo({key:`${e.key}__withFallback`,get:({get:n})=>{const o=n(t);return o instanceof Do?e.default:o},set:({set:e},n)=>e(t,n),dangerouslyAllowMutability:e.dangerouslyAllowMutability})}({...n,default:t}):xo({...n,default:t})}var Po=Oo;let $o=0;var Wo=function(e){var t,n;let o=null!==(t=null===(n=e.cacheImplementationForParams_UNSTABLE)||void 0===n?void 0:n.call(e))&&void 0!==t?t:Nn();return t=>{var n,r;const a=o.get(t);if(null!=a)return a;const s=`${e.key}__selectorFamily/${null!==(n=kn(t,{allowFunctions:!0}))&&void 0!==n?n:"void"}/${$o++}`,i=n=>e.get(t)(n),l=null===(r=e.cacheImplementation_UNSTABLE)||void 0===r?void 0:r.call(e);let u;if(null!=e.set){const n=e.set;u=Vo({key:s,get:i,set:(e,o)=>n(t)(e,o),cacheImplementation_UNSTABLE:l,dangerouslyAllowMutability:e.dangerouslyAllowMutability})}else u=Vo({key:s,get:i,cacheImplementation_UNSTABLE:l,dangerouslyAllowMutability:e.dangerouslyAllowMutability});return o=o.set(t,u),u}};const{DEFAULT_VALUE:Go,DefaultValue:zo}=D;var jo=function(e){let t=Nn();const n={key:e.key,default:Go,persistence_UNSTABLE:e.persistence_UNSTABLE};let o;o=Po(n);const r=Wo({key:`${e.key}__atomFamily/Default`,get:t=>({get:n})=>{const r=n("function"===typeof o?o(t):o);return r instanceof zo?"function"===typeof e.default?e.default(t):e.default:r},dangerouslyAllowMutability:e.dangerouslyAllowMutability});return n=>{var o;const a=t.get(n);if(null!=a)return a;const s=Po({...e,key:`${e.key}__${null!==(o=kn(n))&&void 0!==o?o:"void"}`,default:r(n),effects_UNSTABLE:"function"===typeof e.effects_UNSTABLE?e.effects_UNSTABLE(n):e.effects_UNSTABLE});return t=t.set(n,s),s}};const qo=Wo({key:"__constant",get:e=>()=>e,cacheImplementationForParams_UNSTABLE:Vn});var Ko=function(e){return qo(e)};const Jo=Wo({key:"__error",get:e=>()=>{throw new Error(e)},cacheImplementationForParams_UNSTABLE:Vn});var Ho=function(e){return Jo(e)};var Xo=function(e){return e};const{loadableWithError:Qo,loadableWithPromise:Yo,loadableWithValue:Zo}=mn;function er(e,t){const n=Array(t.length).fill(void 0),o=Array(t.length).fill(void 0);for(const[a,s]of t.entries())try{n[a]=e(s)}catch(r){o[a]=r}return[n,o]}function tr(e){return null!=e&&!hn(e)}function nr(e){return Array.isArray(e)?e:Object.getOwnPropertyNames(e).map((t=>e[t]))}function or(e){return null!=e&&"object"===typeof e&&e.hasOwnProperty("__value")?e.__value:e}function rr(e,t){return Array.isArray(e)?t:Object.getOwnPropertyNames(e).reduce(((e,n,o)=>({...e,[n]:t[o]})),{})}function ar(e,t,n){return rr(e,n.map(((e,n)=>null==e?Zo(t[n]):hn(e)?Yo(e):Qo(e))))}var sr={waitForNone:Wo({key:"__waitForNone",get:e=>({get:t})=>{const n=nr(e),[o,r]=er(t,n);return ar(e,o,r)}}),waitForAny:Wo({key:"__waitForAny",get:e=>({get:t})=>{const n=nr(e),[o,r]=er(t,n);if(r.some((e=>null==e)))return ar(e,o,r);if(r.every(tr))throw r.find(tr);if(u("recoil_async_selector_refactor"))return new Promise(((t,n)=>{for(const[a,s]of r.entries())hn(s)&&s.then((n=>{o[a]=or(n),r[a]=null,t(ar(e,o,r))})).catch((e=>{r[a]=e,r.every(tr)&&n(r[0])}))}));throw new Promise(((t,n)=>{for(const[a,s]of r.entries())hn(s)&&s.then((n=>{o[a]=n,r[a]=null,t(ar(e,o,r))})).catch((e=>{r[a]=e,r.every(tr)&&n(r[0])}))}))}}),waitForAll:Wo({key:"__waitForAll",get:e=>({get:t})=>{const n=nr(e),[o,r]=er(t,n);if(r.every((e=>null==e)))return rr(e,o);const a=r.find(tr);if(null!=a)throw a;if(u("recoil_async_selector_refactor"))return Promise.all(r).then((t=>{return rr(e,(n=o,r=t,r.map(((e,t)=>void 0===e?n[t]:e))).map(or));var n,r}));throw Promise.all(r).then((t=>rr(e,t)))}}),noWait:Wo({key:"__noWait",get:e=>({get:t})=>{try{return Zo(t(e))}catch(n){return hn(n)?Yo(n):Qo(n)}}})};const{batchUpdates:ir,setBatcher:lr}=ve,{DefaultValue:ur}=D,{RecoilRoot:cr}=wt,{isRecoilValue:dr}=R,{freshSnapshot:fr}=je,{useGotoRecoilSnapshot:pr,useRecoilCallback:hr,useRecoilSnapshot:vr,useRecoilState:gr,useRecoilStateLoadable:yr,useRecoilTransactionObserver:Sr,useRecoilValue:mr,useRecoilValueLoadable:wr,useResetRecoilState:br,useSetRecoilState:Tr,useSetUnvalidatedAtomValues:Ar,useTransactionObservation_DEPRECATED:_r}=un,{noWait:Rr,waitForAll:Er,waitForAny:Vr,waitForNone:Mr}=sr;var kr={DefaultValue:ur,RecoilRoot:cr,useRecoilBridgeAcrossReactRoots_UNSTABLE:pn,atom:Po,selector:Vo,atomFamily:jo,selectorFamily:Wo,constSelector:Ko,errorSelector:Ho,readOnlySelector:Xo,useRecoilValue:mr,useRecoilValueLoadable:wr,useRecoilState:gr,useRecoilStateLoadable:yr,useSetRecoilState:Tr,useResetRecoilState:br,useRecoilCallback:hr,useGotoRecoilSnapshot:pr,useRecoilSnapshot:vr,useRecoilTransactionObserver_UNSTABLE:Sr,useTransactionObservation_UNSTABLE:_r,useSetUnvalidatedAtomValues_UNSTABLE:Ar,noWait:Rr,waitForNone:Mr,waitForAny:Vr,waitForAll:Er,isRecoilValue:dr,batchUpdates:ir,setBatcher:lr,snapshot_UNSTABLE:fr},Nr=kr.RecoilRoot,Lr=kr.atom,Dr=kr.atomFamily,Ur=kr.useRecoilValueLoadable,Br=kr.useRecoilState,Cr=kr.useResetRecoilState,Ir=kr.useRecoilCallback}}]);