sh3-server 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/app/assets/SH3-BG5NVpSD.png +0 -0
- package/app/assets/icons-CnAqUqbR.svg +1126 -0
- package/app/assets/index-B1mKDfA-.css +1 -0
- package/app/assets/index-C7fUtJvb.js +9 -0
- package/app/assets/tauri-backend-B3LR3-lo.js +1 -0
- package/app/index.html +13 -0
- package/dist/auth.d.ts +34 -0
- package/dist/auth.js +107 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.js +30 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.js +228 -0
- package/dist/keys.d.ts +33 -0
- package/dist/keys.js +68 -0
- package/dist/packages.d.ts +38 -0
- package/dist/packages.js +256 -0
- package/dist/routes/admin.d.ts +10 -0
- package/dist/routes/admin.js +126 -0
- package/dist/routes/auth.d.ts +13 -0
- package/dist/routes/auth.js +97 -0
- package/dist/routes/boot.d.ts +11 -0
- package/dist/routes/boot.js +56 -0
- package/dist/routes/docs.d.ts +14 -0
- package/dist/routes/docs.js +133 -0
- package/dist/routes/env-state.d.ts +8 -0
- package/dist/routes/env-state.js +62 -0
- package/dist/sessions.d.ts +26 -0
- package/dist/sessions.js +59 -0
- package/dist/settings.d.ts +22 -0
- package/dist/settings.js +63 -0
- package/dist/shard-router.d.ts +68 -0
- package/dist/shard-router.js +145 -0
- package/dist/shell-shard/history-store.d.ts +11 -0
- package/dist/shell-shard/history-store.js +65 -0
- package/dist/shell-shard/index.d.ts +14 -0
- package/dist/shell-shard/index.js +51 -0
- package/dist/shell-shard/runner.d.ts +22 -0
- package/dist/shell-shard/runner.js +84 -0
- package/dist/shell-shard/session-manager.d.ts +56 -0
- package/dist/shell-shard/session-manager.js +161 -0
- package/dist/shell-shard/tokenize.d.ts +1 -0
- package/dist/shell-shard/tokenize.js +68 -0
- package/dist/shell-shard/ws.d.ts +2 -0
- package/dist/shell-shard/ws.js +78 -0
- package/dist/users.d.ts +44 -0
- package/dist/users.js +113 -0
- package/package.json +49 -0
- package/static/404.html +53 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const a of s)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const a={};return s.integrity&&(a.integrity=s.integrity),s.referrerPolicy&&(a.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?a.credentials="include":s.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function r(s){if(s.ep)return;s.ep=!0;const a=n(s);fetch(s.href,a)}})();const jc=1,qc=2,qi=4,Uc=8,Vc=16,Fc=1,Ui=4,Bc=8,Hc=16,Kc=1,Yc=2,Wc=4,Qs=1,Vi=2,Gc=4,Xc=8,Hr="[",Kr="[!",Ga="[?",Yr="]",ln={},me=Symbol(),tt=Symbol("filename"),bn=Symbol("hmr"),Fi="http://www.w3.org/1999/xhtml",lr="http://www.w3.org/2000/svg",ea="http://www.w3.org/1998/Math/MathML",Bi="@attach",Hi=!1;var Nn=Array.isArray,Jc=Array.prototype.indexOf,In=Array.prototype.includes,Wr=Array.from,Rr=Object.keys,cn=Object.defineProperty,bt=Object.getOwnPropertyDescriptor,Ki=Object.getOwnPropertyDescriptors,Yi=Object.prototype,Zc=Array.prototype,Gr=Object.getPrototypeOf,Xa=Object.isExtensible,Qc=Object.prototype.hasOwnProperty;function yn(e){return typeof e=="function"}const nt=()=>{};function Ja(e){return typeof e?.then=="function"}function eu(e){return e()}function Cs(e){for(var t=0;t<e.length;t++)e[t]()}function Wi(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}function tu(e,t,n=!1){return e===void 0?n?t():t:e}function Gi(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);const n=[];for(const r of e)if(n.push(r),n.length===t)break;return n}function nu(e,t){var n={};for(var r in e)t.includes(r)||(n[r]=e[r]);for(var s of Object.getOwnPropertySymbols(e))Object.propertyIsEnumerable.call(e,s)&&!t.includes(s)&&(n[s]=e[s]);return n}const Ne=2,un=4,cr=8,ta=1<<24,yt=16,wt=32,Yt=64,$s=128,vt=512,Ae=1024,Oe=2048,kt=4096,Be=8192,Xe=16384,Ut=32768,Rs=1<<25,St=65536,Qn=1<<17,Xi=1<<18,Gt=1<<19,Ji=1<<20,Ct=1<<25,fn=65536,Ps=1<<21,Cn=1<<22,Kt=1<<23,je=Symbol("$state"),Xr=Symbol("legacy props"),ru=Symbol(""),su=Symbol("proxy path"),au=Symbol("hmr anchor"),xt=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},_n=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml"),Zi=1,ur=3,Vt=8,Qi=11;function eo(e){throw new Error("https://svelte.dev/e/experimental_async_required")}function iu(){throw new Error("https://svelte.dev/e/invalid_default_snippet")}function Za(){throw new Error("https://svelte.dev/e/invalid_snippet_arguments")}function Dn(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function ou(){throw new Error("https://svelte.dev/e/missing_context")}function lu(){throw new Error("https://svelte.dev/e/snippet_without_render_tag")}function cu(e){throw new Error("https://svelte.dev/e/store_invalid_shape")}function uu(){throw new Error("https://svelte.dev/e/svelte_element_invalid_this_value")}function fu(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function du(e,t){throw new Error("https://svelte.dev/e/component_api_changed")}function vu(e,t){throw new Error("https://svelte.dev/e/component_api_invalid_new")}function hu(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function pu(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function _u(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function mu(e){throw new Error("https://svelte.dev/e/effect_orphan")}function gu(){throw new Error("https://svelte.dev/e/effect_pending_outside_reaction")}function bu(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function yu(){throw new Error("https://svelte.dev/e/fork_discarded")}function wu(){throw new Error("https://svelte.dev/e/fork_timing")}function ku(){throw new Error("https://svelte.dev/e/get_abort_signal_outside_reaction")}function Su(){throw new Error("https://svelte.dev/e/hydration_failed")}function to(e){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")}function Eu(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function xu(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Tu(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Au(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Iu(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}function Cu(e,t){console.warn("https://svelte.dev/e/assignment_value_stale")}function $u(e,t){console.warn("https://svelte.dev/e/binding_property_non_reactive")}function Ru(e){console.warn("https://svelte.dev/e/console_log_state")}function Pu(){console.warn("https://svelte.dev/e/derived_inert")}function Lu(e,t){console.warn("https://svelte.dev/e/event_handler_invalid")}function Ou(e){console.warn("https://svelte.dev/e/hydratable_missing_but_expected")}function fr(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function Nu(e,t,n,r){console.warn("https://svelte.dev/e/ownership_invalid_binding")}function Du(e,t,n,r){console.warn("https://svelte.dev/e/ownership_invalid_mutation")}function Mu(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function no(e){console.warn("https://svelte.dev/e/state_proxy_equality_mismatch")}function zu(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let j=!1;function pe(e){j=e}let H;function ce(e){if(e===null)throw fr(),ln;return H=e}function Ke(){return ce(at(H))}function h(e){if(j){if(at(H)!==null)throw fr(),ln;H=e}}function ju(e){j&&(H=e.content)}function rn(e=1){if(j){for(var t=e,n=H;t--;)n=at(n);H=n}}function dn(e=!0){for(var t=0,n=H;;){if(n.nodeType===Vt){var r=n.data;if(r===Yr){if(t===0)return n;t-=1}else(r===Hr||r===Kr||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(t+=1)}var s=at(n);e&&n.remove(),n=s}}function na(e){if(!e||e.nodeType!==Vt)throw fr(),ln;return e.data}function ro(e){return e===this.v}function so(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function ao(e){return!so(e,this.v)}let qu=!1;function Uu(e){console.warn("https://svelte.dev/e/dynamic_void_element_content")}const Vu=[];function vn(e,t=!1,n=!1){return kr(e,new Map,"",Vu,null,n)}function kr(e,t,n,r,s=null,a=!1){if(typeof e=="object"&&e!==null){var i=t.get(e);if(i!==void 0)return i;if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if(Nn(e)){var o=Array(e.length);t.set(e,o),s!==null&&t.set(s,o);for(var l=0;l<e.length;l+=1){var u=e[l];l in e&&(o[l]=kr(u,t,n,r,null,a))}return o}if(Gr(e)===Yi){o={},t.set(e,o),s!==null&&t.set(s,o);for(var f of Object.keys(e))o[f]=kr(e[f],t,n,r,null,a);return o}if(e instanceof Date)return structuredClone(e);if(typeof e.toJSON=="function"&&!a)return kr(e.toJSON(),t,n,r,e)}if(e instanceof EventTarget)return e;try{return structuredClone(e)}catch{return e}}let mn=null;function io(e,t){const n=e.v;if(n===me)return;const r=Fu(e),s=Q,a=e.wv>s.wv||s.wv===0,i=a?"color: CornflowerBlue; font-weight: bold":"color: grey; font-weight: normal";if(console.groupCollapsed(e.label?`%c${r}%c ${e.label}`:`%c${r}%c`,i,a?"font-weight: normal":i,typeof n=="object"&&n!==null&&je in n?vn(n,!0):n),r==="$derived"){const l=new Set(e.deps);for(const u of l)io(u)}if(e.created&&console.log(e.created),a&&e.updated)for(const l of e.updated.values())l.error&&console.log(l.error);if(t)for(var o of t.traces)console.log(o);console.groupEnd()}function Fu(e){return e.f&(Ne|Cn)?"$derived":e.label?.startsWith("$")?"store":"$state"}function Bu(e,t){var n=mn;try{mn={entries:new Map,reaction:Q};var r=performance.now(),s=t(),a=(performance.now()-r).toFixed(2),i=be(e);if(!_r())console.log(`${i} %cran outside of an effect (${a}ms)`,"color: grey");else if(mn.entries.size===0)console.log(`${i} %cno reactive dependencies (${a}ms)`,"color: grey");else{console.group(`${i} %c(${a}ms)`,"color: grey");var o=mn.entries;be(()=>{for(const[l,u]of o)io(l,u)}),mn=null,console.groupEnd()}return s}finally{mn=n}}function Hu(e,t){return e.label=t,oo(e.v,t),e}function oo(e,t){return e?.[su]?.(t),e}function Ku(e){const t=new Error,n=Yu();return n.length===0?null:(n.unshift(`
|
|
2
|
+
`),cn(t,"stack",{value:n.join(`
|
|
3
|
+
`)}),cn(t,"name",{value:e}),t)}function Yu(){const e=Error.stackTraceLimit;Error.stackTraceLimit=1/0;const t=new Error().stack;if(Error.stackTraceLimit=e,!t)return[];const n=t.split(`
|
|
4
|
+
`),r=[];for(let s=0;s<n.length;s++){const a=n[s],i=a.replaceAll("\\","/");if(a.trim()!=="Error"){if(a.includes("validate_each_keys"))return[];i.includes("svelte/src/internal")||i.includes("node_modules/.vite")||r.push(a)}}return r}let oe=null;function $n(e){oe=e}let Sr=null;function Wu(e,t,n,r,s,a){const i=Sr;Sr={type:t,file:n[tt],line:r,column:s,parent:i,...a};try{return e()}finally{Sr=i}}let ra=null;function Qa(e){ra=e}function Gu(){const e={};return[()=>(uo(e)||ou(),lo(e)),t=>co(e,t)]}function lo(e){return Jr().get(e)}function co(e,t){return Jr().set(e,t),t}function uo(e){return Jr().has(e)}function Xu(){return Jr()}function re(e,t=!1,n){oe={p:oe,i:!1,c:null,e:null,s:e,x:null,r:K,l:null}}function se(e){var t=oe,n=t.e;if(n!==null){t.e=null;for(var r of n)qo(r)}return e!==void 0&&(t.x=e),t.i=!0,oe=t.p,e??{}}function fo(){return!0}function Jr(e){return oe===null&&Dn(),oe.c??=new Map(Ju(oe)||void 0)}function Ju(e){let t=e.p;for(;t!==null;){const n=t.c;if(n!==null)return n;t=t.p}return null}let tn=[];function vo(){var e=tn;tn=[],Cs(e)}function He(e){if(tn.length===0&&!Tn){var t=tn;queueMicrotask(()=>{t===tn&&vo()})}tn.push(e)}function Zu(){for(;tn.length>0;)vo()}function ho(e){var t=K;if(t===null)return Q.f|=Kt,e;if(!(t.f&Ut)&&!(t.f&un))throw e;$t(e,t)}function $t(e,t){for(;t!==null;){if(t.f&$s){if(!(t.f&Ut))throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const Qu=-7169;function ye(e,t){e.f=e.f&Qu|t}function sa(e){e.f&vt||e.deps===null?ye(e,Ae):ye(e,kt)}function po(e){if(e!==null)for(const t of e)!(t.f&Ne)||!(t.f&fn)||(t.f^=fn,po(t.deps))}function _o(e,t,n){e.f&Oe?t.add(e):e.f&kt&&n.add(e),po(e.deps),ye(e,Ae)}function mo(e,t,n){if(e==null)return t(void 0),nt;const r=be(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}function ef(e){let t;return mo(e,n=>t=n)(),t}let Ls=!1,Kn=!1,Os=Symbol();function tf(e,t,n){const r=n[t]??={store:null,source:es(void 0),unsubscribe:nt};if(r.store!==e&&!(Os in n))if(r.unsubscribe(),r.store=e??null,e==null)r.source.v=void 0,r.unsubscribe=nt;else{var s=!0;r.unsubscribe=mo(e,a=>{s?r.source.v=a:y(r.source,a)}),s=!1}return e&&Os in n?ef(e):c(r.source)}function nf(e,t,n){let r=n[t];return r&&r.store!==e&&(r.unsubscribe(),r.unsubscribe=nt),e}function go(e,t){return Zr(e,t),t}function rf(e,t){var n=e[t];n.store!==null&&go(n.store,n.source.v)}function sf(){const e={};function t(){ct(()=>{for(var n in e)e[n].unsubscribe();cn(e,Os,{enumerable:!1,value:!0})})}return[e,t]}function Zr(e,t){Ls=!0;try{e.set(t)}finally{Ls=!1}}function af(e,t,n){return Zr(e,n),t}function of(e,t,n=1){return Zr(e,t+n),t}function lf(e,t,n=1){const r=t+n;return Zr(e,r),r}function cf(){Kn=!0}function bo(e){var t=Kn;try{return Kn=!1,[e(),Kn]}finally{Kn=t}}const Dt=new Set;let W=null,Ve=null,Ns=null,Tn=!1,gs=!1,En=null,Er=null;var ei=0;let uf=1;class _t{id=uf++;current=new Map;previous=new Map;#e=new Set;#n=new Set;#t=new Set;#a=new Map;#s=new Map;#i=null;#r=[];#o=[];#l=new Set;#u=new Set;#c=new Map;#d=new Set;is_fork=!1;#h=!1;#v=new Set;#f(){return this.is_fork||this.#s.size>0}#g(){for(const r of this.#v)for(const s of r.#s.keys()){for(var t=!1,n=s;n.parent!==null;){if(this.#c.has(n)){t=!0;break}n=n.parent}if(!t)return!0}return!1}skip_effect(t){this.#c.has(t)||this.#c.set(t,{d:[],m:[]}),this.#d.delete(t)}unskip_effect(t,n=r=>this.schedule(r)){var r=this.#c.get(t);if(r){this.#c.delete(t);for(var s of r.d)ye(s,Oe),n(s);for(s of r.m)ye(s,kt),n(s)}this.#d.add(t)}#p(){if(ei++>1e3&&(Dt.delete(this),ff()),!this.#f()){for(const o of this.#l)this.#u.delete(o),ye(o,Oe),this.schedule(o);for(const o of this.#u)ye(o,kt),this.schedule(o)}const t=this.#r;this.#r=[],this.apply();var n=En=[],r=[],s=Er=[];for(const o of t)try{this.#m(o,n,r)}catch(l){throw So(o),l}if(W=null,s.length>0){var a=_t.ensure();for(const o of s)a.schedule(o)}if(En=null,Er=null,this.#f()||this.#g()){this.#_(r),this.#_(n);for(const[o,l]of this.#c)ko(o,l)}else{this.#a.size===0&&Dt.delete(this),this.#l.clear(),this.#u.clear();for(const o of this.#e)o(this);this.#e.clear(),ti(r),ti(n),this.#i?.resolve()}var i=W;if(this.#r.length>0){const o=i??=this;o.#r.push(...this.#r.filter(l=>!o.#r.includes(l)))}i!==null&&(Dt.add(i),i.#p())}#m(t,n,r){t.f^=Ae;for(var s=t.first;s!==null;){var a=s.f,i=(a&(wt|Yt))!==0,o=i&&(a&Ae)!==0,l=o||(a&Be)!==0||this.#c.has(s);if(!l&&s.fn!==null){i?s.f^=Ae:a&un?n.push(s):Mn(s)&&(a&yt&&this.#u.add(s),pn(s));var u=s.first;if(u!==null){s=u;continue}}for(;s!==null;){var f=s.next;if(f!==null){s=f;break}s=s.parent}}}#_(t){for(var n=0;n<t.length;n+=1)_o(t[n],this.#l,this.#u)}capture(t,n,r=!1){t.v!==me&&!this.previous.has(t)&&this.previous.set(t,t.v),t.f&Kt||(this.current.set(t,[n,r]),Ve?.set(t,n)),this.is_fork||(t.v=n)}activate(){W=this}deactivate(){W=null,Ve=null}flush(){try{gs=!0,W=this,this.#p()}finally{ei=0,Ns=null,En=null,Er=null,gs=!1,W=null,Ve=null,sn.clear()}}discard(){for(const t of this.#n)t(this);this.#n.clear(),this.#t.clear(),Dt.delete(this)}register_created_effect(t){this.#o.push(t)}#b(){for(const f of Dt){var t=f.id<this.id,n=[];for(const[v,[d,_]]of this.current){if(f.current.has(v)){var r=f.current.get(v)[0];if(t&&d!==r)f.current.set(v,[d,_]);else continue}n.push(v)}var s=[...f.current.keys()].filter(v=>!this.current.has(v));if(s.length===0)t&&f.discard();else if(n.length>0){if(t)for(const v of this.#d)f.unskip_effect(v,d=>{d.f&(yt|Cn)?f.schedule(d):f.#_([d])});f.activate();var a=new Set,i=new Map;for(var o of n)yo(o,s,a,i);i=new Map;var l=[...f.current.keys()].filter(v=>this.current.has(v)?this.current.get(v)[0]!==v:!0);for(const v of this.#o)!(v.f&(Xe|Be|Qn))&&aa(v,l,i)&&(v.f&(Cn|yt)?(ye(v,Oe),f.schedule(v)):f.#l.add(v));if(f.#r.length>0){f.apply();for(var u of f.#r)f.#m(u,[],[]);f.#r=[]}f.deactivate()}}for(const f of Dt)f.#v.has(this)&&(f.#v.delete(this),f.#v.size===0&&!f.#f()&&(f.activate(),f.#p()))}increment(t,n){let r=this.#a.get(n)??0;if(this.#a.set(n,r+1),t){let s=this.#s.get(n)??0;this.#s.set(n,s+1)}}decrement(t,n,r){let s=this.#a.get(n)??0;if(s===1?this.#a.delete(n):this.#a.set(n,s-1),t){let a=this.#s.get(n)??0;a===1?this.#s.delete(n):this.#s.set(n,a-1)}this.#h||r||(this.#h=!0,He(()=>{this.#h=!1,this.flush()}))}transfer_effects(t,n){for(const r of t)this.#l.add(r);for(const r of n)this.#u.add(r);t.clear(),n.clear()}oncommit(t){this.#e.add(t)}ondiscard(t){this.#n.add(t)}on_fork_commit(t){this.#t.add(t)}run_fork_commit_callbacks(){for(const t of this.#t)t(this);this.#t.clear()}settled(){return(this.#i??=Wi()).promise}static ensure(){if(W===null){const t=W=new _t;gs||(Dt.add(W),Tn||He(()=>{W===t&&t.flush()}))}return W}apply(){{Ve=null;return}}schedule(t){if(Ns=t,t.b?.is_pending&&t.f&(un|cr|ta)&&!(t.f&Ut)){t.b.defer_effect(t);return}for(var n=t;n.parent!==null;){n=n.parent;var r=n.f;if(En!==null&&n===K&&(Q===null||!(Q.f&Ne))&&!Ls)return;if(r&(Yt|wt)){if(!(r&Ae))return;n.f^=Ae}}this.#r.push(n)}}function Wt(e){var t=Tn;Tn=!0;try{var n;for(e&&(W!==null&&!W.is_fork&&W.flush(),n=e());;){if(Zu(),W===null)return n;W.flush()}}finally{Tn=t}}function ff(){try{bu()}catch(e){$t(e,Ns)}}let Mt=null;function ti(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&(Xe|Be))&&Mn(r)&&(Mt=new Set,pn(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Ko(r),Mt?.size>0)){sn.clear();for(const s of Mt){if(s.f&(Xe|Be))continue;const a=[s];let i=s.parent;for(;i!==null;)Mt.has(i)&&(Mt.delete(i),a.push(i)),i=i.parent;for(let o=a.length-1;o>=0;o--){const l=a[o];l.f&(Xe|Be)||pn(l)}}Mt.clear()}}Mt=null}}function yo(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const a=s.f;a&Ne?yo(s,t,n,r):a&(Cn|yt)&&!(a&Oe)&&aa(s,t,r)&&(ye(s,Oe),ia(s))}}function wo(e,t){if(e.reactions!==null)for(const n of e.reactions){const r=n.f;r&Ne?wo(n,t):r&Qn&&(ye(n,Oe),t.add(n))}}function aa(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(In.call(t,s))return!0;if(s.f&Ne&&aa(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function ia(e){W.schedule(e)}let Pr=[];function df(){try{Wt(()=>{for(const e of Pr)Rn(e)})}finally{Pr=[]}}function vf(e){var t=st(0),n=!0,r=void 0;return c(t),Vo(()=>{if(n){var s=Ve;try{Ve=null,r=e()}finally{Ve=s}return}Pr.length===0&&He(df),Pr.push(t)}),n=!1,r}function ko(e,t){if(!(e.f&wt&&e.f&Ae)){e.f&Oe?t.d.push(e):e.f&kt&&t.m.push(e),ye(e,Ae);for(var n=e.first;n!==null;)ko(n,t),n=n.next}}function So(e){ye(e,Ae);for(var t=e.first;t!==null;)So(t),t=t.next}function hf(e){eo(),W!==null&&wu();var t=_t.ensure();t.is_fork=!0,Ve=new Map;var n=!1,r=t.settled();return Wt(e),{commit:async()=>{if(n){await r;return}Dt.has(t)||yu(),n=!0,t.is_fork=!1;for(var[s,[a]]of t.current)s.v=a,s.wv=Or();t.activate(),t.run_fork_commit_callbacks(),t.deactivate(),Wt(()=>{var i=new Set;for(var o of t.current.keys())wo(o,i);xf(i),$o()}),t.flush(),await r},discard:()=>{for(var s of t.current.keys())s.wv=Or();!n&&Dt.has(t)&&t.discard()}}}function pf(e){let t=0,n=st(0),r;return()=>{_r()&&(c(n),Ee(()=>(t===0&&(r=be(()=>e(()=>Xn(n)))),t+=1,()=>{He(()=>{t-=1,t===0&&(r?.(),r=void 0,Xn(n))})})))}}var _f=St|Gt;function Eo(e,t,n,r){new mf(e,t,n,r)}class mf{parent;is_pending=!1;transform_error;#e;#n=j?H:null;#t;#a;#s;#i=null;#r=null;#o=null;#l=null;#u=0;#c=0;#d=!1;#h=new Set;#v=new Set;#f=null;#g=pf(()=>(this.#f=st(this.#u),()=>{this.#f=null}));constructor(t,n,r,s){this.#e=t,this.#t=n,this.#a=a=>{var i=K;i.b=this,i.f|=$s,r(a)},this.parent=K.b,this.transform_error=s??this.parent?.transform_error??(a=>a),this.#s=Ot(()=>{if(j){const a=this.#n;Ke();const i=a.data===Kr;if(a.data.startsWith(Ga)){const l=JSON.parse(a.data.slice(Ga.length));this.#m(l)}else i?this.#_():this.#p()}else this.#b()},_f),j&&(this.#e=H)}#p(){try{this.#i=Ue(()=>this.#a(this.#e))}catch(t){this.error(t)}}#m(t){const n=this.#t.failed;n&&(this.#o=Ue(()=>{n(this.#e,()=>t,()=>()=>{})}))}#_(){const t=this.#t.pending;t&&(this.is_pending=!0,this.#r=Ue(()=>t(this.#e)),He(()=>{var n=this.#l=document.createDocumentFragment(),r=Me();n.append(r),this.#i=this.#w(()=>Ue(()=>this.#a(r))),this.#c===0&&(this.#e.before(n),this.#l=null,an(this.#r,()=>{this.#r=null}),this.#y(W))}))}#b(){try{if(this.is_pending=this.has_pending_snippet(),this.#c=0,this.#u=0,this.#i=Ue(()=>{this.#a(this.#e)}),this.#c>0){var t=this.#l=document.createDocumentFragment();pa(this.#i,t);const n=this.#t.pending;this.#r=Ue(()=>n(this.#e))}else this.#y(W)}catch(n){this.error(n)}}#y(t){this.is_pending=!1,t.transfer_effects(this.#h,this.#v)}defer_effect(t){_o(t,this.#h,this.#v)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#t.pending}#w(t){var n=K,r=Q,s=oe;qe(this.#s),Je(this.#s),$n(this.#s.ctx);try{return _t.ensure(),t()}catch(a){return ho(a),null}finally{qe(n),Je(r),$n(s)}}#k(t,n){if(!this.has_pending_snippet()){this.parent&&this.parent.#k(t,n);return}this.#c+=t,this.#c===0&&(this.#y(n),this.#r&&an(this.#r,()=>{this.#r=null}),this.#l&&(this.#e.before(this.#l),this.#l=null))}update_pending_count(t,n){this.#k(t,n),this.#u+=t,!(!this.#f||this.#d)&&(this.#d=!0,He(()=>{this.#d=!1,this.#f&&Rt(this.#f,this.#u)}))}get_effect_pending(){return this.#g(),c(this.#f)}error(t){if(!this.#t.onerror&&!this.#t.failed)throw t;W?.is_fork?(this.#i&&W.skip_effect(this.#i),this.#r&&W.skip_effect(this.#r),this.#o&&W.skip_effect(this.#o),W.on_fork_commit(()=>{this.#S(t)})):this.#S(t)}#S(t){this.#i&&(Re(this.#i),this.#i=null),this.#r&&(Re(this.#r),this.#r=null),this.#o&&(Re(this.#o),this.#o=null),j&&(ce(this.#n),rn(),ce(dn()));var n=this.#t.onerror;let r=this.#t.failed;var s=!1,a=!1;const i=()=>{if(s){zu();return}s=!0,a&&Iu(),this.#o!==null&&an(this.#o,()=>{this.#o=null}),this.#w(()=>{this.#b()})},o=l=>{try{a=!0,n?.(l,i),a=!1}catch(u){$t(u,this.#s&&this.#s.parent)}r&&(this.#o=this.#w(()=>{try{return Ue(()=>{var u=K;u.b=this,u.f|=$s,r(this.#e,()=>l,()=>i)})}catch(u){return $t(u,this.#s.parent),null}}))};He(()=>{var l;try{l=this.transform_error(t)}catch(u){$t(u,this.#s&&this.#s.parent);return}l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(o,u=>$t(u,this.#s&&this.#s.parent)):o(l)})}}function gf(){K===null&&gu();var e=K.b;return e===null?0:e.get_effect_pending()}function dr(e,t,n,r){const s=hr;var a=e.filter(d=>!d.settled);if(n.length===0&&a.length===0){r(t.map(s));return}var i=K,o=Qr(),l=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(d=>d.promise)):null;function u(d){o();try{r(d)}catch(_){i.f&Xe||$t(_,i)}hn()}if(n.length===0){l.then(()=>u(t.map(s)));return}var f=vr();function v(){Promise.all(n.map(d=>To(d))).then(d=>u([...t.map(s),...d])).catch(d=>$t(d,i)).finally(()=>f())}l?l.then(()=>{o(),v(),hn()}):v()}function xo(e,t){dr(e,[],[],t)}function Qr(){var e=K,t=Q,n=oe,r=W;return function(a=!0){qe(e),Je(t),$n(n),a&&!(e.f&Xe)&&(r?.activate(),r?.apply())}}async function bf(e){var t=Qr(),n=await e;return()=>(t(),n)}async function Ds(e){var t=Gn;queueMicrotask(()=>{Gn===t&&xr(null)});var n=await e;return()=>(xr(t),queueMicrotask(()=>{Gn===t&&xr(null)}),n)}async function*yf(e){const t=e[Symbol.asyncIterator]?.()??e[Symbol.iterator]?.();if(t===void 0)throw new TypeError("value is not async iterable");let n=!1;try{for(;;){const{done:s,value:a}=(await Ds(t.next()))();if(s){n=!0;break}var r=Gn;yield a,xr(r)}}finally{if(!n&&t.return!==void 0)return(await Ds(t.return()))().value}}function hn(e=!0){qe(null),Je(null),$n(null),e&&W?.deactivate()}function wf(e){const t=Qr(),n=vr();var r=K,s=null;const a=u=>{s={error:u},js(r)||$t(u,r)};var i=Promise.resolve(e[0]()).catch(a),o={promise:i,settled:!1},l=[o];i.finally(()=>{o.settled=!0,hn()});for(const u of e.slice(1)){i=i.then(()=>{if(t(),s)throw s.error;if(js(r))throw xt;return u()}).catch(a);const f={promise:i,settled:!1};l.push(f),i.finally(()=>{f.settled=!0,hn()})}return i.then(()=>Promise.resolve()).finally(()=>n()),l}function kf(e){return Promise.all(e.map(t=>t.promise))}function vr(){var e=K,t=e.b,n=W,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),(s=!1)=>{t.update_pending_count(-1,n),n.decrement(r,e,s)}}let Gn=null;function xr(e){Gn=e}function hr(e){var t=Ne|Oe;return K!==null&&(K.f|=Gt),{ctx:oe,deps:null,effects:null,equals:ro,f:t,fn:e,reactions:null,rv:0,v:me,wv:0,parent:K,ac:null}}function To(e,t,n){let r=K;r===null&&fu();var s=void 0,a=st(me),i=!Q,o=new Map;return Mf(()=>{var l=K,u=Wi();s=u.promise;try{Promise.resolve(e()).then(u.resolve,u.reject).finally(hn)}catch(_){u.reject(_),hn()}var f=W;if(i){if(l.f&Ut)var v=vr();if(r.b.is_rendered())o.get(f)?.reject(xt),o.delete(f);else{for(const _ of o.values())_.reject(xt);o.clear()}o.set(f,u)}const d=(_,b=void 0)=>{if(v){var S=b===xt;v(S)}if(!(b===xt||l.f&Xe)){if(f.activate(),b)a.f|=Kt,Rt(a,b);else{a.f&Kt&&(a.f^=Kt),Rt(a,_);for(const[w,k]of o){if(o.delete(w),w===f)break;k.reject(xt)}}f.deactivate()}};u.promise.then(d,_=>d(null,_||"unknown"))}),ct(()=>{for(const l of o.values())l.reject(xt)}),new Promise(l=>{function u(f){function v(){f===s?l(a):u(s)}f.then(v,v)}u(s)})}function X(e){const t=hr(e);return Go(t),t}function oa(e){const t=hr(e);return t.equals=ao,t}function Sf(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)Re(t[n])}}function la(e){var t,n=K,r=e.parent;if(!qt&&r!==null&&r.f&(Xe|Be))return Pu(),e.v;qe(r);try{e.f&=~fn,Sf(e),t=Zo(e)}finally{qe(n)}return t}function Ao(e){var t=la(e);if(!e.equals(t)&&(e.wv=Or(),(!W?.is_fork||e.deps===null)&&(W!==null?W.capture(e,t,!0):e.v=t,e.deps===null))){ye(e,Ae);return}qt||(Ve!==null?(_r()||W?.is_fork)&&Ve.set(e,t):sa(e))}function Ef(e){if(e.effects!==null)for(const t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(xt),t.teardown=nt,t.ac=null,er(t,0),va(t))}function Io(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&pn(t)}let Lr=new Set;const sn=new Map;function xf(e){Lr=e}let Co=!1;function st(e,t){var n={f:0,v:e,reactions:null,equals:ro,rv:0,wv:0};return n}function z(e,t){const n=st(e);return Go(n),n}function es(e,t=!1,n=!0){const r=st(e);return t||(r.equals=ao),r}function Tf(e,t){return y(e,be(()=>c(e))),t}function y(e,t,n=!1){Q!==null&&(!gt||Q.f&Qn)&&fo()&&Q.f&(Ne|yt|Cn|Qn)&&(ht===null||!In.call(ht,e))&&Au();let r=n?he(t):t;return Rt(e,r,Er)}function Rt(e,t,n=null){if(!e.equals(t)){sn.set(e,qt?t:e.v);var r=_t.ensure();if(r.capture(e,t),e.f&Ne){const s=e;e.f&Oe&&la(s),Ve===null&&sa(s)}e.wv=Or(),Ro(e,Oe,n),K!==null&&K.f&Ae&&!(K.f&(wt|Yt))&&(ft===null?Vf([e]):ft.push(e)),!r.is_fork&&Lr.size>0&&!Co&&$o()}return t}function $o(){Co=!1;for(const e of Lr)e.f&Ae&&ye(e,kt),Mn(e)&&pn(e);Lr.clear()}function Rn(e,t=1){var n=c(e),r=t===1?n++:n--;return y(e,n),r}function Af(e,t=1){var n=c(e);return y(e,t===1?++n:--n)}function Xn(e){y(e,e.v+1)}function Ro(e,t,n){var r=e.reactions;if(r!==null)for(var s=r.length,a=0;a<s;a++){var i=r[a],o=i.f,l=(o&Oe)===0;if(l&&ye(i,t),o&Ne){var u=i;Ve?.delete(u),o&fn||(o&vt&&(i.f|=fn),Ro(u,kt,n))}else if(l){var f=i;o&yt&&Mt!==null&&Mt.add(f),n!==null?n.push(f):ia(f)}}}function he(e){if(typeof e!="object"||e===null||je in e)return e;const t=Gr(e);if(t!==Yi&&t!==Zc)return e;var n=new Map,r=Nn(e),s=z(0),a=on,i=o=>{if(on===a)return o();var l=Q,u=on;Je(null),si(a);var f=o();return Je(l),si(u),f};return r&&n.set("length",z(e.length)),new Proxy(e,{defineProperty(o,l,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&xu();var f=n.get(l);return f===void 0?i(()=>{var v=z(u.value);return n.set(l,v),v}):y(f,u.value,!0),!0},deleteProperty(o,l){var u=n.get(l);if(u===void 0){if(l in o){const f=i(()=>z(me));n.set(l,f),Xn(s)}}else y(u,me),Xn(s);return!0},get(o,l,u){if(l===je)return e;var f=n.get(l),v=l in o;if(f===void 0&&(!v||bt(o,l)?.writable)&&(f=i(()=>{var _=he(v?o[l]:me),b=z(_);return b}),n.set(l,f)),f!==void 0){var d=c(f);return d===me?void 0:d}return Reflect.get(o,l,u)},getOwnPropertyDescriptor(o,l){var u=Reflect.getOwnPropertyDescriptor(o,l);if(u&&"value"in u){var f=n.get(l);f&&(u.value=c(f))}else if(u===void 0){var v=n.get(l),d=v?.v;if(v!==void 0&&d!==me)return{enumerable:!0,configurable:!0,value:d,writable:!0}}return u},has(o,l){if(l===je)return!0;var u=n.get(l),f=u!==void 0&&u.v!==me||Reflect.has(o,l);if(u!==void 0||K!==null&&(!f||bt(o,l)?.writable)){u===void 0&&(u=i(()=>{var d=f?he(o[l]):me,_=z(d);return _}),n.set(l,u));var v=c(u);if(v===me)return!1}return f},set(o,l,u,f){var v=n.get(l),d=l in o;if(r&&l==="length")for(var _=u;_<v.v;_+=1){var b=n.get(_+"");b!==void 0?y(b,me):_ in o&&(b=i(()=>z(me)),n.set(_+"",b))}if(v===void 0)(!d||bt(o,l)?.writable)&&(v=i(()=>z(void 0)),y(v,he(u)),n.set(l,v));else{d=v.v!==me;var S=i(()=>he(u));y(v,S)}var w=Reflect.getOwnPropertyDescriptor(o,l);if(w?.set&&w.set.call(f,u),!d){if(r&&typeof l=="string"){var k=n.get("length"),p=Number(l);Number.isInteger(p)&&p>=k.v&&y(k,p+1)}Xn(s)}return!0},ownKeys(o){c(s);var l=Reflect.ownKeys(o).filter(v=>{var d=n.get(v);return d===void 0||d.v!==me});for(var[u,f]of n)f.v!==me&&!(u in o)&&l.push(u);return l},setPrototypeOf(){Tu()}})}function Pn(e){try{if(e!==null&&typeof e=="object"&&je in e)return e[je]}catch{}return e}function Po(e,t){return Object.is(Pn(e),Pn(t))}function If(e,t,n=!0){try{e===t!=(Pn(e)===Pn(t))&&no(n?"===":"!==")}catch{}return e===t===n}function Cf(e,t,n=!0){return e==t!=(Pn(e)==Pn(t))&&no(),e==t===n}var Ms,Lo,ca,Oo,No;function zs(){if(Ms===void 0){Ms=window,Lo=document,ca=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Oo=bt(t,"firstChild").get,No=bt(t,"nextSibling").get,Xa(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Xa(n)&&(n.__t=void 0)}}function Me(e=""){return document.createTextNode(e)}function ge(e){return Oo.call(e)}function at(e){return No.call(e)}function m(e,t){if(!j)return ge(e);var n=ge(H);if(n===null)n=H.appendChild(Me());else if(t&&n.nodeType!==ur){var r=Me();return n?.before(r),ce(r),r}return t&&ts(n),ce(n),n}function $e(e,t=!1){if(!j){var n=ge(e);return n instanceof Comment&&n.data===""?at(n):n}if(t){if(H?.nodeType!==ur){var r=Me();return H?.before(r),ce(r),r}ts(H)}return H}function T(e,t=1,n=!1){let r=j?H:e;for(var s;t--;)s=r,r=at(r);if(!j)return r;if(n){if(r?.nodeType!==ur){var a=Me();return r===null?s?.after(a):r.before(a),ce(a),a}ts(r)}return ce(r),r}function ua(e){e.textContent=""}function Do(){return!1}function Xt(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??Fi,e,r)}function $f(){return document.createDocumentFragment()}function Mo(e=""){return document.createComment(e)}function Rf(e,t,n=""){if(t.startsWith("xlink:")){e.setAttributeNS("http://www.w3.org/1999/xlink",t,n);return}return e.setAttribute(t,n)}function ts(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===ur;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function zo(e,t){if(t){const n=document.body;e.autofocus=!0,He(()=>{document.activeElement===n&&e.focus()})}}function Pf(e){j&&ge(e)!==null&&ua(e)}let ni=!1;function jo(){ni||(ni=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function Ze(e,t,n,r=!0){r&&n();for(var s of t)e.addEventListener(s,n);ct(()=>{for(var a of t)e.removeEventListener(a,n)})}function Jt(e){var t=Q,n=K;Je(null),qe(null);try{return e()}finally{Je(t),qe(n)}}function pr(e,t,n,r=n){e.addEventListener(t,()=>Jt(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),jo()}function fa(e){K===null&&(Q===null&&mu(),_u()),qt&&pu()}function Lf(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function Qe(e,t){var n=K;n!==null&&n.f&Be&&(e|=Be);var r={ctx:oe,deps:null,nodes:null,f:e|Oe|vt,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};W?.register_created_effect(r);var s=r;if(e&un)En!==null?En.push(r):_t.ensure().schedule(r);else if(t!==null){try{pn(r)}catch(i){throw Re(r),i}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&!(s.f&Gt)&&(s=s.first,e&yt&&e&St&&s!==null&&(s.f|=St))}if(s!==null&&(s.parent=n,n!==null&&Lf(s,n),Q!==null&&Q.f&Ne&&!(e&Yt))){var a=Q;(a.effects??=[]).push(s)}return r}function _r(){return Q!==null&&!gt}function ct(e){const t=Qe(cr,null);return ye(t,Ae),t.teardown=e,t}function it(e){fa();var t=K.f,n=!Q&&(t&wt)!==0&&(t&Ut)===0;if(n){var r=oe;(r.e??=[]).push(e)}else return qo(e)}function qo(e){return Qe(un|Ji,e)}function Uo(e){return fa(),Qe(cr|Ji,e)}function Vo(e){return Qe(Qn,e)}function da(e){_t.ensure();const t=Qe(Yt|Gt,e);return()=>{Re(t)}}function Of(e){_t.ensure();const t=Qe(Yt|Gt,e);return(n={})=>new Promise(r=>{n.outro?an(t,()=>{Re(t),r(void 0)}):(Re(t),r(void 0))})}function ot(e){return Qe(un,e)}function Nf(e,t){var n=oe,r={effect:null,ran:!1,deps:e};n.l.$.push(r),r.effect=Ee(()=>{if(e(),!r.ran){r.ran=!0;var s=K;try{qe(s.parent),be(t)}finally{qe(s)}}})}function Df(){var e=oe;Ee(()=>{for(var t of e.l.$){t.deps();var n=t.effect;n.f&Ae&&n.deps!==null&&ye(n,kt),Mn(n)&&pn(n),t.ran=!1}})}function Mf(e){return Qe(Cn|Gt,e)}function Ee(e,t=0){return Qe(cr|t,e)}function V(e,t=[],n=[],r=[]){dr(r,t,n,s=>{Qe(cr,()=>e(...s.map(c)))})}function zf(e,t=[],n=[],r=[]){if(n.length>0||r.length>0)var s=vr();dr(r,t,n,a=>{Qe(un,()=>e(...a.map(c))),s&&s()})}function Ot(e,t=0){var n=Qe(yt|t,e);return n}function Fo(e,t=0){var n=Qe(ta|t,e);return n}function Ue(e){return Qe(wt|Gt,e)}function Bo(e){var t=e.teardown;if(t!==null){const n=qt,r=Q;ri(!0),Je(null);try{t.call(null)}finally{ri(n),Je(r)}}}function va(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&Jt(()=>{s.abort(xt)});var r=n.next;n.f&Yt?n.parent=null:Re(n,t),n=r}}function jf(e){for(var t=e.first;t!==null;){var n=t.next;t.f&wt||Re(t),t=n}}function Re(e,t=!0){var n=!1;(t||e.f&Xi)&&e.nodes!==null&&e.nodes.end!==null&&(Ho(e.nodes.start,e.nodes.end),n=!0),ye(e,Rs),va(e,t&&!n),er(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const a of r)a.stop();Bo(e),e.f^=Rs,e.f|=Xe;var s=e.parent;s!==null&&s.first!==null&&Ko(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Ho(e,t){for(;e!==null;){var n=e===t?null:at(e);e.remove(),e=n}}function Ko(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function an(e,t,n=!0){var r=[];Yo(e,r,!0);var s=()=>{n&&Re(e),t&&t()},a=r.length;if(a>0){var i=()=>--a||s();for(var o of r)o.out(i)}else s()}function Yo(e,t,n){if(!(e.f&Be)){e.f^=Be;var r=e.nodes&&e.nodes.t;if(r!==null)for(const o of r)(o.is_global||n)&&t.push(o);for(var s=e.first;s!==null;){var a=s.next,i=(s.f&St)!==0||(s.f&wt)!==0&&(e.f&yt)!==0;Yo(s,t,i?n:!1),s=a}}}function ha(e){Wo(e,!0)}function Wo(e,t){if(e.f&Be){e.f^=Be,e.f&Ae||(ye(e,Oe),_t.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&St)!==0||(n.f&wt)!==0;Wo(n,s?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(const i of a)(i.is_global||t)&&i.in()}}function js(e=K){return(e.f&Xe)!==0}function pa(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:at(n);t.append(n),n=s}}let wn=null;function qf(e){var t=wn;try{if(wn=new Set,be(e),t!==null)for(var n of wn)t.add(n);return wn}finally{wn=t}}function Uf(e){for(var t of qf(e))Rt(t,t.v)}let Tr=!1,qt=!1;function ri(e){qt=e}let Q=null,gt=!1;function Je(e){Q=e}let K=null;function qe(e){K=e}let ht=null;function Go(e){Q!==null&&(ht===null?ht=[e]:ht.push(e))}let We=null,et=0,ft=null;function Vf(e){ft=e}let Xo=1,nn=0,on=nn;function si(e){on=e}function Or(){return++Xo}function Mn(e){var t=e.f;if(t&Oe)return!0;if(t&Ne&&(e.f&=~fn),t&kt){for(var n=e.deps,r=n.length,s=0;s<r;s++){var a=n[s];if(Mn(a)&&Ao(a),a.wv>e.wv)return!0}t&vt&&Ve===null&&ye(e,Ae)}return!1}function Jo(e,t,n=!0){var r=e.reactions;if(r!==null&&!(ht!==null&&In.call(ht,e)))for(var s=0;s<r.length;s++){var a=r[s];a.f&Ne?Jo(a,t,!1):t===a&&(n?ye(a,Oe):a.f&Ae&&ye(a,kt),ia(a))}}function Zo(e){var t=We,n=et,r=ft,s=Q,a=ht,i=oe,o=gt,l=on,u=e.f;We=null,et=0,ft=null,Q=u&(wt|Yt)?null:e,ht=null,$n(e.ctx),gt=!1,on=++nn,e.ac!==null&&(Jt(()=>{e.ac.abort(xt)}),e.ac=null);try{e.f|=Ps;var f=e.fn,v=f();e.f|=Ut;var d=e.deps,_=W?.is_fork;if(We!==null){var b;if(_||er(e,et),d!==null&&et>0)for(d.length=et+We.length,b=0;b<We.length;b++)d[et+b]=We[b];else e.deps=d=We;if(_r()&&e.f&vt)for(b=et;b<d.length;b++)(d[b].reactions??=[]).push(e)}else!_&&d!==null&&et<d.length&&(er(e,et),d.length=et);if(fo()&&ft!==null&&!gt&&d!==null&&!(e.f&(Ne|kt|Oe)))for(b=0;b<ft.length;b++)Jo(ft[b],e);if(s!==null&&s!==e){if(nn++,s.deps!==null)for(let S=0;S<n;S+=1)s.deps[S].rv=nn;if(t!==null)for(const S of t)S.rv=nn;ft!==null&&(r===null?r=ft:r.push(...ft))}return e.f&Kt&&(e.f^=Kt),v}catch(S){return ho(S)}finally{e.f^=Ps,We=t,et=n,ft=r,Q=s,ht=a,$n(i),gt=o,on=l}}function Ff(e,t){let n=t.reactions;if(n!==null){var r=Jc.call(n,e);if(r!==-1){var s=n.length-1;s===0?n=t.reactions=null:(n[r]=n[s],n.pop())}}if(n===null&&t.f&Ne&&(We===null||!In.call(We,t))){var a=t;a.f&vt&&(a.f^=vt,a.f&=~fn),a.v!==me&&sa(a),Ef(a),er(a,0)}}function er(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Ff(e,n[r])}function pn(e){var t=e.f;if(!(t&Xe)){ye(e,Ae);var n=K,r=Tr;K=e,Tr=!0;try{t&(yt|ta)?jf(e):va(e),Bo(e);var s=Zo(e);e.teardown=typeof s=="function"?s:null,e.wv=Xo;var a;Hi&&qu&&e.f&Oe&&e.deps}finally{Tr=r,K=n}}}async function _a(){await Promise.resolve(),Wt()}function Bf(){return _t.ensure().settled()}function c(e){var t=e.f,n=(t&Ne)!==0;if(wn?.add(e),Q!==null&&!gt){var r=K!==null&&(K.f&Xe)!==0;if(!r&&(ht===null||!In.call(ht,e))){var s=Q.deps;if(Q.f&Ps)e.rv<nn&&(e.rv=nn,We===null&&s!==null&&s[et]===e?et++:We===null?We=[e]:We.push(e));else{(Q.deps??=[]).push(e);var a=e.reactions;a===null?e.reactions=[Q]:In.call(a,Q)||a.push(Q)}}}if(qt&&sn.has(e))return sn.get(e);if(n){var i=e;if(qt){var o=i.v;return(!(i.f&Ae)&&i.reactions!==null||el(i))&&(o=la(i)),sn.set(i,o),o}var l=(i.f&vt)===0&&!gt&&Q!==null&&(Tr||(Q.f&vt)!==0),u=(i.f&Ut)===0;Mn(i)&&(l&&(i.f|=vt),Ao(i)),l&&!u&&(Io(i),Qo(i))}if(Ve?.has(e))return Ve.get(e);if(e.f&Kt)throw e.v;return e.v}function Qo(e){if(e.f|=vt,e.deps!==null)for(const t of e.deps)(t.reactions??=[]).push(e),t.f&Ne&&!(t.f&vt)&&(Io(t),Qo(t))}function el(e){if(e.v===me)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(sn.has(t)||t.f&Ne&&el(t))return!0;return!1}function Hf(e){return e&&c(e)}function be(e){var t=gt;try{return gt=!0,e()}finally{gt=t}}function ma(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(je in e)Nr(e);else if(!Array.isArray(e))for(let t in e){const n=e[t];typeof n=="object"&&n&&je in n&&Nr(n)}}}function Nr(e,t=new Set){if(typeof e=="object"&&e!==null&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let r in e)try{Nr(e[r],t)}catch{}const n=Gr(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){const r=Ki(n);for(let s in r){const a=r[s].get;if(a)try{a.call(e)}catch{}}}}}function Kf(e,t){if(eo(),j){const n=window.__svelte?.h;if(n?.has(e))return n.get(e);Ou()}return t()}const Yn=Symbol("events"),tl=new Set,qs=new Set;function Yf(e){if(!j)return;e.removeAttribute("onload"),e.removeAttribute("onerror");const t=e.__e;t!==void 0&&(e.__e=void 0,queueMicrotask(()=>{e.isConnected&&e.dispatchEvent(t)}))}function nl(e,t,n,r={}){function s(a){if(r.capture||Us.call(t,a),!a.cancelBubble)return Jt(()=>n?.call(this,a))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?He(()=>{t.addEventListener(e,s,r)}):t.addEventListener(e,s,r),s}function lt(e,t,n,r,s){var a={capture:r,passive:s},i=nl(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&ct(()=>{t.removeEventListener(e,i,a)})}function G(e,t,n){(t[Yn]??={})[e]=n}function ke(e){for(var t=0;t<e.length;t++)tl.add(e[t]);for(var n of qs)n(e)}let ai=null;function Us(e){var t=this,n=t.ownerDocument,r=e.type,s=e.composedPath?.()||[],a=s[0]||e.target;ai=e;var i=0,o=ai===e&&e[Yn];if(o){var l=s.indexOf(o);if(l!==-1&&(t===document||t===window)){e[Yn]=t;return}var u=s.indexOf(t);if(u===-1)return;l<=u&&(i=l)}if(a=s[i]||e.target,a!==t){cn(e,"currentTarget",{configurable:!0,get(){return a||n}});var f=Q,v=K;Je(null),qe(null);try{for(var d,_=[];a!==null;){var b=a.assignedSlot||a.parentNode||a.host||null;try{var S=a[Yn]?.[r];S!=null&&(!a.disabled||e.target===a)&&S.call(a,e)}catch(w){d?_.push(w):d=w}if(e.cancelBubble||b===t||b===null)break;a=b}if(d){for(let w of _)queueMicrotask(()=>{throw w});throw d}}finally{e[Yn]=t,delete e.currentTarget,Je(f),qe(v)}}}function Wf(e,t,n,r,s,a=!1,i=!1){let o,l;try{o=e()}catch(u){l=u}if(typeof o!="function"&&(a||o!=null||l)){const u=r?.[tt];s?`${u}${s[0]}${s[1]}`:`${u}`;const f=n[0]?.eventPhase<Event.BUBBLING_PHASE?"capture":"";if(n[0]?.type+f,Lu(),l)throw l}o?.apply(t,n)}const Gf=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function rl(e){return Gf?.createHTML(e)??e}function ga(e){var t=Xt("template");return t.innerHTML=rl(e.replaceAll("<!>","<!---->")),t.content}const Xf=_n?"template":"TEMPLATE",Jf=_n?"script":"SCRIPT";function Pe(e,t){var n=K;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function $(e,t){var n=(t&Qs)!==0,r=(t&Vi)!==0,s,a=!e.startsWith("<!>");return()=>{if(j)return Pe(H,null),H;s===void 0&&(s=ga(a?e:"<!>"+e),n||(s=ge(s)));var i=r||ca?document.importNode(s,!0):s.cloneNode(!0);if(n){var o=ge(i),l=i.lastChild;Pe(o,l)}else Pe(i,i);return i}}function sl(e,t,n="svg"){var r=!e.startsWith("<!>"),s=(t&Qs)!==0,a=`<${n}>${r?e:"<!>"+e}</${n}>`,i;return()=>{if(j)return Pe(H,null),H;if(!i){var o=ga(a),l=ge(o);if(s)for(i=document.createDocumentFragment();ge(l);)i.appendChild(ge(l));else i=ge(l)}var u=i.cloneNode(!0);if(s){var f=ge(u),v=u.lastChild;Pe(f,v)}else Pe(u,u);return u}}function Zf(e,t){return sl(e,t,"svg")}function Qf(e,t){return sl(e,t,"math")}function al(e,t){var n=$f();for(var r of e){if(typeof r=="string"){n.append(Me(r));continue}if(r===void 0||r[0][0]==="/"){n.append(Mo(r?r[0].slice(3):""));continue}const[o,l,...u]=r,f=o==="svg"?lr:o==="math"?ea:t;var s=Xt(o,f,l?.is);for(var a in l)Rf(s,a,l[a]);if(u.length>0){var i=s.nodeName===Xf?s.content:s;i.append(al(u,s.nodeName==="foreignObject"?void 0:f))}n.append(s)}return n}function ed(e,t){var n=(t&Qs)!==0,r=(t&Vi)!==0,s;return()=>{if(j)return Pe(H,null),H;if(s===void 0){const l=t&Gc?lr:t&Xc?ea:void 0;s=al(e,l),n||(s=ge(s))}var a=r||ca?document.importNode(s,!0):s.cloneNode(!0);if(n){var i=ge(a),o=a.lastChild;Pe(i,o)}else Pe(a,a);return a}}function td(e){return()=>nd(e())}function nd(e){if(j)return e;const t=e.nodeType===Qi,n=e.nodeName===Jf?[e]:e.querySelectorAll("script"),r=K;for(const a of n){const i=Xt("script");for(var s of a.attributes)i.setAttribute(s.name,s.value);i.textContent=a.textContent,(t?e.firstChild===a:e===a)&&(r.nodes.start=i),(t?e.lastChild===a:e===a)&&(r.nodes.end=i),a.replaceWith(i)}return e}function Ar(e=""){if(!j){var t=Me(e+"");return Pe(t,t),t}var n=H;return n.nodeType!==ur?(n.before(n=Me()),ce(n)):ts(n),Pe(n,n),n}function zt(){if(j)return Pe(H,null),H;var e=document.createDocumentFragment(),t=document.createComment(""),n=Me();return e.append(t,n),Pe(t,n),e}function A(e,t){if(j){var n=K;(!(n.f&Ut)||n.nodes.end===null)&&(n.nodes.end=H),Ke();return}e!==null&&e.before(t)}function rd(){if(j&&H&&H.nodeType===Vt&&H.textContent?.startsWith("$")){const e=H.textContent.substring(1);return Ke(),e}return(window.__svelte??={}).uid??=1,`c${window.__svelte.uid++}`}const sd=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];function ad(e){return sd.includes(e)||e.toLowerCase()==="!doctype"}function id(e){return e.endsWith("capture")&&e!=="gotpointercapture"&&e!=="lostpointercapture"}const od=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function ld(e){return od.includes(e)}const cd={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function ud(e){return e=e.toLowerCase(),cd[e]??e}const fd=["touchstart","touchmove"];function dd(e){return fd.includes(e)}const vd=["textarea","script","style","title"];function hd(e){return vd.includes(e)}function il(e){return e?.replace(/\//g,"/")}let Dr=!0;function xn(e){Dr=e}function D(e,t){var n=t==null?"":typeof t=="object"?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function ze(e,t){return ll(e,t)}function ol(e,t){zs(),t.intro=t.intro??!1;const n=t.target,r=j,s=H;try{for(var a=ge(n);a&&(a.nodeType!==Vt||a.data!==Hr);)a=at(a);if(!a)throw ln;pe(!0),ce(a);const i=ll(e,{...t,anchor:a});return pe(!1),i}catch(i){if(i instanceof Error&&i.message.split(`
|
|
5
|
+
`).some(o=>o.startsWith("https://svelte.dev/e/")))throw i;return i!==ln&&console.warn("Failed to hydrate: ",i),t.recover===!1&&Su(),zs(),ua(n),pe(!1),ze(e,t)}finally{pe(r),ce(s)}}const yr=new Map;function ll(e,{target:t,anchor:n,props:r={},events:s,context:a,intro:i=!0,transformError:o}){zs();var l=void 0,u=Of(()=>{var f=n??t.appendChild(Me());Eo(f,{pending:()=>{}},_=>{re({});var b=oe;if(a&&(b.c=a),s&&(r.$$events=s),j&&Pe(_,null),Dr=i,l=e(_,r)||{},Dr=!0,j&&(K.nodes.end=H,H===null||H.nodeType!==Vt||H.data!==Yr))throw fr(),ln;se()},o);var v=new Set,d=_=>{for(var b=0;b<_.length;b++){var S=_[b];if(!v.has(S)){v.add(S);var w=dd(S);for(const g of[t,document]){var k=yr.get(g);k===void 0&&(k=new Map,yr.set(g,k));var p=k.get(S);p===void 0?(g.addEventListener(S,Us,{passive:w}),k.set(S,1)):k.set(S,p+1)}}}};return d(Wr(tl)),qs.add(d),()=>{for(var _ of v)for(const w of[t,document]){var b=yr.get(w),S=b.get(_);--S==0?(w.removeEventListener(_,Us),b.delete(_),b.size===0&&yr.delete(w)):b.set(_,S)}qs.delete(d),f!==n&&f.parentNode?.removeChild(f)}});return Vs.set(l,u),l}let Vs=new WeakMap;function Ge(e,t){const n=Vs.get(e);return n?(Vs.delete(e),n(t)):Promise.resolve()}function pd(e){const t=e();t&&ad(t)&&Uu()}function _d(e){const t=e();t&&!(typeof t=="string")&&uu()}function md(e,t){e!=null&&typeof e.subscribe!="function"&&cu()}function cl(e){return e.toString=()=>(lu(),""),e}class zn{anchor;#e=new Map;#n=new Map;#t=new Map;#a=new Set;#s=!0;constructor(t,n=!0){this.anchor=t,this.#s=n}#i=t=>{if(this.#e.has(t)){var n=this.#e.get(t),r=this.#n.get(n);if(r)ha(r),this.#a.delete(n);else{var s=this.#t.get(n);s&&(this.#n.set(n,s.effect),this.#t.delete(n),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),r=s.effect)}for(const[a,i]of this.#e){if(this.#e.delete(a),a===t)break;const o=this.#t.get(i);o&&(Re(o.effect),this.#t.delete(i))}for(const[a,i]of this.#n){if(a===n||this.#a.has(a))continue;const o=()=>{if(Array.from(this.#e.values()).includes(a)){var u=document.createDocumentFragment();pa(i,u),u.append(Me()),this.#t.set(a,{effect:i,fragment:u})}else Re(i);this.#a.delete(a),this.#n.delete(a)};this.#s||!r?(this.#a.add(a),an(i,o,!1)):o()}}};#r=t=>{this.#e.delete(t);const n=Array.from(this.#e.values());for(const[r,s]of this.#t)n.includes(r)||(Re(s.effect),this.#t.delete(r))};ensure(t,n){var r=W,s=Do();if(n&&!this.#n.has(t)&&!this.#t.has(t))if(s){var a=document.createDocumentFragment(),i=Me();a.append(i),this.#t.set(t,{effect:Ue(()=>n(i)),fragment:a})}else this.#n.set(t,Ue(()=>n(this.anchor)));if(this.#e.set(r,t),s){for(const[o,l]of this.#n)o===t?r.unskip_effect(l):r.skip_effect(l);for(const[o,l]of this.#t)o===t?r.unskip_effect(l.effect):r.skip_effect(l.effect);r.oncommit(this.#i),r.ondiscard(this.#r)}else j&&(this.anchor=H),this.#i(r)}}function ba(e,t,...n){var r=new zn(e);Ot(()=>{const s=t()??null;r.ensure(s,s&&(a=>s(a,...n)))},St)}function gd(e,t){const n=(r,...s)=>{var a=ra;Qa(e);try{return t(r,...s)}finally{Qa(a)}};return cl(n),n}function bd(e){return(t,...n)=>{var r=e(...n),s;if(j)s=H,Ke();else{var a=r.render().trim(),i=ga(a);s=ge(i),t.before(s)}const o=r.setup?.(s);Pe(s,s),typeof o=="function"&&ct(o)}}function yd(){return Q===null&&ku(),(Q.ac??=new AbortController).signal}function ya(e){oe===null&&Dn(),it(()=>{const t=be(e);if(typeof t=="function")return t})}function ul(e){oe===null&&Dn(),ya(()=>()=>be(e))}function wd(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function kd(){const e=oe;return e===null&&Dn(),(t,n,r)=>{const s=e.s.$$events?.[t];if(s){const a=Nn(s)?s.slice():[s],i=wd(t,n,r);for(const o of a)o.call(e.x,i);return!i.defaultPrevented}return!0}}function Sd(e){oe===null&&Dn(),oe.l===null&&to(),fl(oe).b.push(e)}function Ed(e){oe===null&&Dn(),oe.l===null&&to(),fl(oe).a.push(e)}function fl(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}const dl=Object.freeze(Object.defineProperty({__proto__:null,afterUpdate:Ed,beforeUpdate:Sd,createContext:Gu,createEventDispatcher:kd,createRawSnippet:bd,flushSync:Wt,fork:hf,getAbortSignal:yd,getAllContexts:Xu,getContext:lo,hasContext:uo,hydratable:Kf,hydrate:ol,mount:ze,onDestroy:ul,onMount:ya,setContext:co,settled:Bf,tick:_a,unmount:Ge,untrack:be},Symbol.toStringTag,{value:"Module"}));function xd(){return Symbol(Bi)}function vl(e,t,n,r){return e!==t&&typeof t=="object"&&je in t&&Cu(n,il(r)),e}function Td(e,t,n,r,s){return vl(n==="="?e[t]=r:n==="&&="?e[t]&&=r():n==="||="?e[t]||=r():n==="??="?e[t]??=r():null,be(()=>e[t]),t,s)}async function Ad(e,t,n,r,s){return vl(n==="="?e[t]=await r:n==="&&="?e[t]&&=await r():n==="||="?e[t]||=await r():n==="??="?e[t]??=await r():null,be(()=>e[t]),t,s)}var ii=new Map;function Id(e){var t=ii.get(e);if(t){for(const n of t)n.remove();ii.delete(e)}}function Cd(e,t,n){return(...r)=>{const s=e(...r);var a=j?s:s.nodeType===Qi?s.firstChild:s;return hl(a,t,n),s}}function $d(e,t,n){e.__svelte_meta={parent:Sr,loc:{file:t,line:n[0],column:n[1]}},n[2]&&hl(e.firstChild,t,n[2])}function hl(e,t,n){for(var r=0,s=0;e&&r<n.length;){if(j&&e.nodeType===Vt){var a=e;a.data[0]===Hr?s+=1:a.data[0]===Yr&&(s-=1)}s===0&&e.nodeType===Zi&&$d(e,t,n[r++]),e=e.nextSibling}}function Rd(e){const t=st(e);function n(r,s){let a={},i={},o,l=!1,u=r;return Ot(()=>{if(a!==(a=c(t))){if(o){for(var f in i)delete i[f];Re(o)}o=Ue(()=>{u=u[au]??u,l&&xn(!1);var v=new.target?new a(u,s):a(u,s);v&&Object.defineProperties(i,Object.getOwnPropertyDescriptors(v)),l&&xn(!0)}),K.nodes=o.nodes}},St),l=!0,j&&(u=H),i}return n[tt]=e[tt],n[bn]={fn:e,current:t,update:r=>{y(n[bn].current,r[bn].fn),r[bn].current=n[bn].current}},n}function Pd(e){const t=oe?.function,n=oe?.p?.function;return{mutation:(r,s,a,i,o)=>{const l=s[0];if(oi(e,l)||!n)return a;let u=e;for(let v=0;v<s.length-1;v++)if(u=u[s[v]],!u?.[je])return a;const f=il(`${t[tt]}:${i}:${o}`);return Du(l,f,r,n[tt]),a},binding:(r,s,a)=>{!oi(e,r)&&n&&a()?.[je]&&Nu(t[tt],r,s[tt],n[tt])}}}function oi(e,t){const n=je in e||Xr in e;return!!bt(e,t)?.set||n&&t in e||!(t in e)}function Ld(e){e&&vu(e[tt]??"a component",e.name)}function Od(){const e=oe?.function;function t(n){du(n,e[tt])}return{$destroy:()=>t("$destroy()"),$on:()=>t("$on(...)"),$set:()=>t("$set(...)")}}function Nd(e,t,n=!1){fa();let r=!0,s=me;Vo(()=>{try{var a=e()}catch(o){s=o;return}var i=vn(a,!0,!0);be(()=>{if(n){if(t(...i),!r){const o=Ku("$inspect(...)");o&&(console.groupCollapsed("stack trace"),console.log(o),console.groupEnd())}}else t(r?"init":"update",...i)}),r=!1}),Ee(()=>{try{e()}catch{}s!==me&&(console.error(s),s=me)})}function Dd(e,t=[],n=[],r){var s=j,a=null;if(s&&(Ke(),a=dn(!1)),n.length===0&&t.every(l=>l.settled)){r(e),s&&ce(a);return}const i=vr();if(s){var o=H;ce(a)}dr(t,[],n,l=>{s&&(pe(!0),ce(o));try{for(const u of l)c(u);r(e,...l)}finally{s&&pe(!1),i()}})}function Md(e,...t){(typeof e!="object"||!(e instanceof Node))&&Za();for(let n of t)typeof n!="function"&&Za()}const li=0,ci=1,zd=2;function jd(e,t,n,r,s){j&&Ke();var a=me,i=st(a),o=st(a),l=new zn(e);Ot(()=>{var u=W;u.deactivate();var f=t();u.activate();var v=!1;let d=j&&Ja(f)===(e.data===Kr);if(d&&(ce(dn()),pe(!1)),Ja(f)){var _=Qr(),b=!1;const S=w=>{if(!v){b=!0,_(!1),_t.ensure(),j&&pe(!1);try{w()}finally{hn(!1),Tn||Wt()}}};f.then(w=>{S(()=>{Rt(i,w),l.ensure(ci,r&&(k=>r(k,i)))})},w=>{S(()=>{if(Rt(o,w),l.ensure(zd,s&&(k=>s(k,o))),!s)throw o.v})}),j?l.ensure(li,n):He(()=>{b||S(()=>{l.ensure(li,n)})})}else Rt(i,f),l.ensure(ci,r&&(S=>r(S,i)));return d&&pe(!0),()=>{v=!0}})}function B(e,t,n=!1){var r;j&&(r=H,Ke());var s=new zn(e),a=n?St:0;function i(o,l){if(j){var u=na(r);if(o!==parseInt(u.substring(1))){var f=dn();ce(f),s.anchor=f,pe(!1),s.ensure(o,l),pe(!0);return}}s.ensure(o,l)}Ot(()=>{var o=!1;t((l,u=0)=>{o=!0,i(u,l)}),o||i(-1,null)},a)}const qd=Symbol("NaN");function Ud(e,t,n){j&&Ke();var r=new zn(e);Ot(()=>{var s=t();s!==s&&(s=qd),r.ensure(s,n)})}function Vd(e,t){j&&ce(ge(e)),Ee(()=>{var n=t();for(var r in n){var s=n[r];s?e.style.setProperty(r,s):e.style.removeProperty(r)}})}function Ln(e,t){return t}function Fd(e,t,n){for(var r=[],s=t.length,a,i=t.length,o=0;o<s;o++){let v=t[o];an(v,()=>{if(a){if(a.pending.delete(v),a.done.add(v),a.pending.size===0){var d=e.outrogroups;Fs(e,Wr(a.done)),d.delete(a),d.size===0&&(e.outrogroups=null)}}else i-=1},!1)}if(i===0){var l=r.length===0&&n!==null;if(l){var u=n,f=u.parentNode;ua(f),f.append(u),e.items.clear()}Fs(e,t,!l)}else a={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(a)}function Fs(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(const i of e.pending.values())for(const o of i)r.add(e.items.get(o).e)}for(var s=0;s<t.length;s++){var a=t[s];if(r?.has(a)){a.f|=Ct;const i=document.createDocumentFragment();pa(a,i)}else Re(t[s],n)}}var ui;function Ie(e,t,n,r,s,a=null){var i=e,o=new Map,l=(t&qi)!==0;if(l){var u=e;i=j?ce(ge(u)):u.appendChild(Me())}j&&Ke();var f=null,v=oa(()=>{var g=n();return Nn(g)?g:g==null?[]:Wr(g)}),d,_=new Map,b=!0;function S(g){p.effect.f&Xe||(p.pending.delete(g),p.fallback=f,Bd(p,d,i,t,r),f!==null&&(d.length===0?f.f&Ct?(f.f^=Ct,Wn(f,null,i)):ha(f):an(f,()=>{f=null})))}function w(g){p.pending.delete(g)}var k=Ot(()=>{d=c(v);var g=d.length;let E=!1;if(j){var R=na(i)===Kr;R!==(g===0)&&(i=dn(),ce(i),pe(!1),E=!0)}for(var C=new Set,I=W,P=Do(),M=0;M<g;M+=1){j&&H.nodeType===Vt&&H.data===Yr&&(i=H,E=!0,pe(!1));var O=d[M],x=r(O,M),U=b?null:o.get(x);U?(U.v&&Rt(U.v,O),U.i&&Rt(U.i,M),P&&I.unskip_effect(U.e)):(U=Hd(o,b?i:ui??=Me(),O,x,M,s,t,n),b||(U.e.f|=Ct),o.set(x,U)),C.add(x)}if(g===0&&a&&!f&&(b?f=Ue(()=>a(i)):(f=Ue(()=>a(ui??=Me())),f.f|=Ct)),g>C.size&&hu(),j&&g>0&&ce(dn()),!b)if(_.set(I,C),P){for(const[F,N]of o)C.has(F)||I.skip_effect(N.e);I.oncommit(S),I.ondiscard(w)}else S(I);E&&pe(!0),c(v)}),p={effect:k,items:o,pending:_,outrogroups:null,fallback:f};b=!1,j&&(i=H)}function Bn(e){for(;e!==null&&!(e.f&wt);)e=e.next;return e}function Bd(e,t,n,r,s){var a=(r&Uc)!==0,i=t.length,o=e.items,l=Bn(e.effect.first),u,f=null,v,d=[],_=[],b,S,w,k;if(a)for(k=0;k<i;k+=1)b=t[k],S=s(b,k),w=o.get(S).e,w.f&Ct||(w.nodes?.a?.measure(),(v??=new Set).add(w));for(k=0;k<i;k+=1){if(b=t[k],S=s(b,k),w=o.get(S).e,e.outrogroups!==null)for(const O of e.outrogroups)O.pending.delete(w),O.done.delete(w);if(w.f&Be&&(ha(w),a&&(w.nodes?.a?.unfix(),(v??=new Set).delete(w))),w.f&Ct)if(w.f^=Ct,w===l)Wn(w,null,n);else{var p=f?f.next:l;w===e.effect.last&&(e.effect.last=w.prev),w.prev&&(w.prev.next=w.next),w.next&&(w.next.prev=w.prev),Ht(e,f,w),Ht(e,w,p),Wn(w,p,n),f=w,d=[],_=[],l=Bn(f.next);continue}if(w!==l){if(u!==void 0&&u.has(w)){if(d.length<_.length){var g=_[0],E;f=g.prev;var R=d[0],C=d[d.length-1];for(E=0;E<d.length;E+=1)Wn(d[E],g,n);for(E=0;E<_.length;E+=1)u.delete(_[E]);Ht(e,R.prev,C.next),Ht(e,f,R),Ht(e,C,g),l=g,f=C,k-=1,d=[],_=[]}else u.delete(w),Wn(w,l,n),Ht(e,w.prev,w.next),Ht(e,w,f===null?e.effect.first:f.next),Ht(e,f,w),f=w;continue}for(d=[],_=[];l!==null&&l!==w;)(u??=new Set).add(l),_.push(l),l=Bn(l.next);if(l===null)continue}w.f&Ct||d.push(w),f=w,l=Bn(w.next)}if(e.outrogroups!==null){for(const O of e.outrogroups)O.pending.size===0&&(Fs(e,Wr(O.done)),e.outrogroups?.delete(O));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||u!==void 0){var I=[];if(u!==void 0)for(w of u)w.f&Be||I.push(w);for(;l!==null;)!(l.f&Be)&&l!==e.fallback&&I.push(l),l=Bn(l.next);var P=I.length;if(P>0){var M=r&qi&&i===0?n:null;if(a){for(k=0;k<P;k+=1)I[k].nodes?.a?.measure();for(k=0;k<P;k+=1)I[k].nodes?.a?.fix()}Fd(e,I,M)}}a&&He(()=>{if(v!==void 0)for(w of v)w.nodes?.a?.apply()})}function Hd(e,t,n,r,s,a,i,o){var l=i&jc?i&Vc?st(n):es(n,!1,!1):null,u=i&qc?st(s):null;return{v:l,i:u,e:Ue(()=>(a(t,l??n,u??s,o),()=>{e.delete(r)}))}}function Wn(e,t,n){if(e.nodes)for(var r=e.nodes.start,s=e.nodes.end,a=t&&!(t.f&Ct)?t.nodes.start:n;r!==null;){var i=at(r);if(a.before(r),r===s)return;r=i}}function Ht(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function Kd(e,t,n=!1,r=!1,s=!1,a=!1){var i=e,o="";if(n){var l=e;j&&(i=ce(ge(l)))}V(()=>{var u=K;if(o===(o=t()??"")){j&&Ke();return}if(n&&!j){u.nodes=null,l.innerHTML=o,o!==""&&Pe(ge(l),l.lastChild);return}if(u.nodes!==null&&(Ho(u.nodes.start,u.nodes.end),u.nodes=null),o!==""){if(j){H.data;for(var f=Ke(),v=f;f!==null&&(f.nodeType!==Vt||f.data!=="");)v=f,f=at(f);if(f===null)throw fr(),ln;Pe(H,v),i=ce(f);return}var d=r?lr:s?ea:void 0,_=Xt(r?"svg":s?"math":"template",d);_.innerHTML=o;var b=r||s?_:_.content;if(Pe(ge(b),b.lastChild),r||s)for(;ge(b);)i.before(ge(b));else i.before(b)}})}function Yd(e,t,n,r,s){j&&Ke();var a=t.$$slots?.[n],i=!1;a===!0&&(a=t[n==="default"?"children":n],i=!0),a===void 0?s!==null&&s(e):a(e,i?()=>r:r)}function Wd(e){const t={};e.children&&(t.default=!0);for(const n in e.$$slots)t[n]=!0;return t}function ns(e,t,n){var r;j&&(r=H,Ke());var s=new zn(e);Ot(()=>{var a=t()??null;if(j){var i=na(r),o=i===Hr,l=a!==null;if(o!==l){var u=dn();ce(u),s.anchor=u,pe(!1),s.ensure(a,a&&(f=>n(f,a))),pe(!0);return}}s.ensure(a,a&&(f=>n(f,a)))},St)}const Gd=()=>performance.now(),Tt={tick:e=>requestAnimationFrame(e),now:()=>Gd(),tasks:new Set};function pl(){const e=Tt.now();Tt.tasks.forEach(t=>{t.c(e)||(Tt.tasks.delete(t),t.f())}),Tt.tasks.size!==0&&Tt.tick(pl)}function Xd(e){let t;return Tt.tasks.size===0&&Tt.tick(pl),{promise:new Promise(n=>{Tt.tasks.add(t={c:e,f:n})}),abort(){Tt.tasks.delete(t)}}}function Mr(e,t){Jt(()=>{e.dispatchEvent(new CustomEvent(t))})}function Jd(e){if(e==="float")return"cssFloat";if(e==="offset")return"cssOffset";if(e.startsWith("--"))return e;const t=e.split("-");return t.length===1?t[0]:t[0]+t.slice(1).map(n=>n[0].toUpperCase()+n.slice(1)).join("")}function fi(e){const t={},n=e.split(";");for(const r of n){const[s,a]=r.split(":");if(!s||a===void 0)break;const i=Jd(s.trim());t[i]=a.trim()}return t}const Zd=e=>e;let _l=null;function di(e){_l=e}function Qd(e,t,n){var r=_l??K,s=r.nodes,a,i,o,l=null;s.a??={element:e,measure(){a=this.element.getBoundingClientRect()},apply(){if(o?.abort(),i=this.element.getBoundingClientRect(),a.left!==i.left||a.right!==i.right||a.top!==i.top||a.bottom!==i.bottom){const u=t()(this.element,{from:a,to:i},n?.());o=zr(this.element,u,void 0,1,()=>{o?.abort(),o=void 0})}},fix(){if(!e.getAnimations().length){var{position:u,width:f,height:v}=getComputedStyle(e);if(u!=="absolute"&&u!=="fixed"){var d=e.style;l={position:d.position,width:d.width,height:d.height,transform:d.transform},d.position="absolute",d.width=f,d.height=v;var _=e.getBoundingClientRect();if(a.left!==_.left||a.top!==_.top){var b=`translate(${a.left-_.left}px, ${a.top-_.top}px)`;d.transform=d.transform?`${d.transform} ${b}`:b}}}},unfix(){if(l){var u=e.style;u.position=l.position,u.width=l.width,u.height=l.height,u.transform=l.transform}}},s.a.element=e}function ev(e,t,n,r){var s=(e&Kc)!==0,a=(e&Yc)!==0,i=s&&a,o=(e&Wc)!==0,l=i?"both":s?"in":"out",u,f=t.inert,v=t.style.overflow,d,_;function b(){return Jt(()=>u??=n()(t,r?.()??{},{direction:l}))}var S={is_global:o,in(){if(t.inert=f,!s){_?.abort(),_?.reset?.();return}a||d?.abort(),d=zr(t,b(),_,1,()=>{Mr(t,"introend"),d?.abort(),d=u=void 0,t.style.overflow=v})},out(g){if(!a){g?.(),u=void 0;return}t.inert=!0,_=zr(t,b(),d,0,()=>{Mr(t,"outroend"),g?.()})},stop:()=>{d?.abort(),_?.abort()}},w=K;if((w.nodes.t??=[]).push(S),s&&Dr){var k=o;if(!k){for(var p=w.parent;p&&p.f&St;)for(;(p=p.parent)&&!(p.f&yt););k=!p||(p.f&Ut)!==0}k&&ot(()=>{be(()=>S.in())})}}function zr(e,t,n,r,s){var a=r===1;if(yn(t)){var i,o=!1;return He(()=>{if(!o){var w=t({direction:a?"in":"out"});i=zr(e,w,n,r,s)}}),{abort:()=>{o=!0,i?.abort()},deactivate:()=>i.deactivate(),reset:()=>i.reset(),t:()=>i.t()}}if(n?.deactivate(),!t?.duration&&!t?.delay)return Mr(e,a?"introstart":"outrostart"),s(),{abort:nt,deactivate:nt,reset:nt,t:()=>r};const{delay:l=0,css:u,tick:f,easing:v=Zd}=t;var d=[];if(a&&n===void 0&&(f&&f(0,1),u)){var _=fi(u(0,1));d.push(_,_)}var b=()=>1-r,S=e.animate(d,{duration:l,fill:"forwards"});return S.onfinish=()=>{S.cancel(),Mr(e,a?"introstart":"outrostart");var w=n?.t()??1-r;n?.abort();var k=r-w,p=t.duration*Math.abs(k),g=[];if(p>0){var E=!1;if(u)for(var R=Math.ceil(p/16.666666666666668),C=0;C<=R;C+=1){var I=w+k*v(C/R),P=fi(u(I,1-I));g.push(P),E||=P.overflow==="hidden"}E&&(e.style.overflow="hidden"),b=()=>{var M=S.currentTime;return w+k*v(M/p)},f&&Xd(()=>{if(S.playState!=="running")return!1;var M=b();return f(M,1-M),!0})}S=e.animate(g,{duration:p,fill:"forwards"}),S.onfinish=()=>{b=()=>r,f?.(r,1-r),s()}},{abort:()=>{S&&(S.cancel(),S.effect=null,S.onfinish=nt)},deactivate:()=>{s=nt},reset:()=>{r===0&&f?.(1,0)},t:()=>b()}}function tv(e,t,n,r,s,a){let i=j;j&&Ke();var o=null;j&&H.nodeType===Zi&&(o=H,Ke());var l=j?H:e,u=K,f=new zn(l,!1);Ot(()=>{const v=t()||null;var d=s?s():n||v==="svg"?lr:void 0;if(v===null){f.ensure(null,null),xn(!0);return}return f.ensure(v,_=>{if(v){if(o=j?o:Xt(v,d),Pe(o,o),r){j&&hd(v)&&o.append(document.createComment(""));var b=j?ge(o):o.appendChild(Me());j&&(b===null?pe(!1):ce(b)),di(u),r(o,b),di(null)}K.nodes.end=o,_.before(o)}j&&ce(_)}),xn(!0),()=>{v&&xn(!1)}},St),ct(()=>{xn(!0)}),i&&(pe(!0),ce(l))}function nv(e,t){let n=null,r=j;var s;if(j){n=H;for(var a=ge(document.head);a!==null&&(a.nodeType!==Vt||a.data!==e);)a=at(a);if(a===null)pe(!1);else{var i=at(a);a.remove(),ce(i)}}j||(s=document.head.appendChild(Me()));try{Ot(()=>t(s),Xi|Gt)}finally{r&&(pe(!0),ce(n))}}function rv(e,t){ot(()=>{var n=e.getRootNode(),r=n.host?n:n.head??n.ownerDocument.head;if(!r.querySelector("#"+t.hash)){const s=Xt("style");s.id=t.hash,s.textContent=t.code,r.appendChild(s)}})}function ml(e,t,n){ot(()=>{var r=be(()=>t(e,n?.())||{});if(n&&r?.update){var s=!1,a={};Ee(()=>{var i=n();ma(i),s&&so(a,i)&&(a=i,r.update(i))}),s=!0}if(r?.destroy)return()=>r.destroy()})}function wa(e,t){var n=void 0,r;Fo(()=>{n!==(n=t())&&(r&&(Re(r),r=null),n&&(r=Ue(()=>{ot(()=>n(e))})))})}const sv=/[&"<]/g;function av(e,t){const n=String(e??""),r=sv;r.lastIndex=0;let s="",a=0;for(;r.test(n);){const i=r.lastIndex-1,o=n[i];s+=n.substring(a,i)+(o==="&"?"&":o==='"'?""":"<"),a=i+1}return s+n.substring(a)}function gl(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(n=gl(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function iv(){for(var e,t,n=0,r="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=gl(e))&&(r&&(r+=" "),r+=t);return r}const vi={translate:new Map([[!0,"yes"],[!1,"no"]])};function ov(e,t,n=!1){if(e==="hidden"&&t!=="until-found"&&(n=!0),t==null||!t&&n)return"";const r=Qc.call(vi,e)&&vi[e].get(t)||t,s=n?'=""':`="${av(r)}"`;return` ${e}${s}`}function bl(e){return typeof e=="object"?iv(e):e??""}const hi=[...`
|
|
6
|
+
\r\f \v\uFEFF`];function lv(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var s of Object.keys(n))if(n[s])r=r?r+" "+s:s;else if(r.length)for(var a=s.length,i=0;(i=r.indexOf(s,i))>=0;){var o=i+a;(i===0||hi.includes(r[i-1]))&&(o===r.length||hi.includes(r[o]))?r=(i===0?"":r.substring(0,i))+r.substring(o+1):i=o}}return r===""?null:r}function pi(e,t=!1){var n=t?" !important;":";",r="";for(var s of Object.keys(e)){var a=e[s];a!=null&&a!==""&&(r+=" "+s+": "+a+n)}return r}function bs(e){return e[0]!=="-"||e[1]!=="-"?e.toLowerCase():e}function cv(e,t){if(t){var n="",r,s;if(Array.isArray(t)?(r=t[0],s=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var a=!1,i=0,o=!1,l=[];r&&l.push(...Object.keys(r).map(bs)),s&&l.push(...Object.keys(s).map(bs));var u=0,f=-1;const S=e.length;for(var v=0;v<S;v++){var d=e[v];if(o?d==="/"&&e[v-1]==="*"&&(o=!1):a?a===d&&(a=!1):d==="/"&&e[v+1]==="*"?o=!0:d==='"'||d==="'"?a=d:d==="("?i++:d===")"&&i--,!o&&a===!1&&i===0){if(d===":"&&f===-1)f=v;else if(d===";"||v===S-1){if(f!==-1){var _=bs(e.substring(u,f).trim());if(!l.includes(_)){d!==";"&&v++;var b=e.substring(u,v).trim();n+=" "+b+";"}}u=v+1,f=-1}}}}return r&&(n+=pi(r)),s&&(n+=pi(s,!0)),n=n.trim(),n===""?null:n}return e==null?null:String(e)}function De(e,t,n,r,s,a){var i=e.__className;if(j||i!==n||i===void 0){var o=lv(n,r,a);(!j||o!==e.getAttribute("class"))&&(o==null?e.removeAttribute("class"):t?e.className=o:e.setAttribute("class",o)),e.__className=n}else if(a&&s!==a)for(var l in a){var u=!!a[l];(s==null||u!==!!s[l])&&e.classList.toggle(l,u)}return a}function ys(e,t={},n,r){for(var s in n){var a=n[s];t[s]!==a&&(n[s]==null?e.style.removeProperty(s):e.style.setProperty(s,a,r))}}function Ft(e,t,n,r){var s=e.__style;if(j||s!==t){var a=cv(t,r);(!j||a!==e.getAttribute("style"))&&(a==null?e.removeAttribute("style"):e.style.cssText=a),e.__style=t}else r&&(Array.isArray(r)?(ys(e,n?.[0],r[0]),ys(e,n?.[1],r[1],"important")):ys(e,n,r));return r}function tr(e,t,n=!1){if(e.multiple){if(t==null)return;if(!Nn(t))return Mu();for(var r of e.options)r.selected=t.includes(Jn(r));return}for(r of e.options){var s=Jn(r);if(Po(s,t)){r.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function ka(e){var t=new MutationObserver(()=>{tr(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),ct(()=>{t.disconnect()})}function jr(e,t,n=t){var r=new WeakSet,s=!0;pr(e,"change",a=>{var i=a?"[selected]":":checked",o;if(e.multiple)o=[].map.call(e.querySelectorAll(i),Jn);else{var l=e.querySelector(i)??e.querySelector("option:not([disabled])");o=l&&Jn(l)}n(o),e.__value=o,W!==null&&r.add(W)}),ot(()=>{var a=t();if(e===document.activeElement){var i=W;if(r.has(i))return}if(tr(e,a,s),s&&a===void 0){var o=e.querySelector(":checked");o!==null&&(a=Jn(o),n(a))}e.__value=a,s=!1}),ka(e)}function Jn(e){return"__value"in e?e.__value:e.value}const kn=Symbol("class"),Sn=Symbol("style"),yl=Symbol("is custom element"),wl=Symbol("is html"),uv=_n?"link":"LINK",fv=_n?"input":"INPUT",dv=_n?"option":"OPTION",vv=_n?"select":"SELECT",hv=_n?"progress":"PROGRESS";function we(e){if(j){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var r=e.value;Fe(e,"value",null),e.value=r}if(e.hasAttribute("checked")){var s=e.checked;Fe(e,"checked",null),e.checked=s}}};e.__on_r=n,He(n),jo()}}function pv(e,t){var n=rs(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==hv)||(e.value=t??"")}function _v(e,t){var n=rs(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function kl(e,t){t?e.hasAttribute("selected")||e.setAttribute("selected",""):e.removeAttribute("selected")}function mv(e,t){const n=e.checked;e.defaultChecked=t,e.checked=n}function gv(e,t){const n=e.value;e.defaultValue=t,e.value=n}function Fe(e,t,n,r){var s=rs(e);j&&(s[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName===uv)||s[t]!==(s[t]=n)&&(t==="loading"&&(e[ru]=n),n==null?e.removeAttribute(t):typeof n!="string"&&Sa(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function bv(e,t,n){e.setAttributeNS("http://www.w3.org/1999/xlink",t,n)}function yv(e,t,n){var r=Q,s=K;let a=j;j&&pe(!1),Je(null),qe(null);try{t!=="style"&&(Bs.has(e.getAttribute("is")||e.nodeName)||!customElements||customElements.get(e.getAttribute("is")||e.nodeName.toLowerCase())?Sa(e).includes(t):n&&typeof n=="object")?e[t]=n:Fe(e,t,n==null?n:String(n))}finally{Je(r),qe(s),a&&pe(!0)}}function wv(e,t,n,r,s=!1,a=!1){if(j&&s&&e.nodeName===fv){var i=e,o=i.type==="checkbox"?"defaultChecked":"defaultValue";o in n||we(i)}var l=rs(e),u=l[yl],f=!l[wl];let v=j&&u;v&&pe(!1);var d=t||{},_=e.nodeName===dv;for(var b in t)b in n||(n[b]=null);n.class?n.class=bl(n.class):(r||n[kn])&&(n.class=null),n[Sn]&&(n.style??=null);var S=Sa(e);for(const C in n){let I=n[C];if(_&&C==="value"&&I==null){e.value=e.__value="",d[C]=I;continue}if(C==="class"){var w=e.namespaceURI==="http://www.w3.org/1999/xhtml";De(e,w,I,r,t?.[kn],n[kn]),d[C]=I,d[kn]=n[kn];continue}if(C==="style"){Ft(e,I,t?.[Sn],n[Sn]),d[C]=I,d[Sn]=n[Sn];continue}var k=d[C];if(!(I===k&&!(I===void 0&&e.hasAttribute(C)))){d[C]=I;var p=C[0]+C[1];if(p!=="$$")if(p==="on"){const P={},M="$$"+C;let O=C.slice(2);var g=ld(O);if(id(O)&&(O=O.slice(0,-7),P.capture=!0),!g&&k){if(I!=null)continue;e.removeEventListener(O,d[M],P),d[M]=null}if(g)G(O,e,I),ke([O]);else if(I!=null){let x=function(U){d[C].call(this,U)};d[M]=nl(O,e,x,P)}}else if(C==="style")Fe(e,C,I);else if(C==="autofocus")zo(e,!!I);else if(!u&&(C==="__value"||C==="value"&&I!=null))e.value=e.__value=I;else if(C==="selected"&&_)kl(e,I);else{var E=C;f||(E=ud(E));var R=E==="defaultValue"||E==="defaultChecked";if(I==null&&!u&&!R)if(l[C]=null,E==="value"||E==="checked"){let P=e;const M=t===void 0;if(E==="value"){let O=P.defaultValue;P.removeAttribute(E),P.defaultValue=O,P.value=P.__value=M?O:null}else{let O=P.defaultChecked;P.removeAttribute(E),P.defaultChecked=O,P.checked=M?O:!1}}else e.removeAttribute(C);else R||S.includes(E)&&(u||typeof I!="string")?(e[E]=I,E in l&&(l[E]=me)):typeof I!="function"&&Fe(e,E,I)}}}return v&&pe(!0),d}function kv(e,t,n=[],r=[],s=[],a,i=!1,o=!1){dr(s,n,r,l=>{var u=void 0,f={},v=e.nodeName===vv,d=!1;if(Fo(()=>{var b=t(...l.map(c)),S=wv(e,u,b,a,i,o);d&&v&&"value"in b&&tr(e,b.value);for(let k of Object.getOwnPropertySymbols(f))b[k]||Re(f[k]);for(let k of Object.getOwnPropertySymbols(b)){var w=b[k];k.description===Bi&&(!u||w!==u[k])&&(f[k]&&Re(f[k]),f[k]=Ue(()=>wa(e,()=>w))),S[k]=w}u=S}),v){var _=e;ot(()=>{tr(_,u.value,!0),ka(_)})}d=!0})}function rs(e){return e.__attributes??={[yl]:e.nodeName.includes("-"),[wl]:e.namespaceURI===Fi}}var Bs=new Map;function Sa(e){var t=e.getAttribute("is")||e.nodeName,n=Bs.get(t);if(n)return n;Bs.set(t,n=[]);for(var r,s=e,a=Element.prototype;a!==s;){r=Ki(s);for(var i in r)r[i].set&&n.push(i);s=Gr(s)}return n}let ws=null;function Sl(){if(ws===null){var e=Xt("select");e.innerHTML=rl("<option><span>t</span></option>"),ws=e.firstChild?.firstChild?.nodeType===1}return ws}function Sv(e,t){Sl()&&wa(e,()=>()=>{const n=e.closest("select");if(!n)return;const r=new MutationObserver(s=>{var a=!1;for(const i of s){if(i.target===e)return;a||=!!i.target.parentElement?.closest("option")?.selected}a&&(e.replaceWith(e=e.cloneNode(!0)),t(e))});return r.observe(n,{childList:!0,characterData:!0,subtree:!0}),()=>{r.disconnect()}})}function Ev(e,t){var n=j;Sl()||(pe(!1),e.textContent="",e.append(Mo("")));try{t()}finally{n&&(j?h(e):(pe(!0),ce(e)))}}function xv(e){Ze(document,["focusin","focusout"],t=>{t&&t.type==="focusout"&&t.relatedTarget||e(document.activeElement)})}function Le(e,t,n=t){var r=new WeakSet;pr(e,"input",async s=>{var a=s?e.defaultValue:e.value;if(a=Ss(e)?Es(a):a,n(a),W!==null&&r.add(W),await _a(),a!==(a=t())){var i=e.selectionStart,o=e.selectionEnd,l=e.value.length;if(e.value=a??"",o!==null){var u=e.value.length;i===o&&o===l&&u>l?(e.selectionStart=u,e.selectionEnd=u):(e.selectionStart=i,e.selectionEnd=Math.min(o,u))}}}),(j&&e.defaultValue!==e.value||be(t)==null&&e.value)&&(n(Ss(e)?Es(e.value):e.value),W!==null&&r.add(W)),Ee(()=>{var s=t();if(e===document.activeElement){var a=W;if(r.has(a))return}Ss(e)&&s===Es(e.value)||e.type==="date"&&!s&&!e.value||s!==e.value&&(e.value=s??"")})}const ks=new Set;function Tv(e,t,n,r,s=r){var a=n.getAttribute("type")==="checkbox",i=e;let o=!1;if(t!==null)for(var l of t)i=i[l]??=[];i.push(n),pr(n,"change",()=>{var u=n.__value;a&&(u=_i(i,u,n.checked)),s(u)},()=>s(a?[]:null)),Ee(()=>{var u=r();if(j&&n.defaultChecked!==n.checked){o=!0;return}a?(u=u||[],n.checked=u.includes(n.__value)):n.checked=Po(n.__value,u)}),ct(()=>{var u=i.indexOf(n);u!==-1&&i.splice(u,1)}),ks.has(i)||(ks.add(i),He(()=>{i.sort((u,f)=>u.compareDocumentPosition(f)===4?-1:1),ks.delete(i)})),He(()=>{if(o){var u;if(a)u=_i(i,u,n.checked);else{var f=i.find(v=>v.checked);u=f?.__value}s(u)}})}function Ir(e,t,n=t){pr(e,"change",r=>{var s=r?e.defaultChecked:e.checked;n(s)}),(j&&e.defaultChecked!==e.checked||be(t)==null)&&n(e.checked),Ee(()=>{var r=t();e.checked=!!r})}function _i(e,t,n){for(var r=new Set,s=0;s<e.length;s+=1)e[s].checked&&r.add(e[s].__value);return n||r.delete(t),Array.from(r)}function Ss(e){var t=e.type;return t==="number"||t==="range"}function Es(e){return e===""?null:+e}function Av(e,t,n=t){pr(e,"change",()=>{n(e.files)}),j&&e.files&&n(e.files),Ee(()=>{e.files=t()})}function Ea(e){for(var t=[],n=0;n<e.length;n+=1)t.push({start:e.start(n),end:e.end(n)});return t}function Iv(e,t,n=t){var r,s,a=()=>{cancelAnimationFrame(r),e.paused||(r=requestAnimationFrame(a));var i=e.currentTime;s!==i&&n(s=i)};r=requestAnimationFrame(a),e.addEventListener("timeupdate",a),Ee(()=>{var i=Number(t());s!==i&&!isNaN(i)&&(e.currentTime=s=i)}),ct(()=>{cancelAnimationFrame(r),e.removeEventListener("timeupdate",a)})}function Cv(e,t){var n;Ze(e,["loadedmetadata","progress","timeupdate","seeking"],()=>{var r=e.buffered;(!n||n.length!==r.length||n.some((s,a)=>r.start(a)!==s.start||r.end(a)!==s.end))&&(n=Ea(r),t(n))})}function $v(e,t){Ze(e,["loadedmetadata"],()=>t(Ea(e.seekable)))}function Rv(e,t){Ze(e,["timeupdate"],()=>t(Ea(e.played)))}function Pv(e,t){Ze(e,["seeking","seeked"],()=>t(e.seeking))}function Lv(e,t){Ze(e,["timeupdate","ended"],()=>t(e.ended))}function Ov(e,t){Ze(e,["loadedmetadata","loadeddata","canplay","canplaythrough","playing","waiting","emptied"],()=>t(e.readyState))}function Nv(e,t,n=t){ot(()=>{var r=Number(t());r!==e.playbackRate&&!isNaN(r)&&(e.playbackRate=r)}),ot(()=>{Ze(e,["ratechange"],()=>{n(e.playbackRate)})})}function Dv(e,t,n=t){var r=t(),s=()=>{r!==e.paused&&n(r=e.paused)};Ze(e,["play","pause","canplay"],s,r==null),ot(()=>{(r=!!t())!==e.paused&&(r?e.pause():e.play().catch(a=>{throw n(r=!0),a}))})}function Mv(e,t,n=t){var r=()=>{n(e.volume)};t()==null&&r(),Ze(e,["volumechange"],r,!1),Ee(()=>{var s=Number(t());s!==e.volume&&!isNaN(s)&&(e.volume=s)})}function zv(e,t,n=t){var r=()=>{n(e.muted)};t()==null&&r(),Ze(e,["volumechange"],r,!1),Ee(()=>{var s=!!t();e.muted!==s&&(e.muted=s)})}function jv(e){Ze(window,["online","offline"],()=>{e(navigator.onLine)})}function qv(e,t,n){var r=bt(e,t);r&&r.set&&(e[t]=n,ct(()=>{e[t]=null}))}class mr{#e=new WeakMap;#n;#t;static entries=new WeakMap;constructor(t){this.#t=t}observe(t,n){var r=this.#e.get(t)||new Set;return r.add(n),this.#e.set(t,r),this.#a().observe(t,this.#t),()=>{var s=this.#e.get(t);s.delete(n),s.size===0&&(this.#e.delete(t),this.#n.unobserve(t))}}#a(){return this.#n??(this.#n=new ResizeObserver(t=>{for(var n of t){mr.entries.set(n.target,n);for(var r of this.#e.get(n.target)||[])r(n)}}))}}var Uv=new mr({box:"content-box"}),El=new mr({box:"border-box"}),Vv=new mr({box:"device-pixel-content-box"});function Fv(e,t,n){var r=t==="contentRect"||t==="contentBoxSize"?Uv:t==="borderBoxSize"?El:Vv,s=r.observe(e,a=>n(a[t]));ct(s)}function Bv(e,t,n){var r=El.observe(e,()=>n(e[t]));ot(()=>(be(()=>n(e[t])),r))}function mi(e,t){return e===t||e?.[je]===t}function mt(e={},t,n,r){var s=oe.r,a=K;return ot(()=>{var i,o;return Ee(()=>{i=o,o=r?.()||[],be(()=>{e!==n(...o)&&(t(e,...o),i&&mi(n(...i),e)&&t(null,...i))})}),()=>{let l=a;for(;l!==s&&l.parent!==null&&l.parent.f&Rs;)l=l.parent;const u=()=>{o&&mi(n(...o),e)&&t(null,...o)},f=l.teardown;l.teardown=()=>{u(),f?.()}}}),e}function Hv(e,t,n,r=n){t.addEventListener("input",()=>{r(t[e])}),Ee(()=>{var s=n();if(t[e]!==s)if(s==null){var a=t[e];r(a)}else t[e]=s+""})}function Kv(e,t,n,r,s){var a=()=>{r(n[e])};n.addEventListener(t,a),s?Ee(()=>{n[e]=s()}):a(),(n===document.body||n===window||n===document)&&ct(()=>{n.removeEventListener(t,a)})}function Yv(e,t){Ze(e,["focus","blur"],()=>{t(e===document.activeElement)})}function Wv(e,t,n=t){var r=e==="x",s=()=>Jt(()=>{a=!0,clearTimeout(i),i=setTimeout(o,100),n(window[r?"scrollX":"scrollY"])});addEventListener("scroll",s,{passive:!0});var a=!1,i,o=()=>{a=!1},l=!0;Ee(()=>{var u=t();l?l=!1:!a&&u!=null&&(a=!0,clearTimeout(i),r?scrollTo(u,window.scrollY):scrollTo(window.scrollX,u),i=setTimeout(o,100))}),ot(s),ct(()=>{removeEventListener("scroll",s)})}function Gv(e,t){Ze(window,["resize"],()=>Jt(()=>t(window[e])))}function Xv(e){return function(...t){var n=t[0];n.isTrusted&&e?.apply(this,t)}}function Jv(e){return function(...t){var n=t[0];n.target===this&&e?.apply(this,t)}}function Zv(e){return function(...t){var n=t[0];return n.stopPropagation(),e?.apply(this,t)}}function Qv(e){var t=!1;return function(...n){if(!t)return t=!0,e?.apply(this,n)}}function eh(e){return function(...t){var n=t[0];return n.stopImmediatePropagation(),e?.apply(this,t)}}function th(e){return function(...t){var n=t[0];return n.preventDefault(),e?.apply(this,t)}}function nh(e=!1){const t=oe,n=t.l.u;if(!n)return;let r=()=>ma(t.s);if(e){let s=0,a={};const i=hr(()=>{let o=!1;const l=t.s;for(const u in l)l[u]!==a[u]&&(a[u]=l[u],o=!0);return o&&s++,s});r=()=>c(i)}n.b.length&&Uo(()=>{gi(t,r),Cs(n.b)}),it(()=>{const s=be(()=>n.m.map(eu));return()=>{for(const a of s)typeof a=="function"&&a()}}),n.a.length&&it(()=>{gi(t,r),Cs(n.a)})}function gi(e,t){if(e.l.s)for(const n of e.l.s)c(n);t()}function rh(e){var t=st(0);return function(){return arguments.length===1?(y(t,c(t)+1),arguments[0]):(c(t),e())}}function sh(e,t){var n=e.$$events?.[t.type],r=Nn(n)?n.slice():n==null?[]:[n];for(var s of r)s.call(this,t)}function ah(e,t,n){e.$$events||={},e.$$events[t]||=[],e.$$events[t].push(n)}function ih(e){for(var t in e)t in this&&(this[t]=e[t])}function oh(e,t=1){const n=e();return e(n+t),n}function lh(e,t=1){const n=e()+t;return e(n),n}const ch={get(e,t){if(!e.exclude.includes(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.includes(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return e.exclude.includes(t)?!1:t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.includes(t))}};function uh(e,t,n){return new Proxy({props:e,exclude:t},ch)}const fh={get(e,t){if(!e.exclude.includes(t))return c(e.version),t in e.special?e.special[t]():e.props[t]},set(e,t,n){if(!(t in e.special)){var r=K;try{qe(e.parent_effect),e.special[t]=as({get[t](){return e.props[t]}},t,Ui)}finally{qe(r)}}return e.special[t](n),Rn(e.version),!0},getOwnPropertyDescriptor(e,t){if(!e.exclude.includes(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},deleteProperty(e,t){return e.exclude.includes(t)||(e.exclude.push(t),Rn(e.version)),!0},has(e,t){return e.exclude.includes(t)?!1:t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.includes(t))}};function dh(e,t){return new Proxy({props:e,exclude:t,special:{},version:st(0),parent_effect:K},fh)}const vh={get(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(yn(r)&&(r=r()),typeof r=="object"&&r!==null&&t in r)return r[t]}},set(e,t,n){let r=e.props.length;for(;r--;){let s=e.props[r];yn(s)&&(s=s());const a=bt(s,t);if(a&&a.set)return a.set(n),!0}return!1},getOwnPropertyDescriptor(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(yn(r)&&(r=r()),typeof r=="object"&&r!==null&&t in r){const s=bt(r,t);return s&&!s.configurable&&(s.configurable=!0),s}}},has(e,t){if(t===je||t===Xr)return!1;for(let n of e.props)if(yn(n)&&(n=n()),n!=null&&t in n)return!0;return!1},ownKeys(e){const t=[];for(let n of e.props)if(yn(n)&&(n=n()),!!n){for(const r in n)t.includes(r)||t.push(r);for(const r of Object.getOwnPropertySymbols(n))t.includes(r)||t.push(r)}return t}};function ss(...e){return new Proxy({props:e},vh)}function as(e,t,n,r){var s=(n&Bc)!==0,a=(n&Hc)!==0,i=r,o=!0,l=()=>(o&&(o=!1,i=a?be(r):r),i);let u;if(s){var f=je in e||Xr in e;u=bt(e,t)?.set??(f&&t in e?p=>e[t]=p:void 0)}var v,d=!1;s?[v,d]=bo(()=>e[t]):v=e[t],v===void 0&&r!==void 0&&(v=l(),u&&(Eu(),u(v)));var _;if(_=()=>{var p=e[t];return p===void 0?l():(o=!0,p)},!(n&Ui))return _;if(u){var b=e.$$legacy;return function(p,g){return arguments.length>0?((!g||b||d)&&u(g?_():p),p):_()}}var S=!1,w=(n&Fc?hr:oa)(()=>(S=!1,_()));s&&c(w);var k=K;return function(p,g){if(arguments.length>0){const E=g?c(w):s?he(p):p;return y(w,E),S=!0,i!==void 0&&(i=E),p}return qt&&S||k.f&Xe?w.v:c(w)}}function hh(e,t,n,r,s,a){xo(t,()=>{var i=!1;ra?.[tt],Ee(()=>{if(!i){var[o,l]=bo(n);if(!l){var u=r(),f=!1,v=Ee(()=>{f||o[u]});f=!0,v.deps===null&&($u(),i=!0)}}})})}function ph(e){return new _h(e)}class _h{#e;#n;constructor(t){var n=new Map,r=(a,i)=>{var o=es(i,!1,!1);return n.set(a,o),o};const s=new Proxy({...t.props||{},$$events:{}},{get(a,i){return c(n.get(i)??r(i,Reflect.get(a,i)))},has(a,i){return i===Xr?!0:(c(n.get(i)??r(i,Reflect.get(a,i))),Reflect.has(a,i))},set(a,i,o){return y(n.get(i)??r(i,o),o),Reflect.set(a,i,o)}});this.#n=(t.hydrate?ol:ze)(t.component,{target:t.target,anchor:t.anchor,props:s,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError}),(!t?.props?.$$host||t.sync===!1)&&Wt(),this.#e=s.$$events;for(const a of Object.keys(this.#n))a==="$set"||a==="$destroy"||a==="$on"||cn(this,a,{get(){return this.#n[a]},set(i){this.#n[a]=i},enumerable:!0});this.#n.$set=a=>{Object.assign(s,a)},this.#n.$destroy=()=>{Ge(this.#n)}}$set(t){this.#n.$set(t)}$on(t,n){this.#e[t]=this.#e[t]||[];const r=(...s)=>n.call(this,...s);return this.#e[t].push(r),()=>{this.#e[t]=this.#e[t].filter(s=>s!==r)}}$destroy(){this.#n.$destroy()}}let xl;typeof HTMLElement=="function"&&(xl=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;$$shadowRoot=null;constructor(e,t,n){super(),this.$$ctor=e,this.$$s=t,n&&(this.$$shadowRoot=this.attachShadow(n))}addEventListener(e,t,n){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(t),this.$$c){const r=this.$$c.$on(e,t);this.$$l_u.set(t,r)}super.addEventListener(e,t,n)}removeEventListener(e,t,n){if(super.removeEventListener(e,t,n),this.$$c){const r=this.$$l_u.get(t);r&&(r(),this.$$l_u.delete(t))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(r){return s=>{const a=Xt("slot");r!=="default"&&(a.name=r),A(s,a)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const t={},n=mh(this);for(const r of this.$$s)r in n&&(r==="default"&&!this.$$d.children?(this.$$d.children=e(r),t.default=!0):t[r]=e(r));for(const r of this.attributes){const s=this.$$g_p(r.name);s in this.$$d||(this.$$d[s]=Cr(s,r.value,this.$$p_d,"toProp"))}for(const r in this.$$p_d)!(r in this.$$d)&&this[r]!==void 0&&(this.$$d[r]=this[r],delete this[r]);this.$$c=ph({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=da(()=>{Ee(()=>{this.$$r=!0;for(const r of Rr(this.$$c)){if(!this.$$p_d[r]?.reflect)continue;this.$$d[r]=this.$$c[r];const s=Cr(r,this.$$d[r],this.$$p_d,"toAttribute");s==null?this.removeAttribute(this.$$p_d[r].attribute||r):this.setAttribute(this.$$p_d[r].attribute||r,s)}this.$$r=!1})});for(const r in this.$$l)for(const s of this.$$l[r]){const a=this.$$c.$on(r,s);this.$$l_u.set(s,a)}this.$$l={}}}attributeChangedCallback(e,t,n){this.$$r||(e=this.$$g_p(e),this.$$d[e]=Cr(e,n,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(e){return Rr(this.$$p_d).find(t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e)||e}});function Cr(e,t,n,r){const s=n[e]?.type;if(t=s==="Boolean"&&typeof t!="boolean"?t!=null:t,!r||!n[e])return t;if(r==="toAttribute")switch(s){case"Object":case"Array":return t==null?null:JSON.stringify(t);case"Boolean":return t?"":null;case"Number":return t??null;default:return t}else switch(s){case"Object":case"Array":return t&&JSON.parse(t);case"Boolean":return t;case"Number":return t!=null?+t:t;default:return t}}function mh(e){const t={};return e.childNodes.forEach(n=>{t[n.slot||"default"]=!0}),t}function gh(e,t,n,r,s,a){let i=class extends xl{constructor(){super(e,n,s),this.$$p_d=t}static get observedAttributes(){return Rr(t).map(o=>(t[o].attribute||o).toLowerCase())}};return Rr(t).forEach(o=>{cn(i.prototype,o,{get(){return this.$$c&&o in this.$$c?this.$$c[o]:this.$$d[o]},set(l){l=Cr(o,l,t),this.$$d[o]=l;var u=this.$$c;if(u){var f=bt(u,o)?.get;f?u[o]=l:u.$set({[o]:l})}}})}),r.forEach(o=>{cn(i.prototype,o,{get(){return this.$$c?.[o]}})}),a&&(i=a(i)),e.element=i,i}function bh(e,...t){return be(()=>{try{let n=!1;const r=[];for(const s of t)s&&typeof s=="object"&&je in s?(r.push(vn(s,!0)),n=!0):r.push(s);n&&(Ru(e),console.log("%c[snapshot]","color: grey",...r))}catch{}}),t}const Tl=Object.freeze(Object.defineProperty({__proto__:null,CLASS:kn,FILENAME:tt,HMR:bn,NAMESPACE_SVG:lr,STYLE:Sn,aborted:js,action:ml,get active_effect(){return K},add_legacy_event_listener:ah,add_locations:Cd,add_svelte_meta:Wu,animation:Qd,append:A,append_styles:rv,apply:Wf,assign:Td,assign_async:Ad,async:Dd,async_derived:To,attach:wa,attachment:xd,attr:ov,attribute_effect:kv,autofocus:zo,await:jd,bind_active_element:xv,bind_buffered:Cv,bind_checked:Ir,bind_content_editable:Hv,bind_current_time:Iv,bind_element_size:Bv,bind_ended:Lv,bind_files:Av,bind_focused:Yv,bind_group:Tv,bind_muted:zv,bind_online:jv,bind_paused:Dv,bind_playback_rate:Nv,bind_played:Rv,bind_prop:qv,bind_property:Kv,bind_ready_state:Ov,bind_resize_observer:Fv,bind_seekable:$v,bind_seeking:Pv,bind_select_value:jr,bind_this:mt,bind_value:Le,bind_volume:Mv,bind_window_scroll:Wv,bind_window_size:Gv,boundary:Eo,bubble_event:sh,check_target:Ld,child:m,cleanup_styles:Id,clsx:bl,comment:zt,component:ns,create_custom_element:gh,create_ownership_validator:Pd,css_props:Vd,customizable_select:Ev,deep_read:Nr,deep_read_state:ma,deferred_template_effect:zf,delegate:ke,delegated:G,derived:X,derived_safe_equal:oa,get document(){return Lo},each:Ie,eager:vf,effect:ot,effect_root:da,effect_tracking:_r,element:tv,equals:Cf,event:lt,exclude_from_object:nu,fallback:tu,first_child:$e,flush:Wt,for_await_track_reactivity_loss:yf,from_html:$,from_mathml:Qf,from_svg:Zf,from_tree:ed,get:c,head:nv,hmr:Rd,html:Kd,hydrate_template:ju,if:B,index:Ln,init:nh,init_select:ka,inspect:Nd,invalid_default_snippet:iu,invalidate_inner_signals:Uf,invalidate_store:rf,invoke_error_boundary:$t,key:Ud,legacy_api:Od,legacy_pre_effect:Nf,legacy_pre_effect_reset:Df,legacy_rest_props:dh,log_if_contains_state:bh,mark_store_binding:cf,mutable_source:es,mutate:Tf,next:rn,noop:nt,once:Qv,pending:gf,pop:se,preventDefault:th,prevent_snippet_stringification:cl,prop:as,props_id:rd,proxy:he,push:re,raf:Tt,reactive_import:rh,remove_input_defaults:we,remove_textarea_child:Pf,render_effect:Ee,replay_events:Yf,reset:h,rest_props:uh,run:wf,run_after_blockers:xo,safe_get:Hf,sanitize_slots:Wd,save:bf,select_option:tr,selectedcontent:Sv,self:Jv,set:y,set_attribute:Fe,set_checked:_v,set_class:De,set_custom_element_data:yv,set_default_checked:mv,set_default_value:gv,set_selected:kl,set_style:Ft,set_text:D,set_value:pv,set_xlink_attribute:bv,setup_stores:sf,sibling:T,slot:Yd,snapshot:vn,snippet:ba,spread_props:ss,state:z,stopImmediatePropagation:eh,stopPropagation:Zv,store_get:tf,store_mutate:af,store_set:go,store_unsub:nf,strict_equals:If,tag:Hu,tag_proxy:oo,template_effect:V,text:Ar,tick:_a,to_array:Gi,trace:Bu,track_reactivity_loss:Ds,transition:ev,trusted:Xv,untrack:be,update:Rn,update_legacy_props:ih,update_pre:Af,update_pre_prop:lh,update_pre_store:lf,update_prop:oh,update_store:of,user_effect:it,user_pre_effect:Uo,validate_binding:hh,validate_dynamic_element_tag:_d,validate_snippet_args:Md,validate_store:md,validate_void_dynamic_element:pd,wait:kf,get window(){return Ms},with_script:td,wrap_snippet:gd},Symbol.toStringTag,{value:"Module"}));class bi{#e=new Map;read(t){return this.#e.get(t)}write(t,n){this.#e.set(t,n)}delete(t){this.#e.delete(t)}list(){return[...this.#e.keys()]}}class yi{#e;constructor(t){this.#e=t}read(t){if(typeof localStorage>"u")return;const n=localStorage.getItem(this.#e+t);if(n!=null)try{return JSON.parse(n)}catch{return}}write(t,n){if(!(typeof localStorage>"u"))try{localStorage.setItem(this.#e+t,JSON.stringify(n))}catch{}}delete(t){typeof localStorage>"u"||localStorage.removeItem(this.#e+t)}list(){if(typeof localStorage>"u")return[];const t=[];for(let n=0;n<localStorage.length;n++){const r=localStorage.key(n);r&&r.startsWith(this.#e)&&t.push(r.slice(this.#e.length))}return t}}const yh=["workspace","user"],xa="state:manage",Et={ephemeral:new bi,session:new bi,workspace:new yi("sh3:workspace:"),user:new yi("sh3:user:")},xs=new Map;let Ts=!1;function wh(e,t,n){xs.set(`${e}:${t}`,{zone:e,shardId:t,value:n}),!Ts&&(Ts=!0,queueMicrotask(()=>{Ts=!1;for(const{zone:r,shardId:s,value:a}of xs.values())Et[r].write(s,a);xs.clear()}))}function is(e,t){const n={};for(const r of Object.keys(t)){const s=t[r],i=Et[r].read(e),o={...s,...i??{}},l=he(o);n[r]=l,yh.includes(r)&&da(()=>{let u=!0;it(()=>{const f=vn(l);if(u){u=!1;return}wh(r,e,f)})})}return n}function wi(e,t){Et[e]=t}function kh(e,t){return Et[e].read(t)}function Al(e,t){Et[e].delete(t)}const Sh="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(Sh);const Eh=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");function xh(e){const t=document.activeElement;function n(){return Array.from(e.querySelectorAll(Eh))}function r(s){if(s.key!=="Tab")return;const a=n();if(a.length===0){s.preventDefault();return}const i=a[0],o=a[a.length-1],l=document.activeElement;s.shiftKey&&(l===i||!e.contains(l))?(s.preventDefault(),o.focus()):!s.shiftKey&&(l===o||!e.contains(l))&&(s.preventDefault(),i.focus())}return e.addEventListener("keydown",r),queueMicrotask(()=>{(n()[0]??e).focus()}),()=>{e.removeEventListener("keydown",r),t&&document.contains(t)&&t.focus()}}var Th=$('<div class="modal-frame svelte-2tcvcm" role="presentation"><div class="modal-box svelte-2tcvcm" role="dialog" aria-modal="true" tabindex="-1"><!></div></div>');function Ah(e,t){re(t,!0);let n;it(()=>{if(n)return xh(n)});var r=Th(),s=m(r),a=m(s);ns(a,()=>t.Content,(i,o)=>{o(i,ss(()=>t.contentProps,{get close(){return t.close}}))}),h(s),mt(s,i=>n=i,()=>n),h(r),V(()=>Ft(s,t.boxStyle)),A(e,r),se()}const Ta={};function Ih(e,t){Ta[e]=t}function Ch(e){delete Ta[e]}function os(e){const t=Ta[e];if(!t)throw new Error(`Overlay layer "${e}" root is not registered — Shell.svelte must mount before opening overlays on this layer.`);return t}const rt=[];let qr=!1,ut=null;const $h=.5;function Il(){const e=os("modal");if(rt.length===0){ut&&(ut.remove(),ut=null);return}ut||(ut=document.createElement("div"),ut.className="sh3-modal-backdrop",ut.style.position="absolute",ut.style.inset="0",ut.style.pointerEvents="auto",ut.style.transition="background-color 120ms ease",ut.style.background=`rgba(0, 0, 0, ${$h})`);const t=rt[rt.length-1].host;e.insertBefore(ut,t)}function Cl(e){e.key==="Escape"&&rt.length!==0&&(e.stopPropagation(),e.preventDefault(),rt[rt.length-1].handle.close())}function Rh(){qr||(qr=!0,document.addEventListener("keydown",Cl,!0))}function Ph(){rt.length>0||qr&&(qr=!1,document.removeEventListener("keydown",Cl,!0))}function $l(e){const t=rt.indexOf(e);t<0||(rt.splice(t,1),Ge(e.frame),e.host.remove(),Il(),Ph())}function Lh(e,t,n){const r=os("modal"),s=document.createElement("div");s.className="sh3-modal-host",s.style.position="absolute",s.style.inset="0",s.style.pointerEvents="auto",r.appendChild(s);const a={},i={close:()=>$l(a)},o=ze(Ah,{target:s,props:{Content:e,contentProps:t??{},close:i.close,boxStyle:n?.boxStyle}});return a.host=s,a.frame=o,a.handle=i,rt.push(a),Il(),Rh(),i}function Oh(){for(;rt.length>0;)$l(rt[rt.length-1])}const Nh={open:Lh,closeAll:Oh};var Dh=$('<div class="popup-frame svelte-mp81cl" role="menu" tabindex="-1"><!></div>');function Mh(e,t){re(t,!0);let n,r=z(-9999),s=z(-9999);it(()=>{if(!n)return;const o=n.getBoundingClientRect(),l=4,u=window.innerWidth,f=window.innerHeight;let v=t.anchorRect.bottom+l,d=t.anchorRect.left;if(d+o.width>u-l&&(d=Math.max(l,u-o.width-l)),v+o.height>f-l){const _=t.anchorRect.top-o.height-l;v=_>=l?_:Math.max(l,f-o.height-l)}y(r,v,!0),y(s,d,!0)});var a=Dh(),i=m(a);ns(i,()=>t.Content,(o,l)=>{l(o,ss(()=>t.contentProps,{get close(){return t.close}}))}),h(a),mt(a,o=>n=o,()=>n),V(()=>Ft(a,`top: ${c(r)??""}px; left: ${c(s)??""}px;`)),A(e,a),se()}let pt=null;function Rl(e){if(!pt)return;const t=e.target;t&&pt.host.contains(t)||pt.handle.close()}function Pl(e){pt&&e.key==="Escape"&&(e.stopPropagation(),e.preventDefault(),pt.handle.close())}function zh(){document.addEventListener("pointerdown",Rl,!0),document.addEventListener("keydown",Pl,!0)}function jh(){document.removeEventListener("pointerdown",Rl,!0),document.removeEventListener("keydown",Pl,!0)}function Hs(e){pt===e&&(pt=null,jh(),Ge(e.frame),e.host.remove())}function qh(e,t,n){pt&&Hs(pt);const r=os("popup"),s=document.createElement("div");s.className="sh3-popup-host",s.style.position="absolute",s.style.inset="0",s.style.pointerEvents="none",r.appendChild(s);const a=t.anchor.getBoundingClientRect(),i={},o={close:()=>Hs(i)},l=ze(Mh,{target:s,props:{Content:e,contentProps:n??{},anchorRect:a,close:o.close}});return i.host=s,i.frame=l,i.handle=o,pt=i,queueMicrotask(zh),o}function Uh(){pt&&Hs(pt)}const Vh={show:qh,close:Uh};var Fh=$('<div role="status" aria-live="polite"><span class="toast-level svelte-12gwnj0"> </span> <span class="toast-message svelte-12gwnj0"> </span></div>');function Bh(e,t){var n=Fh(),r=m(n),s=m(r,!0);h(r);var a=T(r,2),i=m(a,!0);h(a),h(n),V(()=>{De(n,1,`toast toast-${t.level??""}`,"svelte-12gwnj0"),D(s,t.level),D(i,t.message)}),G("click",n,function(...o){t.close?.apply(this,o)}),A(e,n)}ke(["click"]);const Ur=new Set;let Ye=null;function Hh(){if(Ye&&Ye.isConnected)return Ye;const e=os("toast");return Ye=document.createElement("div"),Ye.className="sh3-toast-stack",Ye.style.position="absolute",Ye.style.right="16px",Ye.style.bottom="16px",Ye.style.display="flex",Ye.style.flexDirection="column-reverse",Ye.style.gap="6px",Ye.style.pointerEvents="none",e.appendChild(Ye),Ye}function Ks(e){Ur.has(e)&&(Ur.delete(e),e.timer!==null&&(clearTimeout(e.timer),e.timer=null),Ge(e.instance),e.host.remove())}function Kh(e,t={}){const n=t.level??"info",r=t.duration??3e3,s=Hh(),a=document.createElement("div");a.className="sh3-toast-host",s.appendChild(a);const i={},o={close:()=>Ks(i)},l=ze(Bh,{target:a,props:{message:e,level:n,close:o.close}});return i.host=a,i.instance=l,i.handle=o,i.timer=Number.isFinite(r)&&r>0?setTimeout(()=>Ks(i),r):null,Ur.add(i),o}function Yh(){for(const e of[...Ur])Ks(e)}const Wh={notify:Kh,clear:Yh},Ll={state:is,modal:Nh,popup:Vh,toast:Wh},Vr=new Map;function Gh(e,t){if(Vr.has(e))throw new Error(`View "${e}" is already registered`);Vr.set(e,t)}function Ol(e){return Vr.get(e)}function Xh(e){Vr.delete(e)}function wr(e,t,n){return`${e}/${t}/${n}`}function Jh(e,t){return`${e}/${t}/`}const Zh="sh3-documents",gn="docs",Qh=2;class ep{#e=null;#n(){return this.#e||(this.#e=new Promise((t,n)=>{const r=indexedDB.open(Zh,Qh);r.onupgradeneeded=()=>{const s=r.result;s.objectStoreNames.contains(gn)||s.createObjectStore(gn)},r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})),this.#e}async#t(t,n){const r=await this.#n();return new Promise((s,a)=>{const o=r.transaction(gn,t).objectStore(gn),l=n(o);l.onsuccess=()=>s(l.result),l.onerror=()=>a(l.error)})}async read(t,n,r){const s=wr(t,n,r),a=await this.#t("readonly",i=>i.get(s));return a?a.content:null}async write(t,n,r,s){const a=wr(t,n,r),i=typeof s=="string"?new Blob([s]).size:s.byteLength,o={content:s,size:i,lastModified:Date.now()};await this.#t("readwrite",l=>l.put(o,a))}async delete(t,n,r){const s=wr(t,n,r);await this.#t("readwrite",a=>a.delete(s))}async list(t,n){const r=Jh(t,n),s=await this.#n();return new Promise((a,i)=>{const l=s.transaction(gn,"readonly").objectStore(gn),u=IDBKeyRange.bound(r,r+"",!1,!1),f=l.openCursor(u),v=[];f.onsuccess=()=>{const d=f.result;if(d){const _=d.value;v.push({path:d.key.slice(r.length),size:_.size,lastModified:_.lastModified}),d.continue()}else a(v)},f.onerror=()=>i(f.error)})}async exists(t,n,r){const s=wr(t,n,r);return await this.#t("readonly",i=>i.getKey(s))!==void 0}}class tp{#e;#n;constructor(t,n){this.#e=t.replace(/\/$/,""),this.#n=n}async read(t,n,r){const s=`${this.#e}/api/docs/${t}/${n}/${r}`,a=await fetch(s);if(a.status===404)return null;if(!a.ok)throw new Error(`Document read failed: ${a.status}`);return(a.headers.get("content-type")??"").includes("application/octet-stream")?a.arrayBuffer():a.text()}async write(t,n,r,s){const a=`${this.#e}/api/docs/${t}/${n}/${r}`,i={...this.#t(),"Content-Type":typeof s=="string"?"text/plain":"application/octet-stream"},o=await fetch(a,{method:"PUT",headers:i,body:s});if(!o.ok)throw new Error(`Document write failed: ${o.status}`)}async delete(t,n,r){const s=`${this.#e}/api/docs/${t}/${n}/${r}`,a=await fetch(s,{method:"DELETE",headers:this.#t()});if(!a.ok)throw new Error(`Document delete failed: ${a.status}`)}async list(t,n){const r=`${this.#e}/api/docs/${t}/${n}`,s=await fetch(r);if(!s.ok)throw new Error(`Document list failed: ${s.status}`);return s.json()}async exists(t,n,r){const s=`${this.#e}/api/docs/${t}/${n}/${r}`;return(await fetch(s,{method:"HEAD"})).ok}#t(){return this.#n?{Authorization:`Bearer ${this.#n}`}:{}}}class np{#e=new Set;subscribe(t){return this.#e.add(t),()=>{this.#e.delete(t)}}emit(t){for(const n of this.#e)try{n(t)}catch(r){console.error("SH3: document change listener threw",r)}}}const ki=new np,rp=1e3;function sp(e,t,n,r){const s=new Set,a=new Set;function i(u){return!r.extensions||r.extensions.length===0?!0:r.extensions.some(f=>u.endsWith(f))}function o(u,f){ki.emit({type:u,path:f,tenantId:e,shardId:t})}const l={async list(){const u=await n.list(e,t);return!r.extensions||r.extensions.length===0?u:u.filter(f=>i(f.path))},async read(u){const f=await n.read(e,t,u);return f===null?null:typeof f=="string"?f:new TextDecoder().decode(f)},async write(u,f){const v=await n.exists(e,t,u);await n.write(e,t,u,f),o(v?"update":"create",u)},async delete(u){await n.delete(e,t,u),o("delete",u)},async exists(u){return n.exists(e,t,u)},watch(u){const f=ki.subscribe(v=>{v.tenantId===e&&v.shardId===t&&i(v.path)&&u(v)});return a.add(f),()=>{f(),a.delete(f)}},autosave(u,f){const v=new ap(l,u,f?.debounceMs??rp);return s.add(v),v},async dispose(){const u=[...s].map(f=>f.dispose());await Promise.all(u),s.clear();for(const f of a)f();a.clear()}};return l}class ap{#e;#n;#t;#a=null;#s=null;#i=!1;#r=!1;constructor(t,n,r){this.#e=t,this.#n=n,this.#t=r}get dirty(){return this.#i}update(t){this.#r||(this.#a=t,this.#i=!0,this.#o())}async flush(){if(this.#l(),this.#a!==null){const t=this.#a;this.#a=null,this.#i=!1,await this.#e.write(this.#n,t)}}async dispose(){this.#r||(this.#r=!0,await this.flush())}#o(){this.#l(),this.#s=setTimeout(()=>{this.#s=null,this.flush()},this.#t)}#l(){this.#s!==null&&(clearTimeout(this.#s),this.#s=null)}}const ip="local";let Nl=ip,Dl=new ep;function op(){return Nl}function lp(){return Dl}function As(e){Nl=e}function cp(e){Dl=e}let jn=z(null),Pt=z(null),qn=z(!1),ls="",Ys=null;function Si(e,t){ls=e,Ys=t.auth,y(jn,t.user,!0),y(Pt,t.session,!0),y(qn,!t.session&&!t.user,!0)}async function Ml(e,t){try{const n=await fetch(`${ls}/api/auth/login`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({username:e,password:t})});if(!n.ok)return{ok:!1,error:(await n.json().catch(()=>({}))).error||"Login failed"};const r=await n.json();return y(jn,r.user,!0),y(Pt,r.session,!0),y(qn,!1),{ok:!0}}catch{return{ok:!1,error:"Network error"}}}async function up(e,t,n){try{const r=await fetch(`${ls}/api/auth/register`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({username:e,password:t,displayName:n})});if(!r.ok)return{ok:!1,error:(await r.json().catch(()=>({}))).error||"Registration failed"};const s=await r.json();return y(jn,s.user,!0),y(Pt,s.session,!0),y(qn,!1),{ok:!0}}catch{return{ok:!1,error:"Network error"}}}async function fp(){try{await fetch(`${ls}/api/auth/logout`,{method:"POST",credentials:"include"})}catch{}if(Ys?.required&&!Ys.guestAllowed){window.location.reload();return}y(jn,null),y(Pt,null),y(qn,!0)}function dp(){y(jn,{id:"local",username:"local",displayName:"Local Owner",role:"admin",createdAt:"",updatedAt:""},!0),y(Pt,{token:"local",userId:"local",role:"admin",expiresAt:1/0},!0),y(qn,!1)}function vp(){return c(Pt)?.token==="local"}function Zt(){return c(Pt)?.role==="admin"}function zl(){return c(Pt)!==null}function jl(){return c(qn)}function Aa(){return c(jn)}function cs(){return c(Pt)?`Bearer ${c(Pt).token}`:null}let Un="";function ql(e){Un=e}async function hp(e){const t=await fetch(`${Un}/api/env-state/${encodeURIComponent(e)}`);return t.ok?await t.json():(console.warn(`[sh3] Failed to fetch env state for "${e}": HTTP ${t.status}`),{})}async function pp(e,t){if(!Zt())throw new Error("Cannot update env state: not elevated to admin");const n=cs(),r={"Content-Type":"application/json"};n&&(r.Authorization=n);const s=await fetch(`${Un}/api/env-state/${encodeURIComponent(e)}`,{method:"PUT",headers:r,body:JSON.stringify(t)});if(!s.ok){const a=await s.json().catch(()=>({}));throw new Error(`Env state update failed: HTTP ${s.status} — ${a.error??"unknown"}`)}}async function Ul(e,t){if(!Zt())throw new Error("Cannot install: not elevated to admin");const n=cs(),r=new FormData;r.append("manifest",new Blob([JSON.stringify(e)],{type:"application/json"}),"manifest.json"),r.append("client",new Blob([t],{type:"application/javascript"}),"client.js");const s={};n&&(s.Authorization=n);const a=await fetch(`${Un}/api/packages/install`,{method:"POST",headers:s,body:r}),i=await a.json();return a.ok?{ok:!0,id:String(e.id)}:{ok:!1,id:String(e.id),error:i.error??`HTTP ${a.status}`}}async function _p(e){if(!Zt())throw new Error("Cannot uninstall: not elevated to admin");const t=cs(),n={"Content-Type":"application/json"};t&&(n.Authorization=t);const r=await fetch(`${Un}/api/packages/uninstall`,{method:"POST",headers:n,body:JSON.stringify({id:e})});if(!r.ok){const s=await r.json().catch(()=>({}));throw new Error(`Uninstall failed: HTTP ${r.status} — ${s.error??"unknown"}`)}}async function mp(){const e=await fetch(`${Un}/api/packages`);return e.ok?await e.json():[]}function gp(e){return Et[e].list()}function bp(e,t){return Et[e].read(t)}function yp(e,t){Et[e].delete(t)}function wp(e){for(const t of Et[e].list())Et[e].delete(t)}function Vl(){return{list:gp,peek:bp,clear:yp,clearAll:wp}}const Lt=he(new Map),nr=new Map,us=he(new Map);function fs(e){const t=e.manifest.id;Lt.has(t)&&us.has(t)&&Ia(t),Lt.set(t,e)}async function Fl(e){const t=Lt.get(e);if(!t)throw new Error(`Cannot activate shard "${e}": not registered`);if(nr.has(e))return;const n={shard:t,ctx:void 0,viewIds:new Set,cleanupFns:[]},r=he({proxy:null,defaults:null}),s={state:a=>Ll.state(e,a),registerView:(a,i)=>{Gh(a,i),n.viewIds.add(a)},documents:a=>{const i=sp(op(),e,lp(),a);return n.cleanupFns.push(()=>i.dispose()),i},env(a){return r.proxy?(console.warn(`[sh3] Shard "${e}" called ctx.env() more than once; extra calls are ignored.`),r.proxy):(r.defaults=a,r.proxy={...a},r.proxy)},async envUpdate(a){if(!r.proxy||!r.defaults)throw new Error(`Shard "${e}" called envUpdate() without declaring env state`);const i=vn(r.proxy);Object.assign(r.proxy,a);try{const o=vn(r.proxy);await pp(e,o)}catch(o){throw Object.assign(r.proxy,i),o}},get isAdmin(){return Zt()},zones:t.manifest.permissions?.includes(xa)?Vl():void 0};n.ctx=s,nr.set(e,n),us.set(e,t),await t.activate(s);for(const a of t.manifest.views)if(!n.viewIds.has(a.id))throw new Error(`Shard "${e}" declared view "${a.id}" in its manifest but registered no factory for it.`);if(r.proxy&&r.defaults)try{const a=await hp(e),i=Object.assign({},r.defaults,a);Object.assign(r.proxy,i)}catch(a){console.warn(`[sh3] Failed to hydrate env state for shard "${e}":`,a instanceof Error?a.message:a)}t.autostart?.(s)}function Ia(e){const t=nr.get(e);if(t){t.shard.deactivate?.();for(const n of t.cleanupFns)n();for(const n of t.viewIds)Xh(n);nr.delete(e),us.delete(e)}}function kp(e){return nr.get(e)?.ctx}const gr=he(new Map),At=he({id:null});function rr(e){gr.set(e.manifest.id,e)}function Ca(){return Array.from(gr.values()).map(e=>e.manifest)}function Bl(){const e=At.id;return e?gr.get(e)?.manifest??null:null}function ds(e){return gr.get(e)}const An=new Map,$r=new Set,$a=he({}),Ra=he({});function Sp(e,t,n){const r=document.createElement("div");r.className="slot-host",r.dataset.slotId=e,r.style.position="absolute",r.style.inset="0",r.style.minWidth="0",r.style.minHeight="0";let s=!1;const a={host:r,handle:void 0,viewId:t,label:n,refcount:0,resizeObserver:void 0,cancelPendingMount:()=>{s=!0}};return queueMicrotask(()=>{if(s)return;const i=t?Ol(t):void 0,o={slotId:e,viewId:t??"",label:n,setDirty(l){$a[e]=l}};if(a.handle=i?.mount(r,o),a.handle?.closable&&(Ra[e]=!0),a.handle?.onResize){const l=a.handle.onResize.bind(a.handle);a.resizeObserver=new ResizeObserver(u=>{for(const f of u){const v=f.contentRect;l(Math.round(v.width),Math.round(v.height))}}),a.resizeObserver.observe(r)}}),a}function Hl(e,t,n){$r.delete(e);let r=An.get(e);return r||(r=Sp(e,t,n),An.set(e,r)),r.refcount++,r.host}function Kl(e){const t=An.get(e);t&&(t.refcount--,!(t.refcount>0)&&($r.add(e),queueMicrotask(()=>{if(!$r.has(e))return;$r.delete(e);const n=An.get(e);!n||n.refcount>0||(n.resizeObserver?.disconnect(),n.handle?.unmount(),n.cancelPendingMount(),n.host.remove(),An.delete(e),delete $a[e],delete Ra[e])})))}function Ep(e){return An.get(e)?.handle}function xp(e){return $a[e]??!1}function Tp(e){return Ra[e]??!1}function Ap(e){const t=[],n=r=>{if(r.type==="slot"){t.push({slotId:r.slotId,viewId:r.viewId,label:r.viewId||r.slotId});return}if(r.type==="tabs"){for(const s of r.tabs)t.push({slotId:s.slotId,viewId:s.viewId,label:s.label});return}for(const s of r.children)n(s)};return n(e),t}Al("workspace","__shell__");const Ip={type:"slot",slotId:"sh3core.home",viewId:"sh3core:home"};let jt=z(null),vs=z("home");function Cp(e){if(c(jt))throw new Error(`Layout manager cannot attach app "${e.manifest.id}": app "${c(jt).appId}" is still attached`);const t=`__sh3core__:app:${e.manifest.id}`,n=kh("workspace",t);n!=null&&n.layoutVersion!==e.manifest.layoutVersion&&Al("workspace",t);const s=is(t,{workspace:{layoutVersion:e.manifest.layoutVersion,root:e.initialLayout}}).workspace,a=Ap(s.root),i=[];for(const{slotId:o,viewId:l,label:u}of a)Hl(o,l,u),i.push(o);y(jt,{appId:e.manifest.id,proxy:s,heldSlotIds:i},!0)}function $p(){if(c(jt)){for(const e of c(jt).heldSlotIds)Kl(e);y(jt,null)}}function Yl(){y(vs,"home")}function Ei(){if(!c(jt))throw new Error("Cannot switchToApp: no app is attached");y(vs,"app")}function Qt(){return c(vs)==="app"&&c(jt)?c(jt).proxy.root:Ip}function Wl(){return c(vs)}const Gl={get root(){return Qt()}},Xl=is("__sh3core__:last-app",{user:{id:null}});function Rp(){return Xl.user.id}function Ws(e){Xl.user.id=e}const Gs=new Map;function xi(e){let t=Gs.get(e);if(!t){const n=ds(e);t={state:r=>is(`__app__:${e}`,r),zones:n?.manifest.permissions?.includes(xa)?Vl():void 0},Gs.set(e,t)}return t}async function sr(e){const t=ds(e);if(!t)throw new Error(`Cannot launch app "${e}": not registered`);if(At.id&&At.id!==e)Pp(At.id);else if(At.id===e){for(const n of t.manifest.requiredShards){const r=Lt.get(n),s=kp(n);r&&s&&r.resume?.(s)}t.resume?.(xi(e)),Ei(),Ws(e);return}for(const n of t.manifest.requiredShards){if(!Lt.has(n))throw new Error(`App "${e}" requires shard "${n}" which is not registered`);await Fl(n)}Cp(t),t.activate?.(xi(e)),At.id=e,Ei(),Ws(e)}function Pp(e){if(At.id!==e)return;const t=ds(e);if(t){t.deactivate?.(),Yl(),$p();for(const n of t.manifest.requiredShards){const r=Lt.get(n);r&&(r.autostart||Ia(n))}At.id=null,Gs.delete(e)}}async function Jl(){const e=At.id?ds(At.id):null;if(e){for(const t of e.manifest.requiredShards){const n=Lt.get(t);if(n?.suspend&&await n.suspend()===!1)return!1}if(e.suspend&&await e.suspend()===!1)return!1}return Yl(),Ws(null),!0}function Xs(e,t){const n=(r,s)=>{if(r.type==="tabs"){const a=r.tabs.findIndex(i=>i.slotId===t);if(a>=0)return{tabsNode:r,tabsPath:s,tabIndex:a,entry:r.tabs[a]}}else if(r.type==="split")for(let a=0;a<r.children.length;a++){const i=n(r.children[a],[...s,a]);if(i)return i}return null};return n(e,[])}function Zl(e,t){const n=Xs(e,t);if(!n)return null;const{tabsNode:r,tabIndex:s,entry:a}=n;return r.tabs.splice(s,1),r.tabs.length===0?r.activeTab=0:s<r.activeTab?r.activeTab-=1:r.activeTab>=r.tabs.length&&(r.activeTab=r.tabs.length-1),a}function Lp(e,t,n){const r=Math.max(0,Math.min(n,e.tabs.length));e.tabs.splice(r,0,t),e.activeTab=r}function Op(e,t,n){const r=e.tabs.slice(),[s]=r.splice(t,1),a=Math.max(0,Math.min(n,r.length));r.splice(a,0,s),e.tabs=r,e.activeTab=a}function Np(e,t,n){const r=n==="left"||n==="right"?"horizontal":"vertical",s={type:"tabs",activeTab:0,tabs:[t]};return{type:"split",direction:r,sizes:[1,1],children:n==="left"||n==="top"?[s,e]:[e,s]}}function Ql(e,t,n,r){const s=Fr(e,t);if(!s)return;const a=Np(s,n,r);if(t.length===0){const u=e;delete u.tabs,delete u.activeTab,delete u.slotId,delete u.viewId,delete u.direction,delete u.sizes,delete u.pinned,delete u.children,Object.assign(u,a);return}const i=t.slice(0,-1),o=t[t.length-1],l=Fr(e,i);!l||l.type!=="split"||(l.children[o]=a)}function Fr(e,t){let n=e;for(const r of t){if(n.type!=="split"||r<0||r>=n.children.length)return null;n=n.children[r]}return n}function Js(e){let t=!0;for(;t;)t=ec(e,null,0)}function ec(e,t,n){if(e.type==="split"){let r=!1;for(let s=0;s<e.children.length;s++)ec(e.children[s],e,s)&&(r=!0);for(let s=e.children.length-1;s>=0;s--){const a=e.children[s];a.type==="tabs"&&a.tabs.length===0&&!a.persistent&&(e.children.splice(s,1),e.sizes.splice(s,1),e.pinned&&e.pinned.splice(s,1),e.collapsed&&e.collapsed.splice(s,1),r=!0)}if(e.children.length<=1&&t)return e.children.length===1?t.children[n]=e.children[0]:(t.children.splice(n,1),t.sizes.splice(n,1),t.pinned&&t.pinned.splice(n,1),t.collapsed&&t.collapsed.splice(n,1)),!0;if(e.children.length===1&&!t){const s=e.children[0],a=e;return delete a.direction,delete a.sizes,delete a.pinned,delete a.collapsed,delete a.children,Object.assign(a,s),!0}return r}return e.type==="tabs",!1}function tc(){return{root:Qt(),source:Wl()}}function Dp(e){const t=Qt(),n=Na(t);if(!n)throw new Error("spliceIntoActiveLayout: no tabs group found in the active layout; phase 8 only supports splicing into an existing tab group.");n.tabs.push(e),n.activeTab=n.tabs.length-1}function Mp(e){const t=Qt();return La(t,n=>n.slotId===e)}function Pa(e){const t=Qt();return La(t,n=>n.viewId===e)}function La(e,t){if(e.type==="tabs"){const n=e.tabs.findIndex(t);return n>=0?(e.activeTab=n,!0):!1}if(e.type==="split"){for(const n of e.children)if(La(n,t))return!0}return!1}function zp(e,t){return nc(e,t,!0)}function jp(e,t){return nc(e,t,!1)}function nc(e,t,n){const r=Qt(),s=Fr(r,e);if(!s||s.type!=="split")return!1;const a=s;return t<0||t>=a.children.length?!1:(a.collapsed||(a.collapsed=a.children.map(()=>!1)),a.collapsed[t]=n,!0)}async function Oa(e){const t=Qt();if(!Xs(t,e))return!1;const s=Ep(e)?.closable;return!s||typeof s=="object"&&(!await s.canClose()||!Xs(t,e))?!1:(Zl(t,e),Js(t),!0)}function Na(e){if(e.type==="tabs")return e;if(e.type==="split")for(const t of e.children){const n=Na(t);if(n)return n}return null}function rc(e,t=[]){if(e.type==="slot")return e.viewId!==null?t:null;if(e.type==="split")for(let n=0;n<e.children.length;n++){const r=rc(e.children[n],[...t,n]);if(r)return r}return null}function sc(e){const t=Qt();if(Pa(e.viewId??""))return!0;const n=Na(t);if(n)return n.tabs.push(e),n.activeTab=n.tabs.length-1,!0;const r=rc(t);return r?(Ql(t,r,e,"right"),!0):!1}class dt extends Error{constructor(t,n){super(`Registry validation error at ${t}: ${n}`),this.name="RegistryValidationError",this.path=t}}function ac(e){if(!e||typeof e!="object"||Array.isArray(e))throw new dt("$","expected an object");const t=e;if(t.version!==1)throw new dt("$.version",`expected 1, got ${JSON.stringify(t.version)}`);if(!Array.isArray(t.packages))throw new dt("$.packages","expected an array");return{version:1,packages:t.packages.map((r,s)=>qp(r,`$.packages[${s}]`))}}function qp(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new dt(t,"expected an object");const n=e;It(n,"id",t),Fp(n,"type",["shard","app","combo"],t),It(n,"label",t),It(n,"description",t);const r=`${t}.author`;if(!n.author||typeof n.author!="object"||Array.isArray(n.author))throw new dt(r,"expected an object");const s=n.author;if(typeof s.name!="string"||s.name.length===0)throw new dt(`${r}.name`,"expected a non-empty string");if(!Array.isArray(n.versions)||n.versions.length===0)throw new dt(`${t}.versions`,"expected a non-empty array");const a=n.versions.map((i,o)=>Up(i,`${t}.versions[${o}]`));return{id:n.id,type:n.type,label:n.label,description:n.description,author:{name:s.name},icon:typeof n.icon=="string"?n.icon:void 0,versions:a}}function Up(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new dt(t,"expected an object");const n=e;It(n,"version",t),It(n,"contractVersion",t),It(n,"bundleUrl",t),It(n,"integrity",t),"serverBundleUrl"in n&&n.serverBundleUrl!==void 0&&It(n,"serverBundleUrl",t);let r;if(n.requires!==void 0){if(!Array.isArray(n.requires))throw new dt(`${t}.requires`,"expected an array");r=n.requires.map((s,a)=>Vp(s,`${t}.requires[${a}]`))}return{version:n.version,contractVersion:n.contractVersion,bundleUrl:n.bundleUrl,integrity:n.integrity,serverBundleUrl:typeof n.serverBundleUrl=="string"?n.serverBundleUrl:void 0,requires:r}}function Vp(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new dt(t,"expected an object");const n=e;return It(n,"id",t),It(n,"versionRange",t),{id:n.id,versionRange:n.versionRange}}function It(e,t,n){const r=e[t];if(typeof r!="string"||r.length===0)throw new dt(`${n}.${t}`,"expected a non-empty string")}function Fp(e,t,n,r){if(!n.includes(e[t]))throw new dt(`${r}.${t}`,`expected one of: ${n.join(", ")}`)}const Ti=["sha256","sha384","sha512"];function Bp(e){const t=e.indexOf("-");if(t===-1)throw new Error(`Invalid SRI format: ${e}`);const n=e.slice(0,t),r=e.slice(t+1);if(!Ti.includes(n))throw new Error(`Unsupported SRI algorithm: ${n}. Supported: ${Ti.join(", ")}`);if(!r)throw new Error(`Empty hash in SRI: ${e}`);return{algorithm:n,hash:r}}function Hp(e){return`SHA-${e.slice(3)}`}function Kp(e){const t=new Uint8Array(e);let n="";for(let r=0;r<t.length;r++)n+=String.fromCharCode(t[r]);return btoa(n)}async function ic(e,t){const{algorithm:n,hash:r}=Bp(t),s=Hp(n),a=await crypto.subtle.digest(s,e),i=Kp(a);if(i!==r)throw new Error(`Integrity check failed for ${n}. Expected: ${r}, got: ${i}`)}async function oc(e){const t=new Set,n=[];for(const r of e){let s;try{const i=await fetch(r);if(!i.ok){console.warn(`[sh3] Registry fetch failed for ${r}: HTTP ${i.status}`);continue}s=await i.json()}catch(i){console.warn(`[sh3] Registry ${r}: ${i instanceof Error?i.message:String(i)}`);continue}let a;try{a=ac(s)}catch(i){console.warn(`[sh3] Registry ${r} failed validation: ${i instanceof Error?i.message:String(i)}`);continue}for(const i of a.packages)t.has(i.id)||(t.add(i.id),n.push({entry:i,latest:i.versions[0],sourceRegistry:r}))}return n}async function Da(e,t){let n=e.bundleUrl;t&&!/^https?:\/\//i.test(n)&&(n=new URL(n,t).href);const r=await fetch(n);if(!r.ok)throw new Error(`Bundle fetch failed: HTTP ${r.status} ${r.statusText} from ${n}`);const s=await r.arrayBuffer();return await ic(s,e.integrity),s}function Ma(e,t){return{id:e.entry.id,type:e.entry.type,version:t.version,contractVersion:t.contractVersion,sourceRegistry:e.sourceRegistry,integrity:t.integrity,requires:t.requires}}const za="0.6.0",ja="sh3:user:__sh3core__:theme";let ar=[];function Yp(e){const t=Object.keys(e);for(const n of ar)t.includes(n)||document.documentElement.style.removeProperty(`--${n}`);for(const[n,r]of Object.entries(e))document.documentElement.style.setProperty(`--${n}`,r);ar=t;try{localStorage.setItem(ja,JSON.stringify(e))}catch{}}function Wp(){for(const e of ar)document.documentElement.style.removeProperty(`--${e}`);ar=[];try{localStorage.removeItem(ja)}catch{}}function lc(){try{const e=localStorage.getItem(ja);if(!e)return{};const t=JSON.parse(e);return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{}}catch{return{}}}function Gp(){const e=lc();if(Object.keys(e).length!==0){for(const[t,n]of Object.entries(e))document.documentElement.style.setProperty(`--${t}`,n);ar=Object.keys(e)}}const Xp={hotInstall:typeof Blob<"u"&&typeof URL.createObjectURL=="function"},cc=Object.freeze(Object.defineProperty({__proto__:null,PERMISSION_STATE_MANAGE:xa,VERSION:za,activeShards:us,buildPackageMeta:Ma,capabilities:Xp,clearTokenOverrides:Wp,closeTab:Oa,collapseChild:zp,dockIntoActiveLayout:sc,expandChild:jp,fetchBundle:Da,fetchRegistries:oc,focusTab:Mp,focusView:Pa,getActiveApp:Bl,getAuthHeader:cs,getTokenOverrides:lc,getUser:Aa,inspectActiveLayout:tc,isAdmin:Zt,isAuthenticated:zl,isGuest:jl,launchApp:sr,listRegisteredApps:Ca,registeredShards:Lt,returnToHome:Jl,setTokenOverrides:Yp,shell:Ll,spliceIntoActiveLayout:Dp,validateRegistryIndex:ac},Symbol.toStringTag,{value:"Module"})),Jp="/assets/SH3-BG5NVpSD.png",Zp="https://cdn.jsdelivr.net/npm/p5@1.11.13/lib/p5.min.js";let Hn=null;function Qp(){return Hn||(Hn=new Promise((e,t)=>{const n=window.p5;if(n){e(n);return}const r=document.createElement("script");r.src=Zp,r.async=!0,r.onload=()=>e(window.p5),r.onerror=s=>{Hn=null,t(s)},document.head.appendChild(r)}),Hn)}var e_=$('<h1 class="shell-title-fallback svelte-1ifjvh5">SH3</h1>'),t_=$('<div class="shell-title svelte-1ifjvh5"></div>');function n_(e,t){re(t,!0);const n="`.-':;,^\"~=+<>*?!/\\|()[]{}x1ltzrcvunsXYUJCLQ0OZmwqpdbkhao*#MW&8%B@$",r=64,s=Math.floor(64/(442/193)),a=8,i=7,o=80,l=r*a,u=s*i,f=o/u;let v=z(void 0),d=null,_=z(!1);const b=()=>g=>{const R=getComputedStyle(document.documentElement).getPropertyValue("--shell-accent").trim();let C,I,P=!1;g.setup=()=>{g.createCanvas(l,u),g.noSmooth(),g.noStroke(),g.textAlign(g.CENTER,g.CENTER),g.textFont("monospace"),g.textSize(10),g.textStyle(g.BOLD),I=g.loadImage(Jp,()=>{C=g.createGraphics(r,s),C.pixelDensity(1),C.image(I,0,0,r,s),C.loadPixels(),P=!0},()=>{y(_,!0)})},g.draw=()=>{if(!P)return;const M=g.millis()*.001;let O;g.clear(),g.background(0,0),g.fill(R);for(let x=0;x<s;x++)for(let U=0;U<r;U++){const F=(x*r+U)*4;if(C.pixels[F]<64){if(O=g.noise(U/r*2,x/s*2,M*.15),O>.33)continue;g.text(n[Math.floor(O*n.length*.25)],(U+.5)*a,(x+.5)*i);continue}O=g.noise(U/r*4,x/s*4,M*.5),g.text(n[Math.floor(O*n.length)],(U+.5)*a,(x+.5)*i)}}};it(()=>{if(c(_))return;let g=!1;return Qp().then(E=>{if(!(g||!c(v)))try{d=new E(b(),c(v))}catch(R){console.error("[ShellTitle] p5 sketch failed to start",R),y(_,!0)}}).catch(E=>{console.error("[ShellTitle] failed to load p5 from CDN",E),y(_,!0)}),()=>{g=!0,d&&(d.remove(),d=null)}});var S=zt(),w=$e(S);{var k=g=>{var E=e_();A(g,E)},p=g=>{var E=t_();Ft(E,"",{},{width:"216.7195767195767px",height:"80px","--shell-title-scale":f}),mt(E,R=>y(v,R),()=>c(v)),A(g,E)};B(w,g=>{c(_)?g(k):g(p,-1)})}A(e,S),se()}var r_=$('<li class="shell-home-entry svelte-cpn2x2"><div class="shell-home-entry-label svelte-cpn2x2"> </div> <div class="shell-home-entry-meta svelte-cpn2x2"> </div> <button type="button" class="shell-home-launch svelte-cpn2x2">Launch</button></li>'),s_=$('<section class="shell-home-section svelte-cpn2x2"><h2 class="shell-home-section-title svelte-cpn2x2">Apps</h2> <ul class="shell-home-list svelte-cpn2x2"></ul></section>'),a_=$('<li class="shell-home-entry svelte-cpn2x2"><div class="shell-home-entry-label svelte-cpn2x2"> </div> <div class="shell-home-entry-meta svelte-cpn2x2"> </div> <button type="button" class="shell-home-launch svelte-cpn2x2">Launch</button></li>'),i_=$('<section class="shell-home-section svelte-cpn2x2"><h2 class="shell-home-section-title svelte-cpn2x2">Admin</h2> <ul class="shell-home-list svelte-cpn2x2"></ul></section>'),o_=$('<p class="shell-home-empty svelte-cpn2x2">No apps registered.</p>'),l_=$('<div class="shell-home svelte-cpn2x2"><header class="shell-home-header svelte-cpn2x2"><div class="shell-home-title-row svelte-cpn2x2"><!> <span class="shell-home-version svelte-cpn2x2"> </span> <span class="shell-home-alpha svelte-cpn2x2">alpha</span></div> <div class="shell-home-credit svelte-cpn2x2">Art: by <a href="https://www.andbc.co/" target="_blank" rel="noopener noreferrer" class="svelte-cpn2x2">andbc</a></div></header> <!> <!> <!></div>');function c_(e,t){re(t,!0);const n=X(Ca),r=X(()=>c(n).filter(p=>!p.admin)),s=X(()=>c(n).filter(p=>p.admin)),a=X(Zt);var i=l_(),o=m(i),l=m(o),u=m(l);n_(u,{});var f=T(u,2),v=m(f);h(f),rn(2),h(l),rn(2),h(o);var d=T(o,2);{var _=p=>{var g=s_(),E=T(m(g),2);Ie(E,21,()=>c(r),R=>R.id,(R,C)=>{var I=r_(),P=m(I),M=m(P,!0);h(P);var O=T(P,2),x=m(O);h(O);var U=T(O,2);h(I),V(()=>{D(M,c(C).label),D(x,`${c(C).id??""} · v${c(C).version??""}`)}),G("click",U,()=>sr(c(C).id)),A(R,I)}),h(E),h(g),A(p,g)};B(d,p=>{c(r).length>0&&p(_)})}var b=T(d,2);{var S=p=>{var g=i_(),E=T(m(g),2);Ie(E,21,()=>c(s),R=>R.id,(R,C)=>{var I=a_(),P=m(I),M=m(P,!0);h(P);var O=T(P,2),x=m(O);h(O);var U=T(O,2);h(I),V(()=>{D(M,c(C).label),D(x,`${c(C).id??""} · v${c(C).version??""}`)}),G("click",U,()=>sr(c(C).id)),A(R,I)}),h(E),h(g),A(p,g)};B(b,p=>{c(a)&&c(s).length>0&&p(S)})}var w=T(b,2);{var k=p=>{var g=o_();A(p,g)};B(w,p=>{c(r).length===0&&(!c(a)||c(s).length===0)&&p(k)})}h(i),V(()=>D(v,`v${za}`)),A(e,i),se()}ke(["click"]);const u_={manifest:{id:"__sh3core__",label:"SH3 Core",version:za,views:[{id:"sh3core:home",label:"Home"}]},activate(e){const t={mount(n,r){const s=ze(c_,{target:n});return{unmount(){Ge(s)}}}};e.registerView("sh3core:home",t)},autostart(){}},f_={id:"shell",label:"Shell",version:"0.1.0",views:[{id:"shell:terminal",label:"Shell"}],permissions:[]},d_=2e3;let v_=0;function h_(){return`e${++v_}`}class p_{#e;get entries(){return c(this.#e)}set entries(t){y(this.#e,t,!0)}constructor(t=d_){this.#e=z(he([])),this.cap=t}push(t){const n=this.entries[this.entries.length-1];if(n&&n.kind==="text"&&t.kind==="text"&&n.stream===t.stream){n.chunks.push(...t.chunks);return}const r={...t,id:h_()};this.entries.push(r),this.entries.length>this.cap&&this.entries.splice(0,this.entries.length-this.cap)}clear(){this.entries.length=0}}var __=$("<pre> </pre>");function m_(e,t){re(t,!0);const n=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,r=X(()=>t.chunks.join("").replace(n,""));var s=__();let a;var i=m(s,!0);h(s),V(()=>{a=De(s,1,"shell-text svelte-ypr8s",null,a,{stderr:t.stream==="stderr"}),D(i,c(r))}),A(e,s),se()}var g_=$('<div class="shell-prompt svelte-u0gb59"><span class="shell-prompt-cwd svelte-u0gb59"> </span> <span class="shell-prompt-arrow svelte-u0gb59">❯</span> <span class="shell-prompt-line svelte-u0gb59"> </span></div>');function b_(e,t){var n=g_(),r=m(n),s=m(r,!0);h(r);var a=T(r,4),i=m(a,!0);h(a),h(n),V(()=>{D(s,t.cwd),D(i,t.line)}),A(e,n)}var y_=$("<div> </div>");function w_(e,t){var n=y_();let r;var s=m(n,!0);h(n),V(()=>{r=De(n,1,"shell-status svelte-nfxdpt",null,r,{info:t.level==="info",warn:t.level==="warn",error:t.level==="error"}),D(s,t.text)}),A(e,n)}var k_=$('<div class="shell-rich svelte-1rnhl05"><!></div>');function S_(e,t){var n=k_(),r=m(n);ns(r,()=>t.component,(s,a)=>{a(s,ss(()=>t.componentProps))}),h(n),A(e,n)}var E_=$('<div class="shell-scrollback svelte-isy3jt"></div>');function x_(e,t){re(t,!0);let n=z(null);it(()=>{t.scrollback.entries.length,c(n)&&(c(n).scrollTop=c(n).scrollHeight)});var r=E_();Ie(r,21,()=>t.scrollback.entries,s=>s.id,(s,a)=>{var i=zt(),o=$e(i);{var l=d=>{m_(d,{get stream(){return c(a).stream},get chunks(){return c(a).chunks}})},u=d=>{b_(d,{get cwd(){return c(a).cwd},get line(){return c(a).line}})},f=d=>{w_(d,{get text(){return c(a).text},get level(){return c(a).level}})},v=d=>{S_(d,{get component(){return c(a).component},get componentProps(){return c(a).props}})};B(o,d=>{c(a).kind==="text"?d(l):c(a).kind==="prompt"?d(u,1):c(a).kind==="status"?d(f,2):c(a).kind==="rich"&&d(v,3)})}A(s,i)}),h(r),mt(r,s=>y(n,s),()=>c(n)),A(e,r),se()}var T_=$('<div><span class="shell-input-cwd svelte-1dfv2gk"> </span> <span class="shell-input-arrow svelte-1dfv2gk">❯</span> <input type="text" spellcheck="false" autocomplete="off" autocapitalize="off" class="shell-input-field svelte-1dfv2gk"/></div>');function A_(e,t){re(t,!0);let n=z(""),r=z(null),s=z(""),a=z(null);function i(){if(t.locked)return;const S=c(n);S.trim()&&(y(n,""),y(r,null),t.onSubmit(S))}function o(){t.history.length!==0&&(c(r)===null?(y(s,c(n),!0),y(r,t.history.length-1)):c(r)>0&&Rn(r,-1),y(n,t.history[c(r)]??"",!0))}function l(){c(r)!==null&&(c(r)<t.history.length-1?(Rn(r),y(n,t.history[c(r)],!0)):(y(r,null),y(n,c(s),!0)))}function u(S){if(t.locked){if(S.ctrlKey&&S.key==="c"){S.preventDefault(),t.session.send({t:"signal",sig:"SIGINT"});return}if(S.ctrlKey&&S.key==="d"){S.preventDefault(),t.session.send({t:"signal",sig:"EOF"});return}S.preventDefault();return}S.key==="Enter"?(S.preventDefault(),i()):S.key==="ArrowUp"?(S.preventDefault(),o()):S.key==="ArrowDown"?(S.preventDefault(),l()):S.ctrlKey&&S.key==="c"?(S.preventDefault(),y(n,""),y(r,null)):S.ctrlKey&&S.key==="l"&&(S.preventDefault(),y(n,"clear"),i())}it(()=>{!t.locked&&c(a)&&c(a).focus()});var f=T_();let v;var d=m(f),_=m(d,!0);h(d);var b=T(d,4);we(b),mt(b,S=>y(a,S),()=>c(a)),h(f),V(()=>{v=De(f,1,"shell-input svelte-1dfv2gk",null,v,{locked:t.locked}),D(_,t.cwd),b.disabled=t.locked}),G("keydown",b,u),Le(b,()=>c(n),S=>y(n,S)),A(e,f),se()}ke(["keydown"]);const Ai=[1e3,2e3,5e3,1e4];class I_{#e;get connected(){return c(this.#e)}set connected(t){y(this.#e,t,!0)}#n;get cwd(){return c(this.#n)}set cwd(t){y(this.#n,t,!0)}#t;get env(){return c(this.#t)}set env(t){y(this.#t,t,!0)}#a;get history(){return c(this.#a)}set history(t){y(this.#a,t,!0)}constructor(t){this.url=t,this.ws=null,this.handlers=new Set,this.pendingHistoryLogs=[],this.lastSeq=0,this.backoffIndex=0,this.closed=!1,this.#e=z(!1),this.#n=z(""),this.#t=z(he({})),this.#a=z(he([]))}connect(){if(!this.closed){try{this.ws=new WebSocket(this.url)}catch{this.scheduleReconnect();return}this.ws.addEventListener("open",()=>{this.backoffIndex=0,this.connected=!0;const t=this.lastSeq>0?{t:"hello",replayFrom:this.lastSeq}:{t:"hello"};this.sendRaw(t);for(const n of this.pendingHistoryLogs)this.sendRaw(n);this.pendingHistoryLogs=[]}),this.ws.addEventListener("message",t=>{let n;try{n=JSON.parse(t.data)}catch{return}n.t==="event"&&typeof n.event.seq=="number"&&(this.lastSeq=n.event.seq),n.t==="welcome"&&(this.cwd=n.cwd,this.env=n.env,this.lastSeq=n.seq),n.t==="cwd"&&(this.cwd=n.cwd),n.t==="history"&&(this.history=n.lines);for(const r of this.handlers)r(n)}),this.ws.addEventListener("close",()=>{this.connected=!1,this.ws=null,this.scheduleReconnect()}),this.ws.addEventListener("error",()=>{})}}scheduleReconnect(){if(this.closed)return;const t=Ai[Math.min(this.backoffIndex,Ai.length-1)];this.backoffIndex++,setTimeout(()=>this.connect(),t)}send(t){if(t.t==="history-log"&&!this.connected){this.pendingHistoryLogs.push(t);return}this.sendRaw(t)}sendRaw(t){!this.ws||this.ws.readyState!==WebSocket.OPEN||this.ws.send(JSON.stringify(t))}onMessage(t){return this.handlers.add(t),()=>this.handlers.delete(t)}close(){this.closed=!0,this.ws?.close(),this.ws=null}}class C_{constructor(){this.verbs=new Map}register(t){this.verbs.set(t.name,t)}list(){return Array.from(this.verbs.values()).sort((t,n)=>t.name.localeCompare(n.name))}get(t){return this.verbs.get(t)}resolve(t){const n=t.trim();if(!n)return{kind:"forward",line:t};if(n.startsWith("$ "))return{kind:"forward",line:n.slice(2)};if(n==="$")return{kind:"forward",line:""};const r=n.indexOf(" "),s=r===-1?n:n.slice(0,r),a=r===-1?"":n.slice(r+1),i=this.verbs.get(s);if(!i)return{kind:"forward",line:t};const o=a.length?a.split(/\s+/):[];return{kind:"local",verb:i,args:o,line:t}}}var $_=$('<tr><td class="svelte-m248jy"><button type="button" class="svelte-m248jy"> </button></td><td class="svelte-m248jy"> </td></tr>'),R_=$('<div class="shell-rich-help svelte-m248jy"><table class="svelte-m248jy"><thead><tr><th class="svelte-m248jy">Name</th><th class="svelte-m248jy">Summary</th></tr></thead><tbody></tbody></table></div>');function P_(e,t){re(t,!0);var n=R_(),r=m(n),s=T(m(r));Ie(s,21,()=>t.data.rows,a=>a.name,(a,i)=>{var o=$_(),l=m(o),u=m(l),f=m(u,!0);h(u),h(l);var v=T(l),d=m(v,!0);h(v),h(o),V(()=>{D(f,c(i).name),D(d,c(i).summary)}),G("click",u,()=>t.data.onClickName(c(i).name)),A(a,o)}),h(s),h(r),h(n),A(e,n),se()}ke(["click"]);function L_(e){return{name:"help",summary:"List verbs or show detail for one.",async run(t){const n=e.list().map(r=>({name:r.name,summary:r.summary}));t.scrollback.push({kind:"rich",component:P_,props:{data:{rows:n,onClickName:r=>t.dispatch(r)}},ts:Date.now()})}}}const O_={name:"clear",summary:"Clear the scrollback (local only — other views are unaffected).",async run(e){e.scrollback.clear()}};var N_=$('<li class="svelte-o8m437"><button type="button" class="svelte-o8m437"> </button></li>'),D_=$('<div class="shell-rich-history svelte-o8m437"><ol class="svelte-o8m437"></ol></div>');function M_(e,t){re(t,!0);var n=D_(),r=m(n);Ie(r,21,()=>t.data.lines,Ln,(s,a)=>{var i=N_(),o=m(i),l=m(o,!0);h(o),h(i),V(()=>D(l,c(a))),G("click",o,()=>t.data.onClickLine(c(a))),A(s,i)}),h(r),h(n),A(e,n),se()}ke(["click"]);const z_={name:"history",summary:"Show the last N history lines. Default 50.",async run(e,t){const n=t[0]?Math.max(1,parseInt(t[0],10)||50):50,r=e.session.history.slice(-n);e.scrollback.push({kind:"rich",component:M_,props:{data:{lines:r,onClickLine:s=>e.dispatch(s)}},ts:Date.now()})}};var j_=$('<tr><td class="svelte-1u5krjz"><button type="button" class="svelte-1u5krjz"> </button></td><td class="svelte-1u5krjz"> </td></tr>'),q_=$('<div class="shell-rich-apps svelte-1u5krjz"><table class="svelte-1u5krjz"><thead><tr><th class="svelte-1u5krjz">ID</th><th class="svelte-1u5krjz">Label</th></tr></thead><tbody></tbody></table></div>');function U_(e,t){re(t,!0);var n=q_(),r=m(n),s=T(m(r));Ie(s,21,()=>t.data.apps,a=>a.id,(a,i)=>{var o=j_(),l=m(o),u=m(l),f=m(u,!0);h(u),h(l);var v=T(l),d=m(v,!0);h(v),h(o),V(()=>{D(f,c(i).id),D(d,c(i).label)}),G("click",u,()=>t.data.onClickApp(c(i).id)),A(a,o)}),h(s),h(r),h(n),A(e,n),se()}ke(["click"]);var V_=$('<div class="shell-rich-appcard svelte-npcp8i"><h3 class="svelte-npcp8i"> </h3> <p class="svelte-npcp8i"><strong>ID:</strong> </p> <p class="svelte-npcp8i"><strong>Shards:</strong> </p></div>');function F_(e,t){re(t,!0);var n=V_(),r=m(n),s=m(r,!0);h(r);var a=T(r,2),i=T(m(a));h(a);var o=T(a,2),l=T(m(o));h(o),h(n),V(u=>{D(s,t.data.label),D(i,` ${t.data.id??""}`),D(l,` ${u??""}`)},[()=>t.data.shards.join(", ")]),A(e,n),se()}const B_={name:"apps",summary:"List installed apps. Click a row to launch.",async run(e){const t=e.shell.listApps();e.scrollback.push({kind:"rich",component:U_,props:{data:{apps:t,onClickApp:n=>{e.shell.launchApp(n),e.scrollback.push({kind:"status",text:`shell: launched app ${n}`,level:"info",ts:Date.now()})}}},ts:Date.now()})}},H_={name:"app",summary:"Show the currently active app.",async run(e){const t=e.shell.getActiveApp();if(!t){e.scrollback.push({kind:"status",text:"shell: no active app",level:"info",ts:Date.now()});return}e.scrollback.push({kind:"rich",component:F_,props:{data:{id:t.id,label:t.label,shards:[]}},ts:Date.now()})}};var K_=$('<tr><td class="svelte-sc3ux4"> </td><td class="svelte-sc3ux4"> </td><td class="svelte-sc3ux4"> </td></tr>'),Y_=$('<div class="shell-rich-shards svelte-sc3ux4"><table class="svelte-sc3ux4"><thead><tr><th class="svelte-sc3ux4">ID</th><th class="svelte-sc3ux4">Label</th><th class="svelte-sc3ux4">Version</th></tr></thead><tbody></tbody></table></div>');function W_(e,t){re(t,!0);var n=Y_(),r=m(n),s=T(m(r));Ie(s,21,()=>t.data.shards,a=>a.id,(a,i)=>{var o=K_(),l=m(o),u=m(l,!0);h(l);var f=T(l),v=m(f,!0);h(f);var d=T(f),_=m(d,!0);h(d),h(o),V(()=>{D(u,c(i).id),D(v,c(i).label),D(_,c(i).version)}),A(a,o)}),h(s),h(r),h(n),A(e,n),se()}const G_={name:"shards",summary:"List active shards.",async run(e){const t=e.shell.listShards();e.scrollback.push({kind:"rich",component:W_,props:{data:{shards:t}},ts:Date.now()})}};var X_=$('<tr><td class="svelte-15elbr1"> </td><td class="svelte-15elbr1"> </td><td class="svelte-15elbr1"> </td><td class="svelte-15elbr1"><button type="button" class="svelte-15elbr1">Close</button></td></tr>'),J_=$('<div class="shell-rich-views svelte-15elbr1"><table class="svelte-15elbr1"><thead><tr><th class="svelte-15elbr1">Slot ID</th><th class="svelte-15elbr1">View ID</th><th class="svelte-15elbr1">Label</th><th class="svelte-15elbr1">Action</th></tr></thead><tbody></tbody></table></div>');function Z_(e,t){re(t,!0);var n=J_(),r=m(n),s=T(m(r));Ie(s,21,()=>t.data.views,a=>a.slotId,(a,i)=>{var o=X_(),l=m(o),u=m(l,!0);h(l);var f=T(l),v=m(f,!0);h(f);var d=T(f),_=m(d,!0);h(d);var b=T(d),S=m(b);h(b),h(o),V(()=>{D(u,c(i).slotId),D(v,c(i).viewId),D(_,c(i).label)}),G("click",S,()=>t.data.onClose(c(i).slotId)),A(a,o)}),h(s),h(r),h(n),A(e,n),se()}ke(["click"]);const Q_={name:"views",summary:"List views currently mounted in the active layout.",async run(e){const t=e.shell.listViewsInCurrentLayout();e.scrollback.push({kind:"rich",component:Z_,props:{data:{views:t,onClose:n=>{const r=e.shell.closeSlot(n);r.ok||e.scrollback.push({kind:"status",text:`shell: close failed — ${r.error??"unknown"}`,level:"error",ts:Date.now()})}}},ts:Date.now()})}},em={name:"open",summary:"Open a view from any active shard into the current layout.",async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: open <viewId>",level:"warn",ts:Date.now()});return}const r=e.shell.openViewInCurrentLayout(n);r.ok?e.scrollback.push({kind:"status",text:`shell: opened ${n}`,level:"info",ts:Date.now()}):e.scrollback.push({kind:"status",text:`shell: open failed — ${r.error??"unknown"}`,level:"error",ts:Date.now()})}},tm={name:"close",summary:"Close a view by slot id.",async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: close <slotId>",level:"warn",ts:Date.now()});return}const r=e.shell.closeSlot(n);r.ok||e.scrollback.push({kind:"status",text:`shell: close failed — ${r.error??"unknown"}`,level:"error",ts:Date.now()})}};var nm=$('<tr><td class="svelte-1w7onag"> </td><td class="svelte-1w7onag"> </td></tr>'),rm=$('<div class="shell-rich-zones svelte-1w7onag"><table class="svelte-1w7onag"><thead><tr><th class="svelte-1w7onag">Shard ID</th><th class="svelte-1w7onag">Zones</th></tr></thead><tbody></tbody></table></div>');function sm(e,t){re(t,!0);var n=rm(),r=m(n),s=T(m(r));Ie(s,21,()=>t.data.rows,a=>a.shardId,(a,i)=>{var o=nm(),l=m(o),u=m(l,!0);h(l);var f=T(l),v=m(f,!0);h(f),h(o),V(d=>{D(u,c(i).shardId),D(v,d)},[()=>c(i).zones.join(", ")]),A(a,o)}),h(s),h(r),h(n),A(e,n),se()}var am=$('<div class="shell-rich-zonetree svelte-13iiyr1"><pre class="svelte-13iiyr1"> </pre></div>');function im(e,t){re(t,!0);var n=am(),r=m(n),s=m(r,!0);h(r),h(n),V(a=>D(s,a),[()=>JSON.stringify(t.data.value,null,2)]),A(e,n),se()}const om={name:"zones",summary:"List zones for the current user (optionally scoped to a shard).",async run(e,t){const n=e.shell.listZones(t[0]);e.scrollback.push({kind:"rich",component:sm,props:{data:{rows:n}},ts:Date.now()})}},lm={name:"zone",summary:"Dump the contents of a zone as a collapsible JSON tree.",async run(e,t){const[n,r]=t;if(!n||!r){e.scrollback.push({kind:"status",text:"usage: zone <shardId> <zoneName>",level:"warn",ts:Date.now()});return}const s=e.shell.readZone(n,r);e.scrollback.push({kind:"rich",component:im,props:{data:{value:s}},ts:Date.now()})}};var cm=$('<tr><td class="svelte-1ox8vog"> </td><td class="svelte-1ox8vog"> </td></tr>'),um=$('<div class="shell-rich-env svelte-1ox8vog"><table class="svelte-1ox8vog"><thead><tr><th class="svelte-1ox8vog">Key</th><th class="svelte-1ox8vog">Value</th></tr></thead><tbody></tbody></table></div>');function fm(e,t){re(t,!0);var n=um(),r=m(n),s=T(m(r));Ie(s,21,()=>Object.entries(t.data.env),([a,i])=>a,(a,i)=>{var o=X(()=>Gi(c(i),2));let l=()=>c(o)[0],u=()=>c(o)[1];var f=cm(),v=m(f),d=m(v,!0);h(v);var _=T(v),b=m(_,!0);h(_),h(f),V(()=>{D(d,l()),D(b,u())}),A(a,f)}),h(s),h(r),h(n),A(e,n),se()}const dm={name:"pwd",summary:"Show the server session cwd.",async run(e){e.scrollback.push({kind:"text",stream:"stdout",chunks:[e.cwd+`
|
|
7
|
+
`],ts:Date.now()})}},vm={name:"cd",summary:"Change the session working directory.",async run(e,t){const n=t[0]??"";if(!n){e.scrollback.push({kind:"status",text:"usage: cd <path>",level:"warn",ts:Date.now()});return}e.session.send({t:"submit",line:`cd ${n}`})}},hm={name:"env",summary:"Show the session environment.",async run(e){const t=e.session.env;e.scrollback.push({kind:"rich",component:fm,props:{data:{env:t}},ts:Date.now()})}},pm={name:"whoami",summary:"Show the current admin user and session info.",async run(e){const t=e.shell.whoAmI();e.scrollback.push({kind:"text",stream:"stdout",chunks:[`${t.userId}${t.admin?" (admin)":""}
|
|
8
|
+
`],ts:Date.now()})}};function _m(e){e.register(L_(e)),e.register(O_),e.register(z_),e.register(B_),e.register(H_),e.register(G_),e.register(Q_),e.register(em),e.register(tm),e.register(om),e.register(lm),e.register(dm),e.register(vm),e.register(hm),e.register(pm)}var mm=$('<div class="shell-terminal svelte-13komre"><!> <!></div>');function gm(e,t){re(t,!0);const n=new p_,r=be(()=>new I_(t.wsUrl)),s=new C_;_m(s);let a=z(!1);async function i(d){const _=s.resolve(d);if(_.kind==="local"){r.send({t:"history-log",line:d}),n.push({kind:"prompt",cwd:r.cwd,line:d,ts:Date.now()});try{await _.verb.run({shell:t.shell,scrollback:n,session:r,cwd:r.cwd,dispatch:i},_.args)}catch(b){n.push({kind:"status",text:`shell: verb ${_.verb.name} threw — ${b.message}`,level:"error",ts:Date.now()})}}else r.send({t:"submit",line:_.line})}function o(d){if(d.t!=="event")return;const _=d.event;switch(_.kind){case"prompt":n.push({kind:"prompt",cwd:_.cwd,line:_.line,ts:_.ts}),y(a,!0);break;case"stdout":n.push({kind:"text",stream:"stdout",chunks:[_.data],ts:_.ts});break;case"stderr":n.push({kind:"text",stream:"stderr",chunks:[_.data],ts:_.ts});break;case"exit":n.push({kind:"status",text:_.signal?`shell: process exited (${_.signal})`:`shell: process exited (${_.code??0})`,level:_.code===0||_.code===null?"info":"error",ts:_.ts}),y(a,!1);break;case"status":n.push({kind:"status",text:_.text,level:_.level,ts:_.ts});break}}let l=null;ya(()=>{l=r.onMessage(o),r.connect()}),ul(()=>{l?.(),r.close()});var u=mm(),f=m(u);x_(f,{get scrollback(){return n}});var v=T(f,2);A_(v,{get cwd(){return r.cwd},get locked(){return c(a)},get history(){return r.history},get session(){return r},onSubmit:i}),h(u),A(e,u),se()}function uc(e){return e.type==="tabs"?e.tabs.filter(t=>t.viewId!==null):e.type==="split"?e.children.flatMap(uc):e.viewId!==null?[{slotId:e.slotId,viewId:e.viewId,label:e.viewId}]:[]}function bm(e){return{listApps(){return Ca().map(t=>({id:t.id,label:t.label}))},getActiveApp(){const t=Bl();return t?{id:t.id,label:t.label}:null},launchApp(t){sr(t)},listShards(){return Array.from(Lt.values()).map(t=>({id:t.manifest.id,label:t.manifest.label,version:t.manifest.version}))},listViewsInCurrentLayout(){try{const{root:t}=tc();return uc(t).map(n=>({slotId:n.slotId,viewId:n.viewId??"",label:n.label}))}catch{return[]}},openViewInCurrentLayout(t){try{return Pa(t)?{ok:!0}:{ok:!1,error:`view "${t}" not found in current layout`}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}},closeSlot(t){return Oa(t),{ok:!0}},listZones(t){return[]},readZone(t,n){return null},whoAmI(){return{userId:Aa()?.id??"guest",admin:Zt()}}}}const ym={manifest:f_,activate(e){if(!e.isAdmin)return;const t=bm(),n={mount(r,s){const a=typeof location<"u"&&location.protocol==="https:"?"wss":"ws",i=typeof location<"u"?location.host:"localhost",o=`${a}://${i}/api/shell/session`,l=ze(gm,{target:r,props:{shell:t,wsUrl:o}});return{unmount(){Ge(l)}}}};e.registerView("shell:terminal",n)},autostart(){}},Ii=new Set(["await","break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in","instanceof","let","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with","yield"]);function Is(e,t){const n=Object.keys(t),r=n.filter(i=>!Ii.has(i)),s=n.filter(i=>Ii.has(i)),a=[`const __m__ = globalThis.${e};`];r.length>0&&a.push(`export const { ${r.join(", ")} } = __m__;`);for(const i of s)a.push(`const __r_${i}__ = __m__['${i}']; export { __r_${i}__ as ${i} };`);return a.push("export default __m__.default;"),URL.createObjectURL(new Blob([a.join(`
|
|
9
|
+
`)],{type:"application/javascript"}))}const qa=globalThis;qa.__sh3__=cc;qa.__sh3_svelte__=dl;qa.__sh3_svelte_internal_client__=Tl;const Ua={"sh3-core":Is("__sh3__",cc),svelte:Is("__sh3_svelte__",dl),"svelte/internal/client":Is("__sh3_svelte_internal_client__",Tl)};Ua["svelte/internal/disclose-version"]=URL.createObjectURL(new Blob([""],{type:"application/javascript"}));Ua["sh3-core/tokens.css"]=URL.createObjectURL(new Blob([""],{type:"application/javascript"}));const wm=/(?:from|import)\s*(['"])(sh3-core(?:\/[^'"]*)?|svelte(?:\/[^'"]*)?)\1/g;function km(e){return e.replace(wm,(t,n,r)=>{const s=Ua[r];return s?`${t.startsWith("from")?"from":"import"} '${s}'`:t})}async function Va(e){const t=new TextDecoder().decode(e),n=km(t),r=new Blob([n],{type:"application/javascript"}),s=URL.createObjectURL(r);try{const a=await import(s),i={shards:[],apps:[]};for(const o of Object.values(a)){if(!o||typeof o!="object"||!("manifest"in o))continue;const l=o;fc(l)?i.shards.push(l):dc(l)&&i.apps.push(l)}if(i.shards.length===0&&i.apps.length===0)throw new Error('Bundle has no exports with a "manifest" property — expected at least one shard or app');return i}finally{URL.revokeObjectURL(s)}}function fc(e){return"activate"in e&&typeof e.activate=="function"&&Array.isArray(e.manifest.views)}function dc(e){return"initialLayout"in e&&Array.isArray(e.manifest.requiredShards)}const Sm=Object.freeze(Object.defineProperty({__proto__:null,isApp:dc,isShard:fc,loadBundleModule:Va},Symbol.toStringTag,{value:"Module"})),Em="sh3-packages",xm=1,ir="bundles",or="meta";function hs(){return new Promise((e,t)=>{const n=indexedDB.open(Em,xm);n.onupgradeneeded=()=>{const r=n.result;r.objectStoreNames.contains(ir)||r.createObjectStore(ir),r.objectStoreNames.contains(or)||r.createObjectStore(or)},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}function On(e,t,n,r){return new Promise((s,a)=>{const o=e.transaction(t,n).objectStore(t),l=r(o);l.onsuccess=()=>s(l.result),l.onerror=()=>a(l.error)})}async function vc(e,t,n){const r=await hs();await On(r,ir,"readwrite",s=>s.put(t,e)),await On(r,or,"readwrite",s=>s.put(n,e)),r.close()}async function hc(e){const t=await hs(),n=await On(t,ir,"readonly",r=>r.get(e));return t.close(),n??null}async function pc(){const e=await hs(),t=await On(e,or,"readonly",n=>n.getAll());return e.close(),t??[]}async function Tm(e){const t=await hs();await On(t,ir,"readwrite",n=>n.delete(e)),await On(t,or,"readwrite",n=>n.delete(e)),t.close()}async function _c(e,t){try{await ic(e,t.integrity)}catch(a){return{success:!1,hotLoaded:!1,error:`Integrity check failed: ${a instanceof Error?a.message:String(a)}`}}let n;try{n=await Va(e)}catch(a){return{success:!1,hotLoaded:!1,error:`Failed to load bundle: ${a instanceof Error?a.message:String(a)}`}}if(t.type==="shard"&&n.shards.length===0)return{success:!1,hotLoaded:!1,error:`Package "${t.id}" declared type "shard" but bundle contains no valid shard`};if(t.type==="app"&&n.apps.length===0)return{success:!1,hotLoaded:!1,error:`Package "${t.id}" declared type "app" but bundle contains no valid app`};const r={id:t.id,type:t.type,version:t.version,sourceRegistry:t.sourceRegistry,contractVersion:t.contractVersion,installedAt:new Date().toISOString()};try{await vc(t.id,e,r)}catch(a){return{success:!1,hotLoaded:!1,error:`Failed to persist package: ${a instanceof Error?a.message:String(a)}`}}let s=!0;try{for(const a of n.shards)fs(a);for(const a of n.apps)rr(a)}catch(a){console.warn(`[sh3] Package "${t.id}" installed but registration failed (will retry on next boot):`,a instanceof Error?a.message:a),s=!1}return{success:!0,package:r,hotLoaded:s}}async function Am(e){try{Ia(e)}catch{}await Tm(e)}async function Im(){return pc()}async function Cm(){let e;try{e=await pc()}catch(t){console.warn("[sh3] Failed to read installed packages from storage:",t instanceof Error?t.message:t);return}for(const t of e)try{const n=await hc(t.id);if(!n){console.warn(`[sh3] No bundle found for installed package "${t.id}", skipping`);continue}const r=await Va(n);for(const s of r.shards)fs(s);for(const s of r.apps)rr(s);r.shards.length===0&&r.apps.length===0&&console.warn(`[sh3] Package "${t.id}" contains no valid shards or apps, skipping`)}catch(n){console.warn(`[sh3] Failed to load installed package "${t.id}":`,n instanceof Error?n.message:n)}}const Ci={version:1};var $m=$('<div class="store-registry-entry svelte-1aafzt0"><span class="store-registry-url svelte-1aafzt0"> </span> <button class="store-registry-remove svelte-1aafzt0">Remove</button></div>'),Rm=$('<div class="store-registries svelte-1aafzt0"></div>'),Pm=$('<form class="store-add-registry svelte-1aafzt0"><input class="store-registry-input svelte-1aafzt0" type="url" placeholder="Registry URL (e.g. https://sh3.example.com/registry.json)"/> <button type="submit" class="store-add-btn svelte-1aafzt0">Add</button></form>'),Lm=$('<div class="store-error svelte-1aafzt0"> </div>'),Om=$('<div class="store-error svelte-1aafzt0"> </div>'),Nm=$('<img alt="" class="store-icon-img svelte-1aafzt0"/>'),Dm=$('<span class="store-icon-placeholder svelte-1aafzt0"> </span>'),Mm=$('<div class="store-card-warning svelte-1aafzt0"> </div>'),zm=$('<button class="store-update-btn svelte-1aafzt0"> </button>'),jm=$('<span class="store-installed-label svelte-1aafzt0">Installed</span>'),qm=$('<button class="store-install-btn svelte-1aafzt0"> </button>'),Um=$('<div class="store-card svelte-1aafzt0"><div class="store-card-header svelte-1aafzt0"><div class="store-card-icon svelte-1aafzt0"><!></div> <div class="store-card-title svelte-1aafzt0"><span class="store-card-label svelte-1aafzt0"> </span> <span> </span> <span class="store-card-version svelte-1aafzt0"> </span></div></div> <p class="store-card-desc svelte-1aafzt0"> </p> <div class="store-card-author svelte-1aafzt0"> </div> <!> <div class="store-card-actions svelte-1aafzt0"><!></div></div>'),Vm=$("No packages found. <!>",1),Fm=$('<div class="store-empty svelte-1aafzt0"><!></div>'),Bm=$('<div class="store-view svelte-1aafzt0"><header class="store-header svelte-1aafzt0"><h2 class="svelte-1aafzt0">Package Store</h2> <div class="store-controls svelte-1aafzt0"><input class="store-search svelte-1aafzt0" type="text" placeholder="Search packages..."/> <select class="store-filter svelte-1aafzt0"><option>All</option><option>Shards</option><option>Apps</option></select> <button class="store-refresh svelte-1aafzt0"> </button></div></header> <!> <!> <!> <!> <div class="store-grid svelte-1aafzt0"></div> <!></div>');function Hm(e,t){re(t,!0);let n=z(""),r=z("all"),s=z(he(new Set)),a=z(he(new Set)),i=z(null),o=z("");const l=Br;async function u(){const q=c(o).trim();if(q&&!l.env.registries.includes(q))try{await l.addRegistry(q),y(o,""),l.refreshCatalog(),l.refreshInstalled()}catch(L){y(i,L instanceof Error?L.message:String(L),!0)}}async function f(q){try{await l.removeRegistry(q),l.refreshCatalog()}catch(L){y(i,L instanceof Error?L.message:String(L),!0)}}const v=X(()=>{const q=c(n).toLowerCase().trim();return l.state.ephemeral.catalog.filter(L=>c(r)!=="all"&&L.entry.type!==c(r)?!1:q?L.entry.id.toLowerCase().includes(q)||L.entry.label.toLowerCase().includes(q)||L.entry.description.toLowerCase().includes(q):!0)});function d(q){return l.state.ephemeral.installed.some(L=>L.id===q)}function _(q){return String(q.latest.contractVersion)!==String(Ci.version)}function b(q){return q in l.state.ephemeral.updatable}function S(q){return l.state.ephemeral.installed.find(L=>L.id===q)?.version??""}async function w(q){if(!c(a).has(q)){y(a,new Set([...c(a),q]),!0),y(i,null);try{await l.updatePackage(q)}catch(L){y(i,L instanceof Error?L.message:String(L),!0)}finally{const L=new Set(c(a));L.delete(q),y(a,L,!0)}}}async function k(q){const L=q.entry.id;if(!c(s).has(L)){y(s,new Set([...c(s),L]),!0),y(i,null);try{const J=await Da(q.latest,q.sourceRegistry),fe=Ma(q,q.latest),le={id:fe.id,type:fe.type,label:q.entry.label,version:fe.version,contractVersion:fe.contractVersion,sourceRegistry:fe.sourceRegistry,installedAt:new Date().toISOString()},ie=await Ul(le,J);if(!ie.ok){y(i,ie.error??"Server install failed",!0);return}const de=await _c(J,fe);de.success||console.warn(`[sh3-store] Server install ok but local hot-load failed: ${de.error}`),await l.refreshInstalled()}catch(J){y(i,J instanceof Error?J.message:String(J),!0)}finally{const J=new Set(c(s));J.delete(L),y(s,J,!0)}}}function p(){l.refreshCatalog(),l.refreshInstalled()}var g=Bm(),E=m(g),R=T(m(E),2),C=m(R);we(C);var I=T(C,2),P=m(I);P.value=P.__value="all";var M=T(P);M.value=M.__value="shard";var O=T(M);O.value=O.__value="app",h(I);var x=T(I,2),U=m(x,!0);h(x),h(R),h(E);var F=T(E,2);{var N=q=>{var L=Rm();Ie(L,21,()=>l.env.registries,Ln,(J,fe)=>{var le=$m(),ie=m(le),de=m(ie,!0);h(ie);var ve=T(ie,2);h(le),V(()=>D(de,c(fe))),G("click",ve,()=>f(c(fe))),A(J,le)}),h(L),A(q,L)};B(F,q=>{l.isAdmin&&l.env.registries.length>0&&q(N)})}var Y=T(F,2);{var ae=q=>{var L=Pm(),J=m(L);we(J);var fe=T(J,2);h(L),V(le=>fe.disabled=le,[()=>!c(o).trim()]),lt("submit",L,le=>{le.preventDefault(),u()}),Le(J,()=>c(o),le=>y(o,le)),A(q,L)};B(Y,q=>{l.isAdmin&&q(ae)})}var Z=T(Y,2);{var te=q=>{var L=Lm(),J=m(L,!0);h(L),V(()=>D(J,l.state.ephemeral.error)),A(q,L)};B(Z,q=>{l.state.ephemeral.error&&q(te)})}var ne=T(Z,2);{var ue=q=>{var L=Om(),J=m(L,!0);h(L),V(()=>D(J,c(i))),A(q,L)};B(ne,q=>{c(i)&&q(ue)})}var xe=T(ne,2);Ie(xe,21,()=>c(v),q=>q.entry.id,(q,L)=>{const J=X(()=>d(c(L).entry.id)),fe=X(()=>_(c(L))),le=X(()=>c(s).has(c(L).entry.id)),ie=X(()=>b(c(L).entry.id)),de=X(()=>c(a).has(c(L).entry.id));var ve=Um(),Nt=m(ve),Vn=m(Nt),Bt=m(Vn);{var Fn=Te=>{var _e=Nm();V(()=>Fe(_e,"src",c(L).entry.icon)),A(Te,_e)},Ac=Te=>{var _e=Dm(),en=m(_e,!0);h(_e),V(()=>D(en,c(L).entry.type==="shard"?"S":"A")),A(Te,_e)};B(Bt,Te=>{c(L).entry.icon?Te(Fn):Te(Ac,-1)})}h(Vn);var Ba=T(Vn,2),ps=m(Ba),Ic=m(ps,!0);h(ps);var br=T(ps,2);let Ha;var Cc=m(br,!0);h(br);var Ka=T(br,2),$c=m(Ka,!0);h(Ka),h(Ba),h(Nt);var _s=T(Nt,2),Rc=m(_s,!0);h(_s);var ms=T(_s,2),Pc=m(ms,!0);h(ms);var Ya=T(ms,2);{var Lc=Te=>{var _e=Mm(),en=m(_e);h(_e),V(()=>D(en,`Contract mismatch: package targets v${c(L).latest.contractVersion??""}, running v${Ci.version}`)),A(Te,_e)};B(Ya,Te=>{c(fe)&&Te(Lc)})}var Wa=T(Ya,2),Oc=m(Wa);{var Nc=Te=>{var _e=zm(),en=m(_e,!0);h(_e),V(zc=>{_e.disabled=c(de),D(en,zc)},[()=>c(de)?"Updating...":`Update ${S(c(L).entry.id)} -> ${c(L).latest.version}`]),G("click",_e,()=>w(c(L).entry.id)),A(Te,_e)},Dc=Te=>{var _e=jm();A(Te,_e)},Mc=Te=>{var _e=qm(),en=m(_e,!0);h(_e),V(()=>{_e.disabled=c(le),D(en,c(le)?"Installing...":"Install")}),G("click",_e,()=>k(c(L))),A(Te,_e)};B(Oc,Te=>{c(J)&&c(ie)?Te(Nc):c(J)?Te(Dc,1):Te(Mc,-1)})}h(Wa),h(ve),V(()=>{D(Ic,c(L).entry.label),Ha=De(br,1,"store-card-badge svelte-1aafzt0",null,Ha,{"badge-shard":c(L).entry.type==="shard","badge-app":c(L).entry.type==="app"}),D(Cc,c(L).entry.type),D($c,c(L).latest.version),D(Rc,c(L).entry.description),D(Pc,c(L).entry.author.name)}),A(q,ve)}),h(xe);var Ce=T(xe,2);{var Se=q=>{var L=Fm(),J=m(L);{var fe=ie=>{var de=Vm(),ve=T($e(de));{var Nt=Bt=>{var Fn=Ar("Add a registry URL above to get started.");A(Bt,Fn)},Vn=Bt=>{var Fn=Ar("No registries configured.");A(Bt,Fn)};B(ve,Bt=>{l.isAdmin?Bt(Nt):Bt(Vn,-1)})}A(ie,de)},le=ie=>{var de=Ar("No packages match the current filter.");A(ie,de)};B(J,ie=>{l.env.registries.length===0?ie(fe):ie(le,-1)})}h(L),A(q,L)};B(Ce,q=>{!l.state.ephemeral.loading&&c(v).length===0&&q(Se)})}h(g),V(()=>{x.disabled=l.state.ephemeral.loading,D(U,l.state.ephemeral.loading?"Loading...":"Refresh")}),Le(C,()=>c(n),q=>y(n,q)),jr(I,()=>c(r),q=>y(r,q)),G("click",x,p),A(e,g),se()}ke(["click"]);var Km=$('<div class="installed-error svelte-1hqclkp"> </div>'),Ym=$('<div class="installed-empty svelte-1hqclkp">No packages installed.</div>'),Wm=$('<button class="installed-update-btn svelte-1hqclkp"> </button>'),Gm=$('<li class="installed-item svelte-1hqclkp"><div class="installed-item-main svelte-1hqclkp"><span class="installed-item-id svelte-1hqclkp"> </span> <span> </span> <span class="installed-item-version svelte-1hqclkp"> </span></div> <div class="installed-item-meta svelte-1hqclkp"><span> </span> <span> </span> <span> </span></div> <div class="installed-item-actions svelte-1hqclkp"><!> <button class="installed-uninstall-btn svelte-1hqclkp"> </button></div></li>'),Xm=$('<ul class="installed-list svelte-1hqclkp"></ul>'),Jm=$('<div class="installed-view svelte-1hqclkp"><header class="installed-header svelte-1hqclkp"><h2 class="svelte-1hqclkp">Installed Packages</h2> <button>Refresh</button></header> <!> <!></div>');function Zm(e,t){re(t,!0);const n=Br;let r=z(he(new Set)),s=z(he(new Set)),a=z(null);async function i(p){if(!c(r).has(p)){y(r,new Set([...c(r),p]),!0);try{await _p(p),await Am(p),await n.refreshInstalled()}catch(g){console.warn("[sh3-store] Uninstall failed:",g instanceof Error?g.message:g)}finally{const g=new Set(c(r));g.delete(p),y(r,g,!0)}}}async function o(p){if(!c(s).has(p)){y(s,new Set([...c(s),p]),!0),y(a,null);try{await n.updatePackage(p)}catch(g){y(a,g instanceof Error?g.message:String(g),!0)}finally{const g=new Set(c(s));g.delete(p),y(s,g,!0)}}}function l(){n.refreshInstalled()}function u(p){try{return new Date(p).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return p}}var f=Jm(),v=m(f),d=T(m(v),2);h(v);var _=T(v,2);{var b=p=>{var g=Km(),E=m(g,!0);h(g),V(()=>D(E,c(a))),A(p,g)};B(_,p=>{c(a)&&p(b)})}var S=T(_,2);{var w=p=>{var g=Ym();A(p,g)},k=p=>{var g=Xm();Ie(g,21,()=>n.state.ephemeral.installed,E=>E.id,(E,R)=>{const C=X(()=>c(r).has(c(R).id));var I=Gm(),P=m(I),M=m(P),O=m(M,!0);h(M);var x=T(M,2);let U;var F=m(x,!0);h(x);var N=T(x,2),Y=m(N,!0);h(N),h(P);var ae=T(P,2),Z=m(ae),te=m(Z);h(Z);var ne=T(Z,2),ue=m(ne);h(ne);var xe=T(ne,2),Ce=m(xe);h(xe),h(ae);var Se=T(ae,2),q=m(Se);{var L=le=>{const ie=X(()=>n.state.ephemeral.updatable[c(R).id]),de=X(()=>c(s).has(c(R).id));var ve=Wm(),Nt=m(ve,!0);h(ve),V(()=>{ve.disabled=c(de)||c(C),D(Nt,c(de)?"Updating...":`Update -> ${c(ie).latest.version}`)}),G("click",ve,()=>o(c(R).id)),A(le,ve)};B(q,le=>{c(R).id in n.state.ephemeral.updatable&&le(L)})}var J=T(q,2),fe=m(J,!0);h(J),h(Se),h(I),V(le=>{D(O,c(R).id),U=De(x,1,"installed-item-badge svelte-1hqclkp",null,U,{"badge-shard":c(R).type==="shard","badge-app":c(R).type==="app"}),D(F,c(R).type),D(Y,c(R).version),D(te,`Contract: v${c(R).contractVersion??""}`),D(ue,`Source: ${c(R).sourceRegistry??""}`),D(Ce,`Installed: ${le??""}`),J.disabled=c(C),D(fe,c(C)?"Removing...":"Uninstall")},[()=>u(c(R).installedAt)]),G("click",J,()=>i(c(R).id)),A(E,I)}),h(g),A(p,g)};B(S,p=>{n.state.ephemeral.installed.length===0?p(w):p(k,-1)})}h(f),G("click",d,l),A(e,f),se()}ke(["click"]);function Qm(e,t){const n=e.split(".").map(a=>parseInt(a,10)||0),r=t.split(".").map(a=>parseInt(a,10)||0),s=Math.max(n.length,r.length);for(let a=0;a<s;a++){const i=n[a]??0,o=r[a]??0;if(i>o)return!0;if(i<o)return!1}return!1}let Br;const eg={manifest:{id:"sh3-store",label:"Package Store",version:"0.2.1",views:[{id:"sh3-store:browse",label:"Store"},{id:"sh3-store:installed",label:"Installed"}]},activate(e){const t=e.env({registries:[]}),n=e.state({ephemeral:{catalog:[],installed:[],updatable:{},loading:!1,error:null}});function r(){const v={};for(const d of n.ephemeral.installed){const _=n.ephemeral.catalog.find(b=>b.entry.id===d.id);_&&Qm(_.latest.version,d.version)&&(v[d.id]=_)}n.ephemeral.updatable=v}async function s(){n.ephemeral.loading=!0,n.ephemeral.error=null;try{const v=await oc(t.registries);n.ephemeral.catalog=v,r()}catch(v){n.ephemeral.error=v instanceof Error?v.message:String(v)}finally{n.ephemeral.loading=!1}}async function a(){try{const v=await mp();n.ephemeral.installed=v.map(d=>({id:d.id,type:d.type,version:d.version,sourceRegistry:d.sourceRegistry??"",contractVersion:d.contractVersion??"",installedAt:d.installedAt??""})),r()}catch(v){console.warn("[sh3-store] Failed to list installed packages:",v instanceof Error?v.message:v);try{const d=await Im();n.ephemeral.installed=d,r()}catch{}}}async function i(v){const d=[...t.registries];d.includes(v)||(d.push(v),await e.envUpdate({registries:d}))}async function o(v){const d=t.registries.filter(_=>_!==v);await e.envUpdate({registries:d})}async function l(v){const d=n.ephemeral.updatable[v];if(!d)return;const _=n.ephemeral.installed.find(R=>R.id===v);if(!_)return;const b=await Da(d.latest,d.sourceRegistry),S=Ma(d,d.latest),w=await hc(v),k={..._},p={id:S.id,type:S.type,label:d.entry.label,version:S.version,contractVersion:S.contractVersion,sourceRegistry:S.sourceRegistry,installedAt:new Date().toISOString()},g=await Ul(p,b);if(!g.ok)throw new Error(g.error??"Server update failed");const E=await _c(b,S);if(!E.success){if(w)try{await vc(v,w,k)}catch(R){console.warn(`[sh3-store] Rollback failed for "${v}":`,R instanceof Error?R.message:R)}throw new Error(E.error??"Local install failed during update")}await a()}Br={env:t,state:n,get isAdmin(){return e.isAdmin},refreshCatalog:s,refreshInstalled:a,updatePackage:l,addRegistry:i,removeRegistry:o};const u={mount(v,d){const _=ze(Hm,{target:v});return{unmount(){Ge(_)}}}},f={mount(v,d){const _=ze(Zm,{target:v});return{unmount(){Ge(_)}}}};e.registerView("sh3-store:browse",u),e.registerView("sh3-store:installed",f),a()},autostart(){Br.refreshCatalog()}},tg={manifest:{id:"sh3-store-app",label:"Package Store",version:"0.2.1",requiredShards:["sh3-store"],layoutVersion:1,admin:!0},initialLayout:{type:"tabs",activeTab:0,tabs:[{slotId:"store.browse",viewId:"sh3-store:browse",label:"Browse"},{slotId:"store.installed",viewId:"sh3-store:installed",label:"Installed"}]}};var ng=$('<div class="admin-error svelte-4q792t"> </div>'),rg=$('<form class="admin-create-form svelte-4q792t"><input class="admin-input svelte-4q792t" type="text" placeholder="Username"/> <input class="admin-input svelte-4q792t" type="text" placeholder="Display name"/> <input class="admin-input svelte-4q792t" type="password" placeholder="Password"/> <select class="admin-input svelte-4q792t"><option>User</option><option>Admin</option></select> <button type="submit" class="admin-btn svelte-4q792t">Create</button> <!></form>'),sg=$('<p class="admin-muted svelte-4q792t">Loading...</p>'),ag=$('<p class="admin-error svelte-4q792t"> </p>'),ig=$('<form class="admin-edit-form svelte-4q792t"><input class="admin-input svelte-4q792t" type="text"/> <input class="admin-input svelte-4q792t" type="password" placeholder="New password (leave empty to keep)"/> <select class="admin-input svelte-4q792t"><option>User</option><option>Admin</option></select> <div class="admin-edit-actions svelte-4q792t"><button type="submit" class="admin-btn svelte-4q792t">Save</button> <button type="button" class="admin-btn-secondary svelte-4q792t">Cancel</button></div></form>'),og=$('<div class="admin-user-info svelte-4q792t"><span class="admin-user-name svelte-4q792t"> </span> <span class="admin-user-meta svelte-4q792t"> </span></div> <div class="admin-user-actions svelte-4q792t"><button type="button" class="admin-btn-secondary svelte-4q792t">Edit</button> <button type="button" class="admin-btn-danger svelte-4q792t">Delete</button></div>',1),lg=$('<li class="admin-user-item svelte-4q792t"><!></li>'),cg=$('<ul class="admin-user-list svelte-4q792t"></ul>'),ug=$('<div class="admin-users svelte-4q792t"><div class="admin-users-header svelte-4q792t"><h2 class="svelte-4q792t">Users</h2> <button type="button" class="admin-btn svelte-4q792t"> </button></div> <!> <!></div>');function fg(e,t){re(t,!0);let n=z(he([])),r=z(!0),s=z(null),a=z(!1),i=z(""),o=z(""),l=z(""),u=z("user"),f=z(null),v=z(null),d=z(""),_=z("user"),b=z("");async function S(){y(r,!0),y(s,null);try{const N=await fetch("/api/admin/users",{credentials:"include"});if(!N.ok)throw new Error("Failed to fetch users");y(n,await N.json(),!0)}catch(N){y(s,N instanceof Error?N.message:"Failed to load users",!0)}finally{y(r,!1)}}async function w(){y(f,null);try{const N=await fetch("/api/admin/users",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({username:c(i),displayName:c(o)||c(i),password:c(l),role:c(u)})});if(!N.ok){const Y=await N.json().catch(()=>({}));y(f,Y.error||"Failed to create user",!0);return}y(i,""),y(o,""),y(l,""),y(u,"user"),y(a,!1),await S()}catch{y(f,"Network error")}}function k(N){y(v,N.id,!0),y(d,N.displayName,!0),y(_,N.role,!0),y(b,"")}async function p(){if(!c(v))return;const N={displayName:c(d),role:c(_)};c(b).trim()&&(N.password=c(b));try{if(!(await fetch(`/api/admin/users/${c(v)}`,{method:"PUT",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(N)})).ok)return;y(v,null),await S()}catch{}}async function g(N){try{await fetch(`/api/admin/users/${N}`,{method:"DELETE",credentials:"include"}),await S()}catch{}}S();var E=ug(),R=m(E),C=T(m(R),2),I=m(C,!0);h(C),h(R);var P=T(R,2);{var M=N=>{var Y=rg(),ae=m(Y);we(ae);var Z=T(ae,2);we(Z);var te=T(Z,2);we(te);var ne=T(te,2),ue=m(ne);ue.value=ue.__value="user";var xe=T(ue);xe.value=xe.__value="admin",h(ne);var Ce=T(ne,2),Se=T(Ce,2);{var q=L=>{var J=ng(),fe=m(J,!0);h(J),V(()=>D(fe,c(f))),A(L,J)};B(Se,L=>{c(f)&&L(q)})}h(Y),V(L=>Ce.disabled=L,[()=>!c(i).trim()||!c(l).trim()]),lt("submit",Y,L=>{L.preventDefault(),w()}),Le(ae,()=>c(i),L=>y(i,L)),Le(Z,()=>c(o),L=>y(o,L)),Le(te,()=>c(l),L=>y(l,L)),jr(ne,()=>c(u),L=>y(u,L)),A(N,Y)};B(P,N=>{c(a)&&N(M)})}var O=T(P,2);{var x=N=>{var Y=sg();A(N,Y)},U=N=>{var Y=ag(),ae=m(Y,!0);h(Y),V(()=>D(ae,c(s))),A(N,Y)},F=N=>{var Y=cg();Ie(Y,21,()=>c(n),ae=>ae.id,(ae,Z)=>{var te=lg(),ne=m(te);{var ue=Ce=>{var Se=ig(),q=m(Se);we(q);var L=T(q,2);we(L);var J=T(L,2),fe=m(J);fe.value=fe.__value="user";var le=T(fe);le.value=le.__value="admin",h(J);var ie=T(J,2),de=T(m(ie),2);h(ie),h(Se),lt("submit",Se,ve=>{ve.preventDefault(),p()}),Le(q,()=>c(d),ve=>y(d,ve)),Le(L,()=>c(b),ve=>y(b,ve)),jr(J,()=>c(_),ve=>y(_,ve)),G("click",de,()=>{y(v,null)}),A(Ce,Se)},xe=Ce=>{var Se=og(),q=$e(Se),L=m(q),J=m(L,!0);h(L);var fe=T(L,2),le=m(fe);h(fe),h(q);var ie=T(q,2),de=m(ie),ve=T(de,2);h(ie),V(()=>{D(J,c(Z).displayName),D(le,`${c(Z).username??""} · ${c(Z).role??""}`)}),G("click",de,()=>k(c(Z))),G("click",ve,()=>g(c(Z).id)),A(Ce,Se)};B(ne,Ce=>{c(v)===c(Z).id?Ce(ue):Ce(xe,-1)})}h(te),A(ae,te)}),h(Y),A(N,Y)};B(O,N=>{c(r)?N(x):c(s)?N(U,1):N(F,-1)})}h(E),V(()=>D(I,c(a)?"Cancel":"New user")),G("click",C,()=>{y(a,!c(a))}),A(e,E),se()}ke(["click"]);var dg=$('<p class="admin-muted svelte-1hsgdb4">Loading...</p>'),vg=$('<div class="admin-error svelte-1hsgdb4"> </div>'),hg=$('<div class="admin-auth-fields svelte-1hsgdb4"><label class="admin-toggle svelte-1hsgdb4"><input type="checkbox" class="svelte-1hsgdb4"/> <span>Require sign-in</span> <span class="admin-hint svelte-1hsgdb4">When enabled, unauthenticated visitors see a sign-in wall.</span></label> <label class="admin-toggle svelte-1hsgdb4"><input type="checkbox" class="svelte-1hsgdb4"/> <span>Allow guest browsing</span> <span class="admin-hint svelte-1hsgdb4">When sign-in is required, guests can still browse with session-only data.</span></label> <label class="admin-toggle svelte-1hsgdb4"><input type="checkbox" class="svelte-1hsgdb4"/> <span>Self-registration</span> <span class="admin-hint svelte-1hsgdb4">Visitors can create their own accounts from the sign-in screen.</span></label> <label class="admin-field svelte-1hsgdb4"><span class="svelte-1hsgdb4">Session lifetime (hours)</span> <input type="number" class="admin-input admin-input-sm svelte-1hsgdb4" min="1" max="8760"/></label> <button type="button" class="admin-btn svelte-1hsgdb4"> </button></div> <!>',1),pg=$('<div class="admin-auth svelte-1hsgdb4"><h2 class="svelte-1hsgdb4">Auth Settings</h2> <!></div>');function _g(e,t){re(t,!0);let n=z(null),r=z(!0),s=z(!1),a=z(null);async function i(){y(r,!0);try{const d=await fetch("/api/admin/settings",{credentials:"include"});if(!d.ok)throw new Error("Failed to fetch settings");y(n,await d.json(),!0)}catch(d){y(a,d instanceof Error?d.message:"Failed to load settings",!0)}finally{y(r,!1)}}async function o(){if(c(n)){y(s,!0),y(a,null);try{const d=await fetch("/api/admin/settings",{method:"PUT",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(c(n))});if(!d.ok)throw new Error("Failed to save settings");y(n,await d.json(),!0)}catch(d){y(a,d instanceof Error?d.message:"Failed to save",!0)}finally{y(s,!1)}}}i();var l=pg(),u=T(m(l),2);{var f=d=>{var _=dg();A(d,_)},v=d=>{var _=hg(),b=$e(_),S=m(b),w=m(S);we(w),rn(4),h(S);var k=T(S,2),p=m(k);we(p),rn(4),h(k);var g=T(k,2),E=m(g);we(E),rn(4),h(g);var R=T(g,2),C=T(m(R),2);we(C),h(R);var I=T(R,2),P=m(I,!0);h(I),h(b);var M=T(b,2);{var O=x=>{var U=vg(),F=m(U,!0);h(U),V(()=>D(F,c(a))),A(x,U)};B(M,x=>{c(a)&&x(O)})}V(()=>{I.disabled=c(s),D(P,c(s)?"Saving...":"Save")}),Ir(w,()=>c(n).auth.required,x=>c(n).auth.required=x),Ir(p,()=>c(n).auth.guestAllowed,x=>c(n).auth.guestAllowed=x),Ir(E,()=>c(n).auth.selfRegistration,x=>c(n).auth.selfRegistration=x),Le(C,()=>c(n).auth.sessionTTL,x=>c(n).auth.sessionTTL=x),G("click",I,o),A(d,_)};B(u,d=>{c(r)?d(f):c(n)&&d(v,1)})}h(l),A(e,l),se()}ke(["click"]);var mg=$('<div class="admin-error svelte-1gkiloq"> </div>'),gg=$('<div class="admin-system svelte-1gkiloq"><h2 class="svelte-1gkiloq">System</h2> <div class="admin-system-info svelte-1gkiloq"><div class="admin-system-row svelte-1gkiloq"><span class="admin-system-label svelte-1gkiloq">Server version</span> <span> </span></div></div> <div class="admin-system-actions svelte-1gkiloq"><button type="button" class="admin-btn-danger svelte-1gkiloq"> </button> <!></div></div>');function bg(e,t){re(t,!0);let n=z("..."),r=z(!1),s=z(null);async function a(){try{const k=await fetch("/api/version");if(k.ok){const p=await k.json();y(n,p.version,!0)}}catch{}}async function i(){y(r,!0),y(s,null);try{const k=await fetch("/api/admin/restart",{method:"POST",credentials:"include"});if(!k.ok){const p=await k.json().catch(()=>({}));y(s,p.error||"Restart failed",!0),y(r,!1)}}catch{y(s,"Network error"),y(r,!1)}}a();var o=gg(),l=T(m(o),2),u=m(l),f=T(m(u),2),v=m(f,!0);h(f),h(u),h(l);var d=T(l,2),_=m(d),b=m(_,!0);h(_);var S=T(_,2);{var w=k=>{var p=mg(),g=m(p,!0);h(p),V(()=>D(g,c(s))),A(k,p)};B(S,k=>{c(s)&&k(w)})}h(d),h(o),V(()=>{D(v,c(n)),_.disabled=c(r),D(b,c(r)?"Restarting...":"Restart server")}),G("click",_,i),A(e,o),se()}ke(["click"]);var yg=$('<div class="admin-error svelte-1afg5z5"> </div>'),wg=$('<form class="admin-create-form svelte-1afg5z5"><input class="admin-input svelte-1afg5z5" type="text" placeholder="Key label"/> <button type="submit" class="admin-btn svelte-1afg5z5">Create</button> <!></form>'),kg=$('<p class="admin-muted svelte-1afg5z5">Loading...</p>'),Sg=$('<p class="admin-error svelte-1afg5z5"> </p>'),Eg=$('<p class="admin-muted svelte-1afg5z5">No API keys. Create one to enable external access.</p>'),xg=$('<button type="button" class="admin-btn-danger svelte-1afg5z5">Confirm</button> <button type="button" class="admin-btn-secondary svelte-1afg5z5">Cancel</button>',1),Tg=$('<button type="button" class="admin-btn-danger svelte-1afg5z5">Revoke</button>'),Ag=$('<li class="admin-key-item svelte-1afg5z5"><div class="admin-key-info svelte-1afg5z5"><span class="admin-key-label svelte-1afg5z5"> </span> <span class="admin-key-meta svelte-1afg5z5"> </span> <code class="admin-key-value svelte-1afg5z5"> </code></div> <div class="admin-key-actions svelte-1afg5z5"><button type="button" class="admin-btn-secondary svelte-1afg5z5"> </button> <!></div></li>'),Ig=$('<ul class="admin-key-list svelte-1afg5z5"></ul>'),Cg=$('<div class="admin-keys svelte-1afg5z5"><div class="admin-keys-header svelte-1afg5z5"><h2 class="svelte-1afg5z5">API Keys</h2> <button type="button" class="admin-btn svelte-1afg5z5"> </button></div> <!> <!></div>');function $g(e,t){re(t,!0);let n=z(he([])),r=z(!0),s=z(null),a=z(!1),i=z(""),o=z(null),l=z(he(new Set)),u=z(null);async function f(){y(r,!0),y(s,null);try{const x=await fetch("/api/admin/keys",{credentials:"include"});if(!x.ok)throw new Error("Failed to fetch keys");y(n,await x.json(),!0)}catch(x){y(s,x instanceof Error?x.message:"Failed to load keys",!0)}finally{y(r,!1)}}async function v(){y(o,null);try{const x=await fetch("/api/admin/keys",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({label:c(i)})});if(!x.ok){const F=await x.json().catch(()=>({}));y(o,F.error||"Failed to create key",!0);return}const U=await x.json();c(l).add(U.id),y(l,new Set(c(l)),!0),y(i,""),y(a,!1),await f()}catch{y(o,"Network error")}}function d(x){c(l).has(x)?c(l).delete(x):c(l).add(x),y(l,new Set(c(l)),!0)}async function _(x){y(u,null);try{await fetch(`/api/admin/keys/${x}`,{method:"DELETE",credentials:"include"}),c(l).delete(x),y(l,new Set(c(l)),!0),await f()}catch{}}function b(x){return new Date(x).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}function S(x){return x.slice(0,8)+"…"+x.slice(-4)}f();var w=Cg(),k=m(w),p=T(m(k),2),g=m(p,!0);h(p),h(k);var E=T(k,2);{var R=x=>{var U=wg(),F=m(U);we(F);var N=T(F,2),Y=T(N,2);{var ae=Z=>{var te=yg(),ne=m(te,!0);h(te),V(()=>D(ne,c(o))),A(Z,te)};B(Y,Z=>{c(o)&&Z(ae)})}h(U),V(Z=>N.disabled=Z,[()=>!c(i).trim()]),lt("submit",U,Z=>{Z.preventDefault(),v()}),Le(F,()=>c(i),Z=>y(i,Z)),A(x,U)};B(E,x=>{c(a)&&x(R)})}var C=T(E,2);{var I=x=>{var U=kg();A(x,U)},P=x=>{var U=Sg(),F=m(U,!0);h(U),V(()=>D(F,c(s))),A(x,U)},M=x=>{var U=Eg();A(x,U)},O=x=>{var U=Ig();Ie(U,21,()=>c(n),F=>F.id,(F,N)=>{var Y=Ag(),ae=m(Y),Z=m(ae),te=m(Z,!0);h(Z);var ne=T(Z,2),ue=m(ne);h(ne);var xe=T(ne,2),Ce=m(xe,!0);h(xe),h(ae);var Se=T(ae,2),q=m(Se),L=m(q,!0);h(q);var J=T(q,2);{var fe=ie=>{var de=xg(),ve=$e(de),Nt=T(ve,2);G("click",ve,()=>_(c(N).id)),G("click",Nt,()=>{y(u,null)}),A(ie,de)},le=ie=>{var de=Tg();G("click",de,()=>{y(u,c(N).id,!0)}),A(ie,de)};B(J,ie=>{c(u)===c(N).id?ie(fe):ie(le,-1)})}h(Se),h(Y),V((ie,de,ve)=>{D(te,c(N).label),D(ue,`${c(N).id??""} · ${ie??""}`),D(Ce,de),D(L,ve)},[()=>b(c(N).createdAt),()=>c(l).has(c(N).id)?c(N).key:S(c(N).key),()=>c(l).has(c(N).id)?"Hide":"Reveal"]),G("click",q,()=>d(c(N).id)),A(F,Y)}),h(U),A(x,U)};B(C,x=>{c(r)?x(I):c(s)?x(P,1):c(n).length===0?x(M,2):x(O,-1)})}h(w),V(()=>D(g,c(a)?"Cancel":"New key")),G("click",p,()=>{y(a,!c(a))}),A(e,w),se()}ke(["click"]);const Rg={manifest:{id:"sh3-admin",label:"Admin",version:"0.1.0",views:[{id:"sh3-admin:users",label:"Users"},{id:"sh3-admin:auth",label:"Auth Settings"},{id:"sh3-admin:system",label:"System"},{id:"sh3-admin:keys",label:"API Keys"}]},activate(e){const t={mount(a,i){const o=ze(fg,{target:a});return{unmount(){Ge(o)}}}},n={mount(a,i){const o=ze(_g,{target:a});return{unmount(){Ge(o)}}}},r={mount(a,i){const o=ze(bg,{target:a});return{unmount(){Ge(o)}}}},s={mount(a,i){const o=ze($g,{target:a});return{unmount(){Ge(o)}}}};e.registerView("sh3-admin:users",t),e.registerView("sh3-admin:auth",n),e.registerView("sh3-admin:system",r),e.registerView("sh3-admin:keys",s)}},Pg={manifest:{id:"sh3-admin-app",label:"Admin",version:"0.1.0",requiredShards:["sh3-admin"],layoutVersion:1,admin:!0},initialLayout:{type:"tabs",activeTab:0,tabs:[{slotId:"admin.users",viewId:"sh3-admin:users",label:"Users"},{slotId:"admin.auth",viewId:"sh3-admin:auth",label:"Auth"},{slotId:"admin.system",viewId:"sh3-admin:system",label:"System"},{slotId:"admin.keys",viewId:"sh3-admin:keys",label:"Keys"}]}},Lg={id:"terminal",label:"Terminal",version:"0.1.0",requiredShards:["shell"],layoutVersion:1},Og={manifest:Lg,initialLayout:{type:"slot",slotId:"terminal.main",viewId:"shell:terminal"}},$i="sh3:migrations:shell-rename:done",Ri="__shell__:",Ng="__sh3core__:",Pi="sh3:user:__shell__:theme",Li="sh3:user:__sh3core__:theme";function Dg(e,t){if(t.getItem($i))return;const n=t.getItem(Pi);n!==null&&t.getItem(Li)===null&&(t.setItem(Li,n),t.removeItem(Pi));for(const r of e.keys()){if(!r.startsWith(Ri))continue;const s=Ng+r.slice(Ri.length),a=e.read(r);e.write(s,a),e.delete(r)}t.setItem($i,"1")}function Oi(e){fs(e)}function Mg(){const e=Et.workspace;return{keys:()=>e.list(),read:t=>e.read(t),write:(t,n)=>e.write(t,n),delete:t=>e.delete(t)}}async function zg(e){typeof globalThis.localStorage<"u"&&Dg(Mg(),globalThis.localStorage);const t=new Set(e?.excludeShards),n=[u_,ym,eg,Rg];for(const a of n)t.has(a.manifest.id)||fs(a);const r=[tg,Pg,Og];for(const a of r)rr(a);await Cm();for(const[a,i]of Lt)i.autostart&&await Fl(a);const s=Rp();s&&gr.has(s)&&await sr(s)}const jg="modulepreload",qg=function(e){return"/"+e},Ni={},mc=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),o=i?.nonce||i?.getAttribute("nonce");s=Promise.allSettled(n.map(l=>{if(l=qg(l),l in Ni)return;Ni[l]=!0;const u=l.endsWith(".css"),f=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${f}`))return;const v=document.createElement("link");if(v.rel=u?"stylesheet":jg,u||(v.as="script"),v.crossOrigin="",v.href=l,o&&v.setAttribute("nonce",o),document.head.appendChild(v),u)return new Promise((d,_)=>{v.addEventListener("load",d),v.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${l}`)))})}))}function a(i){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=i,window.dispatchEvent(o),!o.defaultPrevented)throw i}return s.then(i=>{for(const o of i||[])o.status==="rejected"&&a(o.reason);return t().catch(a)})};var Ug=$('<button type="button" aria-label="Expand pane"><span class="collapse-icon"> </span></button>'),Vg=$('<button type="button" aria-label="Collapse pane"><span class="collapse-icon"> </span></button>'),Fg=$('<!> <div class="pane-content svelte-1adl4o1"><!></div>',1),Bg=$('<div role="separator"></div>'),Hg=$("<div><!></div> <!>",1),Kg=$("<div></div>");function Yg(e,t){re(t,!0);const n=40,r=28;let s;const a=b=>t.pinned?.[b]??"fr",i=b=>t.collapsed?.[b]??!1;function o(b){return i(b)?`0 0 ${r}px`:a(b)==="px"?`0 0 ${Math.max(n,t.sizes[b])}px`:`${Math.max(1e-4,t.sizes[b])} 1 0`}let l=z(null);function u(b,S){if(i(S)||i(S+1))return;b.preventDefault(),b.target.setPointerCapture(b.pointerId);const w=s.getBoundingClientRect(),k=t.direction==="horizontal"?w.width:w.height;let p=0,g=0;for(let E=0;E<t.sizes.length;E++)a(E)==="fr"?p+=t.sizes[E]:g+=Math.max(n,t.sizes[E]);y(l,{handleIndex:S,startClient:t.direction==="horizontal"?b.clientX:b.clientY,startSizes:t.sizes.slice(),containerPx:k,totalFr:p,frAvailPx:Math.max(1,k-g)},!0)}function f(b){if(!c(l))return;const w=(t.direction==="horizontal"?b.clientX:b.clientY)-c(l).startClient,k=c(l).handleIndex,p=k+1,g=a(k),E=a(p),R=c(l).totalFr/c(l).frAvailPx;if(g==="fr"&&E==="fr"){const C=n*R,I=w*R,P=c(l).startSizes[p]-C,M=-(c(l).startSizes[k]-C),O=Math.min(Math.max(I,M),P);t.onResize?.(k,c(l).startSizes[k]+O),t.onResize?.(p,c(l).startSizes[p]-O)}else if(g==="px"&&E==="fr"){const C=c(l).frAvailPx-n,I=n-c(l).startSizes[k];t.onResize?.(k,c(l).startSizes[k]+Math.min(Math.max(w,I),C))}else if(g==="fr"&&E==="px"){const C=c(l).startSizes[p]-n,I=-(c(l).frAvailPx-n);t.onResize?.(p,c(l).startSizes[p]-Math.min(Math.max(w,I),C))}else{const C=c(l).startSizes[p]-n,I=-(c(l).startSizes[k]-n),P=Math.min(Math.max(w,I),C);t.onResize?.(k,c(l).startSizes[k]+P),t.onResize?.(p,c(l).startSizes[p]-P)}}function v(b){c(l)&&(b.target.releasePointerCapture(b.pointerId),y(l,null))}var d=Kg();let _;Ie(d,21,()=>Array(t.count),Ln,(b,S,w)=>{var k=Hg(),p=$e(k);let g;var E=m(p);{var R=O=>{var x=Ug();let U;var F=m(x),N=m(F,!0);h(F),h(x),V(()=>{U=De(x,1,"collapse-header svelte-1adl4o1",null,U,{horizontal:t.direction==="horizontal",vertical:t.direction==="vertical"}),D(N,t.direction==="horizontal"?"▸":"▾")}),G("click",x,()=>t.onCollapseToggle?.(w,!1)),A(O,x)},C=X(()=>i(w)),I=O=>{var x=Fg(),U=$e(x);{var F=ae=>{var Z=Vg();let te;var ne=m(Z),ue=m(ne,!0);h(ne),h(Z),V(()=>{te=De(Z,1,"collapse-header expanded svelte-1adl4o1",null,te,{horizontal:t.direction==="horizontal",vertical:t.direction==="vertical"}),D(ue,t.direction==="horizontal"?"◂":"▴")}),G("click",Z,()=>t.onCollapseToggle?.(w,!0)),A(ae,Z)};B(U,ae=>{t.onCollapseToggle&&ae(F)})}var N=T(U,2),Y=m(N);ba(Y,()=>t.pane,()=>w),h(N),A(O,x)};B(E,O=>{c(C)?O(R):O(I,-1)})}h(p);var P=T(p,2);{var M=O=>{var x=Bg();let U;V(F=>{U=De(x,1,"splitter-handle svelte-1adl4o1",null,U,F),Fe(x,"aria-orientation",t.direction==="horizontal"?"vertical":"horizontal")},[()=>({dragging:c(l)?.handleIndex===w,disabled:i(w)||i(w+1)})]),G("pointerdown",x,F=>u(F,w)),G("pointermove",x,f),G("pointerup",x,v),lt("pointercancel",x,v),A(O,x)};B(P,O=>{w<t.count-1&&O(M)})}V((O,x)=>{g=De(p,1,"splitter-pane svelte-1adl4o1",null,g,O),Ft(p,`flex: ${x??""};`)},[()=>({collapsed:i(w)}),()=>o(w)]),A(b,k)}),h(d),mt(d,b=>s=b,()=>s),V(()=>_=De(d,1,"splitter svelte-1adl4o1",null,_,{horizontal:t.direction==="horizontal",vertical:t.direction==="vertical"})),A(e,d),se()}ke(["click","pointerdown","pointermove","pointerup"]);function Wg(e,t,n){if(!n)return null;const r=n.getBoundingClientRect(),s=t.filter(o=>!!o);if(s.length===0)return{left:4,top:2,height:r.height-4};const a=Math.max(0,Math.min(e,s.length));let i;return a===s.length?i=s[s.length-1].getBoundingClientRect().right:i=s[a].getBoundingClientRect().left,{left:i-r.left-1,top:2,height:r.height-4}}var Gg=$('<span class="tab-dirty svelte-1kxcyhf" title="Unsaved changes"></span>'),Xg=$('<span class="tab-icon svelte-1kxcyhf"> </span>'),Jg=$('<span class="tab-close svelte-1kxcyhf" role="button" tabindex="-1" title="Close">✕</span>'),Zg=$('<button type="button" role="tab"><!> <!> <span class="tab-label svelte-1kxcyhf"> </span> <!></button>'),Qg=$('<div class="drop-indicator svelte-1kxcyhf"></div>'),eb=$("<div><!></div>"),tb=$('<div class="tabbed-panel svelte-1kxcyhf"><div class="tab-strip svelte-1kxcyhf" role="tablist" tabindex="-1"><!> <!></div> <div class="tab-body svelte-1kxcyhf" role="tabpanel"></div></div>');function nb(e,t){re(t,!0);function n(w){t.clickGuard?.()||t.onActiveChange?.(w)}function r(w,k){k.stopPropagation(),t.onClose?.(w)}let s=z(void 0);const a=he([]);let i=z(null);function o(w,k){if(!t.dragController)return;const p=a[w];p&&t.dragController.onPointerDown(w,k,p)}function l(w){if(!t.dragController||!t.dragController.isDragging||!c(s))return;const k=c(s).getBoundingClientRect(),p=a.filter(g=>!!g).map(g=>g.getBoundingClientRect());y(i,t.dragController.onStripHover(k,w.clientX,w.clientY,p),!0)}function u(){t.dragController&&(y(i,null),t.dragController.onStripLeave())}var f=tb(),v=m(f),d=m(v);Ie(d,17,()=>t.labels,Ln,(w,k,p)=>{var g=Zg();let E;var R=m(g);{var C=F=>{var N=Gg();A(F,N)};B(R,F=>{t.dirty?.[p]&&F(C)})}var I=T(R,2);{var P=F=>{var N=Xg(),Y=m(N,!0);h(N),V(()=>D(Y,t.icons[p])),A(F,N)};B(I,F=>{t.icons?.[p]&&F(P)})}var M=T(I,2),O=m(M,!0);h(M);var x=T(M,2);{var U=F=>{var N=Jg();G("click",N,Y=>r(p,Y)),G("keydown",N,Y=>{(Y.key==="Enter"||Y.key===" ")&&r(p,Y)}),A(F,N)};B(x,F=>{t.closable?.[p]&&F(U)})}h(g),mt(g,(F,N)=>a[N]=F,F=>a?.[F],()=>[p]),V(()=>{E=De(g,1,"tab svelte-1kxcyhf",null,E,{active:t.activeTab===p}),Fe(g,"aria-selected",t.activeTab===p),D(O,c(k))}),G("click",g,()=>n(p)),G("pointerdown",g,F=>o(p,F)),lt("auxclick",g,F=>{F.button===1&&t.closable?.[p]&&r(p,F)}),A(w,g)});var _=T(d,2);{var b=w=>{const k=X(()=>Wg(c(i),a,c(s)));var p=zt(),g=$e(p);{var E=R=>{var C=Qg();V(()=>Ft(C,`left: ${c(k).left??""}px; height: ${c(k).height??""}px; top: ${c(k).top??""}px;`)),A(R,C)};B(g,R=>{c(k)&&R(E)})}A(w,p)};B(_,w=>{c(i)!==null&&t.dragController?.isDragging&&w(b)})}h(v),mt(v,w=>y(s,w),()=>c(s));var S=T(v,2);Ie(S,21,()=>t.labels,Ln,(w,k,p)=>{var g=eb();let E;var R=m(g);ba(R,()=>t.body,()=>p),h(g),V(()=>E=De(g,1,"tab-body-pane svelte-1kxcyhf",null,E,{active:t.activeTab===p})),A(w,g)}),h(S),h(f),G("pointermove",v,l),lt("pointerleave",v,u),A(e,f),se()}ke(["pointermove","click","pointerdown","keydown"]);var rb=$('no factory for <code class="svelte-1czj0s8"> </code>',1),sb=$("<em>empty slot</em>"),ab=$('<div class="slot-placeholder svelte-1czj0s8"><div class="slot-id svelte-1czj0s8"> </div> <div class="slot-meta svelte-1czj0s8"><!></div> <div class="slot-dims svelte-1czj0s8"> </div></div>'),ib=$('<div class="slot svelte-1czj0s8"><!></div>');function Di(e,t){re(t,!0);let n=as(t,"label",3,""),r=z(void 0),s=z(0),a=z(0);const i=X(()=>t.node.viewId?!!Ol(t.node.viewId):!1);it(()=>{if(!c(r))return;const f=Hl(t.node.slotId,t.node.viewId,n()||t.node.viewId||t.node.slotId);c(r).appendChild(f);const v=new ResizeObserver(d=>{for(const _ of d){const b=_.contentRect;y(s,Math.round(b.width),!0),y(a,Math.round(b.height),!0)}});return v.observe(c(r)),()=>{v.disconnect(),Kl(t.node.slotId)}});var o=ib(),l=m(o);{var u=f=>{var v=ab(),d=m(v),_=m(d,!0);h(d);var b=T(d,2),S=m(b);{var w=E=>{var R=rb(),C=T($e(R)),I=m(C,!0);h(C),V(()=>D(I,t.node.viewId)),A(E,R)},k=E=>{var R=sb();A(E,R)};B(S,E=>{t.node.viewId?E(w):E(k,-1)})}h(b);var p=T(b,2),g=m(p);h(p),h(v),V(()=>{D(_,t.node.slotId),D(g,`${c(s)??""} × ${c(a)??""}`)}),A(f,v)};B(l,f=>{c(i)||f(u)})}h(o),mt(o,f=>y(r,f),()=>c(r)),V(()=>{Fe(o,"data-slot-id",t.node.slotId),Fe(o,"data-view-id",t.node.viewId??"")}),A(e,o),se()}const ee=he({phase:"idle",source:null,pointerX:0,pointerY:0,target:null});let gc=0;function ob(){return performance.now()<gc}const Mi=4;let bc=0,yc=0;function lb(e,t,n,r){if(ee.phase!=="idle")return;const s=r.getBoundingClientRect();ee.phase="pending",ee.source={slotId:e,entry:t,startRect:s,offsetX:n.clientX-s.left,offsetY:n.clientY-s.top},ee.pointerX=n.clientX,ee.pointerY=n.clientY,ee.target=null,bc=n.clientX,yc=n.clientY,cb()}function cb(){window.addEventListener("pointermove",wc,!0),window.addEventListener("pointerup",kc,!0),window.addEventListener("pointercancel",Sc,!0),document.body.style.userSelect="none",document.body.dataset.dragging=""}function ub(){window.removeEventListener("pointermove",wc,!0),window.removeEventListener("pointerup",kc,!0),window.removeEventListener("pointercancel",Sc,!0),document.body.style.userSelect="",delete document.body.dataset.dragging}function wc(e){if(ee.pointerX=e.clientX,ee.pointerY=e.clientY,ee.phase==="pending"){const t=e.clientX-bc,n=e.clientY-yc;t*t+n*n>=Mi*Mi&&(ee.phase="dragging")}}function kc(e){ee.phase==="dragging"&&(fb(),gc=performance.now()+50),Ec()}function Sc(e){Ec()}function fb(){const{source:e,target:t}=ee;if(!e||!t)return;const n=Gl.root;if(t.kind==="strip"){const s=t.tabsNode.tabs.findIndex(a=>a.slotId===e.slotId);if(s>=0){Op(t.tabsNode,s,t.insertIndex),Js(n);return}}const r=Zl(n,e.slotId);r&&(t.kind==="strip"?Lp(t.tabsNode,r,t.insertIndex):Ql(n,t.path,r,t.side),Js(n))}function Ec(){ee.phase="idle",ee.source=null,ee.target=null,ub()}function Zs(e){ee.phase==="dragging"&&(ee.target=e)}function Zn(e){ee.phase==="dragging"&&ee.target&&(e&&!e(ee.target)||(ee.target=null))}var db=$("<div></div>"),vb=$("<div><!></div>");function zi(e,t){re(t,!0);let n=z(void 0),r=z(null);const s=X(()=>ee.phase==="dragging");function a(d,_,b){const S=b.left+b.width/2,w=b.top+b.height/2,k=d-S,p=_-w,g=k/b.width,E=p/b.height;return Math.abs(g)>Math.abs(E)?g<0?"left":"right":E<0?"top":"bottom"}function i(d){if(!c(n))return;const _=c(n).getBoundingClientRect();if(d.clientX<_.left||d.clientX>_.right||d.clientY<_.top||d.clientY>_.bottom){c(r)!==null&&(y(r,null),Zn(S=>S.kind==="split"&&S.path.join("/")===t.path.join("/")));return}const b=a(d.clientX,d.clientY,_);if(b!==c(r)){y(r,b,!0);const S={kind:"split",path:[...t.path],side:b};Zs(S)}}function o(){c(r)!==null&&(y(r,null),Zn(d=>d.kind==="split"&&d.path.join("/")===t.path.join("/")))}var l=vb();let u;var f=m(l);{var v=d=>{var _=db();V(()=>De(_,1,`quad-highlight quad-${c(r)??""}`,"svelte-re71zu")),A(d,_)};B(f,d=>{c(r)&&d(v)})}h(l),mt(l,d=>y(n,d),()=>c(n)),V(()=>u=De(l,1,"slot-drop-zone svelte-re71zu",null,u,{active:c(s)})),G("pointermove",l,i),lt("pointerleave",l,o),A(e,l),se()}ke(["pointermove"]);var hb=$('<div class="tab-slot-wrapper svelte-1gw9g38"><!> <!></div>'),pb=$('<div class="empty-tabs-custom svelte-1gw9g38"></div>'),_b=$('<div class="empty-tabs-default svelte-1gw9g38"><div class="empty-tabs-drop svelte-1gw9g38"></div></div>'),mb=$('<div class="empty-tabs-placeholder svelte-1gw9g38"><!></div>'),gb=$('<div class="leaf-slot-wrapper svelte-1gw9g38"><!> <!></div>');function xc(e,t){re(t,!0);let n=as(t,"path",19,()=>[]);const r=X(()=>Fr(Gl.root,n()));function s(k){return{get isDragging(){return ee.phase==="dragging"},onPointerDown(p,g,E){const R=k.tabs[p];R&&lb(R.slotId,R,g,E)},onStripHover(p,g,E,R){if(E<p.top||E>p.bottom)return Zn(P=>P.kind==="strip"&&P.tabsNode===k),null;let C=R.length;for(let P=0;P<R.length;P++){const M=R[P],O=M.left+M.width/2;if(g<O){C=P;break}}const I=ee.source;if(I){const P=k.tabs.findIndex(M=>M.slotId===I.slotId);P>=0&&P<C&&(C-=1)}return Zs({kind:"strip",tabsNode:k,insertIndex:C}),C},onStripLeave(){Zn(p=>p.kind==="strip"&&p.tabsNode===k)}}}function a(k){return k.type==="split"?k:null}function i(k){return k.type==="tabs"?k:null}function o(k){return k.type==="slot"?k:null}function l(k){return k.map(p=>Tp(p.slotId)||void 0)}function u(k){return k.map(p=>xp(p.slotId)||void 0)}function f(k,p){const g=k[p];g&&Oa(g.slotId)}function v(k,p){p(k)}function d(k,p){ee.phase==="dragging"&&Zs({kind:"strip",tabsNode:p,insertIndex:0})}function _(){Zn(k=>k.kind==="strip"&&k.insertIndex===0)}var b=zt(),S=$e(b);{var w=k=>{var p=zt(),g=$e(p);{var E=I=>{const P=(O,x=nt)=>{{let U=X(()=>[...n(),x()]);xc(O,{get path(){return c(U)}})}},M=X(()=>a(c(r)));Yg(I,{get direction(){return c(M).direction},get sizes(){return c(M).sizes},get pinned(){return c(M).pinned},get collapsed(){return c(M).collapsed},get count(){return c(M).children.length},get pane(){return P},onResize:(O,x)=>c(M).sizes[O]=x,onCollapseToggle:(O,x)=>{c(M).collapsed||(c(M).collapsed=c(M).children.map(()=>!1)),c(M).collapsed[O]=x}})},R=I=>{const P=X(()=>i(c(r)));var M=zt(),O=$e(M);{var x=F=>{const N=(ae,Z=nt)=>{const te=X(()=>c(P).tabs[Z()]);var ne=zt(),ue=$e(ne);{var xe=Ce=>{var Se=hb(),q=m(Se);{let J=X(()=>({type:"slot",slotId:c(te).slotId,viewId:c(te).viewId}));Di(q,{get node(){return c(J)},get label(){return c(te).label}})}var L=T(q,2);zi(L,{get path(){return n()}}),h(Se),A(Ce,Se)};B(ue,Ce=>{c(te)&&Ce(xe)})}A(ae,ne)},Y=X(()=>s(c(P)));{let ae=X(()=>c(P).tabs.map(ue=>ue.label)),Z=X(()=>c(P).tabs.map(ue=>ue.icon)),te=X(()=>l(c(P).tabs)),ne=X(()=>u(c(P).tabs));nb(F,{get labels(){return c(ae)},get icons(){return c(Z)},get activeTab(){return c(P).activeTab},onActiveChange:ue=>c(P).activeTab=ue,get body(){return N},get dragController(){return c(Y)},get clickGuard(){return ob},get closable(){return c(te)},get dirty(){return c(ne)},onClose:ue=>f(c(P).tabs,ue)})}},U=F=>{var N=mb(),Y=m(N);{var ae=te=>{var ne=pb();ml(ne,(ue,xe)=>v?.(ue,xe),()=>c(P).emptyRenderer),A(te,ne)},Z=te=>{var ne=_b(),ue=m(ne);h(ne),G("pointermove",ue,xe=>d(xe,c(P))),lt("pointerleave",ue,_),A(te,ne)};B(Y,te=>{c(P).emptyRenderer?te(ae):te(Z,-1)})}h(N),A(F,N)};B(O,F=>{c(P)&&c(P).tabs.length>0?F(x):c(P)?.persistent&&F(U,1)})}A(I,M)},C=I=>{const P=X(()=>o(c(r)));var M=gb(),O=m(M);Di(O,{get node(){return c(P)}});var x=T(O,2);zi(x,{get path(){return n()}}),h(M),A(I,M)};B(g,I=>{c(r).type==="split"?I(E):c(r).type==="tabs"?I(R,1):I(C,-1)})}A(k,p)};B(S,k=>{c(r)&&k(w)})}A(e,b),se()}ke(["pointermove"]);var bb=$('<span class="drag-preview-icon svelte-133fiip"> </span>'),yb=$('<div class="drag-preview svelte-133fiip"><!> <span class="drag-preview-label svelte-133fiip"> </span></div>');function wb(e,t){re(t,!0);const n=X(()=>ee.phase==="dragging"&&!!ee.source),r=X(()=>ee.source?ee.pointerX-ee.source.offsetX:0),s=X(()=>ee.source?ee.pointerY-ee.source.offsetY:0),a=X(()=>ee.source?.startRect.width??0),i=X(()=>ee.source?.startRect.height??0),o=X(()=>ee.source?.entry.label??""),l=X(()=>ee.source?.entry.icon);var u=zt(),f=$e(u);{var v=d=>{var _=yb(),b=m(_);{var S=p=>{var g=bb(),E=m(g,!0);h(g),V(()=>D(E,c(l))),A(p,g)};B(b,p=>{c(l)&&p(S)})}var w=T(b,2),k=m(w,!0);h(w),h(_),V(()=>{Ft(_,`left: ${c(r)??""}px; top: ${c(s)??""}px; width: ${c(a)??""}px; height: ${c(i)??""}px;`),D(k,c(o))}),A(d,_)};B(f,d=>{c(n)&&d(v)})}A(e,u),se()}const ji="/assets/icons-CnAqUqbR.svg";var kb=$('<div class="guest-signin-error svelte-pymkh"> </div>'),Sb=$('<div class="guest-signin-overlay svelte-pymkh" role="dialog"><div class="guest-signin-card svelte-pymkh"><form class="guest-signin-form svelte-pymkh"><input class="guest-signin-input svelte-pymkh" type="text" placeholder="Username" autocomplete="username"/> <input class="guest-signin-input svelte-pymkh" type="password" placeholder="Password" autocomplete="current-password"/> <div class="guest-signin-actions svelte-pymkh"><button type="submit" class="guest-signin-btn svelte-pymkh"> </button> <button type="button" class="guest-signin-cancel svelte-pymkh">Cancel</button></div></form> <!></div></div>'),Eb=$('<div class="guest-banner svelte-pymkh"><span class="guest-banner-text">Browsing as guest. Sign in to save your work.</span> <button type="button" class="guest-banner-action svelte-pymkh">Sign in</button></div> <!>',1),xb=$('<div class="guest-banner-slot"><!></div>');function Tb(e,t){re(t,!0);let n=z(!1),r=z(""),s=z(""),a=z(null),i=z(!1);async function o(){if(!c(r).trim()||!c(s).trim()||c(i))return;y(i,!0),y(a,null);const d=await Ml(c(r).trim(),c(s).trim());y(i,!1),d.ok?y(n,!1):y(a,d.error,!0)}var l=xb(),u=m(l);{var f=d=>{var _=Eb(),b=$e(_),S=T(m(b),2);h(b);var w=T(b,2);{var k=p=>{var g=Sb(),E=m(g),R=m(E),C=m(R);we(C);var I=T(C,2);we(I);var P=T(I,2),M=m(P),O=m(M,!0);h(M);var x=T(M,2);h(P),h(R);var U=T(R,2);{var F=N=>{var Y=kb(),ae=m(Y,!0);h(Y),V(()=>D(ae,c(a))),A(N,Y)};B(U,N=>{c(a)&&N(F)})}h(E),h(g),V(N=>{C.disabled=c(i),I.disabled=c(i),M.disabled=N,D(O,c(i)?"Signing in...":"Sign in")},[()=>c(i)||!c(r).trim()||!c(s).trim()]),lt("submit",R,N=>{N.preventDefault(),o()}),Le(C,()=>c(r),N=>y(r,N)),Le(I,()=>c(s),N=>y(s,N)),G("click",x,()=>{y(n,!1),y(a,null)}),A(p,g)};B(w,p=>{c(n)&&p(k)})}G("click",S,()=>{y(n,!0)}),A(d,_)},v=X(()=>jl());B(u,d=>{c(v)&&d(f)})}h(l),A(e,l),se()}ke(["click"]);var Ab=$('<button type="button" class="shell-tabbar-signout svelte-187fra4" title="Sign out"><svg class="shell-tabbar-signout-icon svelte-187fra4" aria-hidden="true"><use></use></svg></button>'),Ib=$('<div class="shell-tabbar-user svelte-187fra4"><span class="shell-tabbar-user-name svelte-187fra4"> </span> <span class="shell-tabbar-tag svelte-187fra4"> </span> <!></div>'),Cb=$('<div class="shell-overlay-root svelte-187fra4"><!></div>'),$b=$('<div class="shell svelte-187fra4"><header class="shell-tabbar svelte-187fra4" data-shell-region="tabbar"><button type="button" class="shell-tabbar-home-button svelte-187fra4" title="Home"><svg class="shell-tabbar-home-icon svelte-187fra4" aria-hidden="true"><use></use></svg></button> <span class="shell-tabbar-brand svelte-187fra4">SH3</span> <!></header> <!> <main class="shell-content svelte-187fra4" data-shell-region="content" data-shell-layer="0"><!></main> <footer class="shell-statusbar svelte-187fra4" data-shell-region="statusbar"></footer> <div class="shell-overlays svelte-187fra4" aria-hidden="true"></div></div>');function Rb(e,t){re(t,!0);const n=X(zl),r=X(Aa),s=X(Zt),a=X(()=>Wl()==="home"),i=[{layer:1,name:"floating"},{layer:2,name:"drag-preview"},{layer:3,name:"popup"},{layer:4,name:"modal"},{layer:5,name:"toast"},{layer:6,name:"command"}],o=he({});it(()=>{for(const{name:g}of i){const E=o[g];E&&Ih(g,E)}return()=>{for(const{name:g}of i)Ch(g)}}),it(()=>{function g(E){if(E.key!=="²"||!c(s))return;const R=E.target;if(R){const C=R.tagName;if(C==="INPUT"||C==="TEXTAREA"||R.isContentEditable)return}E.preventDefault(),sc({slotId:`shell.terminal.${Date.now()}`,viewId:"shell:terminal",label:"Shell"})}return window.addEventListener("keydown",g),()=>window.removeEventListener("keydown",g)});var l=$b(),u=m(l),f=m(u),v=m(f),d=m(v);h(v),h(f);var _=T(f,4);{var b=g=>{var E=Ib(),R=m(E),C=m(R,!0);h(R);var I=T(R,2),P=m(I,!0);h(I);var M=T(I,2);{var O=U=>{var F=Ab(),N=m(F),Y=m(N);h(N),h(F),V(()=>Fe(Y,"href",`${ji}#log-out`)),G("click",F,()=>fp()),A(U,F)},x=X(()=>!vp());B(M,U=>{c(x)&&U(O)})}h(E),V(()=>{D(C,c(r).displayName),D(P,c(s)?"admin":"user")}),A(g,E)};B(_,g=>{c(n)&&c(r)&&g(b)})}h(u);var S=T(u,2);Tb(S,{});var w=T(S,2),k=m(w);xc(k,{}),h(w);var p=T(w,4);Ie(p,21,()=>i,({layer:g,name:E})=>g,(g,E)=>{let R=()=>c(E).layer,C=()=>c(E).name;var I=Cb(),P=m(I);{var M=O=>{wb(O,{})};B(P,O=>{C()==="drag-preview"&&O(M)})}h(I),mt(I,(O,x)=>o[x]=O,O=>o?.[O],()=>[C()]),V(()=>{Fe(I,"data-shell-overlay",C()),Fe(I,"data-shell-layer",R()),Ft(I,`z-index: var(--shell-z-layer-${R()??""});`)}),A(g,I)}),h(p),h(l),V(()=>{f.disabled=c(a),Fe(d,"href",`${ji}#house`)}),G("click",f,()=>Jl()),A(e,l),se()}ke(["click"]);async function Pb(){try{const{TauriStoreBackend:e}=await mc(async()=>{const{TauriStoreBackend:r}=await import("./tauri-backend-B3LR3-lo.js");return{TauriStoreBackend:r}},[]),t=new e("workspace"),n=new e("user");return await Promise.all([t.init(),n.init()]),{backends:{workspace:t,user:n},localOwner:!0}}catch{return{backends:null,localOwner:Hi}}}var Lb=$('<button type="button" class="signin-link svelte-lh4k15">Create an account</button>'),Ob=$('<form class="signin-form svelte-lh4k15"><input class="signin-input svelte-lh4k15" type="text" placeholder="Username" autocomplete="username"/> <input class="signin-input svelte-lh4k15" type="password" placeholder="Password" autocomplete="current-password"/> <button type="submit" class="signin-btn svelte-lh4k15"> </button></form> <!>',1),Nb=$('<form class="signin-form svelte-lh4k15"><input class="signin-input svelte-lh4k15" type="text" placeholder="Username" autocomplete="username"/> <input class="signin-input svelte-lh4k15" type="text" placeholder="Display name (optional)"/> <input class="signin-input svelte-lh4k15" type="password" placeholder="Password" autocomplete="new-password"/> <button type="submit" class="signin-btn svelte-lh4k15"> </button></form> <button type="button" class="signin-link svelte-lh4k15">Back to sign in</button>',1),Db=$('<div class="signin-error svelte-lh4k15"> </div>'),Mb=$('<div class="signin-wall svelte-lh4k15"><div class="signin-card svelte-lh4k15"><h1 class="signin-brand svelte-lh4k15">SH3</h1> <!> <!></div></div>');function zb(e,t){re(t,!0);let n=z("login"),r=z(""),s=z(""),a=z(""),i=z(null),o=z(!1);async function l(){if(!c(r).trim()||!c(s).trim()||c(o))return;y(o,!0),y(i,null);const p=await Ml(c(r).trim(),c(s).trim());y(o,!1),p.ok?t.onSuccess():y(i,p.error,!0)}async function u(){if(!c(r).trim()||!c(s).trim()||c(o))return;y(o,!0),y(i,null);const p=await up(c(r).trim(),c(s).trim(),c(a).trim()||void 0);y(o,!1),p.ok?t.onSuccess():y(i,p.error,!0)}function f(p){y(n,p,!0),y(i,null)}var v=Mb(),d=m(v),_=T(m(d),2);{var b=p=>{var g=Ob(),E=$e(g),R=m(E);we(R);var C=T(R,2);we(C);var I=T(C,2),P=m(I,!0);h(I),h(E);var M=T(E,2);{var O=x=>{var U=Lb();G("click",U,()=>f("register")),A(x,U)};B(M,x=>{t.selfRegistration&&x(O)})}V(x=>{R.disabled=c(o),C.disabled=c(o),I.disabled=x,D(P,c(o)?"Signing in...":"Sign in")},[()=>c(o)||!c(r).trim()||!c(s).trim()]),lt("submit",E,x=>{x.preventDefault(),l()}),Le(R,()=>c(r),x=>y(r,x)),Le(C,()=>c(s),x=>y(s,x)),A(p,g)},S=p=>{var g=Nb(),E=$e(g),R=m(E);we(R);var C=T(R,2);we(C);var I=T(C,2);we(I);var P=T(I,2),M=m(P,!0);h(P),h(E);var O=T(E,2);V(x=>{R.disabled=c(o),C.disabled=c(o),I.disabled=c(o),P.disabled=x,D(M,c(o)?"Creating...":"Create account")},[()=>c(o)||!c(r).trim()||!c(s).trim()]),lt("submit",E,x=>{x.preventDefault(),u()}),Le(R,()=>c(r),x=>y(r,x)),Le(C,()=>c(a),x=>y(a,x)),Le(I,()=>c(s),x=>y(s,x)),G("click",O,()=>f("login")),A(p,g)};B(_,p=>{c(n)==="login"?p(b):p(S,-1)})}var w=T(_,2);{var k=p=>{var g=Db(),E=m(g,!0);h(g),V(()=>D(E,c(i))),A(p,g)};B(w,p=>{c(i)&&p(k)})}h(d),h(v),A(e,v),se()}ke(["click"]);async function jb(e){const t=e?.serverUrl??"",n=await Pb();n.backends&&(wi("workspace",n.backends.workspace),wi("user",n.backends.user)),n.localOwner&&dp(),ql(t),Gp();const r=typeof e?.target=="string"?document.querySelector(e.target):e?.target??document.getElementById("app");if(!r)throw new Error("SH3: mount target not found");let s=null;if(!n.localOwner)try{const i=await fetch(`${t}/api/boot`,{credentials:"include"});i.ok&&(s=await i.json())}catch{}if(n.localOwner)As("local");else if(s){Si(t,s),As(s.tenantId);const{auth:i,session:o}=s;if(!o&&i.required&&!i.guestAllowed){await qb(r,s);const l=await fetch(`${t}/api/boot`,{credentials:"include"});l.ok&&(s=await l.json(),Si(t,s),As(s.tenantId))}}if(e?.discoveredPackages?.length){const{loadBundleModule:i}=await mc(async()=>{const{loadBundleModule:o}=await Promise.resolve().then(()=>Sm);return{loadBundleModule:o}},void 0);for(const o of e.discoveredPackages)try{const l=await fetch(o.bundleUrl);if(!l.ok){console.warn(`[sh3] Failed to fetch discovered package "${o.id}": HTTP ${l.status}`);continue}const u=await l.arrayBuffer(),f=await i(u);for(const v of f.shards)Oi(v);for(const v of f.apps)rr(v);console.log(`[sh3] Loaded discovered package: ${o.id}`)}catch(l){console.warn(`[sh3] Failed to load discovered package "${o.id}":`,l)}}if(e?.shards)for(const i of e.shards)Oi(i);if(e?.apps)for(const i of e.apps)rr(i);const a={};e?.excludeShards&&(a.excludeShards=e.excludeShards),await zg(a),ze(Rb,{target:r})}function qb(e,t){return new Promise(n=>{const r=ze(zb,{target:e,props:{selfRegistration:t.auth.selfRegistration,onSuccess:()=>{Ge(r),n()}}})})}const Fa=window.location.origin;ql(Fa);cp(new tp(Fa));let Tc=[];try{const e=await fetch("/api/packages");e.ok&&(Tc=await e.json())}catch{}await jb({discoveredPackages:Tc,serverUrl:Fa});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function d(e,t,s,r){if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return s==="m"?r:s==="a"?r.call(e):r?r.value:t.get(e)}function h(e,t,s,r,o){if(typeof t=="function"?e!==t||!0:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t.set(e,s),s}var i;function w(e,t=!1){return window.__TAURI_INTERNALS__.transformCallback(e,t)}async function a(e,t={},s){return window.__TAURI_INTERNALS__.invoke(e,t,s)}class y{get rid(){return d(this,i,"f")}constructor(t){i.set(this,void 0),h(this,i,t)}async close(){return a("plugin:resources|close",{rid:this.rid})}}i=new WeakMap;var c;(function(e){e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WINDOW_CREATED="tauri://window-created",e.WEBVIEW_CREATED="tauri://webview-created",e.DRAG_ENTER="tauri://drag-enter",e.DRAG_OVER="tauri://drag-over",e.DRAG_DROP="tauri://drag-drop",e.DRAG_LEAVE="tauri://drag-leave"})(c||(c={}));async function p(e,t){window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(e,t),await a("plugin:event|unlisten",{event:e,eventId:t})}async function u(e,t,s){var r;const o=(r=void 0)!==null&&r!==void 0?r:{kind:"Any"};return a("plugin:event|listen",{event:e,target:o,handler:w(t)}).then(l=>async()=>p(e,l))}async function g(e,t){return await n.load(e,t)}class _{get store(){return this._store||(this._store=g(this.path,this.options)),this._store}constructor(t,s){this.path=t,this.options=s}async init(){await this.store}async set(t,s){return(await this.store).set(t,s)}async get(t){return(await this.store).get(t)}async has(t){return(await this.store).has(t)}async delete(t){return(await this.store).delete(t)}async clear(){await(await this.store).clear()}async reset(){await(await this.store).reset()}async keys(){return(await this.store).keys()}async values(){return(await this.store).values()}async entries(){return(await this.store).entries()}async length(){return(await this.store).length()}async reload(t){await(await this.store).reload(t)}async save(){await(await this.store).save()}async onKeyChange(t,s){return(await this.store).onKeyChange(t,s)}async onChange(t){return(await this.store).onChange(t)}async close(){this._store&&await(await this._store).close()}}class n extends y{constructor(t){super(t)}static async load(t,s){const r=await a("plugin:store|load",{path:t,options:s});return new n(r)}static async get(t){return await a("plugin:store|get_store",{path:t}).then(s=>s?new n(s):null)}async set(t,s){await a("plugin:store|set",{rid:this.rid,key:t,value:s})}async get(t){const[s,r]=await a("plugin:store|get",{rid:this.rid,key:t});return r?s:void 0}async has(t){return await a("plugin:store|has",{rid:this.rid,key:t})}async delete(t){return await a("plugin:store|delete",{rid:this.rid,key:t})}async clear(){await a("plugin:store|clear",{rid:this.rid})}async reset(){await a("plugin:store|reset",{rid:this.rid})}async keys(){return await a("plugin:store|keys",{rid:this.rid})}async values(){return await a("plugin:store|values",{rid:this.rid})}async entries(){return await a("plugin:store|entries",{rid:this.rid})}async length(){return await a("plugin:store|length",{rid:this.rid})}async reload(t){await a("plugin:store|reload",{rid:this.rid,...t})}async save(){await a("plugin:store|save",{rid:this.rid})}async onKeyChange(t,s){return await u("store://change",r=>{r.payload.resourceId===this.rid&&r.payload.key===t&&s(r.payload.exists?r.payload.value:void 0)})}async onChange(t){return await u("store://change",s=>{s.payload.resourceId===this.rid&&t(s.payload.key,s.payload.exists?s.payload.value:void 0)})}}class f{#e;#t=new Map;constructor(t){this.#e=new _(`${t}.json`,{defaults:{},autoSave:!0})}read(t){return this.#t.get(t)}write(t,s){this.#t.set(t,s),this.#e.set(t,s).catch(r=>console.warn("SH3: store write failed",r))}delete(t){this.#t.delete(t),this.#e.delete(t).catch(s=>console.warn("SH3: store delete failed",s))}list(){return[...this.#t.keys()]}async init(){const t=await this.#e.entries();for(const[s,r]of t)this.#t.set(s,r)}}export{f as TauriStoreBackend};
|
package/app/index.html
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>SH3</title>
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-C7fUtJvb.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="/assets/index-B1mKDfA-.css">
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<div id="app"></div>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|