@atom.io/template-preact-svg-editor 0.0.12 → 0.0.14

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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @atom.io/template-preact-svg-editor@0.0.12 build /home/runner/work/wayforge/wayforge/templates/preact-svg-editor
2
+ > @atom.io/template-preact-svg-editor@0.0.14 build /home/runner/work/wayforge/wayforge/templates/preact-svg-editor
3
3
  > vite build
4
4
 
5
5
  vite v7.2.4 building client environment for production...
@@ -9,5 +9,5 @@ rendering chunks...
9
9
  computing gzip size...
10
10
  dist/index.html  0.52 kB │ gzip: 0.33 kB
11
11
  dist/assets/index-jy4_OpZh.css  1.60 kB │ gzip: 0.72 kB
12
- dist/assets/index-BmCy3HYd.js 73.08 kB │ gzip: 23.50 kB
13
- ✓ built in 1.46s
12
+ dist/assets/index-D7Z6CQ4r.js 73.03 kB │ gzip: 23.50 kB
13
+ ✓ built in 645ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atom.io/template-preact-svg-editor
2
2
 
3
+ ## 0.0.14
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [d6fd8c2]
8
+ - atom.io@0.44.15
9
+
10
+ ## 0.0.13
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [5ce6f7b]
15
+ - Updated dependencies [5ce6f7b]
16
+ - Updated dependencies [5ce6f7b]
17
+ - atom.io@0.44.14
18
+
3
19
  ## 0.0.12
4
20
 
5
21
  ### Patch Changes
@@ -0,0 +1,14 @@
1
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))o(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const i of s.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&o(i)}).observe(document,{childList:!0,subtree:!0});function n(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function o(r){if(r.ep)return;r.ep=!0;const s=n(r);fetch(r.href,s)}})();var Re,m,zt,H,ht,Gt,Bt,Jt,nt,We,ze,Yt,se={},qt=[],Un=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,de=Array.isArray;function j(e,t){for(var n in t)e[n]=t[n];return e}function ot(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function Ge(e,t,n){var o,r,s,i={};for(s in t)s=="key"?o=t[s]:s=="ref"?r=t[s]:i[s]=t[s];if(arguments.length>2&&(i.children=arguments.length>3?Re.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(s in e.defaultProps)i[s]===void 0&&(i[s]=e.defaultProps[s]);return we(e,i,o,r,null)}function we(e,t,n,o,r){var s={type:e,props:t,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:r??++zt,__i:-1,__u:0};return r==null&&m.vnode!=null&&m.vnode(s),s}function M(e){return e.children}function D(e,t){this.props=e,this.context=t}function X(e,t){if(t==null)return e.__?X(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?X(e):null}function Zt(e){var t,n;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null){e.__e=e.__c.base=n.__e;break}return Zt(e)}}function Be(e){(!e.__d&&(e.__d=!0)&&H.push(e)&&!Se.__r++||ht!=m.debounceRendering)&&((ht=m.debounceRendering)||Gt)(Se)}function Se(){for(var e,t,n,o,r,s,i,l=1;H.length;)H.length>l&&H.sort(Bt),e=H.shift(),l=H.length,e.__d&&(n=void 0,o=void 0,r=(o=(t=e).__v).__e,s=[],i=[],t.__P&&((n=j({},o)).__v=o.__v+1,m.vnode&&m.vnode(n),rt(t.__P,n,o,t.__n,t.__P.namespaceURI,32&o.__u?[r]:null,s,r??X(o),!!(32&o.__u),i),n.__v=o.__v,n.__.__k[n.__i]=n,en(s,n,i),o.__e=o.__=null,n.__e!=r&&Zt(n)));Se.__r=0}function Xt(e,t,n,o,r,s,i,l,c,u,f){var a,d,_,p,y,w,h,g=o&&o.__k||qt,T=t.length;for(c=Ln(n,t,g,c,T),a=0;a<T;a++)(_=n.__k[a])!=null&&(d=_.__i==-1?se:g[_.__i]||se,_.__i=a,w=rt(e,_,d,r,s,i,l,c,u,f),p=_.__e,_.ref&&d.ref!=_.ref&&(d.ref&&st(d.ref,null,_),f.push(_.ref,_.__c||p,_)),y==null&&p!=null&&(y=p),(h=!!(4&_.__u))||d.__k===_.__k?c=Qt(_,c,e,h):typeof _.type=="function"&&w!==void 0?c=w:p&&(c=p.nextSibling),_.__u&=-7);return n.__e=y,c}function Ln(e,t,n,o,r){var s,i,l,c,u,f=n.length,a=f,d=0;for(e.__k=new Array(r),s=0;s<r;s++)(i=t[s])!=null&&typeof i!="boolean"&&typeof i!="function"?(c=s+d,(i=e.__k[s]=typeof i=="string"||typeof i=="number"||typeof i=="bigint"||i.constructor==String?we(null,i,null,null,null):de(i)?we(M,{children:i},null,null,null):i.constructor==null&&i.__b>0?we(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i).__=e,i.__b=e.__b+1,l=null,(u=i.__i=Hn(i,n,c,a))!=-1&&(a--,(l=n[u])&&(l.__u|=2)),l==null||l.__v==null?(u==-1&&(r>f?d--:r<f&&d++),typeof i.type!="function"&&(i.__u|=4)):u!=c&&(u==c-1?d--:u==c+1?d++:(u>c?d--:d++,i.__u|=4))):e.__k[s]=null;if(a)for(s=0;s<f;s++)(l=n[s])!=null&&(2&l.__u)==0&&(l.__e==o&&(o=X(l)),nn(l,l));return o}function Qt(e,t,n,o){var r,s;if(typeof e.type=="function"){for(r=e.__k,s=0;r&&s<r.length;s++)r[s]&&(r[s].__=e,t=Qt(r[s],t,n,o));return t}e.__e!=t&&(o&&(t&&e.type&&!t.parentNode&&(t=X(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function $e(e,t){return t=t||[],e==null||typeof e=="boolean"||(de(e)?e.some(function(n){$e(n,t)}):t.push(e)),t}function Hn(e,t,n,o){var r,s,i,l=e.key,c=e.type,u=t[n],f=u!=null&&(2&u.__u)==0;if(u===null&&e.key==null||f&&l==u.key&&c==u.type)return n;if(o>(f?1:0)){for(r=n-1,s=n+1;r>=0||s<t.length;)if((u=t[i=r>=0?r--:s++])!=null&&(2&u.__u)==0&&l==u.key&&c==u.type)return i}return-1}function mt(e,t,n){t[0]=="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||Un.test(t)?n:n+"px"}function me(e,t,n,o,r){var s,i;e:if(t=="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof o=="string"&&(e.style.cssText=o=""),o)for(t in o)n&&t in n||mt(e.style,t,"");if(n)for(t in n)o&&n[t]==o[t]||mt(e.style,t,n[t])}else if(t[0]=="o"&&t[1]=="n")s=t!=(t=t.replace(Jt,"$1")),i=t.toLowerCase(),t=i in e||t=="onFocusOut"||t=="onFocusIn"?i.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+s]=n,n?o?n.u=o.u:(n.u=nt,e.addEventListener(t,s?ze:We,s)):e.removeEventListener(t,s?ze:We,s);else{if(r=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&n==1?"":n))}}function gt(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t.t==null)t.t=nt++;else if(t.t<n.u)return;return n(m.event?m.event(t):t)}}}function rt(e,t,n,o,r,s,i,l,c,u){var f,a,d,_,p,y,w,h,g,T,R,I,oe,yt,he,re,Ne,A=t.type;if(t.constructor!=null)return null;128&n.__u&&(c=!!(32&n.__u),s=[l=t.__e=n.__e]),(f=m.__b)&&f(t);e:if(typeof A=="function")try{if(h=t.props,g="prototype"in A&&A.prototype.render,T=(f=A.contextType)&&o[f.__c],R=f?T?T.props.value:f.__:o,n.__c?w=(a=t.__c=n.__c).__=a.__E:(g?t.__c=a=new A(h,R):(t.__c=a=new D(h,R),a.constructor=A,a.render=zn),T&&T.sub(a),a.props=h,a.state||(a.state={}),a.context=R,a.__n=o,d=a.__d=!0,a.__h=[],a._sb=[]),g&&a.__s==null&&(a.__s=a.state),g&&A.getDerivedStateFromProps!=null&&(a.__s==a.state&&(a.__s=j({},a.__s)),j(a.__s,A.getDerivedStateFromProps(h,a.__s))),_=a.props,p=a.state,a.__v=t,d)g&&A.getDerivedStateFromProps==null&&a.componentWillMount!=null&&a.componentWillMount(),g&&a.componentDidMount!=null&&a.__h.push(a.componentDidMount);else{if(g&&A.getDerivedStateFromProps==null&&h!==_&&a.componentWillReceiveProps!=null&&a.componentWillReceiveProps(h,R),!a.__e&&a.shouldComponentUpdate!=null&&a.shouldComponentUpdate(h,a.__s,R)===!1||t.__v==n.__v){for(t.__v!=n.__v&&(a.props=h,a.state=a.__s,a.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(J){J&&(J.__=t)}),I=0;I<a._sb.length;I++)a.__h.push(a._sb[I]);a._sb=[],a.__h.length&&i.push(a);break e}a.componentWillUpdate!=null&&a.componentWillUpdate(h,a.__s,R),g&&a.componentDidUpdate!=null&&a.__h.push(function(){a.componentDidUpdate(_,p,y)})}if(a.context=R,a.props=h,a.__P=e,a.__e=!1,oe=m.__r,yt=0,g){for(a.state=a.__s,a.__d=!1,oe&&oe(t),f=a.render(a.props,a.state,a.context),he=0;he<a._sb.length;he++)a.__h.push(a._sb[he]);a._sb=[]}else do a.__d=!1,oe&&oe(t),f=a.render(a.props,a.state,a.context),a.state=a.__s;while(a.__d&&++yt<25);a.state=a.__s,a.getChildContext!=null&&(o=j(j({},o),a.getChildContext())),g&&!d&&a.getSnapshotBeforeUpdate!=null&&(y=a.getSnapshotBeforeUpdate(_,p)),re=f,f!=null&&f.type===M&&f.key==null&&(re=tn(f.props.children)),l=Xt(e,de(re)?re:[re],t,n,o,r,s,i,l,c,u),a.base=t.__e,t.__u&=-161,a.__h.length&&i.push(a),w&&(a.__E=a.__=null)}catch(J){if(t.__v=null,c||s!=null)if(J.then){for(t.__u|=c?160:128;l&&l.nodeType==8&&l.nextSibling;)l=l.nextSibling;s[s.indexOf(l)]=null,t.__e=l}else{for(Ne=s.length;Ne--;)ot(s[Ne]);Je(t)}else t.__e=n.__e,t.__k=n.__k,J.then||Je(t);m.__e(J,t,n)}else s==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):l=t.__e=Wn(n.__e,t,n,o,r,s,i,c,u);return(f=m.diffed)&&f(t),128&t.__u?void 0:l}function Je(e){e&&e.__c&&(e.__c.__e=!0),e&&e.__k&&e.__k.forEach(Je)}function en(e,t,n){for(var o=0;o<n.length;o++)st(n[o],n[++o],n[++o]);m.__c&&m.__c(t,e),e.some(function(r){try{e=r.__h,r.__h=[],e.some(function(s){s.call(r)})}catch(s){m.__e(s,r.__v)}})}function tn(e){return typeof e!="object"||e==null||e.__b&&e.__b>0?e:de(e)?e.map(tn):j({},e)}function Wn(e,t,n,o,r,s,i,l,c){var u,f,a,d,_,p,y,w=n.props,h=t.props,g=t.type;if(g=="svg"?r="http://www.w3.org/2000/svg":g=="math"?r="http://www.w3.org/1998/Math/MathML":r||(r="http://www.w3.org/1999/xhtml"),s!=null){for(u=0;u<s.length;u++)if((_=s[u])&&"setAttribute"in _==!!g&&(g?_.localName==g:_.nodeType==3)){e=_,s[u]=null;break}}if(e==null){if(g==null)return document.createTextNode(h);e=document.createElementNS(r,g,h.is&&h),l&&(m.__m&&m.__m(t,s),l=!1),s=null}if(g==null)w===h||l&&e.data==h||(e.data=h);else{if(s=s&&Re.call(e.childNodes),w=n.props||se,!l&&s!=null)for(w={},u=0;u<e.attributes.length;u++)w[(_=e.attributes[u]).name]=_.value;for(u in w)if(_=w[u],u!="children"){if(u=="dangerouslySetInnerHTML")a=_;else if(!(u in h)){if(u=="value"&&"defaultValue"in h||u=="checked"&&"defaultChecked"in h)continue;me(e,u,null,_,r)}}for(u in h)_=h[u],u=="children"?d=_:u=="dangerouslySetInnerHTML"?f=_:u=="value"?p=_:u=="checked"?y=_:l&&typeof _!="function"||w[u]===_||me(e,u,_,w[u],r);if(f)l||a&&(f.__html==a.__html||f.__html==e.innerHTML)||(e.innerHTML=f.__html),t.__k=[];else if(a&&(e.innerHTML=""),Xt(t.type=="template"?e.content:e,de(d)?d:[d],t,n,o,g=="foreignObject"?"http://www.w3.org/1999/xhtml":r,s,i,s?s[0]:n.__k&&X(n,0),l,c),s!=null)for(u=s.length;u--;)ot(s[u]);l||(u="value",g=="progress"&&p==null?e.removeAttribute("value"):p!=null&&(p!==e[u]||g=="progress"&&!p||g=="option"&&p!=w[u])&&me(e,u,p,w[u],r),u="checked",y!=null&&y!=e[u]&&me(e,u,y,w[u],r))}return e}function st(e,t,n){try{if(typeof e=="function"){var o=typeof e.__u=="function";o&&e.__u(),o&&t==null||(e.__u=e(t))}else e.current=t}catch(r){m.__e(r,n)}}function nn(e,t,n){var o,r;if(m.unmount&&m.unmount(e),(o=e.ref)&&(o.current&&o.current!=e.__e||st(o,null,t)),(o=e.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(s){m.__e(s,t)}o.base=o.__P=null}if(o=e.__k)for(r=0;r<o.length;r++)o[r]&&nn(o[r],t,n||typeof e.type!="function");n||ot(e.__e),e.__c=e.__=e.__e=void 0}function zn(e,t,n){return this.constructor(e,n)}function Gn(e,t,n){var o,r,s,i;t==document&&(t=document.documentElement),m.__&&m.__(e,t),r=(o=!1)?null:t.__k,s=[],i=[],rt(t,e=t.__k=Ge(M,null,[e]),r||se,se,t.namespaceURI,r?null:t.firstChild?Re.call(t.childNodes):null,s,r?r.__e:t.firstChild,o,i),en(s,e,i)}function Bn(e){function t(n){var o,r;return this.getChildContext||(o=new Set,(r={})[t.__c]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){o=null},this.shouldComponentUpdate=function(s){this.props.value!=s.value&&o.forEach(function(i){i.__e=!0,Be(i)})},this.sub=function(s){o.add(s);var i=s.componentWillUnmount;s.componentWillUnmount=function(){o&&o.delete(s),i&&i.call(s)}}),n.children}return t.__c="__cC"+Yt++,t.__=e,t.Provider=t.__l=(t.Consumer=function(n,o){return n.children(o)}).contextType=t,t}Re=qt.slice,m={__e:function(e,t,n,o){for(var r,s,i;t=t.__;)if((r=t.__c)&&!r.__)try{if((s=r.constructor)&&s.getDerivedStateFromError!=null&&(r.setState(s.getDerivedStateFromError(e)),i=r.__d),r.componentDidCatch!=null&&(r.componentDidCatch(e,o||{}),i=r.__d),i)return r.__E=r}catch(l){e=l}throw e}},zt=0,D.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=j({},this.state),typeof e=="function"&&(e=e(j({},n),this.props)),e&&j(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),Be(this))},D.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Be(this))},D.prototype.render=M,H=[],Gt=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Bt=function(e,t){return e.__v.__b-t.__v.__b},Se.__r=0,Jt=/(PointerCapture)$|Capture$/i,nt=0,We=gt(!1),ze=gt(!0),Yt=0;var Jn=0;function b(e,t,n,o,r,s){t||(t={});var i,l,c=t;if("ref"in c)for(l in c={},t)l=="ref"?i=t[l]:c[l]=t[l];var u={type:e,props:c,key:n,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Jn,__i:-1,__u:0,__source:r,__self:s};if(typeof e=="function"&&(i=e.defaultProps))for(l in i)c[l]===void 0&&(c[l]=i[l]);return m.vnode&&m.vnode(u),u}function te(e){return JSON.parse(e)}const x=e=>JSON.stringify(e);function on(e=Math.random){return e().toString(36).slice(2)}function v(e){for(;e.child!==null;)e=e.child;return e}function Yn(e){for(;e.parent!==null;)e=e.parent;return e}const qn=/^\[object (?:Async|Generator|AsyncGenerator)?Function\]$/;function W(e){const t=Object.prototype.toString.call(e);return qn.test(t)}function bt(e,t){return W(e)?e(t):e}var Ye=class extends Promise{fate;resolve;reject;done=!1;constructor(e){let t,n;super((o,r)=>{t=o,n=r}),this.resolve=t,this.reject=n,this.use(e instanceof Promise?e:new Promise(e))}pass(e,t){e===this.fate&&(this.resolve(t),this.done=!0)}fail(e,t){e===this.fate&&(this.reject(t),this.done=!0)}use(e){if(this!==e)if(e instanceof Promise){const t=e;this.fate=t,t.then(n=>{this.pass(t,n)},n=>{this.fail(t,n)})}else this.resolve(e),this.fate=void 0}},S=class{Subscriber;subscribers=new Map;subscribe(e,t){return this.subscribers.set(e,t),()=>{this.unsubscribe(e)}}unsubscribe(e){this.subscribers.delete(e)}next(e){const t=this.subscribers.values();for(const n of t)n(e)}},Zn=class extends S{state;constructor(e){super(),this.state=e}next(e){this.state=e,super.next(e)}},Xn=class rn{_buffer;_index=0;constructor(t){let n;typeof t=="number"?n=t:n=t.length,this._buffer=Array.from({length:n})}get buffer(){return this._buffer}get index(){return this._index}add(t){this._buffer[this._index]=t,this._index=(this._index+1)%this._buffer.length}copy(){const t=new rn([...this._buffer]);return t._index=this._index,t}};function Q(e){const t={key:e.key,type:e.type};return"family"in e&&(t.family=e.family),t}var E=class extends Map{deleted=new Set;changed=new Set;source;constructor(e){super(),this.source=e}get(e){if(super.has(e))return super.get(e);if(!this.deleted.has(e)&&this.source.has(e))return this.source.get(e)}set(e,t){return this.deleted.delete(e),this.source.has(e)&&this.changed.add(e),super.set(e,t)}hasOwn(e){return super.has(e)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.source.has(e)&&(this.deleted.add(e),this.changed.delete(e)),super.delete(e)}clear(){this.deleted=new Set(this.source.keys()),this.changed.clear(),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(const[e,t]of this.source)!this.deleted.has(e)&&!this.changed.has(e)&&(yield[e,t])}*entries(){yield*this[Symbol.iterator]()}*keys(){yield*super.keys();for(const e of this.source.keys())!this.deleted.has(e)&&!this.changed.has(e)&&(yield e)}*values(){for(const[,e]of this[Symbol.iterator]())yield e}forEach(e){for(const[t,n]of this[Symbol.iterator]())e(n,t,this)}get size(){return super.size+this.source.size-this.changed.size-this.deleted.size}},sn=class extends Set{deleted=new Set;source;constructor(e){super(),this.source=e}add(e){return this.source.has(e)?(this.deleted.delete(e),this):super.add(e)}hasOwn(e){return super.has(e)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.source.has(e)?(this.deleted.add(e),!0):super.delete(e)}clear(){this.deleted=new Set(this.source),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(const e of this.source)this.deleted.has(e)||(yield e)}*iterateOwn(){yield*super[Symbol.iterator]()}get size(){return super.size+this.source.size-this.deleted.size}},Qn=class extends Map{deleted=new Set;source;constructor(e){super(),this.source=e}get(e){if(super.has(e))return super.get(e);if(!this.deleted.has(e)&&this.source.has(e)){const t=new sn(this.source.get(e));return super.set(e,t),t}}set(e,t){return this.deleted.delete(e),super.set(e,t)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.deleted.add(e),super.delete(e)}},V=class ln{a;b;cardinality;relations=new Map;contents=new Map;isAType;isBType;isContent;makeContentKey=(t,n)=>`${t}:${n}`;warn;getRelatedKeys(t){return this.relations.get(t)}addRelation(t,n){let o=this.relations.get(t),r=this.relations.get(n);o?o.add(n):(o=new Set([n]),this.relations.set(t,o)),r?r.add(t):(r=new Set([t]),this.relations.set(n,r))}deleteRelation(t,n){const o=this.relations.get(t);if(o){o.delete(n),o.size===0&&this.relations.delete(t);const r=this.relations.get(n);r&&(r.delete(t),r.size===0&&this.relations.delete(n))}}replaceRelationsUnsafely(t,n){this.relations.set(t,new Set(n));for(const o of n){const r=new Set().add(t);this.relations.set(o,r)}}replaceRelationsSafely(t,n){const o=this.relations.get(t);let r=this.isAType?.(t)?t:void 0,s=r===void 0?t:void 0;if(o)for(const i of o){r??=i,s??=i;const l=this.relations.get(i);l&&(l.size===1?this.relations.delete(i):l.delete(t),this.contents.delete(this.makeContentKey(r,s)))}this.relations.set(t,new Set(n));for(const i of n){let l=this.relations.get(i);l?l.add(t):(l=new Set().add(t),this.relations.set(i,l))}}getContentInternal(t){return this.contents.get(t)}setContent(t,n){this.contents.set(t,n)}deleteContent(t){this.contents.delete(t)}constructor(t,n){if(this.a=t.between[0],this.b=t.between[1],this.cardinality=t.cardinality,this.isAType=n?.isAType??null,this.isBType=n?.isBType??null,this.isContent=n?.isContent??null,n?.makeContentKey&&(this.makeContentKey=n.makeContentKey),!n?.externalStore){const o=n?.source;o===void 0&&(this.relations=new Map(t.relations?.map(([r,s])=>[r,new Set(s)])),this.contents=new Map(t.contents)),o&&(this.relations=new Qn(o.relations),this.contents=new E(o.contents))}if(n?.externalStore){const o=n.externalStore;this.has=(r,s)=>o.has(r,s),this.addRelation=(r,s)=>{o.addRelation(r,s)},this.deleteRelation=(r,s)=>{o.deleteRelation(r,s)},this.replaceRelationsSafely=(r,s)=>{o.replaceRelationsSafely(r,s)},this.replaceRelationsUnsafely=(r,s)=>{o.replaceRelationsUnsafely(r,s)},this.getRelatedKeys=(r=>o.getRelatedKeys(r)),o.getContent&&(this.getContentInternal=r=>o.getContent(r),this.setContent=(r,s)=>{o.setContent(r,s)},this.deleteContent=r=>{o.deleteContent(r)});for(const[r,s]of t.relations??[]){let i=this.isAType?.(r)?r:void 0,l=i===void 0?r:void 0;for(const c of s)i??=c,l??=c,this.addRelation(i,l)}for(const[r,s]of t.contents??[])this.setContent(r,s)}n?.warn&&(this.warn=n.warn)}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([t,n])=>[t,[...n]]),contents:[...this.contents.entries()]}}set(...t){let n,o,r;switch(t.length){case 1:{const s=t[0];n=s[this.a],o=s[this.b],r=void 0;break}case 2:{const s=t[0];typeof s=="string"?[n,o]=t:(n=s[this.a],o=s[this.b],r=t[1]);break}default:n=t[0],o=t[1],r=t[2];break}switch(this.cardinality){case"1:1":{const s=this.getRelatedKey(n);s&&s!==o&&this.delete(n,s)}case"1:n":{const s=this.getRelatedKey(o);s&&s!==n&&this.delete(s,o)}break}if(r){const s=this.makeContentKey(n,o);this.setContent(s,r)}return this.addRelation(n,o),this}delete(t,n){n=typeof n=="string"?n:t[this.b];const o=typeof t=="string"?t:t[this.a];if(o===void 0&&typeof n=="string"){const r=this.getRelatedKeys(n);if(r)for(const s of r)this.delete(s,n)}else if(typeof o=="string"&&n===void 0){const r=this.getRelatedKeys(o);if(r)for(const s of r)this.delete(o,s)}else if(typeof o=="string"&&typeof n=="string"){this.deleteRelation(o,n);const r=this.makeContentKey(o,n);this.deleteContent(r)}return this}getRelatedKey(t){const n=this.getRelatedKeys(t);if(n){n.size>1&&this.warn?.(`${n.size} related keys were found for key "${t}": (${[...n].map(r=>`"${r}"`).join(", ")}). Only one related key was expected.`);let o;for(const r of n){o=r;break}return o}}replaceRelations(t,n,o){const r=!Array.isArray(n),s=r?Object.keys(n):n;if(o?.reckless?this.replaceRelationsUnsafely(t,s):this.replaceRelationsSafely(t,s),r)for(const i of s){const l=this.makeContentKey(t,i),c=n[i];this.setContent(l,c)}return this}getContent(t,n){const o=this.makeContentKey(t,n);return this.getContentInternal(o)}getRelationEntries(t){const n=t[this.a],o=t[this.b];if(n!==void 0&&o===void 0){const r=this.getRelatedKeys(n);if(r)return[...r].map(s=>[s,this.getContent(n,s)])}if(n===void 0&&o!==void 0){const r=this.getRelatedKeys(o);if(r)return[...r].map(s=>[s,this.getContent(s,o)])}return[]}has(t,n){return n?this.getRelatedKeys(t)?.has(n)??!1:this.relations.has(t)}overlay(){const t={source:this,makeContentKey:this.makeContentKey};return this.isAType&&(t.isAType=this.isAType),this.isBType&&(t.isBType=this.isBType),this.isContent&&(t.isContent=this.isContent),this.warn&&(t.warn=this.warn),new ln({between:[this.a,this.b],cardinality:this.cardinality},t)}incorporate(t){const{relations:n,contents:o}=t;for(const[r,s]of n)if(s instanceof sn){const{source:i}=s;for(const l of s.iterateOwn())i.add(l)}else this.relations.set(r,s);for(const r of n.deleted)this.relations.delete(r);for(const[r,s]of o)this.contents.set(r,s);for(const r of o.deleted)this.contents.delete(r)}};function eo(e){return e.startsWith("🔍 ")}const to=e=>{e.logger.info("🪂","transaction",e.transactionMeta.update.token.key,"Aborting transaction"),e.parent.child=null};function an(e,t,n){return(...o)=>C(e,t).run(o,n)}function no(e,t,n){const{token:o,update:{newValue:r,oldValue:s}}=t;U(e,o,r)}function oo(e){const{stack:t}=e;return t?`
2
+ `+t.split(`
3
+ `)?.slice(1)?.join(`
4
+ `):""}function cn(e,t,n,o="any"){const r=t,s=x(n),i=[],l=v(e);if(Array.isArray(r))for(const f of r){const a=x(f);l.molecules.get(a)?e.moleculeGraph.set(a,s,{source:a}):i.push(a)}else{const f=x(r);l.molecules.get(f)?e.moleculeGraph.set(f,s,{source:f}):i.push(f)}const c=new S;i.length===0&&l.molecules.set(s,{key:n,stringKey:s,dependsOn:o,subject:c});const u={type:"molecule_creation",key:n,provenance:r,timestamp:Date.now()};K(l)&&l.transactionMeta.phase==="building"?l.transactionMeta.update.subEvents.push(u):l.on.moleculeCreation.next(u);for(const f of i){const a=e.disposalTraces.buffer.find(d=>d?.key===f);e.logger.error("❌","key",n,"allocation failed:",`Could not allocate to ${f} in store "${e.config.name}".`,a?`
5
+ ${f} was most recently disposed
6
+ ${a.trace}`:`No previous disposal trace for ${f} was found.`)}return n}function it(e,t){const n=x(t),o=e.molecules.get(n);if(!o){const d=e.disposalTraces.buffer.find(_=>_?.key===n);e.logger.error("❌","key",t,"deallocation failed:",`Could not find allocation for ${n} in store "${e.config.name}".`,d?`
7
+ This state was most recently deallocated
8
+ ${d.trace}`:`No previous disposal trace for ${n} was found.`);return}o.subject.next();const r=e.keyRefsInJoins.getRelatedKeys(n);if(r)for(const d of r){const _=e.joins.get(d);_&&_.relations.delete(t)}else{const d=Po(t);if(d){const[,_,p]=d,y=e.keyRefsInJoins.getRelatedKey(Ao(_,p));if(y){const w=e.joins.get(y);w&&w.relations.delete(_,p)}}}e.keyRefsInJoins.delete(n);const s=[],i=[],l=e.moleculeGraph.getRelationEntries({downstreamMoleculeKey:n});if(l)for(const[d,{source:_}]of l)_===n?it(e,te(d)):s.push(_);const c=e.moleculeData.getRelatedKeys(o.stringKey);if(c)for(const d of c){const _=e.families.get(d),p=F(e,_,t);i.push([_.key,p]),Me(e,_,t)}const u={type:"molecule_disposal",key:o.key,values:i,provenance:s,timestamp:Date.now()};e.molecules.delete(n);const f=K(e)&&e.transactionMeta.phase==="building";f&&e.transactionMeta.update.subEvents.push(u),e.moleculeGraph.delete(o.stringKey),e.keyRefsInJoins.delete(o.stringKey),e.moleculeData.delete(o.stringKey),f||e.on.moleculeDisposal.next(u),e.molecules.delete(o.stringKey);const a=oo(new Error);e.disposalTraces.add({key:n,trace:a})}function wt(e,t,n,o){const r=x(n),s=v(e),i=s.molecules.get(r);if(!i){const a=e.disposalTraces.buffer.find(d=>d?.key===r);return e.logger.error("❌","key",r,"claim failed:",`Could not allocate to ${r} in store "${e.config.name}".`,a?`
9
+ ${r} was most recently disposed
10
+ ${a.trace}`:`No previous disposal trace for ${r} was found.`),n}const l=x(t),c=s.molecules.get(l);if(!c){const a=e.disposalTraces.buffer.find(d=>d?.key===l);return e.logger.error("❌","key",n,"claim failed:",`Could not allocate to ${l} in store "${e.config.name}".`,a?`
11
+ ${l} was most recently disposed
12
+ ${a.trace}`:`No previous disposal trace for ${l} was found.`),n}const u=e.moleculeGraph.getRelationEntries({downstreamMoleculeKey:i.stringKey}).filter(([,{source:a}])=>a!==r).map(([a])=>te(a));o&&s.moleculeGraph.delete(r),s.moleculeGraph.set({upstreamMoleculeKey:c.stringKey,downstreamMoleculeKey:i.stringKey},{source:c.stringKey});const f={type:"molecule_transfer",key:i.key,exclusive:!!o,from:u,to:[c.key],timestamp:Date.now()};return K(s)&&s.transactionMeta.phase==="building"&&s.transactionMeta.update.subEvents.push(f),n}function ro(e,t,n){switch(n){case"newValue":un(e,t);break;case"oldValue":Me(e,t.token);break}}function so(e,t,n){switch(n){case"newValue":Me(e,t.token);break;case"oldValue":un(e,t),t.subType==="atom"&&e.valueMap.set(t.token.key,t.value);break}}function un(e,t){const{token:n}=t;t.subType==="writable"&&t.value?U(e,n,t.value):F(e,n)}function io(e,t,n){switch(n){case"newValue":cn(e,t.provenance,t.key);break;case"oldValue":it(e,t.key);break}}function lo(e,t,n){switch(n){case"newValue":it(e,t.key);break;case"oldValue":cn(e,t.provenance.map(te),t.key);for(const[o,r]of t.values){const s=e.families.get(o);if(s){F(e,s,t.key);const i=`${o}(${x(t.key)})`;e.valueMap.set(i,r)}}break}}function ao(e,t,n){switch(n){case"newValue":for(const o of t.to)wt(e,o,t.key,t.exclusive?"exclusive":void 0);break;case"oldValue":{let o="exclusive";for(const r of t.from)wt(e,r,t.key,o),o=void 0}break}}function fn(e,t,n){const o=t.subEvents;for(const r of o)switch(r.type){case"atom_update":no(e,r);break;case"state_creation":ro(e,r,n);break;case"state_disposal":so(e,r,n);break;case"molecule_creation":io(e,r,n);break;case"molecule_disposal":lo(e,r,n);break;case"molecule_transfer":ao(e,r,n);break;case"transaction_outcome":fn(e,r,n);break}}function ie(e){return"epoch"in e.transactionMeta}function K(e){return"phase"in e.transactionMeta}function _n(e,t){return e.transactionMeta.actionContinuities.getRelatedKey(t)}function co(e,t){return e.transactionMeta.epoch.get(t)}function uo(e,t){const n=_n(e,t);if(n!==void 0)return co(e,n)}function fo(e,t,n){const o=_n(e,t);o!==void 0&&e.transactionMeta.epoch.set(o,n)}function _o(e,t){const n=v(e),{parent:o}=n;n.transactionMeta.phase="applying",n.transactionMeta.update.output=t,o.child=null,o.on.transactionApplying.next(n.transactionMeta);const{subEvents:r}=n.transactionMeta.update;e.logger.info("🛄","transaction",n.transactionMeta.update.token.key,`applying ${r.length} subEvents:`,r),fn(o,n.transactionMeta.update,"newValue"),ie(o)?(fo(o,n.transactionMeta.update.token.key,n.transactionMeta.update.epoch),C(e,{key:n.transactionMeta.update.token.key,type:"transaction"})?.subject.next(n.transactionMeta.update),e.logger.info("🛬","transaction",n.transactionMeta.update.token.key,"applied")):K(o)&&o.transactionMeta.update.subEvents.push(n.transactionMeta.update),o.on.transactionApplying.next(null)}function po(e){return{store:e}}const yo=(e,t,n,o)=>{const r=v(e),s={parent:r,child:null,on:r.on,loggers:r.loggers,logger:r.logger,config:r.config,atoms:new E(r.atoms),atomsThatAreDefault:new Set(r.atomsThatAreDefault),families:new E(r.families),joins:new E(r.joins),operation:{open:!1},readonlySelectors:new E(r.readonlySelectors),timelines:new E(r.timelines),timelineTopics:r.timelineTopics.overlay(),trackers:new Map,transactions:new E(r.transactions),selectorAtoms:r.selectorAtoms.overlay(),selectorGraph:r.selectorGraph.overlay(),writableSelectors:new E(r.writableSelectors),valueMap:new E(r.valueMap),defaults:r.defaults,disposalTraces:e.disposalTraces.copy(),molecules:new E(r.molecules),moleculeGraph:r.moleculeGraph.overlay(),moleculeData:r.moleculeData.overlay(),keyRefsInJoins:r.keyRefsInJoins.overlay(),miscResources:new E(r.miscResources)},i=uo(e,t.key),l={phase:"building",update:{type:"transaction_outcome",token:t,id:o,epoch:i===void 0?NaN:i+1,timestamp:Date.now(),subEvents:[],params:n,output:void 0},toolkit:{get:((...u)=>F(c,...u)),set:((...u)=>{U(c,...u)}),reset:((...u)=>{ct(c,...u)}),run:(u,f=on())=>an(c,u,f),find:((...u)=>G(e,...u)),json:u=>pe(c,u),dispose:((...u)=>{Me(c,...u)}),env:()=>po(c)}},c=Object.assign(s,{transactionMeta:l});return r.child=c,e.logger.info("🛫","transaction",t.key,"building with params:",n),c};function dn(e,t){const{key:n}=t,o=e.transactions.has(n),r={key:n,type:"transaction",run:(i,l)=>{const c=yo(e,Q(r),i,l);try{const{toolkit:u}=c.transactionMeta,f=t.do(u,...i);return _o(c,f),f}catch(u){throw to(c),e.logger.warn("💥","transaction",n,"caught:",u),u}},install:i=>dn(i,t),subject:new S};v(e).transactions.set(n,r);const s=Q(r);return o||e.on.transactionCreation.next(s),s}var ho=class{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new V({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new V({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new V({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new V({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new Xn(100);molecules=new Map;moleculeGraph=new V({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});moleculeData=new V({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});keyRefsInJoins=new V({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});miscResources=new Map;on={atomCreation:new S,atomDisposal:new S,selectorCreation:new S,selectorDisposal:new S,timelineCreation:new S,transactionCreation:new S,transactionApplying:new Zn(null),operationClose:new S,moleculeCreation:new S,moleculeDisposal:new S};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:!0};loggers=[new Oo("warn",(e,t,n)=>!eo(n))];logger={error:(...e)=>{for(const t of this.loggers)t.error(...e)},info:(...e)=>{for(const t of this.loggers)t.info(...e)},warn:(...e)=>{for(const t of this.loggers)t.warn(...e)}};constructor(e,t=null){if(this.config={...t?.config,...e},t!==null){this.operation={...t?.operation},ie(t)&&(this.transactionMeta={epoch:new Map(t?.transactionMeta.epoch),actionContinuities:new V(t?.transactionMeta.actionContinuities.toJSON())});for(const[,o]of t.families)o.internalRoles?.includes("mutable")||o.internalRoles?.includes("join")||o.install(this);const n=new Set;for(const[,o]of t.atoms)if(!n.has(o.key)&&(o.install(this),o.type==="mutable_atom")){const r=pe(t,o),s=Rn(o);n.add(r.key),n.add(s.key)}for(const[,o]of t.readonlySelectors)o.install(this);for(const[,o]of t.writableSelectors)n.has(o.key)||o.install(this);for(const[,o]of t.transactions)o.install(this);for(const[,o]of t.timelines)o.install(this)}}};const N={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new ho({name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:!0}),globalThis.ATOM_IO_IMPLICIT_STORE}};var mo=class extends Error{constructor(e,t){super(`${B[e.type]} ${x(e.key)} not found in store "${t.config.name}".`)}};function C(e,t){let n,o=e;for(;o!==null;){switch(t.type){case"atom":case"mutable_atom":n=o.atoms.get(t.key);break;case"writable_pure_selector":case"writable_held_selector":n=o.writableSelectors.get(t.key);break;case"readonly_pure_selector":case"readonly_held_selector":n=o.readonlySelectors.get(t.key);break;case"atom_family":case"mutable_atom_family":case"writable_pure_selector_family":case"readonly_pure_selector_family":case"writable_held_selector_family":case"readonly_held_selector_family":n=o.families.get(t.key);break;case"timeline":n=o.timelines.get(t.key);break;case"transaction":n=o.transactions.get(t.key);break}if(n)return n;o=o.child}throw new mo(t,e)}function pn(e,t,n,o){const r=e.disposalTraces.buffer.find(s=>s?.key===x(o));switch(e.logger.error("❌",t.type,t.key,"gets a fallback value because key",o,"is not allocated",r?`This key was previously disposed:
13
+ ${r.trace}`:"(no previous disposal trace found)"),n.type){case"mutable_atom_family":{if(e.defaults.has(n.key))return e.defaults.get(n.key);const s=new n.class;return e.defaults.set(n.key,s),s.READONLY_VIEW}case"atom_family":{if(e.defaults.has(n.key))return e.defaults.get(n.key);const s=n.default,i=s(o);return e.defaults.set(n.key,i),i}case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(e.defaults.has(n.key))return e.defaults.get(n.key);const s=n.default(o);return e.defaults.set(n.key,s),s}}}function Ce(e,t){const{type:n,key:o,catch:r}=t;switch(n){case"readonly_pure_selector":case"writable_pure_selector":{let s;e.logger.info("🧮",n,o,"computing value");try{s=t.getFrom(e),s instanceof Promise&&(s=s.catch(i=>{if(e.logger.error("💥",n,o,"rejected:",i),r){for(const l of r)if(i instanceof l)return i}throw i}))}catch(i){if(e.logger.error("💥",n,o,"rejected:",i),r){for(const l of r)if(i instanceof l)return P(e,t,i)}throw i}return P(e,t,s)}case"atom":{let s;if(W(t.default))try{s=t.default(),s instanceof Promise&&(s=s.catch(i=>{if(e.logger.error("💥",n,o,"rejected:",i),r){for(const l of r)if(i instanceof l)return i}throw i}))}catch(i){if(e.logger.error("💥",n,o,"rejected:",i),r){for(const l of r)if(i instanceof l)return s=P(e,t,i),e.logger.info("✨",t.type,o,"computed default",s),s}throw i}else s=t.default,e.logger.info("✨",t.type,o,"using static default",s);return P(e,t,s)}}}function z(e,t,n){if(e.valueMap.has(t.key))return Mn(e,t,n);e.logger.info("❔",t.type,t.key,"value not found in cache");const{key:o}=t;switch(t.type){case"readonly_held_selector":case"writable_held_selector":return e.logger.info("🧮",t.type,o,"computing value"),t.getFrom(e);case"writable_pure_selector":case"readonly_pure_selector":case"atom":return Ce(e,t);case"mutable_atom":{const r=new t.class;return e.logger.info("✨",t.type,o,"created new instance",r),P(e,t,r)}}}function lt(e,t){return C(e,{key:t.family.key,type:`${t.type}_family`})}const vt={atom_family:"atom",molecule_family:"molecule",mutable_atom_family:"mutable_atom",readonly_held_selector_family:"readonly_held_selector",readonly_pure_selector_family:"readonly_pure_selector",writable_held_selector_family:"writable_held_selector",writable_pure_selector_family:"writable_pure_selector"},le=Symbol("MUST_CREATE"),go=Symbol("DO_NOT_CREATE");function ae(e,t,n,o){const r=x(o),s=t.molecules.get(r);if(!s&&t.config.lifespan==="immortal"){const{type:l,key:c}=n;return t.logger.warn("💣","key",r,"was used to mint a counterfeit token for",l,`"${c}"`),{counterfeit:!0,key:`${c}(${r})`,type:vt[l],family:{key:c,subKey:r}}}let i;if(e===le)t.logger.info("👪",n.type,n.key,"adds member",typeof o=="string"?`\`${o}\``:o),i=n.create(o),s&&t.moleculeData.set(r,n.key);else{const{type:l,key:c}=n;return{key:`${c}(${r})`,type:vt[l],family:{key:c,subKey:r}}}return i}function at(e,...t){let n,o,r,s,i;if(t.length===1){if(i=t[0],"family"in i){const c=lt(e,i);if(r=C(e,c),s=te(i.family.subKey),n=ce(e,c,s),"counterfeit"in i)return{token:i,family:r,subKey:s,isNew:!1};n?i=n:(o=ae(le,e,c,s),i=o)}}else r=C(e,t[0]),s=t[1],n=ce(e,r,s),n?i=n:(o=ae(le,e,r,s),i=o);const l="counterfeit"in i;if(o&&l===!1&&r){let c;switch(i.type){case"readonly_pure_selector":case"readonly_held_selector":c="readable";break;case"atom":case"mutable_atom":case"writable_pure_selector":case"writable_held_selector":c="writable";break}const u={type:"state_creation",subType:c,token:i,timestamp:Date.now()};r.subject.next(u);const f=v(e);if(i.family)if(ie(f))switch(i.type){case"atom":case"mutable_atom":e.on.atomCreation.next(i);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":e.on.selectorCreation.next(i);break}else K(f)&&f.on.transactionApplying.state===null&&f.transactionMeta.update.subEvents.push(u)}return{token:i,family:r,subKey:s,isNew:!!o}}function F(e,...t){const{token:n,family:o,subKey:r}=at(e,...t);return"counterfeit"in n&&o&&r?pn(e,n,o,r):z(e,C(e,n))}function ce(e,t,n){const o=x(n),r=`${t.key}(${o})`,s=v(e);let i;switch(t.type){case"atom_family":case"mutable_atom_family":i=s.atoms.get(r);break;case"writable_held_selector_family":case"writable_pure_selector_family":i=s.writableSelectors.get(r);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":i=s.readonlySelectors.get(r);break}return i&&Q(i)}function G(e,t,n){const o=C(e,t),r=ce(e,t,n);return r||ae(go,e,o,n)}function yn(e,t,n){const o=t.key,r="readonly_pure_selector_family",s={key:o,type:r},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",r,o,`Overwriting an existing ${B[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const l=new S,u={...s,create:f=>{const a=x(f),d={key:o,subKey:a},_=`${o}(${a})`,p=v(e),y={key:_,get:t.get(f)};return t.catch&&(y.catch=t.catch),xn(p,y,d)},internalRoles:n,subject:l,install:f=>yn(f,t),default:f=>t.get(f)({get:((...a)=>F(e,...a)),find:((...a)=>G(e,...a)),json:a=>pe(e,a)})};return e.families.set(o,u),s}function hn(e,t,n){const o={key:t.key,type:"atom_family"},r=e.families.get(t.key);r&&e.config.isProduction===!0&&e.logger.error("❗","atom_family",t.key,`Overwriting an existing ${B[r.type]} "${r.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const s=new S,l={...o,create:c=>{const u=x(c),f={key:t.key,subKey:u},a=`${t.key}(${u})`,d=v(e),_=t.default,p={key:a,default:W(_)?()=>_(c):_};return t.effects&&(p.effects=t.effects(c)),t.catch&&(p.catch=t.catch),Pe(d,p,f)},default:t.default,subject:s,install:c=>hn(c,t),internalRoles:n};return e.families.set(t.key,l),W(t.default)===!1&&e.defaults.set(t.key,t.default),o}function mn(e,t,n){const o=t.key,r="readonly_held_selector_family",s={key:o,type:r},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",r,o,`Overwriting an existing ${B[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const l=new S,u={...s,create:f=>{const a=x(f),d={key:o,subKey:a},_=`${o}(${a})`;return Cn(v(e),{key:_,const:t.const(f),get:t.get(f)},d)},internalRoles:n,subject:l,install:f=>mn(f,t),default:t.const};return e.families.set(o,u),s}function gn(e,t,n){const o=t.key,r="writable_held_selector_family",s={key:o,type:r},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",r,o,`Overwriting an existing ${B[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const l=new S,u={...s,create:f=>{const a=x(f),d={key:o,subKey:a},_=`${o}(${a})`;return Tn(v(e),{key:_,const:t.const(f),get:t.get(f),set:t.set(f)},d)},internalRoles:n,subject:l,install:f=>gn(f,t),default:t.const};return e.families.set(o,u),s}function bn(e,t,n){const o=t.key,r="writable_pure_selector_family",s={key:o,type:r},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",r,o,`Overwriting an existing ${B[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const l=new S,u={...s,create:f=>{const a=x(f),d={key:o,subKey:a},_=`${o}(${a})`,p=v(e),y={key:_,get:t.get(f),set:t.set(f)};return t.catch&&(y.catch=t.catch),Kn(p,y,d)},internalRoles:n,subject:l,install:f=>bn(f,t),default:f=>t.get(f)({get:((...a)=>F(e,...a)),find:((...a)=>G(e,...a)),json:a=>pe(e,a)})};return e.families.set(o,u),s}function bo(e,t){const n="set"in t,o="const"in t;return o&&n?gn(e,t,void 0):o?mn(e,t,void 0):n?bn(e,t):yn(e,t)}function Me(e,...t){let n;if(t.length===1)n=t[0];else{const o=t[0],r=t[1];n=G(e,o,r)}try{C(e,n)}catch{e.logger.error("❌",n.type,n.key,`could not be disposed because it was not found in the store "${e.config.name}".`);return}switch(n.type){case"atom":case"mutable_atom":An(e,n);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":To(e,n);break}}function wn(e,t){if(e.operation.open){const n=performance.now();return e.logger.info("🚫",t.type,t.key,`deferring setState at T-${n} until setState for "${e.operation.token.key}" is done`),n}return e.operation={open:!0,done:new Set,prev:new Map,timestamp:Date.now(),token:t,subEvents:[]},e.logger.info("⭕",t.type,t.key,`operation start in store "${e.config.name}"${K(e)?` ${e.transactionMeta.phase} "${e.transactionMeta.update.token.key}"`:""}`),e}function vn(e){e.operation.open&&e.logger.info("🔴",e.operation.token.type,e.operation.token.key,`operation done in store "${e.config.name}"`),e.operation={open:!1},e.on.operationClose.next(e.operation)}const kn=(e,t)=>e.operation.open?e.operation.done.has(t):(e.logger.error("🐞","unknown",t,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0),Ee=(e,t)=>{if(!e.operation.open){e.logger.error("🐞","unknown",t,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}e.operation.done.add(t)};function qe(e,t,n,o,r){const{oldValue:s,newValue:i}=n,l="oldValue"in n,c=Q(t);if(o&&r){t.subject.next({newValue:i});const _={checkpoint:!0,type:"state_creation",subType:"writable",token:c,timestamp:Date.now(),value:i};e.operation.subEvents.push(_),r.subject.next(_);const p=v(e);if(c.family)if(ie(p))switch(c.type){case"atom":case"mutable_atom":e.on.atomCreation.next(c);break;case"writable_pure_selector":case"writable_held_selector":e.on.selectorCreation.next(c);break}else K(p)&&p.on.transactionApplying.state===null&&p.transactionMeta.update.subEvents.push(_);return}const{key:u,subject:f,type:a}=t;let d;if(l?d={oldValue:ge(s)?s.READONLY_VIEW:s,newValue:ge(i)?i.READONLY_VIEW:i}:d={newValue:ge(i)?i.READONLY_VIEW:i},ie(e)){switch(a){case"mutable_atom":e.logger.info("📢",a,u,"is now (",i,") subscribers:",f.subscribers.keys());break;case"atom":case"writable_pure_selector":case"writable_held_selector":e.logger.info("📢",a,u,"went (",s,"->",i,") subscribers:",f.subscribers.keys())}f.next(d)}if(K(e)&&(a==="mutable_atom"||a==="atom")){if(e.on.transactionApplying.state===null){if(ge(i))return;const{timestamp:_}=e.operation,p={type:"atom_update",token:c,timestamp:_,update:d};e.transactionMeta.update.subEvents.push(p),e.logger.info("📁","atom",u,"stowed (",s,"->",i,")");return}if(ft(t,"tracker:signal")){const _=u.slice(1),p=e.atoms.get(_);z(e,p,"mut").do(d.newValue)===null&&ut(e,p)}}}const kt=Symbol("UNSET"),Ze=(e,t,n)=>{let o,r;if(W(n)){const s=z(e,t,"mut");o=s,r=n(s)}else e.valueMap.has(t.key)?o=Mn(e,t,"mut"):t.type==="atom"&&!W(t.default)?o=t.default:o=kt,r=n;return e.logger.info("⭐","atom",t.key,"setting value",r),r=P(e,t,r),Ee(e,t.key),ut(e,t),o===kt?{newValue:r}:{oldValue:o,newValue:r}};function Fe(e,t){switch(t.type){case"mutable_atom":return Ze(e,t,new t.class);case"atom":{let n;return W(t.default)?n=Ce(e,t):n=t.default,Ze(e,t,n)}}}function wo(e,t){let n;switch(t.type){case"atom":case"mutable_atom":n=Fe(e,t);break;case"writable_held_selector":{const o=ue(e,t.key);for(const s of o.values())qe(e,t,Fe(e,s),!1);const r=t.getFrom(e);n={oldValue:r,newValue:r}}break;case"writable_pure_selector":{const o=Ce(e,t),r=ue(e,t.key);for(const s of r.values())qe(e,t,Fe(e,s),!1);n={oldValue:o,newValue:Ce(e,t)}}break}return n}function U(e,...t){Oe(Qe,e,...t)}const Xe=Symbol("RESET");function ct(e,...t){U(e,...t,Xe)}function vo(e,t,n){let o,r,s;const{type:i,key:l}=t;switch(t.type){case"writable_pure_selector":o=z(e,t,"mut"),r=bt(n,o),r=P(e,t,r);break;case"writable_held_selector":s=t.const,bt(n,s),o=s,r=s}return e.logger.info("⭐",i,l,"setting to",r),Ee(e,l),t.setSelf(r),{oldValue:o,newValue:r}}const ko=(e,t,n)=>{let o;switch(t.type){case"atom":case"mutable_atom":o=Ze(e,t,n);break;case"writable_pure_selector":case"writable_held_selector":o=vo(e,t,n);break}return o},Qe=Symbol("OWN_OP"),Sn=Symbol("JOIN_OP");function Oe(e,t,...n){let o,r,s,i,l,c;n.length===2?(s=n[0],c=n[1],"family"in s&&(i=lt(t,s),l=te(s.family.subKey),o=ce(t,i,l),o?s=o:s=r=ae(le,t,i,l))):(i=C(t,n[0]),l=n[1],c=n[2],o=ce(t,i,l),o?s=o:s=r=ae(le,t,i,l));const u=c===Xe?"reset":"set";let f;if(e===Qe){const _=wn(t,s);if(typeof _=="number"){const p=_,y=t.on.operationClose.subscribe(`waiting to ${u} "${s.key}" at T-${p}`,function(){y(),t.logger.info("🟢",s.type,s.key,"resuming deferred",u,`from T-${p}`),Oe(e,t,s,c)});return}f=_}else f=t;if("counterfeit"in s&&"family"in s){const _=s.family.subKey,p=t.disposalTraces.buffer.find(y=>y?.key===_);t.logger.error("❌",s.type,s.key,"could not be",u,"because key",_,"is not allocated.",p?`this key was previously disposed:${p.trace}`:"(no previous disposal trace found)");return}const a=C(f,s);let d;c===Xe?d=wo(f,a):d=ko(f,a,c),qe(f,a,d,!!r,i),e===Qe&&vn(f)}const $n=(e,t)=>v(e).atoms.has(t),So=(e,t)=>v(e).writableSelectors.has(t),$o=(e,t)=>v(e).readonlySelectors.has(t),Co=(e,t)=>$n(e,t)||So(e,t)||$o(e,t);function St(e,t){return v(e).selectorGraph.getRelationEntries({downstreamSelectorKey:t}).filter(([n,{source:o}])=>o!==t).map(([n,{source:o}])=>o).filter(n=>Co(e,n))}function ue(e,t,n=new Set){const o=St(e,t),r=new Map;for(;o.length>0;){const s=o.pop();if(!n.has(s))if(n.add(s),$n(e,s)){const i=e.atoms.get(s);r.set(i.key,i)}else o.push(...St(e,s))}return r}function xo(e,t,n,o,r){const s=v(e),{type:i,key:l}=o;if(i==="atom"||i==="mutable_atom")s.selectorAtoms.set({selectorKey:n,atomKey:l}),e.logger.info("🔍",t,n,`discovers root atom "${l}"`);else{const c=ue(e,l,r);e.logger.info("🔍",t,n,`discovers root atoms: [ ${[...c.values()].map(u=>`"${u.key}"`).join(", ")} ]`);for(const{key:u}of c.values())s.selectorAtoms=s.selectorAtoms.set({selectorKey:n,atomKey:u})}r.add(l)}function Ae(e,t,n,o){return{get:(...r)=>{const s=v(e),{token:i,family:l,subKey:c}=at(e,...r);let u;return"counterfeit"in i&&l&&c?u=pn(e,i,l,c):u=z(e,C(e,i)),e.logger.info("🔌",t,n,`registers dependency ( "${i.key}" =`,u,")"),s.selectorGraph.set({upstreamSelectorKey:i.key,downstreamSelectorKey:n},{source:i.key}),xo(e,t,n,i,o),u},set:((...r)=>{Oe(Sn,v(e),...r)}),find:((...r)=>G(e,...r)),json:r=>pe(e,r)}}function Cn(e,t,n){const o=v(e),r=new S,s=new Set,{key:i,const:l}=t,c="readonly_held_selector";e.logger.info("🔨",c,i,"is being created");const{get:u,find:f,json:a}=Ae(o,c,i,s),_={...t,type:c,subject:r,getFrom:y=>{const w=y.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[h,{source:g}]of w)g!==i&&y.selectorGraph.delete(h,i);return y.selectorAtoms.delete(i),t.get({get:u,find:f,json:a},l),P(y,_,l),e.logger.info("✨",c,i,"=",l),s.clear(),l},install:y=>Cn(y,t,n)};n&&(_.family=n),o.readonlySelectors.set(i,_);const p={key:i,type:c};return n&&(p.family=n),p}function xn(e,t,n){const o=v(e),r=new S,s=new Set,i=t.key,l="readonly_pure_selector";e.logger.info("🔨",l,i,"is being created");const{get:c,find:u,json:f}=Ae(o,l,i,s),d={...t,type:l,subject:r,getFrom:()=>{const p=v(e),y=p.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[h,{source:g}]of y)g!==i&&p.selectorGraph.delete(h,i);p.selectorAtoms.delete(i);const w=t.get({get:c,find:u,json:f});return e.logger.info("✨",l,i,"=",w),s.clear(),w},install:p=>xn(p,t,n)};n&&(d.family=n),o.readonlySelectors.set(i,d);const _={key:i,type:l};return n&&(_.family=n),_}function Tn(e,t,n){const o=v(e),r=new S,s=new Set,{key:i,const:l}=t,c="writable_held_selector";e.logger.info("🔨",c,i,"is being created");const u=Ae(o,c,i,s),{find:f,get:a,json:d}=u,_={find:f,get:a,json:d},w={...t,type:c,subject:r,getFrom:g=>{const T=g.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[R,{source:I}]of T)I!==i&&g.selectorGraph.delete(R,i);return g.selectorAtoms.delete(i),t.get(_,l),P(g,w,l),e.logger.info("✨",c,i,"=",l),s.clear(),l},setSelf:()=>{t.set(u,l)},install:g=>Tn(g,t,n)};n&&(w.family=n),o.writableSelectors.set(i,w);const h={key:i,type:c};return n&&(h.family=n),h}function Kn(e,t,n){const o=v(e),r=new S,s=new Set,i=t.key,l="writable_pure_selector";e.logger.info("🔨",l,i,"is being created");const c=Ae(o,l,i,s),{find:u,get:f,json:a}=c,d={find:u,get:f,json:a},y={...t,type:l,subject:r,getFrom:h=>{const g=h.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[R,{source:I}]of g)I!==i&&h.selectorGraph.delete(R,i);h.selectorAtoms.delete(i);const T=t.get(d);return e.logger.info("✨",l,i,"=",T),s.clear(),T},setSelf:h=>{t.set(c,h)},install:h=>Kn(h,t,n)};n&&(y.family=n),o.writableSelectors.set(i,y);const w={key:i,type:l};return n&&(w.family=n),w}function To(e,t){const n=v(e),{key:o,type:r,family:s}=t;if(!s)e.logger.error("❌",r,o,"Standalone selectors cannot be disposed.");else{n.molecules.get(s.subKey)&&n.moleculeData.delete(s.subKey,s.key);let i;switch(t.type){case"writable_held_selector":n.writableSelectors.delete(o),i={key:s.key,type:"writable_held_selector_family"},C(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break;case"writable_pure_selector":n.writableSelectors.delete(o),i={key:s.key,type:"writable_pure_selector_family"},C(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break;case"readonly_held_selector":n.readonlySelectors.delete(o),i={key:s.key,type:"readonly_held_selector_family"},C(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break;case"readonly_pure_selector":n.readonlySelectors.delete(o),i={key:s.key,type:"readonly_pure_selector_family"},C(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break}n.valueMap.delete(o),n.selectorAtoms.delete(o),n.selectorGraph.delete(o),n.moleculeData.delete(s.key,s.subKey),e.logger.info("🔥",t.type,o,"deleted"),K(n)&&n.transactionMeta.phase==="building"?n.transactionMeta.update.subEvents.push({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()}):e.on.selectorDisposal.next(t)}}const Ko=(e,t)=>{const n=v(e);return n.operation.open?n.operation.prev.get(t.key):n.valueMap.get(t.key)},$t=(e,t,n)=>n.subject.subscribe(`${t.type}:${t.key}`,o=>{e.logger.info("📢",t.type,t.key,"root",n.key,"went",o.oldValue,"->",o.newValue);const r=Ko(e,t),s=z(e,t);e.logger.info("✨",t.type,t.key,"went",r,"->",s),t.subject.next({newValue:s,oldValue:r})});function xe(e,t,n,o){function r(a){if(e.operation.open){if(s?.type==="atom"&&ft(s,"tracker:signal")&&"*"+e.operation.token.key===t.key&&"inboundTracker"in o)return;const d=e.on.operationClose.subscribe(`state subscription ${n}`,()=>{d(),o(a)})}else o(a)}at(e,t);const s=C(e,t);e.logger.info("👀",s.type,s.key,`Adding subscription "${n}"`);const i=s.type==="writable_pure_selector"||s.type==="readonly_pure_selector",l=new Map;let c=r;if(i){z(e,s);for(const[a,d]of ue(e,s.key))l.set(a,$t(e,s,d));c=function(d){const _=ue(e,s.key);for(const[p,y]of l)_.get(p)?_.delete(p):(y(),l.delete(p));for(const[p,y]of _)l.set(p,$t(e,s,y));r(d)}}const u=s.subject.subscribe(n,c);return()=>{e.logger.info("🙈",s.type,s.key,`Removing subscription "${n}"`),u();for(const a of l.values())a()}}const Ro=(e,t,n,o)=>{const r=C(e,t);e.logger.info("👀","timeline",t.key,`Adding subscription "${n}"`);const s=r.subject.subscribe(n,o);return()=>{e.logger.info("🙈","timeline",t.key,`Removing subscription "${n}" from timeline`),s()}};var Mo=class{initializeSignalAtom(e,t){const n=`*${e.key}`;t.atoms.delete(n),t.valueMap.delete(n);const o=e.family?{key:`*${e.family.key}`,subKey:e.family.subKey}:void 0,r=Pe(t,{key:n,default:null},o,["tracker:signal"]);if(t.parent?.valueMap.has(n)){const s=t.parent.valueMap.get(n);t.valueMap.set(n,s)}return r}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore(e,t,n){const o=e.key,r=`tracker-from-core:${n.config.name}:${K(n)?n.transactionMeta.update.token.key:"main"}:${o}`,s=i=>{Oe(Sn,n,t,i)};this.unsubscribeFromInnerValue=F(n,e).subscribe(r,s),this.unsubscribeFromState=xe(n,e,r,(function(l){l.newValue!==l.oldValue&&(this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=l.newValue.subscribe(r,s))}).bind(this))}supplySignalsToCore(e,t,n){const o=e.key,r=`tracker-to-core:${n.config.name}:${K(n)?n.transactionMeta.update.token.key:"main"}:${o}`;xe(n,t,r,Object.assign(function({newValue:i,oldValue:l}){const c=n.timelineTopics.getRelatedKey(t.key);if(c&&n.timelines.get(c)?.timeTraveling){const u=Ro(n,{key:c,type:"timeline"},r,function(a){u(),U(n,e,d=>(a==="redo"&&i?d.do(i):a==="undo"&&l&&d.undo(l),d))});return}U(n,e,u=>(u.do(i),u))},{inboundTracker:!0}))}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor(e,t){const n=v(t),o=this.initializeSignalAtom(e,n);this.mutableAtomToken=e,this.latestSignalToken=o,this.captureSignalsFromCore(e,o,n),this.supplySignalsToCore(e,o,n),n.trackers.set(e.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),n.trackers.delete(e.key)}}};const pe=(e,t)=>t.family?G(e,C(v(e),{key:`${t.family.key}:JSON`,type:"writable_pure_selector_family"}),te(t.family.subKey)):{type:"writable_pure_selector",key:`${t.key}:JSON`},Rn=e=>{const t={type:"atom",key:`*${e.key}`};return e.family&&(t.family={key:`*${e.family.key}`,subKey:e.family.subKey}),t};function ge(e){return typeof e=="object"&&e!==null&&"do"in e&&"undo"in e&&"subscribe"in e&&"READONLY_VIEW"in e&&"toJSON"in e}function P(e,t,n){const{key:o,subject:r,type:s}=t,i=e.valueMap.get(o);if(i instanceof Ye&&!i.done){const l=i;return n instanceof Promise?(l.use(n),l):(e.valueMap.set(o,n),n)}if(n instanceof Promise){const l=new Ye(n);return e.valueMap.set(o,l),l.then(function(u){if(e.valueMap.get(o)===l){switch(wn(e,t),P(e,t,u),s){case"atom":ut(e,t);break;case"readonly_pure_selector":case"writable_pure_selector":On(e,o);break}vn(e),r.next({newValue:u,oldValue:l})}}).catch(c=>{e.logger.error("💥",t.type,o,"rejected:",c)}),l}return e.logger.info("📝",t.type,t.key,"writing to cache",n),e.valueMap.set(o,n),n}function Mn(e,t,n){e.logger.info("📖",t.type,t.key,"reading cached value");let o=e.valueMap.get(t.key);if(n==="mut"&&t.type==="mutable_atom"&&K(e)){const r=t,{parent:s}=e;if(e.valueMap.hasOwn(r.key))return o;const i=s.valueMap.get(r.key);e.logger.info("📃","atom",r.key,"copying");const l=i.toJSON(),c=r.class.fromJSON(l);e.valueMap.set(r.key,c),new Mo(r,s),o=c}return o}function En(e,t){const n=e.valueMap.get(t);n instanceof Ye||(e.operation.open&&e.operation.prev.set(t,n),e.valueMap.delete(t),e.logger.info("🗑","state",t,"evicted"))}function ut(e,t){const n=v(e),{key:o,type:r}=t,s=n.selectorAtoms.getRelatedKeys(o);if(n.logger.info("🧹",r,o,s?`evicting ${s.size} states downstream:`:"no downstream states",s??"to evict"),s){n.operation.open&&n.logger.info("🧹",r,o,`[ ${[...n.operation.done].join(", ")} ] already done`);for(const i of s)kn(n,i)||(En(n,i),Ee(n,i))}}function On(e,t){const n=v(e),o=n.selectorGraph.getRelationEntries({upstreamSelectorKey:t}).filter(([r,{source:s}])=>s===t);for(const[r]of o)kn(n,r)||(En(n,r),Ee(n,r),On(e,r))}function Pe(e,t,n,o){const r="atom",{key:s}=t;e.logger.info("🔨",r,s,"is being created");const i=v(e),l=i.atoms.get(s);if(l?.type===r&&e.config.isProduction===!0)return e.logger.error("❌","atom",s,"Tried to create atom, but it already exists in the store."),Q(l);const c=new S,u={...t,type:r,install:a=>(a.logger.info("🛠️",r,s,`installing in store "${a.config.name}"`),Pe(a,t,n)),subject:c};n&&(u.family=n),o&&(u.internalRoles=o),i.atoms.set(s,u);const f=Q(u);if(t.effects){let a=0;const d=[];for(const _ of t.effects){const p=_({resetSelf:()=>{ct(e,f)},setSelf:y=>{U(e,f,y)},onSet:y=>xe(e,f,`effect[${a}]`,y),token:f,store:Yn(e)});p&&d.push(p),++a}u.cleanup=()=>{for(const _ of d)_()}}return e.on.atomCreation.next(f),f}function ft(e,t){return"internalRoles"in e?e.internalRoles.includes(t):!1}function An(e,t){const n=v(e),{key:o,family:r}=t,s=C(n,t);if(!r)e.logger.error("❌","atom",o,"Standalone atoms cannot be disposed.");else{s.cleanup?.();const i=e.valueMap.get(s.key),l=C(e,lt(e,t)).subject,c={type:"state_disposal",subType:"atom",token:t,value:i,timestamp:Date.now()};l.next(c);const u=K(n);if(n.atoms.delete(o),n.valueMap.delete(o),n.selectorAtoms.delete(o),n.atomsThatAreDefault.delete(o),n.moleculeData.delete(r.key,r.subKey),e.timelineTopics.delete(o),t.type==="mutable_atom"&&(An(e,Rn(t)),e.trackers.delete(o)),e.logger.info("🔥","atom",o,"deleted"),u&&n.transactionMeta.phase==="building"){const f=n.transactionMeta.update.subEvents.at(-1),a=f?.type==="molecule_disposal"&&f.values.some(([_])=>_===s.family?.key),d=ft(s,"tracker:signal");!a&&!d&&n.transactionMeta.update.subEvents.push(c)}else e.on.atomDisposal.next(t)}}function je(e){return Pe(N.STORE,e,void 0)}function _t(e){return hn(N.STORE,e)}function Te(...e){return F(N.STORE,...e)}const B={atom_family:"atom family",atom:"atom",continuity:"continuity",key:"key",mutable_atom_family:"atom family [m]",mutable_atom:"atom [m]",readonly_held_selector_family:"selector family [h]",readonly_held_selector:"selector [h]",readonly_pure_selector_family:"selector family",readonly_pure_selector:"selector",socket:"socket",state:"state",timeline:"timeline",transaction:"transaction",unknown:"unknown",user:"👤",writable_held_selector_family:"selector family [wh]",writable_held_selector:"selector [wh]",writable_pure_selector_family:"selector family [w]",writable_pure_selector:"selector [w]"},Ie=(e,t)=>(n,o,r,s,...i)=>{console[e](`${n} ${B[o]} \`${r}\` ${s}`,...i)},Eo={error:Ie("error"),info:Ie("info"),warn:Ie("warn")};var Oo=class{logLevel;filter;logger;constructor(e,t,n=Eo){this.logLevel=e,this.filter=t,this.logger=n}error=(...e)=>{if(this.logLevel!==null){const t=this.filter?.(...e)??!0;t===!0?this.logger.error(...e):t&&this.logger.error(...t)}};info=(...e)=>{if(this.logLevel==="info"){const t=this.filter?.(...e)??!0;t===!0?this.logger.info(...e):t&&this.logger.info(...t)}};warn=(...e)=>{if(this.logLevel!=="error"&&this.logLevel!==null){const t=this.filter?.(...e)??!0;t===!0?this.logger.warn(...e):t&&this.logger.warn(...t)}}};function Ao(e,t){return[e,t].sort().join("")}function Po(e){if(typeof e!="string")return null;const[t,n]=e.split("==");if(!n)return null;const o=t.slice(4),[r,s]=n.split("++");return o&&r&&s?[o,r,s]:null}function Ct(...e){ct(N.STORE,...e)}function jo(e){return bo(N.STORE,e)}function O(...e){U(N.STORE,...e)}function Do(e){return dn(N.STORE,e)}function No(e,t=on()){return an(N.STORE,e,t)}var L,k,Ve,xt,fe=0,Pn=[],$=m,Tt=$.__b,Kt=$.__r,Rt=$.diffed,Mt=$.__c,Et=$.unmount,Ot=$.__;function ne(e,t){$.__h&&$.__h(k,e,fe||t),fe=0;var n=k.__H||(k.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function Fo(e){return fe=1,Io(Dn,e)}function Io(e,t,n){var o=ne(L++,2);if(o.t=e,!o.__c&&(o.__=[n?n(t):Dn(void 0,t),function(l){var c=o.__N?o.__N[0]:o.__[0],u=o.t(c,l);c!==u&&(o.__N=[u,o.__[1]],o.__c.setState({}))}],o.__c=k,!k.__f)){var r=function(l,c,u){if(!o.__c.__H)return!0;var f=o.__c.__H.__.filter(function(d){return!!d.__c});if(f.every(function(d){return!d.__N}))return!s||s.call(this,l,c,u);var a=o.__c.props!==l;return f.forEach(function(d){if(d.__N){var _=d.__[0];d.__=d.__N,d.__N=void 0,_!==d.__[0]&&(a=!0)}}),s&&s.call(this,l,c,u)||a};k.__f=!0;var s=k.shouldComponentUpdate,i=k.componentWillUpdate;k.componentWillUpdate=function(l,c,u){if(this.__e){var f=s;s=void 0,r(l,c,u),s=f}i&&i.call(this,l,c,u)},k.shouldComponentUpdate=r}return o.__N||o.__}function dt(e,t){var n=ne(L++,3);!$.__s&&pt(n.__H,t)&&(n.__=e,n.u=t,k.__H.__h.push(n))}function Vo(e,t){var n=ne(L++,4);!$.__s&&pt(n.__H,t)&&(n.__=e,n.u=t,k.__h.push(n))}function Uo(e){return fe=5,jn(function(){return{current:e}},[])}function jn(e,t){var n=ne(L++,7);return pt(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function et(e,t){return fe=8,jn(function(){return e},t)}function Lo(e){var t=k.context[e.__c],n=ne(L++,9);return n.c=e,t?(n.__==null&&(n.__=!0,t.sub(k)),t.props.value):e.__}function Ho(){var e=ne(L++,11);if(!e.__){for(var t=k.__v;t!==null&&!t.__m&&t.__!==null;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function Wo(){for(var e;e=Pn.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(ve),e.__H.__h.forEach(tt),e.__H.__h=[]}catch(t){e.__H.__h=[],$.__e(t,e.__v)}}$.__b=function(e){k=null,Tt&&Tt(e)},$.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Ot&&Ot(e,t)},$.__r=function(e){Kt&&Kt(e),L=0;var t=(k=e.__c).__H;t&&(Ve===k?(t.__h=[],k.__h=[],t.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.forEach(ve),t.__h.forEach(tt),t.__h=[],L=0)),Ve=k},$.diffed=function(e){Rt&&Rt(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Pn.push(t)!==1&&xt===$.requestAnimationFrame||((xt=$.requestAnimationFrame)||zo)(Wo)),t.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),Ve=k=null},$.__c=function(e,t){t.some(function(n){try{n.__h.forEach(ve),n.__h=n.__h.filter(function(o){return!o.__||tt(o)})}catch(o){t.some(function(r){r.__h&&(r.__h=[])}),t=[],$.__e(o,n.__v)}}),Mt&&Mt(e,t)},$.unmount=function(e){Et&&Et(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(o){try{ve(o)}catch(r){t=r}}),n.__H=void 0,t&&$.__e(t,n.__v))};var At=typeof requestAnimationFrame=="function";function zo(e){var t,n=function(){clearTimeout(o),At&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(n,35);At&&(t=requestAnimationFrame(n))}function ve(e){var t=k,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),k=t}function tt(e){var t=k;e.__c=e.__(),k=t}function pt(e,t){return!e||e.length!==t.length||t.some(function(n,o){return n!==e[o]})}function Dn(e,t){return typeof t=="function"?t(e):t}function Go(e,t){for(var n in t)e[n]=t[n];return e}function Pt(e,t){for(var n in e)if(n!=="__source"&&!(n in t))return!0;for(var o in t)if(o!=="__source"&&e[o]!==t[o])return!0;return!1}function Bo(e,t){var n=t(),o=Fo({t:{__:n,u:t}}),r=o[0].t,s=o[1];return Vo(function(){r.__=n,r.u=t,Ue(r)&&s({t:r})},[e,n,t]),dt(function(){return Ue(r)&&s({t:r}),e(function(){Ue(r)&&s({t:r})})},[e]),n}function Ue(e){var t,n,o=e.u,r=e.__;try{var s=o();return!((t=r)===(n=s)&&(t!==0||1/t==1/n)||t!=t&&n!=n)}catch{return!0}}function jt(e,t){this.props=e,this.context=t}(jt.prototype=new D).isPureReactComponent=!0,jt.prototype.shouldComponentUpdate=function(e,t){return Pt(this.props,e)||Pt(this.state,t)};var Dt=m.__b;m.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Dt&&Dt(e)};var Jo=m.__e;m.__e=function(e,t,n,o){if(e.then){for(var r,s=t;s=s.__;)if((r=s.__c)&&r.__c)return t.__e==null&&(t.__e=n.__e,t.__k=n.__k),r.__c(e,t)}Jo(e,t,n,o)};var Nt=m.unmount;function Nn(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(o){typeof o.__c=="function"&&o.__c()}),e.__c.__H=null),(e=Go({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(o){return Nn(o,t,n)})),e}function Fn(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(o){return Fn(o,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function Le(){this.__u=0,this.o=null,this.__b=null}function In(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function be(){this.i=null,this.l=null}m.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),Nt&&Nt(e)},(Le.prototype=new D).__c=function(e,t){var n=t.__c,o=this;o.o==null&&(o.o=[]),o.o.push(n);var r=In(o.__v),s=!1,i=function(){s||(s=!0,n.__R=null,r?r(l):l())};n.__R=i;var l=function(){if(!--o.__u){if(o.state.__a){var c=o.state.__a;o.__v.__k[0]=Fn(c,c.__c.__P,c.__c.__O)}var u;for(o.setState({__a:o.__b=null});u=o.o.pop();)u.forceUpdate()}};o.__u++||32&t.__u||o.setState({__a:o.__b=o.__v.__k[0]}),e.then(i,i)},Le.prototype.componentWillUnmount=function(){this.o=[]},Le.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=Nn(this.__b,n,o.__O=o.__P)}this.__b=null}var r=t.__a&&Ge(M,null,e.fallback);return r&&(r.__u&=-33),[Ge(M,null,t.__a?null:e.children),r]};var Ft=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};(be.prototype=new D).__a=function(e){var t=this,n=In(t.__v),o=t.l.get(e);return o[0]++,function(r){var s=function(){t.props.revealOrder?(o.push(r),Ft(t,e,o)):r()};n?n(s):s()}},be.prototype.render=function(e){this.i=null,this.l=new Map;var t=$e(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},be.prototype.componentDidUpdate=be.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){Ft(e,n,t)})};var Yo=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,qo=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Zo=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Xo=/[A-Z0-9]/g,Qo=typeof document<"u",er=function(e){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(e)};D.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(D.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var It=m.event;function tr(){}function nr(){return this.cancelBubble}function or(){return this.defaultPrevented}m.event=function(e){return It&&(e=It(e)),e.persist=tr,e.isPropagationStopped=nr,e.isDefaultPrevented=or,e.nativeEvent=e};var rr={enumerable:!1,configurable:!0,get:function(){return this.class}},Vt=m.vnode;m.vnode=function(e){typeof e.type=="string"&&(function(t){var n=t.props,o=t.type,r={},s=o.indexOf("-")===-1;for(var i in n){var l=n[i];if(!(i==="value"&&"defaultValue"in n&&l==null||Qo&&i==="children"&&o==="noscript"||i==="class"||i==="className")){var c=i.toLowerCase();i==="defaultValue"&&"value"in n&&n.value==null?i="value":i==="download"&&l===!0?l="":c==="translate"&&l==="no"?l=!1:c[0]==="o"&&c[1]==="n"?c==="ondoubleclick"?i="ondblclick":c!=="onchange"||o!=="input"&&o!=="textarea"||er(n.type)?c==="onfocus"?i="onfocusin":c==="onblur"?i="onfocusout":Zo.test(i)&&(i=c):c=i="oninput":s&&qo.test(i)?i=i.replace(Xo,"-$&").toLowerCase():l===null&&(l=void 0),c==="oninput"&&r[i=c]&&(i="oninputCapture"),r[i]=l}}o=="select"&&r.multiple&&Array.isArray(r.value)&&(r.value=$e(n.children).forEach(function(u){u.props.selected=r.value.indexOf(u.props.value)!=-1})),o=="select"&&r.defaultValue!=null&&(r.value=$e(n.children).forEach(function(u){u.props.selected=r.multiple?r.defaultValue.indexOf(u.props.value)!=-1:r.defaultValue==u.props.value})),n.class&&!n.className?(r.class=n.class,Object.defineProperty(r,"className",rr)):(n.className&&!n.class||n.class&&n.className)&&(r.class=r.className=n.className),t.props=r})(e),e.$$typeof=Yo,Vt&&Vt(e)};var Ut=m.__r;m.__r=function(e){Ut&&Ut(e),e.__c};var Lt=m.diffed;m.diffed=function(e){Lt&&Lt(e);var t=e.props,n=e.__e;n!=null&&e.type==="textarea"&&"value"in t&&t.value!==n.value&&(n.value=t.value==null?"":t.value)};const sr=Bn(N.STORE);function ir(e,t){const n=t(null);return dt(()=>{O(e,n.current)},[e]),n}function lr(e,...t){let n;if(t.length===2){const o=t[0],r=t[1];n=G(e,o,r)}else n=t[0];return n}function ee(...e){const t=Lo(sr),n=lr(t,...e),o=Ho(),r=et(i=>xe(t,n,`use-o:${o}`,i),[n.key]),s=et(()=>F(t,n),[n.key]);return Bo(r,s)}const ke=je({key:"pathKeys",default:[]}),Ke=_t({key:"subpathKeys",default:[]}),ye=_t({key:"nodeAtoms",default:null}),_e=_t({key:"edgeAtoms",default:!0}),ar=jo({key:"pathDrawSelectors",get:e=>({get:t})=>t(Ke,e).map((o,r)=>{const s=t(ye,o),i=t(_e,o);return s===null?"Z":r===0?`M ${s.x} ${s.y}`:i===!1?`M ${s.x} ${s.y}`:i===!0?`L ${s.x} ${s.y}`:"c"in i?`C ${i.c.x} ${i.c.y} ${i.s.x} ${i.s.y} ${s.x} ${s.y}`:`S ${i.s.x} ${i.s.y} ${s.x} ${s.y}`}).join(" ")});function Y(e,t,n){return Math.max(t,Math.min(n,e))}function Ht({at:e,subpathKey:t,prevSubpathKey:n,node:o}){let r;switch(typeof o){case"undefined":r=ee(ye,n);break;default:r=o}return r===null?null:b(M,{children:[b("line",{class:"bezier",x1:r.x,y1:r.y,x2:e.x,y2:e.y,stroke:"#777","stroke-width":1}),b("circle",{class:"bezier",fill:"#777",stroke:"#aaa","stroke-width":1,cx:e.x,cy:e.y,r:2}),b("circle",{class:"bezier-draggable",fill:"transparent",cx:e.x,cy:e.y,r:6,onPointerDown:s=>{s.currentTarget.setPointerCapture(s.pointerId),O(De,{key:t,by:o?"s":"c"})}})]})}function cr({subpathKey:e,nextSubpathKey:t}){const n=ee(ye,e),o=ee(_e,e);return n===null?null:b(M,{children:[typeof o=="boolean"?b("rect",{class:"node",x:n.x-3,y:n.y-3,width:6,height:6}):b(M,{children:[b(Ht,{at:o.s,node:n,subpathKey:e,prevSubpathKey:t}),o.c?b(Ht,{at:o.c,subpathKey:e,prevSubpathKey:t}):null,b("circle",{class:"node",cx:n.x,cy:n.y,r:3})]}),b("circle",{class:"node-draggable",fill:"transparent",cx:n.x,cy:n.y,r:10,onPointerDown:r=>{r.currentTarget.setPointerCapture(r.pointerId),O(De,{key:e})}})]})}function ur({pathKey:e}){const t=ee(ar,e);return b("path",{d:`${t} Z`,class:"path",style:{pointerEvents:"none"}})}function fr({pathKey:e}){const t=ee(Ke,e);return b(M,{children:[b(ur,{pathKey:e}),t.toReversed().map((n,o,r)=>b(cr,{subpathKey:n,nextSubpathKey:r[o+1]??r[0]},n))]})}function _r(){const e=ee(ke);return b(M,{children:e.map(t=>b(fr,{pathKey:t},t))})}const Vn=je({key:"svgRef",default:null}),De=je({key:"currentlyDragging",default:null});function dr(e){e.preventDefault();const{key:t,by:n}=Te(De)??{},o=Te(Vn);if(!o||!t)return;const r=o.createSVGPoint();r.x=e.clientX,r.y=e.clientY;const s=o.getScreenCTM()?.inverse(),{x:i,y:l}=r.matrixTransform(s);switch(n){case void 0:O(ye,t,{x:Y(i,-185,q+185),y:Y(l,-10,Z+10)});break;case"s":O(_e,t,c=>({...c,s:{x:Y(i,-185,q+185),y:Y(l,-10,Z+10)}}));break;case"c":O(_e,t,c=>({...c,c:{x:Y(i,-185,q+185),y:Y(l,-10,Z+10)}}));break}}const pr=["m","M","l","L","c","C","v","V","z","Z"],yr=je({key:"preactLogo",default:()=>fetch("preact.svg").then(e=>e.text())}),hr=Do({key:"reset",do:async()=>{const e=await Te(yr);for(const r of Te(ke))Ct(Ke,r);Ct(ke);const t=e.split(`
14
+ `).filter(r=>r.startsWith(" <path")).map(r=>{const s=r.split('d="')[1].slice(0,-9);let i,l="",c=[];const u=[];for(const d of s){if(pr.includes(d)){l&&(c.push(Number.parseFloat(l)),l=""),i&&u.push({letter:i,numbers:c}),i=d,c=[];continue}if(d===" "){c.push(Number.parseFloat(l)),l="";continue}if(d==="-"&&l){c.push(Number.parseFloat(l)),l="-";continue}l+=d}let f={x:0,y:0};return u.map(({letter:d,numbers:_})=>{let p,y;switch(d){case"m":p={x:f.x+_[0],y:f.y+_[1]},y=!1;break;case"M":p={x:_[0],y:_[1]},y=!1;break;case"l":p={x:f.x+_[0],y:f.y+_[1]},y=!0;break;case"L":p={x:_[0],y:_[1]},y=!0;break;case"c":p={x:f.x+_[4],y:f.y+_[5]},y={c:{x:f.x+_[0],y:f.y+_[1]},s:{x:f.x+_[2],y:f.y+_[3]}};break;case"C":p={x:_[4],y:_[5]},y={c:{x:_[0],y:_[1]},s:{x:_[2],y:_[3]}};break;case"v":p={x:f.x,y:f.y+_[0]},y=!0;break;case"V":p={x:f.x,y:_[0]},y=!0;break;case"z":case"Z":p=null,y=!0}return p&&(f=p),{node:p,edge:y}})});let n=0,o=0;for(const r of t){const s=o;for(const{node:l,edge:c}of r)O(_e,`subpath${o}`,c),O(ye,`subpath${o}`,l),o++;const i=o-s;O(Ke,`path${n}`,Array.from({length:i},(l,c)=>`subpath${s+c}`)),O(ke,l=>[...l,`path${n}`]),n++}}}),Wt=No(hr),q=256,Z=296;function mr(){const e=ir(Vn,Uo),t=et(n=>{n.currentTarget.releasePointerCapture(n.pointerId),O(De,null)},[]);return dt(()=>void Wt(),[]),b("div",{style:{display:"flex",flexFlow:"column",position:"relative",overflow:"hidden",maxWidth:"1280px",width:"100vw",alignItems:"center"},children:[b("svg",{ref:e,viewBox:`-185 -15 ${q+370} ${Z+30}`,width:1e3,height:500,onPointerMove:dr,onPointerUp:t,onPointerCancel:t,children:[b("title",{children:"Bezier Playground"}),b("defs",{children:b("pattern",{id:"grid",width:"5",height:"5",patternUnits:"userSpaceOnUse",children:b("rect",{x:"0",y:"0",width:".5",height:".5",fill:"none",stroke:"#aaa"})})}),b("rect",{x:0,y:0,width:q,height:Z,fill:"#aaa3"}),b("rect",{x:-185,y:-10,width:q+370,height:Z+20,fill:"url(#grid)"}),b(_r,{})]}),b("button",{type:"button",class:"flat",onClick:Wt,children:"Reset"})]})}function gr(){return b(M,{children:[b("h1",{children:"Atom.io in Preact on Vite"}),b("main",{children:[b(mr,{}),b("article",{children:[b(He,{title:"Learn Atom.io",description:"Atom.io is where data lives.",href:"https://atom.io.fyi/docs/getting-started"}),b(He,{title:"Learn Preact",description:"If you're new to Preact, try the interactive tutorial to learn important concepts",href:"https://preactjs.com/tutorial"}),b(He,{title:"Learn Vite",description:"To learn more about Vite and how you can customize it to fit your needs, take a look at their excellent documentation",href:"https://vitejs.dev"})]})]})]})}function He(e){return b("a",{href:e.href,target:"_blank",class:"resource",rel:"noreferrer",children:[b("h2",{children:e.title}),b("p",{children:e.description})]})}Gn(b(gr,{}),document.getElementById("app"));
package/dist/index.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <meta name="color-scheme" content="light dark" />
8
8
  <title>Vite + Preact + Atom.io</title>
9
- <script type="module" crossorigin src="/assets/index-BmCy3HYd.js"></script>
9
+ <script type="module" crossorigin src="/assets/index-D7Z6CQ4r.js"></script>
10
10
  <link rel="stylesheet" crossorigin href="/assets/index-jy4_OpZh.css">
11
11
  </head>
12
12
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atom.io/template-preact-svg-editor",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -9,7 +9,7 @@
9
9
  "preact": "10.27.2",
10
10
  "react": "npm:@preact/compat@18.3.1",
11
11
  "react-dom": "npm:@preact/compat@18.3.1",
12
- "atom.io": "0.44.13"
12
+ "atom.io": "0.44.15"
13
13
  },
14
14
  "devDependencies": {
15
15
  "@preact/preset-vite": "2.10.2",
@@ -1,14 +0,0 @@
1
- (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))o(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const i of s.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&o(i)}).observe(document,{childList:!0,subtree:!0});function n(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function o(r){if(r.ep)return;r.ep=!0;const s=n(r);fetch(r.href,s)}})();var Re,m,Wt,H,yt,zt,Gt,Bt,tt,We,ze,Jt,se={},Yt=[],Vn=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,de=Array.isArray;function j(e,t){for(var n in t)e[n]=t[n];return e}function nt(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function Ge(e,t,n){var o,r,s,i={};for(s in t)s=="key"?o=t[s]:s=="ref"?r=t[s]:i[s]=t[s];if(arguments.length>2&&(i.children=arguments.length>3?Re.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(s in e.defaultProps)i[s]===void 0&&(i[s]=e.defaultProps[s]);return we(e,i,o,r,null)}function we(e,t,n,o,r){var s={type:e,props:t,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:r??++Wt,__i:-1,__u:0};return r==null&&m.vnode!=null&&m.vnode(s),s}function E(e){return e.children}function D(e,t){this.props=e,this.context=t}function X(e,t){if(t==null)return e.__?X(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?X(e):null}function qt(e){var t,n;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null){e.__e=e.__c.base=n.__e;break}return qt(e)}}function Be(e){(!e.__d&&(e.__d=!0)&&H.push(e)&&!Se.__r++||yt!=m.debounceRendering)&&((yt=m.debounceRendering)||zt)(Se)}function Se(){for(var e,t,n,o,r,s,i,l=1;H.length;)H.length>l&&H.sort(Gt),e=H.shift(),l=H.length,e.__d&&(n=void 0,o=void 0,r=(o=(t=e).__v).__e,s=[],i=[],t.__P&&((n=j({},o)).__v=o.__v+1,m.vnode&&m.vnode(n),ot(t.__P,n,o,t.__n,t.__P.namespaceURI,32&o.__u?[r]:null,s,r??X(o),!!(32&o.__u),i),n.__v=o.__v,n.__.__k[n.__i]=n,Qt(s,n,i),o.__e=o.__=null,n.__e!=r&&qt(n)));Se.__r=0}function Zt(e,t,n,o,r,s,i,l,c,u,f){var a,d,_,p,y,w,h,g=o&&o.__k||Yt,T=t.length;for(c=Un(n,t,g,c,T),a=0;a<T;a++)(_=n.__k[a])!=null&&(d=_.__i==-1?se:g[_.__i]||se,_.__i=a,w=ot(e,_,d,r,s,i,l,c,u,f),p=_.__e,_.ref&&d.ref!=_.ref&&(d.ref&&rt(d.ref,null,_),f.push(_.ref,_.__c||p,_)),y==null&&p!=null&&(y=p),(h=!!(4&_.__u))||d.__k===_.__k?c=Xt(_,c,e,h):typeof _.type=="function"&&w!==void 0?c=w:p&&(c=p.nextSibling),_.__u&=-7);return n.__e=y,c}function Un(e,t,n,o,r){var s,i,l,c,u,f=n.length,a=f,d=0;for(e.__k=new Array(r),s=0;s<r;s++)(i=t[s])!=null&&typeof i!="boolean"&&typeof i!="function"?(c=s+d,(i=e.__k[s]=typeof i=="string"||typeof i=="number"||typeof i=="bigint"||i.constructor==String?we(null,i,null,null,null):de(i)?we(E,{children:i},null,null,null):i.constructor==null&&i.__b>0?we(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i).__=e,i.__b=e.__b+1,l=null,(u=i.__i=Ln(i,n,c,a))!=-1&&(a--,(l=n[u])&&(l.__u|=2)),l==null||l.__v==null?(u==-1&&(r>f?d--:r<f&&d++),typeof i.type!="function"&&(i.__u|=4)):u!=c&&(u==c-1?d--:u==c+1?d++:(u>c?d--:d++,i.__u|=4))):e.__k[s]=null;if(a)for(s=0;s<f;s++)(l=n[s])!=null&&(2&l.__u)==0&&(l.__e==o&&(o=X(l)),tn(l,l));return o}function Xt(e,t,n,o){var r,s;if(typeof e.type=="function"){for(r=e.__k,s=0;r&&s<r.length;s++)r[s]&&(r[s].__=e,t=Xt(r[s],t,n,o));return t}e.__e!=t&&(o&&(t&&e.type&&!t.parentNode&&(t=X(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function $e(e,t){return t=t||[],e==null||typeof e=="boolean"||(de(e)?e.some(function(n){$e(n,t)}):t.push(e)),t}function Ln(e,t,n,o){var r,s,i,l=e.key,c=e.type,u=t[n],f=u!=null&&(2&u.__u)==0;if(u===null&&e.key==null||f&&l==u.key&&c==u.type)return n;if(o>(f?1:0)){for(r=n-1,s=n+1;r>=0||s<t.length;)if((u=t[i=r>=0?r--:s++])!=null&&(2&u.__u)==0&&l==u.key&&c==u.type)return i}return-1}function ht(e,t,n){t[0]=="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||Vn.test(t)?n:n+"px"}function me(e,t,n,o,r){var s,i;e:if(t=="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof o=="string"&&(e.style.cssText=o=""),o)for(t in o)n&&t in n||ht(e.style,t,"");if(n)for(t in n)o&&n[t]==o[t]||ht(e.style,t,n[t])}else if(t[0]=="o"&&t[1]=="n")s=t!=(t=t.replace(Bt,"$1")),i=t.toLowerCase(),t=i in e||t=="onFocusOut"||t=="onFocusIn"?i.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+s]=n,n?o?n.u=o.u:(n.u=tt,e.addEventListener(t,s?ze:We,s)):e.removeEventListener(t,s?ze:We,s);else{if(r=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&n==1?"":n))}}function mt(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t.t==null)t.t=tt++;else if(t.t<n.u)return;return n(m.event?m.event(t):t)}}}function ot(e,t,n,o,r,s,i,l,c,u){var f,a,d,_,p,y,w,h,g,T,R,I,oe,pt,he,re,Ne,P=t.type;if(t.constructor!=null)return null;128&n.__u&&(c=!!(32&n.__u),s=[l=t.__e=n.__e]),(f=m.__b)&&f(t);e:if(typeof P=="function")try{if(h=t.props,g="prototype"in P&&P.prototype.render,T=(f=P.contextType)&&o[f.__c],R=f?T?T.props.value:f.__:o,n.__c?w=(a=t.__c=n.__c).__=a.__E:(g?t.__c=a=new P(h,R):(t.__c=a=new D(h,R),a.constructor=P,a.render=Wn),T&&T.sub(a),a.props=h,a.state||(a.state={}),a.context=R,a.__n=o,d=a.__d=!0,a.__h=[],a._sb=[]),g&&a.__s==null&&(a.__s=a.state),g&&P.getDerivedStateFromProps!=null&&(a.__s==a.state&&(a.__s=j({},a.__s)),j(a.__s,P.getDerivedStateFromProps(h,a.__s))),_=a.props,p=a.state,a.__v=t,d)g&&P.getDerivedStateFromProps==null&&a.componentWillMount!=null&&a.componentWillMount(),g&&a.componentDidMount!=null&&a.__h.push(a.componentDidMount);else{if(g&&P.getDerivedStateFromProps==null&&h!==_&&a.componentWillReceiveProps!=null&&a.componentWillReceiveProps(h,R),!a.__e&&a.shouldComponentUpdate!=null&&a.shouldComponentUpdate(h,a.__s,R)===!1||t.__v==n.__v){for(t.__v!=n.__v&&(a.props=h,a.state=a.__s,a.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(J){J&&(J.__=t)}),I=0;I<a._sb.length;I++)a.__h.push(a._sb[I]);a._sb=[],a.__h.length&&i.push(a);break e}a.componentWillUpdate!=null&&a.componentWillUpdate(h,a.__s,R),g&&a.componentDidUpdate!=null&&a.__h.push(function(){a.componentDidUpdate(_,p,y)})}if(a.context=R,a.props=h,a.__P=e,a.__e=!1,oe=m.__r,pt=0,g){for(a.state=a.__s,a.__d=!1,oe&&oe(t),f=a.render(a.props,a.state,a.context),he=0;he<a._sb.length;he++)a.__h.push(a._sb[he]);a._sb=[]}else do a.__d=!1,oe&&oe(t),f=a.render(a.props,a.state,a.context),a.state=a.__s;while(a.__d&&++pt<25);a.state=a.__s,a.getChildContext!=null&&(o=j(j({},o),a.getChildContext())),g&&!d&&a.getSnapshotBeforeUpdate!=null&&(y=a.getSnapshotBeforeUpdate(_,p)),re=f,f!=null&&f.type===E&&f.key==null&&(re=en(f.props.children)),l=Zt(e,de(re)?re:[re],t,n,o,r,s,i,l,c,u),a.base=t.__e,t.__u&=-161,a.__h.length&&i.push(a),w&&(a.__E=a.__=null)}catch(J){if(t.__v=null,c||s!=null)if(J.then){for(t.__u|=c?160:128;l&&l.nodeType==8&&l.nextSibling;)l=l.nextSibling;s[s.indexOf(l)]=null,t.__e=l}else{for(Ne=s.length;Ne--;)nt(s[Ne]);Je(t)}else t.__e=n.__e,t.__k=n.__k,J.then||Je(t);m.__e(J,t,n)}else s==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):l=t.__e=Hn(n.__e,t,n,o,r,s,i,c,u);return(f=m.diffed)&&f(t),128&t.__u?void 0:l}function Je(e){e&&e.__c&&(e.__c.__e=!0),e&&e.__k&&e.__k.forEach(Je)}function Qt(e,t,n){for(var o=0;o<n.length;o++)rt(n[o],n[++o],n[++o]);m.__c&&m.__c(t,e),e.some(function(r){try{e=r.__h,r.__h=[],e.some(function(s){s.call(r)})}catch(s){m.__e(s,r.__v)}})}function en(e){return typeof e!="object"||e==null||e.__b&&e.__b>0?e:de(e)?e.map(en):j({},e)}function Hn(e,t,n,o,r,s,i,l,c){var u,f,a,d,_,p,y,w=n.props,h=t.props,g=t.type;if(g=="svg"?r="http://www.w3.org/2000/svg":g=="math"?r="http://www.w3.org/1998/Math/MathML":r||(r="http://www.w3.org/1999/xhtml"),s!=null){for(u=0;u<s.length;u++)if((_=s[u])&&"setAttribute"in _==!!g&&(g?_.localName==g:_.nodeType==3)){e=_,s[u]=null;break}}if(e==null){if(g==null)return document.createTextNode(h);e=document.createElementNS(r,g,h.is&&h),l&&(m.__m&&m.__m(t,s),l=!1),s=null}if(g==null)w===h||l&&e.data==h||(e.data=h);else{if(s=s&&Re.call(e.childNodes),w=n.props||se,!l&&s!=null)for(w={},u=0;u<e.attributes.length;u++)w[(_=e.attributes[u]).name]=_.value;for(u in w)if(_=w[u],u!="children"){if(u=="dangerouslySetInnerHTML")a=_;else if(!(u in h)){if(u=="value"&&"defaultValue"in h||u=="checked"&&"defaultChecked"in h)continue;me(e,u,null,_,r)}}for(u in h)_=h[u],u=="children"?d=_:u=="dangerouslySetInnerHTML"?f=_:u=="value"?p=_:u=="checked"?y=_:l&&typeof _!="function"||w[u]===_||me(e,u,_,w[u],r);if(f)l||a&&(f.__html==a.__html||f.__html==e.innerHTML)||(e.innerHTML=f.__html),t.__k=[];else if(a&&(e.innerHTML=""),Zt(t.type=="template"?e.content:e,de(d)?d:[d],t,n,o,g=="foreignObject"?"http://www.w3.org/1999/xhtml":r,s,i,s?s[0]:n.__k&&X(n,0),l,c),s!=null)for(u=s.length;u--;)nt(s[u]);l||(u="value",g=="progress"&&p==null?e.removeAttribute("value"):p!=null&&(p!==e[u]||g=="progress"&&!p||g=="option"&&p!=w[u])&&me(e,u,p,w[u],r),u="checked",y!=null&&y!=e[u]&&me(e,u,y,w[u],r))}return e}function rt(e,t,n){try{if(typeof e=="function"){var o=typeof e.__u=="function";o&&e.__u(),o&&t==null||(e.__u=e(t))}else e.current=t}catch(r){m.__e(r,n)}}function tn(e,t,n){var o,r;if(m.unmount&&m.unmount(e),(o=e.ref)&&(o.current&&o.current!=e.__e||rt(o,null,t)),(o=e.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(s){m.__e(s,t)}o.base=o.__P=null}if(o=e.__k)for(r=0;r<o.length;r++)o[r]&&tn(o[r],t,n||typeof e.type!="function");n||nt(e.__e),e.__c=e.__=e.__e=void 0}function Wn(e,t,n){return this.constructor(e,n)}function zn(e,t,n){var o,r,s,i;t==document&&(t=document.documentElement),m.__&&m.__(e,t),r=(o=!1)?null:t.__k,s=[],i=[],ot(t,e=t.__k=Ge(E,null,[e]),r||se,se,t.namespaceURI,r?null:t.firstChild?Re.call(t.childNodes):null,s,r?r.__e:t.firstChild,o,i),Qt(s,e,i)}function Gn(e){function t(n){var o,r;return this.getChildContext||(o=new Set,(r={})[t.__c]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){o=null},this.shouldComponentUpdate=function(s){this.props.value!=s.value&&o.forEach(function(i){i.__e=!0,Be(i)})},this.sub=function(s){o.add(s);var i=s.componentWillUnmount;s.componentWillUnmount=function(){o&&o.delete(s),i&&i.call(s)}}),n.children}return t.__c="__cC"+Jt++,t.__=e,t.Provider=t.__l=(t.Consumer=function(n,o){return n.children(o)}).contextType=t,t}Re=Yt.slice,m={__e:function(e,t,n,o){for(var r,s,i;t=t.__;)if((r=t.__c)&&!r.__)try{if((s=r.constructor)&&s.getDerivedStateFromError!=null&&(r.setState(s.getDerivedStateFromError(e)),i=r.__d),r.componentDidCatch!=null&&(r.componentDidCatch(e,o||{}),i=r.__d),i)return r.__E=r}catch(l){e=l}throw e}},Wt=0,D.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=j({},this.state),typeof e=="function"&&(e=e(j({},n),this.props)),e&&j(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),Be(this))},D.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Be(this))},D.prototype.render=E,H=[],zt=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Gt=function(e,t){return e.__v.__b-t.__v.__b},Se.__r=0,Bt=/(PointerCapture)$|Capture$/i,tt=0,We=mt(!1),ze=mt(!0),Jt=0;var Bn=0;function b(e,t,n,o,r,s){t||(t={});var i,l,c=t;if("ref"in c)for(l in c={},t)l=="ref"?i=t[l]:c[l]=t[l];var u={type:e,props:c,key:n,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Bn,__i:-1,__u:0,__source:r,__self:s};if(typeof e=="function"&&(i=e.defaultProps))for(l in i)c[l]===void 0&&(c[l]=i[l]);return m.vnode&&m.vnode(u),u}function te(e){return JSON.parse(e)}const x=e=>JSON.stringify(e);function nn(e=Math.random){return e().toString(36).slice(2)}function v(e){for(;e.child!==null;)e=e.child;return e}function Jn(e){for(;e.parent!==null;)e=e.parent;return e}const Yn=/^\[object (?:Async|Generator|AsyncGenerator)?Function\]$/;function W(e){const t=Object.prototype.toString.call(e);return Yn.test(t)}function gt(e,t){return W(e)?e(t):e}var Ye=class extends Promise{fate;resolve;reject;done=!1;constructor(e){let t,n;super((o,r)=>{t=o,n=r}),this.resolve=t,this.reject=n,this.use(e instanceof Promise?e:new Promise(e))}pass(e,t){e===this.fate&&(this.resolve(t),this.done=!0)}fail(e,t){e===this.fate&&(this.reject(t),this.done=!0)}use(e){if(this!==e)if(e instanceof Promise){const t=e;this.fate=t,t.then(n=>{this.pass(t,n)},n=>{this.fail(t,n)})}else this.resolve(e),this.fate=void 0}},S=class{Subscriber;subscribers=new Map;subscribe(e,t){return this.subscribers.set(e,t),()=>{this.unsubscribe(e)}}unsubscribe(e){this.subscribers.delete(e)}next(e){const t=this.subscribers.values();for(const n of t)n(e)}},qn=class extends S{state;constructor(e){super(),this.state=e}next(e){this.state=e,super.next(e)}},Zn=class on{_buffer;_index=0;constructor(t){let n;typeof t=="number"?n=t:n=t.length,this._buffer=Array.from({length:n})}get buffer(){return this._buffer}get index(){return this._index}add(t){this._buffer[this._index]=t,this._index=(this._index+1)%this._buffer.length}copy(){const t=new on([...this._buffer]);return t._index=this._index,t}};function Q(e){const t={key:e.key,type:e.type};return"family"in e&&(t.family=e.family),t}var O=class extends Map{deleted=new Set;changed=new Set;source;constructor(e){super(),this.source=e}get(e){if(super.has(e))return super.get(e);if(!this.deleted.has(e)&&this.source.has(e))return this.source.get(e)}set(e,t){return this.deleted.delete(e),this.source.has(e)&&this.changed.add(e),super.set(e,t)}hasOwn(e){return super.has(e)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.source.has(e)&&(this.deleted.add(e),this.changed.delete(e)),super.delete(e)}clear(){this.deleted=new Set(this.source.keys()),this.changed.clear(),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(const[e,t]of this.source)!this.deleted.has(e)&&!this.changed.has(e)&&(yield[e,t])}*entries(){yield*this[Symbol.iterator]()}*keys(){yield*super.keys();for(const e of this.source.keys())!this.deleted.has(e)&&!this.changed.has(e)&&(yield e)}*values(){for(const[,e]of this[Symbol.iterator]())yield e}forEach(e){for(const[t,n]of this[Symbol.iterator]())e(n,t,this)}get size(){return super.size+this.source.size-this.changed.size-this.deleted.size}},rn=class extends Set{deleted=new Set;source;constructor(e){super(),this.source=e}add(e){return this.source.has(e)?(this.deleted.delete(e),this):super.add(e)}hasOwn(e){return super.has(e)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.source.has(e)?(this.deleted.add(e),!0):super.delete(e)}clear(){this.deleted=new Set(this.source),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(const e of this.source)this.deleted.has(e)||(yield e)}*iterateOwn(){yield*super[Symbol.iterator]()}get size(){return super.size+this.source.size-this.deleted.size}},Xn=class extends Map{deleted=new Set;source;constructor(e){super(),this.source=e}get(e){if(super.has(e))return super.get(e);if(!this.deleted.has(e)&&this.source.has(e)){const t=new rn(this.source.get(e));return super.set(e,t),t}}set(e,t){return this.deleted.delete(e),super.set(e,t)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.deleted.add(e),super.delete(e)}},V=class sn{a;b;cardinality;relations=new Map;contents=new Map;isAType;isBType;isContent;makeContentKey=(t,n)=>`${t}:${n}`;warn;getRelatedKeys(t){return this.relations.get(t)}addRelation(t,n){let o=this.relations.get(t),r=this.relations.get(n);o?o.add(n):(o=new Set([n]),this.relations.set(t,o)),r?r.add(t):(r=new Set([t]),this.relations.set(n,r))}deleteRelation(t,n){const o=this.relations.get(t);if(o){o.delete(n),o.size===0&&this.relations.delete(t);const r=this.relations.get(n);r&&(r.delete(t),r.size===0&&this.relations.delete(n))}}replaceRelationsUnsafely(t,n){this.relations.set(t,new Set(n));for(const o of n){const r=new Set().add(t);this.relations.set(o,r)}}replaceRelationsSafely(t,n){const o=this.relations.get(t);let r=this.isAType?.(t)?t:void 0,s=r===void 0?t:void 0;if(o)for(const i of o){r??=i,s??=i;const l=this.relations.get(i);l&&(l.size===1?this.relations.delete(i):l.delete(t),this.contents.delete(this.makeContentKey(r,s)))}this.relations.set(t,new Set(n));for(const i of n){let l=this.relations.get(i);l?l.add(t):(l=new Set().add(t),this.relations.set(i,l))}}getContentInternal(t){return this.contents.get(t)}setContent(t,n){this.contents.set(t,n)}deleteContent(t){this.contents.delete(t)}constructor(t,n){if(this.a=t.between[0],this.b=t.between[1],this.cardinality=t.cardinality,this.isAType=n?.isAType??null,this.isBType=n?.isBType??null,this.isContent=n?.isContent??null,n?.makeContentKey&&(this.makeContentKey=n.makeContentKey),!n?.externalStore){const o=n?.source;o===void 0&&(this.relations=new Map(t.relations?.map(([r,s])=>[r,new Set(s)])),this.contents=new Map(t.contents)),o&&(this.relations=new Xn(o.relations),this.contents=new O(o.contents))}if(n?.externalStore){const o=n.externalStore;this.has=(r,s)=>o.has(r,s),this.addRelation=(r,s)=>{o.addRelation(r,s)},this.deleteRelation=(r,s)=>{o.deleteRelation(r,s)},this.replaceRelationsSafely=(r,s)=>{o.replaceRelationsSafely(r,s)},this.replaceRelationsUnsafely=(r,s)=>{o.replaceRelationsUnsafely(r,s)},this.getRelatedKeys=(r=>o.getRelatedKeys(r)),o.getContent&&(this.getContentInternal=r=>o.getContent(r),this.setContent=(r,s)=>{o.setContent(r,s)},this.deleteContent=r=>{o.deleteContent(r)});for(const[r,s]of t.relations??[]){let i=this.isAType?.(r)?r:void 0,l=i===void 0?r:void 0;for(const c of s)i??=c,l??=c,this.addRelation(i,l)}for(const[r,s]of t.contents??[])this.setContent(r,s)}n?.warn&&(this.warn=n.warn)}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([t,n])=>[t,[...n]]),contents:[...this.contents.entries()]}}set(...t){let n,o,r;switch(t.length){case 1:{const s=t[0];n=s[this.a],o=s[this.b],r=void 0;break}case 2:{const s=t[0];typeof s=="string"?[n,o]=t:(n=s[this.a],o=s[this.b],r=t[1]);break}default:n=t[0],o=t[1],r=t[2];break}switch(this.cardinality){case"1:1":{const s=this.getRelatedKey(n);s&&s!==o&&this.delete(n,s)}case"1:n":{const s=this.getRelatedKey(o);s&&s!==n&&this.delete(s,o)}break}if(r){const s=this.makeContentKey(n,o);this.setContent(s,r)}return this.addRelation(n,o),this}delete(t,n){n=typeof n=="string"?n:t[this.b];const o=typeof t=="string"?t:t[this.a];if(o===void 0&&typeof n=="string"){const r=this.getRelatedKeys(n);if(r)for(const s of r)this.delete(s,n)}else if(typeof o=="string"&&n===void 0){const r=this.getRelatedKeys(o);if(r)for(const s of r)this.delete(o,s)}else if(typeof o=="string"&&typeof n=="string"){this.deleteRelation(o,n);const r=this.makeContentKey(o,n);this.deleteContent(r)}return this}getRelatedKey(t){const n=this.getRelatedKeys(t);if(n){n.size>1&&this.warn?.(`${n.size} related keys were found for key "${t}": (${[...n].map(r=>`"${r}"`).join(", ")}). Only one related key was expected.`);let o;for(const r of n){o=r;break}return o}}replaceRelations(t,n,o){const r=!Array.isArray(n),s=r?Object.keys(n):n;if(o?.reckless?this.replaceRelationsUnsafely(t,s):this.replaceRelationsSafely(t,s),r)for(const i of s){const l=this.makeContentKey(t,i),c=n[i];this.setContent(l,c)}return this}getContent(t,n){const o=this.makeContentKey(t,n);return this.getContentInternal(o)}getRelationEntries(t){const n=t[this.a],o=t[this.b];if(n!==void 0&&o===void 0){const r=this.getRelatedKeys(n);if(r)return[...r].map(s=>[s,this.getContent(n,s)])}if(n===void 0&&o!==void 0){const r=this.getRelatedKeys(o);if(r)return[...r].map(s=>[s,this.getContent(s,o)])}return[]}has(t,n){return n?this.getRelatedKeys(t)?.has(n)??!1:this.relations.has(t)}overlay(){const t={source:this,makeContentKey:this.makeContentKey};return this.isAType&&(t.isAType=this.isAType),this.isBType&&(t.isBType=this.isBType),this.isContent&&(t.isContent=this.isContent),this.warn&&(t.warn=this.warn),new sn({between:[this.a,this.b],cardinality:this.cardinality},t)}incorporate(t){const{relations:n,contents:o}=t;for(const[r,s]of n)if(s instanceof rn){const{source:i}=s;for(const l of s.iterateOwn())i.add(l)}else this.relations.set(r,s);for(const r of n.deleted)this.relations.delete(r);for(const[r,s]of o)this.contents.set(r,s);for(const r of o.deleted)this.contents.delete(r)}};function Qn(e){return e.startsWith("🔍 ")}const eo=e=>{e.logger.info("🪂","transaction",e.transactionMeta.update.token.key,"Aborting transaction"),e.parent.child=null};function ln(e,t,n){return(...o)=>C(e,t).run(o,n)}function to(e,t,n){const{token:o,update:{newValue:r,oldValue:s}}=t;U(e,o,r)}function no(e){const{stack:t}=e;return t?`
2
- `+t.split(`
3
- `)?.slice(1)?.join(`
4
- `):""}function an(e,t,n,o="any"){const r=t,s=x(n),i=[],l=v(e);if(Array.isArray(r))for(const f of r){const a=x(f);l.molecules.get(a)?e.moleculeGraph.set(a,s,{source:a}):i.push(a)}else{const f=x(r);l.molecules.get(f)?e.moleculeGraph.set(f,s,{source:f}):i.push(f)}const c=new S;i.length===0&&l.molecules.set(s,{key:n,stringKey:s,dependsOn:o,subject:c});const u={type:"molecule_creation",key:n,provenance:r,timestamp:Date.now()};K(l)&&l.transactionMeta.phase==="building"?l.transactionMeta.update.subEvents.push(u):l.on.moleculeCreation.next(u);for(const f of i){const a=e.disposalTraces.buffer.find(d=>d?.key===f);e.logger.error("❌","key",n,"allocation failed:",`Could not allocate to ${f} in store "${e.config.name}".`,a?`
5
- ${f} was most recently disposed
6
- ${a.trace}`:`No previous disposal trace for ${f} was found.`)}return n}function st(e,t){const n=x(t),o=e.molecules.get(n);if(!o){const d=e.disposalTraces.buffer.find(_=>_?.key===n);e.logger.error("❌","key",t,"deallocation failed:",`Could not find allocation for ${n} in store "${e.config.name}".`,d?`
7
- This state was most recently deallocated
8
- ${d.trace}`:`No previous disposal trace for ${n} was found.`);return}o.subject.next();const r=e.keyRefsInJoins.getRelatedKeys(n);if(r)for(const d of r){const _=e.joins.get(d);_&&_.relations.delete(t)}else{const d=Ao(t);if(d){const[,_,p]=d,y=e.keyRefsInJoins.getRelatedKey(Oo(_,p));if(y){const w=e.joins.get(y);w&&w.relations.delete(_,p)}}}e.keyRefsInJoins.delete(n);const s=[],i=[],l=e.moleculeGraph.getRelationEntries({downstreamMoleculeKey:n});if(l)for(const[d,{source:_}]of l)_===n?st(e,te(d)):s.push(_);const c=e.moleculeData.getRelatedKeys(o.stringKey);if(c)for(const d of c){const _=e.families.get(d),p=F(e,_,t);i.push([_.key,p]),Me(e,_,t)}const u={type:"molecule_disposal",key:o.key,values:i,provenance:s,timestamp:Date.now()};e.molecules.delete(n);const f=K(e)&&e.transactionMeta.phase==="building";f&&e.transactionMeta.update.subEvents.push(u),e.moleculeGraph.delete(o.stringKey),e.keyRefsInJoins.delete(o.stringKey),e.moleculeData.delete(o.stringKey),f||e.on.moleculeDisposal.next(u),e.molecules.delete(o.stringKey);const a=no(new Error);e.disposalTraces.add({key:n,trace:a})}function bt(e,t,n,o){const r=x(n),s=v(e),i=s.molecules.get(r);if(!i){const a=e.disposalTraces.buffer.find(d=>d?.key===r);return e.logger.error("❌","key",r,"claim failed:",`Could not allocate to ${r} in store "${e.config.name}".`,a?`
9
- ${r} was most recently disposed
10
- ${a.trace}`:`No previous disposal trace for ${r} was found.`),n}const l=x(t),c=s.molecules.get(l);if(!c){const a=e.disposalTraces.buffer.find(d=>d?.key===l);return e.logger.error("❌","key",n,"claim failed:",`Could not allocate to ${l} in store "${e.config.name}".`,a?`
11
- ${l} was most recently disposed
12
- ${a.trace}`:`No previous disposal trace for ${l} was found.`),n}const u=e.moleculeGraph.getRelationEntries({downstreamMoleculeKey:i.stringKey}).filter(([,{source:a}])=>a!==r).map(([a])=>te(a));o&&s.moleculeGraph.delete(r),s.moleculeGraph.set({upstreamMoleculeKey:c.stringKey,downstreamMoleculeKey:i.stringKey},{source:c.stringKey});const f={type:"molecule_transfer",key:i.key,exclusive:!!o,from:u,to:[c.key],timestamp:Date.now()};return K(s)&&s.transactionMeta.phase==="building"&&s.transactionMeta.update.subEvents.push(f),n}function oo(e,t,n){switch(n){case"newValue":cn(e,t);break;case"oldValue":Me(e,t.token);break}}function ro(e,t,n){switch(n){case"newValue":Me(e,t.token);break;case"oldValue":cn(e,t),t.subType==="atom"&&e.valueMap.set(t.token.key,t.value);break}}function cn(e,t){const{token:n}=t;t.subType==="writable"&&t.value?U(e,n,t.value):F(e,n)}function so(e,t,n){switch(n){case"newValue":an(e,t.provenance,t.key);break;case"oldValue":st(e,t.key);break}}function io(e,t,n){switch(n){case"newValue":st(e,t.key);break;case"oldValue":an(e,t.provenance.map(te),t.key);for(const[o,r]of t.values){const s=e.families.get(o);if(s){F(e,s,t.key);const i=`${o}(${x(t.key)})`;e.valueMap.set(i,r)}}break}}function lo(e,t,n){switch(n){case"newValue":for(const o of t.to)bt(e,o,t.key,t.exclusive?"exclusive":void 0);break;case"oldValue":{let o="exclusive";for(const r of t.from)bt(e,r,t.key,o),o=void 0}break}}function un(e,t,n){const o=t.subEvents;for(const r of o)switch(r.type){case"atom_update":to(e,r);break;case"state_creation":oo(e,r,n);break;case"state_disposal":ro(e,r,n);break;case"molecule_creation":so(e,r,n);break;case"molecule_disposal":io(e,r,n);break;case"molecule_transfer":lo(e,r,n);break;case"transaction_outcome":un(e,r,n);break}}function ie(e){return"epoch"in e.transactionMeta}function K(e){return"phase"in e.transactionMeta}function fn(e,t){return e.transactionMeta.actionContinuities.getRelatedKey(t)}function ao(e,t){return e.transactionMeta.epoch.get(t)}function co(e,t){const n=fn(e,t);if(n!==void 0)return ao(e,n)}function uo(e,t,n){const o=fn(e,t);o!==void 0&&e.transactionMeta.epoch.set(o,n)}function fo(e,t){const n=v(e),{parent:o}=n;n.transactionMeta.phase="applying",n.transactionMeta.update.output=t,o.child=null,o.on.transactionApplying.next(n.transactionMeta);const{subEvents:r}=n.transactionMeta.update;e.logger.info("🛄","transaction",n.transactionMeta.update.token.key,`applying ${r.length} subEvents:`,r),un(o,n.transactionMeta.update,"newValue"),ie(o)?(uo(o,n.transactionMeta.update.token.key,n.transactionMeta.update.epoch),C(e,{key:n.transactionMeta.update.token.key,type:"transaction"})?.subject.next(n.transactionMeta.update),e.logger.info("🛬","transaction",n.transactionMeta.update.token.key,"applied")):K(o)&&o.transactionMeta.update.subEvents.push(n.transactionMeta.update),o.on.transactionApplying.next(null)}function _o(e){return{store:e}}const po=(e,t,n,o)=>{const r=v(e),s={parent:r,child:null,on:r.on,loggers:r.loggers,logger:r.logger,config:r.config,atoms:new O(r.atoms),atomsThatAreDefault:new Set(r.atomsThatAreDefault),families:new O(r.families),joins:new O(r.joins),operation:{open:!1},readonlySelectors:new O(r.readonlySelectors),timelines:new O(r.timelines),timelineTopics:r.timelineTopics.overlay(),trackers:new Map,transactions:new O(r.transactions),selectorAtoms:r.selectorAtoms.overlay(),selectorGraph:r.selectorGraph.overlay(),writableSelectors:new O(r.writableSelectors),valueMap:new O(r.valueMap),defaults:r.defaults,disposalTraces:e.disposalTraces.copy(),molecules:new O(r.molecules),moleculeGraph:r.moleculeGraph.overlay(),moleculeData:r.moleculeData.overlay(),keyRefsInJoins:r.keyRefsInJoins.overlay(),miscResources:new O(r.miscResources)},i=co(e,t.key),l={phase:"building",update:{type:"transaction_outcome",token:t,id:o,epoch:i===void 0?NaN:i+1,timestamp:Date.now(),subEvents:[],params:n,output:void 0},toolkit:{get:((...u)=>F(c,...u)),set:((...u)=>{U(c,...u)}),reset:((...u)=>{at(c,...u)}),run:(u,f=nn())=>ln(c,u,f),find:((...u)=>G(e,...u)),json:u=>pe(c,u),dispose:((...u)=>{Me(c,...u)}),env:()=>_o(c)}},c=Object.assign(s,{transactionMeta:l});return r.child=c,e.logger.info("🛫","transaction",t.key,"building with params:",n),c};function _n(e,t){const{key:n}=t,o=e.transactions.has(n),r={key:n,type:"transaction",run:(i,l)=>{const c=po(e,Q(r),i,l);try{const{toolkit:u}=c.transactionMeta,f=t.do(u,...i);return fo(c,f),f}catch(u){throw eo(c),e.logger.warn("💥","transaction",n,"caught:",u),u}},install:i=>_n(i,t),subject:new S};v(e).transactions.set(n,r);const s=Q(r);return o||e.on.transactionCreation.next(s),s}var yo=class{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new V({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new V({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new V({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new V({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new Zn(100);molecules=new Map;moleculeGraph=new V({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});moleculeData=new V({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});keyRefsInJoins=new V({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});miscResources=new Map;on={atomCreation:new S,atomDisposal:new S,selectorCreation:new S,selectorDisposal:new S,timelineCreation:new S,transactionCreation:new S,transactionApplying:new qn(null),operationClose:new S,moleculeCreation:new S,moleculeDisposal:new S};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:!0};loggers=[new Eo("warn",(e,t,n)=>!Qn(n))];logger={error:(...e)=>{for(const t of this.loggers)t.error(...e)},info:(...e)=>{for(const t of this.loggers)t.info(...e)},warn:(...e)=>{for(const t of this.loggers)t.warn(...e)}};constructor(e,t=null){if(this.config={...t?.config,...e},t!==null){this.operation={...t?.operation},ie(t)&&(this.transactionMeta={epoch:new Map(t?.transactionMeta.epoch),actionContinuities:new V(t?.transactionMeta.actionContinuities.toJSON())});for(const[,o]of t.families)o.internalRoles?.includes("mutable")||o.internalRoles?.includes("join")||o.install(this);const n=new Set;for(const[,o]of t.atoms)if(!n.has(o.key)&&(o.install(this),o.type==="mutable_atom")){const r=pe(t,o),s=Kn(o);n.add(r.key),n.add(s.key)}for(const[,o]of t.readonlySelectors)o.install(this);for(const[,o]of t.writableSelectors)n.has(o.key)||o.install(this);for(const[,o]of t.transactions)o.install(this);for(const[,o]of t.timelines)o.install(this)}}};const N={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new yo({name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:!0}),globalThis.ATOM_IO_IMPLICIT_STORE}};var ho=class extends Error{constructor(e,t){super(`${B[e.type]} ${x(e.key)} not found in store "${t.config.name}".`)}};function C(e,t){let n,o=e;for(;o!==null;){switch(t.type){case"atom":case"mutable_atom":n=o.atoms.get(t.key);break;case"writable_pure_selector":case"writable_held_selector":n=o.writableSelectors.get(t.key);break;case"readonly_pure_selector":case"readonly_held_selector":n=o.readonlySelectors.get(t.key);break;case"atom_family":case"mutable_atom_family":case"writable_pure_selector_family":case"readonly_pure_selector_family":case"writable_held_selector_family":case"readonly_held_selector_family":n=o.families.get(t.key);break;case"timeline":n=o.timelines.get(t.key);break;case"transaction":n=o.transactions.get(t.key);break}if(n)return n;o=o.child}throw new ho(t,e)}function dn(e,t,n,o){const r=e.disposalTraces.buffer.find(s=>s?.key===x(o));switch(e.logger.error("❌",t.type,t.key,"gets a fallback value because key",o,"is not allocated",r?`This key was previously disposed:
13
- ${r.trace}`:"(no previous disposal trace found)"),n.type){case"mutable_atom_family":{if(e.defaults.has(n.key))return e.defaults.get(n.key);const s=new n.class;return e.defaults.set(n.key,s),s.READONLY_VIEW}case"atom_family":{if(e.defaults.has(n.key))return e.defaults.get(n.key);const s=n.default,i=s(o);return e.defaults.set(n.key,i),i}case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(e.defaults.has(n.key))return e.defaults.get(n.key);const s=n.default(o);return e.defaults.set(n.key,s),s}}}function Ce(e,t){const{type:n,key:o,catch:r}=t;switch(n){case"readonly_pure_selector":case"writable_pure_selector":{let s;e.logger.info("🧮",n,o,"computing value");try{if(s=t.getFrom(e),s instanceof Promise)return s.catch(i=>{if(e.logger.error("💥",n,o,"rejected:",i),r){for(const l of r)if(i instanceof l)return i}throw i})}catch(i){if(e.logger.error("💥",n,o,"rejected:",i),r){for(const l of r)if(i instanceof l)return M(e,t,i)}throw i}return M(e,t,s)}case"atom":{let s;if(W(t.default))try{s=t.default(),s instanceof Promise&&(s=s.catch(i=>{if(e.logger.error("💥",n,o,"rejected:",i),r){for(const l of r)if(i instanceof l)return i}throw i}))}catch(i){if(e.logger.error("💥",n,o,"rejected:",i),r){for(const l of r)if(i instanceof l)return s=M(e,t,i),e.logger.info("✨",t.type,o,"computed default",s),s}throw i}else s=t.default,e.logger.info("✨",t.type,o,"using static default",s);return M(e,t,s)}}}function z(e,t,n){if(e.valueMap.has(t.key))return Rn(e,t,n);e.logger.info("❔",t.type,t.key,"value not found in cache");const{key:o}=t;switch(t.type){case"readonly_held_selector":case"writable_held_selector":return e.logger.info("🧮",t.type,o,"computing value"),t.getFrom(e);case"writable_pure_selector":case"readonly_pure_selector":case"atom":return Ce(e,t);case"mutable_atom":{const r=new t.class;return e.logger.info("✨",t.type,o,"created new instance",r),M(e,t,r)}}}function it(e,t){return C(e,{key:t.family.key,type:`${t.type}_family`})}const wt={atom_family:"atom",molecule_family:"molecule",mutable_atom_family:"mutable_atom",readonly_held_selector_family:"readonly_held_selector",readonly_pure_selector_family:"readonly_pure_selector",writable_held_selector_family:"writable_held_selector",writable_pure_selector_family:"writable_pure_selector"},le=Symbol("MUST_CREATE"),mo=Symbol("DO_NOT_CREATE");function ae(e,t,n,o){const r=x(o),s=t.molecules.get(r);if(!s&&t.config.lifespan==="immortal"){const{type:l,key:c}=n;return t.logger.warn("💣","key",r,"was used to mint a counterfeit token for",l,`"${c}"`),{counterfeit:!0,key:`${c}(${r})`,type:wt[l],family:{key:c,subKey:r}}}let i;if(e===le)t.logger.info("👪",n.type,n.key,"adds member",typeof o=="string"?`\`${o}\``:o),i=n.create(o),s&&t.moleculeData.set(r,n.key);else{const{type:l,key:c}=n;return{key:`${c}(${r})`,type:wt[l],family:{key:c,subKey:r}}}return i}function lt(e,...t){let n,o,r,s,i;if(t.length===1){if(i=t[0],"family"in i){const c=it(e,i);if(r=C(e,c),s=te(i.family.subKey),n=ce(e,c,s),"counterfeit"in i)return{token:i,family:r,subKey:s,isNew:!1};n?i=n:(o=ae(le,e,c,s),i=o)}}else r=C(e,t[0]),s=t[1],n=ce(e,r,s),n?i=n:(o=ae(le,e,r,s),i=o);const l="counterfeit"in i;if(o&&l===!1&&r){let c;switch(i.type){case"readonly_pure_selector":case"readonly_held_selector":c="readable";break;case"atom":case"mutable_atom":case"writable_pure_selector":case"writable_held_selector":c="writable";break}const u={type:"state_creation",subType:c,token:i,timestamp:Date.now()};r.subject.next(u);const f=v(e);if(i.family)if(ie(f))switch(i.type){case"atom":case"mutable_atom":e.on.atomCreation.next(i);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":e.on.selectorCreation.next(i);break}else K(f)&&f.on.transactionApplying.state===null&&f.transactionMeta.update.subEvents.push(u)}return{token:i,family:r,subKey:s,isNew:!!o}}function F(e,...t){const{token:n,family:o,subKey:r}=lt(e,...t);return"counterfeit"in n&&o&&r?dn(e,n,o,r):z(e,C(e,n))}function ce(e,t,n){const o=x(n),r=`${t.key}(${o})`,s=v(e);let i;switch(t.type){case"atom_family":case"mutable_atom_family":i=s.atoms.get(r);break;case"writable_held_selector_family":case"writable_pure_selector_family":i=s.writableSelectors.get(r);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":i=s.readonlySelectors.get(r);break}return i&&Q(i)}function G(e,t,n){const o=C(e,t),r=ce(e,t,n);return r||ae(mo,e,o,n)}function pn(e,t,n){const o=t.key,r="readonly_pure_selector_family",s={key:o,type:r},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",r,o,`Overwriting an existing ${B[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const l=new S,u={...s,create:f=>{const a=x(f),d={key:o,subKey:a},_=`${o}(${a})`,p=v(e),y={key:_,get:t.get(f)};return t.catch&&(y.catch=t.catch),Cn(p,y,d)},internalRoles:n,subject:l,install:f=>pn(f,t),default:f=>t.get(f)({get:((...a)=>F(e,...a)),find:((...a)=>G(e,...a)),json:a=>pe(e,a)})};return e.families.set(o,u),s}function yn(e,t,n){const o={key:t.key,type:"atom_family"},r=e.families.get(t.key);r&&e.config.isProduction===!0&&e.logger.error("❗","atom_family",t.key,`Overwriting an existing ${B[r.type]} "${r.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const s=new S,l={...o,create:c=>{const u=x(c),f={key:t.key,subKey:u},a=`${t.key}(${u})`,d=v(e),_=t.default,p={key:a,default:W(_)?()=>_(c):_};return t.effects&&(p.effects=t.effects(c)),t.catch&&(p.catch=t.catch),Pe(d,p,f)},default:t.default,subject:s,install:c=>yn(c,t),internalRoles:n};return e.families.set(t.key,l),W(t.default)===!1&&e.defaults.set(t.key,t.default),o}function hn(e,t,n){const o=t.key,r="readonly_held_selector_family",s={key:o,type:r},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",r,o,`Overwriting an existing ${B[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const l=new S,u={...s,create:f=>{const a=x(f),d={key:o,subKey:a},_=`${o}(${a})`;return $n(v(e),{key:_,const:t.const(f),get:t.get(f)},d)},internalRoles:n,subject:l,install:f=>hn(f,t),default:t.const};return e.families.set(o,u),s}function mn(e,t,n){const o=t.key,r="writable_held_selector_family",s={key:o,type:r},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",r,o,`Overwriting an existing ${B[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const l=new S,u={...s,create:f=>{const a=x(f),d={key:o,subKey:a},_=`${o}(${a})`;return xn(v(e),{key:_,const:t.const(f),get:t.get(f),set:t.set(f)},d)},internalRoles:n,subject:l,install:f=>mn(f,t),default:t.const};return e.families.set(o,u),s}function gn(e,t,n){const o=t.key,r="writable_pure_selector_family",s={key:o,type:r},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",r,o,`Overwriting an existing ${B[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const l=new S,u={...s,create:f=>{const a=x(f),d={key:o,subKey:a},_=`${o}(${a})`,p=v(e),y={key:_,get:t.get(f),set:t.set(f)};return t.catch&&(y.catch=t.catch),Tn(p,y,d)},internalRoles:n,subject:l,install:f=>gn(f,t),default:f=>t.get(f)({get:((...a)=>F(e,...a)),find:((...a)=>G(e,...a)),json:a=>pe(e,a)})};return e.families.set(o,u),s}function go(e,t){const n="set"in t,o="const"in t;return o&&n?mn(e,t,void 0):o?hn(e,t,void 0):n?gn(e,t):pn(e,t)}function Me(e,...t){let n;if(t.length===1)n=t[0];else{const o=t[0],r=t[1];n=G(e,o,r)}try{C(e,n)}catch{e.logger.error("❌",n.type,n.key,`could not be disposed because it was not found in the store "${e.config.name}".`);return}switch(n.type){case"atom":case"mutable_atom":On(e,n);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":xo(e,n);break}}function bn(e,t){if(e.operation.open){const n=performance.now();return e.logger.info("🚫",t.type,t.key,`deferring setState at T-${n} until setState for "${e.operation.token.key}" is done`),n}return e.operation={open:!0,done:new Set,prev:new Map,timestamp:Date.now(),token:t,subEvents:[]},e.logger.info("⭕",t.type,t.key,`operation start in store "${e.config.name}"${K(e)?` ${e.transactionMeta.phase} "${e.transactionMeta.update.token.key}"`:""}`),e}function wn(e){e.operation.open&&e.logger.info("🔴",e.operation.token.type,e.operation.token.key,`operation done in store "${e.config.name}"`),e.operation={open:!1},e.on.operationClose.next(e.operation)}const vn=(e,t)=>e.operation.open?e.operation.done.has(t):(e.logger.error("🐞","unknown",t,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0),Ee=(e,t)=>{if(!e.operation.open){e.logger.error("🐞","unknown",t,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}e.operation.done.add(t)};function qe(e,t,n,o,r){const{oldValue:s,newValue:i}=n,l="oldValue"in n,c=Q(t);if(o&&r){t.subject.next({newValue:i});const _={checkpoint:!0,type:"state_creation",subType:"writable",token:c,timestamp:Date.now(),value:i};e.operation.subEvents.push(_),r.subject.next(_);const p=v(e);if(c.family)if(ie(p))switch(c.type){case"atom":case"mutable_atom":e.on.atomCreation.next(c);break;case"writable_pure_selector":case"writable_held_selector":e.on.selectorCreation.next(c);break}else K(p)&&p.on.transactionApplying.state===null&&p.transactionMeta.update.subEvents.push(_);return}const{key:u,subject:f,type:a}=t;let d;if(l?d={oldValue:ge(s)?s.READONLY_VIEW:s,newValue:ge(i)?i.READONLY_VIEW:i}:d={newValue:ge(i)?i.READONLY_VIEW:i},ie(e)){switch(a){case"mutable_atom":e.logger.info("📢",a,u,"is now (",i,") subscribers:",f.subscribers.keys());break;case"atom":case"writable_pure_selector":case"writable_held_selector":e.logger.info("📢",a,u,"went (",s,"->",i,") subscribers:",f.subscribers.keys())}f.next(d)}if(K(e)&&(a==="mutable_atom"||a==="atom")){if(e.on.transactionApplying.state===null){if(ge(i))return;const{timestamp:_}=e.operation,p={type:"atom_update",token:c,timestamp:_,update:d};e.transactionMeta.update.subEvents.push(p),e.logger.info("📁","atom",u,"stowed (",s,"->",i,")");return}if(ut(t,"tracker:signal")){const _=u.slice(1),p=e.atoms.get(_);z(e,p,"mut").do(d.newValue)===null&&ct(e,p)}}}const vt=Symbol("UNSET"),Ze=(e,t,n)=>{let o,r;if(W(n)){const s=z(e,t,"mut");o=s,r=n(s)}else e.valueMap.has(t.key)?o=Rn(e,t,"mut"):t.type==="atom"&&!W(t.default)?o=t.default:o=vt,r=n;return e.logger.info("⭐","atom",t.key,"setting value",r),r=M(e,t,r),Ee(e,t.key),ct(e,t),o===vt?{newValue:r}:{oldValue:o,newValue:r}};function Fe(e,t){switch(t.type){case"mutable_atom":return Ze(e,t,new t.class);case"atom":{let n;return W(t.default)?n=Ce(e,t):n=t.default,Ze(e,t,n)}}}function bo(e,t){let n;switch(t.type){case"atom":case"mutable_atom":n=Fe(e,t);break;case"writable_held_selector":{const o=ue(e,t.key);for(const s of o.values())qe(e,t,Fe(e,s),!1);const r=t.getFrom(e);n={oldValue:r,newValue:r}}break;case"writable_pure_selector":{const o=Ce(e,t),r=ue(e,t.key);for(const s of r.values())qe(e,t,Fe(e,s),!1);n={oldValue:o,newValue:Ce(e,t)}}break}return n}function U(e,...t){Oe(Qe,e,...t)}const Xe=Symbol("RESET");function at(e,...t){U(e,...t,Xe)}function wo(e,t,n){let o,r,s;const{type:i,key:l}=t;switch(t.type){case"writable_pure_selector":o=z(e,t,"mut"),r=gt(n,o),r=M(e,t,r);break;case"writable_held_selector":s=t.const,gt(n,s),o=s,r=s}return e.logger.info("⭐",i,l,"setting to",r),Ee(e,l),t.setSelf(r),{oldValue:o,newValue:r}}const vo=(e,t,n)=>{let o;switch(t.type){case"atom":case"mutable_atom":o=Ze(e,t,n);break;case"writable_pure_selector":case"writable_held_selector":o=wo(e,t,n);break}return o},Qe=Symbol("OWN_OP"),kn=Symbol("JOIN_OP");function Oe(e,t,...n){let o,r,s,i,l,c;n.length===2?(s=n[0],c=n[1],"family"in s&&(i=it(t,s),l=te(s.family.subKey),o=ce(t,i,l),o?s=o:s=r=ae(le,t,i,l))):(i=C(t,n[0]),l=n[1],c=n[2],o=ce(t,i,l),o?s=o:s=r=ae(le,t,i,l));const u=c===Xe?"reset":"set";let f;if(e===Qe){const _=bn(t,s);if(typeof _=="number"){const p=_,y=t.on.operationClose.subscribe(`waiting to ${u} "${s.key}" at T-${p}`,function(){y(),t.logger.info("🟢",s.type,s.key,"resuming deferred",u,`from T-${p}`),Oe(e,t,s,c)});return}f=_}else f=t;if("counterfeit"in s&&"family"in s){const _=s.family.subKey,p=t.disposalTraces.buffer.find(y=>y?.key===_);t.logger.error("❌",s.type,s.key,"could not be",u,"because key",_,"is not allocated.",p?`this key was previously disposed:${p.trace}`:"(no previous disposal trace found)");return}const a=C(f,s);let d;c===Xe?d=bo(f,a):d=vo(f,a,c),qe(f,a,d,!!r,i),e===Qe&&wn(f)}const Sn=(e,t)=>v(e).atoms.has(t),ko=(e,t)=>v(e).writableSelectors.has(t),So=(e,t)=>v(e).readonlySelectors.has(t),$o=(e,t)=>Sn(e,t)||ko(e,t)||So(e,t);function kt(e,t){return v(e).selectorGraph.getRelationEntries({downstreamSelectorKey:t}).filter(([n,{source:o}])=>o!==t).map(([n,{source:o}])=>o).filter(n=>$o(e,n))}function ue(e,t,n=new Set){const o=kt(e,t),r=new Map;for(;o.length>0;){const s=o.pop();if(!n.has(s))if(n.add(s),Sn(e,s)){const i=e.atoms.get(s);r.set(i.key,i)}else o.push(...kt(e,s))}return r}function Co(e,t,n,o,r){const s=v(e),{type:i,key:l}=o;if(i==="atom"||i==="mutable_atom")s.selectorAtoms.set({selectorKey:n,atomKey:l}),e.logger.info("🔍",t,n,`discovers root atom "${l}"`);else{const c=ue(e,l,r);e.logger.info("🔍",t,n,`discovers root atoms: [ ${[...c.values()].map(u=>`"${u.key}"`).join(", ")} ]`);for(const{key:u}of c.values())s.selectorAtoms=s.selectorAtoms.set({selectorKey:n,atomKey:u})}r.add(l)}function Ae(e,t,n,o){return{get:(...r)=>{const s=v(e),{token:i,family:l,subKey:c}=lt(e,...r);let u;return"counterfeit"in i&&l&&c?u=dn(e,i,l,c):u=z(e,C(e,i)),e.logger.info("🔌",t,n,`registers dependency ( "${i.key}" =`,u,")"),s.selectorGraph.set({upstreamSelectorKey:i.key,downstreamSelectorKey:n},{source:i.key}),Co(e,t,n,i,o),u},set:((...r)=>{Oe(kn,v(e),...r)}),find:((...r)=>G(e,...r)),json:r=>pe(e,r)}}function $n(e,t,n){const o=v(e),r=new S,s=new Set,{key:i,const:l}=t,c="readonly_held_selector";e.logger.info("🔨",c,i,"is being created");const{get:u,find:f,json:a}=Ae(o,c,i,s),_={...t,type:c,subject:r,getFrom:y=>{const w=y.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[h,{source:g}]of w)g!==i&&y.selectorGraph.delete(h,i);return y.selectorAtoms.delete(i),t.get({get:u,find:f,json:a},l),M(y,_,l),e.logger.info("✨",c,i,"=",l),s.clear(),l},install:y=>$n(y,t,n)};n&&(_.family=n),o.readonlySelectors.set(i,_);const p={key:i,type:c};return n&&(p.family=n),p}function Cn(e,t,n){const o=v(e),r=new S,s=new Set,i=t.key,l="readonly_pure_selector";e.logger.info("🔨",l,i,"is being created");const{get:c,find:u,json:f}=Ae(o,l,i,s),d={...t,type:l,subject:r,getFrom:()=>{const p=v(e),y=p.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[h,{source:g}]of y)g!==i&&p.selectorGraph.delete(h,i);p.selectorAtoms.delete(i);const w=M(p,d,t.get({get:c,find:u,json:f}));return e.logger.info("✨",l,i,"=",w),s.clear(),w},install:p=>Cn(p,t,n)};n&&(d.family=n),o.readonlySelectors.set(i,d);const _={key:i,type:l};return n&&(_.family=n),_}function xn(e,t,n){const o=v(e),r=new S,s=new Set,{key:i,const:l}=t,c="writable_held_selector";e.logger.info("🔨",c,i,"is being created");const u=Ae(o,c,i,s),{find:f,get:a,json:d}=u,_={find:f,get:a,json:d},w={...t,type:c,subject:r,getFrom:g=>{const T=g.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[R,{source:I}]of T)I!==i&&g.selectorGraph.delete(R,i);return g.selectorAtoms.delete(i),t.get(_,l),M(g,w,l),e.logger.info("✨",c,i,"=",l),s.clear(),l},setSelf:()=>{t.set(u,l)},install:g=>xn(g,t,n)};n&&(w.family=n),o.writableSelectors.set(i,w);const h={key:i,type:c};return n&&(h.family=n),h}function Tn(e,t,n){const o=v(e),r=new S,s=new Set,i=t.key,l="writable_pure_selector";e.logger.info("🔨",l,i,"is being created");const c=Ae(o,l,i,s),{find:u,get:f,json:a}=c,d={find:u,get:f,json:a},y={...t,type:l,subject:r,getFrom:h=>{const g=h.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[R,{source:I}]of g)I!==i&&h.selectorGraph.delete(R,i);h.selectorAtoms.delete(i);const T=M(h,y,t.get(d));return e.logger.info("✨",l,i,"=",T),s.clear(),T},setSelf:h=>{t.set(c,h)},install:h=>Tn(h,t,n)};n&&(y.family=n),o.writableSelectors.set(i,y);const w={key:i,type:l};return n&&(w.family=n),w}function xo(e,t){const n=v(e),{key:o,type:r,family:s}=t;if(!s)e.logger.error("❌",r,o,"Standalone selectors cannot be disposed.");else{n.molecules.get(s.subKey)&&n.moleculeData.delete(s.subKey,s.key);let i;switch(t.type){case"writable_held_selector":n.writableSelectors.delete(o),i={key:s.key,type:"writable_held_selector_family"},C(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break;case"writable_pure_selector":n.writableSelectors.delete(o),i={key:s.key,type:"writable_pure_selector_family"},C(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break;case"readonly_held_selector":n.readonlySelectors.delete(o),i={key:s.key,type:"readonly_held_selector_family"},C(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break;case"readonly_pure_selector":n.readonlySelectors.delete(o),i={key:s.key,type:"readonly_pure_selector_family"},C(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break}n.valueMap.delete(o),n.selectorAtoms.delete(o),n.selectorGraph.delete(o),n.moleculeData.delete(s.key,s.subKey),e.logger.info("🔥",t.type,o,"deleted"),K(n)&&n.transactionMeta.phase==="building"?n.transactionMeta.update.subEvents.push({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()}):e.on.selectorDisposal.next(t)}}const To=(e,t)=>{const n=v(e);return n.operation.open?n.operation.prev.get(t.key):n.valueMap.get(t.key)},St=(e,t,n)=>n.subject.subscribe(`${t.type}:${t.key}`,o=>{e.logger.info("📢",t.type,t.key,"root",n.key,"went",o.oldValue,"->",o.newValue);const r=To(e,t),s=z(e,t);e.logger.info("✨",t.type,t.key,"went",r,"->",s),t.subject.next({newValue:s,oldValue:r})});function xe(e,t,n,o){function r(a){if(e.operation.open){if(s?.type==="atom"&&ut(s,"tracker:signal")&&"*"+e.operation.token.key===t.key&&"inboundTracker"in o)return;const d=e.on.operationClose.subscribe(`state subscription ${n}`,()=>{d(),o(a)})}else o(a)}lt(e,t);const s=C(e,t);e.logger.info("👀",s.type,s.key,`Adding subscription "${n}"`);const i=s.type==="writable_pure_selector"||s.type==="readonly_pure_selector",l=new Map;let c=r;if(i){z(e,s);for(const[a,d]of ue(e,s.key))l.set(a,St(e,s,d));c=function(d){const _=ue(e,s.key);for(const[p,y]of l)_.get(p)?_.delete(p):(y(),l.delete(p));for(const[p,y]of _)l.set(p,St(e,s,y));r(d)}}const u=s.subject.subscribe(n,c);return()=>{e.logger.info("🙈",s.type,s.key,`Removing subscription "${n}"`),u();for(const a of l.values())a()}}const Ko=(e,t,n,o)=>{const r=C(e,t);e.logger.info("👀","timeline",t.key,`Adding subscription "${n}"`);const s=r.subject.subscribe(n,o);return()=>{e.logger.info("🙈","timeline",t.key,`Removing subscription "${n}" from timeline`),s()}};var Ro=class{initializeSignalAtom(e,t){const n=`*${e.key}`;t.atoms.delete(n),t.valueMap.delete(n);const o=e.family?{key:`*${e.family.key}`,subKey:e.family.subKey}:void 0,r=Pe(t,{key:n,default:null},o,["tracker:signal"]);if(t.parent?.valueMap.has(n)){const s=t.parent.valueMap.get(n);t.valueMap.set(n,s)}return r}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore(e,t,n){const o=e.key,r=`tracker-from-core:${n.config.name}:${K(n)?n.transactionMeta.update.token.key:"main"}:${o}`,s=i=>{Oe(kn,n,t,i)};this.unsubscribeFromInnerValue=F(n,e).subscribe(r,s),this.unsubscribeFromState=xe(n,e,r,(function(l){l.newValue!==l.oldValue&&(this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=l.newValue.subscribe(r,s))}).bind(this))}supplySignalsToCore(e,t,n){const o=e.key,r=`tracker-to-core:${n.config.name}:${K(n)?n.transactionMeta.update.token.key:"main"}:${o}`;xe(n,t,r,Object.assign(function({newValue:i,oldValue:l}){const c=n.timelineTopics.getRelatedKey(t.key);if(c&&n.timelines.get(c)?.timeTraveling){const u=Ko(n,{key:c,type:"timeline"},r,function(a){u(),U(n,e,d=>(a==="redo"&&i?d.do(i):a==="undo"&&l&&d.undo(l),d))});return}U(n,e,u=>(u.do(i),u))},{inboundTracker:!0}))}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor(e,t){const n=v(t),o=this.initializeSignalAtom(e,n);this.mutableAtomToken=e,this.latestSignalToken=o,this.captureSignalsFromCore(e,o,n),this.supplySignalsToCore(e,o,n),n.trackers.set(e.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),n.trackers.delete(e.key)}}};const pe=(e,t)=>t.family?G(e,C(v(e),{key:`${t.family.key}:JSON`,type:"writable_pure_selector_family"}),te(t.family.subKey)):{type:"writable_pure_selector",key:`${t.key}:JSON`},Kn=e=>{const t={type:"atom",key:`*${e.key}`};return e.family&&(t.family={key:`*${e.family.key}`,subKey:e.family.subKey}),t};function ge(e){return typeof e=="object"&&e!==null&&"do"in e&&"undo"in e&&"subscribe"in e&&"READONLY_VIEW"in e&&"toJSON"in e}function M(e,t,n){const{key:o,subject:r,type:s}=t,i=e.valueMap.get(o);if(i instanceof Ye&&!i.done){const l=i;return n instanceof Promise?(l.use(n),l):(e.valueMap.set(o,n),n)}if(n instanceof Promise){const l=new Ye(n);return e.valueMap.set(o,l),l.then(function(u){if(e.valueMap.get(o)===l){switch(bn(e,t),M(e,t,u),s){case"atom":ct(e,t);break;case"readonly_pure_selector":case"writable_pure_selector":En(e,o);break}wn(e),r.next({newValue:u,oldValue:l})}}).catch(c=>{e.logger.error("💥",t.type,o,"rejected:",c)}),l}return e.logger.info("📝",t.type,t.key,"writing to cache",n),e.valueMap.set(o,n),n}function Rn(e,t,n){e.logger.info("📖",t.type,t.key,"reading cached value");let o=e.valueMap.get(t.key);if(n==="mut"&&t.type==="mutable_atom"&&K(e)){const r=t,{parent:s}=e;if(e.valueMap.hasOwn(r.key))return o;const i=s.valueMap.get(r.key);e.logger.info("📃","atom",r.key,"copying");const l=i.toJSON(),c=r.class.fromJSON(l);e.valueMap.set(r.key,c),new Ro(r,s),o=c}return o}function Mn(e,t){const n=e.valueMap.get(t);if(n instanceof Ye){const o=e.writableSelectors.get(t)??e.readonlySelectors.get(t);o&&o.getFrom(e);return}e.operation.open&&e.operation.prev.set(t,n),e.valueMap.delete(t),e.logger.info("🗑","state",t,"evicted")}function ct(e,t){const n=v(e),{key:o,type:r}=t,s=n.selectorAtoms.getRelatedKeys(o);if(n.logger.info("🧹",r,o,s?`evicting ${s.size} states downstream:`:"no downstream states",s??"to evict"),s){n.operation.open&&n.logger.info("🧹",r,o,`[ ${[...n.operation.done].join(", ")} ] already done`);for(const i of s)vn(n,i)||(Mn(n,i),Ee(n,i))}}function En(e,t){const n=v(e),o=n.selectorGraph.getRelationEntries({upstreamSelectorKey:t}).filter(([r,{source:s}])=>s===t);for(const[r]of o)vn(n,r)||(Mn(n,r),Ee(n,r),En(e,r))}function Pe(e,t,n,o){const r="atom",{key:s}=t;e.logger.info("🔨",r,s,"is being created");const i=v(e),l=i.atoms.get(s);if(l?.type===r&&e.config.isProduction===!0)return e.logger.error("❌","atom",s,"Tried to create atom, but it already exists in the store."),Q(l);const c=new S,u={...t,type:r,install:a=>(a.logger.info("🛠️",r,s,`installing in store "${a.config.name}"`),Pe(a,t,n)),subject:c};n&&(u.family=n),o&&(u.internalRoles=o),i.atoms.set(s,u);const f=Q(u);if(t.effects){let a=0;const d=[];for(const _ of t.effects){const p=_({resetSelf:()=>{at(e,f)},setSelf:y=>{U(e,f,y)},onSet:y=>xe(e,f,`effect[${a}]`,y),token:f,store:Jn(e)});p&&d.push(p),++a}u.cleanup=()=>{for(const _ of d)_()}}return e.on.atomCreation.next(f),f}function ut(e,t){return"internalRoles"in e?e.internalRoles.includes(t):!1}function On(e,t){const n=v(e),{key:o,family:r}=t,s=C(n,t);if(!r)e.logger.error("❌","atom",o,"Standalone atoms cannot be disposed.");else{s.cleanup?.();const i=e.valueMap.get(s.key),l=C(e,it(e,t)).subject,c={type:"state_disposal",subType:"atom",token:t,value:i,timestamp:Date.now()};l.next(c);const u=K(n);if(n.atoms.delete(o),n.valueMap.delete(o),n.selectorAtoms.delete(o),n.atomsThatAreDefault.delete(o),n.moleculeData.delete(r.key,r.subKey),e.timelineTopics.delete(o),t.type==="mutable_atom"&&(On(e,Kn(t)),e.trackers.delete(o)),e.logger.info("🔥","atom",o,"deleted"),u&&n.transactionMeta.phase==="building"){const f=n.transactionMeta.update.subEvents.at(-1),a=f?.type==="molecule_disposal"&&f.values.some(([_])=>_===s.family?.key),d=ut(s,"tracker:signal");!a&&!d&&n.transactionMeta.update.subEvents.push(c)}else e.on.atomDisposal.next(t)}}function je(e){return Pe(N.STORE,e,void 0)}function ft(e){return yn(N.STORE,e)}function Te(...e){return F(N.STORE,...e)}const B={atom_family:"atom family",atom:"atom",continuity:"continuity",key:"key",mutable_atom_family:"atom family [m]",mutable_atom:"atom [m]",readonly_held_selector_family:"selector family [h]",readonly_held_selector:"selector [h]",readonly_pure_selector_family:"selector family",readonly_pure_selector:"selector",socket:"socket",state:"state",timeline:"timeline",transaction:"transaction",unknown:"unknown",writable_held_selector_family:"selector family [wh]",writable_held_selector:"selector [wh]",writable_pure_selector_family:"selector family [w]",writable_pure_selector:"selector [w]"},Ie=e=>(t,n,o,r,...s)=>{console[e](`${t} ${B[n]} \`${o}\` ${r}`,...s)},Mo={error:Ie("error"),info:Ie("info"),warn:Ie("warn")};var Eo=class{logLevel;filter;logger;constructor(e,t,n=Mo){this.logLevel=e,this.filter=t,this.logger=n}error=(...e)=>{if(this.logLevel!==null){const t=this.filter?.(...e)??!0;t===!0?this.logger.error(...e):t&&this.logger.error(...t)}};info=(...e)=>{if(this.logLevel==="info"){const t=this.filter?.(...e)??!0;t===!0?this.logger.info(...e):t&&this.logger.info(...t)}};warn=(...e)=>{if(this.logLevel!=="error"&&this.logLevel!==null){const t=this.filter?.(...e)??!0;t===!0?this.logger.warn(...e):t&&this.logger.warn(...t)}}};function Oo(e,t){return[e,t].sort().join("")}function Ao(e){if(typeof e!="string")return null;const[t,n]=e.split("==");if(!n)return null;const o=t.slice(4),[r,s]=n.split("++");return o&&r&&s?[o,r,s]:null}function $t(...e){at(N.STORE,...e)}function Po(e){return go(N.STORE,e)}function A(...e){U(N.STORE,...e)}function jo(e){return _n(N.STORE,e)}function Do(e,t=nn()){return ln(N.STORE,e,t)}var L,k,Ve,Ct,fe=0,An=[],$=m,xt=$.__b,Tt=$.__r,Kt=$.diffed,Rt=$.__c,Mt=$.unmount,Et=$.__;function ne(e,t){$.__h&&$.__h(k,e,fe||t),fe=0;var n=k.__H||(k.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function No(e){return fe=1,Fo(jn,e)}function Fo(e,t,n){var o=ne(L++,2);if(o.t=e,!o.__c&&(o.__=[n?n(t):jn(void 0,t),function(l){var c=o.__N?o.__N[0]:o.__[0],u=o.t(c,l);c!==u&&(o.__N=[u,o.__[1]],o.__c.setState({}))}],o.__c=k,!k.__f)){var r=function(l,c,u){if(!o.__c.__H)return!0;var f=o.__c.__H.__.filter(function(d){return!!d.__c});if(f.every(function(d){return!d.__N}))return!s||s.call(this,l,c,u);var a=o.__c.props!==l;return f.forEach(function(d){if(d.__N){var _=d.__[0];d.__=d.__N,d.__N=void 0,_!==d.__[0]&&(a=!0)}}),s&&s.call(this,l,c,u)||a};k.__f=!0;var s=k.shouldComponentUpdate,i=k.componentWillUpdate;k.componentWillUpdate=function(l,c,u){if(this.__e){var f=s;s=void 0,r(l,c,u),s=f}i&&i.call(this,l,c,u)},k.shouldComponentUpdate=r}return o.__N||o.__}function _t(e,t){var n=ne(L++,3);!$.__s&&dt(n.__H,t)&&(n.__=e,n.u=t,k.__H.__h.push(n))}function Io(e,t){var n=ne(L++,4);!$.__s&&dt(n.__H,t)&&(n.__=e,n.u=t,k.__h.push(n))}function Vo(e){return fe=5,Pn(function(){return{current:e}},[])}function Pn(e,t){var n=ne(L++,7);return dt(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Uo(e,t){return fe=8,Pn(function(){return e},t)}function Lo(e){var t=k.context[e.__c],n=ne(L++,9);return n.c=e,t?(n.__==null&&(n.__=!0,t.sub(k)),t.props.value):e.__}function Ho(){var e=ne(L++,11);if(!e.__){for(var t=k.__v;t!==null&&!t.__m&&t.__!==null;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function Wo(){for(var e;e=An.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(ve),e.__H.__h.forEach(et),e.__H.__h=[]}catch(t){e.__H.__h=[],$.__e(t,e.__v)}}$.__b=function(e){k=null,xt&&xt(e)},$.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Et&&Et(e,t)},$.__r=function(e){Tt&&Tt(e),L=0;var t=(k=e.__c).__H;t&&(Ve===k?(t.__h=[],k.__h=[],t.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.forEach(ve),t.__h.forEach(et),t.__h=[],L=0)),Ve=k},$.diffed=function(e){Kt&&Kt(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(An.push(t)!==1&&Ct===$.requestAnimationFrame||((Ct=$.requestAnimationFrame)||zo)(Wo)),t.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),Ve=k=null},$.__c=function(e,t){t.some(function(n){try{n.__h.forEach(ve),n.__h=n.__h.filter(function(o){return!o.__||et(o)})}catch(o){t.some(function(r){r.__h&&(r.__h=[])}),t=[],$.__e(o,n.__v)}}),Rt&&Rt(e,t)},$.unmount=function(e){Mt&&Mt(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(o){try{ve(o)}catch(r){t=r}}),n.__H=void 0,t&&$.__e(t,n.__v))};var Ot=typeof requestAnimationFrame=="function";function zo(e){var t,n=function(){clearTimeout(o),Ot&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(n,35);Ot&&(t=requestAnimationFrame(n))}function ve(e){var t=k,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),k=t}function et(e){var t=k;e.__c=e.__(),k=t}function dt(e,t){return!e||e.length!==t.length||t.some(function(n,o){return n!==e[o]})}function jn(e,t){return typeof t=="function"?t(e):t}function Go(e,t){for(var n in t)e[n]=t[n];return e}function At(e,t){for(var n in e)if(n!=="__source"&&!(n in t))return!0;for(var o in t)if(o!=="__source"&&e[o]!==t[o])return!0;return!1}function Bo(e,t){var n=t(),o=No({t:{__:n,u:t}}),r=o[0].t,s=o[1];return Io(function(){r.__=n,r.u=t,Ue(r)&&s({t:r})},[e,n,t]),_t(function(){return Ue(r)&&s({t:r}),e(function(){Ue(r)&&s({t:r})})},[e]),n}function Ue(e){var t,n,o=e.u,r=e.__;try{var s=o();return!((t=r)===(n=s)&&(t!==0||1/t==1/n)||t!=t&&n!=n)}catch{return!0}}function Pt(e,t){this.props=e,this.context=t}(Pt.prototype=new D).isPureReactComponent=!0,Pt.prototype.shouldComponentUpdate=function(e,t){return At(this.props,e)||At(this.state,t)};var jt=m.__b;m.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),jt&&jt(e)};var Jo=m.__e;m.__e=function(e,t,n,o){if(e.then){for(var r,s=t;s=s.__;)if((r=s.__c)&&r.__c)return t.__e==null&&(t.__e=n.__e,t.__k=n.__k),r.__c(e,t)}Jo(e,t,n,o)};var Dt=m.unmount;function Dn(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(o){typeof o.__c=="function"&&o.__c()}),e.__c.__H=null),(e=Go({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(o){return Dn(o,t,n)})),e}function Nn(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(o){return Nn(o,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function Le(){this.__u=0,this.o=null,this.__b=null}function Fn(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function be(){this.i=null,this.l=null}m.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),Dt&&Dt(e)},(Le.prototype=new D).__c=function(e,t){var n=t.__c,o=this;o.o==null&&(o.o=[]),o.o.push(n);var r=Fn(o.__v),s=!1,i=function(){s||(s=!0,n.__R=null,r?r(l):l())};n.__R=i;var l=function(){if(!--o.__u){if(o.state.__a){var c=o.state.__a;o.__v.__k[0]=Nn(c,c.__c.__P,c.__c.__O)}var u;for(o.setState({__a:o.__b=null});u=o.o.pop();)u.forceUpdate()}};o.__u++||32&t.__u||o.setState({__a:o.__b=o.__v.__k[0]}),e.then(i,i)},Le.prototype.componentWillUnmount=function(){this.o=[]},Le.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=Dn(this.__b,n,o.__O=o.__P)}this.__b=null}var r=t.__a&&Ge(E,null,e.fallback);return r&&(r.__u&=-33),[Ge(E,null,t.__a?null:e.children),r]};var Nt=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};(be.prototype=new D).__a=function(e){var t=this,n=Fn(t.__v),o=t.l.get(e);return o[0]++,function(r){var s=function(){t.props.revealOrder?(o.push(r),Nt(t,e,o)):r()};n?n(s):s()}},be.prototype.render=function(e){this.i=null,this.l=new Map;var t=$e(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},be.prototype.componentDidUpdate=be.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){Nt(e,n,t)})};var Yo=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,qo=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Zo=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Xo=/[A-Z0-9]/g,Qo=typeof document<"u",er=function(e){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(e)};D.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(D.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var Ft=m.event;function tr(){}function nr(){return this.cancelBubble}function or(){return this.defaultPrevented}m.event=function(e){return Ft&&(e=Ft(e)),e.persist=tr,e.isPropagationStopped=nr,e.isDefaultPrevented=or,e.nativeEvent=e};var rr={enumerable:!1,configurable:!0,get:function(){return this.class}},It=m.vnode;m.vnode=function(e){typeof e.type=="string"&&(function(t){var n=t.props,o=t.type,r={},s=o.indexOf("-")===-1;for(var i in n){var l=n[i];if(!(i==="value"&&"defaultValue"in n&&l==null||Qo&&i==="children"&&o==="noscript"||i==="class"||i==="className")){var c=i.toLowerCase();i==="defaultValue"&&"value"in n&&n.value==null?i="value":i==="download"&&l===!0?l="":c==="translate"&&l==="no"?l=!1:c[0]==="o"&&c[1]==="n"?c==="ondoubleclick"?i="ondblclick":c!=="onchange"||o!=="input"&&o!=="textarea"||er(n.type)?c==="onfocus"?i="onfocusin":c==="onblur"?i="onfocusout":Zo.test(i)&&(i=c):c=i="oninput":s&&qo.test(i)?i=i.replace(Xo,"-$&").toLowerCase():l===null&&(l=void 0),c==="oninput"&&r[i=c]&&(i="oninputCapture"),r[i]=l}}o=="select"&&r.multiple&&Array.isArray(r.value)&&(r.value=$e(n.children).forEach(function(u){u.props.selected=r.value.indexOf(u.props.value)!=-1})),o=="select"&&r.defaultValue!=null&&(r.value=$e(n.children).forEach(function(u){u.props.selected=r.multiple?r.defaultValue.indexOf(u.props.value)!=-1:r.defaultValue==u.props.value})),n.class&&!n.className?(r.class=n.class,Object.defineProperty(r,"className",rr)):(n.className&&!n.class||n.class&&n.className)&&(r.class=r.className=n.className),t.props=r})(e),e.$$typeof=Yo,It&&It(e)};var Vt=m.__r;m.__r=function(e){Vt&&Vt(e),e.__c};var Ut=m.diffed;m.diffed=function(e){Ut&&Ut(e);var t=e.props,n=e.__e;n!=null&&e.type==="textarea"&&"value"in t&&t.value!==n.value&&(n.value=t.value==null?"":t.value)};const sr=Gn(N.STORE);function ir(e,t){const n=t(null);return _t(()=>{A(e,n.current)},[e]),n}function lr(e,...t){let n;if(t.length===2){const o=t[0],r=t[1];n=G(e,o,r)}else n=t[0];return n}function ee(...e){const t=Lo(sr),n=lr(t,...e),o=Ho();return Bo(r=>xe(t,n,`use-o:${o}`,r),()=>F(t,n))}const ke=je({key:"pathKeys",default:[]}),Ke=ft({key:"subpathKeys",default:[]}),ye=ft({key:"nodeAtoms",default:null}),_e=ft({key:"edgeAtoms",default:!0}),ar=Po({key:"pathDrawSelectors",get:e=>({get:t})=>t(Ke,e).map((o,r)=>{const s=t(ye,o),i=t(_e,o);return s===null?"Z":r===0?`M ${s.x} ${s.y}`:i===!1?`M ${s.x} ${s.y}`:i===!0?`L ${s.x} ${s.y}`:"c"in i?`C ${i.c.x} ${i.c.y} ${i.s.x} ${i.s.y} ${s.x} ${s.y}`:`S ${i.s.x} ${i.s.y} ${s.x} ${s.y}`}).join(" ")});function Y(e,t,n){return Math.max(t,Math.min(n,e))}function Lt({at:e,subpathKey:t,prevSubpathKey:n,node:o}){let r;switch(typeof o){case"undefined":r=ee(ye,n);break;default:r=o}return r===null?null:b(E,{children:[b("line",{class:"bezier",x1:r.x,y1:r.y,x2:e.x,y2:e.y,stroke:"#777","stroke-width":1}),b("circle",{class:"bezier",fill:"#777",stroke:"#aaa","stroke-width":1,cx:e.x,cy:e.y,r:2}),b("circle",{class:"bezier-draggable",fill:"transparent",cx:e.x,cy:e.y,r:6,onPointerDown:s=>{s.currentTarget.setPointerCapture(s.pointerId),A(De,{key:t,by:o?"s":"c"})}})]})}function cr({subpathKey:e,nextSubpathKey:t}){const n=ee(ye,e),o=ee(_e,e);return n===null?null:b(E,{children:[typeof o=="boolean"?b("rect",{class:"node",x:n.x-3,y:n.y-3,width:6,height:6}):b(E,{children:[b(Lt,{at:o.s,node:n,subpathKey:e,prevSubpathKey:t}),o.c?b(Lt,{at:o.c,subpathKey:e,prevSubpathKey:t}):null,b("circle",{class:"node",cx:n.x,cy:n.y,r:3})]}),b("circle",{class:"node-draggable",fill:"transparent",cx:n.x,cy:n.y,r:10,onPointerDown:r=>{r.currentTarget.setPointerCapture(r.pointerId),A(De,{key:e})}})]})}function ur({pathKey:e}){const t=ee(ar,e);return b("path",{d:`${t} Z`,class:"path",style:{pointerEvents:"none"}})}function fr({pathKey:e}){const t=ee(Ke,e);return b(E,{children:[b(ur,{pathKey:e}),t.toReversed().map((n,o,r)=>b(cr,{subpathKey:n,nextSubpathKey:r[o+1]??r[0]},n))]})}function _r(){const e=ee(ke);return b(E,{children:e.map(t=>b(fr,{pathKey:t},t))})}const In=je({key:"svgRef",default:null}),De=je({key:"currentlyDragging",default:null});function dr(e){e.preventDefault();const{key:t,by:n}=Te(De)??{},o=Te(In);if(!o||!t)return;const r=o.createSVGPoint();r.x=e.clientX,r.y=e.clientY;const s=o.getScreenCTM()?.inverse(),{x:i,y:l}=r.matrixTransform(s);switch(n){case void 0:A(ye,t,{x:Y(i,-185,q+185),y:Y(l,-10,Z+10)});break;case"s":A(_e,t,c=>({...c,s:{x:Y(i,-185,q+185),y:Y(l,-10,Z+10)}}));break;case"c":A(_e,t,c=>({...c,c:{x:Y(i,-185,q+185),y:Y(l,-10,Z+10)}}));break}}const pr=["m","M","l","L","c","C","v","V","z","Z"],yr=je({key:"preactLogo",default:()=>fetch("preact.svg").then(e=>e.text())}),hr=jo({key:"reset",do:async()=>{const e=await Te(yr);for(const r of Te(ke))$t(Ke,r);$t(ke);const t=e.split(`
14
- `).filter(r=>r.startsWith(" <path")).map(r=>{const s=r.split('d="')[1].slice(0,-9);let i,l="",c=[];const u=[];for(const d of s){if(pr.includes(d)){l&&(c.push(Number.parseFloat(l)),l=""),i&&u.push({letter:i,numbers:c}),i=d,c=[];continue}if(d===" "){c.push(Number.parseFloat(l)),l="";continue}if(d==="-"&&l){c.push(Number.parseFloat(l)),l="-";continue}l+=d}let f={x:0,y:0};return u.map(({letter:d,numbers:_})=>{let p,y;switch(d){case"m":p={x:f.x+_[0],y:f.y+_[1]},y=!1;break;case"M":p={x:_[0],y:_[1]},y=!1;break;case"l":p={x:f.x+_[0],y:f.y+_[1]},y=!0;break;case"L":p={x:_[0],y:_[1]},y=!0;break;case"c":p={x:f.x+_[4],y:f.y+_[5]},y={c:{x:f.x+_[0],y:f.y+_[1]},s:{x:f.x+_[2],y:f.y+_[3]}};break;case"C":p={x:_[4],y:_[5]},y={c:{x:_[0],y:_[1]},s:{x:_[2],y:_[3]}};break;case"v":p={x:f.x,y:f.y+_[0]},y=!0;break;case"V":p={x:f.x,y:_[0]},y=!0;break;case"z":case"Z":p=null,y=!0}return p&&(f=p),{node:p,edge:y}})});let n=0,o=0;for(const r of t){const s=o;for(const{node:l,edge:c}of r)A(_e,`subpath${o}`,c),A(ye,`subpath${o}`,l),o++;const i=o-s;A(Ke,`path${n}`,Array.from({length:i},(l,c)=>`subpath${s+c}`)),A(ke,l=>[...l,`path${n}`]),n++}}}),Ht=Do(hr),q=256,Z=296;function mr(){const e=ir(In,Vo),t=Uo(n=>{n.currentTarget.releasePointerCapture(n.pointerId),A(De,null)},[]);return _t(()=>void Ht(),[]),b("div",{style:{display:"flex",flexFlow:"column",position:"relative",overflow:"hidden",maxWidth:"1280px",width:"100vw",alignItems:"center"},children:[b("svg",{ref:e,viewBox:`-185 -15 ${q+370} ${Z+30}`,width:1e3,height:500,onPointerMove:dr,onPointerUp:t,onPointerCancel:t,children:[b("title",{children:"Bezier Playground"}),b("defs",{children:b("pattern",{id:"grid",width:"5",height:"5",patternUnits:"userSpaceOnUse",children:b("rect",{x:"0",y:"0",width:".5",height:".5",fill:"none",stroke:"#aaa"})})}),b("rect",{x:0,y:0,width:q,height:Z,fill:"#aaa3"}),b("rect",{x:-185,y:-10,width:q+370,height:Z+20,fill:"url(#grid)"}),b(_r,{})]}),b("button",{type:"button",class:"flat",onClick:Ht,children:"Reset"})]})}function gr(){return b(E,{children:[b("h1",{children:"Atom.io in Preact on Vite"}),b("main",{children:[b(mr,{}),b("article",{children:[b(He,{title:"Learn Atom.io",description:"Atom.io is where data lives.",href:"https://atom.io.fyi/docs/getting-started"}),b(He,{title:"Learn Preact",description:"If you're new to Preact, try the interactive tutorial to learn important concepts",href:"https://preactjs.com/tutorial"}),b(He,{title:"Learn Vite",description:"To learn more about Vite and how you can customize it to fit your needs, take a look at their excellent documentation",href:"https://vitejs.dev"})]})]})]})}function He(e){return b("a",{href:e.href,target:"_blank",class:"resource",rel:"noreferrer",children:[b("h2",{children:e.title}),b("p",{children:e.description})]})}zn(b(gr,{}),document.getElementById("app"));