@vertexvis/viewer-toolkit-react 0.0.2-canary.6 → 0.0.2-canary.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.cjs.js +1 -1
- package/dist/bundle.cjs.js.map +1 -1
- package/dist/bundle.esm.js +2 -2
- package/dist/bundle.esm.js.map +1 -1
- package/dist/root.d.ts +5 -4
- package/package.json +4 -4
package/dist/bundle.cjs.js
CHANGED
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
Licensed under the MIT License (MIT), see
|
|
5
5
|
http://jedwatson.github.io/classnames
|
|
6
6
|
*/
|
|
7
|
-
d=h,function(){var e={}.hasOwnProperty;function t(){for(var e="",t=0;t<arguments.length;t++){var r=arguments[t];r&&(e=o(e,n(r)))}return e}function n(n){if("string"==typeof n||"number"==typeof n)return n;if("object"!=typeof n)return"";if(Array.isArray(n))return t.apply(null,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var r="";for(var i in n)e.call(n,i)&&n[i]&&(r=o(r,i));return r}function o(e,t){return t?e?e+" "+t:e+t:e}d.exports?(t.default=t,d.exports=t):window.classNames=t}();var p=h.exports;var v=function(e){const t=new Error(e);if(void 0===t.stack)try{throw t}catch(e){}return t};var m=function(e){return!!e&&"function"==typeof e.then};var g=function(e,t){if(null!=e)return e;throw v(null!=t?t:"Got unexpected null or undefined")};function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class b{getValue(){throw v("BaseLoadable")}toPromise(){throw v("BaseLoadable")}valueMaybe(){throw v("BaseLoadable")}valueOrThrow(){throw v(`Loadable expected value, but in "${this.state}" state`)}promiseMaybe(){throw v("BaseLoadable")}promiseOrThrow(){throw v(`Loadable expected promise, but in "${this.state}" state`)}errorMaybe(){throw v("BaseLoadable")}errorOrThrow(){throw v(`Loadable expected error, but in "${this.state}" state`)}is(e){return e.state===this.state&&e.contents===this.contents}map(e){throw v("BaseLoadable")}}class _ extends b{constructor(e){super(),y(this,"state","hasValue"),y(this,"contents",void 0),this.contents=e}getValue(){return this.contents}toPromise(){return Promise.resolve(this.contents)}valueMaybe(){return this.contents}valueOrThrow(){return this.contents}promiseMaybe(){}errorMaybe(){}map(e){try{const t=e(this.contents);return m(t)?T(t):k(t)?t:S(t)}catch(t){return m(t)?T(t.next((()=>this.map(e)))):E(t)}}}class w extends b{constructor(e){super(),y(this,"state","hasError"),y(this,"contents",void 0),this.contents=e}getValue(){throw this.contents}toPromise(){return Promise.reject(this.contents)}valueMaybe(){}promiseMaybe(){}errorMaybe(){return this.contents}errorOrThrow(){return this.contents}map(e){return this}}class x extends b{constructor(e){super(),y(this,"state","loading"),y(this,"contents",void 0),this.contents=e}getValue(){throw this.contents}toPromise(){return this.contents}valueMaybe(){}promiseMaybe(){return this.contents}promiseOrThrow(){return this.contents}errorMaybe(){}map(e){return T(this.contents.then((t=>{const n=e(t);if(k(n)){const e=n;switch(e.state){case"hasValue":case"loading":return e.contents;case"hasError":throw e.contents}}return n})).catch((t=>{if(m(t))return t.then((()=>this.map(e).contents));throw t})))}}function S(e){return Object.freeze(new _(e))}function E(e){return Object.freeze(new w(e))}function T(e){return Object.freeze(new x(e))}function V(){return Object.freeze(new x(new Promise((()=>{}))))}function A(e){const t=(Array.isArray(e)?e:Object.getOwnPropertyNames(e).map((t=>e[t]))).map((e=>k(e)?e:m(e)?T(e):S(e))),n=function(e){return e.every((e=>"hasValue"===e.state))?S(e.map((e=>e.contents))):e.some((e=>"hasError"===e.state))?E(g(e.find((e=>"hasError"===e.state)),"Invalid loadable passed to loadableAll").contents):T(Promise.all(e.map((e=>e.contents))))}(t);return Array.isArray(e)?n:n.map((t=>Object.getOwnPropertyNames(e).reduce(((e,n,o)=>({...e,[n]:t[o]})),{})))}function k(e){return e instanceof b}const N={of:e=>m(e)?T(e):k(e)?e:S(e),error:e=>E(e),loading:()=>V(),all:A,isLoadable:k};var R={loadableWithValue:S,loadableWithError:E,loadableWithPromise:T,loadableLoading:V,loadableAll:A,isLoadable:k,RecoilLoadable:N},j=R.loadableWithValue,C=R.loadableWithError,I=R.loadableWithPromise,O=R.loadableLoading,L=R.loadableAll,M=R.isLoadable,P=R.RecoilLoadable,D=Object.freeze({__proto__:null,loadableWithValue:j,loadableWithError:C,loadableWithPromise:I,loadableLoading:O,loadableAll:L,isLoadable:M,RecoilLoadable:P});const B={RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED:!0,RECOIL_GKS_ENABLED:new Set(["recoil_hamt_2020","recoil_sync_external_store","recoil_suppress_rerender_in_callback","recoil_memory_managament_2020"])};var z;"undefined"!=typeof process&&null!=(null===(z=process)||void 0===z?void 0:z.env)&&(function(e,t){var n,o;const r=null===(n=process.env[e])||void 0===n||null===(o=n.toLowerCase())||void 0===o?void 0:o.trim();if(null!=r&&""!==r){if(!["true","false"].includes(r))throw v(`process.env.${e} value must be 'true', 'false', or empty: ${r}`);t("true"===r)}}("RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED",(e=>{B.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED=e})),function(e,t){var n;const o=null===(n=process.env[e])||void 0===n?void 0:n.trim();null!=o&&""!==o&&t(o.split(/\s*,\s*|\s+/))}("RECOIL_GKS_ENABLED",(e=>{e.forEach((e=>{B.RECOIL_GKS_ENABLED.add(e)}))})));var U=B;function H(e){return U.RECOIL_GKS_ENABLED.has(e)}H.setPass=e=>{U.RECOIL_GKS_ENABLED.add(e)},H.setFail=e=>{U.RECOIL_GKS_ENABLED.delete(e)},H.clear=()=>{U.RECOIL_GKS_ENABLED.clear()};var F=H;var $,K,G,W=function(e,t,{error:n}={}){return"production"!==process.env.NODE_ENV&&console.error(e,n),null};const q=null!==($=o.createMutableSource)&&void 0!==$?$:o.unstable_createMutableSource,Y=null!==(K=o.useMutableSource)&&void 0!==K?K:o.unstable_useMutableSource,X=null!==(G=o.useSyncExternalStore)&&void 0!==G?G:o.unstable_useSyncExternalStore;let Z=!1;var J={createMutableSource:q,useMutableSource:Y,useSyncExternalStore:X,currentRendererSupportsUseSyncExternalStore:function(){var e;const{ReactCurrentDispatcher:t,ReactCurrentOwner:n}=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,r=null!=(null!==(e=null==t?void 0:t.current)&&void 0!==e?e:n.currentDispatcher).useSyncExternalStore;return!X||r||Z||(Z=!0,W("A React renderer without React 18+ API support is being used with React 18+.")),r},reactMode:function(){return F("recoil_transition_support")?{mode:"TRANSITION_SUPPORT",early:!0,concurrent:!0}:F("recoil_sync_external_store")&&null!=X?{mode:"SYNC_EXTERNAL_STORE",early:!0,concurrent:!1}:F("recoil_mutable_source")&&null!=Y&&"undefined"!=typeof window&&!window.$disableRecoilValueMutableSource_TEMP_HACK_DO_NOT_USE?F("recoil_suppress_rerender_in_callback")?{mode:"MUTABLE_SOURCE",early:!0,concurrent:!0}:{mode:"MUTABLE_SOURCE",early:!1,concurrent:!1}:F("recoil_suppress_rerender_in_callback")?{mode:"LEGACY",early:!0,concurrent:!1}:{mode:"LEGACY",early:!1,concurrent:!1}}};class Q{constructor(e){y(this,"key",void 0),this.key=e}toJSON(){return{key:this.key}}}class ee extends Q{}class te extends Q{}var ne={AbstractRecoilValue:Q,RecoilState:ee,RecoilValueReadOnly:te,isRecoilValue:function(e){return e instanceof ee||e instanceof te}},oe=ne.AbstractRecoilValue,re=ne.RecoilState,ie=ne.RecoilValueReadOnly,se=ne.isRecoilValue,ae=Object.freeze({__proto__:null,AbstractRecoilValue:oe,RecoilState:re,RecoilValueReadOnly:ie,isRecoilValue:se});var le=function(e,...t){let n=0;return e.replace(/%s/g,(()=>String(t[n++])))};var ce=function(e,...t){if("production"!==process.env.NODE_ENV){const n=le.call(null,e,...t),o=new Error(n);o.name="Expectation Violation",console.error(o)}},ue=ce;var de=function(e,t){return function*(){let n=0;for(const o of e)yield t(o,n++)}()};class fe{}const he=new fe,pe=new Map,ve=new Map;class me extends Error{}const ge=new Map;function ye(e){return ge.get(e)}var be={recoilValues:ve,registerNode:function(e){U.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED&&function(e){if(pe.has(e)){const t=`Duplicate atom key "${e}". 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.`;"production"!==process.env.NODE_ENV?ue(t,"recoil"):console.warn(t)}}(e.key),pe.set(e.key,e);const t=null==e.set?new ae.RecoilValueReadOnly(e.key):new ae.RecoilState(e.key);return ve.set(e.key,t),t},getNode:function(e){const t=pe.get(e);if(null==t)throw new me(`Missing definition for RecoilValue: "${e}""`);return t},getNodeMaybe:function(e){return pe.get(e)},deleteNodeConfigIfPossible:function(e){var t;if(!F("recoil_memory_managament_2020"))return;const n=pe.get(e);var o;null!=n&&null!==(t=n.shouldDeleteConfigOnRelease)&&void 0!==t&&t.call(n)&&(pe.delete(e),null===(o=ye(e))||void 0===o||o(),ge.delete(e))},setConfigDeletionHandler:function(e,t){F("recoil_memory_managament_2020")&&(void 0===t?ge.delete(e):ge.set(e,t))},getConfigDeletionHandler:ye,recoilValuesForKeys:function(e){return de(e,(e=>g(ve.get(e))))},DefaultValue:fe,DEFAULT_VALUE:he};var _e={enqueueExecution:function(e,t){t()}};var we=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n={},o=Math.pow(2,5),r=o-1,i=o/2,s=o/4,a={},l=function(e){return function(){return e}},c=n.hash=function(e){var n=void 0===e?"undefined":t(e);if("number"===n)return e;"string"!==n&&(e+="");for(var o=0,r=0,i=e.length;r<i;++r){o=(o<<5)-o+e.charCodeAt(r)|0}return o},u=function(e,t){return t>>>e&r},d=function(e){return 1<<e},f=function(e,t){return function(e){return e=(e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,127&e+(e>>16)}(e&t-1)},h=function(e,t,n,o){var r=o;if(!e){var i=o.length;r=new Array(i);for(var s=0;s<i;++s)r[s]=o[s]}return r[t]=n,r},p=function(e,t,n){var o=n.length-1,r=0,i=0,s=n;if(e)r=i=t;else for(s=new Array(o);r<t;)s[i++]=n[r++];for(++r;r<=o;)s[i++]=n[r++];return e&&(s.length=o),s},v={__hamt_isEmpty:!0},m=function(e){return e===v||e&&e.__hamt_isEmpty},g=function(e,t,n,o){return{type:1,edit:e,hash:t,key:n,value:o,_modify:S}},y=function(e,t,n){return{type:2,edit:e,hash:t,children:n,_modify:E}},b=function(e,t,n){return{type:3,edit:e,mask:t,children:n,_modify:T}},_=function(e,t,n){return{type:4,edit:e,size:t,children:n,_modify:V}},w=function e(t,n,o,r,i,s){if(o===i)return y(t,o,[s,r]);var a=u(n,o),l=u(n,i);return b(t,d(a)|d(l),a===l?[e(t,n+5,o,r,i,s)]:a<l?[r,s]:[s,r])},x=function(e,t){return e===t.edit},S=function(e,t,n,o,r,i,s){if(t(i,this.key)){var l=o(this.value);return l===this.value?this:l===a?(--s.value,v):x(e,this)?(this.value=l,this):g(e,r,i,l)}var c=o();return c===a?this:(++s.value,w(e,n,this.hash,this,r,g(e,r,i,c)))},E=function(e,t,n,o,r,i,s){if(r===this.hash){var l=function(e,t,n,o,r,i,s,l){for(var c=r.length,u=0;u<c;++u){var d=r[u];if(n(s,d.key)){var f=d.value,v=i(f);return v===f?r:v===a?(--l.value,p(e,u,r)):h(e,u,g(t,o,s,v),r)}}var m=i();return m===a?r:(++l.value,h(e,c,g(t,o,s,m),r))}(x(e,this),e,t,this.hash,this.children,o,i,s);return l===this.children?this:l.length>1?y(e,this.hash,l):l[0]}var c=o();return c===a?this:(++s.value,w(e,n,this.hash,this,r,g(e,r,i,c)))},T=function(e,t,n,o,r,s,a){var l=this.mask,c=this.children,g=u(n,r),y=d(g),w=f(l,y),S=l&y,E=S?c[w]:v,T=E._modify(e,t,n+5,o,r,s,a);if(E===T)return this;var V,A=x(e,this),k=l,N=void 0;if(S&&m(T)){if(!(k&=~y))return v;if(c.length<=2&&((V=c[1^w])===v||1===V.type||2===V.type))return c[1^w];N=p(A,w,c)}else if(S||m(T))N=h(A,w,T,c);else{if(c.length>=i)return function(e,t,n,o,r){for(var i=[],s=o,a=0,l=0;s;++l)1&s&&(i[l]=r[a++]),s>>>=1;return i[t]=n,_(e,a+1,i)}(e,g,T,l,c);k|=y,N=function(e,t,n,o){var r=o.length;if(e){for(var i=r;i>=t;)o[i--]=o[i];return o[t]=n,o}for(var s=0,a=0,l=new Array(r+1);s<t;)l[a++]=o[s++];for(l[t]=n;s<r;)l[++a]=o[s++];return l}(A,w,T,c)}return A?(this.mask=k,this.children=N,this):b(e,k,N)},V=function(e,t,n,o,r,i,a){var l=this.size,c=this.children,d=u(n,r),f=c[d],p=(f||v)._modify(e,t,n+5,o,r,i,a);if(f===p)return this;var g=x(e,this),y=void 0;if(m(f)&&!m(p))++l,y=h(g,d,p,c);else if(!m(f)&&m(p)){if(--l<=s)return function(e,t,n,o){for(var r=new Array(t-1),i=0,s=0,a=0,l=o.length;a<l;++a)if(a!==n){var c=o[a];c&&!m(c)&&(r[i++]=c,s|=1<<a)}return b(e,s,r)}(e,l,d,c);y=h(g,d,v,c)}else y=h(g,d,p,c);return g?(this.size=l,this.children=y,this):_(e,l,y)};function A(e,t,n,o,r){this._editable=e,this._edit=t,this._config=n,this._root=o,this._size=r}v._modify=function(e,t,n,o,r,i,s){var l=o();return l===a?v:(++s.value,g(e,r,i,l))},A.prototype.setTree=function(e,t){return this._editable?(this._root=e,this._size=t,this):e===this._root?this:new A(this._editable,this._edit,this._config,e,t)};var k=n.tryGetHash=function(e,t,n,o){for(var r=o._root,i=0,s=o._config.keyEq;;)switch(r.type){case 1:return s(n,r.key)?r.value:e;case 2:if(t===r.hash)for(var a=r.children,l=0,c=a.length;l<c;++l){var h=a[l];if(s(n,h.key))return h.value}return e;case 3:var p=u(i,t),v=d(p);if(r.mask&v){r=r.children[f(r.mask,v)],i+=5;break}return e;case 4:if(r=r.children[u(i,t)]){i+=5;break}return e;default:return e}};A.prototype.tryGetHash=function(e,t,n){return k(e,t,n,this)};var N=n.tryGet=function(e,t,n){return k(e,n._config.hash(t),t,n)};A.prototype.tryGet=function(e,t){return N(e,t,this)};var R=n.getHash=function(e,t,n){return k(void 0,e,t,n)};A.prototype.getHash=function(e,t){return R(e,t,this)},n.get=function(e,t){return k(void 0,t._config.hash(e),e,t)},A.prototype.get=function(e,t){return N(t,e,this)};var j=n.has=function(e,t,n){return k(a,e,t,n)!==a};A.prototype.hasHash=function(e,t){return j(e,t,this)};var C=n.has=function(e,t){return j(t._config.hash(e),e,t)};A.prototype.has=function(e){return C(e,this)};var I=function(e,t){return e===t};n.make=function(e){return new A(0,0,{keyEq:e&&e.keyEq||I,hash:e&&e.hash||c},v,0)},n.empty=n.make();var O=n.isEmpty=function(e){return e&&!!m(e._root)};A.prototype.isEmpty=function(){return O(this)};var L=n.modifyHash=function(e,t,n,o){var r={value:o._size},i=o._root._modify(o._editable?o._edit:NaN,o._config.keyEq,0,e,t,n,r);return o.setTree(i,r.value)};A.prototype.modifyHash=function(e,t,n){return L(n,e,t,this)};var M=n.modify=function(e,t,n){return L(e,n._config.hash(t),t,n)};A.prototype.modify=function(e,t){return M(t,e,this)};var P=n.setHash=function(e,t,n,o){return L(l(n),e,t,o)};A.prototype.setHash=function(e,t,n){return P(e,t,n,this)};var D=n.set=function(e,t,n){return P(n._config.hash(e),e,t,n)};A.prototype.set=function(e,t){return D(e,t,this)};var B=l(a),z=n.removeHash=function(e,t,n){return L(B,e,t,n)};A.prototype.removeHash=A.prototype.deleteHash=function(e,t){return z(e,t,this)};var U=n.remove=function(e,t){return z(t._config.hash(e),e,t)};A.prototype.remove=A.prototype.delete=function(e){return U(e,this)};var H=n.beginMutation=function(e){return new A(e._editable+1,e._edit+1,e._config,e._root,e._size)};A.prototype.beginMutation=function(){return H(this)};var F=n.endMutation=function(e){return e._editable=e._editable&&e._editable-1,e};A.prototype.endMutation=function(){return F(this)};var $=n.mutate=function(e,t){var n=H(t);return e(n),F(n)};A.prototype.mutate=function(e){return $(e,this)};var K=function(e){return e&&G(e[0],e[1],e[2],e[3],e[4])},G=function(e,t,n,o,r){for(;n<e;){var i=t[n++];if(i&&!m(i))return W(i,o,[e,t,n,o,r])}return K(r)},W=function(e,t,n){switch(e.type){case 1:return{value:t(e),rest:n};case 2:case 4:case 3:var o=e.children;return G(o.length,o,0,t,n);default:return K(n)}},q={done:!0};function Y(e){this.v=e}Y.prototype.next=function(){if(!this.v)return q;var e=this.v;return this.v=K(e.rest),e},Y.prototype[Symbol.iterator]=function(){return this};var X=function(e,t){return new Y(W(e._root,t))},Z=function(e){return[e.key,e.value]},J=n.entries=function(e){return X(e,Z)};A.prototype.entries=A.prototype[Symbol.iterator]=function(){return J(this)};var Q=function(e){return e.key},ee=n.keys=function(e){return X(e,Q)};A.prototype.keys=function(){return ee(this)};var te=function(e){return e.value},ne=n.values=A.prototype.values=function(e){return X(e,te)};A.prototype.values=function(){return ne(this)};var oe=n.fold=function(e,t,n){var o=n._root;if(1===o.type)return e(t,o.value,o.key);for(var r=[o.children],i=void 0;i=r.pop();)for(var s=0,a=i.length;s<a;){var l=i[s++];l&&l.type&&(1===l.type?t=e(t,l.value,l.key):r.push(l.children))}return t};A.prototype.fold=function(e,t){return oe(e,t,this)};var re=n.forEach=function(e,t){return oe((function(n,o,r){return e(o,r,t)}),null,t)};A.prototype.forEach=function(e){return re(e,this)};var ie=n.count=function(e){return e._size};A.prototype.count=function(){return ie(this)},Object.defineProperty(A.prototype,"size",{get:A.prototype.count}),e.exports?e.exports=n:(void 0).hamt=n}));class xe{constructor(e){y(this,"_map",void 0),this._map=new Map(null==e?void 0:e.entries())}keys(){return this._map.keys()}entries(){return this._map.entries()}get(e){return this._map.get(e)}has(e){return this._map.has(e)}set(e,t){return this._map.set(e,t),this}delete(e){return this._map.delete(e),this}clone(){return Ee(this)}toMap(){return new Map(this._map)}}class Se{constructor(e){if(y(this,"_hamt",we.empty.beginMutation()),e instanceof Se){const t=e._hamt.endMutation();e._hamt=t.beginMutation(),this._hamt=t.beginMutation()}else if(e)for(const[t,n]of e.entries())this._hamt.set(t,n)}keys(){return this._hamt.keys()}entries(){return this._hamt.entries()}get(e){return this._hamt.get(e)}has(e){return this._hamt.has(e)}set(e,t){return this._hamt.set(e,t),this}delete(e){return this._hamt.delete(e),this}clone(){return Ee(this)}toMap(){return new Map(this._hamt)}}function Ee(e){return F("recoil_hamt_2020")?new Se(e):new xe(e)}var Te=Ee,Ve=Object.freeze({__proto__:null,persistentMap:Te});var Ae=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};var ke=function(e,t){const n=new Map;return e.forEach(((e,o)=>{n.set(o,t(e,o))})),n};function Ne(e,t,n,o){const{nodeDeps:r,nodeToNodeSubscriptions:i}=n,s=r.get(e);if(s&&o&&s!==o.nodeDeps.get(e))return;r.set(e,t);const a=null==s?t:Ae(t,s);for(const t of a){i.has(t)||i.set(t,new Set);g(i.get(t)).add(e)}if(s){const n=Ae(s,t);for(const t of n){if(!i.has(t))return;const n=g(i.get(t));n.delete(e),0===n.size&&i.delete(t)}}}var Re={cloneGraph:function(e){return{nodeDeps:ke(e.nodeDeps,(e=>new Set(e))),nodeToNodeSubscriptions:ke(e.nodeToNodeSubscriptions,(e=>new Set(e)))}},graph:function(){return{nodeDeps:new Map,nodeToNodeSubscriptions:new Map}},saveDepsToStore:function(e,t,n,o){var r,i,s,a;const l=n.getState();o!==l.currentTree.version&&o!==(null===(r=l.nextTree)||void 0===r?void 0:r.version)&&o!==(null===(i=l.previousTree)||void 0===i?void 0:i.version)&&W("Tried to save dependencies to a discarded tree");const c=n.getGraph(o);if(Ne(e,t,c),o===(null===(s=l.previousTree)||void 0===s?void 0:s.version)){Ne(e,t,n.getGraph(l.currentTree.version),c)}if(o===(null===(a=l.previousTree)||void 0===a?void 0:a.version)||o===l.currentTree.version){var u;const o=null===(u=l.nextTree)||void 0===u?void 0:u.version;if(void 0!==o){Ne(e,t,n.getGraph(o),c)}}}};let je=0;let Ce=0;let Ie=0;var Oe={getNextTreeStateVersion:()=>je++,getNextStoreID:()=>Ce++,getNextComponentID:()=>Ie++};const{persistentMap:Le}=Ve,{graph:Me}=Re,{getNextTreeStateVersion:Pe}=Oe;var De={makeEmptyStoreState:function(){const e=function(){const e=Pe();return{version:e,stateID:e,transactionMetadata:{},dirtyAtoms:new Set,atomValues:Le(),nonvalidatedAtoms:Le()}}();return{currentTree:e,nextTree:null,previousTree:null,commitDepth:0,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,Me()),retention:{referenceCounts:new Map,nodesRetainedByZone:new Map,retainablesToCheckForRelease:new Set},nodeCleanupFunctions:new Map}},getNextTreeStateVersion:Pe};var Be={RetentionZone:class{}};var ze={setByAddingToSet:function(e,t){const n=new Set(e);return n.add(t),n}};var Ue=function*(e,t){let n=0;for(const o of e)t(o,n++)&&(yield o)};var He=function(e,t){return new Proxy(e,{get:(e,n)=>(!(n in e)&&n in t&&(e[n]=t[n]()),e[n]),ownKeys:e=>Object.keys(e)})};const{getNode:Fe,getNodeMaybe:$e,recoilValuesForKeys:Ke}=be,{RetentionZone:Ge}=Be,{setByAddingToSet:We}=ze,qe=Object.freeze(new Set);class Ye extends Error{}function Xe(e,t,n,o){const r=e.getState();if(r.nodeCleanupFunctions.has(n))return;const i=Fe(n),s=function(e,t,n){if(!F("recoil_memory_managament_2020"))return()=>{};const{nodesRetainedByZone:o}=e.getState().retention;function r(e){let n=o.get(e);n||o.set(e,n=new Set),n.add(t)}if(n instanceof Ge)r(n);else if(Array.isArray(n))for(const e of n)r(e);return()=>{if(!F("recoil_memory_managament_2020"))return;const{retention:o}=e.getState();function r(e){const n=o.nodesRetainedByZone.get(e);null==n||n.delete(t),n&&0===n.size&&o.nodesRetainedByZone.delete(e)}if(n instanceof Ge)r(n);else if(Array.isArray(n))for(const e of n)r(e)}}(e,n,i.retainedBy),a=i.init(e,t,o);r.nodeCleanupFunctions.set(n,(()=>{a(),s()}))}function Ze(e,t,n){return Fe(n).peek(e,t)}function Je(e,t,n){const o=new Set,r=Array.from(n),i=e.getGraph(t.version);for(let e=r.pop();e;e=r.pop()){var s;o.add(e);const t=null!==(s=i.nodeToNodeSubscriptions.get(e))&&void 0!==s?s:qe;for(const e of t)o.has(e)||r.push(e)}return o}var Qe={getNodeLoadable:function(e,t,n){return Xe(e,t,n,"get"),Fe(n).get(e,t)},peekNodeLoadable:Ze,setNodeValue:function(e,t,n,o){const r=Fe(n);if(null==r.set)throw new Ye(`Attempt to set read-only RecoilValue: ${n}`);const i=r.set;return Xe(e,t,n,"set"),i(e,t,o)},initializeNode:function(e,t,n){Xe(e,e.getState().currentTree,t,n)},cleanUpNode:function(e,t){var n;const o=e.getState();null===(n=o.nodeCleanupFunctions.get(t))||void 0===n||n(),o.nodeCleanupFunctions.delete(t)},setUnvalidatedAtomValue_DEPRECATED:function(e,t,n){var o;const r=$e(t);return null==r||null===(o=r.invalidate)||void 0===o||o.call(r,e),{...e,atomValues:e.atomValues.clone().delete(t),nonvalidatedAtoms:e.nonvalidatedAtoms.clone().set(t,n),dirtyAtoms:We(e.dirtyAtoms,t)}},peekNodeInfo:function(e,t,n){const o=e.getState(),r=e.getGraph(t.version),i=Fe(n).nodeType;return He({type:i},{loadable:()=>Ze(e,t,n),isActive:()=>o.knownAtoms.has(n)||o.knownSelectors.has(n),isSet:()=>"selector"!==i&&t.atomValues.has(n),isModified:()=>t.dirtyAtoms.has(n),deps:()=>{var e;return Ke(null!==(e=r.nodeDeps.get(n))&&void 0!==e?e:[])},subscribers:()=>{var r,i;return{nodes:Ke(Ue(Je(e,t,new Set([n])),(e=>e!==n))),components:de(null!==(r=null===(i=o.nodeToComponentSubscriptions.get(n))||void 0===i?void 0:i.values())&&void 0!==r?r:[],(([e])=>({name:e})))}}})},getDownstreamNodes:Je};let et=null;var tt={setInvalidateMemoizedSnapshot:function(e){et=e},invalidateMemoizedSnapshot:function(){var e;null===(e=et)||void 0===e||e()}};const{getDownstreamNodes:nt,getNodeLoadable:ot,setNodeValue:rt}=Qe,{getNextComponentID:it}=Oe,{getNode:st,getNodeMaybe:at}=be,{DefaultValue:lt}=be,{reactMode:ct}=J,{AbstractRecoilValue:ut,RecoilState:dt,RecoilValueReadOnly:ft,isRecoilValue:ht}=ae,{invalidateMemoizedSnapshot:pt}=tt;function vt(e,t,n){if("set"===n.type){const{recoilValue:o,valueOrUpdater:r}=n,i=function(e,t,{key:n},o){if("function"==typeof o){const r=ot(e,t,n);if("loading"===r.state){const e=`Tried to set atom or selector "${n}" using an updater function while the current state is pending, this is not currently supported.`;throw W(e),v(e)}if("hasError"===r.state)throw r.contents;return o(r.contents)}return o}(e,t,o,r),s=rt(e,t,o.key,i);for(const[e,n]of s.entries())mt(t,e,n)}else if("setLoadable"===n.type){const{recoilValue:{key:e},loadable:o}=n;mt(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,i=at(e);null==i||null===(o=i.invalidate)||void 0===o||o.call(i,t),t.atomValues.delete(e),t.nonvalidatedAtoms.set(e,r),t.dirtyAtoms.add(e)}else W(`Unknown action ${n.type}`)}function mt(e,t,n){"hasValue"===n.state&&n.contents instanceof lt?e.atomValues.delete(t):e.atomValues.set(t,n),e.dirtyAtoms.add(t),e.nonvalidatedAtoms.delete(t)}function gt(e,t){e.replaceState((n=>{const o=_t(n);for(const n of t)vt(e,o,n);return wt(e,o),pt(),o}))}function yt(e,t){if(bt.length){const n=bt[bt.length-1];let o=n.get(e);o||n.set(e,o=[]),o.push(t)}else gt(e,[t])}const bt=[];function _t(e){return{...e,atomValues:e.atomValues.clone(),nonvalidatedAtoms:e.nonvalidatedAtoms.clone(),dirtyAtoms:new Set(e.dirtyAtoms)}}function wt(e,t){const n=nt(e,t,t.dirtyAtoms);for(const e of n){var o,r;null===(o=at(e))||void 0===o||null===(r=o.invalidate)||void 0===r||r.call(o,t)}}function xt(e,t,n){yt(e,{type:"set",recoilValue:t,valueOrUpdater:n})}var St={AbstractRecoilValue:ut,getRecoilValueAsLoadable:function(e,{key:t},n=e.getState().currentTree){var o,r;const i=e.getState();n.version!==i.currentTree.version&&n.version!==(null===(o=i.nextTree)||void 0===o?void 0:o.version)&&n.version!==(null===(r=i.previousTree)||void 0===r?void 0:r.version)&&W("Tried to read from a discarded tree");const s=ot(e,n,t);return"loading"===s.state&&s.contents.catch((()=>{})),s},setRecoilValue:xt,setRecoilValueLoadable:function(e,t,n){if(n instanceof lt)return xt(e,t,n);yt(e,{type:"setLoadable",recoilValue:t,loadable:n})},markRecoilValueModified:function(e,t){yt(e,{type:"markModified",recoilValue:t})},setUnvalidatedRecoilValue:function(e,t,n){yt(e,{type:"setUnvalidated",recoilValue:t,unvalidatedValue:n})},subscribeToRecoilValue:function(e,{key:t},n,o=null){const r=it(),i=e.getState();i.nodeToComponentSubscriptions.has(t)||i.nodeToComponentSubscriptions.set(t,new Map),g(i.nodeToComponentSubscriptions.get(t)).set(r,[null!=o?o:"<not captured>",n]);const s=ct();if(s.early&&("LEGACY"===s.mode||"MUTABLE_SOURCE"===s.mode)){const o=e.getState().nextTree;o&&o.dirtyAtoms.has(t)&&n(o)}return{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)):W(`Subscription missing at release time for atom ${t}. This is a bug in Recoil.`)}}},applyAtomValueWrites:function(e,t){const n=e.clone();return t.forEach(((e,t)=>{"hasValue"===e.state&&e.contents instanceof lt?n.delete(t):n.set(t,e)})),n},batchStart:function(){const e=new Map;return bt.push(e),()=>{for(const[t,n]of e)gt(t,n);bt.pop()!==e&&W("Incorrect order of batch popping")}},writeLoadableToTreeState:mt,invalidateDownstreams:wt,copyTreeState:_t,refreshRecoilValue:function(e,t){var n;const{currentTree:o}=e.getState(),r=st(t.key);null===(n=r.clearCache)||void 0===n||n.call(r,e,o)}};var Et=function(e,t,n){const o=e.entries();let r=o.next();for(;!r.done;){const i=r.value;if(t.call(n,i[1],i[0],e))return!0;r=o.next()}return!1};const{cleanUpNode:Tt}=Qe,{deleteNodeConfigIfPossible:Vt,getNode:At}=be,{RetentionZone:kt}=Be,Nt=new Set;function Rt(e,t){const n=e.getState(),o=n.currentTree;if(n.nextTree)return void W("releaseNodesNowOnCurrentTree should only be called at the end of a batch");const r=new Set;for(const e of t)if(e instanceof kt)for(const t of Ct(n,e))r.add(t);else r.add(e);const i=function(e,t){const n=e.getState(),o=n.currentTree,r=e.getGraph(o.version),i=new Set,s=new Set;return a(t),i;function a(t){const l=new Set,c=function(e,t,n,o,r){const i=e.getGraph(t.version),s=[],a=new Set;for(;n.size>0;)l(g(n.values().next().value));return s;function l(e){if(o.has(e)||r.has(e))return void n.delete(e);if(a.has(e))return;const t=i.nodeToNodeSubscriptions.get(e);if(t)for(const e of t)l(e);a.add(e),n.delete(e),s.push(e)}}(e,o,t,i,s);for(const e of c){var u;if("recoilRoot"===At(e).retainedBy){s.add(e);continue}if((null!==(u=n.retention.referenceCounts.get(e))&&void 0!==u?u:0)>0){s.add(e);continue}if(It(e).some((e=>n.retention.referenceCounts.get(e)))){s.add(e);continue}const t=r.nodeToNodeSubscriptions.get(e);t&&Et(t,(e=>s.has(e)))?s.add(e):(i.add(e),l.add(e))}const d=new Set;for(const e of l)for(const t of null!==(f=r.nodeDeps.get(e))&&void 0!==f?f:Nt){var f;i.has(t)||d.add(t)}d.size&&a(d)}}(e,r);for(const t of i)jt(e,o,t)}function jt(e,t,n){if(!F("recoil_memory_managament_2020"))return;Tt(e,n);const o=e.getState();o.knownAtoms.delete(n),o.knownSelectors.delete(n),o.nodeTransactionSubscriptions.delete(n),o.retention.referenceCounts.delete(n);const r=It(n);for(const e of r){var i;null===(i=o.retention.nodesRetainedByZone.get(e))||void 0===i||i.delete(n)}t.atomValues.delete(n),t.dirtyAtoms.delete(n),t.nonvalidatedAtoms.delete(n);const s=o.graphsByVersion.get(t.version);if(s){const e=s.nodeDeps.get(n);if(void 0!==e){s.nodeDeps.delete(n);for(const t of e){var a;null===(a=s.nodeToNodeSubscriptions.get(t))||void 0===a||a.delete(n)}}s.nodeToNodeSubscriptions.delete(n)}Vt(n)}function Ct(e,t){var n;return null!==(n=e.retention.nodesRetainedByZone.get(t))&&void 0!==n?n:Nt}function It(e){const t=At(e).retainedBy;return void 0===t||"components"===t||"recoilRoot"===t?[]:t instanceof kt?[t]:t}var Ot={SUSPENSE_TIMEOUT_MS:12e4,updateRetainCount:function(e,t,n){var o;if(!F("recoil_memory_managament_2020"))return;const r=e.getState().retention.referenceCounts,i=(null!==(o=r.get(t))&&void 0!==o?o:0)+n;0===i?function(e,t){if(!F("recoil_memory_managament_2020"))return;const n=e.getState().retention.referenceCounts;n.delete(t),function(e,t){const n=e.getState();n.nextTree?n.retention.retainablesToCheckForRelease.add(t):Rt(e,new Set([t]))}(e,t)}(e,t):r.set(t,i)},releaseScheduledRetainablesNow:function(e){if(!F("recoil_memory_managament_2020"))return;const t=e.getState();Rt(e,t.retention.retainablesToCheckForRelease),t.retention.retainablesToCheckForRelease.clear()},retainedByOptionWithDefault:function(e){return void 0===e?"recoilRoot":e}};const{unstable_batchedUpdates:Lt}=r;var Mt={unstable_batchedUpdates:Lt};const{unstable_batchedUpdates:Pt}=Mt;var Dt={unstable_batchedUpdates:Pt};const{batchStart:Bt}=St,{unstable_batchedUpdates:zt}=Dt;let Ut=zt||(e=>e());var Ht={batchUpdates:e=>{Ut((()=>{let t=()=>{};try{t=Bt(),e()}finally{t()}}))}};var Ft=function*(e){for(const t of e)for(const e of t)yield e};const $t="undefined"==typeof Window||"undefined"==typeof window,Kt="undefined"!=typeof navigator&&"ReactNative"===navigator.product;var Gt={isSSR:$t,isReactNative:Kt,isWindow:e=>!$t&&(e===window||e instanceof Window)};var Wt={memoizeOneWithArgsHashAndInvalidation:function(e,t){let n,o;return[(...r)=>{const i=t(...r);return n===i||(n=i,o=e(...r)),o},()=>{n=null}]}};const{batchUpdates:qt}=Ht,{initializeNode:Yt,peekNodeInfo:Xt}=Qe,{graph:Zt}=Re,{getNextStoreID:Jt}=Oe,{DEFAULT_VALUE:Qt,recoilValues:en,recoilValuesForKeys:tn}=be,{AbstractRecoilValue:nn,getRecoilValueAsLoadable:on,setRecoilValue:rn,setUnvalidatedRecoilValue:sn}=St,{updateRetainCount:an}=Ot,{setInvalidateMemoizedSnapshot:ln}=tt,{getNextTreeStateVersion:cn,makeEmptyStoreState:un}=De,{isSSR:dn}=Gt,{memoizeOneWithArgsHashAndInvalidation:fn}=Wt;class hn{constructor(e,t){y(this,"_store",void 0),y(this,"_refCount",1),y(this,"getLoadable",(e=>(this.checkRefCount_INTERNAL(),on(this._store,e)))),y(this,"getPromise",(e=>(this.checkRefCount_INTERNAL(),this.getLoadable(e).toPromise()))),y(this,"getNodes_UNSTABLE",(e=>{if(this.checkRefCount_INTERNAL(),!0===(null==e?void 0:e.isModified)){if(!1===(null==e?void 0:e.isInitialized))return[];const t=this._store.getState().currentTree;return tn(t.dirtyAtoms)}const t=this._store.getState().knownAtoms,n=this._store.getState().knownSelectors;return null==(null==e?void 0:e.isInitialized)?en.values():!0===e.isInitialized?tn(Ft([t,n])):Ue(en.values(),(({key:e})=>!t.has(e)&&!n.has(e)))})),y(this,"getInfo_UNSTABLE",(({key:e})=>(this.checkRefCount_INTERNAL(),Xt(this._store,this._store.getState().currentTree,e)))),y(this,"map",(e=>{this.checkRefCount_INTERNAL();const t=new gn(this,qt);return e(t),t})),y(this,"asyncMap",(async e=>{this.checkRefCount_INTERNAL();const t=new gn(this,qt);return t.retain(),await e(t),t.autoRelease_INTERNAL(),t})),this._store={storeID:Jt(),parentStoreID:t,getState:()=>e,replaceState:t=>{e.currentTree=t(e.currentTree)},getGraph:t=>{const n=e.graphsByVersion;if(n.has(t))return g(n.get(t));const o=Zt();return n.set(t,o),o},subscribeToTransactions:()=>({release:()=>{}}),addTransactionMetadata:()=>{throw v("Cannot subscribe to Snapshots")}};for(const e of this._store.getState().knownAtoms)Yt(this._store,e,"get"),an(this._store,e,1);this.autoRelease_INTERNAL()}retain(){if(this._refCount<=0){if("production"!==process.env.NODE_ENV)throw v("Snapshot has already been released.");W("Attempt to retain() Snapshot that was already released.")}this._refCount++;let e=!1;return()=>{e||(e=!0,this._release())}}autoRelease_INTERNAL(){dn||window.setTimeout((()=>this._release()),10)}_release(){if(this._refCount--,0===this._refCount){if(this._store.getState().nodeCleanupFunctions.forEach((e=>e())),this._store.getState().nodeCleanupFunctions.clear(),!F("recoil_memory_managament_2020"))return}else this._refCount<0&&"production"!==process.env.NODE_ENV&&W("Snapshot released an extra time.")}isRetained(){return this._refCount>0}checkRefCount_INTERNAL(){F("recoil_memory_managament_2020")&&this._refCount<=0&&"production"!==process.env.NODE_ENV&&W("\nRecoil Snapshots only last for the duration of the callback they are provided to. To keep a Snapshot longer, do this:\n\n const release = snapshot.retain();\n try {\n await doSomethingWithSnapshot(snapshot);\n } finally {\n release();\n }\n\nThis is currently a DEV-only warning but will become a thrown exception in the next release of Recoil.\n")}getStore_INTERNAL(){return this.checkRefCount_INTERNAL(),this._store}getID(){return this.checkRefCount_INTERNAL(),this._store.getState().currentTree.stateID}getStoreID(){return this.checkRefCount_INTERNAL(),this._store.storeID}}function pn(e,t,n=!1){const o=e.getState(),r=n?cn():t.version;return{currentTree:{version:n?r:t.version,stateID:n?r:t.stateID,transactionMetadata:{...t.transactionMetadata},dirtyAtoms:new Set(t.dirtyAtoms),atomValues:t.atomValues.clone(),nonvalidatedAtoms:t.nonvalidatedAtoms.clone()},commitDepth:0,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)),retention:{referenceCounts:new Map,nodesRetainedByZone:new Map,retainablesToCheckForRelease:new Set},nodeCleanupFunctions:new Map(de(o.nodeCleanupFunctions.entries(),(([e])=>[e,()=>{}])))}}const[vn,mn]=fn(((e,t)=>{var n;const o=e.getState(),r="latest"===t?null!==(n=o.nextTree)&&void 0!==n?n:o.currentTree:g(o.previousTree);return new hn(pn(e,r),e.storeID)}),((e,t)=>{var n,o;return String(t)+String(e.storeID)+String(null===(n=e.getState().nextTree)||void 0===n?void 0:n.version)+String(e.getState().currentTree.version)+String(null===(o=e.getState().previousTree)||void 0===o?void 0:o.version)}));ln(mn);class gn extends hn{constructor(e,t){super(pn(e.getStore_INTERNAL(),e.getStore_INTERNAL().getState().currentTree,!0),e.getStoreID()),y(this,"_batch",void 0),y(this,"set",((e,t)=>{this.checkRefCount_INTERNAL();const n=this.getStore_INTERNAL();this._batch((()=>{an(n,e.key,1),rn(this.getStore_INTERNAL(),e,t)}))})),y(this,"reset",(e=>{this.checkRefCount_INTERNAL();const t=this.getStore_INTERNAL();this._batch((()=>{an(t,e.key,1),rn(this.getStore_INTERNAL(),e,Qt)}))})),y(this,"setUnvalidatedAtomValues_DEPRECATED",(e=>{this.checkRefCount_INTERNAL();const t=this.getStore_INTERNAL();qt((()=>{for(const[n,o]of e.entries())an(t,n,1),sn(t,new nn(n),o)}))})),this._batch=t}}var yn={Snapshot:hn,MutableSnapshot:gn,freshSnapshot:function(e){const t=new hn(un());return null!=e?t.map(e):t},cloneSnapshot:function(e,t="latest"){const n=vn(e,t);return n.isRetained()?n:(mn(),vn(e,t))}},bn=yn.Snapshot,_n=yn.MutableSnapshot,wn=yn.freshSnapshot,xn=yn.cloneSnapshot,Sn=Object.freeze({__proto__:null,Snapshot:bn,MutableSnapshot:_n,freshSnapshot:wn,cloneSnapshot:xn});var En=function(...e){const t=new Set;for(const n of e)for(const e of n)t.add(e);return t};const{useRef:Tn}=o;var Vn=function(e){const t=Tn(e);return t.current===e&&"function"==typeof e&&(t.current=e()),t};const{getNextTreeStateVersion:An,makeEmptyStoreState:kn}=De,{cleanUpNode:Nn,getDownstreamNodes:Rn,initializeNode:jn,setNodeValue:Cn,setUnvalidatedAtomValue_DEPRECATED:In}=Qe,{graph:On}=Re,{cloneGraph:Ln}=Re,{getNextStoreID:Mn}=Oe,{createMutableSource:Pn,reactMode:Dn}=J,{applyAtomValueWrites:Bn}=St,{releaseScheduledRetainablesNow:zn}=Ot,{freshSnapshot:Un}=Sn,{useCallback:Hn,useContext:Fn,useEffect:$n,useMemo:Kn,useRef:Gn,useState:Wn}=o;function qn(){throw v("This component must be used inside a <RecoilRoot> component.")}const Yn=Object.freeze({storeID:Mn(),getState:qn,replaceState:qn,getGraph:qn,subscribeToTransactions:qn,addTransactionMetadata:qn});let Xn=!1;function Zn(e){if(Xn)throw v("An atom update was triggered within the execution of a state updater function. State updater functions provided to Recoil must be pure functions.");const t=e.getState();if(null===t.nextTree){F("recoil_memory_managament_2020")&&F("recoil_release_on_cascading_update_killswitch_2021")&&t.commitDepth>0&&zn(e);const n=t.currentTree.version,o=An();t.nextTree={...t.currentTree,version:o,stateID:o,dirtyAtoms:new Set,transactionMetadata:{}},t.graphsByVersion.set(o,Ln(g(t.graphsByVersion.get(n))))}}const Jn=o.createContext({current:Yn}),Qn=()=>Fn(Jn),eo=o.createContext(null);function to(e,t,n){const o=Rn(e,n,n.dirtyAtoms);for(const e of o){const o=t.nodeToComponentSubscriptions.get(e);if(o)for(const[e,[t,r]]of o)r(n)}}function no(e){const t=e.getState();t.commitDepth++;try{const{nextTree:n}=t;if(null==n)return;t.previousTree=t.currentTree,t.currentTree=n,t.nextTree=null,function(e){const t=e.getState(),n=t.currentTree,o=n.dirtyAtoms;if(o.size){for(const[n,r]of t.nodeTransactionSubscriptions)if(o.has(n))for(const[t,n]of r)n(e);for(const[n,o]of t.transactionSubscriptions)o(e);(!Dn().early||t.suspendedComponentResolvers.size>0)&&(to(e,t,n),t.suspendedComponentResolvers.forEach((e=>e())),t.suspendedComponentResolvers.clear())}t.queuedComponentCallbacks_DEPRECATED.forEach((e=>e(n))),t.queuedComponentCallbacks_DEPRECATED.splice(0,t.queuedComponentCallbacks_DEPRECATED.length)}(e),null!=t.previousTree?t.graphsByVersion.delete(t.previousTree.version):W("Ended batch with no previous state, which is unexpected","recoil"),t.previousTree=null,F("recoil_memory_managament_2020")&&null==n&&zn(e)}finally{t.commitDepth--}}function oo({setNotifyBatcherOfChange:e}){const t=Qn(),[,n]=Wn([]);return e((()=>n({}))),$n((()=>(e((()=>n({}))),()=>{e((()=>{}))})),[e]),$n((()=>{_e.enqueueExecution("Batcher",(()=>{no(t.current)}))})),null}"production"!==process.env.NODE_ENV&&("undefined"==typeof window||window.$recoilDebugStates||(window.$recoilDebugStates=[]));let ro=0;function io({initializeState_DEPRECATED:e,initializeState:t,store_INTERNAL:n,children:r}){let i;const s=e=>{const t=i.current.graphsByVersion;if(t.has(e))return g(t.get(e));const n=On();return t.set(e,n),n},a=(e,t)=>{if(null==t){const{transactionSubscriptions:t}=f.current.getState(),n=ro++;return t.set(n,e),{release:()=>{t.delete(n)}}}{const{nodeTransactionSubscriptions:n}=f.current.getState();n.has(t)||n.set(t,new Map);const o=ro++;return g(n.get(t)).set(o,e),{release:()=>{const e=n.get(t);e&&(e.delete(o),0===e.size&&n.delete(t))}}}},l=e=>{Zn(f.current);for(const t of Object.keys(e))g(f.current.getState().nextTree).transactionMetadata[t]=e[t]},c=e=>{Zn(f.current);const t=g(i.current.nextTree);let n;try{Xn=!0,n=e(t)}finally{Xn=!1}n!==t&&("production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&window.$recoilDebugStates.push(n),i.current.nextTree=n,Dn().early&&to(f.current,i.current,n),g(u.current)())},u=Gn(null),d=Hn((e=>{u.current=e}),[u]),f=Vn((()=>null!=n?n:{storeID:Mn(),getState:()=>i.current,replaceState:c,getGraph:s,subscribeToTransactions:a,addTransactionMetadata:l}));null!=n&&(f.current=n),i=Vn((()=>null!=e?function(e,t){const n=kn();return t({set:(t,o)=>{const r=n.currentTree,i=Cn(e,r,t.key,o),s=new Set(i.keys()),a=r.nonvalidatedAtoms.clone();for(const e of s)a.delete(e);n.currentTree={...r,dirtyAtoms:En(r.dirtyAtoms,s),atomValues:Bn(r.atomValues,i),nonvalidatedAtoms:a}},setUnvalidatedAtomValues:e=>{e.forEach(((e,t)=>{n.currentTree=In(n.currentTree,t,e)}))}}),n}(f.current,e):null!=t?function(e){const t=Un(e),n=t.getStore_INTERNAL().getState();return t.retain(),n.nodeCleanupFunctions.forEach((e=>e())),n.nodeCleanupFunctions.clear(),n}(t):kn()));const h=Kn((()=>null==Pn?void 0:Pn(i,(()=>i.current.currentTree.version))),[i]);return $n((()=>{const e=f.current;for(const t of new Set(e.getState().knownAtoms))jn(e,t,"get");return()=>{for(const t of e.getState().knownAtoms)Nn(e,t)}}),[f]),o.createElement(Jn.Provider,{value:f},o.createElement(eo.Provider,{value:h},o.createElement(oo,{setNotifyBatcherOfChange:d}),r))}var so={RecoilRoot:function(e){const{override:t,...n}=e,r=Qn();return!1===t&&r.current!==Yn?e.children:o.createElement(io,n)},useStoreRef:Qn,useRecoilMutableSource:function(){const e=Fn(eo);return null==e&&ue("Attempted to use a Recoil hook outside of a <RecoilRoot>. <RecoilRoot> must be an ancestor of any component that uses Recoil hooks."),e}};var ao=function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0,o=e.length;n<o;n++)if(e[n]!==t[n])return!1;return!0};const{useEffect:lo,useRef:co}=o;var uo=function(e){const t=co();return lo((()=>{t.current=e})),t.current};const{useStoreRef:fo}=so,{SUSPENSE_TIMEOUT_MS:ho}=Ot,{updateRetainCount:po}=Ot,{RetentionZone:vo}=Be,{useEffect:mo,useRef:go}=o,{isSSR:yo}=Gt;var bo=function(e){if(F("recoil_memory_managament_2020"))return function(e){const t=Array.isArray(e)?e:[e],n=t.map((e=>e instanceof vo?e:e.key)),o=fo();mo((()=>{if(!F("recoil_memory_managament_2020"))return;const e=o.current;if(r.current&&!yo)window.clearTimeout(r.current),r.current=null;else for(const t of n)po(e,t,1);return()=>{for(const t of n)po(e,t,-1)}}),[o,...n]);const r=go(),i=uo(n);if(!(yo||void 0!==i&&ao(i,n))){const e=o.current;for(const t of n)po(e,t,1);if(i)for(const t of i)po(e,t,-1);r.current&&window.clearTimeout(r.current),r.current=window.setTimeout((()=>{r.current=null;for(const t of n)po(e,t,-1)}),ho)}}(e)};var _o=function(){return"<component name not available>"};const{currentRendererSupportsUseSyncExternalStore:wo,reactMode:xo,useMutableSource:So,useSyncExternalStore:Eo}=J,{useRecoilMutableSource:To,useStoreRef:Vo}=so,{isRecoilValue:Ao}=ae,{getRecoilValueAsLoadable:ko,setRecoilValue:No,subscribeToRecoilValue:Ro}=St,{useCallback:jo,useEffect:Co,useMemo:Io,useRef:Oo,useState:Lo}=o,{isSSR:Mo}=Gt;function Po(e,t){if(!Ao(e))throw v(`Invalid argument to ${t}: expected an atom or selector but got ${String(e)}`)}function Do(e){const t=Vo(),n=_o(),o=jo((()=>{var n;process.env.NODE_ENV;const o=t.current,r=o.getState(),i=xo().early&&null!==(n=r.nextTree)&&void 0!==n?n:r.currentTree;return{loadable:ko(o,e,i),key:e.key}}),[t,e]),r=jo((e=>{let t;return()=>{var n,o;const r=e();return null!==(n=t)&&void 0!==n&&n.loadable.is(r.loadable)&&(null===(o=t)||void 0===o?void 0:o.key)===r.key?t:(t=r,r)}}),[]),i=Io((()=>r(o)),[o,r]),s=jo((o=>{const r=t.current;return Ro(r,e,o,n).release}),[t,e,n]);return Eo(s,i,i).loadable}function Bo(e){const t=Vo(),n=jo((()=>{var n;const o=t.current,r=o.getState(),i=xo().early&&null!==(n=r.nextTree)&&void 0!==n?n:r.currentTree;return ko(o,e,i)}),[t,e]),o=jo((()=>(process.env.NODE_ENV,n())),[n]),r=_o(),i=jo(((o,i)=>{const s=t.current;return Ro(s,e,(()=>{if(!F("recoil_suppress_rerender_in_callback"))return i();const e=n();l.current.is(e)||i(),l.current=e}),r).release}),[t,e,r,n]),s=To();if(null==s)throw v("Recoil hooks must be used in components contained within a <RecoilRoot> component.");const a=So(s,o,i),l=Oo(a);return Co((()=>{l.current=a})),a}function zo(e){const t=Vo(),n=_o(),o=jo((()=>{var n;process.env.NODE_ENV;const o=t.current,r=o.getState(),i=xo().early&&null!==(n=r.nextTree)&&void 0!==n?n:r.currentTree;return ko(o,e,i)}),[t,e]),r=jo((()=>({loadable:o(),key:e.key})),[o,e.key]),i=jo((e=>{const t=r();return e.loadable.is(t.loadable)&&e.key===t.key?e:t}),[r]);Co((()=>{const o=Ro(t.current,e,(e=>{a(i)}),n);return a(i),o.release}),[n,e,t,i]);const[s,a]=Lo(r);return s.key!==e.key?r().loadable:s.loadable}function Uo(e){const t=Vo(),[,n]=Lo([]),o=_o(),r=jo((()=>{var n;process.env.NODE_ENV;const o=t.current,r=o.getState(),i=xo().early&&null!==(n=r.nextTree)&&void 0!==n?n:r.currentTree;return ko(o,e,i)}),[t,e]),i=r(),s=Oo(i);return Co((()=>{s.current=i})),Co((()=>{const i=t.current,a=i.getState(),l=Ro(i,e,(e=>{var t;if(!F("recoil_suppress_rerender_in_callback"))return n([]);const o=r();null!==(t=s.current)&&void 0!==t&&t.is(o)||n(o),s.current=o}),o);if(a.nextTree)i.getState().queuedComponentCallbacks_DEPRECATED.push((()=>{s.current=null,n([])}));else{var c;if(!F("recoil_suppress_rerender_in_callback"))return n([]);const e=r();null!==(c=s.current)&&void 0!==c&&c.is(e)||n(e),s.current=e}return l.release}),[o,r,e,t]),i}function Ho(e){return"production"!==process.env.NODE_ENV&&Po(e,"useRecoilValueLoadable"),F("recoil_memory_managament_2020")&&bo(e),{TRANSITION_SUPPORT:zo,SYNC_EXTERNAL_STORE:wo()?Do:zo,MUTABLE_SOURCE:Bo,LEGACY:Uo}[xo().mode](e)}function Fo(e){"production"!==process.env.NODE_ENV&&Po(e,"useRecoilValue");const t=Vo();return function(e,t,n){if("hasValue"===e.state)return e.contents;if("loading"===e.state)throw new Promise((t=>{const o=n.current.getState().suspendedComponentResolvers;o.add(t),Mo&&m(e.contents)&&e.contents.finally((()=>{o.delete(t)}))}));throw"hasError"===e.state?e.contents:v(`Invalid value of loadable atom "${t.key}"`)}(Ho(e),e,t)}function $o(e){"production"!==process.env.NODE_ENV&&Po(e,"useSetRecoilState");const t=Vo();return jo((n=>{No(t.current,e,n)}),[t,e])}var Ko={useRecoilState:function(e){return"production"!==process.env.NODE_ENV&&Po(e,"useRecoilState"),[Fo(e),$o(e)]},useRecoilValue:Fo,useRecoilValueLoadable:Ho,useSetRecoilState:$o};const{batchUpdates:Go}=Ht,{DEFAULT_VALUE:Wo,getNode:qo}=be,{AbstractRecoilValue:Yo,setRecoilValueLoadable:Xo}=St,{cloneSnapshot:Zo}=Sn,{useCallback:Jo,useEffect:Qo,useRef:er,useState:tr}=o;var nr={gotoSnapshot:function(e,t){var n;const o=e.getState(),r=null!==(n=o.nextTree)&&void 0!==n?n:o.currentTree,i=t.getStore_INTERNAL().getState().currentTree;Go((()=>{const n=new Set;for(const e of[r.atomValues.keys(),i.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=i.atomValues.get(t))||void 0===s?void 0:s.contents)&&qo(t).shouldRestoreFromSnapshots&&n.add(t)}n.forEach((t=>{Xo(e,new Yo(t),i.atomValues.has(t)?g(i.atomValues.get(t)):Wo)})),e.replaceState((e=>({...e,stateID:t.getID()})))}))}};const{useMemo:or}=o,{loadableWithValue:rr}=D,{initializeNode:ir}=Qe,{DEFAULT_VALUE:sr,getNode:ar}=be,{copyTreeState:lr,getRecoilValueAsLoadable:cr,invalidateDownstreams:ur,writeLoadableToTreeState:dr}=St;function fr(e){return"atom"===ar(e.key).nodeType}class hr{constructor(e,t){y(this,"_store",void 0),y(this,"_treeState",void 0),y(this,"_changes",void 0),y(this,"get",(e=>{if(this._changes.has(e.key))return this._changes.get(e.key);if(!fr(e))throw v("Reading selectors within atomicUpdate is not supported");const t=cr(this._store,e,this._treeState);if("hasValue"===t.state)return t.contents;throw"hasError"===t.state?t.contents:v(`Expected Recoil atom ${e.key} to have a value, but it is in a loading state.`)})),y(this,"set",((e,t)=>{if(!fr(e))throw v("Setting selectors within atomicUpdate is not supported");if("function"==typeof t){const n=this.get(e);this._changes.set(e.key,t(n))}else ir(this._store,e.key,"set"),this._changes.set(e.key,t)})),y(this,"reset",(e=>{this.set(e,sr)})),this._store=e,this._treeState=t,this._changes=new Map}newTreeState_INTERNAL(){if(0===this._changes.size)return this._treeState;const e=lr(this._treeState);for(const[t,n]of this._changes)dr(e,t,rr(n));return ur(this._store,e),e}}var pr=function(e){return t=>{e.replaceState((n=>{const o=new hr(e,n);return t(o),o.newTreeState_INTERNAL()}))}},vr=Object.freeze({__proto__:null,atomicUpdater:pr});var mr=function(e,t){if(!e)throw new Error(t)};const{atomicUpdater:gr}=vr,{batchUpdates:yr}=Ht,{DEFAULT_VALUE:br}=be,{useStoreRef:_r}=so,{refreshRecoilValue:wr,setRecoilValue:xr}=St,{cloneSnapshot:Sr}=Sn,{gotoSnapshot:Er}=nr,{useCallback:Tr}=o;class Vr{}const Ar=new Vr;function kr(e,t,n,o){let r,i=Ar;var s;(yr((()=>{const s="useRecoilCallback() expects a function that returns a function: it accepts a function of the type (RecoilInterface) => (Args) => ReturnType and returns a callback function (Args) => ReturnType, where RecoilInterface is an object {snapshot, set, ...} and Args and ReturnType are the argument and return types of the callback you want to create. Please see the docs at recoiljs.org for details.";if("function"!=typeof t)throw v(s);const a=He({...null!=o?o:{},set:(t,n)=>xr(e,t,n),reset:t=>xr(e,t,br),refresh:t=>wr(e,t),gotoSnapshot:t=>Er(e,t),transact_UNSTABLE:t=>gr(e)(t)},{snapshot:()=>{const t=Sr(e);return r=t.retain(),t}}),l=t(a);if("function"!=typeof l)throw v(s);i=l(...n)})),i instanceof Vr&&("production"!==process.env.NODE_ENV?mr(!1,"batchUpdates should return immediately"):mr(!1)),m(i))?i=i.finally((()=>{var e;null===(e=r)||void 0===e||e()})):null===(s=r)||void 0===s||s();return i}var Nr={recoilCallback:kr,useRecoilCallback:function(e,t){const n=_r();return Tr(((...t)=>kr(n.current,e,t)),null!=t?[...t,n]:void 0)}};const{useCallback:Rr}=o,{atomicUpdater:jr}=vr,{useMemo:Cr}=o;var Ir=class{constructor(e){y(this,"value",void 0),this.value=e}},Or=Object.freeze({__proto__:null,WrappedValue:Ir});class Lr extends Error{}var Mr=class{constructor(e){var t,n,o;y(this,"_name",void 0),y(this,"_numLeafs",void 0),y(this,"_root",void 0),y(this,"_onHit",void 0),y(this,"_onSet",void 0),y(this,"_mapNodeValue",void 0),this._name=null==e?void 0:e.name,this._numLeafs=0,this._root=null,this._onHit=null!==(t=null==e?void 0:e.onHit)&&void 0!==t?t:()=>{},this._onSet=null!==(n=null==e?void 0:e.onSet)&&void 0!==n?n:()=>{},this._mapNodeValue=null!==(o=null==e?void 0:e.mapNodeValue)&&void 0!==o?o:e=>e}size(){return this._numLeafs}root(){return this._root}get(e,t){var n;return null===(n=this.getLeafNode(e,t))||void 0===n?void 0:n.value}getLeafNode(e,t){if(null==this._root)return;let n=this._root;for(;n;){if(null==t||t.onNodeVisit(n),"leaf"===n.type)return this._onHit(n),n;const o=this._mapNodeValue(e(n.nodeKey));n=n.branches.get(o)}}set(e,t,n){const o=()=>{var o,r,i,s;let a,l;for(const[t,o]of e){var c,u,d;const e=this._root;if("leaf"===(null==e?void 0:e.type))throw this.invalidCacheError();const r=a;if(a=r?r.branches.get(l):e,a=null!==(c=a)&&void 0!==c?c:{type:"branch",nodeKey:t,parent:r,branches:new Map,branchKey:l},"branch"!==a.type||a.nodeKey!==t)throw this.invalidCacheError();null==r||r.branches.set(l,a),null==n||null===(u=n.onNodeVisit)||void 0===u||u.call(n,a),l=this._mapNodeValue(o),this._root=null!==(d=this._root)&&void 0!==d?d:a}const f=a?null===(o=a)||void 0===o?void 0:o.branches.get(l):this._root;if(null!=f&&("leaf"!==f.type||f.branchKey!==l))throw this.invalidCacheError();const h={type:"leaf",value:t,parent:a,branchKey:l};null===(r=a)||void 0===r||r.branches.set(l,h),this._root=null!==(i=this._root)&&void 0!==i?i:h,this._numLeafs++,this._onSet(h),null==n||null===(s=n.onNodeVisit)||void 0===s||s.call(n,h)};try{o()}catch(e){if(!(e instanceof Lr))throw e;this.clear(),o()}}delete(e){const t=this.root();if(!t)return!1;if(e===t)return this._root=null,this._numLeafs=0,!0;let n=e.parent,o=e.branchKey;for(;n;){var r;if(n.branches.delete(o),n===t)return 0===n.branches.size?(this._root=null,this._numLeafs=0):this._numLeafs--,!0;if(n.branches.size>0)break;o=null===(r=n)||void 0===r?void 0:r.branchKey,n=n.parent}for(;n!==t;n=n.parent)if(null==n)return!1;return this._numLeafs--,!0}clear(){this._numLeafs=0,this._root=null}invalidCacheError(){throw W("Invalid cache values. This happens when selectors do not return consistent values for the same input dependency values. That may also be caused when using Fast Refresh to change a selector implementation. Resetting cache."+(null!=this._name?` - ${this._name}`:"")),new Lr}},Pr=Object.freeze({__proto__:null,TreeCache:Mr});var Dr=class{constructor(e){var t;y(this,"_maxSize",void 0),y(this,"_size",void 0),y(this,"_head",void 0),y(this,"_tail",void 0),y(this,"_map",void 0),y(this,"_keyMapper",void 0),this._maxSize=e.maxSize,this._size=0,this._head=null,this._tail=null,this._map=new Map,this._keyMapper=null!==(t=e.mapKey)&&void 0!==t?t:e=>e}head(){return this._head}tail(){return this._tail}size(){return this._size}maxSize(){return this._maxSize}has(e){return this._map.has(this._keyMapper(e))}get(e){const t=this._keyMapper(e),n=this._map.get(t);if(n)return this.set(e,n.value),n.value}set(e,t){const n=this._keyMapper(e);this._map.get(n)&&this.delete(e);const o=this.head(),r={key:e,right:o,left:null,value:t};o?o.left=r:this._tail=r,this._map.set(n,r),this._head=r,this._size++,this._maybeDeleteLRU()}_maybeDeleteLRU(){this.size()>this.maxSize()&&this.deleteLru()}deleteLru(){const e=this.tail();e&&this.delete(e.key)}delete(e){const t=this._keyMapper(e);if(!this._size||!this._map.has(t))return;const n=g(this._map.get(t)),o=n.right,r=n.left;o&&(o.left=n.left),r&&(r.right=n.right),n===this.head()&&(this._head=o),n===this.tail()&&(this._tail=r),this._map.delete(t),this._size--}clear(){this._size=0,this._head=null,this._tail=null,this._map=new Map}},Br=Object.freeze({__proto__:null,LRUCache:Dr});const{LRUCache:zr}=Br,{TreeCache:Ur}=Pr;var Hr=function({name:e,maxSize:t,mapNodeValue:n=e=>e}){const o=new zr({maxSize:t}),r=new Ur({name:e,mapNodeValue:n,onHit:e=>{o.set(e,!0)},onSet:e=>{const n=o.tail();o.set(e,!0),n&&r.size()>t&&r.delete(n.key)}});return r};function Fr(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.allowFunctions))throw v("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(m(e))return"__PROMISE__";if(Array.isArray(e))return`[${e.map(((e,n)=>Fr(e,t,n.toString())))}]`;if("function"==typeof e.toJSON)return Fr(e.toJSON(n),t,n);if(e instanceof Map){const o={};for(const[n,r]of e)o["string"==typeof n?n:Fr(n,t)]=r;return Fr(o,t,n)}return e instanceof Set?Fr(Array.from(e).sort(((e,n)=>Fr(e,t).localeCompare(Fr(n,t)))),t,n):void 0!==Symbol&&null!=e[Symbol.iterator]&&"function"==typeof e[Symbol.iterator]?Fr(Array.from(e),t,n):`{${Object.keys(e).filter((t=>void 0!==e[t])).sort().map((n=>`${Fr(n,t)}:${Fr(e[n],t,n)}`)).join(",")}}`}var $r=function(e,t={allowFunctions:!1}){if("production"!==process.env.NODE_ENV&&"undefined"!=typeof window){const n=window.performance?window.performance.now():0,o=Fr(e,t),r=window.performance?window.performance.now():0;return r-n>15&&(console.groupCollapsed(`Recoil: Spent ${r-n}ms computing a cache key`),console.warn(e,o),console.groupEnd()),o}return Fr(e,t)};const{TreeCache:Kr}=Pr,Gr={equality:"reference",eviction:"keep-all",maxSize:1/0};var Wr=function({equality:e=Gr.equality,eviction:t=Gr.eviction,maxSize:n=Gr.maxSize}=Gr,o){const r=function(e){switch(e){case"reference":return e=>e;case"value":return e=>$r(e)}throw v(`Unrecognized equality policy ${e}`)}(e);return function(e,t,n,o){switch(e){case"keep-all":return new Kr({name:o,mapNodeValue:n});case"lru":return Hr({name:o,maxSize:g(t),mapNodeValue:n});case"most-recent":return Hr({name:o,maxSize:1,mapNodeValue:n})}throw v(`Unrecognized eviction policy ${e}`)}(t,n,r,o)};var qr=function(e){var t,n;if("undefined"==typeof window)return!1;const o=null!==(n=(null!=e?null!==(t=e.ownerDocument)&&void 0!==t?t:e:document).defaultView)&&void 0!==n?n:window;return!(null==e||!("function"==typeof o.Node?e instanceof o.Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))};const{isReactNative:Yr,isWindow:Xr}=Gt;var Zr=function e(t){if("object"==typeof t&&!function(e){if(null===e||"object"!=typeof e)return!0;switch(typeof e.$$typeof){case"symbol":case"number":return!0}return null!=e["@@__IMMUTABLE_ITERABLE__@@"]||null!=e["@@__IMMUTABLE_KEYED__@@"]||null!=e["@@__IMMUTABLE_INDEXED__@@"]||null!=e["@@__IMMUTABLE_ORDERED__@@"]||null!=e["@@__IMMUTABLE_RECORD__@@"]||!!qr(e)||!!m(e)||e instanceof Error||!!ArrayBuffer.isView(e)||!(Yr||!Xr(e))}(t)){Object.freeze(t);for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const o=t[n];"object"!=typeof o||null==o||Object.isFrozen(o)||e(o)}Object.seal(t)}};const{isLoadable:Jr,loadableWithError:Qr,loadableWithPromise:ei,loadableWithValue:ti}=D,{WrappedValue:ni}=Or,{getNodeLoadable:oi,peekNodeLoadable:ri,setNodeValue:ii}=Qe,{saveDepsToStore:si}=Re,{DEFAULT_VALUE:ai,getConfigDeletionHandler:li,getNode:ci,registerNode:ui}=be,{isRecoilValue:di}=ae,{markRecoilValueModified:fi}=St,{retainedByOptionWithDefault:hi}=Ot,{recoilCallback:pi}=Nr;class vi{}const mi=new vi,gi=[],yi=new Map,bi=(()=>{let e=0;return()=>e++})();function _i(e){let t=null;const{key:n,get:o,cachePolicy_UNSTABLE:r}=e,i=null!=e.set?e.set:void 0;if("production"!==process.env.NODE_ENV){if("string"!=typeof n)throw v("A key option with a unique string value must be provided when creating a selector.");if("function"!=typeof o)throw v("Selectors must specify a get callback option to get the selector value.")}const s=new Set,a=Wr(null!=r?r:{equality:"reference",eviction:"keep-all"},n),l=hi(e.retainedBy_UNSTABLE),c=new Map;let u=0;function d(){return!F("recoil_memory_managament_2020")||u>0}function f(e){return e.getState().knownSelectors.add(n),u++,()=>{u--}}function h(){return void 0!==li(n)&&!d()}function p(e,t,n,o,r){R(t,o,r),y(e,n)}function y(e,t){N(e,t)&&k(e),b(t,!0)}function b(e,n){const o=yi.get(e);if(null!=o){for(const e of o)fi(e,g(t));n&&yi.delete(e)}}function _(e,t){let n=yi.get(t);null==n&&yi.set(t,n=new Set),n.add(e)}function w(e,t,n,o,r,i){return t.then((o=>{if(!d())throw k(e),mi;null!=i.loadingDepKey&&i.loadingDepPromise===t?n.atomValues.set(i.loadingDepKey,ti(o)):e.getState().knownSelectors.forEach((e=>{n.atomValues.delete(e)}));const s=E(e,n);if(s&&"loading"!==s.state){if((N(e,r)||null==A(e))&&y(e,r),"hasValue"===s.state)return s.contents;throw s.contents}if(!N(e,r)){const t=V(e,n);if(null!=t)return t.loadingLoadable.contents}const[a,l]=S(e,n,r);if("loading"!==a.state&&p(e,n,r,a,l),"hasError"===a.state)throw a.contents;return a.contents})).catch((t=>{if(t instanceof vi)throw mi;if(!d())throw k(e),mi;const i=Qr(t);throw p(e,n,r,i,o),t}))}function x(e,t,o,r){var i,a,l,c,u,d,f;(N(e,r)||t.version===(null===(i=e.getState())||void 0===i||null===(a=i.currentTree)||void 0===a?void 0:a.version)||t.version===(null===(l=e.getState())||void 0===l||null===(c=l.nextTree)||void 0===c?void 0:c.version))&&si(n,o,e,null!==(u=null===(d=e.getState())||void 0===d||null===(f=d.nextTree)||void 0===f?void 0:f.version)&&void 0!==u?u:e.getState().currentTree.version);for(const e of o)s.add(e)}function S(e,n,r){let i=!0,s=!0;const a=()=>{s=!1};let l,c,u=!1;const f={loadingDepKey:null,loadingDepPromise:null},h=new Map;function y({key:t}){const o=oi(e,n,t);switch(h.set(t,o),i||(x(e,n,new Set(h.keys()),r),function(e,t){N(e,t)&&(g(A(e)).stateVersions.clear(),b(t,!1))}(e,r)),o.state){case"hasValue":return o.contents;case"hasError":throw o.contents;case"loading":throw f.loadingDepKey=t,f.loadingDepPromise=o.contents,o.contents}throw v("Invalid Loadable state")}const _=n=>(...o)=>{if(s)throw v("Callbacks from getCallback() should only be called asynchronously after the selector is evalutated. It can be used for selectors to return objects with callbacks that can work with Recoil state without a subscription.");return null==t&&("production"!==process.env.NODE_ENV?mr(!1,"Recoil Value can never be null"):mr(!1)),pi(e,n,o,{node:t})};try{l=o({get:y,getCallback:_}),l=di(l)?y(l):l,Jr(l)&&("hasError"===l.state&&(u=!0),l=l.contents),m(l)?l=function(e,t,n,o,r,i){return t.then((t=>{if(!d())throw k(e),mi;const i=ti(t);return p(e,n,r,i,o),t})).catch((t=>{if(!d())throw k(e),mi;if(m(t))return w(e,t,n,o,r,i);const s=Qr(t);throw p(e,n,r,s,o),t}))}(e,l,n,h,r,f).finally(a):a(),l=l instanceof ni?l.value:l}catch(t){l=t,m(l)?l=w(e,l,n,h,r,f).finally(a):(u=!0,a())}return c=u?Qr(l):m(l)?ei(l):ti(l),i=!1,function(e,t,n){if(N(e,t)){const t=A(e);null!=t&&(t.depValuesDiscoveredSoFarDuringAsyncWork=n)}}(e,r,h),x(e,n,new Set(h.keys()),r),[c,h]}function E(e,t){let o=t.atomValues.get(n);if(null!=o)return o;const r=new Set;try{o=a.get((n=>("string"!=typeof n&&("production"!==process.env.NODE_ENV?mr(!1,"Cache nodeKey is type string"):mr(!1)),oi(e,t,n).contents)),{onNodeVisit:e=>{"branch"===e.type&&e.nodeKey!==n&&r.add(e.nodeKey)}})}catch(e){throw v(`Problem with cache lookup for selector "${n}": ${e.message}`)}var i;o&&(t.atomValues.set(n,o),x(e,t,r,null===(i=A(e))||void 0===i?void 0:i.executionID));return o}function T(e,t){const n=E(e,t);if(null!=n)return k(e),n;const o=V(e,t);var r;if(null!=o)return"loading"===(null===(r=o.loadingLoadable)||void 0===r?void 0:r.state)&&_(e,o.executionID),o.loadingLoadable;const i=bi(),[s,a]=S(e,t,i);return"loading"===s.state?(!function(e,t,n,o,r){c.set(e,{depValuesDiscoveredSoFarDuringAsyncWork:o,executionID:t,loadingLoadable:n,stateVersions:new Map([[r.version,!0]])})}(e,i,s,a,t),_(e,i)):(k(e),R(t,s,a)),s}function V(e,t){const n=Ft([c.has(e)?[g(c.get(e))]:[],de(Ue(c,(([t])=>t!==e)),(([,e])=>e))]);function o(n){for(const[o,r]of n)if(!oi(e,t,o).is(r))return!0;return!1}for(const e of n){if(e.stateVersions.get(t.version)||!o(e.depValuesDiscoveredSoFarDuringAsyncWork))return e.stateVersions.set(t.version,!0),e;e.stateVersions.set(t.version,!1)}}function A(e){return c.get(e)}function k(e){c.delete(e)}function N(e,t){var n;return t===(null===(n=A(e))||void 0===n?void 0:n.executionID)}function R(t,o,r){"production"!==process.env.NODE_ENV&&"loading"!==o.state&&!1===Boolean(e.dangerouslyAllowMutability)&&Zr(o.contents),t.atomValues.set(n,o);try{a.set(function(e){return Array.from(e.entries()).map((([e,t])=>[e,t.contents]))}(r),o)}catch(e){throw v(`Problem with setting cache for selector "${n}": ${e.message}`)}}function j(e,t){const o=t.atomValues.get(n);return null!=o?o:a.get((n=>{var o;return"string"!=typeof n&&("production"!==process.env.NODE_ENV?mr(!1,"Cache nodeKey is type string"):mr(!1)),null===(o=ri(e,t,n))||void 0===o?void 0:o.contents}))}function C(e,t){return function(e){if(gi.includes(n)){const e=`Recoil selector has circular dependencies: ${gi.slice(gi.indexOf(n)).join(" → ")}`;return Qr(v(e))}gi.push(n);try{return e()}finally{gi.pop()}}((()=>T(e,t)))}function I(e){e.atomValues.delete(n)}function O(e,n){null==t&&("production"!==process.env.NODE_ENV?mr(!1,"Recoil Value can never be null"):mr(!1));for(const t of s){var o;const r=ci(t);null===(o=r.clearCache)||void 0===o||o.call(r,e,n)}s.clear(),I(n),a.clear(),fi(e,t)}if(null!=i){return t=ui({key:n,nodeType:"selector",peek:j,get:C,set:(e,t,o)=>{let r=!1;const s=new Map;function a({key:o}){if(r)throw v("Recoil: Async selector sets are not currently supported.");const i=oi(e,t,o);if("hasValue"===i.state)return i.contents;if("loading"===i.state){const e=`Getting value of asynchronous atom or selector "${o}" in a pending state while setting selector "${n}" is not yet supported.`;throw W(e),v(e)}throw i.contents}function l(n,o){if(r){const e="Recoil: Async selector sets are not currently supported.";throw W(e),v(e)}const i="function"==typeof o?o(a(n)):o;ii(e,t,n.key,i).forEach(((e,t)=>s.set(t,e)))}const c=i({set:l,get:a,reset:function(e){l(e,ai)}},o);if(void 0!==c)throw m(c)?v("Recoil: Async selector sets are not currently supported."):v("Recoil: selector set should be a void function.");return r=!0,s},init:f,invalidate:I,clearCache:O,shouldDeleteConfigOnRelease:h,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1,retainedBy:l})}return t=ui({key:n,nodeType:"selector",peek:j,get:C,init:f,invalidate:I,clearCache:O,shouldDeleteConfigOnRelease:h,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1,retainedBy:l})}_i.value=e=>new ni(e);var wi=_i;const{isLoadable:xi,loadableWithError:Si,loadableWithPromise:Ei,loadableWithValue:Ti}=D,{WrappedValue:Vi}=Or,{peekNodeInfo:Ai}=Qe,{DEFAULT_VALUE:ki,DefaultValue:Ni,getConfigDeletionHandler:Ri,registerNode:ji,setConfigDeletionHandler:Ci}=be,{isRecoilValue:Ii}=ae,{getRecoilValueAsLoadable:Oi,markRecoilValueModified:Li,setRecoilValue:Mi,setRecoilValueLoadable:Pi}=St,{retainedByOptionWithDefault:Di}=Ot,Bi=e=>e instanceof Vi?e.value:e;function zi(e){const{key:t,persistence_UNSTABLE:n}=e,o=Di(e.retainedBy_UNSTABLE);let r=0;function i(e){return Ei(e.then((e=>(a=Ti(e),e))).catch((e=>{throw a=Si(e),e})))}let s,a=m(e.default)?i(e.default):xi(e.default)?"loading"===e.default.state?i(e.default.contents):e.default:Ti(Bi(e.default));c(a.contents);const l=new Map;function c(t){return"production"!==process.env.NODE_ENV&&!0!==e.dangerouslyAllowMutability?m(t)?t.then((e=>(Zr(e),e))):(Zr(t),t):t}function u(e,n){var o,r;return null!==(o=null!==(r=n.atomValues.get(t))&&void 0!==r?r:s)&&void 0!==o?o:a}const d=ji({key:t,nodeType:"atom",peek:u,get:function(e,o){if(o.atomValues.has(t))return g(o.atomValues.get(t));if(o.nonvalidatedAtoms.has(t)){if(null!=s)return s;if(null==n)return ue(`Tried to restore a persisted value for atom ${t} but it has no persistence settings.`),a;const e=o.nonvalidatedAtoms.get(t),r=n.validator(e,ki),i=r instanceof Ni?a:Ti(r);return s=i,s}return a},set:function(e,n,o){if(n.atomValues.has(t)){const e=g(n.atomValues.get(t));if("hasValue"===e.state&&o===e.contents)return new Map}else if(!n.nonvalidatedAtoms.has(t)&&o instanceof Ni)return new Map;return c(o),s=void 0,(new Map).set(t,Ti(o))},init:function(n,o,i){var s;if(r++,n.getState().knownAtoms.add(t),"loading"===a.state){const g=()=>{var e;(null!==(e=n.getState().nextTree)&&void 0!==e?e:n.getState().currentTree).atomValues.has(t)||Li(n,d)};a.contents.finally(g)}const f=null!==(s=e.effects)&&void 0!==s?s:e.effects_UNSTABLE;if(null!=f){let y=ki,b=!0,_=!1,w=null;function x(e){if(b&&e.key===t){const e=y;return e instanceof Ni?u(n,o):m(e)?Ei(e.then((e=>e instanceof Ni?a.toPromise():e))):Ti(e)}return Oi(n,e)}function S(e){return x(e).toPromise()}function E(e){var o;const r=Ai(n,null!==(o=n.getState().nextTree)&&void 0!==o?o:n.getState().currentTree,e.key);return!b||e.key!==t||y instanceof Ni?r:{...r,isSet:!0,loadable:x(e)}}const T=e=>t=>{if(b){const n=x(d),o="hasValue"===n.state?n.contents:ki;y="function"==typeof t?t(o):t,m(y)&&(y=y.then((t=>(w={effect:e,value:t},t))))}else{if(m(t))throw v("Setting atoms to async values is not implemented.");"function"!=typeof t&&(w={effect:e,value:Bi(t)}),Mi(n,d,"function"==typeof t?n=>{const o=Bi(t(n));return w={effect:e,value:o},o}:Bi(t))}},V=e=>()=>T(e)(ki),A=e=>o=>{var r;const{release:i}=n.subscribeToTransactions((n=>{var r;let{currentTree:i,previousTree:s}=n.getState();s||(W("Transaction subscribers notified without a next tree being present -- this is a bug in Recoil"),s=i);const l=null!==(r=i.atomValues.get(t))&&void 0!==r?r:a;if("hasValue"===l.state){var c,u,d,f;const n=l.contents,r=null!==(c=s.atomValues.get(t))&&void 0!==c?c:a,h="hasValue"===r.state?r.contents:ki;(null===(u=w)||void 0===u?void 0:u.effect)!==e||(null===(d=w)||void 0===d?void 0:d.value)!==n?o(n,h,!i.atomValues.has(t)):(null===(f=w)||void 0===f?void 0:f.effect)===e&&(w=null)}}),t);l.set(n,[...null!==(r=l.get(n))&&void 0!==r?r:[],i])};for(const k of f)try{const N=k({node:d,storeID:n.storeID,parentStoreID_UNSTABLE:n.parentStoreID,trigger:i,setSelf:T(k),resetSelf:V(k),onSet:A(k),getPromise:S,getLoadable:x,getInfo_UNSTABLE:E});var h;if(null!=N)l.set(n,[...null!==(h=l.get(n))&&void 0!==h?h:[],N])}catch(R){y=R,_=!0}if(b=!1,!(y instanceof Ni)){var p;const j=_?Si(y):m(y)?Ei(function(e,n){const o=n.then((n=>{var r,i;return(null===(i=(null!==(r=e.getState().nextTree)&&void 0!==r?r:e.getState().currentTree).atomValues.get(t))||void 0===i?void 0:i.contents)===o&&Mi(e,d,n),n})).catch((n=>{var r,i;throw(null===(i=(null!==(r=e.getState().nextTree)&&void 0!==r?r:e.getState().currentTree).atomValues.get(t))||void 0===i?void 0:i.contents)===o&&Pi(e,d,Si(n)),n}));return o}(n,y)):Ti(Bi(y));c(j.contents),o.atomValues.set(t,j),null===(p=n.getState().nextTree)||void 0===p||p.atomValues.set(t,j)}}return()=>{var e;r--,null===(e=l.get(n))||void 0===e||e.forEach((e=>e())),l.delete(n)}},invalidate:function(){s=void 0},shouldDeleteConfigOnRelease:function(){return void 0!==Ri(t)&&r<=0},dangerouslyAllowMutability:e.dangerouslyAllowMutability,persistence_UNSTABLE:e.persistence_UNSTABLE?{type:e.persistence_UNSTABLE.type,backButton:e.persistence_UNSTABLE.backButton}:void 0,shouldRestoreFromSnapshots:!0,retainedBy:o});return d}function Ui(e){if("production"!==process.env.NODE_ENV&&"string"!=typeof e.key)throw v("A key option with a unique string value must be provided when creating an atom.");const{...t}=e,n="default"in e?e.default:new Promise((()=>{}));return Ii(n)?function(e){const t=Ui({...e,default:ki,persistence_UNSTABLE:void 0===e.persistence_UNSTABLE?void 0:{...e.persistence_UNSTABLE,validator:t=>t instanceof Ni?t:g(e.persistence_UNSTABLE).validator(t,ki)},effects:e.effects,effects_UNSTABLE:e.effects_UNSTABLE}),n=wi({key:`${e.key}__withFallback`,get:({get:n})=>{const o=n(t);return o instanceof Ni?e.default:o},set:({set:e},n)=>e(t,n),cachePolicy_UNSTABLE:{eviction:"most-recent"},dangerouslyAllowMutability:e.dangerouslyAllowMutability});return Ci(n.key,Ri(e.key)),n}({...t,default:n}):zi({...t,default:n})}Ui.value=e=>new Vi(e);var Hi=Ui;var Fi=class{constructor(e){var t;y(this,"_map",void 0),y(this,"_keyMapper",void 0),this._map=new Map,this._keyMapper=null!==(t=null==e?void 0:e.mapKey)&&void 0!==t?t:e=>e}size(){return this._map.size}has(e){return this._map.has(this._keyMapper(e))}get(e){return this._map.get(this._keyMapper(e))}set(e,t){this._map.set(this._keyMapper(e),t)}delete(e){this._map.delete(this._keyMapper(e))}clear(){this._map.clear()}},$i=Object.freeze({__proto__:null,MapCache:Fi});const{LRUCache:Ki}=Br,{MapCache:Gi}=$i,Wi={equality:"reference",eviction:"none",maxSize:1/0};var qi=function({equality:e=Wi.equality,eviction:t=Wi.eviction,maxSize:n=Wi.maxSize}=Wi){const o=function(e){switch(e){case"reference":return e=>e;case"value":return e=>$r(e)}throw v(`Unrecognized equality policy ${e}`)}(e);return function(e,t,n){switch(e){case"keep-all":return new Gi({mapKey:n});case"lru":return new Ki({mapKey:n,maxSize:g(t)});case"most-recent":return new Ki({mapKey:n,maxSize:1})}throw v(`Unrecognized eviction policy ${e}`)}(t,n,o)};const{setConfigDeletionHandler:Yi}=be;var Xi=function(e){var t,n;const o=qi({equality:null!==(t=null===(n=e.cachePolicyForParams_UNSTABLE)||void 0===n?void 0:n.equality)&&void 0!==t?t:"value",eviction:"keep-all"});return t=>{var n,r;const i=o.get(t);if(null!=i)return i;const{cachePolicyForParams_UNSTABLE:s,...a}=e,l="default"in e?e.default:new Promise((()=>{})),c=Hi({...a,key:`${e.key}__${null!==(n=$r(t))&&void 0!==n?n:"void"}`,default:"function"==typeof l?l(t):l,retainedBy_UNSTABLE:"function"==typeof e.retainedBy_UNSTABLE?e.retainedBy_UNSTABLE(t):e.retainedBy_UNSTABLE,effects:"function"==typeof e.effects?e.effects(t):"function"==typeof e.effects_UNSTABLE?e.effects_UNSTABLE(t):null!==(r=e.effects)&&void 0!==r?r:e.effects_UNSTABLE});return o.set(t,c),Yi(c.key,(()=>{o.delete(t)})),c}};const{setConfigDeletionHandler:Zi}=be;let Ji=0;var Qi=function(e){var t,n;const o=qi({equality:null!==(t=null===(n=e.cachePolicyForParams_UNSTABLE)||void 0===n?void 0:n.equality)&&void 0!==t?t:"value",eviction:"keep-all"});return t=>{var n;let r;try{r=o.get(t)}catch(t){throw v(`Problem with cache lookup for selector ${e.key}: ${t.message}`)}if(null!=r)return r;const i=`${e.key}__selectorFamily/${null!==(n=$r(t,{allowFunctions:!0}))&&void 0!==n?n:"void"}/${Ji++}`,s=n=>e.get(t)(n),a=e.cachePolicy_UNSTABLE,l="function"==typeof e.retainedBy_UNSTABLE?e.retainedBy_UNSTABLE(t):e.retainedBy_UNSTABLE;let c;if(null!=e.set){const n=e.set;c=wi({key:i,get:s,set:(e,o)=>n(t)(e,o),cachePolicy_UNSTABLE:a,dangerouslyAllowMutability:e.dangerouslyAllowMutability,retainedBy_UNSTABLE:l})}else c=wi({key:i,get:s,cachePolicy_UNSTABLE:a,dangerouslyAllowMutability:e.dangerouslyAllowMutability,retainedBy_UNSTABLE:l});return o.set(t,c),Zi(c.key,(()=>{o.delete(t)})),c}};Qi({key:"__constant",get:e=>()=>e,cachePolicyForParams_UNSTABLE:{equality:"reference"}}),Qi({key:"__error",get:e=>()=>{throw v(e)},cachePolicyForParams_UNSTABLE:{equality:"reference"}});const{loadableWithError:es,loadableWithPromise:ts,loadableWithValue:ns}=D;function os(e,t){const n=Array(t.length).fill(void 0),o=Array(t.length).fill(void 0);for(const[r,i]of t.entries())try{n[r]=e(i)}catch(e){o[r]=e}return[n,o]}function rs(e){return null!=e&&!m(e)}function is(e){return Array.isArray(e)?e:Object.getOwnPropertyNames(e).map((t=>e[t]))}function ss(e,t){return Array.isArray(e)?t:Object.getOwnPropertyNames(e).reduce(((e,n,o)=>({...e,[n]:t[o]})),{})}function as(e,t,n){return ss(e,n.map(((e,n)=>null==e?ns(t[n]):m(e)?ts(e):es(e))))}Qi({key:"__waitForNone",get:e=>({get:t})=>{const n=is(e),[o,r]=os(t,n);return as(e,o,r)},dangerouslyAllowMutability:!0}),Qi({key:"__waitForAny",get:e=>({get:t})=>{const n=is(e),[o,r]=os(t,n);return r.some((e=>!m(e)))?as(e,o,r):new Promise((t=>{for(const[n,i]of r.entries())m(i)&&i.then((i=>{o[n]=i,r[n]=void 0,t(as(e,o,r))})).catch((i=>{r[n]=i,t(as(e,o,r))}))}))},dangerouslyAllowMutability:!0}),Qi({key:"__waitForAll",get:e=>({get:t})=>{const n=is(e),[o,r]=os(t,n);if(r.every((e=>null==e)))return ss(e,o);const i=r.find(rs);if(null!=i)throw i;return Promise.all(r).then((t=>{return ss(e,(n=o,t.map(((e,t)=>void 0===e?n[t]:e))));var n}))},dangerouslyAllowMutability:!0}),Qi({key:"__waitForAllSettled",get:e=>({get:t})=>{const n=is(e),[o,r]=os(t,n);return r.every((e=>!m(e)))?as(e,o,r):Promise.all(r.map(((e,t)=>m(e)?e.then((e=>{o[t]=e,r[t]=void 0})).catch((e=>{o[t]=void 0,r[t]=e})):null))).then((()=>as(e,o,r)))},dangerouslyAllowMutability:!0}),Qi({key:"__noWait",get:e=>({get:t})=>{try{return wi.value(ns(t(e)))}catch(e){return wi.value(m(e)?ts(e):es(e))}},dangerouslyAllowMutability:!0});const{RecoilLoadable:ls}=D,{RecoilRoot:cs}=so,{isRecoilValue:us}=ae,{freshSnapshot:ds}=Sn,{useRecoilState:fs,useRecoilValue:hs,useRecoilValueLoadable:ps,useSetRecoilState:vs}=Ko,{useRecoilCallback:ms}=Nr;var gs={RecoilRoot:cs,atom:Hi,selector:wi,atomFamily:Xi,useRecoilValue:hs,useRecoilValueLoadable:ps,useRecoilState:fs,useSetRecoilState:vs,useRecoilCallback:ms},ys=gs.RecoilRoot,bs=gs.atom,_s=gs.selector,ws=gs.atomFamily,xs=gs.useRecoilValue,Ss=gs.useRecoilValueLoadable,Es=gs.useRecoilState,Ts=gs.useSetRecoilState,Vs=gs.useRecoilCallback;function As(e){var t;return null!=e&&null!=(null===(t=null==e?void 0:e.node)||void 0===t?void 0:t.id)}const ks=bs({key:"contextMenuActive",default:void 0}),Ns=bs({key:"contextMenuPosition",default:void 0}),Rs=bs({key:"contextMenuTarget",default:void 0}),js=bs({key:"contextMenuItem",default:void 0}),Cs=bs({key:"contextMenuActions",default:[]}),Is=_s({key:"contextMenuActivePosition",get:({get:e})=>null!=e(ks)?e(Ns):void 0});var Os={exports:{}};const Ls=i;Os.exports=Fs;const Ms=function(){function e(e){return void 0!==e&&e}try{return"undefined"!=typeof globalThis||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch(t){return e(self)||e(window)||e(this)||{}}}().console||{},Ps={mapHttpRequest:Ys,mapHttpResponse:Ys,wrapRequestSerializer:Xs,wrapResponseSerializer:Xs,wrapErrorSerializer:Xs,req:Ys,res:Ys,err:Ws,errWithCause:Ws};function Ds(e,t){return"silent"===e?1/0:t.levels.values[e]}const Bs=Symbol("pino.logFuncs"),zs=Symbol("pino.hierarchy"),Us={error:"log",fatal:"error",warn:"error",info:"log",debug:"log",trace:"log"};function Hs(e,t){const n={logger:t,parent:e[zs]};t[zs]=n}function Fs(e){(e=e||{}).browser=e.browser||{};const t=e.browser.transmit;if(t&&"function"!=typeof t.send)throw Error("pino: transmit option must have a send function");const n=e.browser.write||Ms;e.browser.write&&(e.browser.asObject=!0);const o=e.serializers||{},r=function(e,t){if(Array.isArray(e))return e.filter((function(e){return"!stdSerializers.err"!==e}));return!0===e&&Object.keys(t)}(e.browser.serialize,o);let i=e.browser.serialize;Array.isArray(e.browser.serialize)&&e.browser.serialize.indexOf("!stdSerializers.err")>-1&&(i=!1);const s=Object.keys(e.customLevels||{}),a=["error","fatal","warn","info","debug","trace"].concat(s);"function"==typeof n&&a.forEach((function(e){n[e]=n})),(!1===e.enabled||e.browser.disabled)&&(e.level="silent");const l=e.level||"info",c=Object.create(n);c.log||(c.log=Zs),function(e,t,n){const o={};t.forEach((e=>{o[e]=n[e]?n[e]:Ms[e]||Ms[Us[e]||"log"]||Zs})),e[Bs]=o}(c,a,n),Hs({},c),Object.defineProperty(c,"levelVal",{get:function(){return Ds(this.level,this)}}),Object.defineProperty(c,"level",{get:function(){return this._level},set:function(e){if("silent"!==e&&!this.levels.values[e])throw Error("unknown level "+e);this._level=e,$s(this,u,c,"error"),$s(this,u,c,"fatal"),$s(this,u,c,"warn"),$s(this,u,c,"info"),$s(this,u,c,"debug"),$s(this,u,c,"trace"),s.forEach((e=>{$s(this,u,c,e)}))}});const u={transmit:t,serialize:r,asObject:e.browser.asObject,formatters:e.browser.formatters,levels:a,timestamp:qs(e),messageKey:e.messageKey||"msg",onChild:e.onChild||Zs};function d(n,i,s){if(!i)throw new Error("missing bindings for child Pino");s=s||{},r&&i.serializers&&(s.serializers=i.serializers);const a=s.serializers;if(r&&a){var l=Object.assign({},o,a),c=!0===e.browser.serialize?Object.keys(l):r;delete i.serializers,Ks([i],c,l,this._stdErrSerialize)}function u(e){this._childLevel=1+(0|e._childLevel),this.bindings=i,l&&(this.serializers=l,this._serialize=c),t&&(this._logEvent=Gs([].concat(e._logEvent.bindings,i)))}u.prototype=this;const f=new u(this);return Hs(this,f),f.child=function(...e){return d.call(this,n,...e)},f.level=s.level||this.level,n.onChild(f),f}return c.levels=function(e){const t=e.customLevels||{},n=Object.assign({},Fs.levels.values,t),o=Object.assign({},Fs.levels.labels,function(e){const t={};return Object.keys(e).forEach((function(n){t[e[n]]=n})),t}(t));return{values:n,labels:o}}(e),c.level=l,c.setMaxListeners=c.getMaxListeners=c.emit=c.addListener=c.on=c.prependListener=c.once=c.prependOnceListener=c.removeListener=c.removeAllListeners=c.listeners=c.listenerCount=c.eventNames=c.write=c.flush=Zs,c.serializers=o,c._serialize=r,c._stdErrSerialize=i,c.child=function(...e){return d.call(this,u,...e)},t&&(c._logEvent=Gs()),c}function $s(e,t,n,o){if(Object.defineProperty(e,o,{value:Ds(e.level,n)>Ds(o,n)?Zs:n[Bs][o],writable:!0,enumerable:!0,configurable:!0}),e[o]===Zs){if(!t.transmit)return;const r=Ds(t.transmit.level||e.level,n);if(Ds(o,n)<r)return}e[o]=function(e,t,n,o){return r=e[Bs][o],function(){const i=t.timestamp(),s=new Array(arguments.length),a=Object.getPrototypeOf&&Object.getPrototypeOf(this)===Ms?Ms:this;for(var l=0;l<s.length;l++)s[l]=arguments[l];var c=!1;if(t.serialize&&(Ks(s,this._serialize,this.serializers,this._stdErrSerialize),c=!0),t.asObject||t.formatters?r.call(a,function(e,t,n,o,r){const{level:i,log:s=e=>e}=r.formatters||{},a=n.slice();let l=a[0];const c={};if(o&&(c.time=o),i){const n=i(t,e.levels.values[t]);Object.assign(c,n)}else c.level=e.levels.values[t];let u=1+(0|e._childLevel);if(u<1&&(u=1),null!==l&&"object"==typeof l){for(;u--&&"object"==typeof a[0];)Object.assign(c,a.shift());l=a.length?Ls(a.shift(),a):void 0}else"string"==typeof l&&(l=Ls(a.shift(),a));return void 0!==l&&(c[r.messageKey]=l),s(c)}(this,o,s,i,t)):r.apply(a,s),t.transmit){const r=Ds(t.transmit.level||e._level,n),a=Ds(o,n);if(a<r)return;!function(e,t,n,o=!1){const r=t.send,i=t.ts,s=t.methodLevel,a=t.methodValue,l=t.val,c=e._logEvent.bindings;o||Ks(n,e._serialize||Object.keys(e.serializers),e.serializers,void 0===e._stdErrSerialize||e._stdErrSerialize),e._logEvent.ts=i,e._logEvent.messages=n.filter((function(e){return-1===c.indexOf(e)})),e._logEvent.level.label=s,e._logEvent.level.value=a,r(s,e._logEvent,l),e._logEvent=Gs(c)}(this,{ts:i,methodLevel:o,methodValue:a,transmitValue:n.levels.values[t.transmit.level||e._level],send:t.transmit.send,val:Ds(e._level,n)},s,c)}};var r}(e,t,n,o);const r=function(e){const t=[];e.bindings&&t.push(e.bindings);let n=e[zs];for(;n.parent;)n=n.parent,n.logger.bindings&&t.push(n.logger.bindings);return t.reverse()}(e);0!==r.length&&(e[o]=function(e,t){return function(){return t.apply(this,[...e,...arguments])}}(r,e[o]))}function Ks(e,t,n,o){for(const r in e)if(o&&e[r]instanceof Error)e[r]=Fs.stdSerializers.err(e[r]);else if("object"==typeof e[r]&&!Array.isArray(e[r])&&t)for(const o in e[r])t.indexOf(o)>-1&&o in n&&(e[r][o]=n[o](e[r][o]))}function Gs(e){return{ts:0,messages:[],bindings:e||[],level:{label:"",value:0}}}function Ws(e){const t={type:e.constructor.name,msg:e.message,stack:e.stack};for(const n in e)void 0===t[n]&&(t[n]=e[n]);return t}function qs(e){return"function"==typeof e.timestamp?e.timestamp:!1===e.timestamp?Js:Qs}function Ys(){return{}}function Xs(e){return e}function Zs(){}function Js(){return!1}function Qs(){return Date.now()}Fs.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},Fs.stdSerializers=Ps,Fs.stdTimeFunctions=Object.assign({},{nullTime:Js,epochTime:Qs,unixTime:function(){return Math.round(Date.now()/1e3)},isoTime:function(){return new Date(Date.now()).toISOString()}}),Os.exports.default=Fs,Os.exports.pino=Fs;const ea=(0,Os.exports)({formatters:{level:e=>({level:e})}}),ta=(e,t)=>{null!=t?ea.error(t,e):ea.error(e)},na=(e,t)=>{null!=t?ea.debug(t,e):ea.debug(e)};class oa{}function ra(e,t=[]){return Vs((t=>{return e(Object.assign(Object.assign({},t),{snapshot:Object.defineProperties(t.snapshot,{getPromiseRequired:{configurable:!0,value:(n=t.snapshot,async(e,t)=>{const o=await n.getPromise(e);if(null==o)throw null!=t?t:new Error(`No value present for required value ${e.key}`);return o})},tryGetPromise:{configurable:!0,value:sa(t.snapshot)}})}));var n}),t instanceof oa?void 0:t)}function ia(t){return n=>{var{snapshot:o}=n,r=e.__rest(n,["snapshot"]);return async(...e)=>{const n=o.retain();try{return await t(Object.assign(Object.assign({},r),{snapshot:o}))(...e)}finally{n()}}}}function sa(e){return async t=>{try{return{value:await e.getPromise(t)}}catch(e){return na(`Error encountered retrieving Recoil value. [key={${t.key}}]`,e),{error:e}}}}var aa=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/,la=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(.+)\s*\)/,ca=/^(#|0x)?([A-Fa-f0-9]{6})$/,ua=function(e,t,n,o){return void 0===o&&(o=255),{r:e,g:t,b:n,a:o}},da=function(e){var t=16777215&e;return ua(t>>16&255,t>>8&255,255&t)},fa=function(e){var t=ca.exec(e);if(null!=t)return da(parseInt(t[2],16))},ha=function(e){var t=e.toString(16);return 1===t.length?"0"+t:t},pa=Object.freeze({__proto__:null,create:ua,fromNumber:da,fromHexString:fa,fromCss:function(e){var t=aa.exec(e);if(null!=t)return ua(parseInt(t[1]),parseInt(t[2]),parseInt(t[3]));var n=la.exec(e);return null!=n?ua(parseInt(n[1]),parseInt(n[2]),parseInt(n[3]),Math.floor(255*parseFloat(n[4]))):ca.test(e)?fa(e):void 0},fromArray:function(e){return ua(e[0],e[1],e[2],e[3])},isInvisible:function(e){return 0===e.a},isOpaque:function(e){return 255===e.a},toHexString:function(e){return"#".concat(ha(e.r)).concat(ha(e.g)).concat(ha(e.b))}});!function(t){function n(e){var o=t.call(this,"Validation error mapping object.")||this;return o.errors=e,Object.setPrototypeOf(o,n.prototype),o}e.__extends(n,t)}(Error);var va,ma="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},ga={exports:{}};!function(e,t){var n="__lodash_hash_undefined__",o=9007199254740991,r="[object Arguments]",i="[object Array]",s="[object Boolean]",a="[object Date]",l="[object Error]",c="[object Function]",u="[object Map]",d="[object Number]",f="[object Object]",h="[object Promise]",p="[object RegExp]",v="[object Set]",m="[object String]",g="[object Symbol]",y="[object WeakMap]",b="[object ArrayBuffer]",_="[object DataView]",w=/^\[object .+?Constructor\]$/,x=/^(?:0|[1-9]\d*)$/,S={};S["[object Float32Array]"]=S["[object Float64Array]"]=S["[object Int8Array]"]=S["[object Int16Array]"]=S["[object Int32Array]"]=S["[object Uint8Array]"]=S["[object Uint8ClampedArray]"]=S["[object Uint16Array]"]=S["[object Uint32Array]"]=!0,S[r]=S[i]=S[b]=S[s]=S[_]=S[a]=S[l]=S[c]=S[u]=S[d]=S[f]=S[p]=S[v]=S[m]=S[y]=!1;var E="object"==typeof ma&&ma&&ma.Object===Object&&ma,T="object"==typeof self&&self&&self.Object===Object&&self,V=E||T||Function("return this")(),A=t&&!t.nodeType&&t,k=A&&e&&!e.nodeType&&e,N=k&&k.exports===A,R=N&&E.process,j=function(){try{return R&&R.binding&&R.binding("util")}catch(e){}}(),C=j&&j.isTypedArray;function I(e,t){for(var n=-1,o=null==e?0:e.length;++n<o;)if(t(e[n],n,e))return!0;return!1}function O(e){var t=-1,n=Array(e.size);return e.forEach((function(e,o){n[++t]=[o,e]})),n}function L(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var M,P,D,B=Array.prototype,z=Function.prototype,U=Object.prototype,H=V["__core-js_shared__"],F=z.toString,$=U.hasOwnProperty,K=(M=/[^.]+$/.exec(H&&H.keys&&H.keys.IE_PROTO||""))?"Symbol(src)_1."+M:"",G=U.toString,W=RegExp("^"+F.call($).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),q=N?V.Buffer:void 0,Y=V.Symbol,X=V.Uint8Array,Z=U.propertyIsEnumerable,J=B.splice,Q=Y?Y.toStringTag:void 0,ee=Object.getOwnPropertySymbols,te=q?q.isBuffer:void 0,ne=(P=Object.keys,D=Object,function(e){return P(D(e))}),oe=je(V,"DataView"),re=je(V,"Map"),ie=je(V,"Promise"),se=je(V,"Set"),ae=je(V,"WeakMap"),le=je(Object,"create"),ce=Le(oe),ue=Le(re),de=Le(ie),fe=Le(se),he=Le(ae),pe=Y?Y.prototype:void 0,ve=pe?pe.valueOf:void 0;function me(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}function ge(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}function ye(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}function be(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new ye;++t<n;)this.add(e[t])}function _e(e){var t=this.__data__=new ge(e);this.size=t.size}function we(e,t){var n=De(e),o=!n&&Pe(e),r=!n&&!o&&Be(e),i=!n&&!o&&!r&&$e(e),s=n||o||r||i,a=s?function(e,t){for(var n=-1,o=Array(e);++n<e;)o[n]=t(n);return o}(e.length,String):[],l=a.length;for(var c in e)!$.call(e,c)||s&&("length"==c||r&&("offset"==c||"parent"==c)||i&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Oe(c,l))||a.push(c);return a}function xe(e,t){for(var n=e.length;n--;)if(Me(e[n][0],t))return n;return-1}function Se(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Q&&Q in Object(e)?function(e){var t=$.call(e,Q),n=e[Q];try{e[Q]=void 0;var o=!0}catch(e){}var r=G.call(e);o&&(t?e[Q]=n:delete e[Q]);return r}(e):function(e){return G.call(e)}(e)}function Ee(e){return Fe(e)&&Se(e)==r}function Te(e,t,n,o,c){return e===t||(null==e||null==t||!Fe(e)&&!Fe(t)?e!=e&&t!=t:function(e,t,n,o,c,h){var y=De(e),w=De(t),x=y?i:Ie(e),S=w?i:Ie(t),E=(x=x==r?f:x)==f,T=(S=S==r?f:S)==f,V=x==S;if(V&&Be(e)){if(!Be(t))return!1;y=!0,E=!1}if(V&&!E)return h||(h=new _e),y||$e(e)?ke(e,t,n,o,c,h):function(e,t,n,o,r,i,c){switch(n){case _:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case b:return!(e.byteLength!=t.byteLength||!i(new X(e),new X(t)));case s:case a:case d:return Me(+e,+t);case l:return e.name==t.name&&e.message==t.message;case p:case m:return e==t+"";case u:var f=O;case v:var h=1&o;if(f||(f=L),e.size!=t.size&&!h)return!1;var y=c.get(e);if(y)return y==t;o|=2,c.set(e,t);var w=ke(f(e),f(t),o,r,i,c);return c.delete(e),w;case g:if(ve)return ve.call(e)==ve.call(t)}return!1}(e,t,x,n,o,c,h);if(!(1&n)){var A=E&&$.call(e,"__wrapped__"),k=T&&$.call(t,"__wrapped__");if(A||k){var N=A?e.value():e,R=k?t.value():t;return h||(h=new _e),c(N,R,n,o,h)}}if(!V)return!1;return h||(h=new _e),function(e,t,n,o,r,i){var s=1&n,a=Ne(e),l=a.length,c=Ne(t),u=c.length;if(l!=u&&!s)return!1;var d=l;for(;d--;){var f=a[d];if(!(s?f in t:$.call(t,f)))return!1}var h=i.get(e);if(h&&i.get(t))return h==t;var p=!0;i.set(e,t),i.set(t,e);var v=s;for(;++d<l;){var m=e[f=a[d]],g=t[f];if(o)var y=s?o(g,m,f,t,e,i):o(m,g,f,e,t,i);if(!(void 0===y?m===g||r(m,g,n,o,i):y)){p=!1;break}v||(v="constructor"==f)}if(p&&!v){var b=e.constructor,_=t.constructor;b==_||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof _&&_ instanceof _||(p=!1)}return i.delete(e),i.delete(t),p}(e,t,n,o,c,h)}(e,t,n,o,Te,c))}function Ve(e){return!(!He(e)||function(e){return!!K&&K in e}(e))&&(ze(e)?W:w).test(Le(e))}function Ae(e){if(n=(t=e)&&t.constructor,o="function"==typeof n&&n.prototype||U,t!==o)return ne(e);var t,n,o,r=[];for(var i in Object(e))$.call(e,i)&&"constructor"!=i&&r.push(i);return r}function ke(e,t,n,o,r,i){var s=1&n,a=e.length,l=t.length;if(a!=l&&!(s&&l>a))return!1;var c=i.get(e);if(c&&i.get(t))return c==t;var u=-1,d=!0,f=2&n?new be:void 0;for(i.set(e,t),i.set(t,e);++u<a;){var h=e[u],p=t[u];if(o)var v=s?o(p,h,u,t,e,i):o(h,p,u,e,t,i);if(void 0!==v){if(v)continue;d=!1;break}if(f){if(!I(t,(function(e,t){if(s=t,!f.has(s)&&(h===e||r(h,e,n,o,i)))return f.push(t);var s}))){d=!1;break}}else if(h!==p&&!r(h,p,n,o,i)){d=!1;break}}return i.delete(e),i.delete(t),d}function Ne(e){return function(e,t,n){var o=t(e);return De(e)?o:function(e,t){for(var n=-1,o=t.length,r=e.length;++n<o;)e[r+n]=t[n];return e}(o,n(e))}(e,Ke,Ce)}function Re(e,t){var n,o,r=e.__data__;return("string"==(o=typeof(n=t))||"number"==o||"symbol"==o||"boolean"==o?"__proto__"!==n:null===n)?r["string"==typeof t?"string":"hash"]:r.map}function je(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Ve(n)?n:void 0}me.prototype.clear=function(){this.__data__=le?le(null):{},this.size=0},me.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},me.prototype.get=function(e){var t=this.__data__;if(le){var o=t[e];return o===n?void 0:o}return $.call(t,e)?t[e]:void 0},me.prototype.has=function(e){var t=this.__data__;return le?void 0!==t[e]:$.call(t,e)},me.prototype.set=function(e,t){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=le&&void 0===t?n:t,this},ge.prototype.clear=function(){this.__data__=[],this.size=0},ge.prototype.delete=function(e){var t=this.__data__,n=xe(t,e);return!(n<0)&&(n==t.length-1?t.pop():J.call(t,n,1),--this.size,!0)},ge.prototype.get=function(e){var t=this.__data__,n=xe(t,e);return n<0?void 0:t[n][1]},ge.prototype.has=function(e){return xe(this.__data__,e)>-1},ge.prototype.set=function(e,t){var n=this.__data__,o=xe(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this},ye.prototype.clear=function(){this.size=0,this.__data__={hash:new me,map:new(re||ge),string:new me}},ye.prototype.delete=function(e){var t=Re(this,e).delete(e);return this.size-=t?1:0,t},ye.prototype.get=function(e){return Re(this,e).get(e)},ye.prototype.has=function(e){return Re(this,e).has(e)},ye.prototype.set=function(e,t){var n=Re(this,e),o=n.size;return n.set(e,t),this.size+=n.size==o?0:1,this},be.prototype.add=be.prototype.push=function(e){return this.__data__.set(e,n),this},be.prototype.has=function(e){return this.__data__.has(e)},_e.prototype.clear=function(){this.__data__=new ge,this.size=0},_e.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},_e.prototype.get=function(e){return this.__data__.get(e)},_e.prototype.has=function(e){return this.__data__.has(e)},_e.prototype.set=function(e,t){var n=this.__data__;if(n instanceof ge){var o=n.__data__;if(!re||o.length<199)return o.push([e,t]),this.size=++n.size,this;n=this.__data__=new ye(o)}return n.set(e,t),this.size=n.size,this};var Ce=ee?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var n=-1,o=null==e?0:e.length,r=0,i=[];++n<o;){var s=e[n];t(s,n,e)&&(i[r++]=s)}return i}(ee(e),(function(t){return Z.call(e,t)})))}:function(){return[]},Ie=Se;function Oe(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||x.test(e))&&e>-1&&e%1==0&&e<t}function Le(e){if(null!=e){try{return F.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Me(e,t){return e===t||e!=e&&t!=t}(oe&&Ie(new oe(new ArrayBuffer(1)))!=_||re&&Ie(new re)!=u||ie&&Ie(ie.resolve())!=h||se&&Ie(new se)!=v||ae&&Ie(new ae)!=y)&&(Ie=function(e){var t=Se(e),n=t==f?e.constructor:void 0,o=n?Le(n):"";if(o)switch(o){case ce:return _;case ue:return u;case de:return h;case fe:return v;case he:return y}return t});var Pe=Ee(function(){return arguments}())?Ee:function(e){return Fe(e)&&$.call(e,"callee")&&!Z.call(e,"callee")},De=Array.isArray;var Be=te||function(){return!1};function ze(e){if(!He(e))return!1;var t=Se(e);return t==c||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Ue(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o}function He(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Fe(e){return null!=e&&"object"==typeof e}var $e=C?function(e){return function(t){return e(t)}}(C):function(e){return Fe(e)&&Ue(e.length)&&!!S[Se(e)]};function Ke(e){return null!=(t=e)&&Ue(t.length)&&!ze(t)?we(e):Ae(e);var t}e.exports=function(e,t){return Te(e,t)}}(ga,ga.exports);var ya=new Uint8Array(16);function ba(){if(!va&&!(va="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return va(ya)}var _a=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var wa=[],xa=0;xa<256;++xa)wa.push((xa+256).toString(16).substr(1));function Sa(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(wa[e[t+0]]+wa[e[t+1]]+wa[e[t+2]]+wa[e[t+3]]+"-"+wa[e[t+4]]+wa[e[t+5]]+"-"+wa[e[t+6]]+wa[e[t+7]]+"-"+wa[e[t+8]]+wa[e[t+9]]+"-"+wa[e[t+10]]+wa[e[t+11]]+wa[e[t+12]]+wa[e[t+13]]+wa[e[t+14]]+wa[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&_a.test(e)}(n))throw TypeError("Stringified UUID is invalid");return n}function Ea(e,t,n){var o=(e=e||{}).random||(e.rng||ba)();return o[6]=15&o[6]|64,o[8]=63&o[8]|128,Sa(o)}var Ta=Object.freeze({__proto__:null,create:function(){return Ea()},fromMsbLsb:function(e,t){function n(e,t){var n=BigInt(1)<<t*BigInt(4);return(n|e&n-BigInt(1)).toString(16).substring(1)}var o="string"==typeof e?BigInt(e):e,r="string"==typeof t?BigInt(t):t,i=n(o>>BigInt(32),BigInt(8)),s=n(o>>BigInt(16),BigInt(4)),a=n(o,BigInt(4)),l=n(r>>BigInt(48),BigInt(4)),c=n(r,BigInt(12));return"".concat(i,"-").concat(s,"-").concat(a,"-").concat(l,"-").concat(c)},toMsbLsb:function(t){var n=e.__read(t.split("-"),5),o=n[0],r=n[1],i=n[2],s=n[3],a=n[4];if(null==o||null==r||null==i||null==s||null==a)throw new Error("Invalid UUID string ".concat(t));var l=BigInt.asIntN(64,BigInt("0x".concat(o+r+i))),c=BigInt.asIntN(64,BigInt("0x".concat(s+a)));return{msb:l.toString(),lsb:c.toString()}}});const Va=bs({key:"viewerToolkitViewerElement",default:void 0,dangerouslyAllowMutability:!0}),Aa=bs({key:"viewerInitialSceneReady",default:!1}),ka=bs({key:"viewerBaseInteractionHandlerProvider",default:Promise.resolve(void 0),dangerouslyAllowMutability:!0}),Na=bs({key:"viewerPrimaryInteractionType",default:"rotate"}),Ra=_s({key:"viewerScene",get:({get:e})=>async()=>{var t;return null===(t=e(Va))||void 0===t?void 0:t.scene()},dangerouslyAllowMutability:!0}),ja=bs({key:"viewerFrameScene",default:void 0,dangerouslyAllowMutability:!0}),Ca=_s({key:"viewerSceneVisibleBoundingBox",get:({get:e})=>{var t;return null===(t=e(ja))||void 0===t?void 0:t.boundingBox}});function Ia(){const e=ra((({snapshot:e})=>async(t,n,...o)=>{const r=await e.getPromise(Ra),i=await r();o.length>0&&await(null==i?void 0:i.items((e=>o.map((t=>t(e))))).execute({suppliedCorrelationId:n}))})),t=o.useCallback(((...e)=>t=>t.where((t=>t.withItemIds(e))).select()),[]),n=o.useCallback(((...e)=>t=>t.where((t=>t.withItemIds(e))).deselect()),[]),r=o.useCallback((e=>e.where((e=>e.all())).deselect()),[]);return{executeWithCorrelationId:e,execute:ra((()=>async(t,...n)=>{const o=Ta.create();await e(t,o,...n)})),selectItemsTransform:t,deselectItemsTransform:n,clearSelectionTransform:r,reset:ra((({snapshot:e})=>async t=>{const n=await e.getPromiseRequired(Ra),o=await n();null==o||o.reset({includeCamera:!0,suppliedCorrelationId:t})}))}}function Oa(){return{flyToById:ra((({snapshot:e})=>async(t,n)=>{const o=await e.getPromise(Ra),r=await o();await(null==r?void 0:r.camera().flyTo({itemId:t}).render({animation:{milliseconds:null!=n?n:500}}))})),flyToByBoundingBox:ra((({snapshot:e})=>async(t,n)=>{const o=await e.getPromise(Ra),r=await o();await(null==r?void 0:r.camera().flyTo({boundingBox:t}).render({animation:{milliseconds:null!=n?n:500}}))})),updateCameraType:ra((({set:e})=>t=>{e(La,t)}))}}const La=bs({key:"viewerCameraType",default:"perspective"});const Ma=(e,t=0)=>({normal:e,offset:t}),Pa=e=>Ma(s.Vector3.left(),-e),Da=e=>Ma(s.Vector3.down(),-e),Ba=e=>Ma(s.Vector3.forward(),-e),za={x:s.Vector3.left(),y:s.Vector3.down(),z:s.Vector3.forward()},Ua=e=>e.x,Ha=e=>e.y||s.Vector3.create(e.x.z,e.x.x,e.x.y),Fa=e=>e.z||s.Vector3.create(e.x.y,e.x.z,e.x.x),$a=e=>s.Vector3.dot(s.Vector3.create(-1,-1,-1),e.normal)>0,Ka=(e,t)=>((e,t)=>s.Vector3.dot(e,t.normal)<0?Ga(t):t)(e.viewVector,t),Ga=e=>Object.assign(Object.assign({},e),{normal:s.Vector3.multiply(e.normal,s.Vector3.create(-1,-1,-1)),offset:-e.offset}),Wa=(e,t,n,o,r)=>{const i=n.viewAll(),a=((e,t)=>{switch(e){case"x":return Ua(t);case"y":return Ha(t);case"z":return Fa(t)}})(e,t),l=null!=o&&null!=a?Ma(a,s.Vector3.dot(a,r||s.BoundingBox.center(o))):((e,t)=>{switch(e){case"x":return Pa(t);case"y":return Da(t);case"z":return Ba(t)}})(e,i.lookAt[e]);return Ka(n,l)};const qa={default:5,min:0,max:10},Ya=bs({key:"crossSectioningEnabled",default:!1}),Xa=bs({key:"crossSectioningHighlightColor",default:void 0}),Za=bs({key:"crossSectioningBorderWidth",default:void 0}),Ja=bs({key:"crossSectioningPlanes",default:[]}),Qa=bs({key:"crossSectioningAlignment",default:{mode:"global",hitPending:!1}}),el=_s({key:"crossSectioningTargetBoundingBox",get:async({get:e})=>e(Ca)}),tl=bs({key:"crossSectioningIsInteractive",default:!1}),nl=bs({key:"crossSectioningActiveAxis",default:"x"}),ol=bs({key:"crossSectioningAvailableAxes",default:za}),rl=_s({key:"crossSectioningOffsetScalar",get:({get:e})=>{const t=e(Ja);return t.length>0&&$a(t[0])?-1:1}}),il=_s({key:"crossSectioningSliderRange",get:({get:e})=>{const t=e(Ja),n=e(el),o=null!=n?(r=n,[s.Vector3.create(r.min.x,r.min.y,r.min.z),s.Vector3.create(r.min.x,r.min.y,r.max.z),s.Vector3.create(r.min.x,r.max.y,r.min.z),s.Vector3.create(r.min.x,r.max.y,r.max.z),s.Vector3.create(r.max.x,r.max.y,r.max.z),s.Vector3.create(r.max.x,r.max.y,r.min.z),s.Vector3.create(r.max.x,r.min.y,r.max.z),s.Vector3.create(r.max.x,r.min.y,r.min.z)]):[];var r;if(t.length>0){const e=o.map((e=>s.Vector3.dot(e,$a(t[0])?s.Vector3.multiply(t[0].normal,s.Vector3.create(-1,-1,-1)):t[0].normal)));return{default:t[0].offset,min:Math.min(...e)-2,max:Math.max(...e)+2}}return qa}}),sl=_s({key:"crossSectioningPlaneDisplayOffset",get:({get:e})=>{const t=e(Ja),n=e(rl),o=e(il);return t.length>0?t[0].offset*n:o.default}}),al=bs({key:"crossSectioningAdditionalToolsOpen",default:!1}),ll=bs({key:"crossSectioningAlignmentToolsOpen",default:!1}),cl=bs({key:"crossSectioningAxisToolsOpen",default:!1}),ul=bs({key:"crossSectioningInteractionHandler",default:new class{constructor(){this.interactionStarted=!1}initialize(e,t){this.api=t}dispose(){this.endInteraction()}async beginInteraction(){var e;this.interactionStarted||(await(null===(e=this.api)||void 0===e?void 0:e.beginInteraction()),this.interactionStarted=!0)}async endInteraction(){var e;await(null===(e=this.api)||void 0===e?void 0:e.endInteraction()),this.interactionStarted=!1}},dangerouslyAllowMutability:!0});const dl=bs({key:"hitResultsTapDetails",default:void 0}),fl=bs({key:"hitResultsLongPressDetails",default:void 0}),hl=bs({key:"previousHitResult",default:void 0}),pl=bs({key:"currentHitResult",default:void 0}),vl=_s({key:"hitResult",get:async({get:e})=>{var t,n,o,r,i,a,l,c;const u=e(dl),d=e(fl),f=null!=u?u:d,h=e(Ra),p=await h(),v=null==p?void 0:p.sceneViewId,m=null==p?void 0:p.raycaster();if(null!=f&&null!=m&&null!=v){const e=await m.hitItems(f.position),u=((null==e?void 0:e.hits)||[])[0];if(null!=u)return{id:null===(t=u.itemId)||void 0===t?void 0:t.hex,normal:s.Vector3.create((null===(n=null==u?void 0:u.hitNormal)||void 0===n?void 0:n.x)||0,(null===(o=null==u?void 0:u.hitNormal)||void 0===o?void 0:o.y)||0,(null===(r=null==u?void 0:u.hitNormal)||void 0===r?void 0:r.z)||0),position:s.Vector3.create((null===(i=null==u?void 0:u.hitPoint)||void 0===i?void 0:i.x)||0,(null===(a=null==u?void 0:u.hitPoint)||void 0===a?void 0:a.y)||0,(null===(l=null==u?void 0:u.hitPoint)||void 0===l?void 0:l.z)||0),meta:f.metaKey||f.ctrlKey||!1,metadata:[],ancestors:(null===(c=null==u?void 0:u.ancestors)||void 0===c?void 0:c.filter((e=>{var t;return null!=(null===(t=e.itemId)||void 0===t?void 0:t.hex)})).map((e=>{var t;return null===(t=e.itemId)||void 0===t?void 0:t.hex})))||[]}}}}),ml=bs({key:"hitResultsSkipNextTap",default:!1});function gl(){const e=ra((({snapshot:e})=>async()=>{const t=await e.getPromise(Za),n=await e.getPromise(Xa),o=await e.getPromise(Ja),r=await e.getPromise(Ra),i=await r();await(null==i?void 0:i.crossSectioning().update({sectionPlanes:o,highlightColor:n?pa.fromHexString(n):void 0,lineWidth:t}))})),t=ra((({set:t,reset:n,snapshot:o})=>async()=>{const r=await o.getPromise(Ra),i=await r();if(null!=i){const o=i.camera().viewAll();n(ol),t(Ja,[Ka(i.camera(),Pa(o.lookAt.x))]),e()}})),n=ra(ia((({snapshot:t,set:n})=>async()=>{const o=await t.tryGetPromise(vl).then((e=>e.value)),r=await t.getPromise(Ra),i=await r();if(null!=o&&null!=i){const t=((e,t)=>{const n=s.Vector3.normalize(e.normal),o=s.Vector3.dot(n,e.position);return Ka(t,Ma(n,o))})(o,i.camera());n(Ja,null!=t?[t]:[]),n(ol,null!=t?{x:t.normal}:za),e()}}))),o=ra((({set:e,snapshot:n})=>async()=>{const o=await n.getPromise(Ja);await n.getPromise(Ya)||(e(Ya,!0),0===o.length&&await t())})),r=ra((({reset:t,snapshot:n})=>async()=>{await n.getPromise(Ya)&&(t(Ya),t(al),t(ll),t(cl),t(Ja),t(Qa),t(nl),await e())}));return{enable:o,disable:r,openAdditionalTools:ra((({set:e,snapshot:t})=>async()=>{await t.getPromise(Ya)||o(),e(al,!0)})),closeAdditionalTools:ra((({reset:e})=>async()=>{e(al)})),openAlignmentTools:ra((({set:e,reset:t})=>async()=>{t(cl),e(ll,!0)})),closeAlignmentTools:ra((({reset:e})=>async()=>{e(ll)})),openAxisTools:ra((({set:e,reset:t})=>async()=>{t(ll),e(cl,!0)})),closeAxisTools:ra((({reset:e})=>async()=>{e(cl)})),beginInteraction:ra((({set:e,snapshot:t})=>async()=>{const n=await t.getPromise(ul);e(tl,!0),await n.beginInteraction()})),endInteraction:ra((({reset:e,snapshot:t})=>async()=>{const n=await t.getPromise(ul);e(tl),await n.endInteraction()})),updatePlanes:ra(ia((({set:t,snapshot:n})=>async o=>{const r=await n.getPromise(Ja);if(r.length>0){const i=await n.getPromise(rl),s=await n.getPromise(il),a=i<0?-1*s.max:s.min,l=i<0?-1*s.min:s.max,c=r.map((e=>Object.assign(Object.assign({},e),{offset:Math.min(Math.max(o*i,a),l)})));t(Ja,c),e()}}))),flipPlanes:ra((({set:t,snapshot:n})=>async()=>{const o=await n.getPromise(Ja);t(Ja,o.map((e=>Ga(e)))),e()})),alignViewToPlane:ra((({snapshot:e})=>async()=>{const t=await e.getPromise(Ja),n=await e.getPromise(Va),o=await(null==n?void 0:n.scene());t.length>0&&null!=o&&await((e,t,n)=>{if(e.toFrameCamera().isPerspective()){const n=s.Vector3.dot(s.Vector3.normalize(e.up),t),o=Math.abs(n)>.98?s.Vector3.normalize(s.Vector3.scale(-n,e.viewVector)):e.up,r=s.Vector3.add(s.Vector3.scale(s.Vector3.distance(e.position,e.lookAt),s.Vector3.multiply(t,s.Vector3.create(-1,-1,-1))),e.lookAt);return e.update({up:o,position:r})}{const o=s.Vector3.angleTo(s.Vector3.normalize(e.viewVector),t),r=null!=n?s.BoundingBox.center(n):e.lookAt,i=s.Vector3.normalize(s.Vector3.cross(s.Vector3.normalize(e.viewVector),t));return e.rotateAroundAxisAtPoint(o,r,i)}})(o.camera(),t[0].normal,o.boundingBox()).render({animation:{milliseconds:500}})})),updateAxis:ra(ia((({set:t,reset:n,snapshot:o})=>async r=>{const i=await o.getPromise(Ja),a=await o.getPromise(ol),l=await o.getPromise(el),c=await o.getPromise(Qa),u=await o.getPromise(Va),d=await(null==u?void 0:u.scene()),f=a[r],h=null!=f&&i.length>0&&function(e,t){const n=s.Angle.toDegrees(s.Vector3.angleTo(e,t));return 0===n||180===n}(i[0].normal,f)&&!isNaN(s.Vector3.angleTo(i[0].normal,f));if(null!=d&&!h){const e=await o.tryGetPromise(vl).then((e=>e.value));t(nl,r),t(Ja,[Wa(r,a,d.camera(),l,"global"!==c.mode?null==e?void 0:e.position:void 0)])}n(cl),e()}))),updateAlignment:ra((({set:e,reset:r})=>async(i,s)=>{r(ll),e(Qa,{mode:i,hitPending:"global"!==i&&null==s}),"global"===i?(r(nl),r(ol),t()):"surface"===i&&null!=s&&(await o(),n())})),cancelCurrentHit:ra((({set:e,snapshot:t})=>async()=>{const n=await t.getPromise(Qa);n.hitPending&&e(Qa,Object.assign(Object.assign({},n),{hitPending:!1}))})),sectionCurrentHit:ra((({set:e,snapshot:t})=>async()=>{const o=await t.getPromise(Qa);o.hitPending&&(e(Qa,Object.assign(Object.assign({},o),{hitPending:!1})),"surface"===o.mode&&n())}))}}var yl=Object.freeze({__proto__:null,DEFAULT_ALIGN_TO_PLANE_ANIMATION_DURATION_MS:500,DEFAULT_SLIDER_RANGE:qa,crossSectioningActiveAxis:nl,crossSectioningAdditionalToolsOpen:al,crossSectioningAlignment:Qa,crossSectioningAlignmentToolsOpen:ll,crossSectioningAvailableAxes:ol,crossSectioningAxisToolsOpen:cl,crossSectioningBorderWidth:Za,crossSectioningEnabled:Ya,crossSectioningHighlightColor:Xa,crossSectioningInteractionHandler:ul,crossSectioningIsInteractive:tl,crossSectioningOffsetScalar:rl,crossSectioningPlaneDisplayOffset:sl,crossSectioningPlanes:Ja,crossSectioningSliderRange:il,crossSectioningTargetBoundingBox:el,useCrossSectioning:function(e,t){const n=xs(ul);o.useEffect((()=>{t&&(null==e||e.registerInteractionHandler(n))}),[e,t,n])},useCrossSectioningActions:gl});const bl=()=>{const e=gl(),t=ra(ia((({snapshot:e})=>async()=>{await e.tryGetPromise(vl).then((e=>e.value))}))),n=ra(ia((({snapshot:e})=>async()=>{await e.tryGetPromise(vl).then((e=>e.value))}))),o=ra(ia((({set:e,snapshot:t})=>async()=>{const n=await t.tryGetPromise(vl).then((e=>e.value));e(js,n)}))),r=ra(ia((({snapshot:e,set:t})=>async()=>{t(pl,await e.tryGetPromise(vl).then((e=>e.value)))})));return{tap:ra(ia((({snapshot:i,set:s})=>async({detail:a},...l)=>{const c=await i.getPromise(Qa),u=2!==(null==a?void 0:a.buttons)&&!(null==a?void 0:a.altKey);a.altKey||a.ctrlKey||a.metaKey||a.shiftKey;const d=u&&!c.hitPending,f=await i.tryGetPromise(vl).then((e=>e.value));s(hl,f),s(dl,a),t(),d&&(l.forEach((e=>e())),n()),o(),e.sectionCurrentHit(),r()}))),longPress:ra(ia((({snapshot:e,set:t,reset:n})=>async i=>{n(dl),t(fl,i.detail),await e.tryGetPromise(vl),o(),r()})))}},_l=_s({key:"viewerToolkitHitState",get:({get:e})=>({tapDetails:e(dl),longPressDetails:e(fl),previousHitResult:e(hl),currentHitResult:e(pl)})});var wl=Object.freeze({__proto__:null,currentHitResult:pl,hitResult:vl,hitResultsLongPressDetails:fl,hitResultsSkipNextTap:ml,hitResultsTapDetails:dl,hitState:_l,previousHitResult:hl,useHitActions:bl});function xl(){return{pointerDown:ra((({set:e})=>async t=>{if(2===t.button){const n=t.clientX,o=null==t?void 0:t.clientY;e(Ns,s.Point.create(n,o)),e(Rs,t.target)}})),pointerUp:ra((({snapshot:e,set:t})=>async(n,o,r,i)=>{const a=await e.getPromise(Ns),l=await e.getPromise(ks);if(null!=a&&null==l){const e=n.clientX,l=null==n?void 0:n.clientY,c=s.Point.create(e,l),u=null!=a?s.Point.distance(a,c):0,d=null==r||r(n);u<2&&d&&(null==i||i(n,null!=a?a:c),t(ks,o))}})),contextMenu:ra((()=>(e,t)=>{(null==t||t(e))&&e.preventDefault()})),longPress:ra((({set:e})=>(t,n,o,r)=>{if(null==o||o(t)){const o=s.Point.create(t.touches[0].clientX,t.touches[0].clientY);e(Ns,o),e(Rs,t.target),e(ks,n),null==r||r(t,o)}})),clearActiveContextMenu:ra((({reset:e,set:t})=>n=>{t(ml,!!n),e(ks),e(Cs),e(Ns)})),clearDismissedState:ra((({reset:e})=>()=>e(ml)))}}function Sl(e,t){return null!=t.closest(e)}const El=e=>{const t=e instanceof HTMLElement&&"VERTEX-AUTO-RESIZE-TEXTAREA"===e.tagName,n=e instanceof HTMLElement&&"VERTEX-TEXTFIELD"===e.tagName,o=e instanceof HTMLElement&&"true"===e.contentEditable,r=e instanceof HTMLElement&&"VERTEX-SCENE-TREE-SEARCH"===e.tagName,i=e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement,s=e instanceof HTMLElement&&"VERTEX-VIEWER-PIN-TOOL"===e.tagName,a=e instanceof HTMLElement&&"VERTEX-VIEWER-TRANSFORM-WIDGET"===e.tagName;return t||n||o||r||i||s||a},Tl=({reducer:e,atom:t})=>{const n=Vs((({set:n})=>async o=>{n(t,(t=>e(t,o)))}),[]);return n},Vl=bs({key:"keyBindings",default:{applyBindings:[],bindings:{},pressed:{}}});function Al(e,t){var n,o,r,i;switch(t.type){case"push-key-binding":return null!=(null===(n=e.bindings[t.binding.keyBind])||void 0===n?void 0:n.find((e=>e.id===t.binding.id)))?e:Object.assign(Object.assign({},e),{bindings:Object.assign(Object.assign({},e.bindings),{[t.binding.keyBind]:[...null!==(o=e.bindings[t.binding.keyBind])&&void 0!==o?o:[],t.binding]})});case"remove-key-binding":return null==(null===(r=e.bindings[t.binding.keyBind])||void 0===r?void 0:r.find((e=>e.id===t.binding.id)))?e:Object.assign(Object.assign({},e),{bindings:Object.assign(Object.assign({},e.bindings),{[t.binding.keyBind]:(null!==(i=e.bindings[t.binding.keyBind])&&void 0!==i?i:[]).filter((e=>e.id!==t.binding.id))})});case"add-apply-key-binding":return Object.assign(Object.assign({},e),{applyBindings:[...e.applyBindings,t.binding]});case"remove-apply-key-binding":return Object.assign(Object.assign({},e),{applyBindings:e.applyBindings.filter((e=>e.id!==t.id))});case"set-key-pressed":return Object.assign(Object.assign({},e),{applyBindings:e.applyBindings.map((t=>Object.assign(Object.assign({},t),{active:null!=t.keyBind&&Rl(t.keyBind,e.pressed)}))),pressed:Object.assign(Object.assign({},e.pressed),{[t.key]:t.pressed}),lastPressed:t.pressed?t.key:void 0})}}const kl=()=>(({reducer:e,atom:t})=>[xs(t),Tl({reducer:e,atom:t})])({reducer:Al,atom:Vl});function Nl(e,t){return e.includes("!")?!t[e.replace("!","")]&&!t[e.replace("!","").toLowerCase()]:t[e]||t[e.toLowerCase()]}function Rl(e,t){return e.split("+").every((e=>function(e,t){const n=e.split("||");return n.length>1?n.some((e=>Nl(e,t))):Nl(n[0],t)}(e,t)))}function jl(e,t,n){return e.filter((e=>!e.repeat)).filter((e=>{var o;return null!=e.keyBind&&null!=n&&(null===(o=e.keyBind)||void 0===o?void 0:o.includes(n))&&Rl(e.keyBind,t)})).map((e=>e.fn))}function Cl(e,t,n){return e.filter((e=>e.off&&e.active&&null!=e.keyBind&&null==n&&!Rl(e.keyBind,t))).map((e=>e.off))}const Il=e=>{const[t,n]=kl();o.useEffect((()=>{const o=Ta.create();return n({type:"add-apply-key-binding",binding:Object.assign(Object.assign({},e),{id:o,active:null!=e.keyBind&&Rl(e.keyBind,t.pressed)})}),()=>{n({type:"remove-apply-key-binding",id:o})}}),[e.fn,e.off,e.keyBind,e.repeat])},Ol=(e,t=[])=>{const[,n]=kl();o.useEffect((()=>{const t=null==e.addPredicate||e.addPredicate(),o=null!=e.cancelPredicate&&e.cancelPredicate();t&&n({type:"push-key-binding",binding:e}),o&&n({type:"remove-key-binding",binding:e})}),t)};const Ll=({targetElement:e,menuType:r,disableBackdrop:i,openPredicate:a,onOpen:l,onClose:c,children:u})=>{const d=xl(),h=xs(ks),v=xs(Is),m=o.useMemo((()=>["bottom-end","top-start","top-end","right","left"]),[]),g=h===r;Ol({id:"ContextMenu",keyBind:"Escape",fn:d.clearActiveContextMenu,addPredicate:()=>null!=h&&h===r,cancelPredicate:()=>null==h},[h]);const y=o.useMemo((()=>null!=e?e:null!=a?window:void 0),[e,a]);return function({target:e,callback:t,delay:n=500,onMovement:o}){const[r,i]=f.useState(),[a,l]=f.useState();f.useEffect((()=>{const c=e=>{const o=e;null!=o.touches&&1===o.touches.length&&(null!=r&&clearTimeout(r),l(s.Point.create(o.touches[0].clientX,o.touches[0].clientY)),i(setTimeout((()=>null==t?void 0:t(o)),n)))},u=e=>{const t=e;null!=t.touches&&t.touches.length>0&&null!=r&&null!=a&&s.Point.distance(a,s.Point.create(t.touches[0].clientX,t.touches[0].clientY))>=2&&(clearTimeout(r),null==o||o())},d=()=>{null!=r&&clearTimeout(r)};return null==e||e.addEventListener("touchstart",c),null==e||e.addEventListener("touchmove",u),null==e||e.addEventListener("touchend",d),()=>{null==e||e.removeEventListener("touchstart",c),null==e||e.removeEventListener("touchmove",u),null==e||e.removeEventListener("touchend",d)}}),[e,r,a])}({target:y,callback:e=>d.longPress(e,r,a,l),onMovement:()=>d.clearActiveContextMenu()}),o.useEffect((()=>{const e=e=>{const t=function(e){return e.target instanceof Element&&Sl("vertex-menu",e.target)}(e);if(!t&&2!==e.buttons&&h===r){const t=function(e){return e.target instanceof Element&&Sl("vertex-viewer",e.target)}(e);d.clearActiveContextMenu(t)}};if(i)return window.addEventListener("pointerdown",e),()=>{window.removeEventListener("pointerdown",e)}}),[i,r,h]),o.useEffect((()=>{const e=e=>{d.pointerDown(e)},t=e=>{d.pointerUp(e,r,a,l)},n=e=>d.contextMenu(e,a);return null==y||y.addEventListener("pointerdown",e),null==y||y.addEventListener("pointerup",t),null==y||y.addEventListener("contextmenu",n),()=>{null==y||y.removeEventListener("pointerdown",e),null==y||y.removeEventListener("pointerup",t),null==y||y.removeEventListener("contextmenu",n)}}),[e,r,a]),t.jsx(n.VertexMenu,{className:p({hidden:!g}),"data-testid":`${r}-context-menu`,open:g,position:v,fallbackPlacements:m,backdrop:!i,onMenuClosed:()=>{d.clearActiveContextMenu(),null==c||c()},children:t.jsx("div",{className:"pt-1",children:u})})};var Ml;!function(e){e.HIDE_ITEM="Hide Item",e.SHOW_ONLY_SELECTED="Show Only Selected",e.HIDE_SELECTED="Hide Selected",e.SHOW_ONLY_ITEM="Show Only Item",e.SHOW_ALL="Show All",e.HIDE_ALL="Hide All",e.SELECT_FILTERED_ITEMS="Select Filtered Items",e.INVERT_SELECTION="Invert Selection",e.CLEAR_ALL_TRANSFORMS="Clear All Transforms",e.CLEAR_SELECTED_TRANSFORMS="Clear Selected Transforms",e.CLEAR_SELECTION="Clear Selection",e.DESELECTING_ITEMS="Deselecting Items",e.SELECTING_ITEMS="Selecting Items",e.SELECTING_ONLY_ITEM="Selecting Only Item",e.SELECTING_ANCESTOR="Selecting Ancestor",e.APPLY_MATERIAL_OVERRIDE_TO_ALL="Apply Material Override To All",e.APPLY_MATERIAL_OVERRIDE_TO_SELECTION="Apply Material Override To Selection",e.CLEAR_ALL_MATERIAL_OVERRIDES="Clear All Material Overrides",e.CLEAR_SELECTED_MATERIAL_OVERRIDES="Clear Selected Material Overrides",e.SET_PHANTOM_ALL="Set Phantom All",e.SET_PHANTOM_SELECTED_ITEMS="Set Phantom Selected Items",e.CLEAR_PHANTOM_ALL="Clear Phantom All",e.CLEAR_PHANTOM_SELECTED_ITEMS="Clear Phantom Selected Items",e.SET_PHANTOM_NON_SELECTED_ITEMS="Set Phantom Non Selected Items",e.RESTORE_PHANTOM_OVERRIDES="Restore Phantom Overrides",e.SET_ITEM_AS_END_ITEM="Set Item as End Item",e.UNSET_ITEM_AS_END_ITEM="Unset Item as End Item",e.SHOW_ANNOTATION="Show Annotation",e.HIDE_ANNOTATION="Hide Annotation"}(Ml||(Ml={}));const Pl=ws({key:"selectionSelectedItems",default:void 0}),Dl=bs({key:"selectionSelectedItemIds",default:[]}),Bl=bs({key:"selectionLastSelected",default:void 0}),zl=bs({key:"selectionLastSelectionFromViewer",default:!1}),Ul=bs({key:"selectionLastSelectWasMultiSelect",default:!1}),Hl=_s({key:"selectionHighestSelectedAncestor",get:({get:e})=>{var t,n;const o=e(Bl),r=e(Dl);return null!==(n=null===(t=null==o?void 0:o.ancestors)||void 0===t?void 0:t.find((e=>r.includes(e))))&&void 0!==n?n:null==o?void 0:o.id}}),Fl=bs({key:"selectionPreviousVisibleSummary",default:void 0}),$l=bs({key:"selectionVisibleSummary",default:void 0}),Kl=_s({key:"selectionVisibleCount",get:({get:e})=>{var t,n;return null!==(n=null===(t=e($l))||void 0===t?void 0:t.count)&&void 0!==n?n:0}});function Gl(){const e=Ia(),t=ra((({snapshot:e,reset:t})=>async()=>{(await e.getPromise(Dl)).forEach((e=>t(Pl(e))))})),n=ra((({snapshot:t,reset:n,set:o})=>async(r,i)=>{var s,a;const l=await t.getPromise(Pl(r.id)),u=await t.getPromise(Dl),d=null===(a=[...null!==(s=r.ancestors)&&void 0!==s?s:[]])||void 0===a?void 0:a.reverse().find((e=>!u.includes(e)));null!=l&&null!=d?(o(Pl(d),{id:d}),o(Dl,(e=>[...e,d])),e.execute(Ml.SELECTING_ANCESTOR,e.selectItemsTransform(d))):(null==i?void 0:i.clear)?(o(Pl(r.id),r),o(Dl,[r.id]),e.execute(Ml.SELECTING_ONLY_ITEM,e.clearSelectionTransform,e.selectItemsTransform(r.id))):(o(Pl(r.id),r),o(Dl,(e=>[...e,r.id])),e.execute(Ml.SELECTING_ITEMS,e.selectItemsTransform(r.id))),c(r),o(Bl,r),o(zl,!0),n(Ul)})),o=ra((({reset:t,set:n})=>async o=>{t(Pl(o)),t(Ul),n(Dl,(e=>e.filter((e=>e!==o)))),e.execute(Ml.DESELECTING_ITEMS,e.deselectItemsTransform(o))})),r=ra((({snapshot:e})=>async t=>{const r=await e.getPromise(Pl(t.id));null!=r?await o(r.id):await n(t)})),i=ra((({snapshot:e,reset:t,set:o})=>async(r,i={})=>{const s=await e.getPromise(Pl(r.id)),a=await e.getPromise(Dl);if(a.filter((e=>{var t;return e!==r.id&&!(null===(t=r.ancestors)||void 0===t?void 0:t.includes(e))})).forEach((e=>t(Pl(e)))),t(Ul),s)if(i.ignoreAncestorSelection)t(Dl),t(Pl(s.id));else{const e=a.filter((e=>{var t;return e===r.id||(null===(t=r.ancestors)||void 0===t?void 0:t.includes(e))}));o(Dl,e)}else t(Dl);await n(r,{clear:!0})})),s=ra((({reset:e})=>async()=>{await t(),e(Dl),e(Bl),e(zl),e(Ul)})),a=ra((()=>async()=>{await s(),e.execute(Ml.CLEAR_SELECTION,e.clearSelectionTransform)})),l=ra((({set:e})=>async t=>{e(Ul,t)})),c=ra((({reset:e,set:t})=>e=>{}));return{select:n,toggleSelection:r,clearAndSelect:i,selectCurrentHit:ra(ia((({snapshot:e})=>async()=>{const t=await e.tryGetPromise(vl).then((e=>e.value)),n=await e.getPromise(dl),o=(null==n?void 0:n.metaKey)||(null==n?void 0:n.ctrlKey)||(null==n?void 0:n.shiftKey);null==t||o?null!=t&&o?r(t):a():i(t)}))),syncSelection:ra((({set:e,reset:n})=>async(o,r)=>{r.selected?(await t(),e(Pl(o.id),o),r.multiSelect?e(Dl,(e=>[...e.filter((e=>e!==o.id)),o.id])):e(Dl,[o.id]),c(o),e(Bl,o),e(zl,!1),e(Ul,!!r.multiSelect)):(n(Pl(o.id)),n(Ul),e(Dl,(e=>e.filter((e=>e!==o.id)))))})),deselect:o,clearSelection:a,resetSelectionState:s,toggleLastSelectWasMultiSelect:l,selectForModelViewsPanel:c}}const Wl=_s({key:"viewerToolkitSelectionState",get:({get:e})=>({selectedItemIds:e(Dl),lastSelected:e(Bl),highestSelectedAncestorId:e(Hl)})});var ql=Object.freeze({__proto__:null,selectionHighestSelectedAncestor:Hl,selectionLastSelectWasMultiSelect:Ul,selectionLastSelected:Bl,selectionLastSelectionFromViewer:zl,selectionPreviousVisibleSummary:Fl,selectionSelectedItemIds:Dl,selectionSelectedItems:Pl,selectionState:Wl,selectionVisibleCount:Kl,selectionVisibleSummary:$l,useSelectionActions:Gl});const Yl=()=>{const e=xs(Dl),o=xs($l),r=Oa();return t.jsxs(n.VertexMenuItem,{"data-testid":"fit-selected-menu-option",onClick:()=>{null!=(null==o?void 0:o.boundingBox)&&r.flyToByBoundingBox(o.boundingBox)},disabled:0===e.length,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"fit-selected",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Fit Selected"})]})},Xl=()=>{const e=Oa(),o=xs(js);return t.jsxs(n.VertexMenuItem,{"data-testid":"fly-to-part-menu-option",onClick:()=>{var t;const n=As(o)?null===(t=null==o?void 0:o.node.id)||void 0===t?void 0:t.hex:null==o?void 0:o.id;null!=n&&e.flyToById(n)},disabled:null==o,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"paper-airplane",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Fly To"})]})};function Zl(){const e=xs(Va);return{sceneItemsOperation:o.useCallback((async(t,n)=>{const o=await(null==e?void 0:e.scene());null==n?await(null==o?void 0:o.items((e=>t(e.where((e=>e.all()))))).execute()):n.length>0&&await(null==o?void 0:o.items((e=>t(e.where((e=>e.withItemIds(n)))))).execute())}),[e]),showOnlySelected:o.useCallback((async()=>{const t=await(null==e?void 0:e.scene());null==t||t.items((e=>[e.where((e=>e.all())).hide(),e.where((e=>e.withSelected())).show()])).execute()}),[e]),hideSelected:o.useCallback((async()=>{const t=await(null==e?void 0:e.scene());null==t||t.items((e=>[e.where((e=>e.withSelected())).hide()])).execute()}),[e]),showOnlyItem:o.useCallback((async t=>{const n=await(null==e?void 0:e.scene());null==n||n.items((e=>[e.where((e=>e.all())).hide(),e.where((e=>e.withItemIds([t]))).show()])).execute()}),[e]),ghostSelected:o.useCallback((async()=>{const t=await(null==e?void 0:e.scene());null==t||t.items((e=>[e.where((e=>e.withSelected())).setPhantom(!0)])).execute()}),[e]),unGhostSelected:o.useCallback((async()=>{const t=await(null==e?void 0:e.scene());null==t||t.items((e=>[e.where((e=>e.withSelected())).setPhantom(!1)])).execute()}),[e])}}const Jl=()=>{const e=Zl();return t.jsxs(n.VertexMenuItem,{"data-testid":"hide-all-menu-option",onClick:()=>{e.sceneItemsOperation((e=>e.hide()))},children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-hidden",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Hide All Parts"})]})},Ql=()=>{const e=xs(js),o=Zl();return t.jsxs(n.VertexMenuItem,{"data-testid":"hide-menu-option",onClick:()=>{var t;const n=As(e)?null===(t=null==e?void 0:e.node.id)||void 0===t?void 0:t.hex:e.id;null!=n&&o.sceneItemsOperation((e=>e.hide()),[n])},disabled:null==e,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-hidden",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Hide Part"})]})},ec=()=>{const e=xs(Dl),o=Zl();return t.jsxs(n.VertexMenuItem,{"data-testid":"hide-selected-menu-option",onClick:()=>o.hideSelected(),disabled:0===e.length,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-hidden",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Hide Selected"})]})},tc=()=>{const e=Zl();return t.jsxs(n.VertexMenuItem,{"data-testid":"show-all-menu-option",onClick:()=>{e.sceneItemsOperation((e=>e.show()))},children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-visible",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Show All Parts"})]})},nc=()=>{const e=xs(js),o=Zl();return t.jsxs(n.VertexMenuItem,{"data-testid":"show-only-menu-option",onClick:()=>{var t;const n=As(e)?null===(t=null==e?void 0:e.node.id)||void 0===t?void 0:t.hex:null==e?void 0:e.id;null!=n&&o.showOnlyItem(n)},disabled:null==e,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-visible",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Show Only Part"})]})},oc=()=>{const e=xs(Dl),o=Zl();return t.jsxs(n.VertexMenuItem,{"data-testid":"show-only-selected-menu-option",onClick:()=>o.showOnlySelected(),disabled:0===e.length,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-visible",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Show Only Selected"})]})};bs({key:"sceneTreeLoaderVisible",default:!1});const rc=bs({key:"sceneTreeElement",default:void 0}),ic=bs({key:"sceneTreeWidth",default:void 0});function sc(){const e=Gl(),t=Oa();return{toggleSelection:ra((({snapshot:t})=>async(n,o,r)=>{var i,s;if(!n.defaultPrevented&&0===n.button&&(n.altKey||((n.ctrlKey||n.metaKey)&&o.selected?r.deselectItem(o):o.selected?r.selectItem(o,{recurseParent:!0}):o.selected||r.selectItem(o,{append:n.ctrlKey||n.metaKey,range:n.shiftKey})),null!=o.id)){const r=await t.getPromise(Bl);e.syncSelection({id:null===(i=o.id)||void 0===i?void 0:i.hex,ancestors:null!==(s=null==r?void 0:r.ancestors)&&void 0!==s?s:[]},{selected:!n.metaKey&&!n.ctrlKey||!o.selected,multiSelect:n.shiftKey||n.metaKey||n.ctrlKey})}})),toggleExpansion:ra((()=>(e,t,n)=>{n.toggleExpandItem(t)})),toggleVisibility:ra((()=>(e,t,n)=>{n.toggleItemVisibility(t)})),flyToRow:ra((({snapshot:e})=>async n=>{var o;const r=await e.getPromise(rc),i=await(null==r?void 0:r.getRowAtClientY(n));null!=(null===(o=null==i?void 0:i.node.id)||void 0===o?void 0:o.hex)&&await t.flyToById(i.node.id.hex)})),setContextMenuItem:ra((({set:e,snapshot:t})=>async n=>{const o=await t.getPromise(rc),r=await(null==o?void 0:o.getRowAtClientY(n));e(js,r)}))}}_s({key:"sceneTreeController",get:({get:e})=>{var t;return null===(t=e(rc))||void 0===t?void 0:t.controller},dangerouslyAllowMutability:!0});const ac=()=>{const e=xs(Dl),o=Zl();return t.jsxs(n.VertexMenuItem,{"data-testid":"ghost-selected-menu-option",onClick:()=>o.ghostSelected(),disabled:0===e.length,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-partial",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Ghost Selected"})]})},lc=()=>{const e=xs(Dl),o=Zl();return t.jsxs(n.VertexMenuItem,{"data-testid":"unghost-selected-menu-option",onClick:()=>o.unGhostSelected(),disabled:0===e.length,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-visible",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Unghost Selected"})]})},cc=()=>t.jsxs("div",{className:"w-56",children:[t.jsx(ec,{}),t.jsx(Jl,{}),t.jsx(nc,{}),t.jsx(oc,{}),t.jsx(tc,{}),t.jsx(ac,{}),t.jsx(lc,{}),t.jsx(n.VertexMenuDivider,{}),t.jsx(Yl,{}),t.jsx(Xl,{})]}),uc=({children:e})=>{const n=sc(),o=xs(rc),r=null!=e&&!1!==e;return t.jsx(Ll,{menuType:"scene-tree",targetElement:o,onOpen:async(e,t)=>{const o=e;await n.setContextMenuItem(o.clientY)},disableBackdrop:!0,children:r?e:t.jsx(cc,{})})},dc=()=>t.jsxs("div",{className:"w-56",children:[t.jsx(Ql,{}),t.jsx(ec,{}),t.jsx(Jl,{}),t.jsx(nc,{}),t.jsx(oc,{}),t.jsx(tc,{}),t.jsx(ac,{}),t.jsx(lc,{}),t.jsx(n.VertexMenuDivider,{}),t.jsx(Yl,{}),t.jsx(Xl,{})]}),fc=({children:e})=>{const n=xs(Va),o=null!=e&&!1!==e;return t.jsx(Ll,{menuType:"viewer",targetElement:n,disableBackdrop:!0,children:o?e:t.jsx(dc,{})})},hc=bs({key:"viewerToolkitSdkConfig",default:void 0});function pc({state:e}){const t=Vs((({set:t})=>n=>{t(e,n)}),[]);return t}var vc;function mc(e){return null!=e?{"--scene-tree-default-font-family":yc(e.fontFace),"--scene-tree-default-font-color":e.color}:{}}function gc(e){const t=null==e?void 0:e.depthColors,n=null!=t?Object.keys(t).reduce(((e,n)=>Object.assign(Object.assign({},e),{[`--scene-tree-row-background-color-depth-${n}`]:t[parseInt(n)]})),{}):{};return null!=e?Object.assign(Object.assign({},n),{"--scene-tree-hovered-row-background-color":e.hovered,"--scene-tree-selected-row-background-color":e.selected,"--scene-tree-row-background-color":e.defaultColor}):{}}function yc(e){return e===vc.ROBOTO_MONO?"var(--vertex-ui-font-family-monospace)":"var(--vertex-ui-font-family)"}!function(e){e.ROBOTO="ROBOTO",e.ROBOTO_MONO="ROBOTO_MONO"}(vc||(vc={}));const bc=()=>{const e=xs(rc);return t.jsx(n.VertexTooltip,{className:"w-auto",content:"Collapse All",placement:"top",children:t.jsx(n.VertexIcon,{size:"sm",className:"h-6 w-6 hover:bg-neutral-300 rounded cursor-pointer","data-testid":"collapse-all-icon",name:"collapse-all",onClick:()=>{null==e||e.collapseAll()}})})},_c=()=>{const e=xs(rc);return t.jsx(n.VertexTooltip,{className:"w-auto",content:"Expand All",placement:"top",children:t.jsx(n.VertexIcon,{size:"sm","data-testid":"expand-all-icon",className:"h-6 w-6 hover:bg-neutral-300 rounded cursor-pointer",name:"expand-all",onClick:()=>{null==e||e.expandAll()}})})};function wc(){return t.jsx(a.VertexSceneTreeToolbar,{className:"h-10 border-b border-neutral-300 box-border",children:t.jsxs("div",{className:"flex flex-shrink-0 w-full text-neutral-700 items-center gap mx-2",children:[t.jsx(_c,{}),t.jsx(bc,{})]})})}const xc=({children:e})=>{const n=null!=e&&!1!==e;return t.jsx("div",{slot:"header",className:"flex flex-col",children:n?e:t.jsxs(t.Fragment,{children:[t.jsx(a.VertexSceneTreeSearch,{className:"border-b border-neutral-300"}),t.jsx(wc,{})]})})},Sc={binding:"{{row.node.name}}",label:"Name",metadataKeyName:"VERTEX_SCENE_ITEM_NAME"},Ec=_s({key:"sceneTreeColumnsActiveColumns",get:({get:e})=>{const t=[],n=e(ic);if(null!=n&&n>0){const e=1/(t.length+1)*n,o=(n-e)/t.length;return{Name:Object.assign(Object.assign({},Sc),{initialWidth:e,minWidth:o})}}return{Name:Sc}}}),Tc=_s({key:"sceneTreeColumnsActiveColumnNames",get:({get:e})=>Object.keys(e(Ec))}),Vc=e=>{const n=xs(Ec),o=xs(Tc),r=[];return t.jsx(a.VertexSceneTreeTableLayout,Object.assign({"data-testid":"scene-tree-table-layout"},e,{children:o.map(((e,i)=>{var s;const l=n[e],c=null!==(s=r[i])&&void 0!==s?s:l.initialWidth;return t.jsxs(a.VertexSceneTreeTableColumn,{"data-testid":`scene-tree-table-column-${i}`,initialWidth:c,minWidth:l.minWidth,children:[t.jsx("template",{slot:"header",dangerouslySetInnerHTML:{__html:`\n <div class="text-sm text-neutral-800 my-2">\n <div class="${p("truncate",{"pl-2":0===i,"pr-2":i===o.length-1})}">\n ${l.label}\n </div>\n </div>\n `}}),t.jsx("template",{dangerouslySetInnerHTML:{__html:`\n <vertex-scene-tree-table-cell\n prop:value="${l.binding}"\n prop:selection-handler="{{row.data.handleSelection}}"\n prop:expansion-handler="{{row.data.handleExpansion}}"\n prop:visibility-handler="{{row.data.handleVisibility}}"\n ${0===i?"expand-toggle":""}\n ${i===o.length-1?"isolate-button visibility-toggle":""}>\n <div class="flex items-center gap-2">\n <vertex-tooltip \n class="truncate" \n prop:content="${null!=l.binding?l.binding:"--"}" \n placement="${i!==o.length-1?"right":"top"}">\n <div class="flex items-center w-full">\n <div class="truncate">${l.binding}</div>\n </div>\n </vertex-tooltip>\n </div>\n \n\n <div slot="placeholder" class="flex items-center w-full truncate">\n <div> -- </div>\n </div>\n </vertex-scene-tree-table-cell>\n `}})]},l.label)}))}))},Ac=(e,t)=>{const n=Ts(e);o.useEffect((()=>{n(t)}),[n,t])},kc=o=>{var{open:r,children:i}=o,s=e.__rest(o,["open","children"]);const a=i.find((e=>e.type===Nc)),l=i.filter((e=>e.type!==Nc));return null==a?t.jsx(t.Fragment,{}):t.jsxs(n.VertexPopover,Object.assign({className:"flex",placement:"top",backdrop:!1,open:r},s,{children:[a,t.jsx("div",{className:p("flex mb-1.5",{hidden:!r}),"data-testid":"align-plane-popover-menu",children:l})]}))},Nc=({tooltipContent:e,children:o})=>t.jsx("div",{slot:"anchor",children:t.jsx(n.VertexTooltip,{className:"cursor-pointer",content:e,children:o})});kc.Anchor=Nc;const Rc=r=>{var{value:i,defaultValue:s,onChange:a,onValueChange:l,onValueInput:c}=r,u=e.__rest(r,["value","defaultValue","onChange","onValueChange","onValueInput"]);const[d,f]=o.useState(s);return t.jsx(n.VertexSlider,Object.assign({className:"w-52 mx-2 items-center",value:null!=i?i:d,onValueChange:e=>{f(e.detail.value),null==a||a(e.detail.value),null==l||l(e)},onValueInput:e=>{f(e.detail.value),null==a||a(e.detail.value),null==c||c(e)}},u))};function jc(){return t.jsx("div",{"data-testid":"toolbar-divider",className:"h-6 w-px bg-neutral-300 mx-1 items-center mt-1"})}function Cc(){const e=gl(),o=xs(ll),r=xs(Qa);return Ol({id:"CrossSectionAlignment",keyBind:"Escape",fn:e.cancelCurrentHit,addPredicate:()=>{var e;return null!==(e=null==r?void 0:r.hitPending)&&void 0!==e&&e},cancelPredicate:()=>!(null==r?void 0:r.hitPending)},[null==r?void 0:r.hitPending]),t.jsxs(kc,{"data-testid":"section-alignment-popover",placement:"top",backdrop:!1,open:o,onDismissed:e.closeAlignmentTools,children:[t.jsx(kc.Anchor,{tooltipContent:"Section Alignment",children:t.jsx(n.VertexIconButton,{"data-testid":"section-alignment-icon-button",iconName:`align-to-${null==r?void 0:r.mode}`,iconColor:"secondary",onClick:o?e.closeAlignmentTools:e.openAlignmentTools,children:t.jsx(n.VertexIcon,{"data-testid":"section-alignment-icon-chevron",name:"chevron-up",size:"sm"})})}),t.jsxs(a.VertexViewerToolbarGroup,{direction:"vertical",className:"flex justify-evenly items-center py-1 my-1 ring-1 ring-neutral-200 rounded bg-neutral-100 opacity-95",children:[t.jsx(n.VertexIconButton,{iconColor:"secondary",onClick:()=>e.updateAlignment("global"),className:"w-full text-neutral-800 hover:bg-neutral-300 rounded cursor-pointer mx-0.5 py-1 px-2","data-testid":"section-alignment-align-global",iconName:"align-to-global",variant:"plain",children:t.jsx("div",{className:"text-base ml-2",children:"Align to Global"})}),t.jsx(n.VertexIconButton,{iconColor:"secondary",onClick:()=>e.updateAlignment("surface"),className:"w-full text-neutral-800 hover:bg-neutral-300 rounded cursor-pointer mx-0.5 py-1 px-2","data-testid":"section-alignment-align-surface",iconName:"align-to-surface",variant:"plain",children:t.jsx("div",{className:"text-base ml-2",children:"Align to Surface"})})]})]})}function Ic(){const e=gl(),r=xs(cl),i=xs(Ja),l=Ss(ol),c=o.useMemo((()=>{const e=i.length>0&&"hasValue"===l.state?((e,t,n,o)=>e&&e.normal&&[["x",t],["y",n],["z",o]].filter((t=>0===s.Vector3.magnitude(s.Vector3.cross(e.normal,t[1])))).map((e=>e[0])).pop())(i[0],Ua(l.contents),Ha(l.contents),Fa(l.contents)):"x";return null!=e?`axis-${e}`:"axis-x"}),[l.state,l.contents,i]);return t.jsxs(kc,{"data-testid":"align-plane-popover",placement:"top",backdrop:!1,open:r,onDismissed:e.closeAxisTools,children:[t.jsx(kc.Anchor,{tooltipContent:"Align Plane",children:t.jsx(n.VertexIconButton,{onClick:r?e.closeAxisTools:e.openAxisTools,iconName:c,"data-testid":"align-plane-icon",iconColor:"secondary",children:t.jsx(n.VertexIcon,{"data-testid":"align-plane-icon-chevron",name:"chevron-up",size:"sm"})})}),t.jsxs(a.VertexViewerToolbarGroup,{direction:"vertical",className:"flex justify-evenly items-center py-1 my-1 ring-1 ring-neutral-200 rounded bg-neutral-100 opacity-95",children:[t.jsx(n.VertexIconButton,{"data-testid":"align-plane-x-axis-button",className:"w-full text-neutral-800 hover:bg-neutral-300 rounded cursor-pointer mx-0.5 py-1 px-2",onClick:()=>e.updateAxis("x"),variant:"plain",iconColor:"secondary",iconName:"axis-x",children:t.jsx("div",{className:"text-base ml-2",children:"X-axis Plane"})}),t.jsx(n.VertexIconButton,{className:"w-full text-neutral-800 hover:bg-neutral-300 rounded cursor-pointer mx-0.5 py-1 px-2",variant:"plain",iconColor:"secondary",iconName:"axis-y","data-testid":"align-plane-y-axis-button",onClick:()=>e.updateAxis("y"),children:t.jsx("div",{className:"text-base ml-2",children:"Y-axis Plane"})}),t.jsx(n.VertexIconButton,{"data-testid":"align-plane-z-axis-button",className:"w-full text-neutral-800 hover:bg-neutral-300 rounded cursor-pointer mx-0.5 py-1 px-2",onClick:()=>e.updateAxis("z"),variant:"plain",iconColor:"secondary",iconName:"axis-z",children:t.jsx("div",{className:"text-base ml-2",children:"Z-axis Plane"})})]})]})}var Oc,Lc;!function(e){e.mm="millimeters",e.cm="centimeters",e.m="meters",e.in="inches",e.ft="feet"}(Oc||(Oc={})),function(e){e[e.mm=1]="mm",e[e.cm=.1]="cm",e[e.m=.001]="m",e[e.in=.03937007874015748]="in",e[e.ft=.0032808398950131233]="ft"}(Lc||(Lc={}));const Mc=(e,t)=>e/Lc[t],Pc=(e,t)=>e*Lc[t],Dc=(e,t)=>n=>((e,t,n)=>((e,t,n)=>`${e.toFixed(n)} ${t}`)(Pc(e,t),t,n))(n,e,t);function Bc({offset:e,measurementUnit:r,decimalPlaces:i,onOffsetChange:s}){const[a,l]=o.useState(Pc(e,r));o.useEffect((()=>{l(Pc(e,r))}),[r,e]);const c=Dc(r,i),u=e=>{const t=Mc(a+e,r);s(t)};return t.jsx(n.VertexTooltip,{content:"Plane Offset",children:t.jsx("form",{"data-testid":"cross-section-stepper-form",onSubmit:e=>{e.preventDefault(),s(Mc(a,r))},children:t.jsxs(n.VertexTextfield,{"data-testid":"cross-section-stepper-input",className:"viewer-toolbar-input w-32 border-none ring-0 bg-white",type:"text",value:c(parseFloat(e.toFixed(3))),onInputInput:t=>{l(null!=t.detail.value?parseFloat(t.detail.value):e)},onBlur:()=>{s(Mc(a,r))},children:[t.jsx("div",{"data-testid":"cross-section-stepper-decrement",className:"py-1 cursor-pointer",slot:"left",onClick:()=>u(-1),children:t.jsx(n.VertexIcon,{name:"chevron-left",size:"sm"})}),t.jsx("div",{"data-testid":"cross-section-stepper-increment",className:"py-1 cursor-pointer",slot:"right",onClick:()=>u(1),children:t.jsx(n.VertexIcon,{name:"chevron-right",size:"sm"})})]})})})}function zc({decimalPlaces:e,measurementUnit:r}){const i=gl(),s=xs(al),l=Ss(il),c=Ss(sl),u=o.useRef(),d=o.useMemo((()=>"hasValue"===l.state?l.contents:qa),[l.state,l.contents]),f=o.useMemo((()=>"hasValue"===c.state?c.contents:0),[c.state,c.contents]),h=e=>{clearTimeout(u.current),u.current=window.setTimeout((()=>{i.endInteraction()}),400),i.beginInteraction(),i.updatePlanes(e)};return t.jsxs(kc,{"data-testid":"cross-section-popover",placement:"top",backdrop:!1,open:s,onDismissed:i.closeAdditionalTools,children:[t.jsx(kc.Anchor,{tooltipContent:"Section Tools",children:t.jsx("div",{className:"-ml-px py-1.5",children:t.jsx(n.VertexIcon,{"data-testid":"cross-section-popover-icon",name:"chevron-up",size:"sm",onClick:s?i.closeAdditionalTools:i.openAdditionalTools})})}),t.jsxs(a.VertexViewerToolbarGroup,{className:"relative bottom-3 flex justify-evenly items-center p-1 ring-1 ring-neutral-200 rounded bg-neutral-100 opacity-95",children:[t.jsx(Cc,{}),t.jsx(n.VertexTooltip,{className:"w-auto",content:"Reverse",children:t.jsx(n.VertexIconButton,{iconName:"flip","data-testid":"viewer-toolbar-flip-button",onClick:i.flipPlanes,iconColor:"secondary"})}),t.jsx(n.VertexTooltip,{className:"w-auto",content:"Align View to Plane",children:t.jsx(n.VertexIconButton,{"data-testid":"viewer-toolbar-align-view-to-plane-button",iconName:"align-view-to-plane",onClick:i.alignViewToPlane,iconColor:"secondary"})}),t.jsx(jc,{}),t.jsx(Ic,{}),t.jsx(Rc,{value:f,defaultValue:d.default,disabled:"hasValue"!==l.state,min:d.min,max:d.max,step:.01,onChange:h}),t.jsx("div",{className:"px-4",children:t.jsx(Bc,{decimalPlaces:e,measurementUnit:r,offset:"hasValue"===c.state?c.contents:0,onOffsetChange:h})})]})]})}const Uc=({decimalPlaces:e,measurementUnit:o,sectionLineWidth:r,sectionColor:i})=>{const s=gl(),a=xs(Ya);return Ac(Za,r),Ac(Xa,i),t.jsxs(t.Fragment,{children:[t.jsx(n.VertexTooltip,{content:a?"Hide Section":"Show Section",children:t.jsx(n.VertexIconButton,{"data-testid":"viewer-toolbar-cross-section-button",iconName:"cross-section",iconColor:a?"primary":"secondary",onClick:()=>a?s.disable():s.enable()})}),t.jsx(zc,{decimalPlaces:null!=e?e:2,measurementUnit:null!=o?o:"mm"})]})},Hc=()=>{const e=xs(Va);return t.jsx(n.VertexTooltip,{content:"Fit All",children:t.jsx(n.VertexIconButton,{iconName:"fit-all",iconColor:"secondary","data-testid":"viewer-toolbar-fit-all-button",onClick:async()=>{const t=await(null==e?void 0:e.scene());await(null==t?void 0:t.camera().viewAll().render({animation:{milliseconds:500}}))}})})},Fc=()=>{const e=xs(Va),r=xs(Aa),[i,s]=Es(Na),[a,l]=Es(ka);return o.useEffect((()=>{null!=e&&r&&l(e.getBaseInteractionHandler())}),[e,r,l]),t.jsx(n.VertexTooltip,{content:"Pan",children:t.jsx(n.VertexIconButton,{iconName:"pan",iconColor:"pan"===i?"primary":"secondary","data-testid":"viewer-toolbar-pan-button",onClick:async()=>{if(s("pan"),null!=a){const e=await a;null==e||e.setPrimaryInteractionType("pan")}}})})},$c=()=>{const e=xs(Va),r=xs(Aa),[i,s]=Es(Na),[a,l]=Es(ka);return o.useEffect((()=>{null!=e&&r&&l(e.getBaseInteractionHandler())}),[e,r,l]),t.jsx(n.VertexTooltip,{content:"Rotate",children:t.jsx(n.VertexIconButton,{iconName:"rotate",iconColor:"rotate"===i?"primary":"secondary","data-testid":"viewer-toolbar-rotate-button",onClick:async()=>{if(s("rotate"),null!=a){const e=await a;null==e||e.setPrimaryInteractionType("rotate")}}})})},Kc=bs({key:"boxSelectionEnabled",default:!1}),Gc=bs({key:"boxSelectionOperationType",default:"clearAndSelect"}),Wc=()=>({enable:ra((({set:e})=>()=>{e(Kc,!0)})),disable:ra((({reset:e})=>async()=>{e(Kc),e(Gc)})),setOperationType:ra((({set:e})=>t=>{e(Gc,t)}))}),qc=()=>{const e=Wc(),o=xs(Kc);return Ol({id:"ExitBoxSelection",keyBind:"Escape",fn:e.disable,addPredicate:()=>o,cancelPredicate:()=>!o},[o]),t.jsx(n.VertexTooltip,{content:"Box Selection",children:t.jsx(n.VertexIconButton,{iconName:"box-cursor",iconColor:o?"primary":"secondary","data-testid":"viewer-toolbar-enable-box-selection-button",onClick:o?e.disable:e.enable})})},Yc=()=>{const e=xs(Va),r=xs(Aa),[i,s]=Es(Na),[a,l]=Es(ka);return o.useEffect((()=>{null!=e&&r&&l(e.getBaseInteractionHandler())}),[e,r,l]),t.jsx(n.VertexTooltip,{content:"Zoom",children:t.jsx(n.VertexIconButton,{iconName:"zoom",iconColor:"zoom"===i?"primary":"secondary","data-testid":"viewer-toolbar-zoom-button",onClick:async()=>{if(s("zoom"),null!=a){const e=await a;null==e||e.setPrimaryInteractionType("zoom")}}})})},Xc=()=>t.jsx(a.VertexViewerToolbar,{placement:"bottom-center",children:t.jsxs(a.VertexViewerToolbarGroup,{className:"p-1 border border-neutral-200 rounded bg-neutral-100 opacity-95",children:[t.jsx($c,{}),t.jsx(Fc,{}),t.jsx(Yc,{}),t.jsx(Hc,{}),t.jsx(jc,{}),t.jsx(qc,{}),t.jsx(jc,{}),t.jsx(Uc,{})]})}),Zc=({children:e})=>{const n=null!=e&&!1!==e;return t.jsx(a.VertexViewerToolbar,{placement:"bottom-center",children:n?t.jsx(a.VertexViewerToolbarGroup,{className:"p-1 border border-neutral-200 rounded bg-neutral-100 opacity-95",children:e}):t.jsx(Xc,{})})},Jc=({onReset:e})=>{const o=gl(),r=Gl(),i=Ia();return t.jsx(n.VertexTooltip,{content:"Reset View",children:t.jsx(n.VertexIconButton,{iconName:"reset",className:"flex bg-white opacity-70 hover:opacity-100 text-neutral-900 hover:text-neutral-700 hover:bg-neutral-200 rounded p-1 cursor-pointer","data-testid":"viewer-reset-tool-button",onClick:async()=>{await o.disable(),r.resetSelectionState(),null==e||e(),await i.reset()},variant:"plain"})})};const Qc=()=>{const{callback:e}=function(){const[e,t]=o.useState(null);return{element:e,callback:o.useCallback((e=>t(e)),[])}}(),n=Wc(),r=xs(Gc);return Il({keyBind:"Shift",fn:f.useCallback((()=>n.setOperationType("select")),[]),off:f.useCallback((()=>n.setOperationType("clearAndSelect")),[])}),t.jsx(a.VertexViewerBoxQueryTool,{ref:e,"data-testid":"viewer-box-query-tool",operationType:r})};function eu({open:e,onOpen:o,onDismiss:r,onCameraTypeChange:i}){const s=Oa(),a=xs(La);return t.jsxs(n.VertexMenu,{"data-testid":"camera-types-popover",className:"flex",placement:"bottom-end",open:e,onMenuClosed:r,children:[t.jsx("div",{slot:"anchor",children:t.jsx("div",{className:p("flex bg-white hover:opacity-100 hover:text-neutral-700 hover:bg-neutral-200 rounded",{"opacity-70 text-neutral-900":!e,"opacity-100 text-neutral-700 bg-neutral-200":e}),children:t.jsx(n.VertexTooltip,{content:"Change View",children:t.jsx(n.VertexIconButton,{"data-testid":"set-camera-mode-option",className:"p-1 cursor-pointer",variant:"plain",onClick:o,iconName:"orthographic"===a?"cube-orthographic":"cube-perspective",children:t.jsx(n.VertexIcon,{"data-testid":"change-camera-type-icon-button",name:"chevron-down",size:"sm"})})})})}),t.jsxs("div",{className:"w-36",children:[t.jsx("div",{className:"pt-1"}),t.jsxs(n.VertexMenuItem,{"data-testid":"set-perspective-view",onClick:()=>{s.updateCameraType("perspective"),null==i||i("perspective")},children:[t.jsx(n.VertexIcon,{slot:"icon","data-testid":"set-perspective-view-icon",name:"cube-perspective",size:"sm",className:p({"text-[var(--vertex-ui-blue-700)]":"perspective"===a})}),t.jsx("div",{className:p("ml-2 items-center",{"text-[var(--vertex-ui-blue-700)]":"perspective"===a}),children:"Perspective"})]}),t.jsxs(n.VertexMenuItem,{"data-testid":"set-orthographic-view",onClick:()=>{s.updateCameraType("orthographic"),null==i||i("orthographic")},children:[t.jsx(n.VertexIcon,{slot:"icon","data-testid":"set-orthographic-view-icon",name:"cube-orthographic",size:"sm",className:p({"text-[var(--vertex-ui-blue-700)]":"orthographic"===a})}),t.jsx("div",{className:p("ml-2 items-center",{"text-[var(--vertex-ui-blue-700)]":"orthographic"===a}),children:"Orthographic"})]})]})]})}const tu=n=>{var{placement:r,children:i}=n,s=e.__rest(n,["placement","children"]);const l=Array.isArray(i)?i:[i],c=l.filter((e=>!o.isValidElement(e)||e.type!==a.VertexViewerViewCube)).filter((e=>null!=e&&!1!==e)),u=l.find((e=>o.isValidElement(e)&&e.type===a.VertexViewerViewCube)),[d,f]=o.useState(!1);return t.jsxs(a.VertexViewerToolbar,{direction:"vertical","data-testid":"view-cube-toolbar",placement:null!=r?r:"top-right",children:[null!=u?u:t.jsx(a.VertexViewerViewCube,Object.assign({className:"m-7"},s)),0===c.length?t.jsxs("div",{className:"flex items-center justify-center mt-3 gap-1",children:[t.jsx(Jc,{}),t.jsx(eu,{open:d,onDismiss:()=>f(!1),onOpen:()=>f(!0)})]}):t.jsx("div",{className:"mt-3",children:c})]})};const nu=({onHitStateChange:e,onSelectionStateChange:n})=>{const r=xs(_l),i=xs(Wl);return o.useEffect((()=>{null==e||e(r)}),[r,e]),o.useEffect((()=>{null==n||n(i)}),[i,n]),t.jsx(t.Fragment,{})},ou=({config:e,children:n})=>{const r=Ts(hc);return o.useEffect((()=>{const t=null!=e?function(e){return function(e){return null!=e.renderingHost}(e)?{network:e}:e}(e):void 0;r(t)}),[e,r]),t.jsx(t.Fragment,{children:n})};var ru=Object.freeze({__proto__:null,get AssemblyFontFace(){return vc}});exports.CrossSection=yl,exports.Hits=wl,exports.SceneTree=ru,exports.Selection=ql,exports.VertexContextMenu=Ll,exports.VertexFitAllButton=Hc,exports.VertexFitSelectedMenuItem=Yl,exports.VertexFlyToMenuItem=Xl,exports.VertexHideAllMenuItem=Jl,exports.VertexHidePartMenuItem=Ql,exports.VertexHideSelectedMenuItem=ec,exports.VertexPanButton=Fc,exports.VertexResizableContent=o=>{var{className:r,style:i,displayShadow:s,heading:a,id:l,initialScale:c,placement:u="left",children:d,onResize:f}=o,h=e.__rest(o,["className","style","displayShadow","heading","id","initialScale","placement","children","onResize"]);const v="left"===u||"right"===u,m="top"===u;const g=null!=c?c:1;return t.jsx(n.VertexResizable,Object.assign({id:l,"data-testid":`resizable-content-position-${u}`,className:p(r,"pointer-events-auto z-popover md:z-overlay bg-white bg-opacity-95 flex-grow-0 flex-shrink-0 border-neutral-300",{"border-r min-w-75 max-w-half":"left"===u,"sidebar-shadow-right":"left"===u&&s,"border-l right-0 relative":"right"===u,"sidebar-shadow-left":"right"===u&&s,"border-t bottom-0 fixed":"top"===u,"min-h-12 sheet":m}),style:Object.assign({maxHeight:"top"===u?window.innerHeight:void 0},i),initialHorizontalScale:v?c:void 0,initialVerticalScale:m?g:void 0,horizontalDirection:function(){switch(u){case"left":return"right";case"right":return"left";default:return"none"}}(),verticalDirection:"top"===u?"top":"none",position:"right"===u||"top"===u?"absolute":"relative",onResizeEnd:()=>null==f?void 0:f()},h,{children:t.jsxs("div",{className:"flex flex-col h-full w-full",children:[t.jsx("div",{className:"flex justify-center w-full",children:t.jsx("div",{className:"block md:hidden w-20 h-0.5 mt-0.5 bg-neutral-600 rounded"})}),a,t.jsx("div",{className:p("w-full flex flex-col h-0 flex-grow",{"right-0":"right"===u}),children:d})]})}))},exports.VertexRotateButton=$c,exports.VertexSceneTree=n=>{var{id:o,font:r,backgroundColors:i,children:s,style:l,onPointerDown:c,onClick:u,onToggleSelection:d,onToggleExpansion:f,onToggleVisibility:h,className:v,rowData:m}=n,g=e.__rest(n,["id","font","backgroundColors","children","style","onPointerDown","onClick","onToggleSelection","onToggleExpansion","onToggleVisibility","className","rowData"]);const y=xs(hc),b=Gl(),_=sc(),w=xs(Va),x=pc({state:rc}),S=null!=s&&!1!==s,E=(e,t,n)=>{_.toggleExpansion(e,t,n),null==f||f(e,t,n)},T=(e,t,n)=>{_.toggleSelection(e,t,n),null==d||d(e,t,n)},V=(e,t,n)=>{_.toggleVisibility(e,t,n),null==h||h(e,t,n)};return t.jsx("div",{className:p("flex flex-col w-full h-full",v),children:t.jsx("div",{className:"flex group h-full",children:t.jsx(a.VertexSceneTree,Object.assign({id:null!=o?o:"vertex-scene-tree","data-testid":"vertex-scene-tree",config:y,ref:x,className:"flex-1",style:Object.assign(Object.assign(Object.assign({},mc(r)),gc(i)),l),onConnectionError:e=>{ta("Scene Tree Connection Error: ",e.detail)},viewer:w,onPointerDown:e=>{var t,n;t=e.target,n="VERTEX-SCENE-TREE-TABLE-COLUMN",t instanceof Element&&t.tagName===n&&b.clearSelection(),null==c||c(e)},onClick:e=>{e.altKey&&_.flyToRow(e.clientY),null==u||u(e)},rowData:e=>{var t;const n=null!==(t=null==m?void 0:m(e))&&void 0!==t?t:{};return Object.assign({handleExpansion:E,handleSelection:T,handleVisibility:V},n)}},g,{children:S?s:t.jsxs(t.Fragment,{children:[t.jsx(xc,{}),t.jsx(Vc,{}),t.jsx(uc,{})]})}))})})},exports.VertexSceneTreeContextMenu=uc,exports.VertexSceneTreeHeader=xc,exports.VertexSceneTreeTableLayout=Vc,exports.VertexShowAllMenuItem=tc,exports.VertexShowOnlyMenuItem=nc,exports.VertexShowOnlySelectedMenuItem=oc,exports.VertexToolbar=Zc,exports.VertexViewer=n=>{var{id:r,className:i,disableSelection:s,onTap:l,onLongpress:c,onFrameDrawn:u,viewerRefCallback:d,children:f}=n,h=e.__rest(n,["id","className","disableSelection","onTap","onLongpress","onFrameDrawn","viewerRefCallback","children"]);const v=xs(hc),m=pc({state:Va}),g=Oa(),y=bl(),b=Gl(),_={frameDrawn:ra((({set:e,reset:t,snapshot:n})=>async t=>{const o=await n.getPromise($l);e(ja,t.detail.scene),e($l,t.detail.scene.sceneViewSummary.selectedVisibleSummary),e(Fl,o)}))},[w,x]=Es(Aa),S=xs(La),E=xs(Qa),T=xs(Kc),V=null!=f&&!1!==f;return(({keydownRepeatInterval:e=25,keydownIgnorePredicate:t=El}={})=>{const[n,r]=kl(),i=o.useCallback((e=>{Object.keys(n.bindings).filter((t=>t.includes(e)&&Rl(t,Object.assign(Object.assign({},n.pressed),{[e]:!0})))).forEach((e=>{const t=n.bindings[e],o=t.length>0?t[t.length-1]:void 0;null!=o&&(o.fn(),r({type:"remove-key-binding",binding:o}))}))}),[n]);o.useEffect((()=>{const e=e=>{if(!e.repeat&&!t(e.target)){r({type:"set-key-pressed",key:e.key,pressed:!0}),i(e.key);const t=Object.assign(Object.assign({},n.pressed),{[e.key]:!0}),o=jl(n.applyBindings,t,e.key),s=Cl(n.applyBindings,t,e.key);(o.length>0||s.length>0)&&e.preventDefault()}},o=e=>{r({type:"set-key-pressed",key:e.key,pressed:!1})};return window.addEventListener("keydown",e),window.addEventListener("keyup",o),()=>{window.removeEventListener("keydown",e),window.removeEventListener("keyup",o)}}),[i,n.applyBindings,n.pressed]),o.useEffect((()=>{const e=jl(n.applyBindings,n.pressed,n.lastPressed),t=Cl(n.applyBindings,n.pressed,n.lastPressed);e.forEach((e=>e())),t.forEach((e=>e()))}),[n.pressed,n.lastPressed]),o.useEffect((()=>{const t=n.applyBindings.filter((e=>e.repeat&&null!=e.keyBind&&Rl(e.keyBind,n.pressed))).map((e=>e.fn));if(t.length>0){const n=setInterval((()=>{t.forEach((e=>e()))}),e);return()=>{clearInterval(n)}}return()=>{}}),[n.applyBindings,n.lastPressed])})(),Il({fn:ra((({snapshot:e})=>async()=>{const t=await e.getPromiseRequired(Ra),n=await t();await(null==n?void 0:n.camera().viewAll().render({animation:{milliseconds:500}}))})),keyBind:"f"}),t.jsxs(a.VertexViewer,Object.assign({id:null!=r?r:"vertex-viewer","data-testid":"vertex-viewer",ref:null!=d?d:m,className:p("flex w-full h-full",i,{"cursor-crosshair":E.hitPending}),config:v,cameraType:w?S:void 0,onCameraTypeChanged:e=>{w&&g.updateCameraType(e.detail)},onTap:e=>{const t=[...s?[]:[b.selectCurrentHit]];y.tap(e,...t),null==l||l(e)},onLongpress:e=>{y.longPress(e),null==c||c(e)},onFrameDrawn:e=>{_.frameDrawn(e),null==u||u(e)}},h,{onSceneReady:()=>{w||x(!0)},children:[T&&t.jsx(Qc,{}),V?f:t.jsxs(t.Fragment,{children:[t.jsx(tu,{}),t.jsx(Zc,{}),t.jsx(fc,{})]})]}))},exports.VertexViewerContextMenu=fc,exports.VertexViewerCrossSectionButton=Uc,exports.VertexViewerSceneReset=Jc,exports.VertexViewerToolbarDivider=jc,exports.VertexViewerToolkitRoot=n=>{var{override:r,children:i,config:s}=n,a=e.__rest(n,["override","children","config"]);return o.useEffect((()=>{c.defineCustomElements(),l.defineCustomElements()}),[]),t.jsx(ys,{override:r,children:t.jsxs(t.Fragment,{children:[t.jsx(nu,Object.assign({},a)),t.jsx(ou,{config:s,children:i})]})})},exports.VertexViewerViewCube=tu,exports.VertexZoomButton=Yc;
|
|
7
|
+
d=h,function(){var e={}.hasOwnProperty;function t(){for(var e="",t=0;t<arguments.length;t++){var r=arguments[t];r&&(e=o(e,n(r)))}return e}function n(n){if("string"==typeof n||"number"==typeof n)return n;if("object"!=typeof n)return"";if(Array.isArray(n))return t.apply(null,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var r="";for(var i in n)e.call(n,i)&&n[i]&&(r=o(r,i));return r}function o(e,t){return t?e?e+" "+t:e+t:e}d.exports?(t.default=t,d.exports=t):window.classNames=t}();var p=h.exports;var m=function(e){const t=new Error(e);if(void 0===t.stack)try{throw t}catch(e){}return t};var v=function(e){return!!e&&"function"==typeof e.then};var g=function(e,t){if(null!=e)return e;throw m(null!=t?t:"Got unexpected null or undefined")};function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class b{getValue(){throw m("BaseLoadable")}toPromise(){throw m("BaseLoadable")}valueMaybe(){throw m("BaseLoadable")}valueOrThrow(){throw m(`Loadable expected value, but in "${this.state}" state`)}promiseMaybe(){throw m("BaseLoadable")}promiseOrThrow(){throw m(`Loadable expected promise, but in "${this.state}" state`)}errorMaybe(){throw m("BaseLoadable")}errorOrThrow(){throw m(`Loadable expected error, but in "${this.state}" state`)}is(e){return e.state===this.state&&e.contents===this.contents}map(e){throw m("BaseLoadable")}}class w extends b{constructor(e){super(),y(this,"state","hasValue"),y(this,"contents",void 0),this.contents=e}getValue(){return this.contents}toPromise(){return Promise.resolve(this.contents)}valueMaybe(){return this.contents}valueOrThrow(){return this.contents}promiseMaybe(){}errorMaybe(){}map(e){try{const t=e(this.contents);return v(t)?T(t):N(t)?t:S(t)}catch(t){return v(t)?T(t.next((()=>this.map(e)))):E(t)}}}class x extends b{constructor(e){super(),y(this,"state","hasError"),y(this,"contents",void 0),this.contents=e}getValue(){throw this.contents}toPromise(){return Promise.reject(this.contents)}valueMaybe(){}promiseMaybe(){}errorMaybe(){return this.contents}errorOrThrow(){return this.contents}map(e){return this}}class _ extends b{constructor(e){super(),y(this,"state","loading"),y(this,"contents",void 0),this.contents=e}getValue(){throw this.contents}toPromise(){return this.contents}valueMaybe(){}promiseMaybe(){return this.contents}promiseOrThrow(){return this.contents}errorMaybe(){}map(e){return T(this.contents.then((t=>{const n=e(t);if(N(n)){const e=n;switch(e.state){case"hasValue":case"loading":return e.contents;case"hasError":throw e.contents}}return n})).catch((t=>{if(v(t))return t.then((()=>this.map(e).contents));throw t})))}}function S(e){return Object.freeze(new w(e))}function E(e){return Object.freeze(new x(e))}function T(e){return Object.freeze(new _(e))}function V(){return Object.freeze(new _(new Promise((()=>{}))))}function A(e){const t=(Array.isArray(e)?e:Object.getOwnPropertyNames(e).map((t=>e[t]))).map((e=>N(e)?e:v(e)?T(e):S(e))),n=function(e){return e.every((e=>"hasValue"===e.state))?S(e.map((e=>e.contents))):e.some((e=>"hasError"===e.state))?E(g(e.find((e=>"hasError"===e.state)),"Invalid loadable passed to loadableAll").contents):T(Promise.all(e.map((e=>e.contents))))}(t);return Array.isArray(e)?n:n.map((t=>Object.getOwnPropertyNames(e).reduce(((e,n,o)=>({...e,[n]:t[o]})),{})))}function N(e){return e instanceof b}const k={of:e=>v(e)?T(e):N(e)?e:S(e),error:e=>E(e),loading:()=>V(),all:A,isLoadable:N};var R={loadableWithValue:S,loadableWithError:E,loadableWithPromise:T,loadableLoading:V,loadableAll:A,isLoadable:N,RecoilLoadable:k},C=R.loadableWithValue,I=R.loadableWithError,j=R.loadableWithPromise,O=R.loadableLoading,L=R.loadableAll,M=R.isLoadable,P=R.RecoilLoadable,D=Object.freeze({__proto__:null,loadableWithValue:C,loadableWithError:I,loadableWithPromise:j,loadableLoading:O,loadableAll:L,isLoadable:M,RecoilLoadable:P});const B={RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED:!0,RECOIL_GKS_ENABLED:new Set(["recoil_hamt_2020","recoil_sync_external_store","recoil_suppress_rerender_in_callback","recoil_memory_managament_2020"])};var z;"undefined"!=typeof process&&null!=(null===(z=process)||void 0===z?void 0:z.env)&&(function(e,t){var n,o;const r=null===(n=process.env[e])||void 0===n||null===(o=n.toLowerCase())||void 0===o?void 0:o.trim();if(null!=r&&""!==r){if(!["true","false"].includes(r))throw m(`process.env.${e} value must be 'true', 'false', or empty: ${r}`);t("true"===r)}}("RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED",(e=>{B.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED=e})),function(e,t){var n;const o=null===(n=process.env[e])||void 0===n?void 0:n.trim();null!=o&&""!==o&&t(o.split(/\s*,\s*|\s+/))}("RECOIL_GKS_ENABLED",(e=>{e.forEach((e=>{B.RECOIL_GKS_ENABLED.add(e)}))})));var U=B;function H(e){return U.RECOIL_GKS_ENABLED.has(e)}H.setPass=e=>{U.RECOIL_GKS_ENABLED.add(e)},H.setFail=e=>{U.RECOIL_GKS_ENABLED.delete(e)},H.clear=()=>{U.RECOIL_GKS_ENABLED.clear()};var F=H;var $,K,G,W=function(e,t,{error:n}={}){return"production"!==process.env.NODE_ENV&&console.error(e,n),null};const q=null!==($=o.createMutableSource)&&void 0!==$?$:o.unstable_createMutableSource,Y=null!==(K=o.useMutableSource)&&void 0!==K?K:o.unstable_useMutableSource,X=null!==(G=o.useSyncExternalStore)&&void 0!==G?G:o.unstable_useSyncExternalStore;let Z=!1;var J={createMutableSource:q,useMutableSource:Y,useSyncExternalStore:X,currentRendererSupportsUseSyncExternalStore:function(){var e;const{ReactCurrentDispatcher:t,ReactCurrentOwner:n}=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,r=null!=(null!==(e=null==t?void 0:t.current)&&void 0!==e?e:n.currentDispatcher).useSyncExternalStore;return!X||r||Z||(Z=!0,W("A React renderer without React 18+ API support is being used with React 18+.")),r},reactMode:function(){return F("recoil_transition_support")?{mode:"TRANSITION_SUPPORT",early:!0,concurrent:!0}:F("recoil_sync_external_store")&&null!=X?{mode:"SYNC_EXTERNAL_STORE",early:!0,concurrent:!1}:F("recoil_mutable_source")&&null!=Y&&"undefined"!=typeof window&&!window.$disableRecoilValueMutableSource_TEMP_HACK_DO_NOT_USE?F("recoil_suppress_rerender_in_callback")?{mode:"MUTABLE_SOURCE",early:!0,concurrent:!0}:{mode:"MUTABLE_SOURCE",early:!1,concurrent:!1}:F("recoil_suppress_rerender_in_callback")?{mode:"LEGACY",early:!0,concurrent:!1}:{mode:"LEGACY",early:!1,concurrent:!1}}};class Q{constructor(e){y(this,"key",void 0),this.key=e}toJSON(){return{key:this.key}}}class ee extends Q{}class te extends Q{}var ne={AbstractRecoilValue:Q,RecoilState:ee,RecoilValueReadOnly:te,isRecoilValue:function(e){return e instanceof ee||e instanceof te}},oe=ne.AbstractRecoilValue,re=ne.RecoilState,ie=ne.RecoilValueReadOnly,se=ne.isRecoilValue,ae=Object.freeze({__proto__:null,AbstractRecoilValue:oe,RecoilState:re,RecoilValueReadOnly:ie,isRecoilValue:se});var le=function(e,...t){let n=0;return e.replace(/%s/g,(()=>String(t[n++])))};var ce=function(e,...t){if("production"!==process.env.NODE_ENV){const n=le.call(null,e,...t),o=new Error(n);o.name="Expectation Violation",console.error(o)}},ue=ce;var de=function(e,t){return function*(){let n=0;for(const o of e)yield t(o,n++)}()};class fe{}const he=new fe,pe=new Map,me=new Map;class ve extends Error{}const ge=new Map;function ye(e){return ge.get(e)}var be={recoilValues:me,registerNode:function(e){U.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED&&function(e){if(pe.has(e)){const t=`Duplicate atom key "${e}". 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.`;"production"!==process.env.NODE_ENV?ue(t,"recoil"):console.warn(t)}}(e.key),pe.set(e.key,e);const t=null==e.set?new ae.RecoilValueReadOnly(e.key):new ae.RecoilState(e.key);return me.set(e.key,t),t},getNode:function(e){const t=pe.get(e);if(null==t)throw new ve(`Missing definition for RecoilValue: "${e}""`);return t},getNodeMaybe:function(e){return pe.get(e)},deleteNodeConfigIfPossible:function(e){var t;if(!F("recoil_memory_managament_2020"))return;const n=pe.get(e);var o;null!=n&&null!==(t=n.shouldDeleteConfigOnRelease)&&void 0!==t&&t.call(n)&&(pe.delete(e),null===(o=ye(e))||void 0===o||o(),ge.delete(e))},setConfigDeletionHandler:function(e,t){F("recoil_memory_managament_2020")&&(void 0===t?ge.delete(e):ge.set(e,t))},getConfigDeletionHandler:ye,recoilValuesForKeys:function(e){return de(e,(e=>g(me.get(e))))},DefaultValue:fe,DEFAULT_VALUE:he};var we={enqueueExecution:function(e,t){t()}};var xe=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n={},o=Math.pow(2,5),r=o-1,i=o/2,s=o/4,a={},l=function(e){return function(){return e}},c=n.hash=function(e){var n=void 0===e?"undefined":t(e);if("number"===n)return e;"string"!==n&&(e+="");for(var o=0,r=0,i=e.length;r<i;++r){o=(o<<5)-o+e.charCodeAt(r)|0}return o},u=function(e,t){return t>>>e&r},d=function(e){return 1<<e},f=function(e,t){return function(e){return e=(e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,127&e+(e>>16)}(e&t-1)},h=function(e,t,n,o){var r=o;if(!e){var i=o.length;r=new Array(i);for(var s=0;s<i;++s)r[s]=o[s]}return r[t]=n,r},p=function(e,t,n){var o=n.length-1,r=0,i=0,s=n;if(e)r=i=t;else for(s=new Array(o);r<t;)s[i++]=n[r++];for(++r;r<=o;)s[i++]=n[r++];return e&&(s.length=o),s},m={__hamt_isEmpty:!0},v=function(e){return e===m||e&&e.__hamt_isEmpty},g=function(e,t,n,o){return{type:1,edit:e,hash:t,key:n,value:o,_modify:S}},y=function(e,t,n){return{type:2,edit:e,hash:t,children:n,_modify:E}},b=function(e,t,n){return{type:3,edit:e,mask:t,children:n,_modify:T}},w=function(e,t,n){return{type:4,edit:e,size:t,children:n,_modify:V}},x=function e(t,n,o,r,i,s){if(o===i)return y(t,o,[s,r]);var a=u(n,o),l=u(n,i);return b(t,d(a)|d(l),a===l?[e(t,n+5,o,r,i,s)]:a<l?[r,s]:[s,r])},_=function(e,t){return e===t.edit},S=function(e,t,n,o,r,i,s){if(t(i,this.key)){var l=o(this.value);return l===this.value?this:l===a?(--s.value,m):_(e,this)?(this.value=l,this):g(e,r,i,l)}var c=o();return c===a?this:(++s.value,x(e,n,this.hash,this,r,g(e,r,i,c)))},E=function(e,t,n,o,r,i,s){if(r===this.hash){var l=function(e,t,n,o,r,i,s,l){for(var c=r.length,u=0;u<c;++u){var d=r[u];if(n(s,d.key)){var f=d.value,m=i(f);return m===f?r:m===a?(--l.value,p(e,u,r)):h(e,u,g(t,o,s,m),r)}}var v=i();return v===a?r:(++l.value,h(e,c,g(t,o,s,v),r))}(_(e,this),e,t,this.hash,this.children,o,i,s);return l===this.children?this:l.length>1?y(e,this.hash,l):l[0]}var c=o();return c===a?this:(++s.value,x(e,n,this.hash,this,r,g(e,r,i,c)))},T=function(e,t,n,o,r,s,a){var l=this.mask,c=this.children,g=u(n,r),y=d(g),x=f(l,y),S=l&y,E=S?c[x]:m,T=E._modify(e,t,n+5,o,r,s,a);if(E===T)return this;var V,A=_(e,this),N=l,k=void 0;if(S&&v(T)){if(!(N&=~y))return m;if(c.length<=2&&((V=c[1^x])===m||1===V.type||2===V.type))return c[1^x];k=p(A,x,c)}else if(S||v(T))k=h(A,x,T,c);else{if(c.length>=i)return function(e,t,n,o,r){for(var i=[],s=o,a=0,l=0;s;++l)1&s&&(i[l]=r[a++]),s>>>=1;return i[t]=n,w(e,a+1,i)}(e,g,T,l,c);N|=y,k=function(e,t,n,o){var r=o.length;if(e){for(var i=r;i>=t;)o[i--]=o[i];return o[t]=n,o}for(var s=0,a=0,l=new Array(r+1);s<t;)l[a++]=o[s++];for(l[t]=n;s<r;)l[++a]=o[s++];return l}(A,x,T,c)}return A?(this.mask=N,this.children=k,this):b(e,N,k)},V=function(e,t,n,o,r,i,a){var l=this.size,c=this.children,d=u(n,r),f=c[d],p=(f||m)._modify(e,t,n+5,o,r,i,a);if(f===p)return this;var g=_(e,this),y=void 0;if(v(f)&&!v(p))++l,y=h(g,d,p,c);else if(!v(f)&&v(p)){if(--l<=s)return function(e,t,n,o){for(var r=new Array(t-1),i=0,s=0,a=0,l=o.length;a<l;++a)if(a!==n){var c=o[a];c&&!v(c)&&(r[i++]=c,s|=1<<a)}return b(e,s,r)}(e,l,d,c);y=h(g,d,m,c)}else y=h(g,d,p,c);return g?(this.size=l,this.children=y,this):w(e,l,y)};function A(e,t,n,o,r){this._editable=e,this._edit=t,this._config=n,this._root=o,this._size=r}m._modify=function(e,t,n,o,r,i,s){var l=o();return l===a?m:(++s.value,g(e,r,i,l))},A.prototype.setTree=function(e,t){return this._editable?(this._root=e,this._size=t,this):e===this._root?this:new A(this._editable,this._edit,this._config,e,t)};var N=n.tryGetHash=function(e,t,n,o){for(var r=o._root,i=0,s=o._config.keyEq;;)switch(r.type){case 1:return s(n,r.key)?r.value:e;case 2:if(t===r.hash)for(var a=r.children,l=0,c=a.length;l<c;++l){var h=a[l];if(s(n,h.key))return h.value}return e;case 3:var p=u(i,t),m=d(p);if(r.mask&m){r=r.children[f(r.mask,m)],i+=5;break}return e;case 4:if(r=r.children[u(i,t)]){i+=5;break}return e;default:return e}};A.prototype.tryGetHash=function(e,t,n){return N(e,t,n,this)};var k=n.tryGet=function(e,t,n){return N(e,n._config.hash(t),t,n)};A.prototype.tryGet=function(e,t){return k(e,t,this)};var R=n.getHash=function(e,t,n){return N(void 0,e,t,n)};A.prototype.getHash=function(e,t){return R(e,t,this)},n.get=function(e,t){return N(void 0,t._config.hash(e),e,t)},A.prototype.get=function(e,t){return k(t,e,this)};var C=n.has=function(e,t,n){return N(a,e,t,n)!==a};A.prototype.hasHash=function(e,t){return C(e,t,this)};var I=n.has=function(e,t){return C(t._config.hash(e),e,t)};A.prototype.has=function(e){return I(e,this)};var j=function(e,t){return e===t};n.make=function(e){return new A(0,0,{keyEq:e&&e.keyEq||j,hash:e&&e.hash||c},m,0)},n.empty=n.make();var O=n.isEmpty=function(e){return e&&!!v(e._root)};A.prototype.isEmpty=function(){return O(this)};var L=n.modifyHash=function(e,t,n,o){var r={value:o._size},i=o._root._modify(o._editable?o._edit:NaN,o._config.keyEq,0,e,t,n,r);return o.setTree(i,r.value)};A.prototype.modifyHash=function(e,t,n){return L(n,e,t,this)};var M=n.modify=function(e,t,n){return L(e,n._config.hash(t),t,n)};A.prototype.modify=function(e,t){return M(t,e,this)};var P=n.setHash=function(e,t,n,o){return L(l(n),e,t,o)};A.prototype.setHash=function(e,t,n){return P(e,t,n,this)};var D=n.set=function(e,t,n){return P(n._config.hash(e),e,t,n)};A.prototype.set=function(e,t){return D(e,t,this)};var B=l(a),z=n.removeHash=function(e,t,n){return L(B,e,t,n)};A.prototype.removeHash=A.prototype.deleteHash=function(e,t){return z(e,t,this)};var U=n.remove=function(e,t){return z(t._config.hash(e),e,t)};A.prototype.remove=A.prototype.delete=function(e){return U(e,this)};var H=n.beginMutation=function(e){return new A(e._editable+1,e._edit+1,e._config,e._root,e._size)};A.prototype.beginMutation=function(){return H(this)};var F=n.endMutation=function(e){return e._editable=e._editable&&e._editable-1,e};A.prototype.endMutation=function(){return F(this)};var $=n.mutate=function(e,t){var n=H(t);return e(n),F(n)};A.prototype.mutate=function(e){return $(e,this)};var K=function(e){return e&&G(e[0],e[1],e[2],e[3],e[4])},G=function(e,t,n,o,r){for(;n<e;){var i=t[n++];if(i&&!v(i))return W(i,o,[e,t,n,o,r])}return K(r)},W=function(e,t,n){switch(e.type){case 1:return{value:t(e),rest:n};case 2:case 4:case 3:var o=e.children;return G(o.length,o,0,t,n);default:return K(n)}},q={done:!0};function Y(e){this.v=e}Y.prototype.next=function(){if(!this.v)return q;var e=this.v;return this.v=K(e.rest),e},Y.prototype[Symbol.iterator]=function(){return this};var X=function(e,t){return new Y(W(e._root,t))},Z=function(e){return[e.key,e.value]},J=n.entries=function(e){return X(e,Z)};A.prototype.entries=A.prototype[Symbol.iterator]=function(){return J(this)};var Q=function(e){return e.key},ee=n.keys=function(e){return X(e,Q)};A.prototype.keys=function(){return ee(this)};var te=function(e){return e.value},ne=n.values=A.prototype.values=function(e){return X(e,te)};A.prototype.values=function(){return ne(this)};var oe=n.fold=function(e,t,n){var o=n._root;if(1===o.type)return e(t,o.value,o.key);for(var r=[o.children],i=void 0;i=r.pop();)for(var s=0,a=i.length;s<a;){var l=i[s++];l&&l.type&&(1===l.type?t=e(t,l.value,l.key):r.push(l.children))}return t};A.prototype.fold=function(e,t){return oe(e,t,this)};var re=n.forEach=function(e,t){return oe((function(n,o,r){return e(o,r,t)}),null,t)};A.prototype.forEach=function(e){return re(e,this)};var ie=n.count=function(e){return e._size};A.prototype.count=function(){return ie(this)},Object.defineProperty(A.prototype,"size",{get:A.prototype.count}),e.exports?e.exports=n:(void 0).hamt=n}));class _e{constructor(e){y(this,"_map",void 0),this._map=new Map(null==e?void 0:e.entries())}keys(){return this._map.keys()}entries(){return this._map.entries()}get(e){return this._map.get(e)}has(e){return this._map.has(e)}set(e,t){return this._map.set(e,t),this}delete(e){return this._map.delete(e),this}clone(){return Ee(this)}toMap(){return new Map(this._map)}}class Se{constructor(e){if(y(this,"_hamt",xe.empty.beginMutation()),e instanceof Se){const t=e._hamt.endMutation();e._hamt=t.beginMutation(),this._hamt=t.beginMutation()}else if(e)for(const[t,n]of e.entries())this._hamt.set(t,n)}keys(){return this._hamt.keys()}entries(){return this._hamt.entries()}get(e){return this._hamt.get(e)}has(e){return this._hamt.has(e)}set(e,t){return this._hamt.set(e,t),this}delete(e){return this._hamt.delete(e),this}clone(){return Ee(this)}toMap(){return new Map(this._hamt)}}function Ee(e){return F("recoil_hamt_2020")?new Se(e):new _e(e)}var Te=Ee,Ve=Object.freeze({__proto__:null,persistentMap:Te});var Ae=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};var Ne=function(e,t){const n=new Map;return e.forEach(((e,o)=>{n.set(o,t(e,o))})),n};function ke(e,t,n,o){const{nodeDeps:r,nodeToNodeSubscriptions:i}=n,s=r.get(e);if(s&&o&&s!==o.nodeDeps.get(e))return;r.set(e,t);const a=null==s?t:Ae(t,s);for(const t of a){i.has(t)||i.set(t,new Set);g(i.get(t)).add(e)}if(s){const n=Ae(s,t);for(const t of n){if(!i.has(t))return;const n=g(i.get(t));n.delete(e),0===n.size&&i.delete(t)}}}var Re={cloneGraph:function(e){return{nodeDeps:Ne(e.nodeDeps,(e=>new Set(e))),nodeToNodeSubscriptions:Ne(e.nodeToNodeSubscriptions,(e=>new Set(e)))}},graph:function(){return{nodeDeps:new Map,nodeToNodeSubscriptions:new Map}},saveDepsToStore:function(e,t,n,o){var r,i,s,a;const l=n.getState();o!==l.currentTree.version&&o!==(null===(r=l.nextTree)||void 0===r?void 0:r.version)&&o!==(null===(i=l.previousTree)||void 0===i?void 0:i.version)&&W("Tried to save dependencies to a discarded tree");const c=n.getGraph(o);if(ke(e,t,c),o===(null===(s=l.previousTree)||void 0===s?void 0:s.version)){ke(e,t,n.getGraph(l.currentTree.version),c)}if(o===(null===(a=l.previousTree)||void 0===a?void 0:a.version)||o===l.currentTree.version){var u;const o=null===(u=l.nextTree)||void 0===u?void 0:u.version;if(void 0!==o){ke(e,t,n.getGraph(o),c)}}}};let Ce=0;let Ie=0;let je=0;var Oe={getNextTreeStateVersion:()=>Ce++,getNextStoreID:()=>Ie++,getNextComponentID:()=>je++};const{persistentMap:Le}=Ve,{graph:Me}=Re,{getNextTreeStateVersion:Pe}=Oe;var De={makeEmptyStoreState:function(){const e=function(){const e=Pe();return{version:e,stateID:e,transactionMetadata:{},dirtyAtoms:new Set,atomValues:Le(),nonvalidatedAtoms:Le()}}();return{currentTree:e,nextTree:null,previousTree:null,commitDepth:0,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,Me()),retention:{referenceCounts:new Map,nodesRetainedByZone:new Map,retainablesToCheckForRelease:new Set},nodeCleanupFunctions:new Map}},getNextTreeStateVersion:Pe};var Be={RetentionZone:class{}};var ze={setByAddingToSet:function(e,t){const n=new Set(e);return n.add(t),n}};var Ue=function*(e,t){let n=0;for(const o of e)t(o,n++)&&(yield o)};var He=function(e,t){return new Proxy(e,{get:(e,n)=>(!(n in e)&&n in t&&(e[n]=t[n]()),e[n]),ownKeys:e=>Object.keys(e)})};const{getNode:Fe,getNodeMaybe:$e,recoilValuesForKeys:Ke}=be,{RetentionZone:Ge}=Be,{setByAddingToSet:We}=ze,qe=Object.freeze(new Set);class Ye extends Error{}function Xe(e,t,n,o){const r=e.getState();if(r.nodeCleanupFunctions.has(n))return;const i=Fe(n),s=function(e,t,n){if(!F("recoil_memory_managament_2020"))return()=>{};const{nodesRetainedByZone:o}=e.getState().retention;function r(e){let n=o.get(e);n||o.set(e,n=new Set),n.add(t)}if(n instanceof Ge)r(n);else if(Array.isArray(n))for(const e of n)r(e);return()=>{if(!F("recoil_memory_managament_2020"))return;const{retention:o}=e.getState();function r(e){const n=o.nodesRetainedByZone.get(e);null==n||n.delete(t),n&&0===n.size&&o.nodesRetainedByZone.delete(e)}if(n instanceof Ge)r(n);else if(Array.isArray(n))for(const e of n)r(e)}}(e,n,i.retainedBy),a=i.init(e,t,o);r.nodeCleanupFunctions.set(n,(()=>{a(),s()}))}function Ze(e,t,n){return Fe(n).peek(e,t)}function Je(e,t,n){const o=new Set,r=Array.from(n),i=e.getGraph(t.version);for(let e=r.pop();e;e=r.pop()){var s;o.add(e);const t=null!==(s=i.nodeToNodeSubscriptions.get(e))&&void 0!==s?s:qe;for(const e of t)o.has(e)||r.push(e)}return o}var Qe={getNodeLoadable:function(e,t,n){return Xe(e,t,n,"get"),Fe(n).get(e,t)},peekNodeLoadable:Ze,setNodeValue:function(e,t,n,o){const r=Fe(n);if(null==r.set)throw new Ye(`Attempt to set read-only RecoilValue: ${n}`);const i=r.set;return Xe(e,t,n,"set"),i(e,t,o)},initializeNode:function(e,t,n){Xe(e,e.getState().currentTree,t,n)},cleanUpNode:function(e,t){var n;const o=e.getState();null===(n=o.nodeCleanupFunctions.get(t))||void 0===n||n(),o.nodeCleanupFunctions.delete(t)},setUnvalidatedAtomValue_DEPRECATED:function(e,t,n){var o;const r=$e(t);return null==r||null===(o=r.invalidate)||void 0===o||o.call(r,e),{...e,atomValues:e.atomValues.clone().delete(t),nonvalidatedAtoms:e.nonvalidatedAtoms.clone().set(t,n),dirtyAtoms:We(e.dirtyAtoms,t)}},peekNodeInfo:function(e,t,n){const o=e.getState(),r=e.getGraph(t.version),i=Fe(n).nodeType;return He({type:i},{loadable:()=>Ze(e,t,n),isActive:()=>o.knownAtoms.has(n)||o.knownSelectors.has(n),isSet:()=>"selector"!==i&&t.atomValues.has(n),isModified:()=>t.dirtyAtoms.has(n),deps:()=>{var e;return Ke(null!==(e=r.nodeDeps.get(n))&&void 0!==e?e:[])},subscribers:()=>{var r,i;return{nodes:Ke(Ue(Je(e,t,new Set([n])),(e=>e!==n))),components:de(null!==(r=null===(i=o.nodeToComponentSubscriptions.get(n))||void 0===i?void 0:i.values())&&void 0!==r?r:[],(([e])=>({name:e})))}}})},getDownstreamNodes:Je};let et=null;var tt={setInvalidateMemoizedSnapshot:function(e){et=e},invalidateMemoizedSnapshot:function(){var e;null===(e=et)||void 0===e||e()}};const{getDownstreamNodes:nt,getNodeLoadable:ot,setNodeValue:rt}=Qe,{getNextComponentID:it}=Oe,{getNode:st,getNodeMaybe:at}=be,{DefaultValue:lt}=be,{reactMode:ct}=J,{AbstractRecoilValue:ut,RecoilState:dt,RecoilValueReadOnly:ft,isRecoilValue:ht}=ae,{invalidateMemoizedSnapshot:pt}=tt;function mt(e,t,n){if("set"===n.type){const{recoilValue:o,valueOrUpdater:r}=n,i=function(e,t,{key:n},o){if("function"==typeof o){const r=ot(e,t,n);if("loading"===r.state){const e=`Tried to set atom or selector "${n}" using an updater function while the current state is pending, this is not currently supported.`;throw W(e),m(e)}if("hasError"===r.state)throw r.contents;return o(r.contents)}return o}(e,t,o,r),s=rt(e,t,o.key,i);for(const[e,n]of s.entries())vt(t,e,n)}else if("setLoadable"===n.type){const{recoilValue:{key:e},loadable:o}=n;vt(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,i=at(e);null==i||null===(o=i.invalidate)||void 0===o||o.call(i,t),t.atomValues.delete(e),t.nonvalidatedAtoms.set(e,r),t.dirtyAtoms.add(e)}else W(`Unknown action ${n.type}`)}function vt(e,t,n){"hasValue"===n.state&&n.contents instanceof lt?e.atomValues.delete(t):e.atomValues.set(t,n),e.dirtyAtoms.add(t),e.nonvalidatedAtoms.delete(t)}function gt(e,t){e.replaceState((n=>{const o=wt(n);for(const n of t)mt(e,o,n);return xt(e,o),pt(),o}))}function yt(e,t){if(bt.length){const n=bt[bt.length-1];let o=n.get(e);o||n.set(e,o=[]),o.push(t)}else gt(e,[t])}const bt=[];function wt(e){return{...e,atomValues:e.atomValues.clone(),nonvalidatedAtoms:e.nonvalidatedAtoms.clone(),dirtyAtoms:new Set(e.dirtyAtoms)}}function xt(e,t){const n=nt(e,t,t.dirtyAtoms);for(const e of n){var o,r;null===(o=at(e))||void 0===o||null===(r=o.invalidate)||void 0===r||r.call(o,t)}}function _t(e,t,n){yt(e,{type:"set",recoilValue:t,valueOrUpdater:n})}var St={AbstractRecoilValue:ut,getRecoilValueAsLoadable:function(e,{key:t},n=e.getState().currentTree){var o,r;const i=e.getState();n.version!==i.currentTree.version&&n.version!==(null===(o=i.nextTree)||void 0===o?void 0:o.version)&&n.version!==(null===(r=i.previousTree)||void 0===r?void 0:r.version)&&W("Tried to read from a discarded tree");const s=ot(e,n,t);return"loading"===s.state&&s.contents.catch((()=>{})),s},setRecoilValue:_t,setRecoilValueLoadable:function(e,t,n){if(n instanceof lt)return _t(e,t,n);yt(e,{type:"setLoadable",recoilValue:t,loadable:n})},markRecoilValueModified:function(e,t){yt(e,{type:"markModified",recoilValue:t})},setUnvalidatedRecoilValue:function(e,t,n){yt(e,{type:"setUnvalidated",recoilValue:t,unvalidatedValue:n})},subscribeToRecoilValue:function(e,{key:t},n,o=null){const r=it(),i=e.getState();i.nodeToComponentSubscriptions.has(t)||i.nodeToComponentSubscriptions.set(t,new Map),g(i.nodeToComponentSubscriptions.get(t)).set(r,[null!=o?o:"<not captured>",n]);const s=ct();if(s.early&&("LEGACY"===s.mode||"MUTABLE_SOURCE"===s.mode)){const o=e.getState().nextTree;o&&o.dirtyAtoms.has(t)&&n(o)}return{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)):W(`Subscription missing at release time for atom ${t}. This is a bug in Recoil.`)}}},applyAtomValueWrites:function(e,t){const n=e.clone();return t.forEach(((e,t)=>{"hasValue"===e.state&&e.contents instanceof lt?n.delete(t):n.set(t,e)})),n},batchStart:function(){const e=new Map;return bt.push(e),()=>{for(const[t,n]of e)gt(t,n);bt.pop()!==e&&W("Incorrect order of batch popping")}},writeLoadableToTreeState:vt,invalidateDownstreams:xt,copyTreeState:wt,refreshRecoilValue:function(e,t){var n;const{currentTree:o}=e.getState(),r=st(t.key);null===(n=r.clearCache)||void 0===n||n.call(r,e,o)}};var Et=function(e,t,n){const o=e.entries();let r=o.next();for(;!r.done;){const i=r.value;if(t.call(n,i[1],i[0],e))return!0;r=o.next()}return!1};const{cleanUpNode:Tt}=Qe,{deleteNodeConfigIfPossible:Vt,getNode:At}=be,{RetentionZone:Nt}=Be,kt=new Set;function Rt(e,t){const n=e.getState(),o=n.currentTree;if(n.nextTree)return void W("releaseNodesNowOnCurrentTree should only be called at the end of a batch");const r=new Set;for(const e of t)if(e instanceof Nt)for(const t of It(n,e))r.add(t);else r.add(e);const i=function(e,t){const n=e.getState(),o=n.currentTree,r=e.getGraph(o.version),i=new Set,s=new Set;return a(t),i;function a(t){const l=new Set,c=function(e,t,n,o,r){const i=e.getGraph(t.version),s=[],a=new Set;for(;n.size>0;)l(g(n.values().next().value));return s;function l(e){if(o.has(e)||r.has(e))return void n.delete(e);if(a.has(e))return;const t=i.nodeToNodeSubscriptions.get(e);if(t)for(const e of t)l(e);a.add(e),n.delete(e),s.push(e)}}(e,o,t,i,s);for(const e of c){var u;if("recoilRoot"===At(e).retainedBy){s.add(e);continue}if((null!==(u=n.retention.referenceCounts.get(e))&&void 0!==u?u:0)>0){s.add(e);continue}if(jt(e).some((e=>n.retention.referenceCounts.get(e)))){s.add(e);continue}const t=r.nodeToNodeSubscriptions.get(e);t&&Et(t,(e=>s.has(e)))?s.add(e):(i.add(e),l.add(e))}const d=new Set;for(const e of l)for(const t of null!==(f=r.nodeDeps.get(e))&&void 0!==f?f:kt){var f;i.has(t)||d.add(t)}d.size&&a(d)}}(e,r);for(const t of i)Ct(e,o,t)}function Ct(e,t,n){if(!F("recoil_memory_managament_2020"))return;Tt(e,n);const o=e.getState();o.knownAtoms.delete(n),o.knownSelectors.delete(n),o.nodeTransactionSubscriptions.delete(n),o.retention.referenceCounts.delete(n);const r=jt(n);for(const e of r){var i;null===(i=o.retention.nodesRetainedByZone.get(e))||void 0===i||i.delete(n)}t.atomValues.delete(n),t.dirtyAtoms.delete(n),t.nonvalidatedAtoms.delete(n);const s=o.graphsByVersion.get(t.version);if(s){const e=s.nodeDeps.get(n);if(void 0!==e){s.nodeDeps.delete(n);for(const t of e){var a;null===(a=s.nodeToNodeSubscriptions.get(t))||void 0===a||a.delete(n)}}s.nodeToNodeSubscriptions.delete(n)}Vt(n)}function It(e,t){var n;return null!==(n=e.retention.nodesRetainedByZone.get(t))&&void 0!==n?n:kt}function jt(e){const t=At(e).retainedBy;return void 0===t||"components"===t||"recoilRoot"===t?[]:t instanceof Nt?[t]:t}var Ot={SUSPENSE_TIMEOUT_MS:12e4,updateRetainCount:function(e,t,n){var o;if(!F("recoil_memory_managament_2020"))return;const r=e.getState().retention.referenceCounts,i=(null!==(o=r.get(t))&&void 0!==o?o:0)+n;0===i?function(e,t){if(!F("recoil_memory_managament_2020"))return;const n=e.getState().retention.referenceCounts;n.delete(t),function(e,t){const n=e.getState();n.nextTree?n.retention.retainablesToCheckForRelease.add(t):Rt(e,new Set([t]))}(e,t)}(e,t):r.set(t,i)},releaseScheduledRetainablesNow:function(e){if(!F("recoil_memory_managament_2020"))return;const t=e.getState();Rt(e,t.retention.retainablesToCheckForRelease),t.retention.retainablesToCheckForRelease.clear()},retainedByOptionWithDefault:function(e){return void 0===e?"recoilRoot":e}};const{unstable_batchedUpdates:Lt}=r;var Mt={unstable_batchedUpdates:Lt};const{unstable_batchedUpdates:Pt}=Mt;var Dt={unstable_batchedUpdates:Pt};const{batchStart:Bt}=St,{unstable_batchedUpdates:zt}=Dt;let Ut=zt||(e=>e());var Ht={batchUpdates:e=>{Ut((()=>{let t=()=>{};try{t=Bt(),e()}finally{t()}}))}};var Ft=function*(e){for(const t of e)for(const e of t)yield e};const $t="undefined"==typeof Window||"undefined"==typeof window,Kt="undefined"!=typeof navigator&&"ReactNative"===navigator.product;var Gt={isSSR:$t,isReactNative:Kt,isWindow:e=>!$t&&(e===window||e instanceof Window)};var Wt={memoizeOneWithArgsHashAndInvalidation:function(e,t){let n,o;return[(...r)=>{const i=t(...r);return n===i||(n=i,o=e(...r)),o},()=>{n=null}]}};const{batchUpdates:qt}=Ht,{initializeNode:Yt,peekNodeInfo:Xt}=Qe,{graph:Zt}=Re,{getNextStoreID:Jt}=Oe,{DEFAULT_VALUE:Qt,recoilValues:en,recoilValuesForKeys:tn}=be,{AbstractRecoilValue:nn,getRecoilValueAsLoadable:on,setRecoilValue:rn,setUnvalidatedRecoilValue:sn}=St,{updateRetainCount:an}=Ot,{setInvalidateMemoizedSnapshot:ln}=tt,{getNextTreeStateVersion:cn,makeEmptyStoreState:un}=De,{isSSR:dn}=Gt,{memoizeOneWithArgsHashAndInvalidation:fn}=Wt;class hn{constructor(e,t){y(this,"_store",void 0),y(this,"_refCount",1),y(this,"getLoadable",(e=>(this.checkRefCount_INTERNAL(),on(this._store,e)))),y(this,"getPromise",(e=>(this.checkRefCount_INTERNAL(),this.getLoadable(e).toPromise()))),y(this,"getNodes_UNSTABLE",(e=>{if(this.checkRefCount_INTERNAL(),!0===(null==e?void 0:e.isModified)){if(!1===(null==e?void 0:e.isInitialized))return[];const t=this._store.getState().currentTree;return tn(t.dirtyAtoms)}const t=this._store.getState().knownAtoms,n=this._store.getState().knownSelectors;return null==(null==e?void 0:e.isInitialized)?en.values():!0===e.isInitialized?tn(Ft([t,n])):Ue(en.values(),(({key:e})=>!t.has(e)&&!n.has(e)))})),y(this,"getInfo_UNSTABLE",(({key:e})=>(this.checkRefCount_INTERNAL(),Xt(this._store,this._store.getState().currentTree,e)))),y(this,"map",(e=>{this.checkRefCount_INTERNAL();const t=new gn(this,qt);return e(t),t})),y(this,"asyncMap",(async e=>{this.checkRefCount_INTERNAL();const t=new gn(this,qt);return t.retain(),await e(t),t.autoRelease_INTERNAL(),t})),this._store={storeID:Jt(),parentStoreID:t,getState:()=>e,replaceState:t=>{e.currentTree=t(e.currentTree)},getGraph:t=>{const n=e.graphsByVersion;if(n.has(t))return g(n.get(t));const o=Zt();return n.set(t,o),o},subscribeToTransactions:()=>({release:()=>{}}),addTransactionMetadata:()=>{throw m("Cannot subscribe to Snapshots")}};for(const e of this._store.getState().knownAtoms)Yt(this._store,e,"get"),an(this._store,e,1);this.autoRelease_INTERNAL()}retain(){if(this._refCount<=0){if("production"!==process.env.NODE_ENV)throw m("Snapshot has already been released.");W("Attempt to retain() Snapshot that was already released.")}this._refCount++;let e=!1;return()=>{e||(e=!0,this._release())}}autoRelease_INTERNAL(){dn||window.setTimeout((()=>this._release()),10)}_release(){if(this._refCount--,0===this._refCount){if(this._store.getState().nodeCleanupFunctions.forEach((e=>e())),this._store.getState().nodeCleanupFunctions.clear(),!F("recoil_memory_managament_2020"))return}else this._refCount<0&&"production"!==process.env.NODE_ENV&&W("Snapshot released an extra time.")}isRetained(){return this._refCount>0}checkRefCount_INTERNAL(){F("recoil_memory_managament_2020")&&this._refCount<=0&&"production"!==process.env.NODE_ENV&&W("\nRecoil Snapshots only last for the duration of the callback they are provided to. To keep a Snapshot longer, do this:\n\n const release = snapshot.retain();\n try {\n await doSomethingWithSnapshot(snapshot);\n } finally {\n release();\n }\n\nThis is currently a DEV-only warning but will become a thrown exception in the next release of Recoil.\n")}getStore_INTERNAL(){return this.checkRefCount_INTERNAL(),this._store}getID(){return this.checkRefCount_INTERNAL(),this._store.getState().currentTree.stateID}getStoreID(){return this.checkRefCount_INTERNAL(),this._store.storeID}}function pn(e,t,n=!1){const o=e.getState(),r=n?cn():t.version;return{currentTree:{version:n?r:t.version,stateID:n?r:t.stateID,transactionMetadata:{...t.transactionMetadata},dirtyAtoms:new Set(t.dirtyAtoms),atomValues:t.atomValues.clone(),nonvalidatedAtoms:t.nonvalidatedAtoms.clone()},commitDepth:0,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)),retention:{referenceCounts:new Map,nodesRetainedByZone:new Map,retainablesToCheckForRelease:new Set},nodeCleanupFunctions:new Map(de(o.nodeCleanupFunctions.entries(),(([e])=>[e,()=>{}])))}}const[mn,vn]=fn(((e,t)=>{var n;const o=e.getState(),r="latest"===t?null!==(n=o.nextTree)&&void 0!==n?n:o.currentTree:g(o.previousTree);return new hn(pn(e,r),e.storeID)}),((e,t)=>{var n,o;return String(t)+String(e.storeID)+String(null===(n=e.getState().nextTree)||void 0===n?void 0:n.version)+String(e.getState().currentTree.version)+String(null===(o=e.getState().previousTree)||void 0===o?void 0:o.version)}));ln(vn);class gn extends hn{constructor(e,t){super(pn(e.getStore_INTERNAL(),e.getStore_INTERNAL().getState().currentTree,!0),e.getStoreID()),y(this,"_batch",void 0),y(this,"set",((e,t)=>{this.checkRefCount_INTERNAL();const n=this.getStore_INTERNAL();this._batch((()=>{an(n,e.key,1),rn(this.getStore_INTERNAL(),e,t)}))})),y(this,"reset",(e=>{this.checkRefCount_INTERNAL();const t=this.getStore_INTERNAL();this._batch((()=>{an(t,e.key,1),rn(this.getStore_INTERNAL(),e,Qt)}))})),y(this,"setUnvalidatedAtomValues_DEPRECATED",(e=>{this.checkRefCount_INTERNAL();const t=this.getStore_INTERNAL();qt((()=>{for(const[n,o]of e.entries())an(t,n,1),sn(t,new nn(n),o)}))})),this._batch=t}}var yn={Snapshot:hn,MutableSnapshot:gn,freshSnapshot:function(e){const t=new hn(un());return null!=e?t.map(e):t},cloneSnapshot:function(e,t="latest"){const n=mn(e,t);return n.isRetained()?n:(vn(),mn(e,t))}},bn=yn.Snapshot,wn=yn.MutableSnapshot,xn=yn.freshSnapshot,_n=yn.cloneSnapshot,Sn=Object.freeze({__proto__:null,Snapshot:bn,MutableSnapshot:wn,freshSnapshot:xn,cloneSnapshot:_n});var En=function(...e){const t=new Set;for(const n of e)for(const e of n)t.add(e);return t};const{useRef:Tn}=o;var Vn=function(e){const t=Tn(e);return t.current===e&&"function"==typeof e&&(t.current=e()),t};const{getNextTreeStateVersion:An,makeEmptyStoreState:Nn}=De,{cleanUpNode:kn,getDownstreamNodes:Rn,initializeNode:Cn,setNodeValue:In,setUnvalidatedAtomValue_DEPRECATED:jn}=Qe,{graph:On}=Re,{cloneGraph:Ln}=Re,{getNextStoreID:Mn}=Oe,{createMutableSource:Pn,reactMode:Dn}=J,{applyAtomValueWrites:Bn}=St,{releaseScheduledRetainablesNow:zn}=Ot,{freshSnapshot:Un}=Sn,{useCallback:Hn,useContext:Fn,useEffect:$n,useMemo:Kn,useRef:Gn,useState:Wn}=o;function qn(){throw m("This component must be used inside a <RecoilRoot> component.")}const Yn=Object.freeze({storeID:Mn(),getState:qn,replaceState:qn,getGraph:qn,subscribeToTransactions:qn,addTransactionMetadata:qn});let Xn=!1;function Zn(e){if(Xn)throw m("An atom update was triggered within the execution of a state updater function. State updater functions provided to Recoil must be pure functions.");const t=e.getState();if(null===t.nextTree){F("recoil_memory_managament_2020")&&F("recoil_release_on_cascading_update_killswitch_2021")&&t.commitDepth>0&&zn(e);const n=t.currentTree.version,o=An();t.nextTree={...t.currentTree,version:o,stateID:o,dirtyAtoms:new Set,transactionMetadata:{}},t.graphsByVersion.set(o,Ln(g(t.graphsByVersion.get(n))))}}const Jn=o.createContext({current:Yn}),Qn=()=>Fn(Jn),eo=o.createContext(null);function to(e,t,n){const o=Rn(e,n,n.dirtyAtoms);for(const e of o){const o=t.nodeToComponentSubscriptions.get(e);if(o)for(const[e,[t,r]]of o)r(n)}}function no(e){const t=e.getState();t.commitDepth++;try{const{nextTree:n}=t;if(null==n)return;t.previousTree=t.currentTree,t.currentTree=n,t.nextTree=null,function(e){const t=e.getState(),n=t.currentTree,o=n.dirtyAtoms;if(o.size){for(const[n,r]of t.nodeTransactionSubscriptions)if(o.has(n))for(const[t,n]of r)n(e);for(const[n,o]of t.transactionSubscriptions)o(e);(!Dn().early||t.suspendedComponentResolvers.size>0)&&(to(e,t,n),t.suspendedComponentResolvers.forEach((e=>e())),t.suspendedComponentResolvers.clear())}t.queuedComponentCallbacks_DEPRECATED.forEach((e=>e(n))),t.queuedComponentCallbacks_DEPRECATED.splice(0,t.queuedComponentCallbacks_DEPRECATED.length)}(e),null!=t.previousTree?t.graphsByVersion.delete(t.previousTree.version):W("Ended batch with no previous state, which is unexpected","recoil"),t.previousTree=null,F("recoil_memory_managament_2020")&&null==n&&zn(e)}finally{t.commitDepth--}}function oo({setNotifyBatcherOfChange:e}){const t=Qn(),[,n]=Wn([]);return e((()=>n({}))),$n((()=>(e((()=>n({}))),()=>{e((()=>{}))})),[e]),$n((()=>{we.enqueueExecution("Batcher",(()=>{no(t.current)}))})),null}"production"!==process.env.NODE_ENV&&("undefined"==typeof window||window.$recoilDebugStates||(window.$recoilDebugStates=[]));let ro=0;function io({initializeState_DEPRECATED:e,initializeState:t,store_INTERNAL:n,children:r}){let i;const s=e=>{const t=i.current.graphsByVersion;if(t.has(e))return g(t.get(e));const n=On();return t.set(e,n),n},a=(e,t)=>{if(null==t){const{transactionSubscriptions:t}=f.current.getState(),n=ro++;return t.set(n,e),{release:()=>{t.delete(n)}}}{const{nodeTransactionSubscriptions:n}=f.current.getState();n.has(t)||n.set(t,new Map);const o=ro++;return g(n.get(t)).set(o,e),{release:()=>{const e=n.get(t);e&&(e.delete(o),0===e.size&&n.delete(t))}}}},l=e=>{Zn(f.current);for(const t of Object.keys(e))g(f.current.getState().nextTree).transactionMetadata[t]=e[t]},c=e=>{Zn(f.current);const t=g(i.current.nextTree);let n;try{Xn=!0,n=e(t)}finally{Xn=!1}n!==t&&("production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&window.$recoilDebugStates.push(n),i.current.nextTree=n,Dn().early&&to(f.current,i.current,n),g(u.current)())},u=Gn(null),d=Hn((e=>{u.current=e}),[u]),f=Vn((()=>null!=n?n:{storeID:Mn(),getState:()=>i.current,replaceState:c,getGraph:s,subscribeToTransactions:a,addTransactionMetadata:l}));null!=n&&(f.current=n),i=Vn((()=>null!=e?function(e,t){const n=Nn();return t({set:(t,o)=>{const r=n.currentTree,i=In(e,r,t.key,o),s=new Set(i.keys()),a=r.nonvalidatedAtoms.clone();for(const e of s)a.delete(e);n.currentTree={...r,dirtyAtoms:En(r.dirtyAtoms,s),atomValues:Bn(r.atomValues,i),nonvalidatedAtoms:a}},setUnvalidatedAtomValues:e=>{e.forEach(((e,t)=>{n.currentTree=jn(n.currentTree,t,e)}))}}),n}(f.current,e):null!=t?function(e){const t=Un(e),n=t.getStore_INTERNAL().getState();return t.retain(),n.nodeCleanupFunctions.forEach((e=>e())),n.nodeCleanupFunctions.clear(),n}(t):Nn()));const h=Kn((()=>null==Pn?void 0:Pn(i,(()=>i.current.currentTree.version))),[i]);return $n((()=>{const e=f.current;for(const t of new Set(e.getState().knownAtoms))Cn(e,t,"get");return()=>{for(const t of e.getState().knownAtoms)kn(e,t)}}),[f]),o.createElement(Jn.Provider,{value:f},o.createElement(eo.Provider,{value:h},o.createElement(oo,{setNotifyBatcherOfChange:d}),r))}var so={RecoilRoot:function(e){const{override:t,...n}=e,r=Qn();return!1===t&&r.current!==Yn?e.children:o.createElement(io,n)},useStoreRef:Qn,useRecoilMutableSource:function(){const e=Fn(eo);return null==e&&ue("Attempted to use a Recoil hook outside of a <RecoilRoot>. <RecoilRoot> must be an ancestor of any component that uses Recoil hooks."),e}};var ao=function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0,o=e.length;n<o;n++)if(e[n]!==t[n])return!1;return!0};const{useEffect:lo,useRef:co}=o;var uo=function(e){const t=co();return lo((()=>{t.current=e})),t.current};const{useStoreRef:fo}=so,{SUSPENSE_TIMEOUT_MS:ho}=Ot,{updateRetainCount:po}=Ot,{RetentionZone:mo}=Be,{useEffect:vo,useRef:go}=o,{isSSR:yo}=Gt;var bo=function(e){if(F("recoil_memory_managament_2020"))return function(e){const t=Array.isArray(e)?e:[e],n=t.map((e=>e instanceof mo?e:e.key)),o=fo();vo((()=>{if(!F("recoil_memory_managament_2020"))return;const e=o.current;if(r.current&&!yo)window.clearTimeout(r.current),r.current=null;else for(const t of n)po(e,t,1);return()=>{for(const t of n)po(e,t,-1)}}),[o,...n]);const r=go(),i=uo(n);if(!(yo||void 0!==i&&ao(i,n))){const e=o.current;for(const t of n)po(e,t,1);if(i)for(const t of i)po(e,t,-1);r.current&&window.clearTimeout(r.current),r.current=window.setTimeout((()=>{r.current=null;for(const t of n)po(e,t,-1)}),ho)}}(e)};var wo=function(){return"<component name not available>"};const{currentRendererSupportsUseSyncExternalStore:xo,reactMode:_o,useMutableSource:So,useSyncExternalStore:Eo}=J,{useRecoilMutableSource:To,useStoreRef:Vo}=so,{isRecoilValue:Ao}=ae,{getRecoilValueAsLoadable:No,setRecoilValue:ko,subscribeToRecoilValue:Ro}=St,{useCallback:Co,useEffect:Io,useMemo:jo,useRef:Oo,useState:Lo}=o,{isSSR:Mo}=Gt;function Po(e,t){if(!Ao(e))throw m(`Invalid argument to ${t}: expected an atom or selector but got ${String(e)}`)}function Do(e){const t=Vo(),n=wo(),o=Co((()=>{var n;process.env.NODE_ENV;const o=t.current,r=o.getState(),i=_o().early&&null!==(n=r.nextTree)&&void 0!==n?n:r.currentTree;return{loadable:No(o,e,i),key:e.key}}),[t,e]),r=Co((e=>{let t;return()=>{var n,o;const r=e();return null!==(n=t)&&void 0!==n&&n.loadable.is(r.loadable)&&(null===(o=t)||void 0===o?void 0:o.key)===r.key?t:(t=r,r)}}),[]),i=jo((()=>r(o)),[o,r]),s=Co((o=>{const r=t.current;return Ro(r,e,o,n).release}),[t,e,n]);return Eo(s,i,i).loadable}function Bo(e){const t=Vo(),n=Co((()=>{var n;const o=t.current,r=o.getState(),i=_o().early&&null!==(n=r.nextTree)&&void 0!==n?n:r.currentTree;return No(o,e,i)}),[t,e]),o=Co((()=>(process.env.NODE_ENV,n())),[n]),r=wo(),i=Co(((o,i)=>{const s=t.current;return Ro(s,e,(()=>{if(!F("recoil_suppress_rerender_in_callback"))return i();const e=n();l.current.is(e)||i(),l.current=e}),r).release}),[t,e,r,n]),s=To();if(null==s)throw m("Recoil hooks must be used in components contained within a <RecoilRoot> component.");const a=So(s,o,i),l=Oo(a);return Io((()=>{l.current=a})),a}function zo(e){const t=Vo(),n=wo(),o=Co((()=>{var n;process.env.NODE_ENV;const o=t.current,r=o.getState(),i=_o().early&&null!==(n=r.nextTree)&&void 0!==n?n:r.currentTree;return No(o,e,i)}),[t,e]),r=Co((()=>({loadable:o(),key:e.key})),[o,e.key]),i=Co((e=>{const t=r();return e.loadable.is(t.loadable)&&e.key===t.key?e:t}),[r]);Io((()=>{const o=Ro(t.current,e,(e=>{a(i)}),n);return a(i),o.release}),[n,e,t,i]);const[s,a]=Lo(r);return s.key!==e.key?r().loadable:s.loadable}function Uo(e){const t=Vo(),[,n]=Lo([]),o=wo(),r=Co((()=>{var n;process.env.NODE_ENV;const o=t.current,r=o.getState(),i=_o().early&&null!==(n=r.nextTree)&&void 0!==n?n:r.currentTree;return No(o,e,i)}),[t,e]),i=r(),s=Oo(i);return Io((()=>{s.current=i})),Io((()=>{const i=t.current,a=i.getState(),l=Ro(i,e,(e=>{var t;if(!F("recoil_suppress_rerender_in_callback"))return n([]);const o=r();null!==(t=s.current)&&void 0!==t&&t.is(o)||n(o),s.current=o}),o);if(a.nextTree)i.getState().queuedComponentCallbacks_DEPRECATED.push((()=>{s.current=null,n([])}));else{var c;if(!F("recoil_suppress_rerender_in_callback"))return n([]);const e=r();null!==(c=s.current)&&void 0!==c&&c.is(e)||n(e),s.current=e}return l.release}),[o,r,e,t]),i}function Ho(e){return"production"!==process.env.NODE_ENV&&Po(e,"useRecoilValueLoadable"),F("recoil_memory_managament_2020")&&bo(e),{TRANSITION_SUPPORT:zo,SYNC_EXTERNAL_STORE:xo()?Do:zo,MUTABLE_SOURCE:Bo,LEGACY:Uo}[_o().mode](e)}function Fo(e){"production"!==process.env.NODE_ENV&&Po(e,"useRecoilValue");const t=Vo();return function(e,t,n){if("hasValue"===e.state)return e.contents;if("loading"===e.state)throw new Promise((t=>{const o=n.current.getState().suspendedComponentResolvers;o.add(t),Mo&&v(e.contents)&&e.contents.finally((()=>{o.delete(t)}))}));throw"hasError"===e.state?e.contents:m(`Invalid value of loadable atom "${t.key}"`)}(Ho(e),e,t)}function $o(e){"production"!==process.env.NODE_ENV&&Po(e,"useSetRecoilState");const t=Vo();return Co((n=>{ko(t.current,e,n)}),[t,e])}var Ko={useRecoilState:function(e){return"production"!==process.env.NODE_ENV&&Po(e,"useRecoilState"),[Fo(e),$o(e)]},useRecoilValue:Fo,useRecoilValueLoadable:Ho,useSetRecoilState:$o};const{batchUpdates:Go}=Ht,{DEFAULT_VALUE:Wo,getNode:qo}=be,{AbstractRecoilValue:Yo,setRecoilValueLoadable:Xo}=St,{cloneSnapshot:Zo}=Sn,{useCallback:Jo,useEffect:Qo,useRef:er,useState:tr}=o;var nr={gotoSnapshot:function(e,t){var n;const o=e.getState(),r=null!==(n=o.nextTree)&&void 0!==n?n:o.currentTree,i=t.getStore_INTERNAL().getState().currentTree;Go((()=>{const n=new Set;for(const e of[r.atomValues.keys(),i.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=i.atomValues.get(t))||void 0===s?void 0:s.contents)&&qo(t).shouldRestoreFromSnapshots&&n.add(t)}n.forEach((t=>{Xo(e,new Yo(t),i.atomValues.has(t)?g(i.atomValues.get(t)):Wo)})),e.replaceState((e=>({...e,stateID:t.getID()})))}))}};const{useMemo:or}=o,{loadableWithValue:rr}=D,{initializeNode:ir}=Qe,{DEFAULT_VALUE:sr,getNode:ar}=be,{copyTreeState:lr,getRecoilValueAsLoadable:cr,invalidateDownstreams:ur,writeLoadableToTreeState:dr}=St;function fr(e){return"atom"===ar(e.key).nodeType}class hr{constructor(e,t){y(this,"_store",void 0),y(this,"_treeState",void 0),y(this,"_changes",void 0),y(this,"get",(e=>{if(this._changes.has(e.key))return this._changes.get(e.key);if(!fr(e))throw m("Reading selectors within atomicUpdate is not supported");const t=cr(this._store,e,this._treeState);if("hasValue"===t.state)return t.contents;throw"hasError"===t.state?t.contents:m(`Expected Recoil atom ${e.key} to have a value, but it is in a loading state.`)})),y(this,"set",((e,t)=>{if(!fr(e))throw m("Setting selectors within atomicUpdate is not supported");if("function"==typeof t){const n=this.get(e);this._changes.set(e.key,t(n))}else ir(this._store,e.key,"set"),this._changes.set(e.key,t)})),y(this,"reset",(e=>{this.set(e,sr)})),this._store=e,this._treeState=t,this._changes=new Map}newTreeState_INTERNAL(){if(0===this._changes.size)return this._treeState;const e=lr(this._treeState);for(const[t,n]of this._changes)dr(e,t,rr(n));return ur(this._store,e),e}}var pr=function(e){return t=>{e.replaceState((n=>{const o=new hr(e,n);return t(o),o.newTreeState_INTERNAL()}))}},mr=Object.freeze({__proto__:null,atomicUpdater:pr});var vr=function(e,t){if(!e)throw new Error(t)};const{atomicUpdater:gr}=mr,{batchUpdates:yr}=Ht,{DEFAULT_VALUE:br}=be,{useStoreRef:wr}=so,{refreshRecoilValue:xr,setRecoilValue:_r}=St,{cloneSnapshot:Sr}=Sn,{gotoSnapshot:Er}=nr,{useCallback:Tr}=o;class Vr{}const Ar=new Vr;function Nr(e,t,n,o){let r,i=Ar;var s;(yr((()=>{const s="useRecoilCallback() expects a function that returns a function: it accepts a function of the type (RecoilInterface) => (Args) => ReturnType and returns a callback function (Args) => ReturnType, where RecoilInterface is an object {snapshot, set, ...} and Args and ReturnType are the argument and return types of the callback you want to create. Please see the docs at recoiljs.org for details.";if("function"!=typeof t)throw m(s);const a=He({...null!=o?o:{},set:(t,n)=>_r(e,t,n),reset:t=>_r(e,t,br),refresh:t=>xr(e,t),gotoSnapshot:t=>Er(e,t),transact_UNSTABLE:t=>gr(e)(t)},{snapshot:()=>{const t=Sr(e);return r=t.retain(),t}}),l=t(a);if("function"!=typeof l)throw m(s);i=l(...n)})),i instanceof Vr&&("production"!==process.env.NODE_ENV?vr(!1,"batchUpdates should return immediately"):vr(!1)),v(i))?i=i.finally((()=>{var e;null===(e=r)||void 0===e||e()})):null===(s=r)||void 0===s||s();return i}var kr={recoilCallback:Nr,useRecoilCallback:function(e,t){const n=wr();return Tr(((...t)=>Nr(n.current,e,t)),null!=t?[...t,n]:void 0)}};const{useCallback:Rr}=o,{atomicUpdater:Cr}=mr,{useMemo:Ir}=o;var jr=class{constructor(e){y(this,"value",void 0),this.value=e}},Or=Object.freeze({__proto__:null,WrappedValue:jr});class Lr extends Error{}var Mr=class{constructor(e){var t,n,o;y(this,"_name",void 0),y(this,"_numLeafs",void 0),y(this,"_root",void 0),y(this,"_onHit",void 0),y(this,"_onSet",void 0),y(this,"_mapNodeValue",void 0),this._name=null==e?void 0:e.name,this._numLeafs=0,this._root=null,this._onHit=null!==(t=null==e?void 0:e.onHit)&&void 0!==t?t:()=>{},this._onSet=null!==(n=null==e?void 0:e.onSet)&&void 0!==n?n:()=>{},this._mapNodeValue=null!==(o=null==e?void 0:e.mapNodeValue)&&void 0!==o?o:e=>e}size(){return this._numLeafs}root(){return this._root}get(e,t){var n;return null===(n=this.getLeafNode(e,t))||void 0===n?void 0:n.value}getLeafNode(e,t){if(null==this._root)return;let n=this._root;for(;n;){if(null==t||t.onNodeVisit(n),"leaf"===n.type)return this._onHit(n),n;const o=this._mapNodeValue(e(n.nodeKey));n=n.branches.get(o)}}set(e,t,n){const o=()=>{var o,r,i,s;let a,l;for(const[t,o]of e){var c,u,d;const e=this._root;if("leaf"===(null==e?void 0:e.type))throw this.invalidCacheError();const r=a;if(a=r?r.branches.get(l):e,a=null!==(c=a)&&void 0!==c?c:{type:"branch",nodeKey:t,parent:r,branches:new Map,branchKey:l},"branch"!==a.type||a.nodeKey!==t)throw this.invalidCacheError();null==r||r.branches.set(l,a),null==n||null===(u=n.onNodeVisit)||void 0===u||u.call(n,a),l=this._mapNodeValue(o),this._root=null!==(d=this._root)&&void 0!==d?d:a}const f=a?null===(o=a)||void 0===o?void 0:o.branches.get(l):this._root;if(null!=f&&("leaf"!==f.type||f.branchKey!==l))throw this.invalidCacheError();const h={type:"leaf",value:t,parent:a,branchKey:l};null===(r=a)||void 0===r||r.branches.set(l,h),this._root=null!==(i=this._root)&&void 0!==i?i:h,this._numLeafs++,this._onSet(h),null==n||null===(s=n.onNodeVisit)||void 0===s||s.call(n,h)};try{o()}catch(e){if(!(e instanceof Lr))throw e;this.clear(),o()}}delete(e){const t=this.root();if(!t)return!1;if(e===t)return this._root=null,this._numLeafs=0,!0;let n=e.parent,o=e.branchKey;for(;n;){var r;if(n.branches.delete(o),n===t)return 0===n.branches.size?(this._root=null,this._numLeafs=0):this._numLeafs--,!0;if(n.branches.size>0)break;o=null===(r=n)||void 0===r?void 0:r.branchKey,n=n.parent}for(;n!==t;n=n.parent)if(null==n)return!1;return this._numLeafs--,!0}clear(){this._numLeafs=0,this._root=null}invalidCacheError(){throw W("Invalid cache values. This happens when selectors do not return consistent values for the same input dependency values. That may also be caused when using Fast Refresh to change a selector implementation. Resetting cache."+(null!=this._name?` - ${this._name}`:"")),new Lr}},Pr=Object.freeze({__proto__:null,TreeCache:Mr});var Dr=class{constructor(e){var t;y(this,"_maxSize",void 0),y(this,"_size",void 0),y(this,"_head",void 0),y(this,"_tail",void 0),y(this,"_map",void 0),y(this,"_keyMapper",void 0),this._maxSize=e.maxSize,this._size=0,this._head=null,this._tail=null,this._map=new Map,this._keyMapper=null!==(t=e.mapKey)&&void 0!==t?t:e=>e}head(){return this._head}tail(){return this._tail}size(){return this._size}maxSize(){return this._maxSize}has(e){return this._map.has(this._keyMapper(e))}get(e){const t=this._keyMapper(e),n=this._map.get(t);if(n)return this.set(e,n.value),n.value}set(e,t){const n=this._keyMapper(e);this._map.get(n)&&this.delete(e);const o=this.head(),r={key:e,right:o,left:null,value:t};o?o.left=r:this._tail=r,this._map.set(n,r),this._head=r,this._size++,this._maybeDeleteLRU()}_maybeDeleteLRU(){this.size()>this.maxSize()&&this.deleteLru()}deleteLru(){const e=this.tail();e&&this.delete(e.key)}delete(e){const t=this._keyMapper(e);if(!this._size||!this._map.has(t))return;const n=g(this._map.get(t)),o=n.right,r=n.left;o&&(o.left=n.left),r&&(r.right=n.right),n===this.head()&&(this._head=o),n===this.tail()&&(this._tail=r),this._map.delete(t),this._size--}clear(){this._size=0,this._head=null,this._tail=null,this._map=new Map}},Br=Object.freeze({__proto__:null,LRUCache:Dr});const{LRUCache:zr}=Br,{TreeCache:Ur}=Pr;var Hr=function({name:e,maxSize:t,mapNodeValue:n=e=>e}){const o=new zr({maxSize:t}),r=new Ur({name:e,mapNodeValue:n,onHit:e=>{o.set(e,!0)},onSet:e=>{const n=o.tail();o.set(e,!0),n&&r.size()>t&&r.delete(n.key)}});return r};function Fr(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.allowFunctions))throw m("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(v(e))return"__PROMISE__";if(Array.isArray(e))return`[${e.map(((e,n)=>Fr(e,t,n.toString())))}]`;if("function"==typeof e.toJSON)return Fr(e.toJSON(n),t,n);if(e instanceof Map){const o={};for(const[n,r]of e)o["string"==typeof n?n:Fr(n,t)]=r;return Fr(o,t,n)}return e instanceof Set?Fr(Array.from(e).sort(((e,n)=>Fr(e,t).localeCompare(Fr(n,t)))),t,n):void 0!==Symbol&&null!=e[Symbol.iterator]&&"function"==typeof e[Symbol.iterator]?Fr(Array.from(e),t,n):`{${Object.keys(e).filter((t=>void 0!==e[t])).sort().map((n=>`${Fr(n,t)}:${Fr(e[n],t,n)}`)).join(",")}}`}var $r=function(e,t={allowFunctions:!1}){if("production"!==process.env.NODE_ENV&&"undefined"!=typeof window){const n=window.performance?window.performance.now():0,o=Fr(e,t),r=window.performance?window.performance.now():0;return r-n>15&&(console.groupCollapsed(`Recoil: Spent ${r-n}ms computing a cache key`),console.warn(e,o),console.groupEnd()),o}return Fr(e,t)};const{TreeCache:Kr}=Pr,Gr={equality:"reference",eviction:"keep-all",maxSize:1/0};var Wr=function({equality:e=Gr.equality,eviction:t=Gr.eviction,maxSize:n=Gr.maxSize}=Gr,o){const r=function(e){switch(e){case"reference":return e=>e;case"value":return e=>$r(e)}throw m(`Unrecognized equality policy ${e}`)}(e);return function(e,t,n,o){switch(e){case"keep-all":return new Kr({name:o,mapNodeValue:n});case"lru":return Hr({name:o,maxSize:g(t),mapNodeValue:n});case"most-recent":return Hr({name:o,maxSize:1,mapNodeValue:n})}throw m(`Unrecognized eviction policy ${e}`)}(t,n,r,o)};var qr=function(e){var t,n;if("undefined"==typeof window)return!1;const o=null!==(n=(null!=e?null!==(t=e.ownerDocument)&&void 0!==t?t:e:document).defaultView)&&void 0!==n?n:window;return!(null==e||!("function"==typeof o.Node?e instanceof o.Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))};const{isReactNative:Yr,isWindow:Xr}=Gt;var Zr=function e(t){if("object"==typeof t&&!function(e){if(null===e||"object"!=typeof e)return!0;switch(typeof e.$$typeof){case"symbol":case"number":return!0}return null!=e["@@__IMMUTABLE_ITERABLE__@@"]||null!=e["@@__IMMUTABLE_KEYED__@@"]||null!=e["@@__IMMUTABLE_INDEXED__@@"]||null!=e["@@__IMMUTABLE_ORDERED__@@"]||null!=e["@@__IMMUTABLE_RECORD__@@"]||!!qr(e)||!!v(e)||e instanceof Error||!!ArrayBuffer.isView(e)||!(Yr||!Xr(e))}(t)){Object.freeze(t);for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const o=t[n];"object"!=typeof o||null==o||Object.isFrozen(o)||e(o)}Object.seal(t)}};const{isLoadable:Jr,loadableWithError:Qr,loadableWithPromise:ei,loadableWithValue:ti}=D,{WrappedValue:ni}=Or,{getNodeLoadable:oi,peekNodeLoadable:ri,setNodeValue:ii}=Qe,{saveDepsToStore:si}=Re,{DEFAULT_VALUE:ai,getConfigDeletionHandler:li,getNode:ci,registerNode:ui}=be,{isRecoilValue:di}=ae,{markRecoilValueModified:fi}=St,{retainedByOptionWithDefault:hi}=Ot,{recoilCallback:pi}=kr;class mi{}const vi=new mi,gi=[],yi=new Map,bi=(()=>{let e=0;return()=>e++})();function wi(e){let t=null;const{key:n,get:o,cachePolicy_UNSTABLE:r}=e,i=null!=e.set?e.set:void 0;if("production"!==process.env.NODE_ENV){if("string"!=typeof n)throw m("A key option with a unique string value must be provided when creating a selector.");if("function"!=typeof o)throw m("Selectors must specify a get callback option to get the selector value.")}const s=new Set,a=Wr(null!=r?r:{equality:"reference",eviction:"keep-all"},n),l=hi(e.retainedBy_UNSTABLE),c=new Map;let u=0;function d(){return!F("recoil_memory_managament_2020")||u>0}function f(e){return e.getState().knownSelectors.add(n),u++,()=>{u--}}function h(){return void 0!==li(n)&&!d()}function p(e,t,n,o,r){R(t,o,r),y(e,n)}function y(e,t){k(e,t)&&N(e),b(t,!0)}function b(e,n){const o=yi.get(e);if(null!=o){for(const e of o)fi(e,g(t));n&&yi.delete(e)}}function w(e,t){let n=yi.get(t);null==n&&yi.set(t,n=new Set),n.add(e)}function x(e,t,n,o,r,i){return t.then((o=>{if(!d())throw N(e),vi;null!=i.loadingDepKey&&i.loadingDepPromise===t?n.atomValues.set(i.loadingDepKey,ti(o)):e.getState().knownSelectors.forEach((e=>{n.atomValues.delete(e)}));const s=E(e,n);if(s&&"loading"!==s.state){if((k(e,r)||null==A(e))&&y(e,r),"hasValue"===s.state)return s.contents;throw s.contents}if(!k(e,r)){const t=V(e,n);if(null!=t)return t.loadingLoadable.contents}const[a,l]=S(e,n,r);if("loading"!==a.state&&p(e,n,r,a,l),"hasError"===a.state)throw a.contents;return a.contents})).catch((t=>{if(t instanceof mi)throw vi;if(!d())throw N(e),vi;const i=Qr(t);throw p(e,n,r,i,o),t}))}function _(e,t,o,r){var i,a,l,c,u,d,f;(k(e,r)||t.version===(null===(i=e.getState())||void 0===i||null===(a=i.currentTree)||void 0===a?void 0:a.version)||t.version===(null===(l=e.getState())||void 0===l||null===(c=l.nextTree)||void 0===c?void 0:c.version))&&si(n,o,e,null!==(u=null===(d=e.getState())||void 0===d||null===(f=d.nextTree)||void 0===f?void 0:f.version)&&void 0!==u?u:e.getState().currentTree.version);for(const e of o)s.add(e)}function S(e,n,r){let i=!0,s=!0;const a=()=>{s=!1};let l,c,u=!1;const f={loadingDepKey:null,loadingDepPromise:null},h=new Map;function y({key:t}){const o=oi(e,n,t);switch(h.set(t,o),i||(_(e,n,new Set(h.keys()),r),function(e,t){k(e,t)&&(g(A(e)).stateVersions.clear(),b(t,!1))}(e,r)),o.state){case"hasValue":return o.contents;case"hasError":throw o.contents;case"loading":throw f.loadingDepKey=t,f.loadingDepPromise=o.contents,o.contents}throw m("Invalid Loadable state")}const w=n=>(...o)=>{if(s)throw m("Callbacks from getCallback() should only be called asynchronously after the selector is evalutated. It can be used for selectors to return objects with callbacks that can work with Recoil state without a subscription.");return null==t&&("production"!==process.env.NODE_ENV?vr(!1,"Recoil Value can never be null"):vr(!1)),pi(e,n,o,{node:t})};try{l=o({get:y,getCallback:w}),l=di(l)?y(l):l,Jr(l)&&("hasError"===l.state&&(u=!0),l=l.contents),v(l)?l=function(e,t,n,o,r,i){return t.then((t=>{if(!d())throw N(e),vi;const i=ti(t);return p(e,n,r,i,o),t})).catch((t=>{if(!d())throw N(e),vi;if(v(t))return x(e,t,n,o,r,i);const s=Qr(t);throw p(e,n,r,s,o),t}))}(e,l,n,h,r,f).finally(a):a(),l=l instanceof ni?l.value:l}catch(t){l=t,v(l)?l=x(e,l,n,h,r,f).finally(a):(u=!0,a())}return c=u?Qr(l):v(l)?ei(l):ti(l),i=!1,function(e,t,n){if(k(e,t)){const t=A(e);null!=t&&(t.depValuesDiscoveredSoFarDuringAsyncWork=n)}}(e,r,h),_(e,n,new Set(h.keys()),r),[c,h]}function E(e,t){let o=t.atomValues.get(n);if(null!=o)return o;const r=new Set;try{o=a.get((n=>("string"!=typeof n&&("production"!==process.env.NODE_ENV?vr(!1,"Cache nodeKey is type string"):vr(!1)),oi(e,t,n).contents)),{onNodeVisit:e=>{"branch"===e.type&&e.nodeKey!==n&&r.add(e.nodeKey)}})}catch(e){throw m(`Problem with cache lookup for selector "${n}": ${e.message}`)}var i;o&&(t.atomValues.set(n,o),_(e,t,r,null===(i=A(e))||void 0===i?void 0:i.executionID));return o}function T(e,t){const n=E(e,t);if(null!=n)return N(e),n;const o=V(e,t);var r;if(null!=o)return"loading"===(null===(r=o.loadingLoadable)||void 0===r?void 0:r.state)&&w(e,o.executionID),o.loadingLoadable;const i=bi(),[s,a]=S(e,t,i);return"loading"===s.state?(!function(e,t,n,o,r){c.set(e,{depValuesDiscoveredSoFarDuringAsyncWork:o,executionID:t,loadingLoadable:n,stateVersions:new Map([[r.version,!0]])})}(e,i,s,a,t),w(e,i)):(N(e),R(t,s,a)),s}function V(e,t){const n=Ft([c.has(e)?[g(c.get(e))]:[],de(Ue(c,(([t])=>t!==e)),(([,e])=>e))]);function o(n){for(const[o,r]of n)if(!oi(e,t,o).is(r))return!0;return!1}for(const e of n){if(e.stateVersions.get(t.version)||!o(e.depValuesDiscoveredSoFarDuringAsyncWork))return e.stateVersions.set(t.version,!0),e;e.stateVersions.set(t.version,!1)}}function A(e){return c.get(e)}function N(e){c.delete(e)}function k(e,t){var n;return t===(null===(n=A(e))||void 0===n?void 0:n.executionID)}function R(t,o,r){"production"!==process.env.NODE_ENV&&"loading"!==o.state&&!1===Boolean(e.dangerouslyAllowMutability)&&Zr(o.contents),t.atomValues.set(n,o);try{a.set(function(e){return Array.from(e.entries()).map((([e,t])=>[e,t.contents]))}(r),o)}catch(e){throw m(`Problem with setting cache for selector "${n}": ${e.message}`)}}function C(e,t){const o=t.atomValues.get(n);return null!=o?o:a.get((n=>{var o;return"string"!=typeof n&&("production"!==process.env.NODE_ENV?vr(!1,"Cache nodeKey is type string"):vr(!1)),null===(o=ri(e,t,n))||void 0===o?void 0:o.contents}))}function I(e,t){return function(e){if(gi.includes(n)){const e=`Recoil selector has circular dependencies: ${gi.slice(gi.indexOf(n)).join(" → ")}`;return Qr(m(e))}gi.push(n);try{return e()}finally{gi.pop()}}((()=>T(e,t)))}function j(e){e.atomValues.delete(n)}function O(e,n){null==t&&("production"!==process.env.NODE_ENV?vr(!1,"Recoil Value can never be null"):vr(!1));for(const t of s){var o;const r=ci(t);null===(o=r.clearCache)||void 0===o||o.call(r,e,n)}s.clear(),j(n),a.clear(),fi(e,t)}if(null!=i){return t=ui({key:n,nodeType:"selector",peek:C,get:I,set:(e,t,o)=>{let r=!1;const s=new Map;function a({key:o}){if(r)throw m("Recoil: Async selector sets are not currently supported.");const i=oi(e,t,o);if("hasValue"===i.state)return i.contents;if("loading"===i.state){const e=`Getting value of asynchronous atom or selector "${o}" in a pending state while setting selector "${n}" is not yet supported.`;throw W(e),m(e)}throw i.contents}function l(n,o){if(r){const e="Recoil: Async selector sets are not currently supported.";throw W(e),m(e)}const i="function"==typeof o?o(a(n)):o;ii(e,t,n.key,i).forEach(((e,t)=>s.set(t,e)))}const c=i({set:l,get:a,reset:function(e){l(e,ai)}},o);if(void 0!==c)throw v(c)?m("Recoil: Async selector sets are not currently supported."):m("Recoil: selector set should be a void function.");return r=!0,s},init:f,invalidate:j,clearCache:O,shouldDeleteConfigOnRelease:h,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1,retainedBy:l})}return t=ui({key:n,nodeType:"selector",peek:C,get:I,init:f,invalidate:j,clearCache:O,shouldDeleteConfigOnRelease:h,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1,retainedBy:l})}wi.value=e=>new ni(e);var xi=wi;const{isLoadable:_i,loadableWithError:Si,loadableWithPromise:Ei,loadableWithValue:Ti}=D,{WrappedValue:Vi}=Or,{peekNodeInfo:Ai}=Qe,{DEFAULT_VALUE:Ni,DefaultValue:ki,getConfigDeletionHandler:Ri,registerNode:Ci,setConfigDeletionHandler:Ii}=be,{isRecoilValue:ji}=ae,{getRecoilValueAsLoadable:Oi,markRecoilValueModified:Li,setRecoilValue:Mi,setRecoilValueLoadable:Pi}=St,{retainedByOptionWithDefault:Di}=Ot,Bi=e=>e instanceof Vi?e.value:e;function zi(e){const{key:t,persistence_UNSTABLE:n}=e,o=Di(e.retainedBy_UNSTABLE);let r=0;function i(e){return Ei(e.then((e=>(a=Ti(e),e))).catch((e=>{throw a=Si(e),e})))}let s,a=v(e.default)?i(e.default):_i(e.default)?"loading"===e.default.state?i(e.default.contents):e.default:Ti(Bi(e.default));c(a.contents);const l=new Map;function c(t){return"production"!==process.env.NODE_ENV&&!0!==e.dangerouslyAllowMutability?v(t)?t.then((e=>(Zr(e),e))):(Zr(t),t):t}function u(e,n){var o,r;return null!==(o=null!==(r=n.atomValues.get(t))&&void 0!==r?r:s)&&void 0!==o?o:a}const d=Ci({key:t,nodeType:"atom",peek:u,get:function(e,o){if(o.atomValues.has(t))return g(o.atomValues.get(t));if(o.nonvalidatedAtoms.has(t)){if(null!=s)return s;if(null==n)return ue(`Tried to restore a persisted value for atom ${t} but it has no persistence settings.`),a;const e=o.nonvalidatedAtoms.get(t),r=n.validator(e,Ni),i=r instanceof ki?a:Ti(r);return s=i,s}return a},set:function(e,n,o){if(n.atomValues.has(t)){const e=g(n.atomValues.get(t));if("hasValue"===e.state&&o===e.contents)return new Map}else if(!n.nonvalidatedAtoms.has(t)&&o instanceof ki)return new Map;return c(o),s=void 0,(new Map).set(t,Ti(o))},init:function(n,o,i){var s;if(r++,n.getState().knownAtoms.add(t),"loading"===a.state){const g=()=>{var e;(null!==(e=n.getState().nextTree)&&void 0!==e?e:n.getState().currentTree).atomValues.has(t)||Li(n,d)};a.contents.finally(g)}const f=null!==(s=e.effects)&&void 0!==s?s:e.effects_UNSTABLE;if(null!=f){let y=Ni,b=!0,w=!1,x=null;function _(e){if(b&&e.key===t){const e=y;return e instanceof ki?u(n,o):v(e)?Ei(e.then((e=>e instanceof ki?a.toPromise():e))):Ti(e)}return Oi(n,e)}function S(e){return _(e).toPromise()}function E(e){var o;const r=Ai(n,null!==(o=n.getState().nextTree)&&void 0!==o?o:n.getState().currentTree,e.key);return!b||e.key!==t||y instanceof ki?r:{...r,isSet:!0,loadable:_(e)}}const T=e=>t=>{if(b){const n=_(d),o="hasValue"===n.state?n.contents:Ni;y="function"==typeof t?t(o):t,v(y)&&(y=y.then((t=>(x={effect:e,value:t},t))))}else{if(v(t))throw m("Setting atoms to async values is not implemented.");"function"!=typeof t&&(x={effect:e,value:Bi(t)}),Mi(n,d,"function"==typeof t?n=>{const o=Bi(t(n));return x={effect:e,value:o},o}:Bi(t))}},V=e=>()=>T(e)(Ni),A=e=>o=>{var r;const{release:i}=n.subscribeToTransactions((n=>{var r;let{currentTree:i,previousTree:s}=n.getState();s||(W("Transaction subscribers notified without a next tree being present -- this is a bug in Recoil"),s=i);const l=null!==(r=i.atomValues.get(t))&&void 0!==r?r:a;if("hasValue"===l.state){var c,u,d,f;const n=l.contents,r=null!==(c=s.atomValues.get(t))&&void 0!==c?c:a,h="hasValue"===r.state?r.contents:Ni;(null===(u=x)||void 0===u?void 0:u.effect)!==e||(null===(d=x)||void 0===d?void 0:d.value)!==n?o(n,h,!i.atomValues.has(t)):(null===(f=x)||void 0===f?void 0:f.effect)===e&&(x=null)}}),t);l.set(n,[...null!==(r=l.get(n))&&void 0!==r?r:[],i])};for(const N of f)try{const k=N({node:d,storeID:n.storeID,parentStoreID_UNSTABLE:n.parentStoreID,trigger:i,setSelf:T(N),resetSelf:V(N),onSet:A(N),getPromise:S,getLoadable:_,getInfo_UNSTABLE:E});var h;if(null!=k)l.set(n,[...null!==(h=l.get(n))&&void 0!==h?h:[],k])}catch(R){y=R,w=!0}if(b=!1,!(y instanceof ki)){var p;const C=w?Si(y):v(y)?Ei(function(e,n){const o=n.then((n=>{var r,i;return(null===(i=(null!==(r=e.getState().nextTree)&&void 0!==r?r:e.getState().currentTree).atomValues.get(t))||void 0===i?void 0:i.contents)===o&&Mi(e,d,n),n})).catch((n=>{var r,i;throw(null===(i=(null!==(r=e.getState().nextTree)&&void 0!==r?r:e.getState().currentTree).atomValues.get(t))||void 0===i?void 0:i.contents)===o&&Pi(e,d,Si(n)),n}));return o}(n,y)):Ti(Bi(y));c(C.contents),o.atomValues.set(t,C),null===(p=n.getState().nextTree)||void 0===p||p.atomValues.set(t,C)}}return()=>{var e;r--,null===(e=l.get(n))||void 0===e||e.forEach((e=>e())),l.delete(n)}},invalidate:function(){s=void 0},shouldDeleteConfigOnRelease:function(){return void 0!==Ri(t)&&r<=0},dangerouslyAllowMutability:e.dangerouslyAllowMutability,persistence_UNSTABLE:e.persistence_UNSTABLE?{type:e.persistence_UNSTABLE.type,backButton:e.persistence_UNSTABLE.backButton}:void 0,shouldRestoreFromSnapshots:!0,retainedBy:o});return d}function Ui(e){if("production"!==process.env.NODE_ENV&&"string"!=typeof e.key)throw m("A key option with a unique string value must be provided when creating an atom.");const{...t}=e,n="default"in e?e.default:new Promise((()=>{}));return ji(n)?function(e){const t=Ui({...e,default:Ni,persistence_UNSTABLE:void 0===e.persistence_UNSTABLE?void 0:{...e.persistence_UNSTABLE,validator:t=>t instanceof ki?t:g(e.persistence_UNSTABLE).validator(t,Ni)},effects:e.effects,effects_UNSTABLE:e.effects_UNSTABLE}),n=xi({key:`${e.key}__withFallback`,get:({get:n})=>{const o=n(t);return o instanceof ki?e.default:o},set:({set:e},n)=>e(t,n),cachePolicy_UNSTABLE:{eviction:"most-recent"},dangerouslyAllowMutability:e.dangerouslyAllowMutability});return Ii(n.key,Ri(e.key)),n}({...t,default:n}):zi({...t,default:n})}Ui.value=e=>new Vi(e);var Hi=Ui;var Fi=class{constructor(e){var t;y(this,"_map",void 0),y(this,"_keyMapper",void 0),this._map=new Map,this._keyMapper=null!==(t=null==e?void 0:e.mapKey)&&void 0!==t?t:e=>e}size(){return this._map.size}has(e){return this._map.has(this._keyMapper(e))}get(e){return this._map.get(this._keyMapper(e))}set(e,t){this._map.set(this._keyMapper(e),t)}delete(e){this._map.delete(this._keyMapper(e))}clear(){this._map.clear()}},$i=Object.freeze({__proto__:null,MapCache:Fi});const{LRUCache:Ki}=Br,{MapCache:Gi}=$i,Wi={equality:"reference",eviction:"none",maxSize:1/0};var qi=function({equality:e=Wi.equality,eviction:t=Wi.eviction,maxSize:n=Wi.maxSize}=Wi){const o=function(e){switch(e){case"reference":return e=>e;case"value":return e=>$r(e)}throw m(`Unrecognized equality policy ${e}`)}(e);return function(e,t,n){switch(e){case"keep-all":return new Gi({mapKey:n});case"lru":return new Ki({mapKey:n,maxSize:g(t)});case"most-recent":return new Ki({mapKey:n,maxSize:1})}throw m(`Unrecognized eviction policy ${e}`)}(t,n,o)};const{setConfigDeletionHandler:Yi}=be;var Xi=function(e){var t,n;const o=qi({equality:null!==(t=null===(n=e.cachePolicyForParams_UNSTABLE)||void 0===n?void 0:n.equality)&&void 0!==t?t:"value",eviction:"keep-all"});return t=>{var n,r;const i=o.get(t);if(null!=i)return i;const{cachePolicyForParams_UNSTABLE:s,...a}=e,l="default"in e?e.default:new Promise((()=>{})),c=Hi({...a,key:`${e.key}__${null!==(n=$r(t))&&void 0!==n?n:"void"}`,default:"function"==typeof l?l(t):l,retainedBy_UNSTABLE:"function"==typeof e.retainedBy_UNSTABLE?e.retainedBy_UNSTABLE(t):e.retainedBy_UNSTABLE,effects:"function"==typeof e.effects?e.effects(t):"function"==typeof e.effects_UNSTABLE?e.effects_UNSTABLE(t):null!==(r=e.effects)&&void 0!==r?r:e.effects_UNSTABLE});return o.set(t,c),Yi(c.key,(()=>{o.delete(t)})),c}};const{setConfigDeletionHandler:Zi}=be;let Ji=0;var Qi=function(e){var t,n;const o=qi({equality:null!==(t=null===(n=e.cachePolicyForParams_UNSTABLE)||void 0===n?void 0:n.equality)&&void 0!==t?t:"value",eviction:"keep-all"});return t=>{var n;let r;try{r=o.get(t)}catch(t){throw m(`Problem with cache lookup for selector ${e.key}: ${t.message}`)}if(null!=r)return r;const i=`${e.key}__selectorFamily/${null!==(n=$r(t,{allowFunctions:!0}))&&void 0!==n?n:"void"}/${Ji++}`,s=n=>e.get(t)(n),a=e.cachePolicy_UNSTABLE,l="function"==typeof e.retainedBy_UNSTABLE?e.retainedBy_UNSTABLE(t):e.retainedBy_UNSTABLE;let c;if(null!=e.set){const n=e.set;c=xi({key:i,get:s,set:(e,o)=>n(t)(e,o),cachePolicy_UNSTABLE:a,dangerouslyAllowMutability:e.dangerouslyAllowMutability,retainedBy_UNSTABLE:l})}else c=xi({key:i,get:s,cachePolicy_UNSTABLE:a,dangerouslyAllowMutability:e.dangerouslyAllowMutability,retainedBy_UNSTABLE:l});return o.set(t,c),Zi(c.key,(()=>{o.delete(t)})),c}};Qi({key:"__constant",get:e=>()=>e,cachePolicyForParams_UNSTABLE:{equality:"reference"}}),Qi({key:"__error",get:e=>()=>{throw m(e)},cachePolicyForParams_UNSTABLE:{equality:"reference"}});const{loadableWithError:es,loadableWithPromise:ts,loadableWithValue:ns}=D;function os(e,t){const n=Array(t.length).fill(void 0),o=Array(t.length).fill(void 0);for(const[r,i]of t.entries())try{n[r]=e(i)}catch(e){o[r]=e}return[n,o]}function rs(e){return null!=e&&!v(e)}function is(e){return Array.isArray(e)?e:Object.getOwnPropertyNames(e).map((t=>e[t]))}function ss(e,t){return Array.isArray(e)?t:Object.getOwnPropertyNames(e).reduce(((e,n,o)=>({...e,[n]:t[o]})),{})}function as(e,t,n){return ss(e,n.map(((e,n)=>null==e?ns(t[n]):v(e)?ts(e):es(e))))}Qi({key:"__waitForNone",get:e=>({get:t})=>{const n=is(e),[o,r]=os(t,n);return as(e,o,r)},dangerouslyAllowMutability:!0}),Qi({key:"__waitForAny",get:e=>({get:t})=>{const n=is(e),[o,r]=os(t,n);return r.some((e=>!v(e)))?as(e,o,r):new Promise((t=>{for(const[n,i]of r.entries())v(i)&&i.then((i=>{o[n]=i,r[n]=void 0,t(as(e,o,r))})).catch((i=>{r[n]=i,t(as(e,o,r))}))}))},dangerouslyAllowMutability:!0}),Qi({key:"__waitForAll",get:e=>({get:t})=>{const n=is(e),[o,r]=os(t,n);if(r.every((e=>null==e)))return ss(e,o);const i=r.find(rs);if(null!=i)throw i;return Promise.all(r).then((t=>{return ss(e,(n=o,t.map(((e,t)=>void 0===e?n[t]:e))));var n}))},dangerouslyAllowMutability:!0}),Qi({key:"__waitForAllSettled",get:e=>({get:t})=>{const n=is(e),[o,r]=os(t,n);return r.every((e=>!v(e)))?as(e,o,r):Promise.all(r.map(((e,t)=>v(e)?e.then((e=>{o[t]=e,r[t]=void 0})).catch((e=>{o[t]=void 0,r[t]=e})):null))).then((()=>as(e,o,r)))},dangerouslyAllowMutability:!0}),Qi({key:"__noWait",get:e=>({get:t})=>{try{return xi.value(ns(t(e)))}catch(e){return xi.value(v(e)?ts(e):es(e))}},dangerouslyAllowMutability:!0});const{RecoilLoadable:ls}=D,{RecoilRoot:cs}=so,{isRecoilValue:us}=ae,{freshSnapshot:ds}=Sn,{useRecoilState:fs,useRecoilValue:hs,useRecoilValueLoadable:ps,useSetRecoilState:ms}=Ko,{useRecoilCallback:vs}=kr;var gs={RecoilRoot:cs,atom:Hi,selector:xi,atomFamily:Xi,useRecoilValue:hs,useRecoilValueLoadable:ps,useRecoilState:fs,useSetRecoilState:ms,useRecoilCallback:vs},ys=gs.RecoilRoot,bs=gs.atom,ws=gs.selector,xs=gs.atomFamily,_s=gs.useRecoilValue,Ss=gs.useRecoilValueLoadable,Es=gs.useRecoilState,Ts=gs.useSetRecoilState,Vs=gs.useRecoilCallback;function As(e){var t;return null!=e&&null!=(null===(t=null==e?void 0:e.node)||void 0===t?void 0:t.id)}const Ns=bs({key:"contextMenuActive",default:void 0}),ks=bs({key:"contextMenuPosition",default:void 0}),Rs=bs({key:"contextMenuTarget",default:void 0}),Cs=bs({key:"contextMenuItem",default:void 0}),Is=bs({key:"contextMenuActions",default:[]}),js=ws({key:"contextMenuActivePosition",get:({get:e})=>null!=e(Ns)?e(ks):void 0});var Os={exports:{}};const Ls=i;Os.exports=Fs;const Ms=function(){function e(e){return void 0!==e&&e}try{return"undefined"!=typeof globalThis||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch(t){return e(self)||e(window)||e(this)||{}}}().console||{},Ps={mapHttpRequest:Ys,mapHttpResponse:Ys,wrapRequestSerializer:Xs,wrapResponseSerializer:Xs,wrapErrorSerializer:Xs,req:Ys,res:Ys,err:Ws,errWithCause:Ws};function Ds(e,t){return"silent"===e?1/0:t.levels.values[e]}const Bs=Symbol("pino.logFuncs"),zs=Symbol("pino.hierarchy"),Us={error:"log",fatal:"error",warn:"error",info:"log",debug:"log",trace:"log"};function Hs(e,t){const n={logger:t,parent:e[zs]};t[zs]=n}function Fs(e){(e=e||{}).browser=e.browser||{};const t=e.browser.transmit;if(t&&"function"!=typeof t.send)throw Error("pino: transmit option must have a send function");const n=e.browser.write||Ms;e.browser.write&&(e.browser.asObject=!0);const o=e.serializers||{},r=function(e,t){if(Array.isArray(e))return e.filter((function(e){return"!stdSerializers.err"!==e}));return!0===e&&Object.keys(t)}(e.browser.serialize,o);let i=e.browser.serialize;Array.isArray(e.browser.serialize)&&e.browser.serialize.indexOf("!stdSerializers.err")>-1&&(i=!1);const s=Object.keys(e.customLevels||{}),a=["error","fatal","warn","info","debug","trace"].concat(s);"function"==typeof n&&a.forEach((function(e){n[e]=n})),(!1===e.enabled||e.browser.disabled)&&(e.level="silent");const l=e.level||"info",c=Object.create(n);c.log||(c.log=Zs),function(e,t,n){const o={};t.forEach((e=>{o[e]=n[e]?n[e]:Ms[e]||Ms[Us[e]||"log"]||Zs})),e[Bs]=o}(c,a,n),Hs({},c),Object.defineProperty(c,"levelVal",{get:function(){return Ds(this.level,this)}}),Object.defineProperty(c,"level",{get:function(){return this._level},set:function(e){if("silent"!==e&&!this.levels.values[e])throw Error("unknown level "+e);this._level=e,$s(this,u,c,"error"),$s(this,u,c,"fatal"),$s(this,u,c,"warn"),$s(this,u,c,"info"),$s(this,u,c,"debug"),$s(this,u,c,"trace"),s.forEach((e=>{$s(this,u,c,e)}))}});const u={transmit:t,serialize:r,asObject:e.browser.asObject,formatters:e.browser.formatters,levels:a,timestamp:qs(e),messageKey:e.messageKey||"msg",onChild:e.onChild||Zs};function d(n,i,s){if(!i)throw new Error("missing bindings for child Pino");s=s||{},r&&i.serializers&&(s.serializers=i.serializers);const a=s.serializers;if(r&&a){var l=Object.assign({},o,a),c=!0===e.browser.serialize?Object.keys(l):r;delete i.serializers,Ks([i],c,l,this._stdErrSerialize)}function u(e){this._childLevel=1+(0|e._childLevel),this.bindings=i,l&&(this.serializers=l,this._serialize=c),t&&(this._logEvent=Gs([].concat(e._logEvent.bindings,i)))}u.prototype=this;const f=new u(this);return Hs(this,f),f.child=function(...e){return d.call(this,n,...e)},f.level=s.level||this.level,n.onChild(f),f}return c.levels=function(e){const t=e.customLevels||{},n=Object.assign({},Fs.levels.values,t),o=Object.assign({},Fs.levels.labels,function(e){const t={};return Object.keys(e).forEach((function(n){t[e[n]]=n})),t}(t));return{values:n,labels:o}}(e),c.level=l,c.setMaxListeners=c.getMaxListeners=c.emit=c.addListener=c.on=c.prependListener=c.once=c.prependOnceListener=c.removeListener=c.removeAllListeners=c.listeners=c.listenerCount=c.eventNames=c.write=c.flush=Zs,c.serializers=o,c._serialize=r,c._stdErrSerialize=i,c.child=function(...e){return d.call(this,u,...e)},t&&(c._logEvent=Gs()),c}function $s(e,t,n,o){if(Object.defineProperty(e,o,{value:Ds(e.level,n)>Ds(o,n)?Zs:n[Bs][o],writable:!0,enumerable:!0,configurable:!0}),e[o]===Zs){if(!t.transmit)return;const r=Ds(t.transmit.level||e.level,n);if(Ds(o,n)<r)return}e[o]=function(e,t,n,o){return r=e[Bs][o],function(){const i=t.timestamp(),s=new Array(arguments.length),a=Object.getPrototypeOf&&Object.getPrototypeOf(this)===Ms?Ms:this;for(var l=0;l<s.length;l++)s[l]=arguments[l];var c=!1;if(t.serialize&&(Ks(s,this._serialize,this.serializers,this._stdErrSerialize),c=!0),t.asObject||t.formatters?r.call(a,function(e,t,n,o,r){const{level:i,log:s=e=>e}=r.formatters||{},a=n.slice();let l=a[0];const c={};if(o&&(c.time=o),i){const n=i(t,e.levels.values[t]);Object.assign(c,n)}else c.level=e.levels.values[t];let u=1+(0|e._childLevel);if(u<1&&(u=1),null!==l&&"object"==typeof l){for(;u--&&"object"==typeof a[0];)Object.assign(c,a.shift());l=a.length?Ls(a.shift(),a):void 0}else"string"==typeof l&&(l=Ls(a.shift(),a));return void 0!==l&&(c[r.messageKey]=l),s(c)}(this,o,s,i,t)):r.apply(a,s),t.transmit){const r=Ds(t.transmit.level||e._level,n),a=Ds(o,n);if(a<r)return;!function(e,t,n,o=!1){const r=t.send,i=t.ts,s=t.methodLevel,a=t.methodValue,l=t.val,c=e._logEvent.bindings;o||Ks(n,e._serialize||Object.keys(e.serializers),e.serializers,void 0===e._stdErrSerialize||e._stdErrSerialize),e._logEvent.ts=i,e._logEvent.messages=n.filter((function(e){return-1===c.indexOf(e)})),e._logEvent.level.label=s,e._logEvent.level.value=a,r(s,e._logEvent,l),e._logEvent=Gs(c)}(this,{ts:i,methodLevel:o,methodValue:a,transmitValue:n.levels.values[t.transmit.level||e._level],send:t.transmit.send,val:Ds(e._level,n)},s,c)}};var r}(e,t,n,o);const r=function(e){const t=[];e.bindings&&t.push(e.bindings);let n=e[zs];for(;n.parent;)n=n.parent,n.logger.bindings&&t.push(n.logger.bindings);return t.reverse()}(e);0!==r.length&&(e[o]=function(e,t){return function(){return t.apply(this,[...e,...arguments])}}(r,e[o]))}function Ks(e,t,n,o){for(const r in e)if(o&&e[r]instanceof Error)e[r]=Fs.stdSerializers.err(e[r]);else if("object"==typeof e[r]&&!Array.isArray(e[r])&&t)for(const o in e[r])t.indexOf(o)>-1&&o in n&&(e[r][o]=n[o](e[r][o]))}function Gs(e){return{ts:0,messages:[],bindings:e||[],level:{label:"",value:0}}}function Ws(e){const t={type:e.constructor.name,msg:e.message,stack:e.stack};for(const n in e)void 0===t[n]&&(t[n]=e[n]);return t}function qs(e){return"function"==typeof e.timestamp?e.timestamp:!1===e.timestamp?Js:Qs}function Ys(){return{}}function Xs(e){return e}function Zs(){}function Js(){return!1}function Qs(){return Date.now()}Fs.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},Fs.stdSerializers=Ps,Fs.stdTimeFunctions=Object.assign({},{nullTime:Js,epochTime:Qs,unixTime:function(){return Math.round(Date.now()/1e3)},isoTime:function(){return new Date(Date.now()).toISOString()}}),Os.exports.default=Fs,Os.exports.pino=Fs;const ea=(0,Os.exports)({formatters:{level:e=>({level:e})}}),ta=(e,t)=>{null!=t?ea.error(t,e):ea.error(e)},na=(e,t)=>{null!=t?ea.debug(t,e):ea.debug(e)};class oa{}function ra(e,t=[]){return Vs((t=>{return e(Object.assign(Object.assign({},t),{snapshot:Object.defineProperties(t.snapshot,{getPromiseRequired:{configurable:!0,value:(n=t.snapshot,async(e,t)=>{const o=await n.getPromise(e);if(null==o)throw null!=t?t:new Error(`No value present for required value ${e.key}`);return o})},tryGetPromise:{configurable:!0,value:sa(t.snapshot)}})}));var n}),t instanceof oa?void 0:t)}function ia(t){return n=>{var{snapshot:o}=n,r=e.__rest(n,["snapshot"]);return async(...e)=>{const n=o.retain();try{return await t(Object.assign(Object.assign({},r),{snapshot:o}))(...e)}finally{n()}}}}function sa(e){return async t=>{try{return{value:await e.getPromise(t)}}catch(e){return na(`Error encountered retrieving Recoil value. [key={${t.key}}]`,e),{error:e}}}}var aa,la=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/,ca=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(.+)\s*\)/,ua=/^(#|0x)?([A-Fa-f0-9]{6})$/,da=function(e,t,n,o){return void 0===o&&(o=255),{r:e,g:t,b:n,a:o}},fa=function(e){var t=16777215&e;return da(t>>16&255,t>>8&255,255&t)},ha=function(e){var t=ua.exec(e);if(null!=t)return fa(parseInt(t[2],16))},pa=function(e){var t=e.toString(16);return 1===t.length?"0"+t:t},ma=Object.freeze({__proto__:null,create:da,fromNumber:fa,fromHexString:ha,fromCss:function(e){var t=la.exec(e);if(null!=t)return da(parseInt(t[1]),parseInt(t[2]),parseInt(t[3]));var n=ca.exec(e);return null!=n?da(parseInt(n[1]),parseInt(n[2]),parseInt(n[3]),Math.floor(255*parseFloat(n[4]))):ua.test(e)?ha(e):void 0},fromArray:function(e){return da(e[0],e[1],e[2],e[3])},isInvisible:function(e){return 0===e.a},isOpaque:function(e){return 255===e.a},toHexString:function(e){return"#".concat(pa(e.r)).concat(pa(e.g)).concat(pa(e.b))}});!function(t){function n(e){var o=t.call(this,"Validation error mapping object.")||this;return o.errors=e,Object.setPrototypeOf(o,n.prototype),o}e.__extends(n,t)}(Error);var va=new Uint8Array(16);function ga(){if(!aa&&!(aa="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return aa(va)}var ya=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var ba=[],wa=0;wa<256;++wa)ba.push((wa+256).toString(16).substr(1));function xa(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(ba[e[t+0]]+ba[e[t+1]]+ba[e[t+2]]+ba[e[t+3]]+"-"+ba[e[t+4]]+ba[e[t+5]]+"-"+ba[e[t+6]]+ba[e[t+7]]+"-"+ba[e[t+8]]+ba[e[t+9]]+"-"+ba[e[t+10]]+ba[e[t+11]]+ba[e[t+12]]+ba[e[t+13]]+ba[e[t+14]]+ba[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&ya.test(e)}(n))throw TypeError("Stringified UUID is invalid");return n}function _a(e,t,n){var o=(e=e||{}).random||(e.rng||ga)();return o[6]=15&o[6]|64,o[8]=63&o[8]|128,xa(o)}var Sa=Object.freeze({__proto__:null,create:function(){return _a()},fromMsbLsb:function(e,t){function n(e,t){var n=BigInt(1)<<t*BigInt(4);return(n|e&n-BigInt(1)).toString(16).substring(1)}var o="string"==typeof e?BigInt(e):e,r="string"==typeof t?BigInt(t):t,i=n(o>>BigInt(32),BigInt(8)),s=n(o>>BigInt(16),BigInt(4)),a=n(o,BigInt(4)),l=n(r>>BigInt(48),BigInt(4)),c=n(r,BigInt(12));return"".concat(i,"-").concat(s,"-").concat(a,"-").concat(l,"-").concat(c)},toMsbLsb:function(t){var n=e.__read(t.split("-"),5),o=n[0],r=n[1],i=n[2],s=n[3],a=n[4];if(null==o||null==r||null==i||null==s||null==a)throw new Error("Invalid UUID string ".concat(t));var l=BigInt.asIntN(64,BigInt("0x".concat(o+r+i))),c=BigInt.asIntN(64,BigInt("0x".concat(s+a)));return{msb:l.toString(),lsb:c.toString()}}});const Ea=bs({key:"viewerToolkitViewerElement",default:void 0,dangerouslyAllowMutability:!0}),Ta=bs({key:"viewerInitialSceneReady",default:!1}),Va=bs({key:"viewerBaseInteractionHandlerProvider",default:Promise.resolve(void 0),dangerouslyAllowMutability:!0}),Aa=bs({key:"viewerPrimaryInteractionType",default:"rotate"}),Na=ws({key:"viewerScene",get:({get:e})=>async()=>{var t;return null===(t=e(Ea))||void 0===t?void 0:t.scene()},dangerouslyAllowMutability:!0}),ka=bs({key:"viewerFrameScene",default:void 0,dangerouslyAllowMutability:!0}),Ra=ws({key:"viewerSceneVisibleBoundingBox",get:({get:e})=>{var t;return null===(t=e(ka))||void 0===t?void 0:t.boundingBox}});function Ca(){const e=ra((({snapshot:e})=>async(t,n,...o)=>{const r=await e.getPromise(Na),i=await r();o.length>0&&await(null==i?void 0:i.items((e=>o.map((t=>t(e))))).execute({suppliedCorrelationId:n}))})),t=o.useCallback(((...e)=>t=>t.where((t=>t.withItemIds(e))).select()),[]),n=o.useCallback(((...e)=>t=>t.where((t=>t.withItemIds(e))).deselect()),[]),r=o.useCallback((e=>e.where((e=>e.all())).deselect()),[]);return{executeWithCorrelationId:e,execute:ra((()=>async(t,...n)=>{const o=Sa.create();await e(t,o,...n)})),selectItemsTransform:t,deselectItemsTransform:n,clearSelectionTransform:r,reset:ra((({snapshot:e})=>async t=>{const n=await e.getPromiseRequired(Na),o=await n(),r=await e.getPromiseRequired(ja);null==o||o.reset({includeCamera:!0,suppliedCorrelationId:t,cameraTypeOverride:r})}))}}function Ia(){return{flyToById:ra((({snapshot:e})=>async(t,n)=>{const o=await e.getPromise(Na),r=await o();await(null==r?void 0:r.camera().flyTo({itemId:t}).render({animation:{milliseconds:null!=n?n:500}}))})),flyToByBoundingBox:ra((({snapshot:e})=>async(t,n)=>{const o=await e.getPromise(Na),r=await o();await(null==r?void 0:r.camera().flyTo({boundingBox:t}).render({animation:{milliseconds:null!=n?n:500}}))})),updateCameraType:ra((({set:e})=>t=>{e(ja,t)}))}}const ja=bs({key:"viewerCameraType",default:"perspective"});const Oa=(e,t=0)=>({normal:e,offset:t}),La=e=>Oa(s.Vector3.left(),-e),Ma=e=>Oa(s.Vector3.down(),-e),Pa=e=>Oa(s.Vector3.forward(),-e),Da={x:s.Vector3.left(),y:s.Vector3.down(),z:s.Vector3.forward()},Ba=e=>e.x,za=e=>e.y||s.Vector3.create(e.x.z,e.x.x,e.x.y),Ua=e=>e.z||s.Vector3.create(e.x.y,e.x.z,e.x.x),Ha=e=>s.Vector3.dot(s.Vector3.create(-1,-1,-1),e.normal)>0,Fa=(e,t)=>((e,t)=>s.Vector3.dot(e,t.normal)<0?$a(t):t)(e.viewVector,t),$a=e=>Object.assign(Object.assign({},e),{normal:s.Vector3.multiply(e.normal,s.Vector3.create(-1,-1,-1)),offset:-e.offset}),Ka=(e,t,n,o,r)=>{const i=n.viewAll(),a=((e,t)=>{switch(e){case"x":return Ba(t);case"y":return za(t);case"z":return Ua(t)}})(e,t),l=null!=o&&null!=a?Oa(a,s.Vector3.dot(a,r||s.BoundingBox.center(o))):((e,t)=>{switch(e){case"x":return La(t);case"y":return Ma(t);case"z":return Pa(t)}})(e,i.lookAt[e]);return Fa(n,l)};const Ga={default:5,min:0,max:10},Wa=bs({key:"crossSectioningEnabled",default:!1}),qa=bs({key:"crossSectioningHighlightColor",default:void 0}),Ya=bs({key:"crossSectioningBorderWidth",default:void 0}),Xa=bs({key:"crossSectioningPlanes",default:[]}),Za=bs({key:"crossSectioningAlignment",default:{mode:"global",hitPending:!1}}),Ja=ws({key:"crossSectioningTargetBoundingBox",get:async({get:e})=>e(Ra)}),Qa=bs({key:"crossSectioningIsInteractive",default:!1}),el=bs({key:"crossSectioningActiveAxis",default:"x"}),tl=bs({key:"crossSectioningAvailableAxes",default:Da}),nl=ws({key:"crossSectioningOffsetScalar",get:({get:e})=>{const t=e(Xa);return t.length>0&&Ha(t[0])?-1:1}}),ol=ws({key:"crossSectioningSliderRange",get:({get:e})=>{const t=e(Xa),n=e(Ja),o=null!=n?(r=n,[s.Vector3.create(r.min.x,r.min.y,r.min.z),s.Vector3.create(r.min.x,r.min.y,r.max.z),s.Vector3.create(r.min.x,r.max.y,r.min.z),s.Vector3.create(r.min.x,r.max.y,r.max.z),s.Vector3.create(r.max.x,r.max.y,r.max.z),s.Vector3.create(r.max.x,r.max.y,r.min.z),s.Vector3.create(r.max.x,r.min.y,r.max.z),s.Vector3.create(r.max.x,r.min.y,r.min.z)]):[];var r;if(t.length>0){const e=o.map((e=>s.Vector3.dot(e,Ha(t[0])?s.Vector3.multiply(t[0].normal,s.Vector3.create(-1,-1,-1)):t[0].normal)));return{default:t[0].offset,min:Math.min(...e)-2,max:Math.max(...e)+2}}return Ga}}),rl=ws({key:"crossSectioningPlaneDisplayOffset",get:({get:e})=>{const t=e(Xa),n=e(nl),o=e(ol);return t.length>0?t[0].offset*n:o.default}}),il=bs({key:"crossSectioningAdditionalToolsOpen",default:!1}),sl=bs({key:"crossSectioningAlignmentToolsOpen",default:!1}),al=bs({key:"crossSectioningAxisToolsOpen",default:!1}),ll=bs({key:"crossSectioningInteractionHandler",default:new class{constructor(){this.interactionStarted=!1}initialize(e,t){this.api=t}dispose(){this.endInteraction()}async beginInteraction(){var e;this.interactionStarted||(await(null===(e=this.api)||void 0===e?void 0:e.beginInteraction()),this.interactionStarted=!0)}async endInteraction(){var e;await(null===(e=this.api)||void 0===e?void 0:e.endInteraction()),this.interactionStarted=!1}},dangerouslyAllowMutability:!0});const cl=bs({key:"hitResultsTapDetails",default:void 0}),ul=bs({key:"hitResultsLongPressDetails",default:void 0}),dl=bs({key:"previousHitResult",default:void 0}),fl=bs({key:"currentHitResult",default:void 0}),hl=ws({key:"hitResult",get:async({get:e})=>{var t,n,o,r,i,a,l,c;const u=e(cl),d=e(ul),f=null!=u?u:d,h=e(Na),p=await h(),m=null==p?void 0:p.sceneViewId,v=null==p?void 0:p.raycaster();if(null!=f&&null!=v&&null!=m){const e=await v.hitItems(f.position),u=((null==e?void 0:e.hits)||[])[0];if(null!=u)return{id:null===(t=u.itemId)||void 0===t?void 0:t.hex,normal:s.Vector3.create((null===(n=null==u?void 0:u.hitNormal)||void 0===n?void 0:n.x)||0,(null===(o=null==u?void 0:u.hitNormal)||void 0===o?void 0:o.y)||0,(null===(r=null==u?void 0:u.hitNormal)||void 0===r?void 0:r.z)||0),position:s.Vector3.create((null===(i=null==u?void 0:u.hitPoint)||void 0===i?void 0:i.x)||0,(null===(a=null==u?void 0:u.hitPoint)||void 0===a?void 0:a.y)||0,(null===(l=null==u?void 0:u.hitPoint)||void 0===l?void 0:l.z)||0),meta:f.metaKey||f.ctrlKey||!1,metadata:[],ancestors:(null===(c=null==u?void 0:u.ancestors)||void 0===c?void 0:c.filter((e=>{var t;return null!=(null===(t=e.itemId)||void 0===t?void 0:t.hex)})).map((e=>{var t;return null===(t=e.itemId)||void 0===t?void 0:t.hex})))||[]}}}}),pl=bs({key:"hitResultsSkipNextTap",default:!1});function ml(){const e=ra((({snapshot:e})=>async()=>{const t=await e.getPromise(Ya),n=await e.getPromise(qa),o=await e.getPromise(Xa),r=await e.getPromise(Na),i=await r();await(null==i?void 0:i.crossSectioning().update({sectionPlanes:o,highlightColor:n?ma.fromHexString(n):void 0,lineWidth:t}))})),t=ra((({set:t,reset:n,snapshot:o})=>async()=>{const r=await o.getPromise(Na),i=await r();if(null!=i){const o=i.camera().viewAll();n(tl),t(Xa,[Fa(i.camera(),La(o.lookAt.x))]),e()}})),n=ra(ia((({snapshot:t,set:n})=>async()=>{const o=await t.tryGetPromise(hl).then((e=>e.value)),r=await t.getPromise(Na),i=await r();if(null!=o&&null!=i){const t=((e,t)=>{const n=s.Vector3.normalize(e.normal),o=s.Vector3.dot(n,e.position);return Fa(t,Oa(n,o))})(o,i.camera());n(Xa,null!=t?[t]:[]),n(tl,null!=t?{x:t.normal}:Da),e()}}))),o=ra((({set:e,snapshot:n})=>async()=>{const o=await n.getPromise(Xa);await n.getPromise(Wa)||(e(Wa,!0),0===o.length&&await t())})),r=ra((({reset:t,snapshot:n})=>async()=>{await n.getPromise(Wa)&&(t(Wa),t(il),t(sl),t(al),t(Xa),t(Za),t(el),await e())}));return{enable:o,disable:r,openAdditionalTools:ra((({set:e,snapshot:t})=>async()=>{await t.getPromise(Wa)||o(),e(il,!0)})),closeAdditionalTools:ra((({reset:e})=>async()=>{e(il)})),openAlignmentTools:ra((({set:e,reset:t})=>async()=>{t(al),e(sl,!0)})),closeAlignmentTools:ra((({reset:e})=>async()=>{e(sl)})),openAxisTools:ra((({set:e,reset:t})=>async()=>{t(sl),e(al,!0)})),closeAxisTools:ra((({reset:e})=>async()=>{e(al)})),beginInteraction:ra((({set:e,snapshot:t})=>async()=>{const n=await t.getPromise(ll);e(Qa,!0),await n.beginInteraction()})),endInteraction:ra((({reset:e,snapshot:t})=>async()=>{const n=await t.getPromise(ll);e(Qa),await n.endInteraction()})),updatePlanes:ra(ia((({set:t,snapshot:n})=>async o=>{const r=await n.getPromise(Xa);if(r.length>0){const i=await n.getPromise(nl),s=await n.getPromise(ol),a=i<0?-1*s.max:s.min,l=i<0?-1*s.min:s.max,c=r.map((e=>Object.assign(Object.assign({},e),{offset:Math.min(Math.max(o*i,a),l)})));t(Xa,c),e()}}))),flipPlanes:ra((({set:t,snapshot:n})=>async()=>{const o=await n.getPromise(Xa);t(Xa,o.map((e=>$a(e)))),e()})),alignViewToPlane:ra((({snapshot:e})=>async()=>{const t=await e.getPromise(Xa),n=await e.getPromise(Ea),o=await(null==n?void 0:n.scene());t.length>0&&null!=o&&await((e,t,n)=>{if(e.toFrameCamera().isPerspective()){const n=s.Vector3.dot(s.Vector3.normalize(e.up),t),o=Math.abs(n)>.98?s.Vector3.normalize(s.Vector3.scale(-n,e.viewVector)):e.up,r=s.Vector3.add(s.Vector3.scale(s.Vector3.distance(e.position,e.lookAt),s.Vector3.multiply(t,s.Vector3.create(-1,-1,-1))),e.lookAt);return e.update({up:o,position:r})}{const o=s.Vector3.angleTo(s.Vector3.normalize(e.viewVector),t),r=null!=n?s.BoundingBox.center(n):e.lookAt,i=s.Vector3.normalize(s.Vector3.cross(s.Vector3.normalize(e.viewVector),t));return e.rotateAroundAxisAtPoint(o,r,i)}})(o.camera(),t[0].normal,o.boundingBox()).render({animation:{milliseconds:500}})})),updateAxis:ra(ia((({set:t,reset:n,snapshot:o})=>async r=>{const i=await o.getPromise(Xa),a=await o.getPromise(tl),l=await o.getPromise(Ja),c=await o.getPromise(Za),u=await o.getPromise(Ea),d=await(null==u?void 0:u.scene()),f=a[r],h=null!=f&&i.length>0&&function(e,t){const n=s.Angle.toDegrees(s.Vector3.angleTo(e,t));return 0===n||180===n}(i[0].normal,f)&&!isNaN(s.Vector3.angleTo(i[0].normal,f));if(null!=d&&!h){const e=await o.tryGetPromise(hl).then((e=>e.value));t(el,r),t(Xa,[Ka(r,a,d.camera(),l,"global"!==c.mode?null==e?void 0:e.position:void 0)])}n(al),e()}))),updateAlignment:ra((({set:e,reset:r})=>async(i,s)=>{r(sl),e(Za,{mode:i,hitPending:"global"!==i&&null==s}),"global"===i?(r(el),r(tl),t()):"surface"===i&&null!=s&&(await o(),n())})),cancelCurrentHit:ra((({set:e,snapshot:t})=>async()=>{const n=await t.getPromise(Za);n.hitPending&&e(Za,Object.assign(Object.assign({},n),{hitPending:!1}))})),sectionCurrentHit:ra((({set:e,snapshot:t})=>async()=>{const o=await t.getPromise(Za);o.hitPending&&(e(Za,Object.assign(Object.assign({},o),{hitPending:!1})),"surface"===o.mode&&n())}))}}var vl=Object.freeze({__proto__:null,DEFAULT_ALIGN_TO_PLANE_ANIMATION_DURATION_MS:500,DEFAULT_SLIDER_RANGE:Ga,crossSectioningActiveAxis:el,crossSectioningAdditionalToolsOpen:il,crossSectioningAlignment:Za,crossSectioningAlignmentToolsOpen:sl,crossSectioningAvailableAxes:tl,crossSectioningAxisToolsOpen:al,crossSectioningBorderWidth:Ya,crossSectioningEnabled:Wa,crossSectioningHighlightColor:qa,crossSectioningInteractionHandler:ll,crossSectioningIsInteractive:Qa,crossSectioningOffsetScalar:nl,crossSectioningPlaneDisplayOffset:rl,crossSectioningPlanes:Xa,crossSectioningSliderRange:ol,crossSectioningTargetBoundingBox:Ja,useCrossSectioning:function(e,t){const n=_s(ll);o.useEffect((()=>{t&&(null==e||e.registerInteractionHandler(n))}),[e,t,n])},useCrossSectioningActions:ml});const gl=()=>{const e=ml(),t=ra(ia((({snapshot:e})=>async()=>{await e.tryGetPromise(hl).then((e=>e.value))}))),n=ra(ia((({snapshot:e})=>async()=>{await e.tryGetPromise(hl).then((e=>e.value))}))),o=ra(ia((({set:e,snapshot:t})=>async()=>{const n=await t.tryGetPromise(hl).then((e=>e.value));e(Cs,n)}))),r=ra(ia((({snapshot:e,set:t})=>async()=>{t(fl,await e.tryGetPromise(hl).then((e=>e.value)))})));return{tap:ra(ia((({snapshot:i,set:s})=>async({detail:a},...l)=>{const c=await i.getPromise(Za),u=2!==(null==a?void 0:a.buttons)&&!(null==a?void 0:a.altKey);a.altKey||a.ctrlKey||a.metaKey||a.shiftKey;const d=u&&!c.hitPending,f=await i.tryGetPromise(hl).then((e=>e.value));s(dl,f),s(cl,a),t(),d&&(l.forEach((e=>e())),n()),o(),e.sectionCurrentHit(),r()}))),longPress:ra(ia((({snapshot:e,set:t,reset:n})=>async i=>{n(cl),t(ul,i.detail),await e.tryGetPromise(hl),o(),r()})))}},yl=ws({key:"viewerToolkitHitState",get:({get:e})=>({tapDetails:e(cl),longPressDetails:e(ul),previousHitResult:e(dl),currentHitResult:e(fl)})});var bl=Object.freeze({__proto__:null,currentHitResult:fl,hitResult:hl,hitResultsLongPressDetails:ul,hitResultsSkipNextTap:pl,hitResultsTapDetails:cl,hitState:yl,previousHitResult:dl,useHitActions:gl});function wl(){return{pointerDown:ra((({set:e})=>async t=>{if(2===t.button){const n=t.clientX,o=null==t?void 0:t.clientY;e(ks,s.Point.create(n,o)),e(Rs,t.target)}})),pointerUp:ra((({snapshot:e,set:t})=>async(n,o,r,i)=>{const a=await e.getPromise(ks),l=await e.getPromise(Ns);if(null!=a&&null==l){const e=n.clientX,l=null==n?void 0:n.clientY,c=s.Point.create(e,l),u=null!=a?s.Point.distance(a,c):0,d=null==r||r(n);u<2&&d&&(null==i||i(n,null!=a?a:c),t(Ns,o))}})),contextMenu:ra((()=>(e,t)=>{(null==t||t(e))&&e.preventDefault()})),longPress:ra((({set:e})=>(t,n,o,r)=>{if(null==o||o(t)){const o=s.Point.create(t.touches[0].clientX,t.touches[0].clientY);e(ks,o),e(Rs,t.target),e(Ns,n),null==r||r(t,o)}})),clearActiveContextMenu:ra((({reset:e,set:t})=>n=>{t(pl,!!n),e(Ns),e(Is),e(ks)})),clearDismissedState:ra((({reset:e})=>()=>e(pl)))}}function xl(e,t){return null!=t.closest(e)}const _l=e=>{const t=e instanceof HTMLElement&&"VERTEX-AUTO-RESIZE-TEXTAREA"===e.tagName,n=e instanceof HTMLElement&&"VERTEX-TEXTFIELD"===e.tagName,o=e instanceof HTMLElement&&"true"===e.contentEditable,r=e instanceof HTMLElement&&"VERTEX-SCENE-TREE-SEARCH"===e.tagName,i=e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement,s=e instanceof HTMLElement&&"VERTEX-VIEWER-PIN-TOOL"===e.tagName,a=e instanceof HTMLElement&&"VERTEX-VIEWER-TRANSFORM-WIDGET"===e.tagName;return t||n||o||r||i||s||a},Sl=({reducer:e,atom:t})=>{const n=Vs((({set:n})=>async o=>{n(t,(t=>e(t,o)))}),[]);return n},El=bs({key:"keyBindings",default:{applyBindings:[],bindings:{},pressed:{}}});function Tl(e,t){var n,o,r,i;switch(t.type){case"push-key-binding":return null!=(null===(n=e.bindings[t.binding.keyBind])||void 0===n?void 0:n.find((e=>e.id===t.binding.id)))?e:Object.assign(Object.assign({},e),{bindings:Object.assign(Object.assign({},e.bindings),{[t.binding.keyBind]:[...null!==(o=e.bindings[t.binding.keyBind])&&void 0!==o?o:[],t.binding]})});case"remove-key-binding":return null==(null===(r=e.bindings[t.binding.keyBind])||void 0===r?void 0:r.find((e=>e.id===t.binding.id)))?e:Object.assign(Object.assign({},e),{bindings:Object.assign(Object.assign({},e.bindings),{[t.binding.keyBind]:(null!==(i=e.bindings[t.binding.keyBind])&&void 0!==i?i:[]).filter((e=>e.id!==t.binding.id))})});case"add-apply-key-binding":return Object.assign(Object.assign({},e),{applyBindings:[...e.applyBindings,t.binding]});case"remove-apply-key-binding":return Object.assign(Object.assign({},e),{applyBindings:e.applyBindings.filter((e=>e.id!==t.id))});case"set-key-pressed":return Object.assign(Object.assign({},e),{applyBindings:e.applyBindings.map((t=>Object.assign(Object.assign({},t),{active:null!=t.keyBind&&Nl(t.keyBind,e.pressed)}))),pressed:Object.assign(Object.assign({},e.pressed),{[t.key]:t.pressed}),lastPressed:t.pressed?t.key:void 0})}}const Vl=()=>(({reducer:e,atom:t})=>[_s(t),Sl({reducer:e,atom:t})])({reducer:Tl,atom:El});function Al(e,t){return e.includes("!")?!t[e.replace("!","")]&&!t[e.replace("!","").toLowerCase()]:t[e]||t[e.toLowerCase()]}function Nl(e,t){return e.split("+").every((e=>function(e,t){const n=e.split("||");return n.length>1?n.some((e=>Al(e,t))):Al(n[0],t)}(e,t)))}function kl(e,t,n){return e.filter((e=>!e.repeat)).filter((e=>{var o;return null!=e.keyBind&&null!=n&&(null===(o=e.keyBind)||void 0===o?void 0:o.includes(n))&&Nl(e.keyBind,t)})).map((e=>e.fn))}function Rl(e,t,n){return e.filter((e=>e.off&&e.active&&null!=e.keyBind&&null==n&&!Nl(e.keyBind,t))).map((e=>e.off))}const Cl=e=>{const[t,n]=Vl();o.useEffect((()=>{const o=Sa.create();return n({type:"add-apply-key-binding",binding:Object.assign(Object.assign({},e),{id:o,active:null!=e.keyBind&&Nl(e.keyBind,t.pressed)})}),()=>{n({type:"remove-apply-key-binding",id:o})}}),[e.fn,e.off,e.keyBind,e.repeat])},Il=(e,t=[])=>{const[,n]=Vl();o.useEffect((()=>{const t=null==e.addPredicate||e.addPredicate(),o=null!=e.cancelPredicate&&e.cancelPredicate();t&&n({type:"push-key-binding",binding:e}),o&&n({type:"remove-key-binding",binding:e})}),t)};const jl=({targetElement:e,menuType:r,disableBackdrop:i,openPredicate:a,onOpen:l,onClose:c,children:u})=>{const d=wl(),h=_s(Ns),m=_s(js),v=o.useMemo((()=>["bottom-end","top-start","top-end","right","left"]),[]),g=h===r;Il({id:"ContextMenu",keyBind:"Escape",fn:d.clearActiveContextMenu,addPredicate:()=>null!=h&&h===r,cancelPredicate:()=>null==h},[h]);const y=o.useMemo((()=>null!=e?e:null!=a?window:void 0),[e,a]);return function({target:e,callback:t,delay:n=500,onMovement:o}){const[r,i]=f.useState(),[a,l]=f.useState();f.useEffect((()=>{const c=e=>{const o=e;null!=o.touches&&1===o.touches.length&&(null!=r&&clearTimeout(r),l(s.Point.create(o.touches[0].clientX,o.touches[0].clientY)),i(setTimeout((()=>null==t?void 0:t(o)),n)))},u=e=>{const t=e;null!=t.touches&&t.touches.length>0&&null!=r&&null!=a&&s.Point.distance(a,s.Point.create(t.touches[0].clientX,t.touches[0].clientY))>=2&&(clearTimeout(r),null==o||o())},d=()=>{null!=r&&clearTimeout(r)};return null==e||e.addEventListener("touchstart",c),null==e||e.addEventListener("touchmove",u),null==e||e.addEventListener("touchend",d),()=>{null==e||e.removeEventListener("touchstart",c),null==e||e.removeEventListener("touchmove",u),null==e||e.removeEventListener("touchend",d)}}),[e,r,a])}({target:y,callback:e=>d.longPress(e,r,a,l),onMovement:()=>d.clearActiveContextMenu()}),o.useEffect((()=>{const e=e=>{const t=function(e){return e.target instanceof Element&&xl("vertex-menu",e.target)}(e);if(!t&&2!==e.buttons&&h===r){const t=function(e){return e.target instanceof Element&&xl("vertex-viewer",e.target)}(e);d.clearActiveContextMenu(t)}};if(i)return window.addEventListener("pointerdown",e),()=>{window.removeEventListener("pointerdown",e)}}),[i,r,h]),o.useEffect((()=>{const e=e=>{d.pointerDown(e)},t=e=>{d.pointerUp(e,r,a,l)},n=e=>d.contextMenu(e,a);return null==y||y.addEventListener("pointerdown",e),null==y||y.addEventListener("pointerup",t),null==y||y.addEventListener("contextmenu",n),()=>{null==y||y.removeEventListener("pointerdown",e),null==y||y.removeEventListener("pointerup",t),null==y||y.removeEventListener("contextmenu",n)}}),[e,r,a]),t.jsx(n.VertexMenu,{className:p({hidden:!g}),"data-testid":`${r}-context-menu`,open:g,position:m,fallbackPlacements:v,backdrop:!i,onMenuClosed:()=>{d.clearActiveContextMenu(),null==c||c()},children:t.jsx("div",{className:"pt-1",children:u})})};var Ol;!function(e){e.HIDE_ITEM="Hide Item",e.SHOW_ONLY_SELECTED="Show Only Selected",e.HIDE_SELECTED="Hide Selected",e.SHOW_ONLY_ITEM="Show Only Item",e.SHOW_ALL="Show All",e.HIDE_ALL="Hide All",e.SELECT_FILTERED_ITEMS="Select Filtered Items",e.INVERT_SELECTION="Invert Selection",e.CLEAR_ALL_TRANSFORMS="Clear All Transforms",e.CLEAR_SELECTED_TRANSFORMS="Clear Selected Transforms",e.CLEAR_SELECTION="Clear Selection",e.DESELECTING_ITEMS="Deselecting Items",e.SELECTING_ITEMS="Selecting Items",e.SELECTING_ONLY_ITEM="Selecting Only Item",e.SELECTING_ANCESTOR="Selecting Ancestor",e.APPLY_MATERIAL_OVERRIDE_TO_ALL="Apply Material Override To All",e.APPLY_MATERIAL_OVERRIDE_TO_SELECTION="Apply Material Override To Selection",e.CLEAR_ALL_MATERIAL_OVERRIDES="Clear All Material Overrides",e.CLEAR_SELECTED_MATERIAL_OVERRIDES="Clear Selected Material Overrides",e.SET_PHANTOM_ALL="Set Phantom All",e.SET_PHANTOM_SELECTED_ITEMS="Set Phantom Selected Items",e.CLEAR_PHANTOM_ALL="Clear Phantom All",e.CLEAR_PHANTOM_SELECTED_ITEMS="Clear Phantom Selected Items",e.SET_PHANTOM_NON_SELECTED_ITEMS="Set Phantom Non Selected Items",e.RESTORE_PHANTOM_OVERRIDES="Restore Phantom Overrides",e.SET_ITEM_AS_END_ITEM="Set Item as End Item",e.UNSET_ITEM_AS_END_ITEM="Unset Item as End Item",e.SHOW_ANNOTATION="Show Annotation",e.HIDE_ANNOTATION="Hide Annotation"}(Ol||(Ol={}));const Ll=xs({key:"selectionSelectedItems",default:void 0}),Ml=bs({key:"selectionSelectedItemIds",default:[]}),Pl=bs({key:"selectionLastSelected",default:void 0}),Dl=bs({key:"selectionLastSelectionFromViewer",default:!1}),Bl=bs({key:"selectionLastSelectWasMultiSelect",default:!1}),zl=ws({key:"selectionHighestSelectedAncestor",get:({get:e})=>{var t,n;const o=e(Pl),r=e(Ml);return null!==(n=null===(t=null==o?void 0:o.ancestors)||void 0===t?void 0:t.find((e=>r.includes(e))))&&void 0!==n?n:null==o?void 0:o.id}}),Ul=bs({key:"selectionPreviousVisibleSummary",default:void 0}),Hl=bs({key:"selectionVisibleSummary",default:void 0}),Fl=ws({key:"selectionVisibleCount",get:({get:e})=>{var t,n;return null!==(n=null===(t=e(Hl))||void 0===t?void 0:t.count)&&void 0!==n?n:0}});function $l(){const e=Ca(),t=ra((({snapshot:e,reset:t})=>async()=>{(await e.getPromise(Ml)).forEach((e=>t(Ll(e))))})),n=ra((({snapshot:t,reset:n,set:o})=>async(r,i)=>{var s,a;const l=await t.getPromise(Ll(r.id)),u=await t.getPromise(Ml),d=null===(a=[...null!==(s=r.ancestors)&&void 0!==s?s:[]])||void 0===a?void 0:a.reverse().find((e=>!u.includes(e)));null!=l&&null!=d?(o(Ll(d),{id:d}),o(Ml,(e=>[...e,d])),e.execute(Ol.SELECTING_ANCESTOR,e.selectItemsTransform(d))):(null==i?void 0:i.clear)?(o(Ll(r.id),r),o(Ml,[r.id]),e.execute(Ol.SELECTING_ONLY_ITEM,e.clearSelectionTransform,e.selectItemsTransform(r.id))):(o(Ll(r.id),r),o(Ml,(e=>[...e,r.id])),e.execute(Ol.SELECTING_ITEMS,e.selectItemsTransform(r.id))),c(r),o(Pl,r),o(Dl,!0),n(Bl)})),o=ra((({reset:t,set:n})=>async o=>{t(Ll(o)),t(Bl),n(Ml,(e=>e.filter((e=>e!==o)))),e.execute(Ol.DESELECTING_ITEMS,e.deselectItemsTransform(o))})),r=ra((({snapshot:e})=>async t=>{const r=await e.getPromise(Ll(t.id));null!=r?await o(r.id):await n(t)})),i=ra((({snapshot:e,reset:t,set:o})=>async(r,i={})=>{const s=await e.getPromise(Ll(r.id)),a=await e.getPromise(Ml);if(a.filter((e=>{var t;return e!==r.id&&!(null===(t=r.ancestors)||void 0===t?void 0:t.includes(e))})).forEach((e=>t(Ll(e)))),t(Bl),s)if(i.ignoreAncestorSelection)t(Ml),t(Ll(s.id));else{const e=a.filter((e=>{var t;return e===r.id||(null===(t=r.ancestors)||void 0===t?void 0:t.includes(e))}));o(Ml,e)}else t(Ml);await n(r,{clear:!0})})),s=ra((({reset:e})=>async()=>{await t(),e(Ml),e(Pl),e(Dl),e(Bl)})),a=ra((()=>async()=>{await s(),e.execute(Ol.CLEAR_SELECTION,e.clearSelectionTransform)})),l=ra((({set:e})=>async t=>{e(Bl,t)})),c=ra((({reset:e,set:t})=>e=>{}));return{select:n,toggleSelection:r,clearAndSelect:i,selectCurrentHit:ra(ia((({snapshot:e})=>async()=>{const t=await e.tryGetPromise(hl).then((e=>e.value)),n=await e.getPromise(cl),o=(null==n?void 0:n.metaKey)||(null==n?void 0:n.ctrlKey)||(null==n?void 0:n.shiftKey);null==t||o?null!=t&&o?r(t):a():i(t)}))),syncSelection:ra((({set:e,reset:n})=>async(o,r)=>{r.selected?(await t(),e(Ll(o.id),o),r.multiSelect?e(Ml,(e=>[...e.filter((e=>e!==o.id)),o.id])):e(Ml,[o.id]),c(o),e(Pl,o),e(Dl,!1),e(Bl,!!r.multiSelect)):(n(Ll(o.id)),n(Bl),e(Ml,(e=>e.filter((e=>e!==o.id)))))})),deselect:o,clearSelection:a,resetSelectionState:s,toggleLastSelectWasMultiSelect:l,selectForModelViewsPanel:c}}const Kl=ws({key:"viewerToolkitSelectionState",get:({get:e})=>({selectedItemIds:e(Ml),lastSelected:e(Pl),highestSelectedAncestorId:e(zl)})});var Gl=Object.freeze({__proto__:null,selectionHighestSelectedAncestor:zl,selectionLastSelectWasMultiSelect:Bl,selectionLastSelected:Pl,selectionLastSelectionFromViewer:Dl,selectionPreviousVisibleSummary:Ul,selectionSelectedItemIds:Ml,selectionSelectedItems:Ll,selectionState:Kl,selectionVisibleCount:Fl,selectionVisibleSummary:Hl,useSelectionActions:$l});const Wl=()=>{const e=_s(Ml),o=_s(Hl),r=Ia();return t.jsxs(n.VertexMenuItem,{"data-testid":"fit-selected-menu-option",onClick:()=>{null!=(null==o?void 0:o.boundingBox)&&r.flyToByBoundingBox(o.boundingBox)},disabled:0===e.length,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"fit-selected",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Fit Selected"})]})},ql=()=>{const e=Ia(),o=_s(Cs);return t.jsxs(n.VertexMenuItem,{"data-testid":"fly-to-part-menu-option",onClick:()=>{var t;const n=As(o)?null===(t=null==o?void 0:o.node.id)||void 0===t?void 0:t.hex:null==o?void 0:o.id;null!=n&&e.flyToById(n)},disabled:null==o,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"paper-airplane",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Fly To"})]})};function Yl(){const e=_s(Ea);return{sceneItemsOperation:o.useCallback((async(t,n)=>{const o=await(null==e?void 0:e.scene());null==n?await(null==o?void 0:o.items((e=>t(e.where((e=>e.all()))))).execute()):n.length>0&&await(null==o?void 0:o.items((e=>t(e.where((e=>e.withItemIds(n)))))).execute())}),[e]),showOnlySelected:o.useCallback((async()=>{const t=await(null==e?void 0:e.scene());null==t||t.items((e=>[e.where((e=>e.all())).hide(),e.where((e=>e.withSelected())).show()])).execute()}),[e]),hideSelected:o.useCallback((async()=>{const t=await(null==e?void 0:e.scene());null==t||t.items((e=>[e.where((e=>e.withSelected())).hide()])).execute()}),[e]),showOnlyItem:o.useCallback((async t=>{const n=await(null==e?void 0:e.scene());null==n||n.items((e=>[e.where((e=>e.all())).hide(),e.where((e=>e.withItemIds([t]))).show()])).execute()}),[e]),ghostSelected:o.useCallback((async()=>{const t=await(null==e?void 0:e.scene());null==t||t.items((e=>[e.where((e=>e.withSelected())).setPhantom(!0)])).execute()}),[e]),unGhostSelected:o.useCallback((async()=>{const t=await(null==e?void 0:e.scene());null==t||t.items((e=>[e.where((e=>e.withSelected())).setPhantom(!1)])).execute()}),[e])}}const Xl=()=>{const e=Yl();return t.jsxs(n.VertexMenuItem,{"data-testid":"hide-all-menu-option",onClick:()=>{e.sceneItemsOperation((e=>e.hide()))},children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-hidden",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Hide All Parts"})]})},Zl=()=>{const e=_s(Cs),o=Yl();return t.jsxs(n.VertexMenuItem,{"data-testid":"hide-menu-option",onClick:()=>{var t;const n=As(e)?null===(t=null==e?void 0:e.node.id)||void 0===t?void 0:t.hex:e.id;null!=n&&o.sceneItemsOperation((e=>e.hide()),[n])},disabled:null==e,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-hidden",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Hide Part"})]})},Jl=()=>{const e=_s(Ml),o=Yl();return t.jsxs(n.VertexMenuItem,{"data-testid":"hide-selected-menu-option",onClick:()=>o.hideSelected(),disabled:0===e.length,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-hidden",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Hide Selected"})]})},Ql=()=>{const e=Yl();return t.jsxs(n.VertexMenuItem,{"data-testid":"show-all-menu-option",onClick:()=>{e.sceneItemsOperation((e=>e.show()))},children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-visible",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Show All Parts"})]})},ec=()=>{const e=_s(Cs),o=Yl();return t.jsxs(n.VertexMenuItem,{"data-testid":"show-only-menu-option",onClick:()=>{var t;const n=As(e)?null===(t=null==e?void 0:e.node.id)||void 0===t?void 0:t.hex:null==e?void 0:e.id;null!=n&&o.showOnlyItem(n)},disabled:null==e,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-visible",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Show Only Part"})]})},tc=()=>{const e=_s(Ml),o=Yl();return t.jsxs(n.VertexMenuItem,{"data-testid":"show-only-selected-menu-option",onClick:()=>o.showOnlySelected(),disabled:0===e.length,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-visible",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Show Only Selected"})]})};bs({key:"sceneTreeLoaderVisible",default:!1});const nc=bs({key:"sceneTreeElement",default:void 0}),oc=bs({key:"sceneTreeWidth",default:void 0});function rc(){const e=$l(),t=Ia();return{toggleSelection:ra((({snapshot:t})=>async(n,o,r)=>{var i,s;if(!n.defaultPrevented&&0===n.button&&(n.altKey||((n.ctrlKey||n.metaKey)&&o.selected?r.deselectItem(o):o.selected?r.selectItem(o,{recurseParent:!0}):o.selected||r.selectItem(o,{append:n.ctrlKey||n.metaKey,range:n.shiftKey})),null!=o.id)){const r=await t.getPromise(Pl);e.syncSelection({id:null===(i=o.id)||void 0===i?void 0:i.hex,ancestors:null!==(s=null==r?void 0:r.ancestors)&&void 0!==s?s:[]},{selected:!n.metaKey&&!n.ctrlKey||!o.selected,multiSelect:n.shiftKey||n.metaKey||n.ctrlKey})}})),toggleExpansion:ra((()=>(e,t,n)=>{n.toggleExpandItem(t)})),toggleVisibility:ra((()=>(e,t,n)=>{n.toggleItemVisibility(t)})),flyToRow:ra((({snapshot:e})=>async n=>{var o;const r=await e.getPromise(nc),i=await(null==r?void 0:r.getRowAtClientY(n));null!=(null===(o=null==i?void 0:i.node.id)||void 0===o?void 0:o.hex)&&await t.flyToById(i.node.id.hex)})),setContextMenuItem:ra((({set:e,snapshot:t})=>async n=>{const o=await t.getPromise(nc),r=await(null==o?void 0:o.getRowAtClientY(n));e(Cs,r)}))}}ws({key:"sceneTreeController",get:({get:e})=>{var t;return null===(t=e(nc))||void 0===t?void 0:t.controller},dangerouslyAllowMutability:!0});const ic=()=>{const e=_s(Ml),o=Yl();return t.jsxs(n.VertexMenuItem,{"data-testid":"ghost-selected-menu-option",onClick:()=>o.ghostSelected(),disabled:0===e.length,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-partial",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Ghost Selected"})]})},sc=()=>{const e=_s(Ml),o=Yl();return t.jsxs(n.VertexMenuItem,{"data-testid":"unghost-selected-menu-option",onClick:()=>o.unGhostSelected(),disabled:0===e.length,children:[t.jsx(n.VertexIcon,{slot:"icon",name:"visibility-visible",size:"sm"}),t.jsx("div",{className:"pl-2",children:"Unghost Selected"})]})},ac=()=>t.jsxs("div",{className:"w-56",children:[t.jsx(Jl,{}),t.jsx(Xl,{}),t.jsx(ec,{}),t.jsx(tc,{}),t.jsx(Ql,{}),t.jsx(ic,{}),t.jsx(sc,{}),t.jsx(n.VertexMenuDivider,{}),t.jsx(Wl,{}),t.jsx(ql,{})]}),lc=({children:e})=>{const n=rc(),o=_s(nc),r=null!=e&&!1!==e;return t.jsx(jl,{menuType:"scene-tree",targetElement:o,onOpen:async(e,t)=>{const o=e;await n.setContextMenuItem(o.clientY)},disableBackdrop:!0,children:r?e:t.jsx(ac,{})})},cc=()=>t.jsxs("div",{className:"w-56",children:[t.jsx(Zl,{}),t.jsx(Jl,{}),t.jsx(Xl,{}),t.jsx(ec,{}),t.jsx(tc,{}),t.jsx(Ql,{}),t.jsx(ic,{}),t.jsx(sc,{}),t.jsx(n.VertexMenuDivider,{}),t.jsx(Wl,{}),t.jsx(ql,{})]}),uc=({children:e})=>{const n=_s(Ea),o=null!=e&&!1!==e;return t.jsx(jl,{menuType:"viewer",targetElement:n,disableBackdrop:!0,children:o?e:t.jsx(cc,{})})},dc=bs({key:"viewerToolkitSdkConfig",default:void 0});function fc({state:e}){const t=Vs((({set:t})=>n=>{t(e,n)}),[]);return t}var hc;function pc(e){return null!=e?{"--scene-tree-default-font-family":vc(e.fontFace),"--scene-tree-default-font-color":e.color}:{}}function mc(e){const t=null==e?void 0:e.depthColors,n=null!=t?Object.keys(t).reduce(((e,n)=>Object.assign(Object.assign({},e),{[`--scene-tree-row-background-color-depth-${n}`]:t[parseInt(n)]})),{}):{};return null!=e?Object.assign(Object.assign({},n),{"--scene-tree-hovered-row-background-color":e.hovered,"--scene-tree-selected-row-background-color":e.selected,"--scene-tree-row-background-color":e.defaultColor}):{}}function vc(e){return e===hc.ROBOTO_MONO?"var(--vertex-ui-font-family-monospace)":"var(--vertex-ui-font-family)"}!function(e){e.ROBOTO="ROBOTO",e.ROBOTO_MONO="ROBOTO_MONO"}(hc||(hc={}));const gc=()=>{const e=_s(nc);return t.jsx(n.VertexTooltip,{className:"w-auto",content:"Collapse All",placement:"top",children:t.jsx(n.VertexIcon,{size:"sm",className:"h-6 w-6 hover:bg-neutral-300 rounded cursor-pointer","data-testid":"collapse-all-icon",name:"collapse-all",onClick:()=>{null==e||e.collapseAll()}})})},yc=()=>{const e=_s(nc);return t.jsx(n.VertexTooltip,{className:"w-auto",content:"Expand All",placement:"top",children:t.jsx(n.VertexIcon,{size:"sm","data-testid":"expand-all-icon",className:"h-6 w-6 hover:bg-neutral-300 rounded cursor-pointer",name:"expand-all",onClick:()=>{null==e||e.expandAll()}})})};function bc(){return t.jsx(a.VertexSceneTreeToolbar,{className:"h-10 border-b border-neutral-300 box-border",children:t.jsxs("div",{className:"flex flex-shrink-0 w-full text-neutral-700 items-center gap mx-2",children:[t.jsx(yc,{}),t.jsx(gc,{})]})})}const wc=({children:e})=>{const n=null!=e&&!1!==e;return t.jsx("div",{slot:"header",className:"flex flex-col",children:n?e:t.jsxs(t.Fragment,{children:[t.jsx(a.VertexSceneTreeSearch,{className:"border-b border-neutral-300"}),t.jsx(bc,{})]})})},xc={binding:"{{row.node.name}}",label:"Name",metadataKeyName:"VERTEX_SCENE_ITEM_NAME"},_c=ws({key:"sceneTreeColumnsActiveColumns",get:({get:e})=>{const t=[],n=e(oc);if(null!=n&&n>0){const e=1/(t.length+1)*n,o=(n-e)/t.length;return{Name:Object.assign(Object.assign({},xc),{initialWidth:e,minWidth:o})}}return{Name:xc}}}),Sc=ws({key:"sceneTreeColumnsActiveColumnNames",get:({get:e})=>Object.keys(e(_c))}),Ec=e=>{const n=_s(_c),o=_s(Sc),r=[];return t.jsx(a.VertexSceneTreeTableLayout,Object.assign({"data-testid":"scene-tree-table-layout"},e,{children:o.map(((e,i)=>{var s;const l=n[e],c=null!==(s=r[i])&&void 0!==s?s:l.initialWidth;return t.jsxs(a.VertexSceneTreeTableColumn,{"data-testid":`scene-tree-table-column-${i}`,initialWidth:c,minWidth:l.minWidth,children:[t.jsx("template",{slot:"header",dangerouslySetInnerHTML:{__html:`\n <div class="text-sm text-neutral-800 my-2">\n <div class="${p("truncate",{"pl-2":0===i,"pr-2":i===o.length-1})}">\n ${l.label}\n </div>\n </div>\n `}}),t.jsx("template",{dangerouslySetInnerHTML:{__html:`\n <vertex-scene-tree-table-cell\n prop:value="${l.binding}"\n prop:selection-handler="{{row.data.handleSelection}}"\n prop:expansion-handler="{{row.data.handleExpansion}}"\n prop:visibility-handler="{{row.data.handleVisibility}}"\n ${0===i?"expand-toggle":""}\n ${i===o.length-1?"isolate-button visibility-toggle":""}>\n <div class="flex items-center gap-2">\n <vertex-tooltip \n class="truncate" \n prop:content="${null!=l.binding?l.binding:"--"}" \n placement="${i!==o.length-1?"right":"top"}">\n <div class="flex items-center w-full">\n <div class="truncate">${l.binding}</div>\n </div>\n </vertex-tooltip>\n </div>\n \n\n <div slot="placeholder" class="flex items-center w-full truncate">\n <div> -- </div>\n </div>\n </vertex-scene-tree-table-cell>\n `}})]},l.label)}))}))},Tc=(e,t)=>{const n=Ts(e);o.useEffect((()=>{n(t)}),[n,t])},Vc=o=>{var{open:r,children:i}=o,s=e.__rest(o,["open","children"]);const a=i.find((e=>e.type===Ac)),l=i.filter((e=>e.type!==Ac));return null==a?t.jsx(t.Fragment,{}):t.jsxs(n.VertexPopover,Object.assign({className:"flex",placement:"top",backdrop:!1,open:r},s,{children:[a,t.jsx("div",{className:p("flex mb-1.5",{hidden:!r}),"data-testid":"align-plane-popover-menu",children:l})]}))},Ac=({tooltipContent:e,children:o})=>t.jsx("div",{slot:"anchor",children:t.jsx(n.VertexTooltip,{className:"cursor-pointer",content:e,children:o})});Vc.Anchor=Ac;const Nc=r=>{var{value:i,defaultValue:s,onChange:a,onValueChange:l,onValueInput:c}=r,u=e.__rest(r,["value","defaultValue","onChange","onValueChange","onValueInput"]);const[d,f]=o.useState(s);return t.jsx(n.VertexSlider,Object.assign({className:"w-52 mx-2 items-center",value:null!=i?i:d,onValueChange:e=>{f(e.detail.value),null==a||a(e.detail.value),null==l||l(e)},onValueInput:e=>{f(e.detail.value),null==a||a(e.detail.value),null==c||c(e)}},u))};function kc(){return t.jsx("div",{"data-testid":"toolbar-divider",className:"h-6 w-px bg-neutral-300 mx-1 items-center mt-1"})}function Rc(){const e=ml(),o=_s(sl),r=_s(Za);return Il({id:"CrossSectionAlignment",keyBind:"Escape",fn:e.cancelCurrentHit,addPredicate:()=>{var e;return null!==(e=null==r?void 0:r.hitPending)&&void 0!==e&&e},cancelPredicate:()=>!(null==r?void 0:r.hitPending)},[null==r?void 0:r.hitPending]),t.jsxs(Vc,{"data-testid":"section-alignment-popover",placement:"top",backdrop:!1,open:o,onDismissed:e.closeAlignmentTools,children:[t.jsx(Vc.Anchor,{tooltipContent:"Section Alignment",children:t.jsx(n.VertexIconButton,{"data-testid":"section-alignment-icon-button",iconName:`align-to-${null==r?void 0:r.mode}`,iconColor:"secondary",onClick:o?e.closeAlignmentTools:e.openAlignmentTools,children:t.jsx(n.VertexIcon,{"data-testid":"section-alignment-icon-chevron",name:"chevron-up",size:"sm"})})}),t.jsxs(a.VertexViewerToolbarGroup,{direction:"vertical",className:"flex justify-evenly items-center py-1 my-1 ring-1 ring-neutral-200 rounded bg-neutral-100 opacity-95",children:[t.jsx(n.VertexIconButton,{iconColor:"secondary",onClick:()=>e.updateAlignment("global"),className:"w-full text-neutral-800 hover:bg-neutral-300 rounded cursor-pointer mx-0.5 py-1 px-2","data-testid":"section-alignment-align-global",iconName:"align-to-global",variant:"plain",children:t.jsx("div",{className:"text-base ml-2",children:"Align to Global"})}),t.jsx(n.VertexIconButton,{iconColor:"secondary",onClick:()=>e.updateAlignment("surface"),className:"w-full text-neutral-800 hover:bg-neutral-300 rounded cursor-pointer mx-0.5 py-1 px-2","data-testid":"section-alignment-align-surface",iconName:"align-to-surface",variant:"plain",children:t.jsx("div",{className:"text-base ml-2",children:"Align to Surface"})})]})]})}function Cc(){const e=ml(),r=_s(al),i=_s(Xa),l=Ss(tl),c=o.useMemo((()=>{const e=i.length>0&&"hasValue"===l.state?((e,t,n,o)=>e&&e.normal&&[["x",t],["y",n],["z",o]].filter((t=>0===s.Vector3.magnitude(s.Vector3.cross(e.normal,t[1])))).map((e=>e[0])).pop())(i[0],Ba(l.contents),za(l.contents),Ua(l.contents)):"x";return null!=e?`axis-${e}`:"axis-x"}),[l.state,l.contents,i]);return t.jsxs(Vc,{"data-testid":"align-plane-popover",placement:"top",backdrop:!1,open:r,onDismissed:e.closeAxisTools,children:[t.jsx(Vc.Anchor,{tooltipContent:"Align Plane",children:t.jsx(n.VertexIconButton,{onClick:r?e.closeAxisTools:e.openAxisTools,iconName:c,"data-testid":"align-plane-icon",iconColor:"secondary",children:t.jsx(n.VertexIcon,{"data-testid":"align-plane-icon-chevron",name:"chevron-up",size:"sm"})})}),t.jsxs(a.VertexViewerToolbarGroup,{direction:"vertical",className:"flex justify-evenly items-center py-1 my-1 ring-1 ring-neutral-200 rounded bg-neutral-100 opacity-95",children:[t.jsx(n.VertexIconButton,{"data-testid":"align-plane-x-axis-button",className:"w-full text-neutral-800 hover:bg-neutral-300 rounded cursor-pointer mx-0.5 py-1 px-2",onClick:()=>e.updateAxis("x"),variant:"plain",iconColor:"secondary",iconName:"axis-x",children:t.jsx("div",{className:"text-base ml-2",children:"X-axis Plane"})}),t.jsx(n.VertexIconButton,{className:"w-full text-neutral-800 hover:bg-neutral-300 rounded cursor-pointer mx-0.5 py-1 px-2",variant:"plain",iconColor:"secondary",iconName:"axis-y","data-testid":"align-plane-y-axis-button",onClick:()=>e.updateAxis("y"),children:t.jsx("div",{className:"text-base ml-2",children:"Y-axis Plane"})}),t.jsx(n.VertexIconButton,{"data-testid":"align-plane-z-axis-button",className:"w-full text-neutral-800 hover:bg-neutral-300 rounded cursor-pointer mx-0.5 py-1 px-2",onClick:()=>e.updateAxis("z"),variant:"plain",iconColor:"secondary",iconName:"axis-z",children:t.jsx("div",{className:"text-base ml-2",children:"Z-axis Plane"})})]})]})}var Ic,jc;!function(e){e.mm="millimeters",e.cm="centimeters",e.m="meters",e.in="inches",e.ft="feet"}(Ic||(Ic={})),function(e){e[e.mm=1]="mm",e[e.cm=.1]="cm",e[e.m=.001]="m",e[e.in=.03937007874015748]="in",e[e.ft=.0032808398950131233]="ft"}(jc||(jc={}));const Oc=(e,t)=>e/jc[t],Lc=(e,t)=>e*jc[t],Mc=(e,t)=>n=>((e,t,n)=>((e,t,n)=>`${e.toFixed(n)} ${t}`)(Lc(e,t),t,n))(n,e,t);function Pc({offset:e,measurementUnit:r,decimalPlaces:i,onOffsetChange:s}){const[a,l]=o.useState(Lc(e,r));o.useEffect((()=>{l(Lc(e,r))}),[r,e]);const c=Mc(r,i),u=e=>{const t=Oc(a+e,r);s(t)};return t.jsx(n.VertexTooltip,{content:"Plane Offset",children:t.jsx("form",{"data-testid":"cross-section-stepper-form",onSubmit:e=>{e.preventDefault(),s(Oc(a,r))},children:t.jsxs(n.VertexTextfield,{"data-testid":"cross-section-stepper-input",className:"viewer-toolbar-input w-32 border-none ring-0 bg-white",type:"text",value:c(parseFloat(e.toFixed(3))),onInputInput:t=>{l(null!=t.detail.value?parseFloat(t.detail.value):e)},onBlur:()=>{s(Oc(a,r))},children:[t.jsx("div",{"data-testid":"cross-section-stepper-decrement",className:"py-1 cursor-pointer",slot:"left",onClick:()=>u(-1),children:t.jsx(n.VertexIcon,{name:"chevron-left",size:"sm"})}),t.jsx("div",{"data-testid":"cross-section-stepper-increment",className:"py-1 cursor-pointer",slot:"right",onClick:()=>u(1),children:t.jsx(n.VertexIcon,{name:"chevron-right",size:"sm"})})]})})})}function Dc({decimalPlaces:e,measurementUnit:r}){const i=ml(),s=_s(il),l=Ss(ol),c=Ss(rl),u=o.useRef(),d=o.useMemo((()=>"hasValue"===l.state?l.contents:Ga),[l.state,l.contents]),f=o.useMemo((()=>"hasValue"===c.state?c.contents:0),[c.state,c.contents]),h=e=>{clearTimeout(u.current),u.current=window.setTimeout((()=>{i.endInteraction()}),400),i.beginInteraction(),i.updatePlanes(e)};return t.jsxs(Vc,{"data-testid":"cross-section-popover",placement:"top",backdrop:!1,open:s,onDismissed:i.closeAdditionalTools,children:[t.jsx(Vc.Anchor,{tooltipContent:"Section Tools",children:t.jsx("div",{className:"-ml-px py-1.5",children:t.jsx(n.VertexIcon,{"data-testid":"cross-section-popover-icon",name:"chevron-up",size:"sm",onClick:s?i.closeAdditionalTools:i.openAdditionalTools})})}),t.jsxs(a.VertexViewerToolbarGroup,{className:"relative bottom-3 flex justify-evenly items-center p-1 ring-1 ring-neutral-200 rounded bg-neutral-100 opacity-95",children:[t.jsx(Rc,{}),t.jsx(n.VertexTooltip,{className:"w-auto",content:"Reverse",children:t.jsx(n.VertexIconButton,{iconName:"flip","data-testid":"viewer-toolbar-flip-button",onClick:i.flipPlanes,iconColor:"secondary"})}),t.jsx(n.VertexTooltip,{className:"w-auto",content:"Align View to Plane",children:t.jsx(n.VertexIconButton,{"data-testid":"viewer-toolbar-align-view-to-plane-button",iconName:"align-view-to-plane",onClick:i.alignViewToPlane,iconColor:"secondary"})}),t.jsx(kc,{}),t.jsx(Cc,{}),t.jsx(Nc,{value:f,defaultValue:d.default,disabled:"hasValue"!==l.state,min:d.min,max:d.max,step:.01,onChange:h}),t.jsx("div",{className:"px-4",children:t.jsx(Pc,{decimalPlaces:e,measurementUnit:r,offset:"hasValue"===c.state?c.contents:0,onOffsetChange:h})})]})]})}const Bc=({decimalPlaces:e,measurementUnit:o,sectionLineWidth:r,sectionColor:i})=>{const s=ml(),a=_s(Wa);return Tc(Ya,r),Tc(qa,i),t.jsxs(t.Fragment,{children:[t.jsx(n.VertexTooltip,{content:a?"Hide Section":"Show Section",children:t.jsx(n.VertexIconButton,{"data-testid":"viewer-toolbar-cross-section-button",iconName:"cross-section",iconColor:a?"primary":"secondary",onClick:()=>a?s.disable():s.enable()})}),t.jsx(Dc,{decimalPlaces:null!=e?e:2,measurementUnit:null!=o?o:"mm"})]})},zc=()=>{const e=_s(Ea);return t.jsx(n.VertexTooltip,{content:"Fit All",children:t.jsx(n.VertexIconButton,{iconName:"fit-all",iconColor:"secondary","data-testid":"viewer-toolbar-fit-all-button",onClick:async()=>{const t=await(null==e?void 0:e.scene());await(null==t?void 0:t.camera().viewAll().render({animation:{milliseconds:500}}))}})})},Uc=()=>{const e=_s(Ea),r=_s(Ta),[i,s]=Es(Aa),[a,l]=Es(Va);return o.useEffect((()=>{null!=e&&r&&l(e.getBaseInteractionHandler())}),[e,r,l]),t.jsx(n.VertexTooltip,{content:"Pan",children:t.jsx(n.VertexIconButton,{iconName:"pan",iconColor:"pan"===i?"primary":"secondary","data-testid":"viewer-toolbar-pan-button",onClick:async()=>{if(s("pan"),null!=a){const e=await a;null==e||e.setPrimaryInteractionType("pan")}}})})},Hc=()=>{const e=_s(Ea),r=_s(Ta),[i,s]=Es(Aa),[a,l]=Es(Va);return o.useEffect((()=>{null!=e&&r&&l(e.getBaseInteractionHandler())}),[e,r,l]),t.jsx(n.VertexTooltip,{content:"Rotate",children:t.jsx(n.VertexIconButton,{iconName:"rotate",iconColor:"rotate"===i?"primary":"secondary","data-testid":"viewer-toolbar-rotate-button",onClick:async()=>{if(s("rotate"),null!=a){const e=await a;null==e||e.setPrimaryInteractionType("rotate")}}})})},Fc=bs({key:"boxSelectionEnabled",default:!1}),$c=bs({key:"boxSelectionOperationType",default:"clearAndSelect"}),Kc=()=>({enable:ra((({set:e})=>()=>{e(Fc,!0)})),disable:ra((({reset:e})=>async()=>{e(Fc),e($c)})),setOperationType:ra((({set:e})=>t=>{e($c,t)}))}),Gc=()=>{const e=Kc(),o=_s(Fc);return Il({id:"ExitBoxSelection",keyBind:"Escape",fn:e.disable,addPredicate:()=>o,cancelPredicate:()=>!o},[o]),t.jsx(n.VertexTooltip,{content:"Box Selection",children:t.jsx(n.VertexIconButton,{iconName:"box-cursor",iconColor:o?"primary":"secondary","data-testid":"viewer-toolbar-enable-box-selection-button",onClick:o?e.disable:e.enable})})},Wc=()=>{const e=_s(Ea),r=_s(Ta),[i,s]=Es(Aa),[a,l]=Es(Va);return o.useEffect((()=>{null!=e&&r&&l(e.getBaseInteractionHandler())}),[e,r,l]),t.jsx(n.VertexTooltip,{content:"Zoom",children:t.jsx(n.VertexIconButton,{iconName:"zoom",iconColor:"zoom"===i?"primary":"secondary","data-testid":"viewer-toolbar-zoom-button",onClick:async()=>{if(s("zoom"),null!=a){const e=await a;null==e||e.setPrimaryInteractionType("zoom")}}})})},qc=()=>t.jsx(a.VertexViewerToolbar,{placement:"bottom-center",children:t.jsxs(a.VertexViewerToolbarGroup,{className:"p-1 border border-neutral-200 rounded bg-neutral-100 opacity-95",children:[t.jsx(Hc,{}),t.jsx(Uc,{}),t.jsx(Wc,{}),t.jsx(zc,{}),t.jsx(kc,{}),t.jsx(Gc,{}),t.jsx(kc,{}),t.jsx(Bc,{})]})}),Yc=({children:e})=>{const n=null!=e&&!1!==e;return t.jsx(a.VertexViewerToolbar,{placement:"bottom-center",children:n?t.jsx(a.VertexViewerToolbarGroup,{className:"p-1 border border-neutral-200 rounded bg-neutral-100 opacity-95",children:e}):t.jsx(qc,{})})},Xc=({onReset:e})=>{const o=ml(),r=$l(),i=Ca();return t.jsx(n.VertexTooltip,{content:"Reset View",children:t.jsx(n.VertexIconButton,{iconName:"reset",className:"flex bg-white opacity-70 hover:opacity-100 text-neutral-900 hover:text-neutral-700 hover:bg-neutral-200 rounded p-1 cursor-pointer","data-testid":"viewer-reset-tool-button",onClick:async()=>{await o.disable(),await r.resetSelectionState(),null==e||e(),await i.reset()},variant:"plain"})})};const Zc=()=>{const{callback:e}=function(){const[e,t]=o.useState(null);return{element:e,callback:o.useCallback((e=>t(e)),[])}}(),n=Kc(),r=_s($c);return Cl({keyBind:"Shift",fn:f.useCallback((()=>n.setOperationType("select")),[]),off:f.useCallback((()=>n.setOperationType("clearAndSelect")),[])}),t.jsx(a.VertexViewerBoxQueryTool,{ref:e,"data-testid":"viewer-box-query-tool",operationType:r})};function Jc({open:e,onOpen:o,onDismiss:r,onCameraTypeChange:i}){const s=Ia(),a=_s(ja);return t.jsxs(n.VertexMenu,{"data-testid":"camera-types-popover",className:"flex",placement:"bottom-end",open:e,onMenuClosed:r,children:[t.jsx("div",{slot:"anchor",children:t.jsx("div",{className:p("flex bg-white hover:opacity-100 hover:text-neutral-700 hover:bg-neutral-200 rounded",{"opacity-70 text-neutral-900":!e,"opacity-100 text-neutral-700 bg-neutral-200":e}),children:t.jsx(n.VertexTooltip,{content:"Change View",children:t.jsx(n.VertexIconButton,{"data-testid":"set-camera-mode-option",className:"p-1 cursor-pointer",variant:"plain",onClick:o,iconName:"orthographic"===a?"cube-orthographic":"cube-perspective",children:t.jsx(n.VertexIcon,{"data-testid":"change-camera-type-icon-button",name:"chevron-down",size:"sm"})})})})}),t.jsxs("div",{className:"w-36",children:[t.jsx("div",{className:"pt-1"}),t.jsxs(n.VertexMenuItem,{"data-testid":"set-perspective-view",onClick:()=>{s.updateCameraType("perspective"),null==i||i("perspective")},children:[t.jsx(n.VertexIcon,{slot:"icon","data-testid":"set-perspective-view-icon",name:"cube-perspective",size:"sm",className:p({"text-[var(--vertex-ui-blue-700)]":"perspective"===a})}),t.jsx("div",{className:p("ml-2 items-center",{"text-[var(--vertex-ui-blue-700)]":"perspective"===a}),children:"Perspective"})]}),t.jsxs(n.VertexMenuItem,{"data-testid":"set-orthographic-view",onClick:()=>{s.updateCameraType("orthographic"),null==i||i("orthographic")},children:[t.jsx(n.VertexIcon,{slot:"icon","data-testid":"set-orthographic-view-icon",name:"cube-orthographic",size:"sm",className:p({"text-[var(--vertex-ui-blue-700)]":"orthographic"===a})}),t.jsx("div",{className:p("ml-2 items-center",{"text-[var(--vertex-ui-blue-700)]":"orthographic"===a}),children:"Orthographic"})]})]})]})}const Qc=n=>{var{placement:r,children:i}=n,s=e.__rest(n,["placement","children"]);const l=Array.isArray(i)?i:[i],c=l.filter((e=>!o.isValidElement(e)||e.type!==a.VertexViewerViewCube)).filter((e=>null!=e&&!1!==e)),u=l.find((e=>o.isValidElement(e)&&e.type===a.VertexViewerViewCube)),[d,f]=o.useState(!1);return t.jsxs(a.VertexViewerToolbar,{direction:"vertical","data-testid":"view-cube-toolbar",placement:null!=r?r:"top-right",children:[null!=u?u:t.jsx(a.VertexViewerViewCube,Object.assign({className:"m-7"},s)),0===c.length?t.jsxs("div",{className:"flex items-center justify-center mt-3 gap-1",children:[t.jsx(Xc,{}),t.jsx(Jc,{open:d,onDismiss:()=>f(!1),onOpen:()=>f(!0)})]}):t.jsx("div",{className:"mt-3",children:c})]})};const eu=({onHitStateChange:e,onSelectionStateChange:n})=>{const r=_s(yl),i=_s(Kl);return o.useEffect((()=>{null==e||e(r)}),[r,e]),o.useEffect((()=>{null==n||n(i)}),[i,n]),t.jsx(t.Fragment,{})},tu=({config:e,children:n})=>{const r=Ts(dc);return o.useEffect((()=>{const t=null!=e?function(e){return function(e){return null!=e.renderingHost}(e)?{network:e}:e}(e):void 0;r(t)}),[e,r]),t.jsx(t.Fragment,{children:n})};var nu=Object.freeze({__proto__:null,get AssemblyFontFace(){return hc}});exports.CrossSection=vl,exports.Hits=bl,exports.SceneTree=nu,exports.Selection=Gl,exports.VertexContextMenu=jl,exports.VertexFitAllButton=zc,exports.VertexFitSelectedMenuItem=Wl,exports.VertexFlyToMenuItem=ql,exports.VertexHideAllMenuItem=Xl,exports.VertexHidePartMenuItem=Zl,exports.VertexHideSelectedMenuItem=Jl,exports.VertexPanButton=Uc,exports.VertexResizableContent=o=>{var{className:r,style:i,displayShadow:s,heading:a,id:l,initialScale:c,placement:u="left",children:d,onResize:f}=o,h=e.__rest(o,["className","style","displayShadow","heading","id","initialScale","placement","children","onResize"]);const m="left"===u||"right"===u,v="top"===u;const g=null!=c?c:1;return t.jsx(n.VertexResizable,Object.assign({id:l,"data-testid":`resizable-content-position-${u}`,className:p(r,"pointer-events-auto z-popover md:z-overlay bg-white bg-opacity-95 flex-grow-0 flex-shrink-0 border-neutral-300",{"border-r min-w-75 max-w-half":"left"===u,"sidebar-shadow-right":"left"===u&&s,"border-l right-0 relative":"right"===u,"sidebar-shadow-left":"right"===u&&s,"border-t bottom-0 fixed":"top"===u,"min-h-12 sheet":v}),style:Object.assign({maxHeight:"top"===u?window.innerHeight:void 0},i),initialHorizontalScale:m?c:void 0,initialVerticalScale:v?g:void 0,horizontalDirection:function(){switch(u){case"left":return"right";case"right":return"left";default:return"none"}}(),verticalDirection:"top"===u?"top":"none",position:"right"===u||"top"===u?"absolute":"relative",onResizeEnd:()=>null==f?void 0:f()},h,{children:t.jsxs("div",{className:"flex flex-col h-full w-full",children:[t.jsx("div",{className:"flex justify-center w-full",children:t.jsx("div",{className:"block md:hidden w-20 h-0.5 mt-0.5 bg-neutral-600 rounded"})}),a,t.jsx("div",{className:p("w-full flex flex-col h-0 flex-grow",{"right-0":"right"===u}),children:d})]})}))},exports.VertexRotateButton=Hc,exports.VertexSceneTree=n=>{var{id:o,font:r,backgroundColors:i,children:s,style:l,onPointerDown:c,onClick:u,onToggleSelection:d,onToggleExpansion:f,onToggleVisibility:h,className:m,rowData:v}=n,g=e.__rest(n,["id","font","backgroundColors","children","style","onPointerDown","onClick","onToggleSelection","onToggleExpansion","onToggleVisibility","className","rowData"]);const y=_s(dc),b=$l(),w=rc(),x=_s(Ea),_=fc({state:nc}),S=null!=s&&!1!==s,E=(e,t,n)=>{w.toggleExpansion(e,t,n),null==f||f(e,t,n)},T=(e,t,n)=>{w.toggleSelection(e,t,n),null==d||d(e,t,n)},V=(e,t,n)=>{w.toggleVisibility(e,t,n),null==h||h(e,t,n)};return t.jsx("div",{className:p("flex flex-col w-full h-full",m),children:t.jsx("div",{className:"flex group h-full",children:t.jsx(a.VertexSceneTree,Object.assign({id:null!=o?o:"vertex-scene-tree","data-testid":"vertex-scene-tree",config:y,ref:_,className:"flex-1",style:Object.assign(Object.assign(Object.assign({},pc(r)),mc(i)),l),onConnectionError:e=>{ta("Scene Tree Connection Error: ",e.detail)},viewer:x,onPointerDown:e=>{var t,n;t=e.target,n="VERTEX-SCENE-TREE-TABLE-COLUMN",t instanceof Element&&t.tagName===n&&b.clearSelection(),null==c||c(e)},onClick:e=>{e.altKey&&w.flyToRow(e.clientY),null==u||u(e)},rowData:e=>{var t;const n=null!==(t=null==v?void 0:v(e))&&void 0!==t?t:{};return Object.assign({handleExpansion:E,handleSelection:T,handleVisibility:V},n)}},g,{children:S?s:t.jsxs(t.Fragment,{children:[t.jsx(wc,{}),t.jsx(Ec,{}),t.jsx(lc,{})]})}))})})},exports.VertexSceneTreeContextMenu=lc,exports.VertexSceneTreeHeader=wc,exports.VertexSceneTreeTableLayout=Ec,exports.VertexShowAllMenuItem=Ql,exports.VertexShowOnlyMenuItem=ec,exports.VertexShowOnlySelectedMenuItem=tc,exports.VertexToolbar=Yc,exports.VertexViewer=n=>{var{id:r,className:i,disableSelection:s,onTap:l,onLongpress:c,onFrameDrawn:u,viewerRefCallback:d,children:f}=n,h=e.__rest(n,["id","className","disableSelection","onTap","onLongpress","onFrameDrawn","viewerRefCallback","children"]);const m=_s(dc),v=fc({state:Ea}),g=Ia(),y=gl(),b=$l(),w={frameDrawn:ra((({set:e,reset:t,snapshot:n})=>async t=>{const o=await n.getPromise(Hl);e(ka,t.detail.scene),e(Hl,t.detail.scene.sceneViewSummary.selectedVisibleSummary),e(Ul,o)}))},[x,_]=Es(Ta),S=_s(ja),E=_s(Za),T=_s(Fc),V=null!=f&&!1!==f;return(({keydownRepeatInterval:e=25,keydownIgnorePredicate:t=_l}={})=>{const[n,r]=Vl(),i=o.useCallback((e=>{Object.keys(n.bindings).filter((t=>t.includes(e)&&Nl(t,Object.assign(Object.assign({},n.pressed),{[e]:!0})))).forEach((e=>{const t=n.bindings[e],o=t.length>0?t[t.length-1]:void 0;null!=o&&(o.fn(),r({type:"remove-key-binding",binding:o}))}))}),[n]);o.useEffect((()=>{const e=e=>{if(!e.repeat&&!t(e.target)){r({type:"set-key-pressed",key:e.key,pressed:!0}),i(e.key);const t=Object.assign(Object.assign({},n.pressed),{[e.key]:!0}),o=kl(n.applyBindings,t,e.key),s=Rl(n.applyBindings,t,e.key);(o.length>0||s.length>0)&&e.preventDefault()}},o=e=>{r({type:"set-key-pressed",key:e.key,pressed:!1})};return window.addEventListener("keydown",e),window.addEventListener("keyup",o),()=>{window.removeEventListener("keydown",e),window.removeEventListener("keyup",o)}}),[i,n.applyBindings,n.pressed]),o.useEffect((()=>{const e=kl(n.applyBindings,n.pressed,n.lastPressed),t=Rl(n.applyBindings,n.pressed,n.lastPressed);e.forEach((e=>e())),t.forEach((e=>e()))}),[n.pressed,n.lastPressed]),o.useEffect((()=>{const t=n.applyBindings.filter((e=>e.repeat&&null!=e.keyBind&&Nl(e.keyBind,n.pressed))).map((e=>e.fn));if(t.length>0){const n=setInterval((()=>{t.forEach((e=>e()))}),e);return()=>{clearInterval(n)}}return()=>{}}),[n.applyBindings,n.lastPressed])})(),Cl({fn:ra((({snapshot:e})=>async()=>{const t=await e.getPromiseRequired(Na),n=await t();await(null==n?void 0:n.camera().viewAll().render({animation:{milliseconds:500}}))})),keyBind:"f"}),t.jsxs(a.VertexViewer,Object.assign({id:null!=r?r:"vertex-viewer","data-testid":"vertex-viewer",ref:null!=d?d:v,className:p("flex w-full h-full",i,{"cursor-crosshair":E.hitPending}),config:m,cameraType:x?S:void 0,onCameraTypeChanged:e=>{x&&g.updateCameraType(e.detail)},onTap:e=>{const t=[...s?[]:[b.selectCurrentHit]];y.tap(e,...t),null==l||l(e)},onLongpress:e=>{y.longPress(e),null==c||c(e)},onFrameDrawn:e=>{w.frameDrawn(e),null==u||u(e)}},h,{onSceneReady:()=>{x||_(!0)},children:[T&&t.jsx(Zc,{}),V?f:t.jsxs(t.Fragment,{children:[t.jsx(Qc,{}),t.jsx(Yc,{}),t.jsx(uc,{})]})]}))},exports.VertexViewerContextMenu=uc,exports.VertexViewerCrossSectionButton=Bc,exports.VertexViewerSceneReset=Xc,exports.VertexViewerToolbarDivider=kc,exports.VertexViewerToolkitRoot=n=>{var{override:r,autoDefineCustomElements:i,children:s,config:a}=n,u=e.__rest(n,["override","autoDefineCustomElements","children","config"]);return o.useEffect((()=>{(null==i||i)&&(c.defineCustomElements(),l.defineCustomElements())}),[i]),t.jsx(ys,{override:r,children:t.jsxs(t.Fragment,{children:[t.jsx(eu,Object.assign({},u)),t.jsx(tu,{config:a,children:s})]})})},exports.VertexViewerViewCube=Qc,exports.VertexZoomButton=Wc;
|
|
8
8
|
//# sourceMappingURL=bundle.cjs.js.map
|