sh3-server 0.17.0 → 0.19.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.
@@ -1,21 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/tauri-backend-C24Wzcc_.js","assets/index-YGsF1N98.js","assets/core-DsojzR6k.js"])))=>i.map(i=>d[i]);
2
- (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 i of s)if(i.type==="childList")for(const l of i.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();const kp="modulepreload",xp=function(e){return"/"+e},ic={},Fi=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),o=l?.nonce||l?.getAttribute("nonce");s=Promise.allSettled(n.map(c=>{if(c=xp(c),c in ic)return;ic[c]=!0;const u=c.endsWith(".css"),d=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${d}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":kp,u||(f.as="script"),f.crossOrigin="",f.href=c,o&&f.setAttribute("nonce",o),document.head.appendChild(f),u)return new Promise((h,b)=>{f.addEventListener("load",h),f.addEventListener("error",()=>b(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(l){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=l,window.dispatchEvent(o),!o.defaultPrevented)throw l}return s.then(l=>{for(const o of l||[])o.status==="rejected"&&i(o.reason);return t().catch(i)})},Sp=1,Ep=2,Lu=4,Ip=8,Ap=16,Cp=1,Pu=4,Tp=8,Rp=16,Lp=1,Pp=2,Mp=4,No=1,Mu=2,jp=4,Dp=8,Ui="[",Hi="[!",ac="[?",Ki="]",Zn={},Le=Symbol(),xt=Symbol("filename"),pr=Symbol("hmr"),ju="http://www.w3.org/1999/xhtml",Ls="http://www.w3.org/2000/svg",qo="http://www.w3.org/1998/Math/MathML",Du="@attach",zu=!1;var Vr=Array.isArray,zp=Array.prototype.indexOf,Rr=Array.prototype.includes,Wi=Array.from,gi=Object.keys,Qn=Object.defineProperty,Qt=Object.getOwnPropertyDescriptor,Ou=Object.getOwnPropertyDescriptors,Nu=Object.prototype,Op=Array.prototype,Yi=Object.getPrototypeOf,oc=Object.isExtensible,Np=Object.prototype.hasOwnProperty;function mr(e){return typeof e=="function"}const St=()=>{};function lc(e){return typeof e?.then=="function"}function qp(e){return e()}function Ya(e){for(var t=0;t<e.length;t++)e[t]()}function qu(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}function Bp(e,t,n=!1){return e===void 0?n?t():t:e}function Bu(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 Vp(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 Ze=2,$n=4,Ps=8,Bo=1<<24,$t=16,tn=32,xn=64,Ga=128,qt=512,Ue=1024,Je=2048,nn=4096,lt=8192,mt=16384,In=32768,Xa=1<<25,rn=65536,fs=1<<17,Vu=1<<18,Nn=1<<19,Fu=1<<20,dn=1<<25,er=65536,Ja=1<<21,Lr=1<<22,Mn=1<<23,rt=Symbol("$state"),Gi=Symbol("legacy props"),Fp=Symbol(""),Up=Symbol("proxy path"),Hp=Symbol("hmr anchor"),ln=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},cr=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml"),Uu=1,Ms=3,An=8,Hu=11;function Ku(e){throw new Error("https://svelte.dev/e/experimental_async_required")}function Kp(){throw new Error("https://svelte.dev/e/invalid_default_snippet")}function cc(){throw new Error("https://svelte.dev/e/invalid_snippet_arguments")}function Fr(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Wp(){throw new Error("https://svelte.dev/e/missing_context")}function Yp(){throw new Error("https://svelte.dev/e/snippet_without_render_tag")}function Gp(e){throw new Error("https://svelte.dev/e/store_invalid_shape")}function Xp(){throw new Error("https://svelte.dev/e/svelte_element_invalid_this_value")}function Jp(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Zp(e,t){throw new Error("https://svelte.dev/e/component_api_changed")}function Qp(e,t){throw new Error("https://svelte.dev/e/component_api_invalid_new")}function $p(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function em(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function tm(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function nm(e){throw new Error("https://svelte.dev/e/effect_orphan")}function rm(){throw new Error("https://svelte.dev/e/effect_pending_outside_reaction")}function sm(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function im(){throw new Error("https://svelte.dev/e/fork_discarded")}function am(){throw new Error("https://svelte.dev/e/fork_timing")}function om(){throw new Error("https://svelte.dev/e/get_abort_signal_outside_reaction")}function lm(){throw new Error("https://svelte.dev/e/hydration_failed")}function Wu(e){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")}function cm(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function um(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function dm(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function fm(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function vm(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}function hm(e,t){console.warn("https://svelte.dev/e/assignment_value_stale")}function pm(e,t){console.warn("https://svelte.dev/e/binding_property_non_reactive")}function mm(e){console.warn("https://svelte.dev/e/console_log_state")}function bm(){console.warn("https://svelte.dev/e/derived_inert")}function gm(e,t){console.warn("https://svelte.dev/e/event_handler_invalid")}function ym(e){console.warn("https://svelte.dev/e/hydratable_missing_but_expected")}function js(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function _m(e,t,n,r){console.warn("https://svelte.dev/e/ownership_invalid_binding")}function wm(e,t,n,r){console.warn("https://svelte.dev/e/ownership_invalid_mutation")}function km(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Yu(e){console.warn("https://svelte.dev/e/state_proxy_equality_mismatch")}function xm(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let re=!1;function Te(e){re=e}let ve;function Ie(e){if(e===null)throw js(),Zn;return ve=e}function ut(){return Ie(At(ve))}function v(e){if(re){if(At(ve)!==null)throw js(),Zn;ve=e}}function Sm(e){re&&(ve=e.content)}function Et(e=1){if(re){for(var t=e,n=ve;t--;)n=At(n);ve=n}}function tr(e=!0){for(var t=0,n=ve;;){if(n.nodeType===An){var r=n.data;if(r===Ki){if(t===0)return n;t-=1}else(r===Ui||r===Hi||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(t+=1)}var s=At(n);e&&n.remove(),n=s}}function Vo(e){if(!e||e.nodeType!==An)throw js(),Zn;return e.data}function Gu(e){return e===this.v}function Xu(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Ju(e){return!Xu(e,this.v)}let Em=!1;function Im(e){console.warn("https://svelte.dev/e/dynamic_void_element_content")}const Am=[];function nr(e,t=!1,n=!1){return si(e,new Map,"",Am,null,n)}function si(e,t,n,r,s=null,i=!1){if(typeof e=="object"&&e!==null){var l=t.get(e);if(l!==void 0)return l;if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if(Vr(e)){var o=Array(e.length);t.set(e,o),s!==null&&t.set(s,o);for(var c=0;c<e.length;c+=1){var u=e[c];c in e&&(o[c]=si(u,t,n,r,null,i))}return o}if(Yi(e)===Nu){o={},t.set(e,o),s!==null&&t.set(s,o);for(var d of Object.keys(e))o[d]=si(e[d],t,n,r,null,i);return o}if(e instanceof Date)return structuredClone(e);if(typeof e.toJSON=="function"&&!i)return si(e.toJSON(),t,n,r,e)}if(e instanceof EventTarget)return e;try{return structuredClone(e)}catch{return e}}let fr=null;function Zu(e,t){const n=e.v;if(n===Le)return;const r=Cm(e),s=ye,i=e.wv>s.wv||s.wv===0,l=i?"color: CornflowerBlue; font-weight: bold":"color: grey; font-weight: normal";if(console.groupCollapsed(e.label?`%c${r}%c ${e.label}`:`%c${r}%c`,l,i?"font-weight: normal":l,typeof n=="object"&&n!==null&&rt in n?nr(n,!0):n),r==="$derived"){const c=new Set(e.deps);for(const u of c)Zu(u)}if(e.created&&console.log(e.created),i&&e.updated)for(const c of e.updated.values())c.error&&console.log(c.error);if(t)for(var o of t.traces)console.log(o);console.groupEnd()}function Cm(e){return e.f&(Ze|Lr)?"$derived":e.label?.startsWith("$")?"store":"$state"}function Tm(e,t){var n=fr;try{fr={entries:new Map,reaction:ye};var r=performance.now(),s=t(),i=(performance.now()-r).toFixed(2),l=_e(e);if(!qs())console.log(`${l} %cran outside of an effect (${i}ms)`,"color: grey");else if(fr.entries.size===0)console.log(`${l} %cno reactive dependencies (${i}ms)`,"color: grey");else{console.group(`${l} %c(${i}ms)`,"color: grey");var o=fr.entries;_e(()=>{for(const[c,u]of o)Zu(c,u)}),fr=null,console.groupEnd()}return s}finally{fr=n}}function Rm(e,t){return e.label=t,Qu(e.v,t),e}function Qu(e,t){return e?.[Up]?.(t),e}function Lm(e){const t=new Error,n=Pm();return n.length===0?null:(n.unshift(`
3
- `),Qn(t,"stack",{value:n.join(`
4
- `)}),Qn(t,"name",{value:e}),t)}function Pm(){const e=Error.stackTraceLimit;Error.stackTraceLimit=1/0;const t=new Error().stack;if(Error.stackTraceLimit=e,!t)return[];const n=t.split(`
5
- `),r=[];for(let s=0;s<n.length;s++){const i=n[s],l=i.replaceAll("\\","/");if(i.trim()!=="Error"){if(i.includes("validate_each_keys"))return[];l.includes("svelte/src/internal")||l.includes("node_modules/.vite")||r.push(i)}}return r}let Ee=null;function Pr(e){Ee=e}let ii=null;function Mm(e,t,n,r,s,i){const l=ii;ii={type:t,file:n[xt],line:r,column:s,parent:l,...i};try{return e()}finally{ii=l}}let Fo=null;function uc(e){Fo=e}function jm(){const e={};return[()=>($u(e)||Wp(),Uo(e)),t=>Ho(e,t)]}function Uo(e){return Xi().get(e)}function Ho(e,t){return Xi().set(e,t),t}function $u(e){return Xi().has(e)}function Dm(){return Xi()}function se(e,t=!1,n){Ee={p:Ee,i:!1,c:null,e:null,s:e,x:null,r:he,l:null}}function ie(e){var t=Ee,n=t.e;if(n!==null){t.e=null;for(var r of n)Ad(r)}return e!==void 0&&(t.x=e),t.i=!0,Ee=t.p,e??{}}function ed(){return!0}function Xi(e){return Ee===null&&Fr(),Ee.c??=new Map(zm(Ee)||void 0)}function zm(e){let t=e.p;for(;t!==null;){const n=t.c;if(n!==null)return n;t=t.p}return null}let Un=[];function td(){var e=Un;Un=[],Ya(e)}function ct(e){if(Un.length===0&&!Sr){var t=Un;queueMicrotask(()=>{t===Un&&td()})}Un.push(e)}function Om(){for(;Un.length>0;)td()}function nd(e){var t=he;if(t===null)return ye.f|=Mn,e;if(!(t.f&In)&&!(t.f&$n))throw e;fn(e,t)}function fn(e,t){for(;t!==null;){if(t.f&Ga){if(!(t.f&In))throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const Nm=-7169;function je(e,t){e.f=e.f&Nm|t}function Ko(e){e.f&qt||e.deps===null?je(e,Ue):je(e,nn)}function rd(e){if(e!==null)for(const t of e)!(t.f&Ze)||!(t.f&er)||(t.f^=er,rd(t.deps))}function sd(e,t,n){e.f&Je?t.add(e):e.f&nn&&n.add(e),rd(e.deps),je(e,Ue)}function id(e,t,n){if(e==null)return t(void 0),St;const r=_e(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}function qm(e){let t;return id(e,n=>t=n)(),t}let Za=!1,rs=!1,Qa=Symbol();function Bm(e,t,n){const r=n[t]??={store:null,source:Qi(void 0),unsubscribe:St};if(r.store!==e&&!(Qa in n))if(r.unsubscribe(),r.store=e??null,e==null)r.source.v=void 0,r.unsubscribe=St;else{var s=!0;r.unsubscribe=id(e,i=>{s?r.source.v=i:S(r.source,i)}),s=!1}return e&&Qa in n?qm(e):a(r.source)}function Vm(e,t,n){let r=n[t];return r&&r.store!==e&&(r.unsubscribe(),r.unsubscribe=St),e}function ad(e,t){return Ji(e,t),t}function Fm(e,t){var n=e[t];n.store!==null&&ad(n.store,n.source.v)}function Um(){const e={};function t(){Tt(()=>{for(var n in e)e[n].unsubscribe();Qn(e,Qa,{enumerable:!1,value:!0})})}return[e,t]}function Ji(e,t){Za=!0;try{e.set(t)}finally{Za=!1}}function Hm(e,t,n){return Ji(e,n),t}function Km(e,t,n=1){return Ji(e,t+n),t}function Wm(e,t,n=1){const r=t+n;return Ji(e,r),r}function Ym(){rs=!0}function od(e){var t=rs;try{return rs=!1,[e(),rs]}finally{rs=t}}const gn=new Set;let me=null,ot=null,$a=null,Sr=!1,Ca=!1,_r=null,ai=null;var dc=0;let Gm=1;class Ut{id=Gm++;current=new Map;previous=new Map;#e=new Set;#t=new Set;#n=new Set;#s=new Map;#r=new Map;#a=null;#i=[];#o=[];#l=new Set;#u=new Set;#c=new Map;#f=new Set;is_fork=!1;#h=!1;#v=new Set;#d(){return this.is_fork||this.#r.size>0}#g(){for(const r of this.#v)for(const s of r.#r.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.#f.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)je(s,Je),n(s);for(s of r.m)je(s,nn),n(s)}this.#f.add(t)}#p(){if(dc++>1e3&&(gn.delete(this),Xm()),!this.#d()){for(const o of this.#l)this.#u.delete(o),je(o,Je),this.schedule(o);for(const o of this.#u)je(o,nn),this.schedule(o)}const t=this.#i;this.#i=[],this.apply();var n=_r=[],r=[],s=ai=[];for(const o of t)try{this.#b(o,n,r)}catch(c){throw dd(o),c}if(me=null,s.length>0){var i=Ut.ensure();for(const o of s)i.schedule(o)}if(_r=null,ai=null,this.#d()||this.#g()){this.#m(r),this.#m(n);for(const[o,c]of this.#c)ud(o,c)}else{this.#s.size===0&&gn.delete(this),this.#l.clear(),this.#u.clear();for(const o of this.#e)o(this);this.#e.clear(),fc(r),fc(n),this.#a?.resolve()}var l=me;if(this.#i.length>0){const o=l??=this;o.#i.push(...this.#i.filter(c=>!o.#i.includes(c)))}l!==null&&(gn.add(l),l.#p())}#b(t,n,r){t.f^=Ue;for(var s=t.first;s!==null;){var i=s.f,l=(i&(tn|xn))!==0,o=l&&(i&Ue)!==0,c=o||(i&lt)!==0||this.#c.has(s);if(!c&&s.fn!==null){l?s.f^=Ue:i&$n?n.push(s):Kr(s)&&(i&$t&&this.#u.add(s),sr(s));var u=s.first;if(u!==null){s=u;continue}}for(;s!==null;){var d=s.next;if(d!==null){s=d;break}s=s.parent}}}#m(t){for(var n=0;n<t.length;n+=1)sd(t[n],this.#l,this.#u)}capture(t,n,r=!1){t.v!==Le&&!this.previous.has(t)&&this.previous.set(t,t.v),t.f&Mn||(this.current.set(t,[n,r]),ot?.set(t,n)),this.is_fork||(t.v=n)}activate(){me=this}deactivate(){me=null,ot=null}flush(){try{Ca=!0,me=this,this.#p()}finally{dc=0,$a=null,_r=null,ai=null,Ca=!1,me=null,ot=null,Yn.clear()}}discard(){for(const t of this.#t)t(this);this.#t.clear(),this.#n.clear(),gn.delete(this)}register_created_effect(t){this.#o.push(t)}#y(){for(const d of gn){var t=d.id<this.id,n=[];for(const[f,[h,b]]of this.current){if(d.current.has(f)){var r=d.current.get(f)[0];if(t&&h!==r)d.current.set(f,[h,b]);else continue}n.push(f)}var s=[...d.current.keys()].filter(f=>!this.current.has(f));if(s.length===0)t&&d.discard();else if(n.length>0){if(t)for(const f of this.#f)d.unskip_effect(f,h=>{h.f&($t|Lr)?d.schedule(h):d.#m([h])});d.activate();var i=new Set,l=new Map;for(var o of n)ld(o,s,i,l);l=new Map;var c=[...d.current.keys()].filter(f=>this.current.has(f)?this.current.get(f)[0]!==f:!0);for(const f of this.#o)!(f.f&(mt|lt|fs))&&Wo(f,c,l)&&(f.f&(Lr|$t)?(je(f,Je),d.schedule(f)):d.#l.add(f));if(d.#i.length>0){d.apply();for(var u of d.#i)d.#b(u,[],[]);d.#i=[]}d.deactivate()}}for(const d of gn)d.#v.has(this)&&(d.#v.delete(this),d.#v.size===0&&!d.#d()&&(d.activate(),d.#p()))}increment(t,n){let r=this.#s.get(n)??0;if(this.#s.set(n,r+1),t){let s=this.#r.get(n)??0;this.#r.set(n,s+1)}}decrement(t,n,r){let s=this.#s.get(n)??0;if(s===1?this.#s.delete(n):this.#s.set(n,s-1),t){let i=this.#r.get(n)??0;i===1?this.#r.delete(n):this.#r.set(n,i-1)}this.#h||r||(this.#h=!0,ct(()=>{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.#t.add(t)}on_fork_commit(t){this.#n.add(t)}run_fork_commit_callbacks(){for(const t of this.#n)t(this);this.#n.clear()}settled(){return(this.#a??=qu()).promise}static ensure(){if(me===null){const t=me=new Ut;Ca||(gn.add(me),Sr||ct(()=>{me===t&&t.flush()}))}return me}apply(){{ot=null;return}}schedule(t){if($a=t,t.b?.is_pending&&t.f&($n|Ps|Bo)&&!(t.f&In)){t.b.defer_effect(t);return}for(var n=t;n.parent!==null;){n=n.parent;var r=n.f;if(_r!==null&&n===he&&(ye===null||!(ye.f&Ze))&&!Za)return;if(r&(xn|tn)){if(!(r&Ue))return;n.f^=Ue}}this.#i.push(n)}}function jn(e){var t=Sr;Sr=!0;try{var n;for(e&&(me!==null&&!me.is_fork&&me.flush(),n=e());;){if(Om(),me===null)return n;me.flush()}}finally{Sr=t}}function Xm(){try{sm()}catch(e){fn(e,$a)}}let yn=null;function fc(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&(mt|lt))&&Kr(r)&&(yn=new Set,sr(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Md(r),yn?.size>0)){Yn.clear();for(const s of yn){if(s.f&(mt|lt))continue;const i=[s];let l=s.parent;for(;l!==null;)yn.has(l)&&(yn.delete(l),i.push(l)),l=l.parent;for(let o=i.length-1;o>=0;o--){const c=i[o];c.f&(mt|lt)||sr(c)}}yn.clear()}}yn=null}}function ld(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;i&Ze?ld(s,t,n,r):i&(Lr|$t)&&!(i&Je)&&Wo(s,t,r)&&(je(s,Je),Yo(s))}}function cd(e,t){if(e.reactions!==null)for(const n of e.reactions){const r=n.f;r&Ze?cd(n,t):r&fs&&(je(n,Je),t.add(n))}}function Wo(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(Rr.call(t,s))return!0;if(s.f&Ze&&Wo(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function Yo(e){me.schedule(e)}let yi=[];function Jm(){jn(()=>{const e=yi;yi=[];for(const t of e)Mr(t)})}function Zm(e){var t=gt(0),n=!0,r=void 0;return a(t),Td(()=>{if(n){var s=ot;try{ot=null,r=e()}finally{ot=s}return}yi.length===0&&ct(Jm),yi.push(t)}),n=!1,r}function ud(e,t){if(!(e.f&tn&&e.f&Ue)){e.f&Je?t.d.push(e):e.f&nn&&t.m.push(e),je(e,Ue);for(var n=e.first;n!==null;)ud(n,t),n=n.next}}function dd(e){je(e,Ue);for(var t=e.first;t!==null;)dd(t),t=t.next}function Qm(e){Ku(),me!==null&&am();var t=Ut.ensure();t.is_fork=!0,ot=new Map;var n=!1,r=t.settled();return jn(e),{commit:async()=>{if(n){await r;return}gn.has(t)||im(),n=!0,t.is_fork=!1;for(var[s,[i]]of t.current)s.v=i,s.wv=wi();t.activate(),t.run_fork_commit_callbacks(),t.deactivate(),jn(()=>{var l=new Set;for(var o of t.current.keys())cd(o,l);cb(l),gd()}),t.flush(),await r},discard:()=>{for(var s of t.current.keys())s.wv=wi();!n&&gn.has(t)&&t.discard()}}}function $m(e){let t=0,n=gt(0),r;return()=>{qs()&&(a(n),Ve(()=>(t===0&&(r=_e(()=>e(()=>cn(n)))),t+=1,()=>{ct(()=>{t-=1,t===0&&(r?.(),r=void 0,cn(n))})})))}}var eb=rn|Nn;function fd(e,t,n,r){new tb(e,t,n,r)}class tb{parent;is_pending=!1;transform_error;#e;#t=re?ve:null;#n;#s;#r;#a=null;#i=null;#o=null;#l=null;#u=0;#c=0;#f=!1;#h=new Set;#v=new Set;#d=null;#g=$m(()=>(this.#d=gt(this.#u),()=>{this.#d=null}));constructor(t,n,r,s){this.#e=t,this.#n=n,this.#s=i=>{var l=he;l.b=this,l.f|=Ga,r(i)},this.parent=he.b,this.transform_error=s??this.parent?.transform_error??(i=>i),this.#r=bn(()=>{if(re){const i=this.#t;ut();const l=i.data===Hi;if(i.data.startsWith(ac)){const c=JSON.parse(i.data.slice(ac.length));this.#b(c)}else l?this.#m():this.#p()}else this.#y()},eb),re&&(this.#e=ve)}#p(){try{this.#a=at(()=>this.#s(this.#e))}catch(t){this.error(t)}}#b(t){const n=this.#n.failed;n&&(this.#o=at(()=>{n(this.#e,()=>t,()=>()=>{})}))}#m(){const t=this.#n.pending;t&&(this.is_pending=!0,this.#i=at(()=>t(this.#e)),ct(()=>{var n=this.#l=document.createDocumentFragment(),r=$e();n.append(r),this.#a=this.#w(()=>at(()=>this.#s(r))),this.#c===0&&(this.#e.before(n),this.#l=null,Gn(this.#i,()=>{this.#i=null}),this.#_(me))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#c=0,this.#u=0,this.#a=at(()=>{this.#s(this.#e)}),this.#c>0){var t=this.#l=document.createDocumentFragment();nl(this.#a,t);const n=this.#n.pending;this.#i=at(()=>n(this.#e))}else this.#_(me)}catch(n){this.error(n)}}#_(t){this.is_pending=!1,t.transfer_effects(this.#h,this.#v)}defer_effect(t){sd(t,this.#h,this.#v)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#w(t){var n=he,r=ye,s=Ee;st(this.#r),yt(this.#r),Pr(this.#r.ctx);try{return Ut.ensure(),t()}catch(i){return nd(i),null}finally{st(n),yt(r),Pr(s)}}#k(t,n){if(!this.has_pending_snippet()){this.parent&&this.parent.#k(t,n);return}this.#c+=t,this.#c===0&&(this.#_(n),this.#i&&Gn(this.#i,()=>{this.#i=null}),this.#l&&(this.#e.before(this.#l),this.#l=null))}update_pending_count(t,n){this.#k(t,n),this.#u+=t,!(!this.#d||this.#f)&&(this.#f=!0,ct(()=>{this.#f=!1,this.#d&&hn(this.#d,this.#u)}))}get_effect_pending(){return this.#g(),a(this.#d)}error(t){if(!this.#n.onerror&&!this.#n.failed)throw t;me?.is_fork?(this.#a&&me.skip_effect(this.#a),this.#i&&me.skip_effect(this.#i),this.#o&&me.skip_effect(this.#o),me.on_fork_commit(()=>{this.#x(t)})):this.#x(t)}#x(t){this.#a&&(We(this.#a),this.#a=null),this.#i&&(We(this.#i),this.#i=null),this.#o&&(We(this.#o),this.#o=null),re&&(Ie(this.#t),Et(),Ie(tr()));var n=this.#n.onerror;let r=this.#n.failed;var s=!1,i=!1;const l=()=>{if(s){xm();return}s=!0,i&&vm(),this.#o!==null&&Gn(this.#o,()=>{this.#o=null}),this.#w(()=>{this.#y()})},o=c=>{try{i=!0,n?.(c,l),i=!1}catch(u){fn(u,this.#r&&this.#r.parent)}r&&(this.#o=this.#w(()=>{try{return at(()=>{var u=he;u.b=this,u.f|=Ga,r(this.#e,()=>c,()=>l)})}catch(u){return fn(u,this.#r.parent),null}}))};ct(()=>{var c;try{c=this.transform_error(t)}catch(u){fn(u,this.#r&&this.#r.parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(o,u=>fn(u,this.#r&&this.#r.parent)):o(c)})}}function nb(){he===null&&rm();var e=he.b;return e===null?0:e.get_effect_pending()}function Ds(e,t,n,r){const s=Os;var i=e.filter(h=>!h.settled);if(n.length===0&&i.length===0){r(t.map(s));return}var l=he,o=Zi(),c=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(h=>h.promise)):null;function u(h){o();try{r(h)}catch(b){l.f&mt||fn(b,l)}rr()}if(n.length===0){c.then(()=>u(t.map(s)));return}var d=zs();function f(){Promise.all(n.map(h=>hd(h))).then(h=>u([...t.map(s),...h])).catch(h=>fn(h,l)).finally(()=>d())}c?c.then(()=>{o(),f(),rr()}):f()}function vd(e,t){Ds(e,[],[],t)}function Zi(){var e=he,t=ye,n=Ee,r=me;return function(i=!0){st(e),yt(t),Pr(n),i&&!(e.f&mt)&&(r?.activate(),r?.apply())}}async function rb(e){var t=Zi(),n=await e;return()=>(t(),n)}async function eo(e){var t=as;queueMicrotask(()=>{as===t&&oi(null)});var n=await e;return()=>(oi(t),queueMicrotask(()=>{as===t&&oi(null)}),n)}async function*sb(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:i}=(await eo(t.next()))();if(s){n=!0;break}var r=as;yield i,oi(r)}}finally{if(!n&&t.return!==void 0)return(await eo(t.return()))().value}}function rr(e=!0){st(null),yt(null),Pr(null),e&&me?.deactivate()}function ib(e){const t=Zi(),n=zs();var r=he,s=null;const i=u=>{s={error:u},ro(r)||fn(u,r)};var l=Promise.resolve(e[0]()).catch(i),o={promise:l,settled:!1},c=[o];l.finally(()=>{o.settled=!0,rr()});for(const u of e.slice(1)){l=l.then(()=>{if(t(),s)throw s.error;if(ro(r))throw ln;return u()}).catch(i);const d={promise:l,settled:!1};c.push(d),l.finally(()=>{d.settled=!0,rr()})}return l.then(()=>Promise.resolve()).finally(()=>n()),c}function ab(e){return Promise.all(e.map(t=>t.promise))}function zs(){var e=he,t=e.b,n=me,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 as=null;function oi(e){as=e}function Os(e){var t=Ze|Je;return he!==null&&(he.f|=Nn),{ctx:Ee,deps:null,effects:null,equals:Gu,f:t,fn:e,reactions:null,rv:0,v:Le,wv:0,parent:he,ac:null}}function hd(e,t,n){let r=he;r===null&&Jp();var s=void 0,i=gt(Le),l=!ye,o=new Map;return _b(()=>{var c=he,u=qu();s=u.promise;try{Promise.resolve(e()).then(u.resolve,u.reject).finally(rr)}catch(b){u.reject(b),rr()}var d=me;if(l){if(c.f&In)var f=zs();if(r.b.is_rendered())o.get(d)?.reject(ln),o.delete(d);else{for(const b of o.values())b.reject(ln);o.clear()}o.set(d,u)}const h=(b,x=void 0)=>{if(f){var _=x===ln;f(_)}if(!(x===ln||c.f&mt)){if(d.activate(),x)i.f|=Mn,hn(i,x);else{i.f&Mn&&(i.f^=Mn),hn(i,b);for(const[g,E]of o){if(o.delete(g),g===d)break;E.reject(ln)}}d.deactivate()}};u.promise.then(h,b=>h(null,b||"unknown"))}),Tt(()=>{for(const c of o.values())c.reject(ln)}),new Promise(c=>{function u(d){function f(){d===s?c(i):u(s)}d.then(f,f)}u(s)})}function H(e){const t=Os(e);return zd(t),t}function Go(e){const t=Os(e);return t.equals=Ju,t}function ob(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)We(t[n])}}function Xo(e){var t,n=he,r=e.parent;if(!Sn&&r!==null&&r.f&(mt|lt))return bm(),e.v;st(r);try{e.f&=~er,ob(e),t=qd(e)}finally{st(n)}return t}function pd(e){var t=Xo(e);if(!e.equals(t)&&(e.wv=wi(),(!me?.is_fork||e.deps===null)&&(me!==null?me.capture(e,t,!0):e.v=t,e.deps===null))){je(e,Ue);return}Sn||(ot!==null?(qs()||me?.is_fork)&&ot.set(e,t):Ko(e))}function lb(e){if(e.effects!==null)for(const t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(ln),t.teardown=St,t.ac=null,vs(t,0),el(t))}function md(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&sr(t)}let _i=new Set;const Yn=new Map;function cb(e){_i=e}let bd=!1;function gt(e,t){var n={f:0,v:e,reactions:null,equals:Gu,rv:0,wv:0};return n}function F(e,t){const n=gt(e);return zd(n),n}function Qi(e,t=!1,n=!0){const r=gt(e);return t||(r.equals=Ju),r}function ub(e,t){return S(e,_e(()=>a(e))),t}function S(e,t,n=!1){ye!==null&&(!Zt||ye.f&fs)&&ed()&&ye.f&(Ze|$t|Lr|fs)&&(Bt===null||!Rr.call(Bt,e))&&fm();let r=n?le(t):t;return hn(e,r,ai)}function hn(e,t,n=null){if(!e.equals(t)){Yn.set(e,Sn?t:e.v);var r=Ut.ensure();if(r.capture(e,t),e.f&Ze){const s=e;e.f&Je&&Xo(s),ot===null&&Ko(s)}e.wv=wi(),yd(e,Je,n),he!==null&&he.f&Ue&&!(he.f&(tn|xn))&&(zt===null?Eb([e]):zt.push(e)),!r.is_fork&&_i.size>0&&!bd&&gd()}return t}function gd(){bd=!1;for(const e of _i)e.f&Ue&&je(e,nn),Kr(e)&&sr(e);_i.clear()}function Mr(e,t=1){var n=a(e),r=t===1?n++:n--;return S(e,n),r}function db(e,t=1){var n=a(e);return S(e,t===1?++n:--n)}function cn(e){S(e,e.v+1)}function yd(e,t,n){var r=e.reactions;if(r!==null)for(var s=r.length,i=0;i<s;i++){var l=r[i],o=l.f,c=(o&Je)===0;if(c&&je(l,t),o&Ze){var u=l;ot?.delete(u),o&er||(o&qt&&(l.f|=er),yd(u,nn,n))}else if(c){var d=l;o&$t&&yn!==null&&yn.add(d),n!==null?n.push(d):Yo(d)}}}function le(e){if(typeof e!="object"||e===null||rt in e)return e;const t=Yi(e);if(t!==Nu&&t!==Op)return e;var n=new Map,r=Vr(e),s=F(0),i=_n,l=o=>{if(_n===i)return o();var c=ye,u=_n;yt(null),pc(i);var d=o();return yt(c),pc(u),d};return r&&n.set("length",F(e.length)),new Proxy(e,{defineProperty(o,c,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&um();var d=n.get(c);return d===void 0?l(()=>{var f=F(u.value);return n.set(c,f),f}):S(d,u.value,!0),!0},deleteProperty(o,c){var u=n.get(c);if(u===void 0){if(c in o){const d=l(()=>F(Le));n.set(c,d),cn(s)}}else S(u,Le),cn(s);return!0},get(o,c,u){if(c===rt)return e;var d=n.get(c),f=c in o;if(d===void 0&&(!f||Qt(o,c)?.writable)&&(d=l(()=>{var b=le(f?o[c]:Le),x=F(b);return x}),n.set(c,d)),d!==void 0){var h=a(d);return h===Le?void 0:h}return Reflect.get(o,c,u)},getOwnPropertyDescriptor(o,c){var u=Reflect.getOwnPropertyDescriptor(o,c);if(u&&"value"in u){var d=n.get(c);d&&(u.value=a(d))}else if(u===void 0){var f=n.get(c),h=f?.v;if(f!==void 0&&h!==Le)return{enumerable:!0,configurable:!0,value:h,writable:!0}}return u},has(o,c){if(c===rt)return!0;var u=n.get(c),d=u!==void 0&&u.v!==Le||Reflect.has(o,c);if(u!==void 0||he!==null&&(!d||Qt(o,c)?.writable)){u===void 0&&(u=l(()=>{var h=d?le(o[c]):Le,b=F(h);return b}),n.set(c,u));var f=a(u);if(f===Le)return!1}return d},set(o,c,u,d){var f=n.get(c),h=c in o;if(r&&c==="length")for(var b=u;b<f.v;b+=1){var x=n.get(b+"");x!==void 0?S(x,Le):b in o&&(x=l(()=>F(Le)),n.set(b+"",x))}if(f===void 0)(!h||Qt(o,c)?.writable)&&(f=l(()=>F(void 0)),S(f,le(u)),n.set(c,f));else{h=f.v!==Le;var _=l(()=>le(u));S(f,_)}var g=Reflect.getOwnPropertyDescriptor(o,c);if(g?.set&&g.set.call(d,u),!h){if(r&&typeof c=="string"){var E=n.get("length"),y=Number(c);Number.isInteger(y)&&y>=E.v&&S(E,y+1)}cn(s)}return!0},ownKeys(o){a(s);var c=Reflect.ownKeys(o).filter(f=>{var h=n.get(f);return h===void 0||h.v!==Le});for(var[u,d]of n)d.v!==Le&&!(u in o)&&c.push(u);return c},setPrototypeOf(){dm()}})}function jr(e){try{if(e!==null&&typeof e=="object"&&rt in e)return e[rt]}catch{}return e}function _d(e,t){return Object.is(jr(e),jr(t))}function fb(e,t,n=!0){try{e===t!=(jr(e)===jr(t))&&Yu(n?"===":"!==")}catch{}return e===t===n}function vb(e,t,n=!0){return e==t!=(jr(e)==jr(t))&&Yu(),e==t===n}var to,wd,Jo,kd,xd;function no(){if(to===void 0){to=window,wd=document,Jo=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;kd=Qt(t,"firstChild").get,xd=Qt(t,"nextSibling").get,oc(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),oc(n)&&(n.__t=void 0)}}function $e(e=""){return document.createTextNode(e)}function Pe(e){return kd.call(e)}function At(e){return xd.call(e)}function p(e,t){if(!re)return Pe(e);var n=Pe(ve);if(n===null)n=ve.appendChild($e());else if(t&&n.nodeType!==Ms){var r=$e();return n?.before(r),Ie(r),r}return t&&$i(n),Ie(n),n}function fe(e,t=!1){if(!re){var n=Pe(e);return n instanceof Comment&&n.data===""?At(n):n}if(t){if(ve?.nodeType!==Ms){var r=$e();return ve?.before(r),Ie(r),r}$i(ve)}return ve}function w(e,t=1,n=!1){let r=re?ve:e;for(var s;t--;)s=r,r=At(r);if(!re)return r;if(n){if(r?.nodeType!==Ms){var i=$e();return r===null?s?.after(i):r.before(i),Ie(i),i}$i(r)}return Ie(r),r}function Zo(e){e.textContent=""}function Sd(){return!1}function qn(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??ju,e,r)}function hb(){return document.createDocumentFragment()}function Ed(e=""){return document.createComment(e)}function pb(e,t,n=""){if(t.startsWith("xlink:")){e.setAttributeNS("http://www.w3.org/1999/xlink",t,n);return}return e.setAttribute(t,n)}function $i(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===Ms;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function Ur(e,t){if(t){const n=document.body;e.autofocus=!0,ct(()=>{document.activeElement===n&&e.focus()})}}function Qo(e){re&&Pe(e)!==null&&Zo(e)}let vc=!1;function Id(){vc||(vc=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function _t(e,t,n,r=!0){r&&n();for(var s of t)e.addEventListener(s,n);Tt(()=>{for(var i of t)e.removeEventListener(i,n)})}function Bn(e){var t=ye,n=he;yt(null),st(null);try{return e()}finally{yt(t),st(n)}}function Ns(e,t,n,r=n){e.addEventListener(t,()=>Bn(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),Id()}function $o(e){he===null&&(ye===null&&nm(),tm()),Sn&&em()}function mb(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function wt(e,t){var n=he;n!==null&&n.f&lt&&(e|=lt);var r={ctx:Ee,deps:null,nodes:null,f:e|Je|qt,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};me?.register_created_effect(r);var s=r;if(e&$n)_r!==null?_r.push(r):Ut.ensure().schedule(r);else if(t!==null){try{sr(r)}catch(l){throw We(r),l}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&!(s.f&Nn)&&(s=s.first,e&$t&&e&rn&&s!==null&&(s.f|=rn))}if(s!==null&&(s.parent=n,n!==null&&mb(s,n),ye!==null&&ye.f&Ze&&!(e&xn))){var i=ye;(i.effects??=[]).push(s)}return r}function qs(){return ye!==null&&!Zt}function Tt(e){const t=wt(Ps,null);return je(t,Ue),t.teardown=e,t}function ke(e){$o();var t=he.f,n=!ye&&(t&tn)!==0&&(t&In)===0;if(n){var r=Ee;(r.e??=[]).push(e)}else return Ad(e)}function Ad(e){return wt($n|Fu,e)}function Cd(e){return $o(),wt(Ps|Fu,e)}function Td(e){return wt(fs,e)}function Hr(e){Ut.ensure();const t=wt(xn|Nn,e);return()=>{We(t)}}function bb(e){Ut.ensure();const t=wt(xn|Nn,e);return(n={})=>new Promise(r=>{n.outro?Gn(t,()=>{We(t),r(void 0)}):(We(t),r(void 0))})}function Ct(e){return wt($n,e)}function gb(e,t){var n=Ee,r={effect:null,ran:!1,deps:e};n.l.$.push(r),r.effect=Ve(()=>{if(e(),!r.ran){r.ran=!0;var s=he;try{st(s.parent),_e(t)}finally{st(s)}}})}function yb(){var e=Ee;Ve(()=>{for(var t of e.l.$){t.deps();var n=t.effect;n.f&Ue&&n.deps!==null&&je(n,nn),Kr(n)&&sr(n),t.ran=!1}})}function _b(e){return wt(Lr|Nn,e)}function Ve(e,t=0){return wt(Ps|t,e)}function N(e,t=[],n=[],r=[]){Ds(r,t,n,s=>{wt(Ps,()=>e(...s.map(a)))})}function wb(e,t=[],n=[],r=[]){if(n.length>0||r.length>0)var s=zs();Ds(r,t,n,i=>{wt($n,()=>e(...i.map(a))),s&&s()})}function bn(e,t=0){var n=wt($t|t,e);return n}function Rd(e,t=0){var n=wt(Bo|t,e);return n}function at(e){return wt(tn|Nn,e)}function Ld(e){var t=e.teardown;if(t!==null){const n=Sn,r=ye;hc(!0),yt(null);try{t.call(null)}finally{hc(n),yt(r)}}}function el(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&Bn(()=>{s.abort(ln)});var r=n.next;n.f&xn?n.parent=null:We(n,t),n=r}}function kb(e){for(var t=e.first;t!==null;){var n=t.next;t.f&tn||We(t),t=n}}function We(e,t=!0){var n=!1;(t||e.f&Vu)&&e.nodes!==null&&e.nodes.end!==null&&(Pd(e.nodes.start,e.nodes.end),n=!0),je(e,Xa),el(e,t&&!n),vs(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const i of r)i.stop();Ld(e),e.f^=Xa,e.f|=mt;var s=e.parent;s!==null&&s.first!==null&&Md(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Pd(e,t){for(;e!==null;){var n=e===t?null:At(e);e.remove(),e=n}}function Md(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 Gn(e,t,n=!0){var r=[];jd(e,r,!0);var s=()=>{n&&We(e),t&&t()},i=r.length;if(i>0){var l=()=>--i||s();for(var o of r)o.out(l)}else s()}function jd(e,t,n){if(!(e.f&lt)){e.f^=lt;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 i=s.next;if(!(s.f&xn)){var l=(s.f&rn)!==0||(s.f&tn)!==0&&(e.f&$t)!==0;jd(s,t,l?n:!1)}s=i}}}function tl(e){Dd(e,!0)}function Dd(e,t){if(e.f&lt){e.f^=lt,e.f&Ue||(je(e,Je),Ut.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&rn)!==0||(n.f&tn)!==0;Dd(n,s?t:!1),n=r}var i=e.nodes&&e.nodes.t;if(i!==null)for(const l of i)(l.is_global||t)&&l.in()}}function ro(e=he){return(e.f&mt)!==0}function nl(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 br=null;function xb(e){var t=br;try{if(br=new Set,_e(e),t!==null)for(var n of br)t.add(n);return br}finally{br=t}}function Sb(e){for(var t of xb(e))hn(t,t.v)}let li=!1,Sn=!1;function hc(e){Sn=e}let ye=null,Zt=!1;function yt(e){ye=e}let he=null;function st(e){he=e}let Bt=null;function zd(e){ye!==null&&(Bt===null?Bt=[e]:Bt.push(e))}let vt=null,kt=0,zt=null;function Eb(e){zt=e}let Od=1,Hn=0,_n=Hn;function pc(e){_n=e}function wi(){return++Od}function Kr(e){var t=e.f;if(t&Je)return!0;if(t&Ze&&(e.f&=~er),t&nn){for(var n=e.deps,r=n.length,s=0;s<r;s++){var i=n[s];if(Kr(i)&&pd(i),i.wv>e.wv)return!0}t&qt&&ot===null&&je(e,Ue)}return!1}function Nd(e,t,n=!0){var r=e.reactions;if(r!==null&&!(Bt!==null&&Rr.call(Bt,e)))for(var s=0;s<r.length;s++){var i=r[s];i.f&Ze?Nd(i,t,!1):t===i&&(n?je(i,Je):i.f&Ue&&je(i,nn),Yo(i))}}function qd(e){var t=vt,n=kt,r=zt,s=ye,i=Bt,l=Ee,o=Zt,c=_n,u=e.f;vt=null,kt=0,zt=null,ye=u&(tn|xn)?null:e,Bt=null,Pr(e.ctx),Zt=!1,_n=++Hn,e.ac!==null&&(Bn(()=>{e.ac.abort(ln)}),e.ac=null);try{e.f|=Ja;var d=e.fn,f=d();e.f|=In;var h=e.deps,b=me?.is_fork;if(vt!==null){var x;if(b||vs(e,kt),h!==null&&kt>0)for(h.length=kt+vt.length,x=0;x<vt.length;x++)h[kt+x]=vt[x];else e.deps=h=vt;if(qs()&&e.f&qt)for(x=kt;x<h.length;x++)(h[x].reactions??=[]).push(e)}else!b&&h!==null&&kt<h.length&&(vs(e,kt),h.length=kt);if(ed()&&zt!==null&&!Zt&&h!==null&&!(e.f&(Ze|nn|Je)))for(x=0;x<zt.length;x++)Nd(zt[x],e);if(s!==null&&s!==e){if(Hn++,s.deps!==null)for(let _=0;_<n;_+=1)s.deps[_].rv=Hn;if(t!==null)for(const _ of t)_.rv=Hn;zt!==null&&(r===null?r=zt:r.push(...zt))}return e.f&Mn&&(e.f^=Mn),f}catch(_){return nd(_)}finally{e.f^=Ja,vt=t,kt=n,zt=r,ye=s,Bt=i,Pr(l),Zt=o,_n=c}}function Ib(e,t){let n=t.reactions;if(n!==null){var r=zp.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&Ze&&(vt===null||!Rr.call(vt,t))){var i=t;i.f&qt&&(i.f^=qt,i.f&=~er),i.v!==Le&&Ko(i),lb(i),vs(i,0)}}function vs(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Ib(e,n[r])}function sr(e){var t=e.f;if(!(t&mt)){je(e,Ue);var n=he,r=li;he=e,li=!0;try{t&($t|Bo)?kb(e):el(e),Ld(e);var s=qd(e);e.teardown=typeof s=="function"?s:null,e.wv=Od;var i;zu&&Em&&e.f&Je&&e.deps}finally{li=r,he=n}}}async function Bs(){await Promise.resolve(),jn()}function Ab(){return Ut.ensure().settled()}function a(e){var t=e.f,n=(t&Ze)!==0;if(br?.add(e),ye!==null&&!Zt){var r=he!==null&&(he.f&mt)!==0;if(!r&&(Bt===null||!Rr.call(Bt,e))){var s=ye.deps;if(ye.f&Ja)e.rv<Hn&&(e.rv=Hn,vt===null&&s!==null&&s[kt]===e?kt++:vt===null?vt=[e]:vt.push(e));else{(ye.deps??=[]).push(e);var i=e.reactions;i===null?e.reactions=[ye]:Rr.call(i,ye)||i.push(ye)}}}if(Sn&&Yn.has(e))return Yn.get(e);if(n){var l=e;if(Sn){var o=l.v;return(!(l.f&Ue)&&l.reactions!==null||Vd(l))&&(o=Xo(l)),Yn.set(l,o),o}var c=(l.f&qt)===0&&!Zt&&ye!==null&&(li||(ye.f&qt)!==0),u=(l.f&In)===0;Kr(l)&&(c&&(l.f|=qt),pd(l)),c&&!u&&(md(l),Bd(l))}if(ot?.has(e))return ot.get(e);if(e.f&Mn)throw e.v;return e.v}function Bd(e){if(e.f|=qt,e.deps!==null)for(const t of e.deps)(t.reactions??=[]).push(e),t.f&Ze&&!(t.f&qt)&&(md(t),Bd(t))}function Vd(e){if(e.v===Le)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(Yn.has(t)||t.f&Ze&&Vd(t))return!0;return!1}function Cb(e){return e&&a(e)}function _e(e){var t=Zt;try{return Zt=!0,e()}finally{Zt=t}}function rl(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(rt in e)ki(e);else if(!Array.isArray(e))for(let t in e){const n=e[t];typeof n=="object"&&n&&rt in n&&ki(n)}}}function ki(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{ki(e[r],t)}catch{}const n=Yi(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){const r=Ou(n);for(let s in r){const i=r[s].get;if(i)try{i.call(e)}catch{}}}}}function Tb(e,t){if(Ku(),re){const n=window.__svelte?.h;if(n?.has(e))return n.get(e);ym()}return t()}const ss=Symbol("events"),Fd=new Set,so=new Set;function Rb(e){if(!re)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 Ud(e,t,n,r={}){function s(i){if(r.capture||io.call(t,i),!i.cancelBubble)return Bn(()=>n?.call(this,i))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?ct(()=>{t.addEventListener(e,s,r)}):t.addEventListener(e,s,r),s}function Re(e,t,n,r,s){var i={capture:r,passive:s},l=Ud(e,t,n,i);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Tt(()=>{t.removeEventListener(e,l,i)})}function U(e,t,n){(t[ss]??={})[e]=n}function ce(e){for(var t=0;t<e.length;t++)Fd.add(e[t]);for(var n of so)n(e)}let mc=null;function io(e){var t=this,n=t.ownerDocument,r=e.type,s=e.composedPath?.()||[],i=s[0]||e.target;mc=e;var l=0,o=mc===e&&e[ss];if(o){var c=s.indexOf(o);if(c!==-1&&(t===document||t===window)){e[ss]=t;return}var u=s.indexOf(t);if(u===-1)return;c<=u&&(l=c)}if(i=s[l]||e.target,i!==t){Qn(e,"currentTarget",{configurable:!0,get(){return i||n}});var d=ye,f=he;yt(null),st(null);try{for(var h,b=[];i!==null;){var x=i.assignedSlot||i.parentNode||i.host||null;try{var _=i[ss]?.[r];_!=null&&(!i.disabled||e.target===i)&&_.call(i,e)}catch(g){h?b.push(g):h=g}if(e.cancelBubble||x===t||x===null)break;i=x}if(h){for(let g of b)queueMicrotask(()=>{throw g});throw h}}finally{e[ss]=t,delete e.currentTarget,yt(d),st(f)}}}function Lb(e,t,n,r,s,i=!1,l=!1){let o,c;try{o=e()}catch(u){c=u}if(typeof o!="function"&&(i||o!=null||c)){const u=r?.[xt];s?`${u}${s[0]}${s[1]}`:`${u}`;const d=n[0]?.eventPhase<Event.BUBBLING_PHASE?"capture":"";if(n[0]?.type+d,gm(),c)throw c}o?.apply(t,n)}const Pb=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function Hd(e){return Pb?.createHTML(e)??e}function sl(e){var t=qn("template");return t.innerHTML=Hd(e.replaceAll("<!>","<!---->")),t.content}const Mb=cr?"template":"TEMPLATE",jb=cr?"script":"SCRIPT";function Ye(e,t){var n=he;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function A(e,t){var n=(t&No)!==0,r=(t&Mu)!==0,s,i=!e.startsWith("<!>");return()=>{if(re)return Ye(ve,null),ve;s===void 0&&(s=sl(i?e:"<!>"+e),n||(s=Pe(s)));var l=r||Jo?document.importNode(s,!0):s.cloneNode(!0);if(n){var o=Pe(l),c=l.lastChild;Ye(o,c)}else Ye(l,l);return l}}function Kd(e,t,n="svg"){var r=!e.startsWith("<!>"),s=(t&No)!==0,i=`<${n}>${r?e:"<!>"+e}</${n}>`,l;return()=>{if(re)return Ye(ve,null),ve;if(!l){var o=sl(i),c=Pe(o);if(s)for(l=document.createDocumentFragment();Pe(c);)l.appendChild(Pe(c));else l=Pe(c)}var u=l.cloneNode(!0);if(s){var d=Pe(u),f=u.lastChild;Ye(d,f)}else Ye(u,u);return u}}function il(e,t){return Kd(e,t,"svg")}function Db(e,t){return Kd(e,t,"math")}function Wd(e,t){var n=hb();for(var r of e){if(typeof r=="string"){n.append($e(r));continue}if(r===void 0||r[0][0]==="/"){n.append(Ed(r?r[0].slice(3):""));continue}const[o,c,...u]=r,d=o==="svg"?Ls:o==="math"?qo:t;var s=qn(o,d,c?.is);for(var i in c)pb(s,i,c[i]);if(u.length>0){var l=s.nodeName===Mb?s.content:s;l.append(Wd(u,s.nodeName==="foreignObject"?void 0:d))}n.append(s)}return n}function zb(e,t){var n=(t&No)!==0,r=(t&Mu)!==0,s;return()=>{if(re)return Ye(ve,null),ve;if(s===void 0){const c=t&jp?Ls:t&Dp?qo:void 0;s=Wd(e,c),n||(s=Pe(s))}var i=r||Jo?document.importNode(s,!0):s.cloneNode(!0);if(n){var l=Pe(i),o=i.lastChild;Ye(l,o)}else Ye(i,i);return i}}function Ob(e){return()=>Nb(e())}function Nb(e){if(re)return e;const t=e.nodeType===Hu,n=e.nodeName===jb?[e]:e.querySelectorAll("script"),r=he;for(const i of n){const l=qn("script");for(var s of i.attributes)l.setAttribute(s.name,s.value);l.textContent=i.textContent,(t?e.firstChild===i:e===i)&&(r.nodes.start=l),(t?e.lastChild===i:e===i)&&(r.nodes.end=l),i.replaceWith(l)}return e}function en(e=""){if(!re){var t=$e(e+"");return Ye(t,t),t}var n=ve;return n.nodeType!==Ms?(n.before(n=$e()),Ie(n)):$i(n),Ye(n,n),n}function Be(){if(re)return Ye(ve,null),ve;var e=document.createDocumentFragment(),t=document.createComment(""),n=$e();return e.append(t,n),Ye(t,n),e}function k(e,t){if(re){var n=he;(!(n.f&In)||n.nodes.end===null)&&(n.nodes.end=ve),ut();return}e!==null&&e.before(t)}function qb(){if(re&&ve&&ve.nodeType===An&&ve.textContent?.startsWith("$")){const e=ve.textContent.substring(1);return ut(),e}return(window.__svelte??={}).uid??=1,`c${window.__svelte.uid++}`}const Bb=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];function Vb(e){return Bb.includes(e)||e.toLowerCase()==="!doctype"}function Fb(e){return e.endsWith("capture")&&e!=="gotpointercapture"&&e!=="lostpointercapture"}const Ub=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function Hb(e){return Ub.includes(e)}const Kb={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 Wb(e){return e=e.toLowerCase(),Kb[e]??e}const Yb=["touchstart","touchmove"];function Gb(e){return Yb.includes(e)}const Xb=["textarea","script","style","title"];function Jb(e){return Xb.includes(e)}function Yd(e){return e?.replace(/\//g,"/​")}let xi=!0;function wr(e){xi=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 qe(e,t){return Xd(e,t)}function Gd(e,t){no(),t.intro=t.intro??!1;const n=t.target,r=re,s=ve;try{for(var i=Pe(n);i&&(i.nodeType!==An||i.data!==Ui);)i=At(i);if(!i)throw Zn;Te(!0),Ie(i);const l=Xd(e,{...t,anchor:i});return Te(!1),l}catch(l){if(l instanceof Error&&l.message.split(`
6
- `).some(o=>o.startsWith("https://svelte.dev/e/")))throw l;return l!==Zn&&console.warn("Failed to hydrate: ",l),t.recover===!1&&lm(),no(),Zo(n),Te(!1),qe(e,t)}finally{Te(r),Ie(s)}}const ei=new Map;function Xd(e,{target:t,anchor:n,props:r={},events:s,context:i,intro:l=!0,transformError:o}){no();var c=void 0,u=bb(()=>{var d=n??t.appendChild($e());fd(d,{pending:()=>{}},b=>{se({});var x=Ee;if(i&&(x.c=i),s&&(r.$$events=s),re&&Ye(b,null),xi=l,c=e(b,r)||{},xi=!0,re&&(he.nodes.end=ve,ve===null||ve.nodeType!==An||ve.data!==Ki))throw js(),Zn;ie()},o);var f=new Set,h=b=>{for(var x=0;x<b.length;x++){var _=b[x];if(!f.has(_)){f.add(_);var g=Gb(_);for(const m of[t,document]){var E=ei.get(m);E===void 0&&(E=new Map,ei.set(m,E));var y=E.get(_);y===void 0?(m.addEventListener(_,io,{passive:g}),E.set(_,1)):E.set(_,y+1)}}}};return h(Wi(Fd)),so.add(h),()=>{for(var b of f)for(const g of[t,document]){var x=ei.get(g),_=x.get(b);--_==0?(g.removeEventListener(b,io),x.delete(b),x.size===0&&ei.delete(g)):x.set(b,_)}so.delete(h),d!==n&&d.parentNode?.removeChild(d)}});return ao.set(c,u),c}let ao=new WeakMap;function Xe(e,t){const n=ao.get(e);return n?(ao.delete(e),n(t)):Promise.resolve()}function Zb(e){const t=e();t&&Vb(t)&&Im()}function Qb(e){const t=e();t&&!(typeof t=="string")&&Xp()}function $b(e,t){e!=null&&typeof e.subscribe!="function"&&Gp()}function Jd(e){return e.toString=()=>(Yp(),""),e}class Wr{anchor;#e=new Map;#t=new Map;#n=new Map;#s=new Set;#r=!0;constructor(t,n=!0){this.anchor=t,this.#r=n}#a=t=>{if(this.#e.has(t)){var n=this.#e.get(t),r=this.#t.get(n);if(r)tl(r),this.#s.delete(n);else{var s=this.#n.get(n);s&&(this.#t.set(n,s.effect),this.#n.delete(n),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),r=s.effect)}for(const[i,l]of this.#e){if(this.#e.delete(i),i===t)break;const o=this.#n.get(l);o&&(We(o.effect),this.#n.delete(l))}for(const[i,l]of this.#t){if(i===n||this.#s.has(i))continue;const o=()=>{if(Array.from(this.#e.values()).includes(i)){var u=document.createDocumentFragment();nl(l,u),u.append($e()),this.#n.set(i,{effect:l,fragment:u})}else We(l);this.#s.delete(i),this.#t.delete(i)};this.#r||!r?(this.#s.add(i),Gn(l,o,!1)):o()}}};#i=t=>{this.#e.delete(t);const n=Array.from(this.#e.values());for(const[r,s]of this.#n)n.includes(r)||(We(s.effect),this.#n.delete(r))};ensure(t,n){var r=me,s=Sd();if(n&&!this.#t.has(t)&&!this.#n.has(t))if(s){var i=document.createDocumentFragment(),l=$e();i.append(l),this.#n.set(t,{effect:at(()=>n(l)),fragment:i})}else this.#t.set(t,at(()=>n(this.anchor)));if(this.#e.set(r,t),s){for(const[o,c]of this.#t)o===t?r.unskip_effect(c):r.skip_effect(c);for(const[o,c]of this.#n)o===t?r.unskip_effect(c.effect):r.skip_effect(c.effect);r.oncommit(this.#a),r.ondiscard(this.#i)}else re&&(this.anchor=ve),this.#a(r)}}function Ht(e,t,...n){var r=new Wr(e);bn(()=>{const s=t()??null;r.ensure(s,s&&(i=>s(i,...n)))},rn)}function eg(e,t){const n=(r,...s)=>{var i=Fo;uc(e);try{return t(r,...s)}finally{uc(i)}};return Jd(n),n}function tg(e){return(t,...n)=>{var r=e(...n),s;if(re)s=ve,ut();else{var i=r.render().trim(),l=sl(i);s=Pe(l),t.before(s)}const o=r.setup?.(s);Ye(s,s),typeof o=="function"&&Tt(o)}}function ng(){return ye===null&&om(),(ye.ac??=new AbortController).signal}function al(e){Ee===null&&Fr(),ke(()=>{const t=_e(e);if(typeof t=="function")return t})}function ol(e){Ee===null&&Fr(),al(()=>()=>_e(e))}function rg(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function sg(){const e=Ee;return e===null&&Fr(),(t,n,r)=>{const s=e.s.$$events?.[t];if(s){const i=Vr(s)?s.slice():[s],l=rg(t,n,r);for(const o of i)o.call(e.x,l);return!l.defaultPrevented}return!0}}function ig(e){Ee===null&&Fr(),Ee.l===null&&Wu(),Zd(Ee).b.push(e)}function ag(e){Ee===null&&Fr(),Ee.l===null&&Wu(),Zd(Ee).a.push(e)}function Zd(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}const Qd=Object.freeze(Object.defineProperty({__proto__:null,afterUpdate:ag,beforeUpdate:ig,createContext:jm,createEventDispatcher:sg,createRawSnippet:tg,flushSync:jn,fork:Qm,getAbortSignal:ng,getAllContexts:Dm,getContext:Uo,hasContext:$u,hydratable:Tb,hydrate:Gd,mount:qe,onDestroy:ol,onMount:al,setContext:Ho,settled:Ab,tick:Bs,unmount:Xe,untrack:_e},Symbol.toStringTag,{value:"Module"}));function og(){return Symbol(Du)}function $d(e,t,n,r){return e!==t&&typeof t=="object"&&rt in t&&hm(n,Yd(r)),e}function lg(e,t,n,r,s){return $d(n==="="?e[t]=r:n==="&&="?e[t]&&=r():n==="||="?e[t]||=r():n==="??="?e[t]??=r():null,_e(()=>e[t]),t,s)}async function cg(e,t,n,r,s){return $d(n==="="?e[t]=await r:n==="&&="?e[t]&&=await r():n==="||="?e[t]||=await r():n==="??="?e[t]??=await r():null,_e(()=>e[t]),t,s)}var bc=new Map;function ug(e){var t=bc.get(e);if(t){for(const n of t)n.remove();bc.delete(e)}}function dg(e,t,n){return(...r)=>{const s=e(...r);var i=re?s:s.nodeType===Hu?s.firstChild:s;return ef(i,t,n),s}}function fg(e,t,n){e.__svelte_meta={parent:ii,loc:{file:t,line:n[0],column:n[1]}},n[2]&&ef(e.firstChild,t,n[2])}function ef(e,t,n){for(var r=0,s=0;e&&r<n.length;){if(re&&e.nodeType===An){var i=e;i.data[0]===Ui?s+=1:i.data[0]===Ki&&(s-=1)}s===0&&e.nodeType===Uu&&fg(e,t,n[r++]),e=e.nextSibling}}function vg(e){const t=gt(e);function n(r,s){let i={},l={},o,c=!1,u=r;return bn(()=>{if(i!==(i=a(t))){if(o){for(var d in l)delete l[d];We(o)}o=at(()=>{u=u[Hp]??u,c&&wr(!1);var f=new.target?new i(u,s):i(u,s);f&&Object.defineProperties(l,Object.getOwnPropertyDescriptors(f)),c&&wr(!0)}),he.nodes=o.nodes}},rn),c=!0,re&&(u=ve),l}return n[xt]=e[xt],n[pr]={fn:e,current:t,update:r=>{S(n[pr].current,r[pr].fn),r[pr].current=n[pr].current}},n}function hg(e){const t=Ee?.function,n=Ee?.p?.function;return{mutation:(r,s,i,l,o)=>{const c=s[0];if(gc(e,c)||!n)return i;let u=e;for(let f=0;f<s.length-1;f++)if(u=u[s[f]],!u?.[rt])return i;const d=Yd(`${t[xt]}:${l}:${o}`);return wm(c,d,r,n[xt]),i},binding:(r,s,i)=>{!gc(e,r)&&n&&i()?.[rt]&&_m(t[xt],r,s[xt],n[xt])}}}function gc(e,t){const n=rt in e||Gi in e;return!!Qt(e,t)?.set||n&&t in e||!(t in e)}function pg(e){e&&Qp(e[xt]??"a component",e.name)}function mg(){const e=Ee?.function;function t(n){Zp(n,e[xt])}return{$destroy:()=>t("$destroy()"),$on:()=>t("$on(...)"),$set:()=>t("$set(...)")}}function bg(e,t,n=!1){$o();let r=!0,s=Le;Td(()=>{try{var i=e()}catch(o){s=o;return}var l=nr(i,!0,!0);_e(()=>{if(n){if(t(...l),!r){const o=Lm("$inspect(...)");o&&(console.groupCollapsed("stack trace"),console.log(o),console.groupEnd())}}else t(r?"init":"update",...l)}),r=!1}),Ve(()=>{try{e()}catch{}s!==Le&&(console.error(s),s=Le)})}function gg(e,t=[],n=[],r){var s=re,i=null;if(s&&(ut(),i=tr(!1)),n.length===0&&t.every(c=>c.settled)){r(e),s&&Ie(i);return}const l=zs();if(s){var o=ve;Ie(i)}Ds(t,[],n,c=>{s&&(Te(!0),Ie(o));try{for(const u of c)a(u);r(e,...c)}finally{s&&Te(!1),l()}})}function yg(e,...t){(typeof e!="object"||!(e instanceof Node))&&cc();for(let n of t)typeof n!="function"&&cc()}const yc=0,_c=1,_g=2;function wg(e,t,n,r,s){re&&ut();var i=Le,l=gt(i),o=gt(i),c=new Wr(e);bn(()=>{var u=me;u.deactivate();var d=t();u.activate();var f=!1;let h=re&&lc(d)===(e.data===Hi);if(h&&(Ie(tr()),Te(!1)),lc(d)){var b=Zi(),x=!1;const _=g=>{if(!f){x=!0,b(!1),Ut.ensure(),re&&Te(!1);try{g()}finally{rr(!1),Sr||jn()}}};d.then(g=>{_(()=>{hn(l,g),c.ensure(_c,r&&(E=>r(E,l)))})},g=>{_(()=>{if(hn(o,g),c.ensure(_g,s&&(E=>s(E,o))),!s)throw o.v})}),re?c.ensure(yc,n):ct(()=>{x||_(()=>{c.ensure(yc,n)})})}else hn(l,d),c.ensure(_c,r&&(_=>r(_,l)));return h&&Te(!0),()=>{f=!0}})}function K(e,t,n=!1){var r;re&&(r=ve,ut());var s=new Wr(e),i=n?rn:0;function l(o,c){if(re){var u=Vo(r);if(o!==parseInt(u.substring(1))){var d=tr();Ie(d),s.anchor=d,Te(!1),s.ensure(o,c),Te(!0);return}}s.ensure(o,c)}bn(()=>{var o=!1;t((c,u=0)=>{o=!0,l(u,c)}),o||l(-1,null)},i)}const kg=Symbol("NaN");function xg(e,t,n){re&&ut();var r=new Wr(e);bn(()=>{var s=t();s!==s&&(s=kg),r.ensure(s,n)})}function Sg(e,t){re&&Ie(Pe(e)),Ve(()=>{var n=t();for(var r in n){var s=n[r];s?e.style.setProperty(r,s):e.style.removeProperty(r)}})}function dt(e,t){return t}function Eg(e,t,n){for(var r=[],s=t.length,i,l=t.length,o=0;o<s;o++){let f=t[o];Gn(f,()=>{if(i){if(i.pending.delete(f),i.done.add(f),i.pending.size===0){var h=e.outrogroups;oo(e,Wi(i.done)),h.delete(i),h.size===0&&(e.outrogroups=null)}}else l-=1},!1)}if(l===0){var c=r.length===0&&n!==null;if(c){var u=n,d=u.parentNode;Zo(d),d.append(u),e.items.clear()}oo(e,t,!c)}else i={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(i)}function oo(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(const l of e.pending.values())for(const o of l)r.add(e.items.get(o).e)}for(var s=0;s<t.length;s++){var i=t[s];if(r?.has(i)){i.f|=dn;const l=document.createDocumentFragment();nl(i,l)}else We(t[s],n)}}var wc;function pe(e,t,n,r,s,i=null){var l=e,o=new Map,c=(t&Lu)!==0;if(c){var u=e;l=re?Ie(Pe(u)):u.appendChild($e())}re&&ut();var d=null,f=Go(()=>{var m=n();return Vr(m)?m:m==null?[]:Wi(m)}),h,b=new Map,x=!0;function _(m){y.effect.f&mt||(y.pending.delete(m),y.fallback=d,Ig(y,h,l,t,r),d!==null&&(h.length===0?d.f&dn?(d.f^=dn,is(d,null,l)):tl(d):Gn(d,()=>{d=null})))}function g(m){y.pending.delete(m)}var E=bn(()=>{h=a(f);var m=h.length;let I=!1;if(re){var T=Vo(l)===Hi;T!==(m===0)&&(l=tr(),Ie(l),Te(!1),I=!0)}for(var R=new Set,M=me,z=Sd(),P=0;P<m;P+=1){re&&ve.nodeType===An&&ve.data===Ki&&(l=ve,I=!0,Te(!1));var j=h[P],C=r(j,P),O=x?null:o.get(C);O?(O.v&&hn(O.v,j),O.i&&hn(O.i,P),z&&M.unskip_effect(O.e)):(O=Ag(o,x?l:wc??=$e(),j,C,P,s,t,n),x||(O.e.f|=dn),o.set(C,O)),R.add(C)}if(m===0&&i&&!d&&(x?d=at(()=>i(l)):(d=at(()=>i(wc??=$e())),d.f|=dn)),m>R.size&&$p(),re&&m>0&&Ie(tr()),!x)if(b.set(M,R),z){for(const[q,L]of o)R.has(q)||M.skip_effect(L.e);M.oncommit(_),M.ondiscard(g)}else _(M);I&&Te(!0),a(f)}),y={effect:E,items:o,pending:b,outrogroups:null,fallback:d};x=!1,re&&(l=ve)}function es(e){for(;e!==null&&!(e.f&tn);)e=e.next;return e}function Ig(e,t,n,r,s){var i=(r&Ip)!==0,l=t.length,o=e.items,c=es(e.effect.first),u,d=null,f,h=[],b=[],x,_,g,E;if(i)for(E=0;E<l;E+=1)x=t[E],_=s(x,E),g=o.get(_).e,g.f&dn||(g.nodes?.a?.measure(),(f??=new Set).add(g));for(E=0;E<l;E+=1){if(x=t[E],_=s(x,E),g=o.get(_).e,e.outrogroups!==null)for(const j of e.outrogroups)j.pending.delete(g),j.done.delete(g);if(g.f&lt&&(tl(g),i&&(g.nodes?.a?.unfix(),(f??=new Set).delete(g))),g.f&dn)if(g.f^=dn,g===c)is(g,null,n);else{var y=d?d.next:c;g===e.effect.last&&(e.effect.last=g.prev),g.prev&&(g.prev.next=g.next),g.next&&(g.next.prev=g.prev),Rn(e,d,g),Rn(e,g,y),is(g,y,n),d=g,h=[],b=[],c=es(d.next);continue}if(g!==c){if(u!==void 0&&u.has(g)){if(h.length<b.length){var m=b[0],I;d=m.prev;var T=h[0],R=h[h.length-1];for(I=0;I<h.length;I+=1)is(h[I],m,n);for(I=0;I<b.length;I+=1)u.delete(b[I]);Rn(e,T.prev,R.next),Rn(e,d,T),Rn(e,R,m),c=m,d=R,E-=1,h=[],b=[]}else u.delete(g),is(g,c,n),Rn(e,g.prev,g.next),Rn(e,g,d===null?e.effect.first:d.next),Rn(e,d,g),d=g;continue}for(h=[],b=[];c!==null&&c!==g;)(u??=new Set).add(c),b.push(c),c=es(c.next);if(c===null)continue}g.f&dn||h.push(g),d=g,c=es(g.next)}if(e.outrogroups!==null){for(const j of e.outrogroups)j.pending.size===0&&(oo(e,Wi(j.done)),e.outrogroups?.delete(j));e.outrogroups.size===0&&(e.outrogroups=null)}if(c!==null||u!==void 0){var M=[];if(u!==void 0)for(g of u)g.f&lt||M.push(g);for(;c!==null;)!(c.f&lt)&&c!==e.fallback&&M.push(c),c=es(c.next);var z=M.length;if(z>0){var P=r&Lu&&l===0?n:null;if(i){for(E=0;E<z;E+=1)M[E].nodes?.a?.measure();for(E=0;E<z;E+=1)M[E].nodes?.a?.fix()}Eg(e,M,P)}}i&&ct(()=>{if(f!==void 0)for(g of f)g.nodes?.a?.apply()})}function Ag(e,t,n,r,s,i,l,o){var c=l&Sp?l&Ap?gt(n):Qi(n,!1,!1):null,u=l&Ep?gt(s):null;return{v:c,i:u,e:at(()=>(i(t,c??n,u??s,o),()=>{e.delete(r)}))}}function is(e,t,n){if(e.nodes)for(var r=e.nodes.start,s=e.nodes.end,i=t&&!(t.f&dn)?t.nodes.start:n;r!==null;){var l=At(r);if(i.before(r),r===s)return;r=l}}function Rn(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function Cg(e,t,n=!1,r=!1,s=!1,i=!1){var l=e,o="";if(n){var c=e;re&&(l=Ie(Pe(c)))}N(()=>{var u=he;if(o===(o=t()??"")){re&&ut();return}if(n&&!re){u.nodes=null,c.innerHTML=o,o!==""&&Ye(Pe(c),c.lastChild);return}if(u.nodes!==null&&(Pd(u.nodes.start,u.nodes.end),u.nodes=null),o!==""){if(re){ve.data;for(var d=ut(),f=d;d!==null&&(d.nodeType!==An||d.data!=="");)f=d,d=At(d);if(d===null)throw js(),Zn;Ye(ve,f),l=Ie(d);return}var h=r?Ls:s?qo:void 0,b=qn(r?"svg":s?"math":"template",h);b.innerHTML=o;var x=r||s?b:b.content;if(Ye(Pe(x),x.lastChild),r||s)for(;Pe(x);)l.before(Pe(x));else l.before(x)}})}function Tg(e,t,n,r,s){re&&ut();var i=t.$$slots?.[n],l=!1;i===!0&&(i=t[n==="default"?"children":n],l=!0),i===void 0?s!==null&&s(e):i(e,l?()=>r:r)}function Rg(e){const t={};e.children&&(t.default=!0);for(const n in e.$$slots)t[n]=!0;return t}function Vs(e,t,n){var r;re&&(r=ve,ut());var s=new Wr(e);bn(()=>{var i=t()??null;if(re){var l=Vo(r),o=l===Ui,c=i!==null;if(o!==c){var u=tr();Ie(u),s.anchor=u,Te(!1),s.ensure(i,i&&(d=>n(d,i))),Te(!0);return}}s.ensure(i,i&&(d=>n(d,i)))},rn)}const Lg=()=>performance.now(),un={tick:e=>requestAnimationFrame(e),now:()=>Lg(),tasks:new Set};function tf(){const e=un.now();un.tasks.forEach(t=>{t.c(e)||(un.tasks.delete(t),t.f())}),un.tasks.size!==0&&un.tick(tf)}function Pg(e){let t;return un.tasks.size===0&&un.tick(tf),{promise:new Promise(n=>{un.tasks.add(t={c:e,f:n})}),abort(){un.tasks.delete(t)}}}function Si(e,t){Bn(()=>{e.dispatchEvent(new CustomEvent(t))})}function Mg(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 kc(e){const t={},n=e.split(";");for(const r of n){const[s,i]=r.split(":");if(!s||i===void 0)break;const l=Mg(s.trim());t[l]=i.trim()}return t}const jg=e=>e;let nf=null;function xc(e){nf=e}function Dg(e,t,n){var r=nf??he,s=r.nodes,i,l,o,c=null;s.a??={element:e,measure(){i=this.element.getBoundingClientRect()},apply(){if(o?.abort(),l=this.element.getBoundingClientRect(),i.left!==l.left||i.right!==l.right||i.top!==l.top||i.bottom!==l.bottom){const u=t()(this.element,{from:i,to:l},n?.());o=Ei(this.element,u,void 0,1,()=>{o?.abort(),o=void 0})}},fix(){if(!e.getAnimations().length){var{position:u,width:d,height:f}=getComputedStyle(e);if(u!=="absolute"&&u!=="fixed"){var h=e.style;c={position:h.position,width:h.width,height:h.height,transform:h.transform},h.position="absolute",h.width=d,h.height=f;var b=e.getBoundingClientRect();if(i.left!==b.left||i.top!==b.top){var x=`translate(${i.left-b.left}px, ${i.top-b.top}px)`;h.transform=h.transform?`${h.transform} ${x}`:x}}}},unfix(){if(c){var u=e.style;u.position=c.position,u.width=c.width,u.height=c.height,u.transform=c.transform}}},s.a.element=e}function zg(e,t,n,r){var s=(e&Lp)!==0,i=(e&Pp)!==0,l=s&&i,o=(e&Mp)!==0,c=l?"both":s?"in":"out",u,d=t.inert,f=t.style.overflow,h,b;function x(){return Bn(()=>u??=n()(t,r?.()??{},{direction:c}))}var _={is_global:o,in(){if(t.inert=d,!s){b?.abort(),b?.reset?.();return}i||h?.abort(),h=Ei(t,x(),b,1,()=>{Si(t,"introend"),h?.abort(),h=u=void 0,t.style.overflow=f})},out(m){if(!i){m?.(),u=void 0;return}t.inert=!0,b=Ei(t,x(),h,0,()=>{Si(t,"outroend"),m?.()})},stop:()=>{h?.abort(),b?.abort()}},g=he;if((g.nodes.t??=[]).push(_),s&&xi){var E=o;if(!E){for(var y=g.parent;y&&y.f&rn;)for(;(y=y.parent)&&!(y.f&$t););E=!y||(y.f&In)!==0}E&&Ct(()=>{_e(()=>_.in())})}}function Ei(e,t,n,r,s){var i=r===1;if(mr(t)){var l,o=!1;return ct(()=>{if(!o){var g=t({direction:i?"in":"out"});l=Ei(e,g,n,r,s)}}),{abort:()=>{o=!0,l?.abort()},deactivate:()=>l.deactivate(),reset:()=>l.reset(),t:()=>l.t()}}if(n?.deactivate(),!t?.duration&&!t?.delay)return Si(e,i?"introstart":"outrostart"),s(),{abort:St,deactivate:St,reset:St,t:()=>r};const{delay:c=0,css:u,tick:d,easing:f=jg}=t;var h=[];if(i&&n===void 0&&(d&&d(0,1),u)){var b=kc(u(0,1));h.push(b,b)}var x=()=>1-r,_=e.animate(h,{duration:c,fill:"forwards"});return _.onfinish=()=>{_.cancel(),Si(e,i?"introstart":"outrostart");var g=n?.t()??1-r;n?.abort();var E=r-g,y=t.duration*Math.abs(E),m=[];if(y>0){var I=!1;if(u)for(var T=Math.ceil(y/16.666666666666668),R=0;R<=T;R+=1){var M=g+E*f(R/T),z=kc(u(M,1-M));m.push(z),I||=z.overflow==="hidden"}I&&(e.style.overflow="hidden"),x=()=>{var P=_.currentTime;return g+E*f(P/y)},d&&Pg(()=>{if(_.playState!=="running")return!1;var P=x();return d(P,1-P),!0})}_=e.animate(m,{duration:y,fill:"forwards"}),_.onfinish=()=>{x=()=>r,d?.(r,1-r),s()}},{abort:()=>{_&&(_.cancel(),_.effect=null,_.onfinish=St)},deactivate:()=>{s=St},reset:()=>{r===0&&d?.(1,0)},t:()=>x()}}function Og(e,t,n,r,s,i){let l=re;re&&ut();var o=null;re&&ve.nodeType===Uu&&(o=ve,ut());var c=re?ve:e,u=he,d=new Wr(c,!1);bn(()=>{const f=t()||null;var h=s?s():n||f==="svg"?Ls:void 0;if(f===null){d.ensure(null,null),wr(!0);return}return d.ensure(f,b=>{if(f){if(o=re?o:qn(f,h),Ye(o,o),r){re&&Jb(f)&&o.append(document.createComment(""));var x=re?Pe(o):o.appendChild($e());re&&(x===null?Te(!1):Ie(x)),xc(u),r(o,x),xc(null)}he.nodes.end=o,b.before(o)}re&&Ie(b)}),wr(!0),()=>{f&&wr(!1)}},rn),Tt(()=>{wr(!0)}),l&&(Te(!0),Ie(c))}function Ng(e,t){let n=null,r=re;var s;if(re){n=ve;for(var i=Pe(document.head);i!==null&&(i.nodeType!==An||i.data!==e);)i=At(i);if(i===null)Te(!1);else{var l=At(i);i.remove(),Ie(l)}}re||(s=document.head.appendChild($e()));try{bn(()=>t(s),Vu|Nn)}finally{r&&(Te(!0),Ie(n))}}function qg(e,t){Ct(()=>{var n=e.getRootNode(),r=n.host?n:n.head??n.ownerDocument.head;if(!r.querySelector("#"+t.hash)){const s=qn("style");s.id=t.hash,s.textContent=t.code,r.appendChild(s)}})}function rf(e,t,n){Ct(()=>{var r=_e(()=>t(e,n?.())||{});if(n&&r?.update){var s=!1,i={};Ve(()=>{var l=n();rl(l),s&&Xu(i,l)&&(i=l,r.update(l))}),s=!0}if(r?.destroy)return()=>r.destroy()})}function ll(e,t){var n=void 0,r;Rd(()=>{n!==(n=t())&&(r&&(We(r),r=null),n&&(r=at(()=>{Ct(()=>n(e))})))})}const Bg=/[&"<]/g;function Vg(e,t){const n=String(e??""),r=Bg;r.lastIndex=0;let s="",i=0;for(;r.test(n);){const l=r.lastIndex-1,o=n[l];s+=n.substring(i,l)+(o==="&"?"&amp;":o==='"'?"&quot;":"&lt;"),i=l+1}return s+n.substring(i)}function sf(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=sf(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Fg(){for(var e,t,n=0,r="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=sf(e))&&(r&&(r+=" "),r+=t);return r}const Sc={translate:new Map([[!0,"yes"],[!1,"no"]])};function Ug(e,t,n=!1){if(e==="hidden"&&t!=="until-found"&&(n=!0),t==null||!t&&n)return"";const r=Np.call(Sc,e)&&Sc[e].get(t)||t,s=n?'=""':`="${Vg(r)}"`;return` ${e}${s}`}function af(e){return typeof e=="object"?Fg(e):e??""}const Ec=[...`
7
- \r\f \v\uFEFF`];function Hg(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 i=s.length,l=0;(l=r.indexOf(s,l))>=0;){var o=l+i;(l===0||Ec.includes(r[l-1]))&&(o===r.length||Ec.includes(r[o]))?r=(l===0?"":r.substring(0,l))+r.substring(o+1):l=o}}return r===""?null:r}function Ic(e,t=!1){var n=t?" !important;":";",r="";for(var s of Object.keys(e)){var i=e[s];i!=null&&i!==""&&(r+=" "+s+": "+i+n)}return r}function Ta(e){return e[0]!=="-"||e[1]!=="-"?e.toLowerCase():e}function Kg(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 i=!1,l=0,o=!1,c=[];r&&c.push(...Object.keys(r).map(Ta)),s&&c.push(...Object.keys(s).map(Ta));var u=0,d=-1;const _=e.length;for(var f=0;f<_;f++){var h=e[f];if(o?h==="/"&&e[f-1]==="*"&&(o=!1):i?i===h&&(i=!1):h==="/"&&e[f+1]==="*"?o=!0:h==='"'||h==="'"?i=h:h==="("?l++:h===")"&&l--,!o&&i===!1&&l===0){if(h===":"&&d===-1)d=f;else if(h===";"||f===_-1){if(d!==-1){var b=Ta(e.substring(u,d).trim());if(!c.includes(b)){h!==";"&&f++;var x=e.substring(u,f).trim();n+=" "+x+";"}}u=f+1,d=-1}}}}return r&&(n+=Ic(r)),s&&(n+=Ic(s,!0)),n=n.trim(),n===""?null:n}return e==null?null:String(e)}function de(e,t,n,r,s,i){var l=e.__className;if(re||l!==n||l===void 0){var o=Hg(n,r,i);(!re||o!==e.getAttribute("class"))&&(o==null?e.removeAttribute("class"):t?e.className=o:e.setAttribute("class",o)),e.__className=n}else if(i&&s!==i)for(var c in i){var u=!!i[c];(s==null||u!==!!s[c])&&e.classList.toggle(c,u)}return i}function Ra(e,t={},n,r){for(var s in n){var i=n[s];t[s]!==i&&(n[s]==null?e.style.removeProperty(s):e.style.setProperty(s,i,r))}}function He(e,t,n,r){var s=e.__style;if(re||s!==t){var i=Kg(t,r);(!re||i!==e.getAttribute("style"))&&(i==null?e.removeAttribute("style"):e.style.cssText=i),e.__style=t}else r&&(Array.isArray(r)?(Ra(e,n?.[0],r[0]),Ra(e,n?.[1],r[1],"important")):Ra(e,n,r));return r}function hs(e,t,n=!1){if(e.multiple){if(t==null)return;if(!Vr(t))return km();for(var r of e.options)r.selected=t.includes(os(r));return}for(r of e.options){var s=os(r);if(_d(s,t)){r.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function cl(e){var t=new MutationObserver(()=>{hs(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Tt(()=>{t.disconnect()})}function ps(e,t,n=t){var r=new WeakSet,s=!0;Ns(e,"change",i=>{var l=i?"[selected]":":checked",o;if(e.multiple)o=[].map.call(e.querySelectorAll(l),os);else{var c=e.querySelector(l)??e.querySelector("option:not([disabled])");o=c&&os(c)}n(o),e.__value=o,me!==null&&r.add(me)}),Ct(()=>{var i=t();if(e===document.activeElement){var l=me;if(r.has(l))return}if(hs(e,i,s),s&&i===void 0){var o=e.querySelector(":checked");o!==null&&(i=os(o),n(i))}e.__value=i,s=!1}),cl(e)}function os(e){return"__value"in e?e.__value:e.value}const gr=Symbol("class"),yr=Symbol("style"),of=Symbol("is custom element"),lf=Symbol("is html"),Wg=cr?"link":"LINK",Yg=cr?"input":"INPUT",Gg=cr?"option":"OPTION",Xg=cr?"select":"SELECT",Jg=cr?"progress":"PROGRESS";function ge(e){if(re){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var r=e.value;ne(e,"value",null),e.value=r}if(e.hasAttribute("checked")){var s=e.checked;ne(e,"checked",null),e.checked=s}}};e.__on_r=n,ct(n),Id()}}function ms(e,t){var n=ea(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==Jg)||(e.value=t??"")}function ul(e,t){var n=ea(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function dl(e,t){t?e.hasAttribute("selected")||e.setAttribute("selected",""):e.removeAttribute("selected")}function Zg(e,t){const n=e.checked;e.defaultChecked=t,e.checked=n}function Qg(e,t){const n=e.value;e.defaultValue=t,e.value=n}function ne(e,t,n,r){var s=ea(e);re&&(s[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName===Wg)||s[t]!==(s[t]=n)&&(t==="loading"&&(e[Fp]=n),n==null?e.removeAttribute(t):typeof n!="string"&&fl(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function $g(e,t,n){e.setAttributeNS("http://www.w3.org/1999/xlink",t,n)}function ey(e,t,n){var r=ye,s=he;let i=re;re&&Te(!1),yt(null),st(null);try{t!=="style"&&(lo.has(e.getAttribute("is")||e.nodeName)||!customElements||customElements.get(e.getAttribute("is")||e.nodeName.toLowerCase())?fl(e).includes(t):n&&typeof n=="object")?e[t]=n:ne(e,t,n==null?n:String(n))}finally{yt(r),st(s),i&&Te(!0)}}function ty(e,t,n,r,s=!1,i=!1){if(re&&s&&e.nodeName===Yg){var l=e,o=l.type==="checkbox"?"defaultChecked":"defaultValue";o in n||ge(l)}var c=ea(e),u=c[of],d=!c[lf];let f=re&&u;f&&Te(!1);var h=t||{},b=e.nodeName===Gg;for(var x in t)x in n||(n[x]=null);n.class?n.class=af(n.class):(r||n[gr])&&(n.class=null),n[yr]&&(n.style??=null);var _=fl(e);for(const R in n){let M=n[R];if(b&&R==="value"&&M==null){e.value=e.__value="",h[R]=M;continue}if(R==="class"){var g=e.namespaceURI==="http://www.w3.org/1999/xhtml";de(e,g,M,r,t?.[gr],n[gr]),h[R]=M,h[gr]=n[gr];continue}if(R==="style"){He(e,M,t?.[yr],n[yr]),h[R]=M,h[yr]=n[yr];continue}var E=h[R];if(!(M===E&&!(M===void 0&&e.hasAttribute(R)))){h[R]=M;var y=R[0]+R[1];if(y!=="$$")if(y==="on"){const z={},P="$$"+R;let j=R.slice(2);var m=Hb(j);if(Fb(j)&&(j=j.slice(0,-7),z.capture=!0),!m&&E){if(M!=null)continue;e.removeEventListener(j,h[P],z),h[P]=null}if(m)U(j,e,M),ce([j]);else if(M!=null){let C=function(O){h[R].call(this,O)};h[P]=Ud(j,e,C,z)}}else if(R==="style")ne(e,R,M);else if(R==="autofocus")Ur(e,!!M);else if(!u&&(R==="__value"||R==="value"&&M!=null))e.value=e.__value=M;else if(R==="selected"&&b)dl(e,M);else{var I=R;d||(I=Wb(I));var T=I==="defaultValue"||I==="defaultChecked";if(M==null&&!u&&!T)if(c[R]=null,I==="value"||I==="checked"){let z=e;const P=t===void 0;if(I==="value"){let j=z.defaultValue;z.removeAttribute(I),z.defaultValue=j,z.value=z.__value=P?j:null}else{let j=z.defaultChecked;z.removeAttribute(I),z.defaultChecked=j,z.checked=P?j:!1}}else e.removeAttribute(R);else T||_.includes(I)&&(u||typeof M!="string")?(e[I]=M,I in c&&(c[I]=Le)):typeof M!="function"&&ne(e,I,M)}}}return f&&Te(!0),h}function ny(e,t,n=[],r=[],s=[],i,l=!1,o=!1){Ds(s,n,r,c=>{var u=void 0,d={},f=e.nodeName===Xg,h=!1;if(Rd(()=>{var x=t(...c.map(a)),_=ty(e,u,x,i,l,o);h&&f&&"value"in x&&hs(e,x.value);for(let E of Object.getOwnPropertySymbols(d))x[E]||We(d[E]);for(let E of Object.getOwnPropertySymbols(x)){var g=x[E];E.description===Du&&(!u||g!==u[E])&&(d[E]&&We(d[E]),d[E]=at(()=>ll(e,()=>g))),_[E]=g}u=_}),f){var b=e;Ct(()=>{hs(b,u.value,!0),cl(b)})}h=!0})}function ea(e){return e.__attributes??={[of]:e.nodeName.includes("-"),[lf]:e.namespaceURI===ju}}var lo=new Map;function fl(e){var t=e.getAttribute("is")||e.nodeName,n=lo.get(t);if(n)return n;lo.set(t,n=[]);for(var r,s=e,i=Element.prototype;i!==s;){r=Ou(s);for(var l in r)r[l].set&&n.push(l);s=Yi(s)}return n}let La=null;function cf(){if(La===null){var e=qn("select");e.innerHTML=Hd("<option><span>t</span></option>"),La=e.firstChild?.firstChild?.nodeType===1}return La}function ry(e,t){cf()&&ll(e,()=>()=>{const n=e.closest("select");if(!n)return;const r=new MutationObserver(s=>{var i=!1;for(const l of s){if(l.target===e)return;i||=!!l.target.parentElement?.closest("option")?.selected}i&&(e.replaceWith(e=e.cloneNode(!0)),t(e))});return r.observe(n,{childList:!0,characterData:!0,subtree:!0}),()=>{r.disconnect()}})}function sy(e,t){var n=re;cf()||(Te(!1),e.textContent="",e.append(Ed("")));try{t()}finally{n&&(re?v(e):(Te(!0),Ie(e)))}}function iy(e){_t(document,["focusin","focusout"],t=>{t&&t.type==="focusout"&&t.relatedTarget||e(document.activeElement)})}function Se(e,t,n=t){var r=new WeakSet;Ns(e,"input",async s=>{var i=s?e.defaultValue:e.value;if(i=Ma(e)?ja(i):i,n(i),me!==null&&r.add(me),await Bs(),i!==(i=t())){var l=e.selectionStart,o=e.selectionEnd,c=e.value.length;if(e.value=i??"",o!==null){var u=e.value.length;l===o&&o===c&&u>c?(e.selectionStart=u,e.selectionEnd=u):(e.selectionStart=l,e.selectionEnd=Math.min(o,u))}}}),(re&&e.defaultValue!==e.value||_e(t)==null&&e.value)&&(n(Ma(e)?ja(e.value):e.value),me!==null&&r.add(me)),Ve(()=>{var s=t();if(e===document.activeElement){var i=me;if(r.has(i))return}Ma(e)&&s===ja(e.value)||e.type==="date"&&!s&&!e.value||s!==e.value&&(e.value=s??"")})}const Pa=new Set;function ay(e,t,n,r,s=r){var i=n.getAttribute("type")==="checkbox",l=e;let o=!1;if(t!==null)for(var c of t)l=l[c]??=[];l.push(n),Ns(n,"change",()=>{var u=n.__value;i&&(u=Ac(l,u,n.checked)),s(u)},()=>s(i?[]:null)),Ve(()=>{var u=r();if(re&&n.defaultChecked!==n.checked){o=!0;return}i?(u=u||[],n.checked=u.includes(n.__value)):n.checked=_d(n.__value,u)}),Tt(()=>{var u=l.indexOf(n);u!==-1&&l.splice(u,1)}),Pa.has(l)||(Pa.add(l),ct(()=>{l.sort((u,d)=>u.compareDocumentPosition(d)===4?-1:1),Pa.delete(l)})),ct(()=>{if(o){var u;if(i)u=Ac(l,u,n.checked);else{var d=l.find(f=>f.checked);u=d?.__value}s(u)}})}function ls(e,t,n=t){Ns(e,"change",r=>{var s=r?e.defaultChecked:e.checked;n(s)}),(re&&e.defaultChecked!==e.checked||_e(t)==null)&&n(e.checked),Ve(()=>{var r=t();e.checked=!!r})}function Ac(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 Ma(e){var t=e.type;return t==="number"||t==="range"}function ja(e){return e===""?null:+e}function oy(e,t,n=t){Ns(e,"change",()=>{n(e.files)}),re&&e.files&&n(e.files),Ve(()=>{e.files=t()})}function vl(e){for(var t=[],n=0;n<e.length;n+=1)t.push({start:e.start(n),end:e.end(n)});return t}function ly(e,t,n=t){var r,s,i=()=>{cancelAnimationFrame(r),e.paused||(r=requestAnimationFrame(i));var l=e.currentTime;s!==l&&n(s=l)};r=requestAnimationFrame(i),e.addEventListener("timeupdate",i),Ve(()=>{var l=Number(t());s!==l&&!isNaN(l)&&(e.currentTime=s=l)}),Tt(()=>{cancelAnimationFrame(r),e.removeEventListener("timeupdate",i)})}function cy(e,t){var n;_t(e,["loadedmetadata","progress","timeupdate","seeking"],()=>{var r=e.buffered;(!n||n.length!==r.length||n.some((s,i)=>r.start(i)!==s.start||r.end(i)!==s.end))&&(n=vl(r),t(n))})}function uy(e,t){_t(e,["loadedmetadata"],()=>t(vl(e.seekable)))}function dy(e,t){_t(e,["timeupdate"],()=>t(vl(e.played)))}function fy(e,t){_t(e,["seeking","seeked"],()=>t(e.seeking))}function vy(e,t){_t(e,["timeupdate","ended"],()=>t(e.ended))}function hy(e,t){_t(e,["loadedmetadata","loadeddata","canplay","canplaythrough","playing","waiting","emptied"],()=>t(e.readyState))}function py(e,t,n=t){Ct(()=>{var r=Number(t());r!==e.playbackRate&&!isNaN(r)&&(e.playbackRate=r)}),Ct(()=>{_t(e,["ratechange"],()=>{n(e.playbackRate)})})}function my(e,t,n=t){var r=t(),s=()=>{r!==e.paused&&n(r=e.paused)};_t(e,["play","pause","canplay"],s,r==null),Ct(()=>{(r=!!t())!==e.paused&&(r?e.pause():e.play().catch(i=>{throw n(r=!0),i}))})}function by(e,t,n=t){var r=()=>{n(e.volume)};t()==null&&r(),_t(e,["volumechange"],r,!1),Ve(()=>{var s=Number(t());s!==e.volume&&!isNaN(s)&&(e.volume=s)})}function gy(e,t,n=t){var r=()=>{n(e.muted)};t()==null&&r(),_t(e,["volumechange"],r,!1),Ve(()=>{var s=!!t();e.muted!==s&&(e.muted=s)})}function yy(e){_t(window,["online","offline"],()=>{e(navigator.onLine)})}function _y(e,t,n){var r=Qt(e,t);r&&r.set&&(e[t]=n,Tt(()=>{e[t]=null}))}class Fs{#e=new WeakMap;#t;#n;static entries=new WeakMap;constructor(t){this.#n=t}observe(t,n){var r=this.#e.get(t)||new Set;return r.add(n),this.#e.set(t,r),this.#s().observe(t,this.#n),()=>{var s=this.#e.get(t);s.delete(n),s.size===0&&(this.#e.delete(t),this.#t.unobserve(t))}}#s(){return this.#t??(this.#t=new ResizeObserver(t=>{for(var n of t){Fs.entries.set(n.target,n);for(var r of this.#e.get(n.target)||[])r(n)}}))}}var wy=new Fs({box:"content-box"}),uf=new Fs({box:"border-box"}),ky=new Fs({box:"device-pixel-content-box"});function xy(e,t,n){var r=t==="contentRect"||t==="contentBoxSize"?wy:t==="borderBoxSize"?uf:ky,s=r.observe(e,i=>n(i[t]));Tt(s)}function Sy(e,t,n){var r=uf.observe(e,()=>n(e[t]));Ct(()=>(_e(()=>n(e[t])),r))}function Cc(e,t){return e===t||e?.[rt]===t}function De(e={},t,n,r){var s=Ee.r,i=he;return Ct(()=>{var l,o;return Ve(()=>{l=o,o=r?.()||[],_e(()=>{e!==n(...o)&&(t(e,...o),l&&Cc(n(...l),e)&&t(null,...l))})}),()=>{let c=i;for(;c!==s&&c.parent!==null&&c.parent.f&Xa;)c=c.parent;const u=()=>{o&&Cc(n(...o),e)&&t(null,...o)},d=c.teardown;c.teardown=()=>{u(),d?.()}}}),e}function Ey(e,t,n,r=n){t.addEventListener("input",()=>{r(t[e])}),Ve(()=>{var s=n();if(t[e]!==s)if(s==null){var i=t[e];r(i)}else t[e]=s+""})}function Iy(e,t,n,r,s){var i=()=>{r(n[e])};n.addEventListener(t,i),s?Ve(()=>{n[e]=s()}):i(),(n===document.body||n===window||n===document)&&Tt(()=>{n.removeEventListener(t,i)})}function Ay(e,t){_t(e,["focus","blur"],()=>{t(e===document.activeElement)})}function Cy(e,t,n=t){var r=e==="x",s=()=>Bn(()=>{i=!0,clearTimeout(l),l=setTimeout(o,100),n(window[r?"scrollX":"scrollY"])});addEventListener("scroll",s,{passive:!0});var i=!1,l,o=()=>{i=!1},c=!0;Ve(()=>{var u=t();c?c=!1:!i&&u!=null&&(i=!0,clearTimeout(l),r?scrollTo(u,window.scrollY):scrollTo(window.scrollX,u),l=setTimeout(o,100))}),Ct(s),Tt(()=>{removeEventListener("scroll",s)})}function Ty(e,t){_t(window,["resize"],()=>Bn(()=>t(window[e])))}function Ry(e){return function(...t){var n=t[0];n.isTrusted&&e?.apply(this,t)}}function Ly(e){return function(...t){var n=t[0];n.target===this&&e?.apply(this,t)}}function Py(e){return function(...t){var n=t[0];return n.stopPropagation(),e?.apply(this,t)}}function My(e){var t=!1;return function(...n){if(!t)return t=!0,e?.apply(this,n)}}function jy(e){return function(...t){var n=t[0];return n.stopImmediatePropagation(),e?.apply(this,t)}}function Dy(e){return function(...t){var n=t[0];return n.preventDefault(),e?.apply(this,t)}}function zy(e=!1){const t=Ee,n=t.l.u;if(!n)return;let r=()=>rl(t.s);if(e){let s=0,i={};const l=Os(()=>{let o=!1;const c=t.s;for(const u in c)c[u]!==i[u]&&(i[u]=c[u],o=!0);return o&&s++,s});r=()=>a(l)}n.b.length&&Cd(()=>{Tc(t,r),Ya(n.b)}),ke(()=>{const s=_e(()=>n.m.map(qp));return()=>{for(const i of s)typeof i=="function"&&i()}}),n.a.length&&ke(()=>{Tc(t,r),Ya(n.a)})}function Tc(e,t){if(e.l.s)for(const n of e.l.s)a(n);t()}function Oy(e){var t=gt(0);return function(){return arguments.length===1?(S(t,a(t)+1),arguments[0]):(a(t),e())}}function Ny(e,t){var n=e.$$events?.[t.type],r=Vr(n)?n.slice():n==null?[]:[n];for(var s of r)s.call(this,t)}function qy(e,t,n){e.$$events||={},e.$$events[t]||=[],e.$$events[t].push(n)}function By(e){for(var t in e)t in this&&(this[t]=e[t])}function Vy(e,t=1){const n=e();return e(n+t),n}function Fy(e,t=1){const n=e()+t;return e(n),n}const Uy={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 Hy(e,t,n){return new Proxy({props:e,exclude:t},Uy)}const Ky={get(e,t){if(!e.exclude.includes(t))return a(e.version),t in e.special?e.special[t]():e.props[t]},set(e,t,n){if(!(t in e.special)){var r=he;try{st(e.parent_effect),e.special[t]=Q({get[t](){return e.props[t]}},t,Pu)}finally{st(r)}}return e.special[t](n),Mr(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),Mr(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 Wy(e,t){return new Proxy({props:e,exclude:t,special:{},version:gt(0),parent_effect:he},Ky)}const Yy={get(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(mr(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];mr(s)&&(s=s());const i=Qt(s,t);if(i&&i.set)return i.set(n),!0}return!1},getOwnPropertyDescriptor(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(mr(r)&&(r=r()),typeof r=="object"&&r!==null&&t in r){const s=Qt(r,t);return s&&!s.configurable&&(s.configurable=!0),s}}},has(e,t){if(t===rt||t===Gi)return!1;for(let n of e.props)if(mr(n)&&(n=n()),n!=null&&t in n)return!0;return!1},ownKeys(e){const t=[];for(let n of e.props)if(mr(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 Us(...e){return new Proxy({props:e},Yy)}function Q(e,t,n,r){var s=(n&Tp)!==0,i=(n&Rp)!==0,l=r,o=!0,c=()=>(o&&(o=!1,l=i?_e(r):r),l);let u;if(s){var d=rt in e||Gi in e;u=Qt(e,t)?.set??(d&&t in e?y=>e[t]=y:void 0)}var f,h=!1;s?[f,h]=od(()=>e[t]):f=e[t],f===void 0&&r!==void 0&&(f=c(),u&&(cm(),u(f)));var b;if(b=()=>{var y=e[t];return y===void 0?c():(o=!0,y)},!(n&Pu))return b;if(u){var x=e.$$legacy;return function(y,m){return arguments.length>0?((!m||x||h)&&u(m?b():y),y):b()}}var _=!1,g=(n&Cp?Os:Go)(()=>(_=!1,b()));s&&a(g);var E=he;return function(y,m){if(arguments.length>0){const I=m?a(g):s?le(y):y;return S(g,I),_=!0,l!==void 0&&(l=I),y}return Sn&&_||E.f&mt?g.v:a(g)}}function Gy(e,t,n,r,s,i){vd(t,()=>{var l=!1;Fo?.[xt],Ve(()=>{if(!l){var[o,c]=od(n);if(!c){var u=r(),d=!1,f=Ve(()=>{d||o[u]});d=!0,f.deps===null&&(pm(),l=!0)}}})})}function Xy(e){return new Jy(e)}class Jy{#e;#t;constructor(t){var n=new Map,r=(i,l)=>{var o=Qi(l,!1,!1);return n.set(i,o),o};const s=new Proxy({...t.props||{},$$events:{}},{get(i,l){return a(n.get(l)??r(l,Reflect.get(i,l)))},has(i,l){return l===Gi?!0:(a(n.get(l)??r(l,Reflect.get(i,l))),Reflect.has(i,l))},set(i,l,o){return S(n.get(l)??r(l,o),o),Reflect.set(i,l,o)}});this.#t=(t.hydrate?Gd:qe)(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)&&jn(),this.#e=s.$$events;for(const i of Object.keys(this.#t))i==="$set"||i==="$destroy"||i==="$on"||Qn(this,i,{get(){return this.#t[i]},set(l){this.#t[i]=l},enumerable:!0});this.#t.$set=i=>{Object.assign(s,i)},this.#t.$destroy=()=>{Xe(this.#t)}}$set(t){this.#t.$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.#t.$destroy()}}let df;typeof HTMLElement=="function"&&(df=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 i=qn("slot");r!=="default"&&(i.name=r),k(s,i)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const t={},n=Zy(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]=ci(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=Xy({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=Hr(()=>{Ve(()=>{this.$$r=!0;for(const r of gi(this.$$c)){if(!this.$$p_d[r]?.reflect)continue;this.$$d[r]=this.$$c[r];const s=ci(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 i=this.$$c.$on(r,s);this.$$l_u.set(s,i)}this.$$l={}}}attributeChangedCallback(e,t,n){this.$$r||(e=this.$$g_p(e),this.$$d[e]=ci(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 gi(this.$$p_d).find(t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e)||e}});function ci(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 Zy(e){const t={};return e.childNodes.forEach(n=>{t[n.slot||"default"]=!0}),t}function Qy(e,t,n,r,s,i){let l=class extends df{constructor(){super(e,n,s),this.$$p_d=t}static get observedAttributes(){return gi(t).map(o=>(t[o].attribute||o).toLowerCase())}};return gi(t).forEach(o=>{Qn(l.prototype,o,{get(){return this.$$c&&o in this.$$c?this.$$c[o]:this.$$d[o]},set(c){c=ci(o,c,t),this.$$d[o]=c;var u=this.$$c;if(u){var d=Qt(u,o)?.get;d?u[o]=c:u.$set({[o]:c})}}})}),r.forEach(o=>{Qn(l.prototype,o,{get(){return this.$$c?.[o]}})}),i&&(l=i(l)),e.element=l,l}function $y(e,...t){return _e(()=>{try{let n=!1;const r=[];for(const s of t)s&&typeof s=="object"&&rt in s?(r.push(nr(s,!0)),n=!0):r.push(s);n&&(mm(e),console.log("%c[snapshot]","color: grey",...r))}catch{}}),t}const ff=Object.freeze(Object.defineProperty({__proto__:null,CLASS:gr,FILENAME:xt,HMR:pr,NAMESPACE_SVG:Ls,STYLE:yr,aborted:ro,action:rf,get active_effect(){return he},add_legacy_event_listener:qy,add_locations:dg,add_svelte_meta:Mm,animation:Dg,append:k,append_styles:qg,apply:Lb,assign:lg,assign_async:cg,async:gg,async_derived:hd,attach:ll,attachment:og,attr:Ug,attribute_effect:ny,autofocus:Ur,await:wg,bind_active_element:iy,bind_buffered:cy,bind_checked:ls,bind_content_editable:Ey,bind_current_time:ly,bind_element_size:Sy,bind_ended:vy,bind_files:oy,bind_focused:Ay,bind_group:ay,bind_muted:gy,bind_online:yy,bind_paused:my,bind_playback_rate:py,bind_played:dy,bind_prop:_y,bind_property:Iy,bind_ready_state:hy,bind_resize_observer:xy,bind_seekable:uy,bind_seeking:fy,bind_select_value:ps,bind_this:De,bind_value:Se,bind_volume:by,bind_window_scroll:Cy,bind_window_size:Ty,boundary:fd,bubble_event:Ny,check_target:pg,child:p,cleanup_styles:ug,clsx:af,comment:Be,component:Vs,create_custom_element:Qy,create_ownership_validator:hg,css_props:Sg,customizable_select:sy,deep_read:ki,deep_read_state:rl,deferred_template_effect:wb,delegate:ce,delegated:U,derived:H,derived_safe_equal:Go,get document(){return wd},each:pe,eager:Zm,effect:Ct,effect_root:Hr,effect_tracking:qs,element:Og,equals:vb,event:Re,exclude_from_object:Vp,fallback:Bp,first_child:fe,flush:jn,for_await_track_reactivity_loss:sb,from_html:A,from_mathml:Db,from_svg:il,from_tree:zb,get:a,head:Ng,hmr:vg,html:Cg,hydrate_template:Sm,if:K,index:dt,init:zy,init_select:cl,inspect:bg,invalid_default_snippet:Kp,invalidate_inner_signals:Sb,invalidate_store:Fm,invoke_error_boundary:fn,key:xg,legacy_api:mg,legacy_pre_effect:gb,legacy_pre_effect_reset:yb,legacy_rest_props:Wy,log_if_contains_state:$y,mark_store_binding:Ym,mutable_source:Qi,mutate:ub,next:Et,noop:St,once:My,pending:nb,pop:ie,preventDefault:Dy,prevent_snippet_stringification:Jd,prop:Q,props_id:qb,proxy:le,push:se,raf:un,reactive_import:Oy,remove_input_defaults:ge,remove_textarea_child:Qo,render_effect:Ve,replay_events:Rb,reset:v,rest_props:Hy,run:ib,run_after_blockers:vd,safe_get:Cb,sanitize_slots:Rg,save:rb,select_option:hs,selectedcontent:ry,self:Ly,set:S,set_attribute:ne,set_checked:ul,set_class:de,set_custom_element_data:ey,set_default_checked:Zg,set_default_value:Qg,set_selected:dl,set_style:He,set_text:D,set_value:ms,set_xlink_attribute:$g,setup_stores:Um,sibling:w,slot:Tg,snapshot:nr,snippet:Ht,spread_props:Us,state:F,stopImmediatePropagation:jy,stopPropagation:Py,store_get:Bm,store_mutate:Hm,store_set:ad,store_unsub:Vm,strict_equals:fb,tag:Rm,tag_proxy:Qu,template_effect:N,text:en,tick:Bs,to_array:Bu,trace:Tm,track_reactivity_loss:eo,transition:zg,trusted:Ry,untrack:_e,update:Mr,update_legacy_props:By,update_pre:db,update_pre_prop:Fy,update_pre_store:Wm,update_prop:Vy,update_store:Km,user_effect:ke,user_pre_effect:Cd,validate_binding:Gy,validate_dynamic_element_tag:Qb,validate_snippet_args:yg,validate_store:$b,validate_void_dynamic_element:Zb,wait:ab,get window(){return to},with_script:Ob,wrap_snippet:eg},Symbol.toStringTag,{value:"Module"}));class co{#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 Rc{#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 e_=["workspace","user"],bs="state:manage",sn={ephemeral:new co,session:new co,workspace:new Rc("sh3:workspace:"),user:new Rc("sh3:user:")},Da=new Map;let za=!1;function t_(e,t,n){Da.set(`${e}:${t}`,{zone:e,shardId:t,value:n}),!za&&(za=!0,queueMicrotask(()=>{za=!1;for(const{zone:r,shardId:s,value:i}of Da.values())sn[r].write(s,i);Da.clear()}))}function ta(e,t){const n={};for(const r of Object.keys(t)){const s=t[r],l=sn[r].read(e),o={...s,...l??{}},c=le(o);n[r]=c,e_.includes(r)&&Hr(()=>{let u=!0;ke(()=>{const d=nr(c);if(u){u=!1;return}t_(r,e,d)})})}return n}function Oa(e,t){sn[e]=t}function n_(e,t){return sn[e].read(t)}function uo(e,t){sn[e].delete(t)}const r_="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(r_);const s_=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");function i_(e){const t=document.activeElement;function n(){return Array.from(e.querySelectorAll(s_))}function r(s){if(s.key!=="Tab")return;const i=n();if(i.length===0){s.preventDefault();return}const l=i[0],o=i[i.length-1],c=document.activeElement;s.shiftKey&&(c===l||!e.contains(c))?(s.preventDefault(),o.focus()):!s.shiftKey&&(c===o||!e.contains(c))&&(s.preventDefault(),l.focus())}return e.addEventListener("keydown",r),queueMicrotask(()=>{(n()[0]??e).focus()}),()=>{e.removeEventListener("keydown",r),t&&document.contains(t)&&t.focus()}}var a_=A('<div class="modal-frame svelte-2tcvcm" role="presentation"><div class="modal-box svelte-2tcvcm" role="dialog" aria-modal="true" tabindex="-1"><!></div></div>');function o_(e,t){se(t,!0);let n;ke(()=>{if(n)return i_(n)});function r(o){t.onBackdropClick&&o.target===o.currentTarget&&t.onBackdropClick()}var s=a_(),i=p(s),l=p(i);Vs(l,()=>t.Content,(o,c)=>{c(o,Us(()=>t.contentProps,{get close(){return t.close}}))}),v(i),De(i,o=>n=o,()=>n),v(s),N(()=>He(i,t.boxStyle)),U("click",s,r),k(e,s),ie()}ce(["click"]);const hl={};function l_(e,t){hl[e]=t}function c_(e){delete hl[e]}function na(e){const t=hl[e];if(!t)throw new Error(`Overlay layer "${e}" root is not registered — Sh3.svelte must mount before opening overlays on this layer.`);return t}const Dn=le(new Map),nt=le({id:null}),Dr=le({id:null});function u_(){return Dr.id}function gs(e){Dn.set(e.manifest.id,e)}function Yr(){return Array.from(Dn.values()).map(e=>e.manifest)}function pl(){const e=nt.id;return e?Dn.get(e)?.manifest??null:null}function zn(e){return Dn.get(e)}const cs=[],Er=[];let ys=null;function d_(e){ys=e}function f_(e){if(!nt.id)throw new Error("pushNavEntry requires an active app");const t=Symbol("nav-entry");return Er.push({id:t,label:e.label,onPop:e.onPop}),{remove(){const n=Er.findIndex(r=>r.id===t);n>=0&&Er.splice(n,1)}}}function vf(e){const t=Symbol("dismissable");return cs.push({id:t,dismiss:e}),{unregister(){const n=cs.findIndex(r=>r.id===t);n>=0&&cs.splice(n,1)}}}function hf(){Er.length=0}function v_(){if(cs.length>0){cs.pop().dismiss();return}if(Er.length>0){Er.pop().onPop();return}nt.id&&ys&&ys.returnToHome()}function h_(){nt.id||Dr.id&&ys&&ys.launchApp(Dr.id)}const It=[];let Ii=!1,jt=null;const p_=.5;function pf(){const e=na("modal");if(It.length===0){jt&&(jt.remove(),jt=null);return}jt||(jt=document.createElement("div"),jt.className="sh3-modal-backdrop",jt.style.position="absolute",jt.style.inset="0",jt.style.pointerEvents="auto",jt.style.transition="background-color 120ms ease",jt.style.background=`rgba(0, 0, 0, ${p_})`);const t=It[It.length-1].host;e.insertBefore(jt,t)}function mf(e){e.key==="Escape"&&It.length!==0&&(e.stopPropagation(),e.preventDefault(),It[It.length-1].handle.close())}function m_(){Ii||(Ii=!0,document.addEventListener("keydown",mf,!0))}function b_(){It.length>0||Ii&&(Ii=!1,document.removeEventListener("keydown",mf,!0))}function bf(e){const t=It.indexOf(e);t<0||(It.splice(t,1),Xe(e.frame),e.host.remove(),pf(),b_())}function g_(e,t,n){const r=na("modal"),s=document.createElement("div");s.className="sh3-modal-host",s.dataset.sh3OverlayHost="modal",s.style.position="absolute",s.style.inset="0",s.style.pointerEvents="auto",r.appendChild(s);const i={},l={close:()=>bf(i)},o=vf(()=>l.close()),c=l.close;l.close=()=>{o.unregister(),c()};const u=qe(o_,{target:s,props:{Content:e,contentProps:t??{},close:l.close,boxStyle:n?.boxStyle,onBackdropClick:n?.dismissOnBackdrop?l.close:void 0}});return i.host=s,i.frame=u,i.handle=l,It.push(i),pf(),m_(),l}function y_(){for(;It.length>0;)bf(It[It.length-1])}const Wt={open:g_,closeAll:y_};var __=A('<div class="popup-frame svelte-mp81cl" role="menu" tabindex="-1"><!></div>');function w_(e,t){se(t,!0);let n,r=F(-9999),s=F(-9999);ke(()=>{if(!n)return;const o=n.getBoundingClientRect(),c=4,u=window.innerWidth,d=window.innerHeight;let f=t.anchorRect.bottom+c,h=t.anchorRect.left;if(h+o.width>u-c&&(h=Math.max(c,u-o.width-c)),f+o.height>d-c){const b=t.anchorRect.top-o.height-c;f=b>=c?b:Math.max(c,d-o.height-c)}S(r,f,!0),S(s,h,!0)});var i=__(),l=p(i);Vs(l,()=>t.Content,(o,c)=>{c(o,Us(()=>t.contentProps,{get close(){return t.close}}))}),v(i),De(i,o=>n=o,()=>n),N(()=>He(i,`top: ${a(r)??""}px; left: ${a(s)??""}px;`)),k(e,i),ie()}function k_(e){return e instanceof HTMLElement?e.getBoundingClientRect():new DOMRect(e.x,e.y,0,0)}let Vt=null;function gf(e){if(!Vt)return;const t=e.target;t&&Vt.host.contains(t)||Vt.handle.close()}function yf(e){Vt&&e.key==="Escape"&&(e.stopPropagation(),e.preventDefault(),Vt.handle.close())}function x_(){document.addEventListener("pointerdown",gf,!0),document.addEventListener("keydown",yf,!0)}function S_(){document.removeEventListener("pointerdown",gf,!0),document.removeEventListener("keydown",yf,!0)}function fo(e){Vt===e&&(Vt=null,S_(),Xe(e.frame),e.host.remove())}function E_(e,t,n){Vt&&fo(Vt);const r=na("popup"),s=document.createElement("div");s.className="sh3-popup-host",s.dataset.sh3OverlayHost="popup",s.style.position="absolute",s.style.inset="0",s.style.pointerEvents="none",r.appendChild(s);const i=k_(t.anchor),l={},o={close:()=>fo(l)},c=vf(()=>o.close()),u=o.close;o.close=()=>{c.unregister(),u()};const d=qe(w_,{target:s,props:{Content:e,contentProps:n??{},anchorRect:i,close:o.close}});return l.host=s,l.frame=d,l.handle=o,Vt=l,queueMicrotask(x_),o}function I_(){Vt&&fo(Vt)}const vo={show:E_,close:I_};var A_=A('<div role="status" aria-live="polite"><span class="toast-level svelte-12gwnj0"> </span> <span class="toast-message svelte-12gwnj0"> </span></div>');function C_(e,t){var n=A_(),r=p(n),s=p(r,!0);v(r);var i=w(r,2),l=p(i,!0);v(i),v(n),N(()=>{de(n,1,`toast toast-${t.level??""}`,"svelte-12gwnj0"),D(s,t.level),D(l,t.message)}),U("click",n,function(...o){t.close?.apply(this,o)}),k(e,n)}ce(["click"]);const Ai=new Set;let ft=null;function T_(){if(ft&&ft.isConnected)return ft;const e=na("toast");return ft=document.createElement("div"),ft.className="sh3-toast-stack",ft.style.position="absolute",ft.style.right="16px",ft.style.bottom="16px",ft.style.display="flex",ft.style.flexDirection="column-reverse",ft.style.gap="6px",ft.style.pointerEvents="none",e.appendChild(ft),ft}function ho(e){Ai.has(e)&&(Ai.delete(e),e.timer!==null&&(clearTimeout(e.timer),e.timer=null),Xe(e.instance),e.host.remove())}function R_(e,t={}){const n=t.level??"info",r=t.duration??3e3,s=T_(),i=document.createElement("div");i.className="sh3-toast-host",s.appendChild(i);const l={},o={close:()=>ho(l)},c=qe(C_,{target:i,props:{message:e,level:n,close:o.close}});return l.host=i,l.instance=c,l.handle=o,l.timer=Number.isFinite(r)&&r>0?setTimeout(()=>ho(l),r):null,Ai.add(l),o}function L_(){for(const e of[...Ai])ho(e)}const vn={notify:R_,clear:L_},Lc={w:120,h:80};function ml(e){if(e.type==="slot")return{...Lc};if(e.type==="tabs")return{...Lc};const t=e.children.map(ml);return e.direction==="horizontal"?{w:t.reduce((n,r)=>n+r.w,0),h:t.reduce((n,r)=>Math.max(n,r.h),0)}:{w:t.reduce((n,r)=>Math.max(n,r.w),0),h:t.reduce((n,r)=>n+r.h,0)}}const Pc=32,Mc={x:48,y:48};function _f(e,t){if(e.length===0)return{...Mc};const n=e[e.length-1],r={x:n.position.x+Pc,y:n.position.y+Pc};return r.x+120>t.w||r.y+32>t.h?{...Mc}:r}let jc=0;function wf(){return jc+=1,`float-${Date.now().toString(36)}-${jc.toString(36)}`}function kf(e){return e.type==="slot"?e.viewId==null:e.type==="tabs"?e.tabs.every(t=>t.viewId==null):e.children.every(kf)}function P_(e){return e.closest("[data-sh3-overlay-host]")}class M_ extends Map{#e=new Map;#t=F(0);#n=F(0);#s=_n||-1;constructor(t){if(super(),t){for(var[n,r]of t)super.set(n,r);this.#n.v=super.size}}#r(t){return _n===this.#s?F(t):gt(t)}has(t){var n=this.#e,r=n.get(t);if(r===void 0)if(super.has(t))r=this.#r(0),n.set(t,r);else return a(this.#t),!1;return a(r),!0}forEach(t,n){this.#a(),super.forEach(t,n)}get(t){var n=this.#e,r=n.get(t);if(r===void 0)if(super.has(t))r=this.#r(0),n.set(t,r);else{a(this.#t);return}return a(r),super.get(t)}set(t,n){var r=this.#e,s=r.get(t),i=super.get(t),l=super.set(t,n),o=this.#t;if(s===void 0)s=this.#r(0),r.set(t,s),S(this.#n,super.size),cn(o);else if(i!==n){cn(s);var c=o.reactions===null?null:new Set(o.reactions),u=c===null||!s.reactions?.every(d=>c.has(d));u&&cn(o)}return l}delete(t){var n=this.#e,r=n.get(t),s=super.delete(t);return r!==void 0&&(n.delete(t),S(r,-1)),s&&(S(this.#n,super.size),cn(this.#t)),s}clear(){if(super.size!==0){super.clear();var t=this.#e;S(this.#n,0);for(var n of t.values())S(n,-1);cn(this.#t),t.clear()}}#a(){a(this.#t);var t=this.#e;if(this.#n.v!==t.size){for(var n of super.keys())if(!t.has(n)){var r=this.#r(0);t.set(n,r)}}for([,r]of this.#e)a(r)}keys(){return a(this.#t),super.keys()}values(){return this.#a(),super.values()}entries(){return this.#a(),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return a(this.#n),super.size}}const po=new M_;function _s(e,t){t?po.set(e,!0):po.delete(e)}function j_(e){return po.get(e)??!1}let D_=[],bl=null,Hs=()=>({w:1600,h:900});function z_(e,t){bl=e,Hs=t}function O_(){bl=null,Hs=()=>({w:1600,h:900})}function ur(){return bl??D_}const gl=new Map;function N_(e){return gl.get(e)}const wn=new Map;let Dc=0;function q_(e){return Dc+=1,`float:${e}:${Dc}`}const B_={w:600,h:400};function V_(e,t){return{w:Math.max(e.w,t.w),h:Math.max(e.h,t.h)}}function F_(e,t={}){const n=ur(),r=wf(),s=q_(e);let i;if(t.dismissable){const d={type:"slot",slotId:s,viewId:e};t.meta&&(d.meta=t.meta),i=d}else{const d=t.title??e,f={slotId:s,viewId:e,label:d};t.meta&&(f.meta=t.meta),i={type:"tabs",tabs:[f],activeTab:0}}const l=ml(i),o=t.size??V_(B_,l),c=t.position??_f(n,Hs()),u={id:r,content:i,position:c,size:o,title:t.title};if(t.dismissable&&(u.dismissable=!0),t.dismissable&&t.anchor){const d=P_(t.anchor);d&&gl.set(r,d)}return n.push(u),r}function U_(e){const t=ur(),n=wf(),r=e.position??_f(t,Hs()),s={id:n,content:e.content,position:r,size:e.size,title:e.title};return t.push(s),n}function H_(e){const t=ur(),n=t.findIndex(r=>r.id===e);n<0||(t.splice(n,1),gl.delete(e),wn.delete(e),_s(e,!1))}function K_(){return ur().slice()}function xf(e){const t=ur(),n=t.findIndex(s=>s.id===e);if(n<0||n===t.length-1)return;const[r]=t.splice(n,1);t.push(r)}function Sf(e){if(wn.has(e))return;const t=ur().find(r=>r.id===e);if(!t)return;wn.set(e,{position:{x:t.position.x,y:t.position.y},size:{w:t.size.w,h:t.size.h}}),_s(e,!0);const n=Hs();t.position.x=0,t.position.y=0,t.size.w=n.w,t.size.h=n.h,xf(e)}function Ef(e){const t=wn.get(e);if(!t)return;const n=ur().find(r=>r.id===e);if(!n){wn.delete(e),_s(e,!1);return}n.position.x=t.position.x,n.position.y=t.position.y,n.size.w=t.size.w,n.size.h=t.size.h,wn.delete(e),_s(e,!1)}function W_(e){wn.has(e)?Ef(e):Sf(e)}function Y_(e){wn.has(e)&&(wn.delete(e),_s(e,!1))}function G_(e){return j_(e)}const Ce={open:F_,openWithContent:U_,close:H_,list:K_,focus:xf,maximize:Sf,restore:Ef,toggleMaximize:W_,unmaximize:Y_,isMaximized:G_};let Ci=null;function X_(e){Ci=e}function J_(){Ci=null}function yl(){if(!Ci)throw new Error("presetManager: no app attached — bind an AppLayoutBlob first");return Ci}function Z_(){return Object.keys(yl().presets)}function Q_(){return yl().activePreset}function $_(e){const t=yl();if(!(e in t.presets))throw new Error(`presetManager.switch: unknown preset "${e}"`);t.activePreset=e}const ew={list:Z_,active:Q_,switch:$_},kr=new Map,ui=new Map,mo=new Set,zr=new Map;function zc(e){const t=ui.get(e);if(t)for(const n of t)n();for(const n of mo)n(e)}function tw(e,t){let n=zr.get(e);n||(n=new Set,zr.set(e,n)),n.add(t)}function nw(e,t){const n=zr.get(e);n&&(n.delete(t),n.size===0&&zr.delete(e))}function If(e,t,n){const r=Symbol();let s=kr.get(e);s||(s=new Map,kr.set(e,s)),s.set(r,t),zc(e);const i=n?.scope?.slotId;let l=!1;const o=()=>{if(l)return;l=!0,i&&nw(i,o);const c=kr.get(e);c&&c.delete(r)&&(c.size===0&&kr.delete(e),zc(e))};return i&&tw(i,o),o}function dr(e){const t=kr.get(e);return t?Array.from(t.values()):[]}function rw(){return Array.from(kr.keys())}function ra(e,t){let n=ui.get(e);n||(n=new Set,ui.set(e,n)),n.add(t);let r=!1;return()=>{r||(r=!0,n.delete(t),n.size===0&&ui.delete(e))}}function sw(e){mo.add(e);let t=!1;return()=>{t||(t=!0,mo.delete(e))}}function iw(e){const t=zr.get(e);if(!t)return;const n=Array.from(t);for(const r of n)r();zr.delete(e)}const aw=Object.freeze([".md",".txt",".json",".guml",".css",".js",".ts",".tsx",".jsx",".html",".svg",".csv",".yaml",".yml",".xml",".log",".ini",".toml"]);function ow(e){return e.kind?e.kind:e.extension&&aw.includes(e.extension.toLowerCase())?"text":"binary"}const di=[];function Oc(e){return di.push(e),()=>{const t=di.indexOf(e);t>=0&&di.splice(t,1)}}function lw(e,t=[]){return[...di,...t].filter(r=>{try{return r.appliesTo(e)}catch{return!1}}).sort((r,s)=>(s.priority??0)-(r.priority??0))[0]??null}var cw=A("<span> </span>"),uw=A('<div class="sh3-conflict-text-dual svelte-iwgja4"><div role="button" tabindex="0"><header class="sh3-conflict-text-head svelte-iwgja4"> </header> <pre class="sh3-conflict-text-body svelte-iwgja4"><code> </code></pre></div> <div role="button" tabindex="0"><header class="sh3-conflict-text-head svelte-iwgja4"> </header> <pre class="sh3-conflict-text-body svelte-iwgja4"><code> </code></pre></div></div> <details class="sh3-conflict-text-diff svelte-iwgja4"><summary> </summary> <pre class="svelte-iwgja4"><code></code></pre></details>',1),dw=A("<option> </option>"),fw=A("<button> </button>"),vw=A('<pre class="sh3-conflict-text-body svelte-iwgja4"><code> </code></pre>'),hw=A('<div class="sh3-conflict-text-tabs svelte-iwgja4"><div class="sh3-conflict-text-picker svelte-iwgja4"><label>Reference: <select class="svelte-iwgja4"></select></label></div> <div class="sh3-conflict-text-tablist svelte-iwgja4"></div> <!></div>'),pw=A('<div class="sh3-conflict-text svelte-iwgja4"><!></div>');function mw(e,t){se(t,!0);let n=F("");ke(()=>{(!a(n)||!t.item.branches.find(b=>b.origin===a(n)))&&S(n,t.item.branches[0]?.origin??"local",!0)});const r=H(()=>t.item.branches.length===2),s=H(()=>a(r)?t.item.branches[0]:t.item.branches.find(b=>b.origin===a(n))??t.item.branches[0]),i=H(()=>a(r)?t.item.branches[1]:t.item.branches.find(b=>b.origin===t.selectedOrigin)??t.item.branches[1]??t.item.branches[0]);function l(b,x){const _=(b??"").split(/\r?\n/),g=(x??"").split(/\r?\n/),E=[],y=Math.max(_.length,g.length);for(let m=0;m<y;m++){const I=_[m],T=g[m];I===T?typeof I=="string"&&E.push({kind:"same",text:I}):(typeof I=="string"&&E.push({kind:"left",text:I}),typeof T=="string"&&E.push({kind:"right",text:T}))}return E}const o=H(()=>!a(s)||!a(i)?[]:l(a(s).content??"",a(i).content??"")),c=H(()=>a(o).filter(b=>b.kind!=="same").length);var u=pw(),d=p(u);{var f=b=>{var x=uw(),_=fe(x),g=p(_);let E;var y=p(g),m=p(y);v(y);var I=w(y,2),T=p(I),R=p(T,!0);v(T),v(I),v(g);var M=w(g,2);let z;var P=p(M),j=p(P);v(P);var C=w(P,2),O=p(C),q=p(O,!0);v(O),v(C),v(M),v(_);var L=w(_,2),V=p(L),J=p(V);v(V);var G=w(V,2),$=p(G);pe($,21,()=>a(o),dt,(Z,ae)=>{var X=cw(),B=p(X);v(X),N(()=>{de(X,1,`diff-${a(ae).kind}`,"svelte-iwgja4"),D(B,`${a(ae).kind==="same"?" ":a(ae).kind==="left"?"- ":"+ "}${a(ae).text??""}
8
- `)}),k(Z,X)}),v($),v(G),v(L),N(()=>{E=de(g,1,"sh3-conflict-text-pane svelte-iwgja4",null,E,{selected:a(s).origin===t.selectedOrigin}),D(m,`${a(s).origin??""} · v${a(s).version??""}`),D(R,a(s).content??""),z=de(M,1,"sh3-conflict-text-pane svelte-iwgja4",null,z,{selected:a(i).origin===t.selectedOrigin}),D(j,`${a(i).origin??""} · v${a(i).version??""}`),D(q,a(i).content??""),D(J,`Line diff (${a(c)??""} difference${a(c)===1?"":"s"})`)}),U("click",g,()=>t.onSelect(a(s).origin)),U("keydown",g,Z=>{(Z.key==="Enter"||Z.key===" ")&&t.onSelect(a(s).origin)}),U("click",M,()=>t.onSelect(a(i).origin)),U("keydown",M,Z=>{(Z.key==="Enter"||Z.key===" ")&&t.onSelect(a(i).origin)}),k(b,x)},h=b=>{var x=hw(),_=p(x),g=p(_),E=w(p(g));pe(E,21,()=>t.item.branches,T=>T.origin,(T,R)=>{var M=dw(),z=p(M,!0);v(M);var P={};N(()=>{D(z,a(R).origin),P!==(P=a(R).origin)&&(M.value=(M.__value=a(R).origin)??"")}),k(T,M)}),v(E),v(g),v(_);var y=w(_,2);pe(y,21,()=>t.item.branches,T=>T.origin,(T,R)=>{var M=fw();let z;var P=p(M);v(M),N(()=>{z=de(M,1,"sh3-conflict-text-tab svelte-iwgja4",null,z,{selected:a(R).origin===t.selectedOrigin}),D(P,`${a(R).origin??""} · v${a(R).version??""}`)}),U("click",M,()=>t.onSelect(a(R).origin)),k(T,M)}),v(y);var m=w(y,2);{var I=T=>{var R=vw(),M=p(R),z=p(M,!0);v(M),v(R),N(()=>D(z,a(i).content??"")),k(T,R)};K(m,T=>{a(i)&&T(I)})}v(x),ps(E,()=>a(n),T=>S(n,T)),k(b,x)};K(d,b=>{a(r)&&a(s)&&a(i)?b(f):b(h,-1)})}v(u),k(e,u),ie()}ce(["click","keydown"]);var bw=A("· <code> </code>",1),gw=A('<li class="sh3-conflict-meta-li svelte-1nz3djn"><button type="button"><div class="sh3-conflict-meta-origin svelte-1nz3djn"> </div> <div class="sh3-conflict-meta-detail svelte-1nz3djn"> <!></div></button></li>'),yw=A('<div class="sh3-conflict-meta svelte-1nz3djn"><div class="sh3-conflict-meta-note svelte-1nz3djn">No preview available for this content. Pick the branch you want to keep.</div> <ul class="sh3-conflict-meta-list svelte-1nz3djn"></ul></div>');function _w(e,t){se(t,!0);function n(l){return typeof l!="number"?"—":l<1024?`${l} B`:l<1024*1024?`${(l/1024).toFixed(1)} KiB`:`${(l/(1024*1024)).toFixed(2)} MiB`}function r(l){const o=Date.now()-l;return o<6e4?"just now":o<36e5?`${Math.floor(o/6e4)}m ago`:o<864e5?`${Math.floor(o/36e5)}h ago`:new Date(l).toLocaleString()}var s=yw(),i=w(p(s),2);pe(i,21,()=>t.item.branches,l=>l.origin,(l,o)=>{var c=gw(),u=p(c);let d;var f=p(u),h=p(f,!0);v(f);var b=w(f,2),x=p(b),_=w(x);{var g=E=>{var y=bw(),m=w(fe(y)),I=p(m,!0);v(m),N(()=>D(I,a(o).hashPreview)),k(E,y)};K(_,E=>{a(o).hashPreview&&E(g)})}v(b),v(u),v(c),N((E,y)=>{d=de(u,1,"sh3-conflict-meta-row svelte-1nz3djn",null,d,{selected:a(o).origin===t.selectedOrigin}),D(h,a(o).origin),D(x,`v${a(o).version??""} · ${E??""} · ${y??""} `)},[()=>r(a(o).at),()=>n(a(o).sizeBytes)]),U("click",u,()=>t.onSelect(a(o).origin)),k(l,c)}),v(i),v(s),k(e,s),ie()}ce(["click"]);const ww=1048576;function kw(e){return typeof e=="number"&&e>ww}const xw={id:"sh3-core.text",priority:1,appliesTo:e=>ow(e)!=="text"?!1:!e.branches.some(t=>kw(t.sizeBytes)),mount(e,t){const n=qe(mw,{target:e,props:t});return()=>{Xe(n)}}},Sw={id:"sh3-core.meta",priority:0,appliesTo:()=>!0,mount(e,t){const n=qe(_w,{target:e,props:t});return()=>{Xe(n)}}};let Nc=!1;function Ew(){Nc||(Nc=!0,Oc(xw),Oc(Sw))}var Iw=A('<div class="sh3-conflict-prompt svelte-1jvtzud"><h3 class="sh3-conflict-prompt-title svelte-1jvtzud"> </h3> <p class="sh3-conflict-prompt-intro svelte-1jvtzud">Pick one option for the whole batch, or resolve each conflict individually.</p> <div class="sh3-conflict-prompt-actions svelte-1jvtzud"><button type="button" class="sh3-conflict-prompt-primary svelte-1jvtzud">Overwrite with most recent</button> <button type="button" class="sh3-conflict-prompt-secondary svelte-1jvtzud">Resolve individually</button> <button type="button" class="sh3-conflict-prompt-cancel svelte-1jvtzud">Cancel</button></div></div>');function Aw(e,t){var n=Iw(),r=p(n),s=p(r);v(r);var i=w(r,4),l=p(i);Ur(l,!0);var o=w(l,2),c=w(o,2);v(i),v(n),N(()=>D(s,`${t.count??""} conflict${t.count===1?"":"s"} to resolve`)),U("click",l,function(...u){t.onOverwriteMostRecent?.apply(this,u)}),U("click",o,function(...u){t.onResolveIndividually?.apply(this,u)}),U("click",c,function(...u){t.onCancel?.apply(this,u)}),k(e,n)}ce(["click"]);var Cw=A('<span class="sh3-conflict-detail-counter svelte-pw8iv6"> </span>'),Tw=A('<button type="button"><span><!></span> <span class="sh3-conflict-detail-rail-label svelte-pw8iv6"> </span></button>'),Rw=A('<aside class="sh3-conflict-detail-rail svelte-pw8iv6"></aside>'),Lw=A('<label class="sh3-conflict-detail-branch svelte-pw8iv6"><input type="radio"/> <span> </span></label>'),Pw=A('<div class="sh3-conflict-detail-branches svelte-pw8iv6"></div> <div class="sh3-conflict-detail-renderer svelte-pw8iv6"></div>',1),Mw=A('<div class="sh3-conflict-detail svelte-pw8iv6"><header class="sh3-conflict-detail-head svelte-pw8iv6"><h3 class="svelte-pw8iv6"> </h3> <!></header> <div class="sh3-conflict-detail-body svelte-pw8iv6"><!> <section class="sh3-conflict-detail-main svelte-pw8iv6"><!></section></div> <footer class="sh3-conflict-detail-foot svelte-pw8iv6"><div class="sh3-conflict-detail-nav svelte-pw8iv6"><button type="button" class="svelte-pw8iv6">← Prev</button> <button type="button" class="svelte-pw8iv6"> </button> <button type="button" class="svelte-pw8iv6">Next →</button></div> <div class="sh3-conflict-detail-actions svelte-pw8iv6"><button type="button" class="sh3-conflict-detail-cancel svelte-pw8iv6">Cancel</button> <button type="button" class="sh3-conflict-detail-done svelte-pw8iv6">Done</button></div></footer></div>');function jw(e,t){se(t,!0);const n=H(()=>t.items[t.currentIndex]),r=H(()=>a(n)?t.selections[a(n).id]??a(n).branches[0]?.origin??"":""),s=H(()=>a(n)?lw(a(n),t.contributed):null);let i=F(void 0),l=null;ke(()=>{if(a(n),a(s),a(r),l&&(l(),l=null),!a(i)||!a(n)||!a(s))return;const V={item:a(n),selectedOrigin:a(r),onSelect:J=>t.onSelect(a(n).id,J)};return l=a(s).mount(a(i),V),()=>{l&&(l(),l=null)}});function o(){t.currentIndex>0&&t.onNavigate(t.currentIndex-1)}function c(){t.currentIndex<t.items.length-1&&t.onNavigate(t.currentIndex+1)}const u=H(()=>t.items.map(V=>t.skipped[V.id]?"skipped":t.selections[V.id]?"resolved":"pending"));var d=Mw(),f=p(d),h=p(f),b=p(h,!0);v(h);var x=w(h,2);{var _=V=>{var J=Cw(),G=p(J);v(J),N(()=>D(G,`${t.currentIndex+1} / ${t.items.length??""}`)),k(V,J)};K(x,V=>{t.items.length>1&&V(_)})}v(f);var g=w(f,2),E=p(g);{var y=V=>{var J=Rw();pe(J,23,()=>t.items,G=>G.id,(G,$,Z)=>{var ae=Tw();let X;var B=p(ae),W=p(B);{var oe=Me=>{var Lt=en("✓");k(Me,Lt)},Y=Me=>{var Lt=en("⟶");k(Me,Lt)},ue=Me=>{var Lt=en("·");k(Me,Lt)};K(W,Me=>{a(u)[a(Z)]==="resolved"?Me(oe):a(u)[a(Z)]==="skipped"?Me(Y,1):Me(ue,-1)})}v(B);var be=w(B,2),it=p(be,!0);v(be),v(ae),N(()=>{X=de(ae,1,"sh3-conflict-detail-rail-item svelte-pw8iv6",null,X,{selected:a(Z)===t.currentIndex}),de(B,1,`sh3-conflict-detail-rail-state ${a(u)[a(Z)]??""}`,"svelte-pw8iv6"),D(it,a($).label)}),U("click",ae,()=>t.onNavigate(a(Z))),k(G,ae)}),v(J),k(V,J)};K(E,V=>{t.items.length>1&&V(y)})}var m=w(E,2),I=p(m);{var T=V=>{var J=Pw(),G=fe(J);pe(G,21,()=>a(n).branches,Z=>Z.origin,(Z,ae)=>{var X=Lw(),B=p(X);ge(B);var W=w(B,2),oe=p(W);v(W),v(X),N(()=>{ne(B,"name",`branch-${a(n).id??""}`),ms(B,a(ae).origin),ul(B,a(r)===a(ae).origin),D(oe,`${a(ae).origin??""} · v${a(ae).version??""}`)}),U("change",B,()=>t.onSelect(a(n).id,a(ae).origin)),k(Z,X)}),v(G);var $=w(G,2);De($,Z=>S(i,Z),()=>a(i)),k(V,J)};K(I,V=>{a(n)&&V(T)})}v(m),v(g);var R=w(g,2),M=p(R),z=p(M),P=w(z,2),j=p(P,!0);v(P);var C=w(P,2);v(M);var O=w(M,2),q=p(O),L=w(q,2);v(O),v(R),v(d),N(()=>{D(b,t.title),z.disabled=t.currentIndex===0,D(j,a(n)&&t.skipped[a(n).id]?"Unskip":"Skip"),C.disabled=t.currentIndex>=t.items.length-1}),U("click",z,o),U("click",P,()=>a(n)&&t.onToggleSkip(a(n).id)),U("click",C,c),U("click",q,function(...V){t.onCancel?.apply(this,V)}),U("click",L,function(...V){t.onDone?.apply(this,V)}),k(e,d),ie()}ce(["click","change"]);function Af(e,t){return t.at-e.at}function Dw(e,t){if(e.length===0)return null;try{return[...e].sort(t)[0]}catch(n){return console.warn("[sh3-core] mostRecentBy comparator threw; falling back to default",n),[...e].sort(Af)[0]}}function zw(e,t){se(t,!0);const n=t.items.length>=2||t.requirePrompt;let r=F(le(n?"prompt":"detail")),s=F(le(Object.fromEntries(t.items.map(m=>{const I=Dw(m.branches,t.mostRecentBy)?.origin??m.branches[0]?.origin??"";return[m.id,I]})))),i=F(le({})),l=F(0),o=!1;ol(()=>{o||(o=!0,t.onCancel())});function c(){if(o)return;o=!0;const m=[],I=[];for(const T of t.items){if(a(i)[T.id]){I.push(T.id);continue}const R=a(s)[T.id],M=T.branches.find(z=>z.origin===R);M&&m.push({itemId:T.id,chosen:M,meta:T.meta})}t.onResolve(m,I),t.close()}function u(){o||(o=!0,t.onCancel(),t.close())}function d(){c()}function f(){S(r,"detail")}function h(m,I){if(S(s,{...a(s),[m]:I},!0),a(i)[m]){const T={...a(i)};delete T[m],S(i,T,!0)}}function b(m){S(i,{...a(i),[m]:!a(i)[m]},!0)}function x(m){S(l,m,!0)}var _=Be(),g=fe(_);{var E=m=>{Aw(m,{get count(){return t.items.length},onOverwriteMostRecent:d,onResolveIndividually:f,onCancel:u})},y=m=>{jw(m,{get items(){return t.items},get selections(){return a(s)},get skipped(){return a(i)},get currentIndex(){return a(l)},get title(){return t.title},get contributed(){return t.contributed},onSelect:h,onNavigate:x,onToggleSkip:b,onDone:c,onCancel:u})};K(g,m=>{a(r)==="prompt"?m(E):m(y,-1)})}k(e,_),ie()}const Cf="sh3-core.conflictRenderer";class Tf extends Error{constructor(t){super(t),this.name="ConflictPermissionError"}}class Ow extends Error{constructor(){super("Caller shard deactivated while conflict session was active"),this.name="ConflictSessionOrphanedError"}}function Nw(){try{return dr(Cf)}catch{return[]}}function Rf(e,t={}){return Ew(),e.length===0?Promise.resolve({status:"resolved",choices:[],skipped:[]}):new Promise(n=>{const r=t.title??(e.length===1?"Resolve conflict":"Resolve conflicts"),s=t.mostRecentBy??Af,i=t.requirePrompt??!1,l=Nw();let o=!1;const d={items:e,title:r,mostRecentBy:s,requirePrompt:i,contributed:l,onResolve:(f,h)=>{o||(o=!0,n({status:"resolved",choices:f,skipped:h}))},onCancel:()=>{o||(o=!0,n({status:"cancelled"}))}};Wt.open(zw,d,{boxStyle:"max-width: none; min-width: 360px; padding: 0;"})})}function qw(e){const t=e.documents({format:"text"});return{status:n=>t.status(n),readBranch:(n,r)=>t.readBranch(n,r),resolveConflict:(n,r)=>t.resolveConflict(n,r)}}function Bw(e,t){const n=e.browse;if(!n?.statusFrom||!n?.readBranchFrom||!n?.resolveConflictFrom)throw new Tf(`Cross-shard resolveDocuments requires documents:browse + documents:read + documents:write (shardId=${t})`);return{status:r=>n.statusFrom(t,r),readBranch:(r,s)=>n.readBranchFrom(t,r,s),resolveConflict:(r,s)=>n.resolveConflictFrom(t,r,s)}}function Vw(e){const t=e.lastIndexOf(".");if(t<0)return;const n=e.lastIndexOf("/");if(!(t<n))return e.slice(t)}async function Fw(e,t,n={}){const r=e.shardId,s=t.shardId===r?qw(e):Bw(e,t.shardId),i=[];for(const d of t.paths){const f=await s.status(d);f&&f.syncState==="conflict"&&f.branches&&f.branches.length>0&&i.push({path:d,status:f})}if(i.length===0)return{status:"resolved",resolved:[],failed:[],skipped:[]};const l=[];for(const{path:d,status:f}of i){const h=Vw(d),b=[];for(const x of f.branches??[]){const _=await s.readBranch(d,x.origin).catch(()=>null);b.push({origin:x.origin,version:x.version,at:x.at,content:_??void 0,sizeBytes:_?new TextEncoder().encode(_).length:void 0})}l.push({id:d,label:d,extension:h,branches:b,meta:{shardId:t.shardId,path:d,docVersion:f.version}})}const o=await Rf(l,n);if(o.status==="cancelled")return{status:"cancelled"};const c=[],u=[];for(const d of o.choices)try{await s.resolveConflict(d.itemId,{origin:d.chosen.origin});const f=await s.status(d.itemId).catch(()=>null);c.push({path:d.itemId,chosen:d.chosen,appliedVersion:f?.version??-1})}catch(f){u.push({path:d.itemId,error:f instanceof Error?f.message:String(f)})}return{status:"resolved",resolved:c,failed:u,skipped:o.skipped}}const Uw={resolve:Rf,resolveDocuments:Fw},Lf="sh3.color-picker",Hw={id:"sh3.color-picker.native",priority:0,open:({initial:e})=>new Promise(t=>{const n=document.createElement("input");n.type="color",e&&/^#[0-9a-f]{6}$/i.test(e)&&(n.value=e);let r=!1;const s=i=>{r||(r=!0,n.remove(),t(i))};n.addEventListener("change",()=>s(n.value)),n.addEventListener("cancel",()=>s(null)),n.style.position="fixed",n.style.left="-9999px",document.body.appendChild(n),n.click()})};function Kw(e={}){return[...dr(Lf),Hw].sort((r,s)=>(s.priority??0)-(r.priority??0))[0].open(e)}const Ww={pick:Kw};let Kn=null;function Yw(e){Kn=e}async function Ir(e){return Kn?{...Kn.bindings[e]??{}}:{}}async function qc(e,t,n){if(!Kn)return;const r={...Kn.bindings[e]??{}};n===void 0?delete r[t]:r[t]=n,Kn.bindings={...Kn.bindings,[e]:r}}const _l="sh3.actions",Na=new Set;function Gw(e,t){if(typeof e.run!="function"&&e.submenu!==!0)return console.warn(`[sh3] Action "${e.id}" registered by "${t}" has no \`run\` and is not a submenu parent (\`submenu: true\`). Registration ignored.`),()=>{};Na.has(e.id)&&console.warn(`[sh3] Duplicate action id "${e.id}" registered by "${t}". First registration wins; second registration still stored but shortcut conflicts may occur.`),Na.add(e.id);const r=If(_l,{action:e,ownerShardId:t});let s=!1;return()=>{s||(s=!0,r(),Na.delete(e.id))}}function et(){return dr(_l)}function Xw(e){return ra(_l,e)}function Yt(e){return typeof e.label=="function"?e.label():e.label}const Jw=["Ctrl","Alt","Shift","Meta"],Bc={control:"Ctrl",ctrl:"Ctrl",alt:"Alt",option:"Alt",shift:"Shift",meta:"Meta",cmd:"Meta",command:"Meta",super:"Meta",win:"Meta"},Zw=new Set(["Control","Alt","Shift","Meta"]);function Pf(e){return e.length===1?e.toUpperCase():e}function wl(e){if(!e)throw new Error("Empty shortcut");const t=e.split("+");if(t.some(l=>l.trim()===""))throw new Error(`Malformed shortcut: "${e}"`);const n=t.map(l=>l.trim());if(n.length===0)throw new Error(`Malformed shortcut: "${e}"`);const r=new Set;let s;for(const l of n){const o=l.toLowerCase();if(o in Bc)r.add(Bc[o]);else{if(s!==void 0)throw new Error(`Multiple keys in shortcut: "${e}"`);s=Pf(l)}}if(s===void 0)throw new Error(`No key in shortcut: "${e}"`);return[...Jw.filter(l=>r.has(l)),s].join("+")}function Mf(e,t){if(!e.toLowerCase().includes("mod"))return e;const n=e.split("+").map(r=>r.toLowerCase()==="mod"?t==="mac"?"Meta":"Ctrl":r);return wl(n.join("+"))}function Qw(e){if(Zw.has(e.key))return"";const t=[];e.ctrlKey&&t.push("Ctrl"),e.altKey&&t.push("Alt"),e.shiftKey&&t.push("Shift"),e.metaKey&&t.push("Meta");const n=Pf(e.key);return[...t,n].join("+")}function $w(){return typeof navigator>"u"?"other":/Mac|iPhone|iPad|iPod/i.test(navigator.platform)?"mac":"other"}function Ks(e,t,n="other"){if(e.id in t){const r=t[e.id];return r===null?null:wl(r)}return e.defaultShortcut?Mf(e.defaultShortcut,n):null}function e1(e,t,n="other"){if(e.id in t){const r=t[e.id];return r===null?{shortcut:null,source:"disabled"}:{shortcut:wl(r),source:"user"}}return e.defaultShortcut?{shortcut:Mf(e.defaultShortcut,n),source:"default"}:{shortcut:null,source:"none"}}function sa(e){return e==="home"?"home":e==="app"?"app":typeof e=="string"&&e.startsWith("view:")?"view":typeof e=="string"&&e.startsWith("focus:")?"focus":"element"}function kl(e){return Array.isArray(e)?e:[e]}function jf(e){return e==="home"||e==="app"?null:typeof e=="string"?e:e.element}function Ws(e,t,n){const r=kl(e),s={};for(const i of r){const l=sa(i);(s[l]??=[]).push(i)}for(const i of ia){const l=s[i];if(l){for(const o of l)if(ws(o,t,n))return o}}return null}function t1(e,t){return typeof e=="string"||typeof t=="string"?e===t:e.element===t.element}function Df(e){return typeof e=="string"?e:`element:${e.element}`}function n1(e){if(e==="home"||e==="app")return e;if(e.startsWith("view:"))return e.slice(5).length>0?e:null;if(e.startsWith("focus:"))return e.slice(6).length>0?e:null;if(e.startsWith("element:")){const t=e.slice(8);return t.length>0?{element:t}:null}return null}const ia=["element","focus","view","app","home"];function ws(e,t,n){if(e==="home")return t.activeAppId===null;if(e==="app")return t.activeAppId===null||!n?!1:t.activeAppRequiredShards.has(n)||t.autostartShards.has(n);if(typeof e=="string"){if(e.startsWith("view:"))return t.mountedViewIds.has(e.slice(5));if(e.startsWith("focus:"))return t.focusedViewId===e.slice(6)}return typeof e=="object"&&"element"in e?t.selection!==null&&t.selection.type===e.element:!1}function r1(e,t){const n={element:new Map,focus:new Map,view:new Map,app:new Map,home:new Map};for(const r of e){const s=Ks(r.action,t.bindings,t.platform);if(s)for(const i of kl(r.action.scope)){if(!ws(i,t,r.ownerShardId))continue;const l=sa(i),o=n[l].get(s);if(o&&o!==r.action.id){console.warn(`[sh3] Shortcut "${s}" in tier "${l}" is bound to both "${o}" and "${r.action.id}"; first-registered wins. Users can rebind to resolve.`);continue}n[l].set(s,r.action.id)}}return n}function s1(e){if(!(e instanceof Element))return!1;const t=e.tagName;if(t==="INPUT"||t==="TEXTAREA")return!0;const n=e.contentEditable;if(n==="true"||n==="plaintext-only")return!0;const r=e.getAttribute("contenteditable");return r==="true"||r===""||r==="plaintext-only"}function i1(e){return e instanceof Element?e.closest("[data-sh3-passthrough-modifiers]")!==null:!1}function a1(e){return/(?:^|\+)(?:Ctrl|Alt|Meta)\+/.test(e)}function o1(e){const t=r1(e.entries,e.state),n=new Map(e.entries.map(r=>[r.action.id,r]));for(const r of ia){const s=t[r].get(e.shortcut);if(!s)continue;const i=n.get(s);if(i)return s1(e.target)&&!i.action.allowInInputs&&!(i1(e.target)&&a1(e.shortcut))?null:(e.runAction(s,{action:{id:i.action.id,label:Yt(i.action)},appId:e.state.activeAppId,viewId:e.state.focusedViewId??void 0,selection:e.state.selection??void 0,invokedVia:"keyboard",dispatch:e.dispatch??(()=>{})}),s)}return null}function l1(e){const t=e.action.disabled;return typeof t=="function"?!!t():!!t}function c1(e){const t=e.action.scope;return Array.isArray(t)?t[0]:t}function xl(e,t){const n={element:[],focus:[],view:[],app:[],home:[]},r=[],s=new Set;for(const i of e){if(s.has(i.action.id))continue;s.add(i.action.id);const{shortcut:l,source:o}=e1(i.action,t.bindings,t.platform),c=Ws(i.action.scope,t,i.ownerShardId),u=typeof i.action.run=="function",d=c!==null&&u&&!l1(i),f=d?c:c1(i),h={id:i.action.id,label:Yt(i.action),effectiveShortcut:l,bindingSource:o,scope:f,scopeBadge:jf(f),group:i.action.group,icon:i.action.icon,ownerShardId:i.ownerShardId,paletteItem:i.action.paletteItem!==!1,contextItem:i.action.contextItem!==!1,active:d};d?n[sa(c)].push(h):r.push(h)}return[...ia.flatMap(i=>n[i]),...r]}function u1(e,t){return xl(e,t).filter(n=>n.active)}let Xt=F(null);function Ys(){return a(Xt)}function aa(e){return{get(){return a(Xt)},set(t){S(Xt,{type:t.type,ref:t.ref,ownerShardId:e},!0)},clear(){if(a(Xt)){if(a(Xt).ownerShardId!==e){console.warn(`[sh3] Shard "${e}" tried to clear selection owned by "${a(Xt).ownerShardId}". Ignoring.`);return}S(Xt,null)}}}}function zf(e){a(Xt)&&a(Xt).ownerShardId===e&&S(Xt,null)}function d1(){S(Xt,null)}const Ti=new Map,Sl=new Map,Of=new Set;function f1(e){Of.add(e)}function v1(e,t,n){if(Ti.has(e))throw new Error(`View "${e}" is already registered`);Ti.set(e,t),n!==void 0&&Sl.set(e,n);for(const r of Of)r(e,t)}function Nf(e){return Ti.get(e)}function Vc(e){return Sl.get(e)}function qf(e){Ti.delete(e),Sl.delete(e)}const Or=new Map;function h1(e,t,n){if(Or.has(e))throw new Error(`Verb "${e}" is already registered`);Or.set(e,{verb:t,shardId:n})}function Ri(e){return Or.get(e)?.verb}function Bf(e){Or.delete(e)}function El(){return Array.from(Or.values()).map(e=>e.verb).sort((e,t)=>e.name.localeCompare(t.name))}function Vf(){return Array.from(Or.values()).map(e=>({...e}))}function Nr(e,t){const n=(r,s)=>{if(r.type==="tabs"){const i=r.tabs.findIndex(l=>l.slotId===t);if(i>=0)return{tabsNode:r,tabsPath:s,tabIndex:i,entry:r.tabs[i]}}else if(r.type==="split")for(let i=0;i<r.children.length;i++){const l=n(r.children[i],[...s,i]);if(l)return l}return null};return n(e,[])}function Il(e,t){if(bo(e.docked,t))return{kind:"docked"};for(const n of e.floats)if(bo(n.content,t))return{kind:"float",floatId:n.id};return null}function bo(e,t){if(e.type==="slot")return e.slotId===t;if(e.type==="tabs")return e.tabs.some(n=>n.slotId===t);for(const n of e.children)if(bo(n,t))return!0;return!1}function oa(e,t){const n=Nr(e,t);if(!n)return null;const{tabsNode:r,tabIndex:s,entry:i}=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),i}function p1(e,t,n){const r=Math.max(0,Math.min(n,e.tabs.length));e.tabs.splice(r,0,t),e.activeTab=r}function m1(e,t,n){const r=e.tabs.slice(),[s]=r.splice(t,1),i=Math.max(0,Math.min(n,r.length));r.splice(i,0,s),e.tabs=r,e.activeTab=i}function Fc(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 b1(e){if(e.type==="tabs")return{...e,tabs:[...e.tabs]};if(e.type==="split"){const t={...e,children:[...e.children],sizes:[...e.sizes]};return e.pinned&&(t.pinned=[...e.pinned]),e.collapsed&&(t.collapsed=[...e.collapsed]),t}return{...e}}function Ff(e,t,n,r){const s=ks(e,t);if(!s||Uf(e,t))return;if(t.length===0){const u=b1(s),d=Fc(u,n,r),f=e;delete f.tabs,delete f.activeTab,delete f.slotId,delete f.viewId,delete f.direction,delete f.sizes,delete f.pinned,delete f.collapsed,delete f.children,Object.assign(f,d);return}const i=Fc(s,n,r),l=t.slice(0,-1),o=t[t.length-1],c=ks(e,l);!c||c.type!=="split"||(c.children[o]=i)}function ks(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 Uf(e,t){if(t.length===0)return!1;const n=ks(e,t.slice(0,-1));return!n||n.type!=="split"?!1:n.fixed?.[t[t.length-1]]===!0}function xr(e){let t=!0;for(;t;)t=Hf(e,null,0)}function Hf(e,t,n){if(e.type==="split"){let r=!1;for(let s=0;s<e.children.length;s++)Hf(e.children[s],e,s)&&(r=!0);for(let s=e.children.length-1;s>=0;s--){const i=e.children[s];i.type==="tabs"&&i.tabs.length===0&&!i.persistent&&!e.fixed?.[s]&&(e.children.splice(s,1),e.sizes.splice(s,1),e.pinned&&e.pinned.splice(s,1),e.collapsed&&e.collapsed.splice(s,1),e.fixed&&e.fixed.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],i=e;return delete i.direction,delete i.sizes,delete i.pinned,delete i.collapsed,delete i.children,Object.assign(i,s),!0}return r}return e.type==="tabs",!1}const kn=new Map,fi=new Set;function g1(e,t){for(const[n,r]of kn.entries()){if(r.viewId!==e||r.handle!==void 0)continue;const s={slotId:n,viewId:e,label:r.label,meta:r.meta,setDirty(i){la[n]=i},location(){return Il(Rt(),n)}};queueMicrotask(()=>{if(kn.has(n)&&r.handle===void 0&&(r.handle=t.mount(r.host,s),(r.handle?.closable||n.startsWith("float:"))&&(ca[n]=!0),r.handle?.onResize)){const i=r.handle.onResize.bind(r.handle);r.resizeObserver=new ResizeObserver(l=>{for(const o of l){const c=o.contentRect;i(Math.round(c.width),Math.round(c.height))}}),r.resizeObserver.observe(r.host)}})}}f1(g1);const la=le({}),ca=le({});function y1(e,t,n,r){const s=document.createElement("div");s.className="slot-host",s.dataset.slotId=e,t&&(s.setAttribute("data-sh3-view",t),s.setAttribute("data-sh3-scope",Df(`focus:${t}`))),s.style.position="absolute",s.style.inset="0",s.style.minWidth="0",s.style.minHeight="0";let i=!1;const l={host:s,handle:void 0,viewId:t,label:n,meta:r,refcount:0,resizeObserver:void 0,cancelPendingMount:()=>{i=!0}};return queueMicrotask(()=>{if(i)return;const o=t?Nf(t):void 0,c={slotId:e,viewId:t??"",label:n,meta:r,setDirty(u){la[e]=u},location(){return Il(Rt(),e)}};if(l.handle=o?.mount(s,c),(l.handle?.closable||e.startsWith("float:"))&&(ca[e]=!0),l.handle?.onResize){const u=l.handle.onResize.bind(l.handle);l.resizeObserver=new ResizeObserver(d=>{for(const f of d){const h=f.contentRect;u(Math.round(h.width),Math.round(h.height))}}),l.resizeObserver.observe(s)}}),l}function Al(e,t,n,r){fi.delete(e);let s=kn.get(e);return s?s.viewId!==t&&(console.warn(`[sh3] acquireSlotHost("${e}") called with viewId "${t}" but existing pooled entry has viewId "${s.viewId}". Attribute synced; view handle unchanged.`),s.viewId=t,t?(s.host.setAttribute("data-sh3-view",t),s.host.setAttribute("data-sh3-scope",Df(`focus:${t}`))):(s.host.removeAttribute("data-sh3-view"),s.host.removeAttribute("data-sh3-scope"))):(s=y1(e,t,n,r),kn.set(e,s)),s.refcount++,s.host}function Cl(e,t){const n=kn.get(e);if(n){if(n.refcount--,n.refcount>0){t&&n.host.parentNode===t&&n.host.remove();return}fi.add(e),queueMicrotask(()=>{if(!fi.has(e))return;fi.delete(e);const r=kn.get(e);!r||r.refcount>0||(r.resizeObserver?.disconnect(),iw(e),r.handle?.unmount(),r.cancelPendingMount(),r.host.remove(),kn.delete(e),delete la[e],delete ca[e])})}}function qa(e){const t=kn.get(e);if(t)return{host:t.host,refcount:t.refcount}}function Kf(e){const t=go.get(e);return t||kn.get(e)?.handle}function _1(e){return la[e]??!1}function w1(e){return go.has(e)?!!go.get(e).closable:ca[e]??!1}const go=new Map;function Wf(e){if(!e||typeof e!="object")return!1;const t=e.type;return t==="split"||t==="tabs"||t==="slot"}function k1(e){if(!e||typeof e!="object")return!1;const t=e;return Wf(t.docked)&&Array.isArray(t.floats)}function x1(e){return{docked:e,floats:[]}}function S1(e){const t={};if(e.tree&&(t.default=e.tree),e.variants)for(const n of Object.keys(e.variants))t[n]=e.variants[n];if(!t.default)throw new Error(`LayoutPreset "${e.name}" must provide either 'tree' or 'variants.default'`);return{name:e.name,variants:t}}function Yf(e){if(Array.isArray(e))return e.map(S1);if(k1(e))return[{name:"default",variants:{default:e}}];if(Wf(e))return[{name:"default",variants:{default:x1(e)}}];throw new Error("normalizeInitialLayout: input is not a LayoutNode, LayoutTree, or LayoutPreset[]")}function Uc(e){const t=[],n=r=>{if(r.type==="slot"){t.push({slotId:r.slotId,viewId:r.viewId,label:r.viewId||r.slotId,meta:r.meta});return}if(r.type==="tabs"){for(const s of r.tabs)t.push({slotId:s.slotId,viewId:s.viewId,label:s.label,meta:s.meta});return}for(const s of r.children)n(s)};return n(e),t}function Tl(e){const t=Uc(e.docked);for(const n of e.floats)t.push(...Uc(n.content));return t}uo("workspace","__shell__");const E1={type:"slot",slotId:"sh3core.home",viewId:"sh3core:home"},yo=le({docked:E1,floats:[]});let Fe=F(null),Gs=F("home");function I1(e){if(!e||typeof e!="object")return null;const t=e;if(t.presets&&typeof t.presets=="object"&&typeof t.activePreset=="string")return t;if(t.root&&typeof t.layoutVersion=="number"){const n={docked:t.root,floats:[]};return{layoutVersion:t.layoutVersion,activePreset:"default",presets:{default:{default:n}}}}return null}function A1(e){const t=e.presets[e.activePreset];if(!t)throw new Error(`AppLayoutBlob active preset "${e.activePreset}" not found in presets map`);return t.default}function C1(e){if(a(Fe))throw new Error(`Layout manager cannot attach app "${e.manifest.id}": app "${a(Fe).appId}" is still attached`);const t=`__sh3core__:app:${e.manifest.id}`,n=Yf(e.initialLayout);if(n.length===0)throw new Error(`App "${e.manifest.id}" normalized to zero presets`);const r={layoutVersion:e.manifest.layoutVersion,activePreset:n[0].name,presets:Object.fromEntries(n.map(c=>[c.name,{...c.variants}]))},s=n_("workspace",t),i=I1(s);(i&&i.layoutVersion!==e.manifest.layoutVersion||s&&!i)&&uo("workspace",t);const o=ta(t,{workspace:r}).workspace;S(Fe,{appId:e.manifest.id,proxy:o,heldSlotIds:[]},!0),X_(o)}function T1(){if(!a(Fe))throw new Error("acquireAppSlotHolds: no app attached");if(a(Fe).heldSlotIds.length>0)return;const e=A1(a(Fe).proxy),t=Tl(e);for(const{slotId:n,viewId:r,label:s,meta:i}of t)Al(n,r,s,i),a(Fe).heldSlotIds.push(n)}function R1(){if(!a(Fe))throw new Error("resetActivePresetToDefault: no app attached");const e=zn(a(Fe).appId);if(!e)throw new Error(`resetActivePresetToDefault: attached app "${a(Fe).appId}" not in registry`);const t=Yf(e.initialLayout),n=a(Fe).proxy,r=n.activePreset;let s=t.find(o=>o.name===r);s||(s=t[0],n.activePreset=s.name);for(const o of a(Fe).heldSlotIds)Cl(o);a(Fe).heldSlotIds=[];const i=structuredClone(s.variants.default);n.presets[n.activePreset].default=i;const l=Tl(i);for(const{slotId:o,viewId:c,label:u,meta:d}of l)Al(o,c,u,d),a(Fe).heldSlotIds.push(o)}function Gf(){if(a(Fe)){J_();for(const e of a(Fe).heldSlotIds)Cl(e);S(Fe,null)}}function Xf(){S(Gs,"home")}function Hc(){if(!a(Fe))throw new Error("Cannot switchToApp: no app is attached");S(Gs,"app")}const vi=H(()=>{if(a(Gs)==="app"&&a(Fe)){const e=a(Fe).proxy,t=e.activePreset,n=e.presets[t];if(!n)throw new Error(`AppLayoutBlob active preset "${t}" not found in presets map`);return n.default}return yo});function Rt(){return a(vi)}function Jf(){return a(Gs)}const pn={get root(){return a(vi).docked},get tree(){return a(vi)},get floats(){return a(vi).floats}};function L1(e){yo.docked=e,yo.floats=[],S(Gs,"home")}let Zf=F(null),Qf=F(le(new Set)),hi=F(le(new Set)),$f=F(le(new Set)),ev=F(null),tv=F(le({}));const P1=$w(),_o=new Set;function Gr(){for(const e of _o)try{e()}catch(t){console.error("[sh3] onActiveChange listener threw",t)}}function M1(e){return _o.add(e),()=>{_o.delete(e)}}function j1(){Gr()}function Li(e,t){S(Zf,e,!0),S(Qf,new Set(t),!0),Gr()}function D1(){const e=Tl(pn.tree),t=new Set;for(const n of e)n.viewId!==null&&t.add(n.viewId);S($f,t,!0),Gr()}function nv(e){S(ev,e,!0),Gr()}function xs(e){S(tv,{...e},!0),Gr()}function Ft(){return{activeAppId:a(Zf),activeAppRequiredShards:a(Qf),autostartShards:a(hi),mountedViewIds:a($f),focusedViewId:a(ev),selection:Ys(),bindings:a(tv),platform:P1}}function rv(e){a(hi).has(e)||(S(hi,new Set([...a(hi),e]),!0),Gr())}var z1=A('<div class="sh3-ctx-sep svelte-1667pfa" role="separator"></div>'),O1=A('<span class="sh3-ctx-chevron svelte-1667pfa">▸</span>'),N1=A('<span class="sh3-ctx-shortcut svelte-1667pfa"> </span>'),q1=A('<button role="menuitem"><span class="sh3-ctx-check svelte-1667pfa"> </span> <span class="sh3-ctx-label svelte-1667pfa"> </span> <!></button>'),B1=A("<!> <!>",1),V1=A('<div class="sh3-context-menu svelte-1667pfa" role="menu" tabindex="0"></div>');function Pi(e,t){se(t,!0);const n=H(()=>t.sections.flatMap(c=>c.items));let r=F(0);function s(c,u){if(a(n).length===0)return 0;let d=c;for(let f=0;f<a(n).length;f++)if(d=(d+u+a(n).length)%a(n).length,!a(n)[d].disabled)return d;return c}function i(c){if(c.key==="ArrowDown")S(r,s(a(r),1),!0),c.preventDefault();else if(c.key==="ArrowUp")S(r,s(a(r),-1),!0),c.preventDefault();else if(c.key==="Enter"){const u=a(n)[a(r)];u&&!u.disabled&&(t.onInvoke(u.id),u.submenu||t.onDismiss()),c.preventDefault()}else if(c.key==="Escape")t.onDismiss(),c.preventDefault();else if(c.key.length===1){const u=c.key.toLowerCase(),d=(a(r)+1)%a(n).length;for(let f=0;f<a(n).length;f++){const h=(d+f)%a(n).length,b=a(n)[h];if(!b.disabled&&b.label.toLowerCase().startsWith(u)){S(r,h);break}}}}function l(c){c.disabled||(t.onInvoke(c.id),c.submenu||t.onDismiss())}var o=V1();Ur(o,!0),pe(o,23,()=>t.sections,c=>c.id,(c,u,d)=>{var f=B1(),h=fe(f);{var b=_=>{var g=z1();k(_,g)};K(h,_=>{a(d)>0&&_(b)})}var x=w(h,2);pe(x,17,()=>a(u).items,_=>_.id,(_,g)=>{const E=H(()=>a(n).indexOf(a(g)));var y=q1();let m;var I=p(y),T=p(I,!0);v(I);var R=w(I,2),M=p(R,!0);v(R);var z=w(R,2);{var P=C=>{var O=O1();k(C,O)},j=C=>{var O=N1(),q=p(O,!0);v(O),N(()=>D(q,a(g).shortcut)),k(C,O)};K(z,C=>{a(g).submenu?C(P):a(g).shortcut&&C(j,1)})}v(y),N(()=>{m=de(y,1,"sh3-ctx-item svelte-1667pfa",null,m,{"sh3-ctx-active":a(E)===a(r),"sh3-ctx-disabled":a(g).disabled}),ne(y,"aria-disabled",a(g).disabled||void 0),D(T,a(g).checked?"✓":""),D(M,a(g).label)}),Re("pointerenter",y,()=>{a(g).disabled||S(r,a(E),!0)}),U("click",y,()=>l(a(g))),k(_,y)}),k(c,f)}),v(o),U("keydown",o,i),k(e,o),ie()}ce(["keydown","click"]);function sv(e,t){se(t,!0);const n=H(()=>t.model.tiers.map(r=>({id:`tier:${r.tier}`,items:r.items.map(s=>({...s,icon:void 0}))})));Pi(e,{get sections(){return a(n)},get onInvoke(){return t.onInvoke},get onDismiss(){return t.onClose}}),ie()}function Kc(e){return e===void 0?!1:typeof e=="function"?!!e():!!e}function iv(e,t){return{id:e.action.id,label:Yt(e.action),shortcut:Ks(e.action,t.bindings,t.platform),group:e.action.group??"",icon:e.action.icon,checked:Kc(e.action.checked),disabled:Kc(e.action.disabled),submenu:e.action.submenu===!0}}function av(e,t,n,r){return kl(e.scope).some(i=>t1(i,n))?n==="app"||n==="home"||typeof n=="object"&&"element"in n?ws(n,r,t):!0:!1}function ov(e,t,n){const r={element:[],focus:[],view:[],app:[],home:[]},s=new Set;for(const i of e){if(!i.action.contextItem||i.action.submenuOf!==void 0||s.has(i.action.id)||!av(i.action,i.ownerShardId,n,t))continue;const l=Ws(i.action.scope,t,i.ownerShardId)??n;s.add(i.action.id),r[sa(l)].push(iv(i,t))}return{tiers:ia.map(i=>({tier:i,items:r[i]})).filter(i=>i.items.length>0)}}function F1(e,t,n,r){const s=[],i=new Set;for(const l of e)l.action.submenuOf===n&&(i.has(l.action.id)||av(l.action,l.ownerShardId,r,t)&&(i.add(l.action.id),s.push(iv(l,t))));return s}function U1(e,t){if(!t)return 0;const n=e.toLowerCase(),r=t.toLowerCase();let s=0,i=0,l=0,o=0,c=-2;for(;s<n.length&&i<r.length;){if(n[s]===r[i]){const u=s===0?5:0,d=s===c+1?++o:o=1;l+=1+u+d,c=s,i++}else o=0;s++}return i===r.length?l:null}function H1(e,t,n){const r=[];for(const i of e){if(t===""&&i.submenuOf!==void 0)continue;const l=U1(i.label,t);l!==null&&r.push({...i,score:l})}const s=new Map;return n.forEach((i,l)=>s.set(i,n.length-l)),r.sort((i,l)=>{if(i.score!==l.score)return l.score-i.score;const o=s.get(i.id)??0;return(s.get(l.id)??0)-o}),r}var K1=A('<span class="sh3-palette-badge svelte-1qdcgk6"> </span>'),W1=A('<span class="sh3-palette-shortcut svelte-1qdcgk6"> </span>'),Y1=A('<button role="option"><span class="sh3-palette-label svelte-1qdcgk6"> </span> <!> <!></button>'),G1=A('<div class="sh3-palette svelte-1qdcgk6" role="dialog" aria-label="Command palette" aria-modal="true" tabindex="-1"><input class="sh3-palette-input hell-base-input svelte-1qdcgk6" placeholder="Command…"/> <div class="sh3-palette-list svelte-1qdcgk6" role="listbox"></div></div>');function X1(e,t){se(t,!0);let n=Q(t,"prefill",3,""),r=F(le(n())),s=F(0);const i=H(()=>H1(t.candidates,a(r),t.recency));ke(()=>{a(s)>=a(i).length&&S(s,0)});function l(d){d.key==="ArrowDown"?(S(s,Math.min(a(s)+1,Math.max(0,a(i).length-1)),!0),d.preventDefault()):d.key==="ArrowUp"?(S(s,Math.max(a(s)-1,0),!0),d.preventDefault()):d.key==="Enter"?(a(i)[a(s)]&&(t.onInvoke(a(i)[a(s)].id),t.onClose()),d.preventDefault()):d.key==="Escape"&&(t.onClose(),d.preventDefault())}var o=G1(),c=p(o);ge(c),Ur(c,!0);var u=w(c,2);pe(u,23,()=>a(i),d=>d.id,(d,f,h)=>{var b=Y1();let x;var _=p(b),g=p(_,!0);v(_);var E=w(_,2);{var y=T=>{var R=K1(),M=p(R);v(R),N(()=>D(M,`[${a(f).scopeBadge??""}]`)),k(T,R)};K(E,T=>{a(f).scopeBadge&&T(y)})}var m=w(E,2);{var I=T=>{var R=W1(),M=p(R,!0);v(R),N(()=>D(M,a(f).shortcut)),k(T,R)};K(m,T=>{a(f).shortcut&&T(I)})}v(b),N(()=>{x=de(b,1,"sh3-palette-item svelte-1qdcgk6",null,x,{"sh3-palette-active":a(h)===a(s)}),ne(b,"aria-selected",a(h)===a(s)),D(g,a(f).label)}),Re("pointerenter",b,()=>S(s,a(h),!0)),U("click",b,()=>{t.onInvoke(a(f).id),t.onClose()}),k(d,b)}),v(u),v(o),U("keydown",o,l),Se(c,()=>a(r),d=>S(r,d)),k(e,o),ie()}ce(["keydown","click"]);function J1(e){return e===void 0?!1:typeof e=="function"?!!e():!!e}function Z1(e,t,n={}){const r=[],s=new Set,i=n.filter?.submenuOf;for(const l of e){if(l.action.paletteItem===!1||J1(l.action.disabled)||i!==void 0&&l.action.submenuOf!==i||s.has(l.action.id))continue;const o=Ws(l.action.scope,t,l.ownerShardId);o&&(s.add(l.action.id),r.push({id:l.action.id,label:Yt(l.action),shortcut:Ks(l.action,t.bindings,t.platform),scopeBadge:jf(o),submenu:l.action.submenu===!0,submenuOf:i!==void 0?void 0:l.action.submenuOf}))}return r}let Wc=!1;function Rl(e){return e?e.closest("[data-sh3-view]")?.getAttribute("data-sh3-view")??null:null}function lv(e){if(e.explicit!==void 0)return e.explicit;const t=e.event?.target;if(t instanceof Element){let n=t.closest("[data-sh3-scope]");for(;n;){const s=n1(n.getAttribute("data-sh3-scope")??"");if(s&&!(typeof s=="object"&&"element"in s&&!ws(s,e.state)))return s;const i=n.parentElement;n=i?i.closest("[data-sh3-scope]"):null}const r=Rl(t);if(r)return`focus:${r}`}return e.state.activeAppId?"app":"home"}function Q1(e,t){const n=et().find(r=>r.action.id===e);if(!(!n||typeof n.action.run!="function"))try{n.action.run(t)}catch(r){console.error(`[sh3] action "${e}" threw:`,r)}}function cv(e,t){const n=et(),r=n.find(o=>o.action.id===e);if(!r)return Promise.reject(new Error(`action "${e}" not registered`));const s=Ft(),i=xl(n,s).find(o=>o.id===e);if(!i||!i.active)return Promise.reject(new Error(`action "${e}" is not active in current scope`));const l=r.action.run;try{const o=l({action:{id:r.action.id,label:Yt(r.action)},appId:s.activeAppId,viewId:s.focusedViewId??void 0,selection:s.selection??void 0,invokedVia:"programmatic",dispatch:Xr});return Promise.resolve(o).then(()=>{})}catch(o){return Promise.reject(o)}}function Xr(e){cv(e).catch(t=>{console.error(`[sh3] ctx.dispatch("${e}"):`,t)})}function $1(e){const t=Rl(e.target);nv(t)}function ek(e){queueMicrotask(()=>{const t=Rl(document.activeElement);nv(t)})}function tk(e){return e instanceof Element?e.closest('[data-sh3-context-menu="native"]')!==null:!1}function uv(e,t,n,r){const s=document.querySelector(".sh3-popup-host");if(!s)return;const i=document.createElement("div");i.className="sh3-popup-submenu",i.style.position="absolute",i.style.pointerEvents="auto";const o=(s.querySelector(".sh3-ctx-active")??s).getBoundingClientRect();i.style.left=`${o.right+2}px`,i.style.top=`${o.top}px`,s.appendChild(i);const c=F1(et(),t,e,r);qe(Pi,{target:i,props:{sections:[{id:`submenu:${e}`,items:c}],onInvoke:u=>{const d=et().find(f=>f.action.id===u);if(!(!d||typeof d.action.run!="function")){try{d.action.run({action:{id:u,label:Yt(d.action)},appId:t.activeAppId,viewId:t.focusedViewId??void 0,selection:t.selection??void 0,invokedVia:"context-menu",dispatch:Xr})}catch(f){console.error(`[sh3] context-menu submenu action "${u}" threw:`,f)}n.close()}},onDismiss:()=>n.close()}})}function nk(e){if(tk(e.target))return;const t=et(),n=Ft(),r=lv({event:e,state:n}),s=ov(t,n,r);if(s.tiers.length===0)return;e.preventDefault();const i=an.popup.show(sv,{anchor:{x:e.clientX,y:e.clientY}},{model:s,onInvoke:l=>{const o=et().find(c=>c.action.id===l);if(o){if(o.action.submenu===!0){uv(l,n,i,r);return}if(typeof o.action.run=="function")try{o.action.run({action:{id:l,label:Yt(o.action)},appId:n.activeAppId,viewId:n.focusedViewId??void 0,selection:n.selection??void 0,invokedVia:"context-menu",dispatch:Xr})}catch(c){console.error(`[sh3] context-menu action "${l}" threw:`,c)}}},onClose:()=>i.close()})}function rk(e){const t=Qw(e);if(!t)return;const n=et(),r=Ft();o1({target:e.target,shortcut:t,state:r,entries:n,runAction:Q1,dispatch:Xr})&&e.preventDefault()}function Yc(){Wc||(Wc=!0,document.addEventListener("keydown",rk),document.addEventListener("focusin",$1),document.addEventListener("focusout",ek),document.addEventListener("contextmenu",nk))}function dv(e){const t=et(),n=Ft(),r=lv({explicit:e.scope,state:n}),s=ov(t,n,r);if(s.tiers.length===0)return;const i=an.popup.show(sv,{anchor:{x:e.x,y:e.y}},{model:s,onInvoke:l=>{const o=et().find(c=>c.action.id===l);if(o){if(o.action.submenu===!0){uv(l,n,i,r);return}if(typeof o.action.run=="function")try{o.action.run({action:{id:l,label:Yt(o.action)},appId:n.activeAppId,viewId:n.focusedViewId??void 0,selection:n.selection??void 0,invokedVia:"context-menu",dispatch:Xr})}catch(c){console.error(`[sh3] context-menu action "${l}" threw:`,c)}}},onClose:()=>i.close()})}const sk=20;let wo=[];function ik(e){wo=[e,...wo.filter(t=>t!==e)].slice(0,sk)}function ua(e){const t=et(),n=Ft(),r=Z1(t,n,{filter:e?.filter}),s=typeof document<"u"&&document.activeElement instanceof HTMLElement?document.activeElement:null,i=an.modal.open(X1,{candidates:r,recency:wo,prefill:e?.prefill??"",onInvoke:l=>{const o=et().find(c=>c.action.id===l);if(o){if(ik(l),o.action.submenu===!0&&typeof o.action.run!="function"){i.close(),ua({filter:{submenuOf:l}});return}if(typeof o.action.run=="function")try{o.action.run({action:{id:l,label:Yt(o.action)},appId:n.activeAppId,viewId:n.focusedViewId??void 0,selection:n.selection??void 0,invokedVia:"palette",dispatch:Xr})}catch(c){console.error(`[sh3] palette action "${l}" threw:`,c)}}},onClose:()=>i.close()},{dismissOnBackdrop:!0});if(s){const l=i.close;i.close=()=>{l(),queueMicrotask(()=>{(document.activeElement===document.body||document.activeElement===null)&&s.focus()})}}}const Wn=[];let ak=0;function ok(){return`term-${++ak}`}function lk(e){Wn.push(e);let t=!1;return()=>{if(t)return;t=!0;const n=Wn.indexOf(e);n!==-1&&Wn.splice(n,1)}}function ck(){if(Wn.length===0)return{ok:!1,error:"no-terminal"};if(Wn.length===1)return{ok:!0,handle:Wn[0]};let e=null,t=0;for(const n of Wn){const r=n.getFocusStamp();r>0&&r>=t&&(e=n,t=r)}return e===null?{ok:!1,error:"ambiguous"}:{ok:!0,handle:e}}const Gc={"no-terminal":"no terminal open",ambiguous:"multiple terminals open; focus one first","no-active-context":"dispatchToTerminal is not available in this context"};function Ll(e){return e.headless?()=>({ok:!1,error:"no-active-context",message:Gc["no-active-context"]}):t=>{const n=ck();return n.ok?(n.handle.dispatch(t),{ok:!0,terminalId:n.handle.id}):{ok:!1,error:n.error,message:Gc[n.error]}}}const uk={async rebind(e,t,n){await qc(e,t,n),Ft().activeAppId===e&&xs(await Ir(e))},async resetBinding(e,t){await qc(e,t,void 0),Ft().activeAppId===e&&xs(await Ir(e))},async bindingsFor(e){const t=await Ir(e),n={};for(const[r,s]of Object.entries(t))s!==null&&(n[r]=s);return n},openContextMenu:dv,openPalette:ua,listActive(){return u1(et(),Ft())},onActiveChange(e){const t=M1(e),n=Xw(()=>{j1()});return()=>{t(),n()}}},an={state:ta,modal:Wt,popup:vo,toast:vn,float:Ce,presets:ew,conflicts:Uw,color:Ww,actions:uk,dispatchToTerminal:Ll({headless:!1})};function dk(e){return sn[e].list()}function fk(e,t){return sn[e].read(t)}function vk(e,t){sn[e].delete(t)}function hk(e){for(const t of sn[e].list())sn[e].delete(t)}function ko(){return{list:dk,peek:fk,clear:vk,clearAll:hk}}function vr(e,t,n){return`${e}/${t}/${n}`}function pk(e,t){return`${e}/${t}/`}const mk="sh3-documents",Dt="docs",bk=2;class gk{#e=null;#t(){return this.#e||(this.#e=new Promise((t,n)=>{const r=indexedDB.open(mk,bk);r.onupgradeneeded=()=>{const s=r.result;s.objectStoreNames.contains(Dt)||s.createObjectStore(Dt)},r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})),this.#e}async#n(t,n){const r=await this.#t();return new Promise((s,i)=>{const o=r.transaction(Dt,t).objectStore(Dt),c=n(o);c.onsuccess=()=>s(c.result),c.onerror=()=>i(c.error)})}async read(t,n,r){const s=vr(t,n,r),i=await this.#n("readonly",l=>l.get(s));return i?i.content:null}async write(t,n,r,s){const i=vr(t,n,r),l=typeof s=="string"?new Blob([s]).size:s.byteLength,o={content:s,size:l,lastModified:Date.now()};await this.#n("readwrite",c=>c.put(o,i))}async delete(t,n,r){const s=vr(t,n,r);await this.#n("readwrite",i=>i.delete(s))}async rename(t,n,r,s){const i=vr(t,n,r),l=vr(t,n,s),o=await this.#t();return new Promise((c,u)=>{let d=!1;const f=o.transaction(Dt,"readwrite"),h=f.objectStore(Dt),b=h.get(i);b.onsuccess=()=>{const x=b.result;if(!x){d=!0,f.abort(),u(new Error(`Document not found at ${r}`));return}const _=h.getKey(l);_.onsuccess=()=>{if(_.result!==void 0){d=!0,f.abort(),u(new Error(`Document already exists at ${s}`));return}const g={...x,lastModified:Date.now()};h.put(g,l),h.delete(i)},_.onerror=()=>u(_.error)},b.onerror=()=>u(b.error),f.oncomplete=()=>c(),f.onerror=()=>{d||u(f.error)},f.onabort=()=>{}})}async list(t,n){const r=pk(t,n),s=await this.#t();return new Promise((i,l)=>{const c=s.transaction(Dt,"readonly").objectStore(Dt),u=IDBKeyRange.bound(r,r+"￿",!1,!1),d=c.openCursor(u),f=[];d.onsuccess=()=>{const h=d.result;if(h){const b=h.value;f.push({path:h.key.slice(r.length),size:b.size,lastModified:b.lastModified}),h.continue()}else i(f)},d.onerror=()=>l(d.error)})}async exists(t,n,r){const s=vr(t,n,r);return await this.#n("readonly",l=>l.getKey(s))!==void 0}async listAllShards(t){const n=`${t}/`,r=await this.#t();return new Promise((s,i)=>{const o=r.transaction(Dt,"readonly").objectStore(Dt),c=IDBKeyRange.bound(n,n+"￿",!1,!1),u=o.openKeyCursor(c),d=new Set;u.onsuccess=()=>{const f=u.result;if(f){const h=f.key.slice(n.length),b=h.indexOf("/");b>=0&&d.add(h.slice(0,b)),f.continue()}else s([...d])},u.onerror=()=>i(u.error)})}async listAllDocuments(t){const n=`${t}/`,r=await this.#t();return new Promise((s,i)=>{const o=r.transaction(Dt,"readonly").objectStore(Dt),c=IDBKeyRange.bound(n,n+"￿",!1,!1),u=o.openCursor(c),d=[];u.onsuccess=()=>{const f=u.result;if(f){const h=f.key.slice(n.length),b=h.indexOf("/");if(b>=0){const x=f.value;d.push({shardId:h.slice(0,b),path:h.slice(b+1),size:x.size,lastModified:x.lastModified})}f.continue()}else s(d)},u.onerror=()=>i(u.error)})}}const yk="local";let Pl=yk,fv=new gk;function vv(){return Pl}function Ba(){return Pl}function Xc(){return fv}function ti(e){Pl=e}function _k(e){fv=e}const ir=le({activeProjectId:null});function hv(e){if(ir.activeProjectId===e)return;const t=nt.id;ir.activeProjectId=e,Dr.id=null,t&&Ml(t)}const pv=ta("__sh3core__:last-app",{user:{id:null}});function wk(){return pv.user.id}function Ss(e){pv.user.id=e}function kk(){Ss(null)}const xo=new Map;function xk(){return ir.activeProjectId??vv()}function ni(e,t){let n=xo.get(e);if(!n){const r=zn(e),s=xk();n={scopeId:s,state:i=>ta(`__app__:${e}:scope:${s}`,i),zones:r?.manifest.permissions?.includes(bs)?ko():void 0},xo.set(e,n)}return n}async function En(e,t={}){const n=zn(e);if(!n)throw new Error(`Cannot launch app "${e}": not registered`);if(nt.id&&nt.id!==e)Ml(nt.id,t.skipSwitchToHome);else if(nt.id===e){for(const r of n.manifest.requiredShards){const s=Kt.get(r),i=I0(r);s&&i&&s.resume?.(i)}n.resume?.(ni(e)),Hc(),n.onAppReady?.(ni(e)),t.skipLastApp||Ss(e),Dr.id=e,Li(e,new Set(n.manifest.requiredShards??[])),Ir(e).then(xs);return}for(const r of n.manifest.requiredShards)if(!Kt.has(r))throw new Error(`App "${e}" requires shard "${r}" which is not registered`);C1(n);try{for(const r of n.manifest.requiredShards)await zi(r,{phase:"launch"})}catch(r){Gf();try{vn.notify(`Couldn't launch "${n.manifest.label??e}": ${r instanceof Error?r.message:String(r)}`,{level:"error",duration:6e3})}catch{}throw r}T1(),n.activate?.(ni(e)),nt.id=e,Li(e,new Set(n.manifest.requiredShards??[])),Ir(e).then(xs),Hc(),n.onAppReady?.(ni(e)),t.skipLastApp||Ss(e),Dr.id=e}function Ml(e,t=!1){if(nt.id!==e)return;const n=zn(e);if(n){n.deactivate?.(),t||Xf(),Gf();for(const r of n.manifest.requiredShards){const s=Kt.get(r);s&&(s.autostart||ba(r))}nt.id=null,Li(null,new Set),d1(),hf(),Ir("sh3.home").then(xs),xo.delete(e)}}function jl(e){Dn.has(e)&&(nt.id===e&&(Ml(e),Ss(null)),Dn.delete(e))}async function Xs(){const e=nt.id?zn(nt.id):null;if(e){for(const t of e.manifest.requiredShards){const n=Kt.get(t);if(n?.suspend&&await n.suspend()===!1)return!1}if(e.suspend&&await e.suspend()===!1)return!1}return hf(),Xf(),Li(null,new Set),Ss(null),!0}function mv(){return{root:Rt(),source:Jf()}}function Sk(e){const t=Rt().docked,n=zl(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 Ek(e){const t=Rt();return fa(t.docked,n=>n.slotId===e)?!0:bv(t,n=>n.slotId===e)}function da(e){const t=Rt();return fa(t.docked,n=>n.viewId===e)?!0:bv(t,n=>n.viewId===e)}function fa(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(fa(n,t))return!0}return!1}function bv(e,t){for(const n of e.floats)if(fa(n.content,t))return Ce.focus(n.id),!0;return!1}function Ik(e,t){return gv(e,t,!0)}function Ak(e,t){return gv(e,t,!1)}function gv(e,t,n){const r=Rt().docked,s=ks(r,e);if(!s||s.type!=="split")return!1;const i=s;return t<0||t>=i.children.length?!1:(i.collapsed||(i.collapsed=i.children.map(()=>!1)),i.collapsed[t]=n,!0)}async function Dl(e){const t=Rt(),n=t.docked;if(!Nr(n,e))return Ck(t,e);const i=Kf(e)?.closable;return!i||typeof i=="object"&&(!await i.canClose()||!Nr(n,e))?!1:(oa(n,e),xr(n),!0)}async function Ck(e,t){for(const n of e.floats){if(!Nr(n.content,t))continue;const i=Kf(t)?.closable;if(typeof i=="object"&&(!await i.canClose()||!Nr(n.content,t)))return!1;oa(n.content,t);const l=n.content.type==="tabs"?n.content:null;return(!l||l.tabs.length===0)&&Ce.close(n.id),!0}return!1}function yv(e){const t=Rt(),n=Nr(t.docked,e);if(!n)return null;const r=n.entry,s=r.viewId;if(!s)return null;const i=r.label,l=r.meta;return oa(t.docked,e),xr(t.docked),Ce.open(s,{title:i,meta:l})}function _v(e){const n=Rt().floats.find(o=>o.id===e);if(!n)return!1;const r=n.content,s=r.type==="tabs"?r:null;if(!s||s.tabs.length===0)return Ce.close(e),!1;const i=s.tabs[s.activeTab??0]??s.tabs[0],l=Ol({slotId:i.slotId,viewId:i.viewId,label:i.label,meta:i.meta});return l&&Ce.close(e),l}function zl(e){if(e.type==="tabs")return e;if(e.type==="split")for(const t of e.children){const n=zl(t);if(n)return n}return null}function wv(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=wv(e.children[n],[...t,n]);if(r)return r}return null}function Ol(e){const t=Rt().docked;if(da(e.viewId??""))return!0;const n=zl(t);if(n)return n.tabs.push(e),n.activeTab=n.tabs.length-1,!0;const r=wv(t);return r?(Ff(t,r,e,"right"),!0):!1}function kv(e){return Il(Rt(),e)}let Jr=F(null),mn=F(null),Zr=F(!1),va="",So=null;function Jc(e,t){va=e,So=t.auth,S(Jr,t.user,!0),S(mn,t.session,!0),S(Zr,!t.session&&!t.user,!0)}async function xv(e,t){try{const n=await fetch(`${va}/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 S(Jr,r.user,!0),S(mn,r.session,!0),S(Zr,!1),{ok:!0}}catch{return{ok:!1,error:"Network error"}}}async function Tk(e,t,n){try{const r=await fetch(`${va}/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 S(Jr,s.user,!0),S(mn,s.session,!0),S(Zr,!1),{ok:!0}}catch{return{ok:!1,error:"Network error"}}}async function Rk(){try{await fetch(`${va}/api/auth/logout`,{method:"POST",credentials:"include"})}catch{}if(So?.required&&!So.guestAllowed){window.location.reload();return}S(Jr,null),S(mn,null),S(Zr,!0)}function Lk(){S(Jr,{id:"local",username:"local",displayName:"Local Owner",role:"admin",createdAt:"",updatedAt:""},!0),S(mn,{token:"local",userId:"local",role:"admin",expiresAt:1/0},!0),S(Zr,!1)}function Pk(){return a(mn)?.token==="local"}function bt(){return a(mn)?.role==="admin"}function Eo(){return a(mn)!==null}function Sv(){return a(Zr)}function qr(){return a(Jr)}function ha(){return a(mn)?`Bearer ${a(mn).token}`:null}const Mk=2e3;let Io=0;function jk(){return`e${++Io}`}function Dk(e){if(e.length<2||e.charCodeAt(0)!==101)return NaN;const t=Number(e.slice(1));return Number.isInteger(t)?t:NaN}class zk{#e;get entries(){return a(this.#e)}set entries(t){S(this.#e,t,!0)}constructor(t=Mk){this.#e=F(le([])),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:jk()};this.entries.push(r),this.entries.length>this.cap&&this.entries.splice(0,this.entries.length-this.cap)}clear(){this.entries.length=0}restore(t){let n=0;for(const r of t){const s=Dk(r.id);Number.isFinite(s)&&s>n&&(n=s)}n>Io&&(Io=n),this.entries.splice(0,this.entries.length,...t)}}const Zc=[1e3,2e3,5e3,1e4];class Ev{#e;get connected(){return a(this.#e)}set connected(t){S(this.#e,t,!0)}#t;get cwd(){return a(this.#t)}set cwd(t){S(this.#t,t,!0)}#n;get tenantRoot(){return a(this.#n)}set tenantRoot(t){S(this.#n,t,!0)}#s;get env(){return a(this.#s)}set env(t){S(this.#s,t,!0)}#r;get historyByMode(){return a(this.#r)}set historyByMode(t){S(this.#r,t,!0)}#a;get lastSeq(){return a(this.#a)}set lastSeq(t){S(this.#a,t,!0)}constructor(t){this.url=t,this.ws=null,this.handlers=new Set,this.pendingHistoryLogs=[],this.backoffIndex=0,this.closed=!1,this.#e=F(!1),this.#t=F(""),this.#n=F(""),this.#s=F(le({})),this.#r=F(le({})),this.#a=F(0)}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.tenantRoot=n.tenantRoot,this.env=n.env,this.lastSeq=n.seq),n.t==="cwd"&&(this.cwd=n.cwd),n.t==="history-bundle"&&(this.historyByMode=n.byMode);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=Zc[Math.min(this.backoffIndex,Zc.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 Iv{constructor(t=""){this.base=t}async list(t){return(await(await this.#e("/api/fs/list",t)).json()).entries}async stat(t){return await(await this.#e("/api/fs/stat",t)).json()}async read(t){return await(await this.#e("/api/fs/read",t)).text()}async#e(t,n){const r=`${this.base}${t}?path=${encodeURIComponent(n)}`,s=await fetch(r,{credentials:"include"});if(!s.ok){let i=`HTTP ${s.status}`;try{const l=await s.json();l.error&&(i=l.error)}catch{}throw new Error(i)}return s}}function Ok(e){const t=Ri(e);if(!t)return null;const r=Vf().find(s=>s.verb===t);return r?{verb:r.verb,shardId:r.shardId}:null}async function Av(e,t,n,r){if(!ar.has(e))throw new Error(`unknown shard: ${e}`);const s=Ri(t);if(!s)throw new Error(`unknown verb: ${t}`);if(!s.programmatic)throw new Error(`verb "${t}" is not programmatic`);const i=[],l=qk(i),o=await Nk({sinkScrollback:l,opts:r});return{result:await s.run(o,n),scrollback:i}}async function Nk(e){const t={sh3:ql({callerKind:"verb"}),scrollback:e.sinkScrollback,session:Bk(),cwd:"/",fs:new Iv,async dispatch(n){const r=n.trim();if(!r)return;const s=r.indexOf(" "),i=s===-1?r:r.slice(0,s),l=s===-1?"":r.slice(s+1),o=l.length?l.split(/\s+/):[],c=Ok(i);if(!c)throw new Error(`dispatch: unknown verb "${i}"`);const u={...t,structuredArgs:void 0};await c.verb.run(u,o)},structuredArgs:e.opts?.structured,signal:e.opts?.signal};return t}function qk(e){let t=0;return{entries:e,push(r){const s={...r,id:`runverb-${++t}`};e.push(s)},clear(){e.length=0}}}function Bk(){return new Ev("")}const Es="sh3.controllable-field",Ao="sh3.walker";function Nl(){return dr(Es)}function Cv(e){for(const t of Nl())if(t.owner.shardId===e.shardId&&(t.owner.slotId??void 0)===(e.slotId??void 0)&&t.descriptor.fieldId===e.fieldId)return t}function Vk(e){return e.shape==="readonly"?!0:e.shape==="imperative"?typeof e.set!="function":!1}function Fk(e){if(e.shape==="element"||e.shape==="imperative"||e.shape==="readonly")return e.element}function Uk(e){const t=e.descriptor,n={shardId:e.owner.shardId,fieldId:t.fieldId,label:t.label,kind:t.kind,description:t.description,enumValues:t.enumValues,readonly:Vk(t),source:"contributed"};e.owner.slotId!==void 0&&(n.slotId=e.owner.slotId);const r=Fk(t);return r!==void 0&&(n.element=r),n}function Hk(e={}){const t=[];for(const n of Nl())e.shardId!==void 0&&n.owner.shardId!==e.shardId||e.slotId!==void 0&&n.owner.slotId!==e.slotId||e.kind!==void 0&&n.descriptor.kind!==e.kind||t.push(Uk(n));return t}function Kk(e){return e.get()}function Wk(e){const t=e.element;return t instanceof HTMLInputElement&&t.type==="checkbox"?t.checked:t.value}function Yk(e){const t=Cv(e);if(!t)throw new Error(`unknown field: ${e.shardId}::${e.slotId??""}::${e.fieldId}`);const n=t.descriptor;return n.shape==="element"?Wk(n):Kk(n)}function Tv(e,t){e instanceof HTMLInputElement&&e.type==="checkbox"?e.checked=!!t:e.value=String(t),e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0}))}async function Gk(e,t){const n=Cv(e);if(!n)throw new Error(`unknown field: ${e.shardId}::${e.slotId??""}::${e.fieldId}`);const r=n.descriptor;if(r.shape==="readonly")throw new Error(`field is read-only: ${e.shardId}::${e.slotId??""}::${e.fieldId}`);if(r.shape==="imperative"){if(typeof r.set!="function")throw new Error(`field is read-only: ${e.shardId}::${e.slotId??""}::${e.fieldId}`);await r.set(t);return}Tv(r.element,t)}const Xk=new Set(["submit","button","reset","file","hidden"]);function Jk(e){return e.type==="number"?"number":e.type==="checkbox"?"boolean":"string"}function Zk(e){return Array.from(e.options).map(t=>t.value)}function Qc(e){return e.toLowerCase().trim().replace(/[^a-z0-9.\-_ ]/g,"").replace(/\s+/g,"-").replace(/^-+|-+$/g,"")}function Rv(e){if(e.id){const n=e.ownerDocument.querySelector(`label[for="${CSS.escape(e.id)}"]`);if(n&&n.textContent)return n.textContent}let t=e.parentElement;for(;t;){if(t.tagName==="LABEL"&&t.textContent)return t.textContent;t=t.parentElement}return null}function Qk(e,t){const n=e.getAttribute("data-sh3-field");if(n&&n.length>0)return n;const r=e.name;if(r)return r;const s=Rv(e);if(s){const l=Qc(s);if(l.length>0)return l}if(e.id)return e.id;const i=e.placeholder;if(i){const l=Qc(i);if(l.length>0)return l}return`field-${t}`}function $k(e){return Rv(e)?.trim()??e.placeholder??null}function e0(e){return e.hasAttribute("data-sh3-field")?!0:e instanceof HTMLInputElement?!Xk.has(e.type):e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement}function Va(e,t){const n=new Set;for(const l of Nl()){const o=l.descriptor;o.shape==="element"&&n.add(o.element)}const r=t.querySelectorAll("input, textarea, select, [data-sh3-field]"),s=[];let i=0;for(const l of Array.from(r)){if(!e0(l)||n.has(l))continue;let o="string",c;if(l instanceof HTMLInputElement)o=Jk(l);else if(l instanceof HTMLSelectElement)o="enum",c=Zk(l);else if(l.hasAttribute("data-sh3-field")){const f=l.getAttribute("data-sh3-field-kind");f&&["string","number","integer","boolean","enum","json"].includes(f)&&(o=f)}const u=Qk(l,i);/^field-\d+$/.test(u)&&(i+=1);const d={shardId:Ao,slotId:e,fieldId:u,label:$k(l)??u,kind:o,readonly:!1,source:"walker",element:l};c!==void 0&&(d.enumValues=c),s.push(d)}return s}const pa=new Set;let ri=null,Fa=null,$c=null,Ua=!1;function t0(){if(ri&&ri.isConnected)return ri;const e=document.createElement("div");return e.className="sh3-decoration-layer",e.style.cssText="position: fixed; inset: 0; pointer-events: none;",document.body.appendChild(e),ri=e,Fa||(Fa=()=>Co(),window.addEventListener("resize",Fa)),$c||($c=ra(Es,()=>{const t=new Set;for(const n of dr(Es))t.add(Mi({shardId:n.owner.shardId,slotId:n.owner.slotId,fieldId:n.descriptor.fieldId}));for(const n of Array.from(pa))t.has(Mi(n.addr))||Lv(n)})),e}function Mi(e){return`${e.shardId}::${e.slotId??""}::${e.fieldId}`}function n0(e){for(const t of dr(Es))if(t.owner.shardId===e.shardId&&(t.owner.slotId??void 0)===(e.slotId??void 0)&&t.descriptor.fieldId===e.fieldId)return t}function r0(e){const t=e.descriptor;if(t.shape==="element"||t.shape==="imperative"||t.shape==="readonly")return t.element}function s0(e){let t=e.parentElement;for(;t;){const n=getComputedStyle(t);if(/auto|scroll/.test(n.overflowY)||/auto|scroll/.test(n.overflowX))return t;t=t.parentElement}return window}function i0(e){if(e.disposed)return;const t=e.target.getBoundingClientRect();e.wrapper.style.left=`${t.left}px`,e.wrapper.style.top=`${t.top}px`,e.wrapper.style.width=`${t.width}px`,e.wrapper.style.height=`${t.height}px`,e.handle?.update?.(t)}function Co(){Ua||(Ua=!0,requestAnimationFrame(()=>{Ua=!1;for(const e of pa)i0(e)}))}function Lv(e){if(!e.disposed){e.disposed=!0,pa.delete(e),e.resizeObserver.disconnect(),e.scrollAncestor===window?window.removeEventListener("scroll",e.scrollListener,!0):e.scrollAncestor.removeEventListener("scroll",e.scrollListener);try{e.handle?.dispose?.()}catch(t){console.error("[sh3] decoration dispose threw",t)}e.wrapper.parentElement&&e.wrapper.parentElement.removeChild(e.wrapper)}}function a0(e,t){const n=n0(e);if(!n)throw new Error(`unknown field: ${Mi(e)}`);const r=r0(n);if(!r)throw new Error(`field has no element to anchor to: ${Mi(e)}`);const s=t0(),i=r.getBoundingClientRect(),l=t({element:r,rect:i});let o,c=null;l instanceof HTMLElement?o=l:(o=l.element,c=l);const u=document.createElement("div");u.className="sh3-decoration",u.style.cssText=`position: absolute; left: ${i.left}px; top: ${i.top}px; width: ${i.width}px; height: ${i.height}px; pointer-events: none;`,u.appendChild(o),s.appendChild(u);const d=s0(r),f={addr:e,element:o,wrapper:u,target:r,handle:c,resizeObserver:new ResizeObserver(()=>Co()),scrollAncestor:d,scrollListener:()=>Co(),disposed:!1};return f.resizeObserver.observe(r),d===window?window.addEventListener("scroll",f.scrollListener,!0):d.addEventListener("scroll",f.scrollListener),pa.add(f),()=>Lv(f)}const eu=["ephemeral","session","workspace","user"];function Pv(e){return e.type==="tabs"?e.tabs.filter(t=>t.viewId!==null):e.type==="split"?e.children.flatMap(Pv):e.viewId!==null?[{slotId:e.slotId,viewId:e.viewId,label:e.viewId}]:[]}function ql(e){e?.callerKind,e?.callerShardId;const t=e?.zones;function n(){try{const{root:o}=mv();return Pv(o.docked).map(c=>({slotId:c.slotId,viewId:c.viewId??"",label:c.label}))}catch{return[]}}function r(o){if(!o.slotId)throw new Error(`walker field requires slotId: ${o.shardId}::::${o.fieldId}`);const c=qa(o.slotId);if(!c?.host)throw new Error(`unknown field: ${o.shardId}::${o.slotId}::${o.fieldId}`);const u=Va(o.slotId,c.host).find(d=>d.fieldId===o.fieldId);if(!u||!u.element)throw new Error(`unknown field: ${o.shardId}::${o.slotId}::${o.fieldId}`);return u}function s(o){const u=r(o).element;return u instanceof HTMLInputElement&&u.type==="checkbox"?u.checked:u instanceof HTMLInputElement||u instanceof HTMLTextAreaElement||u instanceof HTMLSelectElement?u.value:u.textContent??""}function i(o,c){const d=r(o).element;if(d instanceof HTMLInputElement||d instanceof HTMLTextAreaElement||d instanceof HTMLSelectElement){Tv(d,c);return}throw new Error(`walker field "${o.fieldId}" is a [data-sh3-field] custom element; the framework cannot write into it. Use an explicit imperative registration with set().`)}const l={list(o){const c=Hk({slotId:o?.slotId,shardId:o?.shardId,kind:o?.kind}),u=o?.walker??"off";if(u==="off")return c;const d=o?.slotId?[o.slotId]:Array.from(new Set(c.map(h=>h.slotId).filter(h=>!!h)));let f=c;for(const h of d){const b=qa(h);if(!b?.host)continue;const x=c.some(_=>_.slotId===h);u==="fallback"&&x||(f=f.concat(Va(h,b.host)))}return o?.kind&&(f=f.filter(h=>h.kind===o.kind)),f},get(o){return o.shardId===Ao?s(o):Yk(o)},async set(o,c){if(o.shardId===Ao){i(o,c);return}return Gk(o,c)},walk(o){const c=qa(o);if(!c?.host)throw new Error(`unknown slot: ${o}`);return Va(o,c.host)},onChange(o){return ra(Es,o)},attachDecoration(o,c){return a0(o,c)}};return{listApps(){return Yr().map(o=>({id:o.id,label:o.label}))},getActiveApp(){const o=pl();return o?{id:o.id,label:o.label}:null},launchApp(o){En(o)},listShards(){return Array.from(Kt.values()).map(o=>({id:o.manifest.id,label:o.manifest.label,version:o.manifest.version}))},listViewsInCurrentLayout(){return n()},openViewInCurrentLayout(o){try{if(da(o))return{ok:!0};const c=Is().find(u=>u.viewId===o);if(c){const u=`standalone:${o}:${Date.now()}`;return Ol({slotId:u,viewId:o,label:c.label})?{ok:!0}:{ok:!1,error:`could not dock "${o}" — no available slot`}}return{ok:!1,error:`view "${o}" not found in current layout`}}catch(c){return{ok:!1,error:c instanceof Error?c.message:String(c)}}},listStandaloneViews(){return Is()},popoutSlot(o){try{const c=yv(o);return c?{ok:!0,floatId:c}:{ok:!1,error:`slot "${o}" not found in docked tree`}}catch(c){return{ok:!1,error:c instanceof Error?c.message:String(c)}}},dockFloat(o){try{return _v(o)?{ok:!0}:{ok:!1,error:`float "${o}" not found or has no dockable content`}}catch(c){return{ok:!1,error:c instanceof Error?c.message:String(c)}}},locateSlot(o){try{return kv(o)}catch{return null}},listFloats(){return Ce.list().map(o=>{const c=o.content.type==="tabs"?o.content:null,u=c?c.tabs[c.activeTab??0]??c.tabs[0]:null;return{floatId:o.id,viewId:u?.viewId??null,label:o.title??u?.label??o.id}})},closeSlot(o){return Dl(o),{ok:!0}},listZones(o){if(!t)return[];const c=new Map;for(const u of eu)for(const d of t.list(u)){if(o&&d!==o)continue;let f=c.get(d);f||(f=new Set,c.set(d,f)),f.add(u)}return Array.from(c.entries()).map(([u,d])=>({shardId:u,zones:Array.from(d)}))},readZone(o,c){return!t||!eu.includes(c)?null:t.peek(c,o)??null},whoAmI(){return{userId:qr()?.id??"guest",admin:bt()}},setMode(o){return!1},listModes(){return[]},getMode(){return{id:"sh3",label:"sh3"}},dispatchToTerminal:Ll({headless:!0}),listVerbs(o){const c=o?.programmaticOnly===!0,u=Vf().map(({verb:d,shardId:f})=>({shardId:f,name:d.name,summary:d.summary,programmatic:d.programmatic,schema:d.schema}));return c?u.filter(d=>d.programmatic===!0):u},async runVerb(o,c,u,d){return Av(o,c,u,d)},listActions(o){const c=xl(et(),Ft());return o?.activeOnly?c.filter(u=>u.active):c},runAction(o,c){return cv(o)},listViews(){return n()},fields:l}}function o0(e){return ql({callerKind:"verb",zones:e})}class l0{#e;#t;constructor(t,n){this.#e=t.replace(/\/$/,""),this.#t=n}async read(t,n,r){const s=`${this.#e}/api/docs/${t}/${n}/${r}`,i=await fetch(s,{credentials:"include"});if(i.status===404)return null;if(!i.ok)throw new Error(`Document read failed: ${i.status}`);return(i.headers.get("content-type")??"").includes("application/octet-stream")?i.arrayBuffer():i.text()}async write(t,n,r,s){const i=`${this.#e}/api/docs/${t}/${n}/${r}`,l={...this.#n(),"Content-Type":typeof s=="string"?"text/plain":"application/octet-stream"},o=await fetch(i,{method:"PUT",headers:l,body:s,credentials:"include"});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}`,i=await fetch(s,{method:"DELETE",headers:this.#n(),credentials:"include"});if(!i.ok)throw new Error(`Document delete failed: ${i.status}`)}async list(t,n){const r=`${this.#e}/api/docs/${t}/${n}`,s=await fetch(r,{credentials:"include"});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",credentials:"include"})).ok}async listAllShards(t){const n=`${this.#e}/api/docs/${t}/_shards`,r=await fetch(n,{credentials:"include"});if(!r.ok)throw new Error(`listAllShards failed: ${r.status}`);return r.json()}async listAllDocuments(t){const n=`${this.#e}/api/docs/${t}/_all`,r=await fetch(n,{credentials:"include"});if(!r.ok)throw new Error(`listAllDocuments failed: ${r.status}`);return r.json()}async readMeta(t,n,r){const s=`${this.#e}/api/docs/${t}/${n}/${r}?meta=1`,i=await fetch(s,{credentials:"include"});if(!i.ok)throw new Error(`readMeta failed: ${i.status}`);const l=await i.json();return l.exists?l:null}async resolve(t,n,r,s){const i=`${this.#e}/api/docs/${t}/${n}/${r}/resolve`,l=typeof s=="string"?{choice:s}:{choice:s.origin},o=await fetch(i,{method:"POST",credentials:"include",headers:{...this.#n(),"Content-Type":"application/json"},body:JSON.stringify(l)});if(!o.ok)throw new Error(`resolve failed: ${o.status}`)}async readBranch(t,n,r,s){const i=`${this.#e}/api/docs/${t}/${n}/${r}/branch?origin=${encodeURIComponent(s)}`,l=await fetch(i,{credentials:"include"});if(l.status===404)return null;if(!l.ok)throw new Error(`readBranch failed: ${l.status}`);return l.text()}async rename(t,n,r,s){const i=`${this.#e}/api/docs/${t}/${n}/${r}/rename`,l={...this.#n(),"Content-Type":"application/json"},o=await fetch(i,{method:"POST",headers:l,body:JSON.stringify({to:s}),credentials:"include"});if(o.status===404)throw new Error(`Document not found at ${r}`);if(o.status===409)throw new Error(`Document already exists at ${s}`);if(!o.ok)throw new Error(`Document rename failed: ${o.status}`)}#n(){return this.#t?{Authorization:`Bearer ${this.#t}`}:{}}}class c0{#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 Ln=new c0,u0=1e3;function d0(e,t,n,r){const s=new Set,i=new Set;function l(u){return!r.extensions||r.extensions.length===0?!0:r.extensions.some(d=>u.endsWith(d))}function o(u,d){Ln.emit({type:u,path:d,tenantId:e,shardId:t})}const c={async list(){const u=await n.list(e,t);return!r.extensions||r.extensions.length===0?u:u.filter(d=>l(d.path))},async read(u){const d=await n.read(e,t,u);return d===null?null:typeof d=="string"?d:new TextDecoder().decode(d)},async write(u,d){const f=await n.exists(e,t,u);await n.write(e,t,u,d),o(f?"update":"create",u)},async delete(u){const d=await n.exists(e,t,u);await n.delete(e,t,u),d&&o("delete",u)},async rename(u,d){if(!l(d))throw new Error(`Cannot rename to ${d}: violates handle extensions filter`);for(const f of s)if(f.path===u)throw new Error(`Cannot rename: active autosave on ${u}; flush and dispose first`);await n.rename(e,t,u,d),Ln.emit({type:"rename",path:d,oldPath:u,tenantId:e,shardId:t})},async exists(u){return n.exists(e,t,u)},async status(u){if(!n.readMeta)throw new Error("Backend does not support status()");return n.readMeta(e,t,u)},async resolveConflict(u,d){if(!n.resolve)throw new Error("Backend does not support resolveConflict()");if(typeof d!="string"&&!(typeof d=="object"&&"origin"in d))throw new Error("choice must be a string or { origin } object");return n.resolve(e,t,u,d)},async readBranch(u,d){if(!n.readBranch)throw new Error("Backend does not support readBranch()");return n.readBranch(e,t,u,d)},watch(u){const d=Ln.subscribe(f=>{f.tenantId===e&&f.shardId===t&&l(f.path)&&u(f)});return i.add(d),()=>{d(),i.delete(d)}},autosave(u,d){const f=new f0(c,u,d?.debounceMs??u0);return s.add(f),f},async dispose(){const u=[...s].map(d=>d.dispose());await Promise.all(u),s.clear();for(const d of i)d();i.clear()}};return c}class f0{#e;#t;#n;#s=null;#r=null;#a=!1;#i=!1;constructor(t,n,r){this.#e=t,this.#t=n,this.#n=r}get dirty(){return this.#a}get path(){return this.#t}update(t){this.#i||(this.#s=t,this.#a=!0,this.#o())}async flush(){if(this.#l(),this.#s!==null){const t=this.#s;this.#s=null,this.#a=!1,await this.#e.write(this.#t,t)}}async dispose(){this.#i||(this.#i=!0,await this.flush())}#o(){this.#l(),this.#r=setTimeout(()=>{this.#r=null,this.flush()},this.#n)}#l(){this.#r!==null&&(clearTimeout(this.#r),this.#r=null)}}const v0="sync:peer",h0="sync:policy";let Qr="";function Mv(e){Qr=e}async function p0(e){const t=await fetch(`${Qr}/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 m0(e,t){if(!bt())throw new Error("Cannot update env state: not elevated to admin");const n=ha(),r={"Content-Type":"application/json"};n&&(r.Authorization=n);const s=await fetch(`${Qr}/api/env-state/${encodeURIComponent(e)}`,{method:"PUT",headers:r,body:JSON.stringify(t)});if(!s.ok){const i=await s.json().catch(()=>({}));throw new Error(`Env state update failed: HTTP ${s.status} — ${i.error??"unknown"}`)}}async function Bl(e,t,n){if(!bt())throw new Error("Cannot install: not elevated to admin");const r=ha(),s=new FormData;s.append("manifest",new Blob([JSON.stringify(e)],{type:"application/json"}),"manifest.json"),s.append("client",new Blob([t],{type:"application/javascript"}),"client.js"),n!==void 0&&s.append("server",new Blob([n],{type:"application/javascript"}),"server.js");const i={};r&&(i.Authorization=r);const l=await fetch(`${Qr}/api/packages/install`,{method:"POST",headers:i,body:s});if(!l.ok){let o={};try{o=await l.json()}catch{}return{ok:!1,error:typeof o.error=="string"?o.error:`HTTP ${l.status}`,code:typeof o.code=="string"?o.code:void 0,missing:Array.isArray(o.missing)?o.missing:void 0}}return{ok:!0}}async function b0(e){if(!bt())throw new Error("Cannot uninstall: not elevated to admin");const t=ha(),n={"Content-Type":"application/json"};t&&(n.Authorization=t);const r=await fetch(`${Qr}/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 g0(){const e=await fetch(`${Qr}/api/packages`);return e.ok?await e.json():[]}const jv="documents:browse",Dv="documents:read",zv="documents:write";function y0(e,t,n={canRead:!1,canWrite:!1}){const r={listDocuments:()=>t.listAllDocuments(e),listShards:()=>t.listAllShards(e),watchDocuments:s=>Ln.subscribe(i=>{i.tenantId===e&&s(i)})};return n.canRead&&(r.readFrom=(s,i)=>t.read(e,s,i),r.statusFrom=async(s,i)=>t.readMeta?t.readMeta(e,s,i):null,r.readBranchFrom=async(s,i,l)=>t.readBranch?t.readBranch(e,s,i,l):null),n.canWrite&&(r.writeTo=async(s,i,l)=>{const o=await t.exists(e,s,i);await t.write(e,s,i,l),Ln.emit({type:o?"update":"create",path:i,tenantId:e,shardId:s})},r.resolveConflictFrom=async(s,i,l)=>{if(!t.resolve)throw new Error("Backend does not support resolveConflict");await t.resolve(e,s,i,l),Ln.emit({type:"update",path:i,tenantId:e,shardId:s})},r.renameFrom=async(s,i,l,o)=>{if(o?.newShardId!==void 0)throw new Error("Cross-shard move is not yet supported (ADR-018 amendment 2026-04-27)");await t.rename(e,s,i,l),Ln.emit({type:"rename",path:l,oldPath:i,tenantId:e,shardId:s})},r.deleteFrom=async(s,i)=>{const l=await t.exists(e,s,i);await t.delete(e,s,i),l&&Ln.emit({type:"delete",path:i,tenantId:e,shardId:s})}),r}const Ov="keys:mint";class Nv extends Error{constructor(t){super(`Shard may not mint a key with scope '${t}' — not declared in manifest.`),this.name="ScopeEscalationError"}}class qv extends Error{constructor(){super("User denied key creation."),this.name="ConsentDeniedError"}}const To=new Map;let us=null;function Bv(e){return us=e,()=>{us===e&&(us=null)}}async function _0(e,t){if(!us)throw new Error("No consent listener registered — the sh3 must mount ConsentDialog.");const n=`c_${Math.random().toString(36).slice(2)}${Date.now()}`;return new Promise(r=>{To.set(n,{resolve:r}),us({...t,shardId:e,requestId:n})})}function Ro(e,t){const n=To.get(e);n&&(To.delete(e),n.resolve(t))}const ji=new Map,pi=new Map,w0=5e3;function k0(e,t){let n=pi.get(e);n||(n=new Set,pi.set(e,n)),n.add(t),setTimeout(()=>{n.delete(t),n.size===0&&pi.delete(e)},w0)}function x0(e,t){return pi.get(e)?.has(t)??!1}function Vl(e,t){const n=ji.get(e)??new Set;return n.add(t),ji.set(e,n),()=>{n.delete(t)}}function Vv(e,t){if(!e||x0(e,t))return;k0(e,t);const n=ji.get(e);if(n)for(const s of n)s(t);const r=ji.get("*");if(r)for(const s of r)s(t)}function S0(){if(typeof EventSource>"u")return()=>{};const e=new EventSource("/api/keys/events",{withCredentials:!0});return e.onmessage=t=>{try{const n=JSON.parse(t.data);Vv(n.shardId,n.id)}catch{}},()=>e.close()}function E0(e){const{shardId:t,shardPermissions:n}=e,r=s=>{for(const i of s)if(!n.includes(i)&&!n.includes("admin:*"))throw new Nv(i)};return{async mint(s){if(r(s.scopes),!await _0(t,s))throw new qv;const l=await fetch("/api/keys/consent",{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({shardId:t,...s})});if(!l.ok)throw new Error(`Consent ticket failed: ${l.status}`);const{ticket:o}=await l.json(),c=await fetch("/api/keys",{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({ticket:o})});if(!c.ok)throw new Error(`Mint failed: ${c.status}`);return c.json()},async list(){const s=await fetch("/api/keys",{credentials:"include"});if(!s.ok)throw new Error(`List failed: ${s.status}`);return(await s.json()).filter(l=>l.mintedByShardId===t)},async revoke(s){const i=await fetch(`/api/keys/${encodeURIComponent(s)}`,{method:"DELETE",credentials:"include"});if(!i.ok&&i.status!==404)throw new Error(`Revoke failed: ${i.status}`);Vv(t,s)}}}const Kt=le(new Map),Ar=new Map,ar=le(new Map),Di=le(new Map);function ma(e){const t=e.manifest.id;Kt.has(t)&&ar.has(t)&&ba(t),Kt.set(t,e),Di.delete(t)}async function zi(e,t){const n=Kt.get(e);if(!n)throw new Error(`Cannot activate shard "${e}": not registered`);if(Ar.has(e))return;const r={shard:n,ctx:void 0,viewIds:new Set,verbNames:new Set,cleanupFns:[]},s=le({proxy:null,defaults:null}),i={register(o,c,u){let d=c;if(o==="sh3.controllable-field"){const h={shardId:e};u?.scope?.slotId!==void 0&&(h.slotId=u.scope.slotId),d={owner:h,descriptor:c}}const f=If(o,d,u);return r.cleanupFns.push(async()=>f()),f},list(o){return dr(o)},listPoints(){return rw()},onChange(o,c){const u=ra(o,c);return r.cleanupFns.push(async()=>u()),u},onAnyChange(o){const c=sw(o);return r.cleanupFns.push(async()=>c()),c}},l={state:o=>an.state(e,o),registerView:(o,c)=>{v1(o,c,n.manifest.id),r.viewIds.add(o)},registerVerb:o=>{const c=e==="shell"?o.name:`${e}:${o.name}`;h1(c,{...o,name:c},e),r.verbNames.add(c)},documents:o=>{const c=d0(Ba(),e,Xc(),o);return r.cleanupFns.push(()=>c.dispose()),c},env(o){return s.proxy?(console.warn(`[sh3] Shard "${e}" called ctx.env() more than once; extra calls are ignored.`),s.proxy):(s.defaults=o,s.proxy={...o},s.proxy)},async envUpdate(o){if(!s.proxy||!s.defaults)throw new Error(`Shard "${e}" called envUpdate() without declaring env state`);const c=nr(s.proxy);Object.assign(s.proxy,o);try{const u=nr(s.proxy);await m0(e,u)}catch(u){throw Object.assign(s.proxy,c),u}},get isAdmin(){return bt()},get tenantId(){return Ba()},zones:n.manifest.permissions?.includes(bs)?ko():void 0,browse:n.manifest.permissions?.includes(jv)?y0(Ba(),Xc(),{canRead:n.manifest.permissions.includes(Dv),canWrite:n.manifest.permissions.includes(zv)}):void 0,keys:n.manifest.permissions?.includes(Ov)?E0({shardId:e,shardPermissions:n.manifest.permissions??[]}):void 0,contributions:i,actions:{register(o){const c=Gw(o,e);return r.cleanupFns.push(async()=>c()),c},selection:aa(e),openContextMenu(o){dv(o)},openPalette(o){ua(o)}},sh3:ql({callerKind:"shard",callerShardId:e,zones:n.manifest.permissions?.includes(bs)?ko():void 0})};if(r.ctx=l,n.onKeyRevoked){const o=Vl(e,async c=>{try{await n.onKeyRevoked(c)}catch(u){console.error(`[sh3] onKeyRevoked failed in "${e}":`,u)}});r.cleanupFns.push(async()=>o())}Ar.set(e,r),ar.set(e,n);try{await n.activate(l);for(const o of n.manifest.views)if(!r.viewIds.has(o.id))throw new Error(`Shard "${e}" declared view "${o.id}" in its manifest but registered no factory for it.`);if(s.proxy&&s.defaults)try{const o=await p0(e),c=Object.assign({},s.defaults,o);Object.assign(s.proxy,c)}catch(o){console.warn(`[sh3] Failed to hydrate env state for shard "${e}":`,o instanceof Error?o.message:o)}}catch(o){for(const c of r.cleanupFns)try{c()}catch{}for(const c of r.verbNames)Bf(c);for(const c of r.viewIds)qf(c);throw zf(e),Ar.delete(e),ar.delete(e),Di.set(e,{id:e,error:o,phase:t?.phase??"launch",timestamp:Date.now()}),console.error(`[sh3] Shard "${e}" failed to activate:`,o),o}Di.delete(e),n.autostart?.(l)}function ba(e){const t=Ar.get(e);if(t){t.shard.deactivate?.();for(const n of t.cleanupFns)n();for(const n of t.verbNames)Bf(n);for(const n of t.viewIds)qf(n);zf(e),Ar.delete(e),ar.delete(e)}}function I0(e){return Ar.get(e)?.ctx}function Is(){const e=[];for(const t of ar.values())for(const n of t.manifest.views)n.standalone&&e.push({shardId:t.manifest.id,viewId:n.id,label:n.label});return e}function A0(e){return btoa(JSON.stringify(e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function C0(e){let t;try{const r=e.replace(/-/g,"+").replace(/_/g,"/");t=atob(r)}catch(r){throw new Error(`Invalid satellite payload encoding: ${r.message}`)}let n;try{n=JSON.parse(t)}catch(r){throw new Error(`Invalid satellite payload JSON: ${r.message}`)}return T0(n)}function T0(e){if(!e||typeof e!="object")throw new Error("Satellite payload must be an object");const t=e;if(t.kind==="float"){if(!t.content||typeof t.content!="object")throw new Error("Float payload missing content");if(!t.size||typeof t.size!="object")throw new Error("Float payload missing size");if(!Array.isArray(t.activateShards))throw new Error("Float payload missing activateShards");return t}if(t.kind==="app"){if(typeof t.appId!="string")throw new Error("App payload missing appId");if(!Array.isArray(t.activateShards))throw new Error("App payload missing activateShards");return t}throw new Error(`Unknown satellite payload kind: ${String(t.kind)}`)}function R0(){return typeof globalThis.__TAURI_INTERNALS__<"u"}let tu=0;function L0(){return tu+=1,`sh3-satellite-${Date.now()}-${tu}`}async function ga(e,t={}){if(!R0())return console.warn("[sh3] sh3.window.spawn called outside Tauri — no-op"),"";const{invoke:n}=await Fi(async()=>{const{invoke:c}=await import("./core-DsojzR6k.js");return{invoke:c}},[]),r=A0(e),s=L0(),i=t.title??(e.kind==="float"?e.title??"SH3":`SH3 — ${e.appId}`),l=t.width??(e.kind==="float"?e.size.w:1024),o=t.height??(e.kind==="float"?e.size.h:768);return n("sh3_spawn_satellite",{payload:r,label:s,title:i,width:l,height:o})}class ht extends Error{constructor(t,n){super(`Registry validation error at ${t}: ${n}`),this.name="RegistryValidationError",this.path=t}}function Fv(e){if(!e||typeof e!="object"||Array.isArray(e))throw new ht("$","expected an object");const t=e;if(t.version!==1)throw new ht("$.version",`expected 1, got ${JSON.stringify(t.version)}`);if(!Array.isArray(t.packages))throw new ht("$.packages","expected an array");return{version:1,packages:t.packages.map((r,s)=>P0(r,`$.packages[${s}]`))}}function P0(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new ht(t,"expected an object");const n=e;Jt(n,"id",t),D0(n,"type",["shard","app","combo"],t),Jt(n,"label",t),Jt(n,"description",t);const r=`${t}.author`;if(!n.author||typeof n.author!="object"||Array.isArray(n.author))throw new ht(r,"expected an object");const s=n.author;if(typeof s.name!="string"||s.name.length===0)throw new ht(`${r}.name`,"expected a non-empty string");if(!Array.isArray(n.versions)||n.versions.length===0)throw new ht(`${t}.versions`,"expected a non-empty array");const i=n.versions.map((l,o)=>M0(l,`${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:i}}function M0(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new ht(t,"expected an object");const n=e;Jt(n,"version",t),Jt(n,"contractVersion",t);const r="bundleUrl"in n&&n.bundleUrl!==void 0,s="integrity"in n&&n.integrity!==void 0;if(r&&Jt(n,"bundleUrl",t),s&&Jt(n,"integrity",t),r!==s)throw new ht(t,"bundleUrl and integrity must be provided together");const i="serverBundleUrl"in n&&n.serverBundleUrl!==void 0;if(i&&Jt(n,"serverBundleUrl",t),"serverIntegrity"in n&&n.serverIntegrity!==void 0&&Jt(n,"serverIntegrity",t),!r&&!i)throw new ht(t,"expected at least one of bundleUrl+integrity or serverBundleUrl");let l;if(n.requires!==void 0){if(!Array.isArray(n.requires))throw new ht(`${t}.requires`,"expected an array");l=n.requires.map((o,c)=>j0(o,`${t}.requires[${c}]`))}return{version:n.version,contractVersion:n.contractVersion,bundleUrl:typeof n.bundleUrl=="string"?n.bundleUrl:void 0,integrity:typeof n.integrity=="string"?n.integrity:void 0,serverBundleUrl:typeof n.serverBundleUrl=="string"?n.serverBundleUrl:void 0,serverIntegrity:typeof n.serverIntegrity=="string"?n.serverIntegrity:void 0,requires:l}}function j0(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new ht(t,"expected an object");const n=e;return Jt(n,"id",t),Jt(n,"versionRange",t),{id:n.id,versionRange:n.versionRange}}function Jt(e,t,n){const r=e[t];if(typeof r!="string"||r.length===0)throw new ht(`${n}.${t}`,"expected a non-empty string")}function D0(e,t,n,r){if(!n.includes(e[t]))throw new ht(`${r}.${t}`,`expected one of: ${n.join(", ")}`)}const nu=["sha256","sha384","sha512"];function z0(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(!nu.includes(n))throw new Error(`Unsupported SRI algorithm: ${n}. Supported: ${nu.join(", ")}`);if(!r)throw new Error(`Empty hash in SRI: ${e}`);return{algorithm:n,hash:r}}function O0(e){return`SHA-${e.slice(3)}`}function N0(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 Fl(e,t){const{algorithm:n,hash:r}=z0(t),s=O0(n),i=await crypto.subtle.digest(s,e),l=N0(i);if(l!==r)throw new Error(`Integrity check failed for ${n}. Expected: ${r}, got: ${l}`)}async function Uv(e){const t=new Set,n=[];for(const r of e){let s;try{const l=await fetch(r);if(!l.ok){console.warn(`[sh3] Registry fetch failed for ${r}: HTTP ${l.status}`);continue}s=await l.json()}catch(l){console.warn(`[sh3] Registry ${r}: ${l instanceof Error?l.message:String(l)}`);continue}let i;try{i=Fv(s)}catch(l){console.warn(`[sh3] Registry ${r} failed validation: ${l instanceof Error?l.message:String(l)}`);continue}for(const l of i.packages)t.has(l.id)||(t.add(l.id),n.push({entry:l,latest:l.versions[0],sourceRegistry:r}))}return n}async function ya(e,t){if(!e.bundleUrl||!e.integrity)throw new Error("fetchBundle called on a version with no client bundle");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 Fl(s,e.integrity),s}async function Ul(e,t){if(!e.serverBundleUrl)throw new Error("fetchServerBundle called on a version with no serverBundleUrl");let n=e.serverBundleUrl;t&&!/^https?:\/\//i.test(n)&&(n=new URL(n,t).href);const r=await fetch(n);if(!r.ok)throw new Error(`Server bundle fetch failed: HTTP ${r.status} ${r.statusText} from ${n}`);const s=await r.arrayBuffer();return e.serverIntegrity?await Fl(s,e.serverIntegrity):console.warn(`[sh3] Server bundle at ${n} has no serverIntegrity declared — skipping SRI check. This will become an error once the formal registry spec (ADR-015) lands.`),s}function _a(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,hasServerBundle:!!t.serverBundleUrl,serverIntegrity:t.serverIntegrity}}const ds="sh3.shell.mode";function q0(e,t){return e.contributions.register(ds,t)}const on="0.17.0",Hl="sh3:user:__sh3core__:theme";let As=[];function B0(e){const t=Object.keys(e);for(const n of As)t.includes(n)||document.documentElement.style.removeProperty(`--${n}`);for(const[n,r]of Object.entries(e))document.documentElement.style.setProperty(`--${n}`,r);As=t;try{localStorage.setItem(Hl,JSON.stringify(e))}catch{}}function V0(){for(const e of As)document.documentElement.style.removeProperty(`--${e}`);As=[];try{localStorage.removeItem(Hl)}catch{}}function Hv(){try{const e=localStorage.getItem(Hl);if(!e)return{};const t=JSON.parse(e);return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{}}catch{return{}}}function F0(){const e=Hv();if(Object.keys(e).length!==0){for(const[t,n]of Object.entries(e))document.documentElement.style.setProperty(`--${t}`,n);As=Object.keys(e)}}const On="/assets/icons-2eVU8BA9.svg",Kv=Symbol("sh3.icon-sprite");function U0(e){Ho(Kv,e)}function Wv(){return Uo(Kv)}var H0=il('<svg class="sh3-btn__spinner svelte-t4hi97" aria-hidden="true" viewBox="0 0 16 16"><circle cx="8" cy="8" r="6" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-dasharray="30 10"></circle></svg>'),K0=il('<svg class="sh3-btn__icon svelte-t4hi97" aria-hidden="true"><use></use></svg>'),W0=A('<span class="sh3-btn__label svelte-t4hi97"><!></span>'),Y0=A("<button><!> <!></button>");function G0(e,t){se(t,!0);let n=Q(t,"variant",3,"default"),r=Q(t,"disabled",3,!1),s=Q(t,"type",3,"button");const i=Wv();function l(m){return m.includes("/")||m.endsWith(".svg")}const o=H(()=>t.icon?l(t.icon)?t.icon:`${t.sprite??i??On}#${t.icon}`:void 0);let c=F(!1);const u=H(()=>t.loading??a(c)),d=H(()=>n()==="icon"||!!t.icon&&!t.children);async function f(m){if(!t.onclick)return;const I=t.onclick(m);if(I&&typeof I.then=="function"){S(c,!0);try{await I}finally{S(c,!1)}}}var h=Y0();let b;var x=p(h);{var _=m=>{var I=H0();k(m,I)},g=m=>{var I=K0(),T=p(I);v(I),N(()=>ne(T,"href",a(o))),k(m,I)};K(x,m=>{a(u)?m(_):a(o)&&m(g,1)})}var E=w(x,2);{var y=m=>{var I=W0(),T=p(I);Ht(T,()=>t.children),v(I),k(m,I)};K(E,m=>{t.children&&m(y)})}v(h),N(()=>{ne(h,"type",s()),b=de(h,1,`sh3-btn sh3-btn--${n()??""}`,"svelte-t4hi97",b,{"sh3-btn--icon-only":a(d)}),h.disabled=r()||a(u),ne(h,"aria-busy",a(u)||void 0),ne(h,"title",t.title),ne(h,"aria-label",t.ariaLabel??(a(d)?t.title:void 0))}),U("click",h,f),k(e,h),ie()}ce(["click"]);var X0=A('<span class="sh3-collapsible__title svelte-lvydsb"> </span>'),J0=A('<div class="sh3-collapsible__body svelte-lvydsb"><!></div>'),Z0=A('<div><button class="sh3-collapsible__head svelte-lvydsb" type="button"><svg class="sh3-collapsible__caret svelte-lvydsb" aria-hidden="true" viewBox="0 0 16 16"><path d="M5 3l6 5-6 5" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> <!></button> <!></div>');function Q0(e,t){se(t,!0);let n=Q(t,"open",15,!1);function r(){n(!n()),t.onopenchange?.(n())}var s=Z0();let i;var l=p(s),o=w(p(l),2);{var c=h=>{var b=Be(),x=fe(b);Ht(x,()=>t.header),k(h,b)},u=h=>{var b=X0(),x=p(b,!0);v(b),N(()=>D(x,t.title)),k(h,b)};K(o,h=>{t.header?h(c):t.title&&h(u,1)})}v(l);var d=w(l,2);{var f=h=>{var b=J0(),x=p(b);Ht(x,()=>t.children),v(b),k(h,b)};K(d,h=>{n()&&h(f)})}v(s),N(()=>{i=de(s,1,"sh3-collapsible svelte-lvydsb",null,i,{"sh3-collapsible--open":n()}),ne(l,"aria-expanded",n())}),U("click",l,r),k(e,s),ie()}ce(["click"]);var $0=A('<span aria-hidden="true">*</span>'),ex=A('<span class="sh3-field__label svelte-m4dkl"> <!></span>'),tx=A('<span class="sh3-field__affix svelte-m4dkl"><!></span>'),nx=A('<span class="sh3-field__affix svelte-m4dkl"><!></span>'),rx=A("<span> </span>"),sx=A('<label><!> <span class="sh3-field__row svelte-m4dkl"><!> <input class="sh3-field__input svelte-m4dkl"/> <!></span> <!></label>');function ix(e,t){se(t,!0);let n=Q(t,"value",15,""),r=Q(t,"type",3,"text"),s=Q(t,"disabled",3,!1),i=Q(t,"invalid",3,!1),l=Q(t,"size",3,"md"),o=Q(t,"required",3,!1);const c=H(()=>i()&&!!t.error),u=H(()=>a(c)?t.error:t.helper);var d=sx();let f;var h=p(d);{var b=R=>{var M=ex(),z=p(M,!0),P=w(z);{var j=C=>{var O=$0();k(C,O)};K(P,C=>{o()&&C(j)})}v(M),N(()=>D(z,t.label)),k(R,M)};K(h,R=>{t.label&&R(b)})}var x=w(h,2),_=p(x);{var g=R=>{var M=tx(),z=p(M);Ht(z,()=>t.prefix),v(M),k(R,M)};K(_,R=>{t.prefix&&R(g)})}var E=w(_,2);ge(E);var y=w(E,2);{var m=R=>{var M=nx(),z=p(M);Ht(z,()=>t.suffix),v(M),k(R,M)};K(y,R=>{t.suffix&&R(m)})}v(x);var I=w(x,2);{var T=R=>{var M=rx();let z;var P=p(M,!0);v(M),N(()=>{z=de(M,1,"sh3-field__helper svelte-m4dkl",null,z,{"sh3-field__helper--error":a(c)}),D(P,a(u))}),k(R,M)};K(I,R=>{a(u)&&R(T)})}v(d),N(()=>{f=de(d,1,"sh3-field svelte-m4dkl",null,f,{"sh3-field--invalid":i(),"sh3-field--sm":l()==="sm"}),ne(E,"type",r()),ne(E,"placeholder",t.placeholder),E.disabled=s(),E.required=o(),ne(E,"autocomplete",t.autocomplete),ne(E,"aria-invalid",i()||void 0)}),U("input",E,()=>t.oninput?.(n())),Re("blur",E,()=>t.onchange?.(n())),Se(E,n),k(e,d),ie()}ce(["input"]);var ax=A('<span aria-hidden="true">*</span>'),ox=A('<span class="sh3-textarea__label svelte-668c6r"> <!></span>'),lx=A("<span> </span>"),cx=A('<label><!> <textarea class="sh3-textarea__input svelte-668c6r"></textarea> <!></label>');function ux(e,t){se(t,!0);let n=Q(t,"value",15,""),r=Q(t,"disabled",3,!1),s=Q(t,"invalid",3,!1),i=Q(t,"size",3,"md"),l=Q(t,"required",3,!1),o=Q(t,"rows",3,3),c=Q(t,"resize",3,"vertical");const u=H(()=>s()&&!!t.error),d=H(()=>a(u)?t.error:t.helper);var f=cx();let h;var b=p(f);{var x=m=>{var I=ox(),T=p(I,!0),R=w(T);{var M=z=>{var P=ax();k(z,P)};K(R,z=>{l()&&z(M)})}v(I),N(()=>D(T,t.label)),k(m,I)};K(b,m=>{t.label&&m(x)})}var _=w(b,2);Qo(_);let g;var E=w(_,2);{var y=m=>{var I=lx();let T;var R=p(I,!0);v(I),N(()=>{T=de(I,1,"sh3-textarea__helper svelte-668c6r",null,T,{"sh3-textarea__helper--error":a(u)}),D(R,a(d))}),k(m,I)};K(E,m=>{a(d)&&m(y)})}v(f),N(()=>{h=de(f,1,"sh3-textarea svelte-668c6r",null,h,{"sh3-textarea--invalid":s(),"sh3-textarea--sm":i()==="sm"}),ne(_,"placeholder",t.placeholder),_.disabled=r(),_.required=l(),ne(_,"rows",o()),ne(_,"aria-invalid",s()||void 0),g=He(_,"",g,{resize:c()})}),U("input",_,()=>t.oninput?.(n())),Re("blur",_,()=>t.onchange?.(n())),Se(_,n),k(e,f),ie()}ce(["input"]);function dx(e,t,n){let r=e;return t!==void 0&&r<t&&(r=t),n!==void 0&&r>n&&(r=n),r}function fx(e,t){const n=t.min??0,r=Math.round((e-n)/t.step);return n+r*t.step}var vx=A('<span class="sh3-num__label svelte-1qa0x3m"> </span>'),hx=A('<span class="sh3-num__affix svelte-1qa0x3m"><!></span>'),px=A('<span class="sh3-num__affix svelte-1qa0x3m"><!></span>'),mx=A('<label><!> <span class="sh3-num__row svelte-1qa0x3m"><!> <input class="sh3-num__input svelte-1qa0x3m" type="number"/> <!> <span class="sh3-num__steppers svelte-1qa0x3m"><button type="button" aria-label="Increase" class="svelte-1qa0x3m">▲</button> <button type="button" aria-label="Decrease" class="svelte-1qa0x3m">▼</button></span></span></label>');function bx(e,t){se(t,!0);let n=Q(t,"value",15,0),r=Q(t,"step",3,1),s=Q(t,"disabled",3,!1),i=Q(t,"invalid",3,!1),l=Q(t,"size",3,"md");function o(C){if(Number.isNaN(C))return;let O=dx(fx(C,{min:t.min,step:r()}),t.min,t.max);t.precision!==void 0&&(O=Number(O.toFixed(t.precision))),n(O)}function c(C){o(n()+C*r()),t.oninput?.(n())}let u=null,d=null,f=!1;function h(C){s()||(f=!0,c(C),u=setTimeout(()=>{let O=0;d=setInterval(()=>{c(C),O+=60,O>1500&&d&&(clearInterval(d),d=setInterval(()=>c(C),20))},60)},350))}function b(){u&&(clearTimeout(u),u=null),d&&(clearInterval(d),d=null),f&&(f=!1,t.onchange?.(n()))}var x=mx();let _;var g=p(x);{var E=C=>{var O=vx(),q=p(O,!0);v(O),N(()=>D(q,t.label)),k(C,O)};K(g,C=>{t.label&&C(E)})}var y=w(g,2),m=p(y);{var I=C=>{var O=hx(),q=p(O);Ht(q,()=>t.prefix),v(O),k(C,O)};K(m,C=>{t.prefix&&C(I)})}var T=w(m,2);ge(T);var R=w(T,2);{var M=C=>{var O=px(),q=p(O);Ht(q,()=>t.suffix),v(O),k(C,O)};K(R,C=>{t.suffix&&C(M)})}var z=w(R,2),P=p(z),j=w(P,2);v(z),v(y),v(x),N(()=>{_=de(x,1,"sh3-num svelte-1qa0x3m",null,_,{"sh3-num--invalid":i(),"sh3-num--sm":l()==="sm"}),ne(T,"min",t.min),ne(T,"max",t.max),ne(T,"step",r()),T.disabled=s(),ne(T,"aria-invalid",i()||void 0),ms(T,n()),P.disabled=s(),j.disabled=s()}),U("input",T,C=>{const O=C.currentTarget.valueAsNumber;Number.isNaN(O)||(n(O),t.oninput?.(O))}),Re("blur",T,()=>{o(n()),t.onchange?.(n())}),U("pointerdown",P,()=>h(1)),U("pointerup",P,b),Re("pointerleave",P,b),U("pointerdown",j,()=>h(-1)),U("pointerup",j,b),Re("pointerleave",j,b),k(e,x),ie()}ce(["input","pointerdown","pointerup"]);function wa(e){return e.filter(t=>!t.disabled)}function gx(e,t){const n=wa(e);if(n.length===0)return t;const r=n.findIndex(i=>i.value===t);return n[(r+1+n.length)%n.length].value}function yx(e,t){const n=wa(e);if(n.length===0)return t;const r=n.findIndex(i=>i.value===t);return n[(r-1+n.length)%n.length].value}function _x(e){return wa(e)[0]?.value}function wx(e){const t=wa(e);return t[t.length-1]?.value}var kx=A('<button type="button" role="radio"> </button>'),xx=A('<div role="radiogroup" tabindex="-1"></div>');function Yv(e,t){se(t,!0);let n=Q(t,"value",31,()=>le(t.options[0]?.value??"")),r=Q(t,"size",3,"md"),s=Q(t,"disabled",3,!1);function i(u){n(u),t.onchange?.(u)}function l(u){if(s())return;let d;switch(u.key){case"ArrowRight":case"ArrowDown":d=gx(t.options,n());break;case"ArrowLeft":case"ArrowUp":d=yx(t.options,n());break;case"Home":d=_x(t.options);break;case"End":d=wx(t.options);break;default:return}u.preventDefault(),d!==void 0&&i(d)}var o=xx();let c;pe(o,21,()=>t.options,dt,(u,d)=>{var f=kx();let h;var b=p(f,!0);v(f),N(()=>{ne(f,"aria-checked",n()===a(d).value),ne(f,"tabindex",n()===a(d).value?0:-1),f.disabled=s()||a(d).disabled,h=de(f,1,"svelte-17xsko9",null,h,{"sh3-seg__btn--active":n()===a(d).value}),D(b,a(d).label)}),U("click",f,()=>{!a(d).disabled&&!s()&&i(a(d).value)}),k(u,f)}),v(o),N(()=>c=de(o,1,"sh3-seg svelte-17xsko9",null,c,{"sh3-seg--sm":r()==="sm"})),U("keydown",o,l),k(e,o),ie()}ce(["keydown","click"]);function Sx(e,t){return e===t?"":t}function Ex(e,t){return e.includes(t)?e.filter(n=>n!==t):[...e,t]}var Ix=A('<button type="button"><!></button>'),Ax=A('<div role="group"></div>');function Cx(e,t){se(t,!0);let n=Q(t,"multiple",3,!1),r=Q(t,"value",31,()=>le(n()?[]:t.options[0]?.value??"")),s=Q(t,"disabled",3,!1),i=Q(t,"size",3,"md");function l(d){return n()&&Array.isArray(r())?r().includes(d):r()===d}function o(d){if(!s()){if(n()){const f=Array.isArray(r())?r():[];r(Ex(f,d))}else r(Sx(typeof r()=="string"?r():"",d));t.onchange?.(r())}}var c=Ax();let u;pe(c,21,()=>t.options,dt,(d,f)=>{var h=Ix();let b;var x=p(h);Ht(x,()=>a(f).icon),v(h),N((_,g)=>{ne(h,"title",a(f).tooltip),ne(h,"aria-label",a(f).tooltip),ne(h,"aria-pressed",_),h.disabled=s(),b=de(h,1,"svelte-13knxr5",null,b,g)},[()=>l(a(f).value),()=>({"sh3-itg__btn--active":l(a(f).value)})]),U("click",h,()=>o(a(f).value)),k(d,h)}),v(c),N(()=>u=de(c,1,"sh3-itg svelte-13knxr5",null,u,{"sh3-itg--sm":i()==="sm"})),k(e,c),ie()}ce(["click"]);function Oi(e,t,n){return n===t?0:(e-t)/(n-t)*100}var Tx=A('<span class="sh3-slider__tick svelte-13va6lu"></span>'),Rx=A('<output class="sh3-slider__value svelte-13va6lu"> </output>'),Lx=A('<div><div class="sh3-slider__track svelte-13va6lu"><div class="sh3-slider__fill svelte-13va6lu"></div> <!></div> <input type="range" class="sh3-slider__native svelte-13va6lu"/> <!></div>');function Gv(e,t){se(t,!0);let n=Q(t,"value",15,0),r=Q(t,"min",3,0),s=Q(t,"max",3,100),i=Q(t,"step",3,1),l=Q(t,"showValue",3,!1),o=Q(t,"disabled",3,!1),c=Q(t,"invalid",3,!1),u=Q(t,"size",3,"md"),d=Q(t,"orientation",3,"horizontal");const f=H(()=>Oi(n(),r(),s()));var h=Lx();let b;var x=p(h),_=p(x);let g;var E=w(_,2);{var y=R=>{var M=Be(),z=fe(M);pe(z,17,()=>t.ticks,dt,(P,j)=>{var C=Tx();let O;N(q=>O=He(C,"",O,q),[()=>({"--tick-pct":`${Oi(a(j),r(),s())??""}%`})]),k(P,C)}),k(R,M)};K(E,R=>{t.ticks&&R(y)})}v(x);var m=w(x,2);ge(m);var I=w(m,2);{var T=R=>{var M=Rx();let z;var P=p(M,!0);v(M),N(()=>{z=He(M,"",z,{"--pct":`${a(f)??""}%`}),D(P,n())}),k(R,M)};K(I,R=>{l()&&R(T)})}v(h),N(()=>{b=de(h,1,`sh3-slider sh3-slider--${d()??""}`,"svelte-13va6lu",b,{"sh3-slider--sm":u()==="sm","sh3-slider--invalid":c()}),g=He(_,"",g,{"--pct":`${a(f)??""}%`}),ne(m,"min",r()),ne(m,"max",s()),ne(m,"step",i()),m.disabled=o(),ne(m,"aria-invalid",c()||void 0)}),U("input",m,()=>t.oninput?.(n())),U("change",m,()=>t.onchange?.(n())),Se(m,n),k(e,h),ie()}ce(["input","change"]);function ru(e,t,n){const[r,s]=e;return t==="low"?[Math.min(n,s),s]:[r,Math.max(n,r)]}var Px=A('<div><div class="sh3-range__track svelte-rdbrc5"><div class="sh3-range__fill svelte-rdbrc5"></div></div> <input type="range" class="sh3-range__native sh3-range__native--low svelte-rdbrc5"/> <input type="range" class="sh3-range__native sh3-range__native--high svelte-rdbrc5"/></div>');function Mx(e,t){se(t,!0);let n=Q(t,"value",31,()=>le([0,100])),r=Q(t,"min",3,0),s=Q(t,"max",3,100),i=Q(t,"step",3,1),l=Q(t,"disabled",3,!1),o=Q(t,"invalid",3,!1),c=Q(t,"size",3,"md");const u=H(()=>Oi(n()[0],r(),s())),d=H(()=>Oi(n()[1],r(),s()));function f(I){n(ru(n(),"low",I)),t.oninput?.(n())}function h(I){n(ru(n(),"high",I)),t.oninput?.(n())}var b=Px();let x;var _=p(b),g=p(_);let E;v(_);var y=w(_,2);ge(y);var m=w(y,2);ge(m),v(b),N(()=>{x=de(b,1,"sh3-range svelte-rdbrc5",null,x,{"sh3-range--sm":c()==="sm","sh3-range--invalid":o()}),E=He(g,"",E,{"--lo":`${a(u)??""}%`,"--hi":`${a(d)??""}%`}),ne(y,"min",r()),ne(y,"max",s()),ne(y,"step",i()),y.disabled=l(),ms(y,n()[0]),ne(m,"min",r()),ne(m,"max",s()),ne(m,"step",i()),m.disabled=l(),ms(m,n()[1])}),U("input",y,I=>f(parseFloat(I.currentTarget.value))),U("change",y,()=>t.onchange?.(n())),U("input",m,I=>h(parseFloat(I.currentTarget.value))),U("change",m,()=>t.onchange?.(n())),k(e,b),ie()}ce(["input","change"]);var jx=A('<div class="sh3-sg__channel svelte-1lqyi0d"><span class="sh3-sg__label svelte-1lqyi0d"> </span> <!></div>'),Dx=A("<div></div>");function zx(e,t){se(t,!0);let n=Q(t,"orientation",3,"horizontal"),r=Q(t,"values",31,()=>le({})),s=Q(t,"showValues",3,!1),i=Q(t,"disabled",3,!1),l=Q(t,"size",3,"md");var o=Dx();pe(o,21,()=>t.channels,c=>c.id,(c,u)=>{var d=jx(),f=p(d),h=p(f,!0);v(f);var b=w(f,2),x=()=>r()[a(u).id]??0,_=g=>r({...r(),[a(u).id]:g});{let g=H(()=>a(u).min??0),E=H(()=>a(u).max??100),y=H(()=>a(u).step??1);Gv(b,{get orientation(){return n()},get min(){return a(g)},get max(){return a(E)},get step(){return a(y)},get disabled(){return i()},get size(){return l()},get showValue(){return s()},get value(){return x()},set value(m){_(m)},oninput:()=>t.oninput?.(r()),onchange:()=>t.onchange?.(r())})}v(d),N(()=>D(h,a(u).label)),k(c,d)}),v(o),N(()=>de(o,1,`sh3-sg sh3-sg--${n()??""}`,"svelte-1lqyi0d")),k(e,o),ie()}var Ox=A('<span class="sh3-swatch__label svelte-6ri2j2"> </span>'),Nx=A('<label><!> <button type="button" class="sh3-swatch__btn svelte-6ri2j2"><span class="sh3-swatch__dot svelte-6ri2j2"></span><span class="sh3-swatch__hex svelte-6ri2j2"> </span></button></label>');function Xv(e,t){se(t,!0);let n=Q(t,"value",15,"#000000"),r=Q(t,"disabled",3,!1),s=Q(t,"size",3,"md"),i;async function l(){if(r())return;const _=await an.color.pick({initial:n(),anchor:i});_!=null&&(n(_),t.onchange?.(_))}var o=Nx();let c;var u=p(o);{var d=_=>{var g=Ox(),E=p(g,!0);v(g),N(()=>D(E,t.label)),k(_,g)};K(u,_=>{t.label&&_(d)})}var f=w(u,2);let h;var b=w(p(f)),x=p(b,!0);v(b),v(f),De(f,_=>i=_,()=>i),v(o),N(()=>{c=de(o,1,"sh3-swatch svelte-6ri2j2",null,c,{"sh3-swatch--sm":s()==="sm"}),f.disabled=r(),ne(f,"aria-label",`${t.label??"Color"??""} (current ${n()??""})`),h=He(f,"",h,{"--swatch-color":n()}),D(x,n())}),U("click",f,l),k(e,o),ie()}ce(["click"]);function qx(e,t){return!e||e.length===0?t?[]:null:t?Array.from(e):e[0]}function Bx(e){return e===null?"":Array.isArray(e)?e.length===0?"":e.length===1?e[0].name:`${e.length} files`:e.name}var Vx=A('<label><input class="sh3-fp__native svelte-24jk95" type="file"/> <span class="sh3-fp__btn svelte-24jk95" tabindex="-1"> </span> <span class="sh3-fp__name svelte-24jk95"> </span></label>');function Fx(e,t){se(t,!0);let n=Q(t,"value",15,null),r=Q(t,"multiple",3,!1),s=Q(t,"disabled",3,!1),i=Q(t,"invalid",3,!1),l=Q(t,"size",3,"md"),o=Q(t,"buttonLabel",3,"Choose file...");function c(E){const y=E.currentTarget;n(qx(y.files,r())),t.onchange?.(n())}const u=H(()=>Bx(n()));var d=Vx();let f;var h=p(d),b=w(h,2),x=p(b,!0);v(b);var _=w(b,2),g=p(_,!0);v(_),v(d),N(()=>{f=de(d,1,"sh3-fp svelte-24jk95",null,f,{"sh3-fp--sm":l()==="sm","sh3-fp--invalid":i()}),ne(h,"accept",t.accept),h.multiple=r(),h.disabled=s(),D(x,o()),D(g,a(u)||"no file")}),U("change",h,c),k(e,d),ie()}ce(["change"]);const Ux=8;function Hx(e){return e.length>=Ux}function Kx(e,t){if(!t)return e.slice();const n=t.toLowerCase();return e.filter(r=>r.label.toLowerCase().includes(n))}function Wx(e,t,n){if(!t)return-1;const r=t.toLowerCase(),s=e.length;for(let i=1;i<=s;i++){const l=(n+i)%s;if(!e[l].disabled&&e[l].label.toLowerCase().startsWith(r))return l}return-1}function Yx(e,t,n){return n&&Array.isArray(t)?t.map(r=>e.find(s=>s.value===r)?.label??"").filter(Boolean).join(", "):typeof t=="string"&&t?e.find(r=>r.value===t)?.label??"":""}function Gx(e,t){return e.includes(t)?e.filter(n=>n!==t):[...e,t]}var Xx=A('<input class="sh3-listbox__search svelte-1tyxvrs" type="search" placeholder="Filter…"/>'),Jx=A('<span aria-hidden="true"></span>'),Zx=A('<div role="option" tabindex="-1"><!> <span class="sh3-listbox__label"> </span></div>'),Qx=A('<div class="sh3-listbox__empty svelte-1tyxvrs">No matches</div>'),$x=A('<div class="sh3-listbox svelte-1tyxvrs" role="listbox" tabindex="-1"><!> <div class="sh3-listbox__list svelte-1tyxvrs"><!> <!></div></div>');function eS(e,t){se(t,!0);const n=H(()=>t.getValue());function r(){t.onClose?.(),t.close()}const s=H(()=>Hx(t.options));function i(){if(t.multiple)return 0;const z=typeof a(n)=="string"?a(n):"",P=t.options.findIndex(j=>j.value===z&&!j.disabled);return P>=0?P:0}let l=F(""),o=F(le(i())),c=F(void 0),u=F(void 0),d="",f=null;const h=H(()=>Kx(t.options,a(l)));ke(()=>{a(o)>=a(h).length&&S(o,0),b()});async function b(){if(await Bs(),!a(c))return;a(c).querySelector(`[data-idx="${a(o)}"]`)?.scrollIntoView({block:"nearest"})}function x(z){return t.multiple&&Array.isArray(a(n))?a(n).includes(z.value):a(n)===z.value}function _(z){const P=a(h)[z];!P||P.disabled||(t.onSelect(P.value),t.multiple||r())}function g(z){if(a(h).length!==0)switch(z.key){case"ArrowDown":z.preventDefault(),S(o,(a(o)+1)%a(h).length);break;case"ArrowUp":z.preventDefault(),S(o,(a(o)-1+a(h).length)%a(h).length);break;case"Home":z.preventDefault(),S(o,0);break;case"End":z.preventDefault(),S(o,a(h).length-1);break;case"Enter":z.preventDefault(),_(a(o));break;case" ":case"Space":z.preventDefault(),_(a(o));break;case"Escape":z.preventDefault(),r();break;default:if(a(s)&&document.activeElement===a(u)||z.key.length!==1||z.metaKey||z.ctrlKey||z.altKey)return;d+=z.key,f&&clearTimeout(f),f=setTimeout(()=>{d=""},500);const P=Wx(a(h),d,a(o));P>=0&&S(o,P,!0)}}var E=$x(),y=p(E);{var m=z=>{var P=Xx();ge(P),De(P,j=>S(u,j),()=>a(u)),Se(P,()=>a(l),j=>S(l,j)),k(z,P)};K(y,z=>{a(s)&&z(m)})}var I=w(y,2),T=p(I);pe(T,17,()=>a(h),dt,(z,P,j)=>{var C=Zx();ne(C,"data-idx",j);let O;var q=p(C);{var L=G=>{var $=Jx();let Z;N(ae=>Z=de($,1,"sh3-listbox__check svelte-1tyxvrs",null,Z,ae),[()=>({"sh3-listbox__check--on":x(a(P))})]),k(G,$)};K(q,G=>{t.multiple&&G(L)})}var V=w(q,2),J=p(V,!0);v(V),v(C),N((G,$)=>{ne(C,"aria-selected",G),ne(C,"aria-disabled",a(P).disabled),O=de(C,1,"svelte-1tyxvrs",null,O,$),D(J,a(P).label)},[()=>x(a(P)),()=>({"sh3-listbox__opt--active":j===a(o),"sh3-listbox__opt--selected":x(a(P))})]),U("click",C,()=>_(j)),Re("mouseenter",C,()=>S(o,j,!0)),k(z,C)});var R=w(T,2);{var M=z=>{var P=Qx();k(z,P)};K(R,z=>{a(h).length===0&&z(M)})}v(I),De(I,z=>S(c,z),()=>a(c)),v(E),N(()=>ne(E,"aria-multiselectable",t.multiple)),U("keydown",E,g),k(e,E),ie()}ce(["keydown","click"]);var tS=A('<span class="sh3-select__label svelte-1q3zxph"> </span>'),nS=A("<option> </option>"),rS=A('<label><!> <button type="button" class="sh3-select__btn svelte-1q3zxph" aria-haspopup="listbox"><span> </span> <span class="sh3-select__chevron svelte-1q3zxph" aria-hidden="true">▾</span></button> <select class="sh3-select__native svelte-1q3zxph" aria-hidden="true"></select></label>');function sS(e,t){se(t,!0);let n=Q(t,"multiple",3,!1),r=Q(t,"value",31,()=>le(n()?[]:"")),s=Q(t,"placeholder",3,"Select…"),i=Q(t,"disabled",3,!1),l=Q(t,"invalid",3,!1),o=Q(t,"size",3,"md"),c=F(void 0),u=F(void 0),d=F(!1);const f=H(()=>Yx(t.options,r(),n()));function h(){S(d,!1),a(c)?.focus()}async function b(){if(i()||a(d)||!a(c))return;S(d,!0);const P=an.popup.show(eS,{anchor:a(c)},{options:t.options,getValue:()=>r(),multiple:n(),onSelect:O=>{if(n()){const q=Array.isArray(r())?r():[];r(Gx(q,O))}else r(O);t.onchange?.(r())},onClose:h}),j=P.close;P.close=()=>{j(),h()},await Bs(),document.querySelector(".sh3-listbox")?.focus()}function x(P){if(!(i()||a(d)))switch(P.key){case"ArrowDown":case"ArrowUp":case"Enter":case" ":P.preventDefault(),b();break}}function _(){a(u)&&(n()?r(Array.from(a(u).selectedOptions).map(P=>P.value)):r(a(u).value),t.onchange?.(r()))}var g=rS();let E;var y=p(g);{var m=P=>{var j=tS(),C=p(j,!0);v(j),N(()=>D(C,t.label)),k(P,j)};K(y,P=>{t.label&&P(m)})}var I=w(y,2),T=p(I);let R;var M=p(T,!0);v(T),Et(2),v(I),De(I,P=>S(c,P),()=>a(c));var z=w(I,2);ne(z,"tabindex",-1),pe(z,21,()=>t.options,dt,(P,j)=>{var C=nS(),O=p(C,!0);v(C);var q={};N(L=>{dl(C,L),D(O,a(j).label),q!==(q=a(j).value)&&(C.value=(C.__value=a(j).value)??"")},[()=>n()?Array.isArray(r())&&r().includes(a(j).value):r()===a(j).value]),k(P,C)}),v(z),De(z,P=>S(u,P),()=>a(u)),v(g),N(()=>{E=de(g,1,"sh3-select svelte-1q3zxph",null,E,{"sh3-select--invalid":l(),"sh3-select--sm":o()==="sm"}),I.disabled=i(),ne(I,"aria-expanded",a(d)),R=de(T,1,"sh3-select__display svelte-1q3zxph",null,R,{"sh3-select__display--placeholder":!a(f)}),D(M,a(f)||s()),z.multiple=n(),z.disabled=i()}),U("click",I,b),U("keydown",I,x),U("change",z,_),k(e,g),ie()}ce(["click","keydown","change"]);function iS(e,t){if(!t)return e;const n=t.toLowerCase();return e.filter(r=>!!(r.label.toLowerCase().includes(n)||r.id.toLowerCase().includes(n)||r.sublabel&&r.sublabel.toLowerCase().includes(n)))}function aS(e,t){return e.includes(t)?e.filter(n=>n!==t):[...e,t]}var oS=A('<input type="search" class="sh3-picker__search svelte-1rlwvrb" placeholder="Filter…"/>'),lS=A('<p class="sh3-picker__status svelte-1rlwvrb">Loading…</p>'),cS=A('<button type="button" class="sh3-picker__retry svelte-1rlwvrb">Retry</button>'),uS=A('<p class="sh3-picker__status sh3-picker__status--error svelte-1rlwvrb"> </p> <!>',1),dS=A('<p class="sh3-picker__status svelte-1rlwvrb"> </p>'),fS=A('<span class="sh3-picker__row-sub svelte-1rlwvrb"> </span>'),vS=A('<label class="sh3-picker__row svelte-1rlwvrb"><input type="checkbox"/> <span class="sh3-picker__row-text svelte-1rlwvrb"><span class="sh3-picker__row-label svelte-1rlwvrb"> </span> <!></span></label>'),hS=A('<div><!> <div class="sh3-picker__list svelte-1rlwvrb"><!></div> <p class="sh3-picker__footer svelte-1rlwvrb"> </p></div>');function Jv(e,t){se(t,!0);let n=Q(t,"value",31,()=>le([])),r=Q(t,"loading",3,!1),s=Q(t,"error",3,null),i=Q(t,"emptyText",3,"No items."),l=Q(t,"searchThreshold",3,8),o=Q(t,"disabled",3,!1),c=Q(t,"size",3,"md"),u=F("");const d=H(()=>t.items.length>=l()),f=H(()=>iS(t.items,a(u))),h=H(()=>t.items.length),b=H(()=>n().length);function x(C){if(o())return;const O=aS(n(),C);n(O),t.onchange?.(O)}var _=hS();let g;var E=p(_);{var y=C=>{var O=oS();ge(O),N(()=>O.disabled=o()),Se(O,()=>a(u),q=>S(u,q)),k(C,O)};K(E,C=>{a(d)&&C(y)})}var m=w(E,2),I=p(m);{var T=C=>{var O=lS();k(C,O)},R=C=>{var O=uS(),q=fe(O),L=p(q,!0);v(q);var V=w(q,2);{var J=G=>{var $=cS();U("click",$,()=>t.onRetry?.()),k(G,$)};K(V,G=>{t.onRetry&&G(J)})}N(()=>D(L,s())),k(C,O)},M=C=>{var O=dS(),q=p(O,!0);v(O),N(()=>D(q,i())),k(C,O)},z=C=>{var O=Be(),q=fe(O);pe(q,17,()=>a(f),L=>L.id,(L,V)=>{var J=vS(),G=p(J);ge(G);var $=w(G,2),Z=p($),ae=p(Z,!0);v(Z);var X=w(Z,2);{var B=W=>{var oe=fS(),Y=p(oe,!0);v(oe),N(()=>D(Y,a(V).sublabel)),k(W,oe)};K(X,W=>{a(V).sublabel&&W(B)})}v($),v(J),N(W=>{ul(G,W),G.disabled=o(),D(ae,a(V).label)},[()=>n().includes(a(V).id)]),U("change",G,()=>x(a(V).id)),k(L,J)}),k(C,O)};K(I,C=>{r()?C(T):s()?C(R,1):t.items.length===0?C(M,2):C(z,-1)})}v(m);var P=w(m,2),j=p(P);v(P),v(_),N(()=>{g=de(_,1,"sh3-picker svelte-1rlwvrb",null,g,{"sh3-picker--sm":c()==="sm","sh3-picker--disabled":o()}),D(j,`${a(b)??""} of ${a(h)??""} selected`)}),k(e,_),ie()}ce(["click","change"]);function Zv(e,t){se(t,!0);const n=new Set(["sh3-admin-app","sh3-store-app"]);let r=Q(t,"value",31,()=>le([])),s=Q(t,"disabled",3,!1),i=Q(t,"size",3,"md");const l=H(()=>Yr().filter(c=>!n.has(c.id)&&!c.admin).map(c=>({id:c.id,label:c.label,sublabel:c.id})).sort((c,u)=>c.label.localeCompare(u.label)));function o(c){r(c),t.onchange?.(c)}Jv(e,{get items(){return a(l)},get value(){return r()},onchange:o,get disabled(){return s()},get size(){return i()},emptyText:"No apps installed."}),ie()}const Ot=le({users:[],loading:!1,error:null});let ts=null;function su(){return ts||(Ot.loading=!0,Ot.error=null,ts=(async()=>{try{const e=await fetch("/api/admin/users",{credentials:"include"});if(!e.ok){Ot.error=`GET /api/admin/users failed: ${e.status}`;return}Ot.users=await e.json()}catch(e){Ot.error=e.message}finally{Ot.loading=!1,ts=null}})(),ts)}function Qv(e,t){se(t,!0);let n=Q(t,"value",31,()=>le([])),r=Q(t,"disabled",3,!1),s=Q(t,"size",3,"md");Ot.users.length===0&&!Ot.loading&&!Ot.error&&su();const i=H(()=>Ot.users.map(o=>({id:o.id,label:o.displayName||o.username,sublabel:o.username})));function l(o){n(o),t.onchange?.(o)}Jv(e,{get items(){return a(i)},get value(){return n()},onchange:l,get loading(){return Ot.loading},get error(){return Ot.error},onRetry:()=>void su(),emptyText:"No users found.",get disabled(){return r()},get size(){return s()}}),ie()}const pS=/^[a-zA-Z0-9.\-_]+$/,mS=/^[a-zA-Z0-9.\-_]*$/;function Ni(e,t){if(e.length===0)throw new Error(`fieldAddress: ${t} is empty`);if(!pS.test(e))throw new Error(`fieldAddress: invalid ${t} "${e}" (must match [a-zA-Z0-9.\\-_]+)`)}function $v(e){if(!mS.test(e))throw new Error(`fieldAddress: invalid slotId "${e}"`)}function bS(e){return Ni(e.shardId,"shardId"),Ni(e.fieldId,"fieldId"),e.slotId!==void 0&&$v(e.slotId),`${e.shardId}::${e.slotId??""}::${e.fieldId}`}function gS(e){const t=e.split("::");if(t.length!==3)throw new Error(`fieldAddress: malformed "${e}" (expected three ::-separated parts)`);const[n,r,s]=t;Ni(n,"shardId"),Ni(s,"fieldId"),$v(r);const i={shardId:n,fieldId:s};return r.length>0&&(i.slotId=r),i}const yS={hotInstall:typeof Blob<"u"&&typeof URL.createObjectURL=="function"},eh=["__sh3core__","shell","sh3-store","sh3-admin"],th=Object.freeze(Object.defineProperty({__proto__:null,AppPicker:Zv,Button:G0,COLOR_PICKER_POINT:Lf,CONFLICT_RENDERER_POINT:Cf,Collapsible:Q0,ColorSwatch:Xv,ConflictPermissionError:Tf,ConflictSessionOrphanedError:Ow,ConsentDeniedError:qv,FRAMEWORK_SHARD_IDS:eh,Field:ix,FilePicker:Fx,IconToggleGroup:Cx,NumberInput:bx,PERMISSION_DOCUMENTS_BROWSE:jv,PERMISSION_DOCUMENTS_READ:Dv,PERMISSION_DOCUMENTS_WRITE:zv,PERMISSION_KEYS_MINT:Ov,PERMISSION_STATE_MANAGE:bs,PERMISSION_SYNC_PEER:v0,PERMISSION_SYNC_POLICY:h0,RangeSlider:Mx,SHELL_MODE_CONTRIBUTION_POINT:ds,ScopeEscalationError:Nv,Segmented:Yv,Select:sS,Slider:Gv,SliderGroup:zx,Textarea:ux,UserPicker:Qv,VERSION:on,activeShards:ar,buildPackageMeta:_a,capabilities:yS,clearTokenOverrides:V0,closeTab:Dl,collapseChild:Ik,dockFloat:_v,dockIntoActiveLayout:Ol,erroredShards:Di,expandChild:Ak,fetchBundle:ya,fetchRegistries:Uv,fieldAddressFromString:gS,fieldAddressToString:bS,focusTab:Ek,focusView:da,getActiveApp:pl,getAuthHeader:ha,getIconSprite:Wv,getTokenOverrides:Hv,getUser:qr,inspectActiveLayout:mv,isAdmin:bt,isAuthenticated:Eo,isGuest:Sv,launchApp:En,listRegisteredApps:Yr,listVerbs:El,locateSlot:kv,popoutView:yv,provideIcons:U0,pushNavEntry:f_,registerConsentListener:Bv,registerShellMode:q0,registeredShards:Kt,resolveConsent:Ro,returnToHome:Xs,runVerbProgrammatic:Av,setTokenOverrides:B0,sh3:an,spawnSatellite:ga,spliceIntoActiveLayout:Sk,subscribeKeyRevocation:Vl,unregisterApp:jl,validateRegistryIndex:Fv},Symbol.toStringTag,{value:"Module"})),_S="/assets/SH3-BG5NVpSD.png",wS="https://cdn.jsdelivr.net/npm/p5@1.11.13/lib/p5.min.js";let ns=null;function kS(){return ns||(ns=new Promise((e,t)=>{const n=window.p5;if(n){e(n);return}const r=document.createElement("script");r.src=wS,r.async=!0,r.onload=()=>e(window.p5),r.onerror=s=>{ns=null,t(s)},document.head.appendChild(r)}),ns)}var xS=A('<h1 class="sh3-title-fallback svelte-foqg2v">SH3</h1>'),SS=A('<div class="sh3-title svelte-foqg2v"></div>');function ES(e,t){se(t,!0);const n="`.-':;,^\"~=+<>*?!/\\|()[]{}x1ltzrcvunsXYUJCLQ0OZmwqpdbkhao*#MW&8%B@$",r=64,s=Math.floor(64/(442/193)),i=8,l=7,o=80,c=r*i,u=s*l,d=o/u;let f=F(void 0),h=null,b=F(!1);const x=()=>m=>{const T=getComputedStyle(document.documentElement).getPropertyValue("--sh3-accent").trim();let R,M,z=!1;m.setup=()=>{m.createCanvas(c,u),m.noSmooth(),m.noStroke(),m.textAlign(m.CENTER,m.CENTER),m.textFont("monospace"),m.textSize(10),m.textStyle(m.BOLD),M=m.loadImage(_S,()=>{R=m.createGraphics(r,s),R.pixelDensity(1),R.image(M,0,0,r,s),R.loadPixels(),z=!0},()=>{S(b,!0)})},m.draw=()=>{if(!z)return;const P=m.millis()*.001;let j;m.clear(),m.background(0,0),m.fill(T);for(let C=0;C<s;C++)for(let O=0;O<r;O++){const q=(C*r+O)*4;if(R.pixels[q]<64){if(j=m.noise(O/r*2,C/s*2,P*.15),j>.33)continue;m.text(n[Math.floor(j*n.length*.25)],(O+.5)*i,(C+.5)*l);continue}j=m.noise(O/r*4,C/s*4,P*.5),m.text(n[Math.floor(j*n.length)],(O+.5)*i,(C+.5)*l)}}};ke(()=>{if(a(b))return;let m=!1;return kS().then(I=>{if(!(m||!a(f)))try{h=new I(x(),a(f))}catch(T){console.error("[Sh3Title] p5 sketch failed to start",T),S(b,!0)}}).catch(I=>{console.error("[Sh3Title] failed to load p5 from CDN",I),S(b,!0)}),()=>{m=!0,h&&(h.remove(),h=null)}});var _=Be(),g=fe(_);{var E=m=>{var I=xS();k(m,I)},y=m=>{var I=SS();He(I,"",{},{width:"216.7195767195767px",height:"80px","--sh3-title-scale":d}),De(I,T=>S(f,T),()=>a(f)),k(m,I)};K(g,m=>{a(b)?m(E):m(y,-1)})}k(e,_),ie()}async function hr(e,t){const n=await fetch(e,{credentials:"include",...t});if(!n.ok)throw new Error(`${t?.method??"GET"} ${e} failed: ${n.status}`);return n.json()}const mi={async list(){return(await hr("/api/projects",{method:"GET"})).projects},async listAll(){return(await hr("/api/projects/all",{method:"GET"})).projects},async get(e){return hr(`/api/projects/${encodeURIComponent(e)}`,{method:"GET"})},async create(e){return hr("/api/projects",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e)})},async update(e,t){return hr(`/api/projects/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(t)})},async delete(e,t){const n=t?.wipeData?"?wipeData=1":"";await hr(`/api/projects/${encodeURIComponent(e)}${n}`,{method:"DELETE"})}};var IS=A(`<div class="delete-project-dialog svelte-6j13aq"><div class="delete-project-dialog__title svelte-6j13aq"> </div> <div class="delete-project-dialog__body svelte-6j13aq">The project record will be removed and any members will lose access.
9
- Documents already written under the project's namespace remain on disk
10
- unless you tick the option below.</div> <label class="delete-project-dialog__opt svelte-6j13aq"><input type="checkbox" class="svelte-6j13aq"/> <span>Also delete project files <code class="delete-project-dialog__path svelte-6j13aq"> </code></span></label> <div class="delete-project-dialog__actions svelte-6j13aq"><button type="button" class="delete-project-dialog__btn svelte-6j13aq" data-delete-project-cancel="">Cancel</button> <button type="button" class="delete-project-dialog__btn delete-project-dialog__btn--danger svelte-6j13aq" data-delete-project-confirm="">Delete</button></div></div>`);function AS(e,t){se(t,!0);let n=F(void 0),r=F(!1),s=F(!1);ke(()=>{a(n)?.focus()});async function i(){if(!a(r)){S(r,!0);try{await t.onConfirm({wipeData:a(s)})}finally{t.close()}}}function l(){a(r)||(t.onCancel?.(),t.close())}var o=IS(),c=p(o),u=p(c);v(c);var d=w(c,4),f=p(d);ge(f);var h=w(f,2),b=w(p(h)),x=p(b);v(b),v(h),v(d);var _=w(d,2),g=p(_);De(g,y=>S(n,y),()=>a(n));var E=w(g,2);v(_),v(o),N(()=>{D(u,`Delete project '${t.projectName??""}'?`),f.disabled=a(r),D(x,`<dataDir>/docs/${t.projectId??""}/`),g.disabled=a(r),E.disabled=a(r)}),ls(f,()=>a(s),y=>S(s,y)),U("click",g,l),U("click",E,i),k(e,o),ie()}ce(["click"]);var CS=A('<p class="project-id svelte-1oy3640">ID: <code class="svelte-1oy3640"> </code></p>'),TS=A('<span class="hint svelte-1oy3640">Your id: <code class="svelte-1oy3640"> </code> </span>'),RS=A('<p class="error svelte-1oy3640"> </p>'),LS=A('<button type="button" class="danger svelte-1oy3640">Delete</button>'),PS=A('<div class="project-manage svelte-1oy3640"><div class="body svelte-1oy3640"><h2 class="svelte-1oy3640"> </h2> <!> <label class="field svelte-1oy3640"><span class="svelte-1oy3640">Name</span> <input type="text" placeholder="Acme Website" class="svelte-1oy3640"/></label> <label class="field svelte-1oy3640"><span class="svelte-1oy3640">Description</span> <textarea class="svelte-1oy3640"></textarea></label> <label class="field svelte-1oy3640"><span class="svelte-1oy3640">Members</span> <!> <!></label> <label class="field svelte-1oy3640"><span class="svelte-1oy3640">App allowlist</span> <!></label> <!></div> <div class="actions svelte-1oy3640"><button type="button" class="primary svelte-1oy3640"> </button> <button type="button" class="svelte-1oy3640">Cancel</button> <!></div></div>');function MS(e,t){se(t,!0);let n=Q(t,"project",3,null);const r=H(()=>n()!==null),s=H(qr);let i=F(le(_e(()=>n()?.name??""))),l=F(le(_e(()=>n()?.description??""))),o=F(le(_e(()=>{if(n())return[...n().members];const X=qr()?.id;return X?[X]:[]}))),c=F(le(_e(()=>n()?[...n().appAllowlist]:[]))),u=F(!1),d=F(null);async function f(){if(!a(i).trim()){S(d,"Name is required");return}S(u,!0),S(d,null);const X={name:a(i).trim(),description:a(l).trim()||void 0,members:a(o),appAllowlist:a(c)};try{a(r)&&n()?await mi.update(n().id,X):await mi.create(X),await qi(),t.onClose()}catch(B){S(d,B.message,!0)}finally{S(u,!1)}}function h(){if(!a(r)||!n())return;const X=n();Wt.open(AS,{projectName:X.name,projectId:X.id,onConfirm:async({wipeData:B})=>{S(u,!0),S(d,null);try{await mi.delete(X.id,{wipeData:B}),await qi(),t.onClose()}catch(W){S(d,W.message,!0)}finally{S(u,!1)}}})}var b=PS(),x=p(b),_=p(x),g=p(_,!0);v(_);var E=w(_,2);{var y=X=>{var B=CS(),W=w(p(B)),oe=p(W,!0);v(W),v(B),N(()=>D(oe,n().id)),k(X,B)};K(E,X=>{a(r)&&X(y)})}var m=w(E,2),I=w(p(m),2);ge(I),v(m);var T=w(m,2),R=w(p(T),2);Qo(R),ne(R,"rows",2),v(T);var M=w(T,2),z=w(p(M),2);Qv(z,{get disabled(){return a(u)},get value(){return a(o)},set value(X){S(o,X,!0)}});var P=w(z,2);{var j=X=>{var B=TS(),W=w(p(B)),oe=p(W,!0);v(W);var Y=w(W);v(B),N(()=>{D(oe,a(s).id),D(Y,` (${a(s).username??a(s).displayName??""})`)}),k(X,B)};K(P,X=>{a(s)&&X(j)})}v(M);var C=w(M,2),O=w(p(C),2);Zv(O,{get disabled(){return a(u)},get value(){return a(c)},set value(X){S(c,X,!0)}}),v(C);var q=w(C,2);{var L=X=>{var B=RS(),W=p(B,!0);v(B),N(()=>D(W,a(d))),k(X,B)};K(q,X=>{a(d)&&X(L)})}v(x);var V=w(x,2),J=p(V),G=p(J,!0);v(J);var $=w(J,2),Z=w($,2);{var ae=X=>{var B=LS();N(()=>B.disabled=a(u)),U("click",B,h),k(X,B)};K(Z,X=>{a(r)&&X(ae)})}v(V),v(b),N(()=>{D(g,a(r)?`Edit ${n().name}`:"Create Project"),I.disabled=a(u),R.disabled=a(u),J.disabled=a(u),D(G,a(r)?"Save":"Create"),$.disabled=a(u)}),Se(I,()=>a(i),X=>S(i,X)),Se(R,()=>a(l),X=>S(l,X)),U("click",J,f),U("click",$,function(...X){t.onClose?.apply(this,X)}),k(e,b),ie()}ce(["click"]);const Nt=le({projects:[],loading:!1,error:null});async function qi(){Nt.loading=!0,Nt.error=null;try{Nt.projects=await mi.list()}catch(e){Nt.error=e.message}finally{Nt.loading=!1}}const Lo="projects:manage";let Po=null;function jS(){const e=Po;return Po=null,e}function Mo(e){Po=e,Ce.open(Lo,{title:e?`Edit ${e.name}`:"Create Project",size:{w:560,h:620},dismissable:!0})}const nh={manifest:{id:"__projects__",label:"Projects",version:on,views:[{id:Lo,label:"Project Manager"}]},activate(e){qi(),typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&qi()});const t={mount(r,s){const i=jS(),l=Ce.list(),o=l.length>0?l[l.length-1].id:null,u=qe(MS,{target:r,props:{project:i,onClose:()=>{o&&Ce.close(o)}}});return{unmount(){Xe(u)}}}};e.registerView(Lo,t),e.actions.register({id:"sh3.project.create",label:"Create Project…",scope:["home","app"],paletteItem:!0,disabled:()=>!bt(),run:()=>{bt()&&Mo(null)}}),e.actions.register({id:"sh3.project.manage",label:"Manage Project…",scope:["home","app"],submenu:!0,paletteItem:!0,disabled:()=>!bt()});const n=new Map;Hr(()=>{ke(()=>{const r=new Set;for(const s of Nt.projects){if(r.add(s.id),n.has(s.id))continue;const i=e.actions.register({id:`sh3.project.manage:${s.id}`,label:s.name,scope:["home","app"],submenuOf:"sh3.project.manage",run:()=>{const l=Nt.projects.find(o=>o.id===s.id);l&&Mo(l)}});n.set(s.id,i)}for(const s of[...n.keys()])r.has(s)||(n.get(s)(),n.delete(s))})})},autostart(){}};var DS=A('<button type="button" class="project-card-edit svelte-yosqc3" aria-label="Edit project" title="Edit project">⚙</button>'),zS=A('<div class="project-card-wrap svelte-yosqc3"><button type="button"><span class="project-name svelte-yosqc3"> </span> <span class="project-meta svelte-yosqc3"> </span></button> <!></div>'),OS=A('<section class="projects-section svelte-yosqc3"><h2 class="projects-heading svelte-yosqc3">Projects</h2> <div class="projects-grid svelte-yosqc3"></div></section>');function NS(e,t){se(t,!0);const n=H(()=>Nt.projects.length>0),r=H(()=>ir.activeProjectId),s=H(bt);function i(d){hv(a(r)===d?null:d)}function l(d,f){f.stopPropagation();const h=Nt.projects.find(b=>b.id===d)??null;h&&Mo(h)}var o=Be(),c=fe(o);{var u=d=>{var f=OS(),h=w(p(f),2);pe(h,21,()=>Nt.projects,b=>b.id,(b,x)=>{var _=zS(),g=p(_);let E;var y=p(g),m=p(y,!0);v(y);var I=w(y,2),T=p(I);v(I),v(g);var R=w(g,2);{var M=z=>{var P=DS();U("click",P,j=>l(a(x).id,j)),k(z,P)};K(R,z=>{a(s)&&z(M)})}v(_),N(()=>{E=de(g,1,"project-card svelte-yosqc3",null,E,{active:a(r)===a(x).id}),ne(g,"title",a(x).description??`${a(x).members.length} member${a(x).members.length===1?"":"s"}`),D(m,a(x).name),D(T,`${a(x).members.length??""} member${a(x).members.length===1?"":"s"}`)}),U("click",g,()=>i(a(x).id)),k(b,_)}),v(h),v(f),k(d,f)};K(c,d=>{a(n)&&d(u)})}k(e,o),ie()}ce(["click"]);let pt=null;function qS(e){pt=e}function BS(){pt=null}function or(){return pt?.user.layouts??[]}function VS(e){pt&&(pt.user.layouts=[...pt.user.layouts,e])}function rh(e,t){if(!pt)return;const n=pt.user.layouts.findIndex(s=>s.id===e);if(n<0)return;const r=[...pt.user.layouts];r[n]={...r[n],...t},pt.user.layouts=r}function FS(e){pt&&(pt.user.layouts=pt.user.layouts.filter(t=>t.id!==e))}function US(){pt={ephemeral:{},session:{},workspace:{},user:{layouts:[]}}}US();function ka(e,t){if(e.type==="slot")return e.viewId===null||!t(e.viewId)?null:e;if(e.type==="tabs"){const s=[];let i=!1,l=0;for(let o=0;o<e.tabs.length;o++){const c=e.tabs[o];c.viewId!==null&&t(c.viewId)&&(o===e.activeTab&&(i=!0,l=s.length),s.push(c))}return s.length===0?null:{type:"tabs",tabs:s,activeTab:i?l:0}}const n=[],r=[];for(let s=0;s<e.children.length;s++){const i=ka(e.children[s],t);i!==null&&(n.push(i),r.push(e.sizes[s]??1))}return n.length===0?null:n.length===1?n[0]:{type:"split",direction:e.direction,sizes:r,children:n}}function sh(e){return JSON.parse(JSON.stringify(e))}function HS(e,t){const n=Ce.list().find(s=>s.id===e);if(!n)return null;const r=ka(n.content,t);return r===null?null:{size:{w:n.size.w,h:n.size.h},content:sh(r)}}function ih(e,t,n){const r=ka(e.content,t);return r===null?(n(`Saved layout "${e.name}" has no available standalone views`,"warn"),""):Ce.openWithContent({content:sh(r),size:{w:e.size.w,h:e.size.h},title:e.name})}var KS=A('<button type="button" data-sh3-scope="element:saved-layout"><span class="saved-layout-card-square svelte-1ncltuf"><svg class="saved-layout-card-icon svelte-1ncltuf"><use></use></svg></span> <span class="saved-layout-card-label svelte-1ncltuf"> </span></button>'),WS=A('<section class="saved-layouts-section svelte-1ncltuf"><h2 class="saved-layouts-heading svelte-1ncltuf">Saved Layouts</h2> <div class="saved-layouts-grid svelte-1ncltuf"></div></section>');function YS(e,t){se(t,!0);const n=H(or),r=aa("__layouts__");function s(f){return Is().some(h=>h.viewId===f)}function i(f,h){vn.notify(f,{level:h})}function l(f){const h=or().find(b=>b.id===f);h&&ih(h,s,i)}function o(f,h){f.preventDefault(),r.set({type:"saved-layout",ref:{layoutId:h}}),an.actions.openContextMenu({x:f.clientX,y:f.clientY,scope:{element:"saved-layout"}})}var c=Be(),u=fe(c);{var d=f=>{var h=WS(),b=w(p(h),2);pe(b,21,()=>a(n),x=>x.id,(x,_)=>{var g=KS();let E,y;var m=p(g),I=p(m),T=p(I);v(I),v(m);var R=w(m,2),M=p(R,!0);v(R),v(g),N(()=>{E=de(g,1,"saved-layout-card svelte-1ncltuf",null,E,{"saved-layout-card--tinted":a(_).appearance?.color}),ne(g,"data-saved-layout-id",a(_).id),y=He(g,"",y,{"--card-color":a(_).appearance?.color??"transparent"}),ne(T,"href",`${On}#${a(_).appearance?.icon??"eye"??""}`),D(M,a(_).name)}),U("click",g,()=>l(a(_).id)),U("contextmenu",g,z=>o(z,a(_).id)),k(x,g)}),v(b),v(h),k(f,h)};K(u,f=>{a(n).length>0&&f(d)})}k(e,c),ie()}ce(["click","contextmenu"]);const iu=["activity","align-horizontal-justify-center","align-horizontal-justify-end","align-horizontal-justify-start","app-window","archive","archive-restore","axis-3d","box","brick-wall","bug","building-2","cable","calendar","camera","check","chevron-down","chevron-right","circle-check","circle-dot","circle-minus","circle-x","clipboard","clipboard-paste","clock","compass","component","copy","cpu","crop","crosshair","crown","dollar-sign","download","droplet","eraser","euro","external-link","eye","eye-off","file","file-archive","file-diff","file-plus","file-text","flame","flip-horizontal-2","flip-vertical-2","folder","folder-open","folder-plus","folder-tree","gallery-vertical-end","gamepad-2","gauge","gem","git-branch","git-commit-horizontal","git-merge","globe","grid-2x2","grid-3x3","group","hard-drive","heart","history","house","image","info","joystick","key","layers","layout-dashboard","layout-grid","layout-list","layout-panel-left","layout-panel-top","layout-template","lightbulb","link","list-ordered","list-tree","lock","log-out","magnet","mail","map","maximize","minimize","moon","mouse-pointer","move","move-3d","music","navigation","network","notebook-pen","palette","pause","pencil","pipette","play","plus","pointer","pound-sterling","receipt","redo-2","refresh-cw","rocket","rotate-3d","rotate-ccw","rotate-cw","ruler","save","scissors","scroll-text","search","send","server","settings","shield","skull","sliders-horizontal","snowflake","sparkles","square","square-terminal","star","sun","sword","table-properties","target","texture","timer","trash-2","triangle-alert","type","undo-2","ungroup","unity","upload","user","users","video","volume-2","wand-sparkles","wind","x","zap","zoom-in","zoom-out"];var GS=A('<span class="sh3-icon-picker__label svelte-h9dluc"> </span>'),XS=A('<button type="button"><svg viewBox="0 0 24 24" class="svelte-h9dluc"><use></use></svg></button>'),JS=A('<div><!> <input type="search" placeholder="Search icons…" aria-label="Filter icons" class="svelte-h9dluc"/> <div class="sh3-icon-picker__grid svelte-h9dluc"><button type="button" aria-label="No icon">×</button> <!></div></div>');function ZS(e,t){se(t,!0);let n=Q(t,"value",15,void 0),r=Q(t,"disabled",3,!1),s=F("");const i=H(()=>a(s).trim()===""?iu:iu.filter(g=>g.includes(a(s).trim().toLowerCase())));function l(g){r()||(n(g),t.onchange?.(g))}var o=JS();let c;var u=p(o);{var d=g=>{var E=GS(),y=p(E,!0);v(E),N(()=>D(y,t.label)),k(g,E)};K(u,g=>{t.label&&g(d)})}var f=w(u,2);ge(f);var h=w(f,2),b=p(h);let x;var _=w(b,2);pe(_,16,()=>a(i),g=>g,(g,E)=>{var y=XS();let m;var I=p(y),T=p(I);v(I),v(y),N(()=>{m=de(y,1,"sh3-icon-picker__tile svelte-h9dluc",null,m,{"sh3-icon-picker__tile--selected":n()===E}),ne(y,"aria-label",E),ne(y,"title",E),y.disabled=r(),ne(T,"href",`${On}#${E??""}`)}),U("click",y,()=>l(E)),k(g,y)}),v(h),v(o),N(()=>{c=de(o,1,"sh3-icon-picker svelte-h9dluc",null,c,{"sh3-icon-picker--disabled":r()}),f.disabled=r(),x=de(b,1,"sh3-icon-picker__tile sh3-icon-picker__tile--none svelte-h9dluc",null,x,{"sh3-icon-picker__tile--selected":n()===void 0}),b.disabled=r()}),Se(f,()=>a(s),g=>S(s,g)),U("click",b,()=>l(void 0)),k(e,o),ie()}ce(["click"]);var QS=A('<em class="svelte-1v8d4f6">(empty = default)</em>'),$S=A('<button type="button" class="link svelte-1v8d4f6">Change icon</button>'),e3=A('<!> <button type="button" class="link link--align-right svelte-1v8d4f6">Hide picker</button>',1),t3=A('<div class="app-appearance svelte-1v8d4f6"><h2 class="svelte-1v8d4f6"> </h2> <div class="preview svelte-1v8d4f6"><div><span class="preview-card-square svelte-1v8d4f6"><svg class="preview-card-icon svelte-1v8d4f6"><use></use></svg></span> <span class="preview-card-label svelte-1v8d4f6"> </span></div></div> <label class="row svelte-1v8d4f6"><span class="svelte-1v8d4f6">Name <!></span> <input type="text" class="name-input svelte-1v8d4f6"/></label> <div class="row svelte-1v8d4f6"><span class="svelte-1v8d4f6">Icon</span> <!></div> <label class="row svelte-1v8d4f6"><span class="svelte-1v8d4f6">Color</span> <!></label> <div class="actions svelte-1v8d4f6"><button type="button" class="primary svelte-1v8d4f6">Save</button> <button type="button" data-role="reset" class="svelte-1v8d4f6">Reset</button> <button type="button" class="svelte-1v8d4f6">Cancel</button></div></div>');function ah(e,t){se(t,!0);const n=_e(()=>t.initialAppearance);let r=F(le(n?.icon)),s=F(le(n?.color)),i=F(le(_e(()=>t.entityLabel))),l=F(n?.icon!==void 0);const o=H(()=>a(i).trim()),c=H(()=>t.requireLabel&&a(o)===""),u=H(()=>a(o)===""?t.entityLabel:a(o)),d=H(()=>a(r)??t.defaultIcon),f=H(()=>n!==void 0);function h(){a(c)||(t.onSave({label:a(o),icon:a(r),color:a(s)}),t.close())}function b(){t.onReset(),t.close()}var x=t3(),_=p(x),g=p(_);v(_);var E=w(_,2),y=p(E);let m,I;var T=p(y),R=p(T),M=p(R);v(R),v(T);var z=w(T,2),P=p(z,!0);v(z),v(y),v(E);var j=w(E,2),C=p(j),O=w(p(C));{var q=Y=>{var ue=QS();k(Y,ue)};K(O,Y=>{t.requireLabel||Y(q)})}v(C);var L=w(C,2);ge(L),v(j);var V=w(j,2),J=w(p(V),2);{var G=Y=>{var ue=$S();U("click",ue,()=>S(l,!0)),k(Y,ue)},$=Y=>{var ue=e3(),be=fe(ue);ZS(be,{get value(){return a(r)},set value(Me){S(r,Me,!0)}});var it=w(be,2);U("click",it,()=>S(l,!1)),k(Y,ue)};K(J,Y=>{a(l)?Y($,-1):Y(G)})}v(V);var Z=w(V,2),ae=w(p(Z),2);{let Y=H(()=>a(s)??"#888888");Xv(ae,{get value(){return a(Y)},onchange:ue=>S(s,ue,!0)})}v(Z);var X=w(Z,2),B=p(X),W=w(B,2),oe=w(W,2);v(X),v(x),N(()=>{D(g,`Customize ${t.entityLabel??""}`),m=de(y,1,"preview-card svelte-1v8d4f6",null,m,{"preview-card--tinted":a(s)!==void 0}),I=He(y,"",I,{"--card-color":a(s)??"transparent"}),ne(M,"href",`${On}#${a(d)??""}`),D(P,a(u)),ne(L,"placeholder",t.entityLabel),B.disabled=a(c),W.disabled=!a(f)}),Se(L,()=>a(i),Y=>S(i,Y)),U("click",B,h),U("click",W,b),U("click",oe,()=>t.close()),k(e,x),ie()}ce(["click"]);let Xn=null;function n3(e){Xn=e}function r3(){Xn=null}function oh(e){return e.icon===void 0&&e.color===void 0&&e.label===void 0}function jo(e){const t=Xn?.user.overrides;if(!t)return;const n=t[e];if(n&&!oh(n))return n}function au(e,t){if(!Xn)return;const r={...Xn.user.overrides};t===void 0||oh(t)?delete r[e]:r[e]=t,Xn.user.overrides=r}function s3(){Xn={ephemeral:{},session:{},workspace:{},user:{overrides:{}}}}s3();function i3(){const e=Ys();return!e||e.type!=="app"?null:e.ref}function a3(e){const t=i3();if(!t)return;const n=Yr().find(o=>o.id===t.appId),r=n?.label??t.appId,s=n?.icon??"box",i=jo(t.appId),l={entityLabel:i?.label??r,initialAppearance:i,defaultIcon:s,requireLabel:!1,onSave:o=>{au(t.appId,{label:o.label===""?void 0:o.label,icon:o.icon,color:o.color})},onReset:()=>au(t.appId,void 0)};Wt.open(ah,l)}const lh={manifest:{id:"__app-appearance__",label:"App Appearance",version:on,views:[]},activate(e){const t=e.state({user:{overrides:{}}});n3(t);const n={id:"app.customize",label:"Customize…",scope:{element:"app"},contextItem:!0,group:"appearance",run:a3};e.actions.register(n)},autostart(){},deactivate(){r3()}};var o3=A('<button type="button" data-sh3-scope="element:app"><span class="sh3-home-card-square svelte-11gxeaw"><svg class="sh3-home-card-icon svelte-11gxeaw"><use></use></svg></span> <span class="sh3-home-card-label svelte-11gxeaw"> </span></button>'),l3=A('<section class="sh3-home-section svelte-11gxeaw"><h2 class="sh3-home-section-title svelte-11gxeaw">Apps</h2> <div class="sh3-home-grid svelte-11gxeaw"></div></section>'),c3=A('<button type="button" data-sh3-scope="element:app"><span class="sh3-home-card-square svelte-11gxeaw"><svg class="sh3-home-card-icon svelte-11gxeaw"><use></use></svg></span> <span class="sh3-home-card-label svelte-11gxeaw"> </span></button>'),u3=A('<section class="sh3-home-section svelte-11gxeaw"><h2 class="sh3-home-section-title svelte-11gxeaw">Admin</h2> <div class="sh3-home-grid svelte-11gxeaw"></div></section>'),d3=A('<p class="sh3-home-empty svelte-11gxeaw"><!></p>'),f3=A('<div class="sh3-home svelte-11gxeaw"><header class="sh3-home-header svelte-11gxeaw"><div class="sh3-home-title-row svelte-11gxeaw"><!> <span class="sh3-home-version svelte-11gxeaw"> </span> <span class="sh3-home-alpha svelte-11gxeaw">alpha</span></div> <div class="sh3-home-credit svelte-11gxeaw">Art: by <a href="https://www.andbc.co/" target="_blank" rel="noopener noreferrer" class="svelte-11gxeaw">andbc</a></div></header> <div class="sh3-home-filter svelte-11gxeaw"><input type="search" placeholder="Filter apps…" aria-label="Filter apps by name" class="sh3-home-filter-input svelte-11gxeaw"/></div> <!> <!> <!> <!> <!></div>');function v3(e,t){se(t,!0);const n=aa("__sh3core__");function r(q,L){q.preventDefault(),n.set({type:"app",ref:{appId:L}}),an.actions.openContextMenu({x:q.clientX,y:q.clientY,scope:{element:"app"}})}let s=F("");const i=H(Yr),l=H(bt),o=H(()=>ir.activeProjectId?Nt.projects.find(q=>q.id===ir.activeProjectId)??null:null);function c(q,L){if(!L)return!0;const V=L.toLowerCase();return q.label.toLowerCase().includes(V)||q.id.toLowerCase().includes(V)}function u(q){return a(o)?a(o).appAllowlist.includes(q):!0}const d=H(()=>a(i).filter(q=>!q.admin&&c(q,a(s))&&u(q.id))),f=H(()=>a(i).filter(q=>q.admin&&c(q,a(s)))),h=H(()=>a(d).length+(a(l)?a(f).length:0));var b=f3(),x=p(b),_=p(x),g=p(_);ES(g,{});var E=w(g,2),y=p(E);v(E),Et(2),v(_),Et(2),v(x);var m=w(x,2),I=p(m);ge(I),v(m);var T=w(m,2);NS(T,{});var R=w(T,2);YS(R,{});var M=w(R,2);{var z=q=>{var L=l3(),V=w(p(L),2);pe(V,21,()=>a(d),J=>J.id,(J,G)=>{const $=H(()=>jo(a(G).id));var Z=o3();let ae,X;var B=p(Z),W=p(B),oe=p(W);v(W),v(B);var Y=w(B,2),ue=p(Y,!0);v(Y),v(Z),N(()=>{ae=de(Z,1,"sh3-home-card svelte-11gxeaw",null,ae,{"sh3-home-card--tinted":a($)?.color}),X=He(Z,"",X,{"--card-color":a($)?.color??"transparent"}),ne(oe,"href",`${On}#${a($)?.icon??a(G).icon??"box"??""}`),D(ue,a($)?.label??a(G).label)}),U("click",Z,()=>En(a(G).id)),U("contextmenu",Z,be=>r(be,a(G).id)),k(J,Z)}),v(V),v(L),k(q,L)};K(M,q=>{a(d).length>0&&q(z)})}var P=w(M,2);{var j=q=>{var L=u3(),V=w(p(L),2);pe(V,21,()=>a(f),J=>J.id,(J,G)=>{const $=H(()=>jo(a(G).id));var Z=c3();let ae,X;var B=p(Z),W=p(B),oe=p(W);v(W),v(B);var Y=w(B,2),ue=p(Y,!0);v(Y),v(Z),N(()=>{ae=de(Z,1,"sh3-home-card svelte-11gxeaw",null,ae,{"sh3-home-card--tinted":a($)?.color}),X=He(Z,"",X,{"--card-color":a($)?.color??"transparent"}),ne(oe,"href",`${On}#${a($)?.icon??a(G).icon??"box"??""}`),D(ue,a($)?.label??a(G).label)}),U("click",Z,()=>En(a(G).id)),U("contextmenu",Z,be=>r(be,a(G).id)),k(J,Z)}),v(V),v(L),k(q,L)};K(P,q=>{a(l)&&a(f).length>0&&q(j)})}var C=w(P,2);{var O=q=>{var L=d3(),V=p(L);{var J=$=>{var Z=en("No apps registered.");k($,Z)},G=$=>{var Z=en();N(()=>D(Z,`No apps match “${a(s)??""}”.`)),k($,Z)};K(V,$=>{a(i).length===0?$(J):$(G,-1)})}v(L),k(q,L)};K(C,q=>{a(h)===0&&q(O)})}v(b),N(()=>D(y,`v${on}`)),Se(I,()=>a(s),q=>S(s,q)),k(e,b),ie()}ce(["click","contextmenu"]);var h3=A('<p class="keys-peers-muted svelte-1s56qq">Loading...</p>'),p3=A('<p class="keys-peers-error svelte-1s56qq"> </p>'),m3=A('<p class="keys-peers-muted svelte-1s56qq">No keys yet. Shards will ask your permission before creating one.</p>'),b3=A('<button type="button" class="keys-peers-btn-danger svelte-1s56qq">Confirm</button> <button type="button" class="keys-peers-btn-secondary svelte-1s56qq">Cancel</button>',1),g3=A('<button type="button" class="keys-peers-btn-danger svelte-1s56qq">Revoke</button>'),y3=A('<li class="keys-peers-item svelte-1s56qq"><div class="keys-peers-info svelte-1s56qq"><span class="keys-peers-label svelte-1s56qq"> </span> <span class="keys-peers-meta svelte-1s56qq"> </span> <span class="keys-peers-meta svelte-1s56qq"> </span> <span class="keys-peers-meta svelte-1s56qq"> </span></div> <div class="keys-peers-actions svelte-1s56qq"><!></div></li>'),_3=A('<ul class="keys-peers-list svelte-1s56qq"></ul>'),w3=A('<div class="keys-peers svelte-1s56qq"><div class="keys-peers-header svelte-1s56qq"><h2 class="svelte-1s56qq">Keys &amp; Peers</h2></div> <!></div>');function k3(e,t){se(t,!0);let n=F(le([])),r=F(null),s=F(!0),i=F(null);async function l(){S(r,null),S(s,!0);try{const _=await fetch("/api/keys",{credentials:"include"});if(!_.ok)throw new Error(`HTTP ${_.status}`);S(n,await _.json(),!0)}catch(_){S(r,_ instanceof Error?_.message:String(_),!0)}finally{S(s,!1)}}async function o(_){S(i,null);const g=await fetch(`/api/keys/${encodeURIComponent(_)}`,{method:"DELETE",credentials:"include"});(g.ok||g.status===404)&&S(n,a(n).filter(E=>E.id!==_),!0)}function c(_){return new Date(_).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}ke(()=>{l()}),ke(()=>Vl("*",()=>{l()}));var u=w3(),d=w(p(u),2);{var f=_=>{var g=h3();k(_,g)},h=_=>{var g=p3(),E=p(g);v(g),N(()=>D(E,`Failed to load: ${a(r)??""}`)),k(_,g)},b=_=>{var g=m3();k(_,g)},x=_=>{var g=_3();pe(g,21,()=>a(n),E=>E.id,(E,y)=>{var m=y3(),I=p(m),T=p(I),R=p(T,!0);v(T);var M=w(T,2),z=p(M);v(M);var P=w(M,2),j=p(P);v(P);var C=w(P,2),O=p(C);v(C),v(I);var q=w(I,2),L=p(q);{var V=G=>{var $=b3(),Z=fe($),ae=w(Z,2);U("click",Z,()=>o(a(y).id)),U("click",ae,()=>{S(i,null)}),k(G,$)},J=G=>{var $=g3();U("click",$,()=>{S(i,a(y).id,!0)}),k(G,$)};K(L,G=>{a(i)===a(y).id?G(V):G(J,-1)})}v(q),v(m),N((G,$,Z)=>{D(R,a(y).label),D(z,`Minted by: ${a(y).mintedByShardId??"system"??""}${a(y).peerRole||a(y).peerId?` · Peer: ${a(y).peerRole??"—"}${a(y).peerId?` (${a(y).peerId})`:""}`:""}`),D(j,`Scopes: ${G??""}`),D(O,`Created: ${$??""} · Expires: ${Z??""}`)},[()=>a(y).scopes.join(", "),()=>c(a(y).createdAt),()=>a(y).expiresAt?c(a(y).expiresAt):"never"]),k(E,m)}),v(g),k(_,g)};K(d,_=>{a(s)?_(f):a(r)?_(h,1):a(n).length===0?_(b,2):_(x,-1)})}v(u),k(e,u),ie()}ce(["click"]);var x3=A('<div class="confirm-dialog svelte-1k1962w"><div class="confirm-dialog-title svelte-1k1962w"> </div> <div class="confirm-dialog-body svelte-1k1962w"> </div> <div class="confirm-dialog-actions svelte-1k1962w"><button type="button" class="confirm-dialog-btn confirm-dialog-btn-cancel svelte-1k1962w" data-confirm-dialog-cancel=""> </button> <button type="button" data-confirm-dialog-confirm=""> </button></div></div>');function ch(e,t){se(t,!0);let n=Q(t,"confirmLabel",3,"Confirm"),r=Q(t,"cancelLabel",3,"Cancel"),s=Q(t,"confirmTone",3,"default"),i=F(void 0),l=F(!1);ke(()=>{a(i)?.focus()});async function o(){if(!a(l)){S(l,!0);try{await t.onConfirm()}finally{t.close()}}}function c(){a(l)||(t.onCancel?.(),t.close())}var u=x3(),d=p(u),f=p(d,!0);v(d);var h=w(d,2),b=p(h,!0);v(h);var x=w(h,2),_=p(x),g=p(_,!0);v(_),De(_,I=>S(i,I),()=>a(i));var E=w(_,2);let y;var m=p(E,!0);v(E),v(x),v(u),N(()=>{D(f,t.title),D(b,t.body),_.disabled=a(l),D(g,r()),y=de(E,1,"confirm-dialog-btn svelte-1k1962w",null,y,{"confirm-dialog-btn-danger":s()==="danger","confirm-dialog-btn-default":s()==="default"}),E.disabled=a(l),D(m,n())}),U("click",_,c),U("click",E,o),k(e,u),ie()}ce(["click"]);const ou=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 Ha(e,t){const n=Object.keys(t),r=n.filter(l=>!ou.has(l)),s=n.filter(l=>ou.has(l)),i=[`const __m__ = globalThis.${e};`];r.length>0&&i.push(`export const { ${r.join(", ")} } = __m__;`);for(const l of s)i.push(`const __r_${l}__ = __m__['${l}']; export { __r_${l}__ as ${l} };`);return i.push("export default __m__.default;"),URL.createObjectURL(new Blob([i.join(`
11
- `)],{type:"application/javascript"}))}const Kl=globalThis;Kl.__sh3__=th;Kl.__sh3_svelte__=Qd;Kl.__sh3_svelte_internal_client__=ff;const Wl={"sh3-core":Ha("__sh3__",th),svelte:Ha("__sh3_svelte__",Qd),"svelte/internal/client":Ha("__sh3_svelte_internal_client__",ff)};Wl["svelte/internal/disclose-version"]=URL.createObjectURL(new Blob([""],{type:"application/javascript"}));Wl["sh3-core/tokens.css"]=URL.createObjectURL(new Blob([""],{type:"application/javascript"}));const S3=/(?:from|import)\s*(['"])(sh3-core(?:\/[^'"]*)?|svelte(?:\/[^'"]*)?)\1/g;function E3(e){return e.replace(S3,(t,n,r)=>{const s=Wl[r];return s?`${t.startsWith("from")?"from":"import"} '${s}'`:t})}async function Js(e){const t=new TextDecoder().decode(e),n=E3(t),r=new Blob([n],{type:"application/javascript"}),s=URL.createObjectURL(r);try{const i=await import(s),l={shards:[],apps:[]};for(const o of Object.values(i)){if(!o||typeof o!="object"||!("manifest"in o))continue;const c=o;I3(c)?l.shards.push(c):A3(c)&&l.apps.push(c)}if(l.shards.length===0&&l.apps.length===0)throw new Error('Bundle has no exports with a "manifest" property — expected at least one shard or app');return l}finally{URL.revokeObjectURL(s)}}function I3(e){return"activate"in e&&typeof e.activate=="function"&&Array.isArray(e.manifest.views)}function A3(e){return"initialLayout"in e&&Array.isArray(e.manifest.requiredShards)}const C3="sh3-packages",T3=1,Cs="bundles",Br="meta";function Zs(){return new Promise((e,t)=>{const n=indexedDB.open(C3,T3);n.onupgradeneeded=()=>{const r=n.result;r.objectStoreNames.contains(Cs)||r.createObjectStore(Cs),r.objectStoreNames.contains(Br)||r.createObjectStore(Br)},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}function lr(e,t,n,r){return new Promise((s,i)=>{const o=e.transaction(t,n).objectStore(t),c=r(o);c.onsuccess=()=>s(c.result),c.onerror=()=>i(c.error)})}async function uh(e,t,n){const r=await Zs();await lr(r,Cs,"readwrite",s=>s.put(t,e)),await lr(r,Br,"readwrite",s=>s.put(n,e)),r.close()}async function dh(e){const t=await Zs(),n=await lr(t,Cs,"readonly",r=>r.get(e));return t.close(),n??null}async function R3(e){const t=await Zs(),n=await lr(t,Br,"readonly",r=>r.get(e));return t.close(),n??null}async function fh(){const e=await Zs(),t=await lr(e,Br,"readonly",n=>n.getAll());return e.close(),t??[]}async function L3(e){const t=await Zs();await lr(t,Cs,"readwrite",n=>n.delete(e)),await lr(t,Br,"readwrite",n=>n.delete(e)),t.close()}function Yl(e,t){for(const n of e.shards)n.manifest={...n.manifest,version:t.version},ma(n);for(const n of e.apps)n.manifest={...n.manifest,version:t.version},gs(n)}const P3={"state:manage":{title:"Manage sh3 state zones",description:"Read and write state zones belonging to other shards."},"documents:browse":{title:"Browse tenant documents",description:"Observe all documents stored by the current tenant."},"documents:read":{title:"Read tenant documents",description:"Read the content of any document in the current tenant, across all shards. Required for backup connectors that need to pull document bodies (not just metadata) out of other shards."},"documents:write":{title:"Write tenant documents",description:"Create and overwrite documents in any shard's namespace within the current tenant. Required for restore-class connectors that re-import documents back into their owning shards."},"documents:sync":{title:"Sync documents with peers",description:"Participate in cross-peer document synchronization."},"sync:peer":{title:"Act as a sync peer",description:"Exchange document updates with remote peers."},"sync:policy":{title:"Define sync policy",description:"Configure which documents sync and with whom."},"keys:mint":{title:"Mint API keys",description:"Issue long-lived access tokens for this sh3."}};function Ka(e){return P3[e]??{title:e,description:"Unknown permission."}}function Gl(e){const t=new Set;for(const n of e.shards)for(const r of n.manifest.permissions??[])t.add(r);for(const n of e.apps)for(const r of n.manifest.permissions??[])t.add(r);return[...t]}async function Xl(e,t,n){if(!t.integrity)return{success:!1,hotLoaded:!1,error:"Missing integrity hash — refusing to install unverified bundle"};try{await Fl(e,t.integrity)}catch(l){return{success:!1,hotLoaded:!1,error:`Integrity check failed: ${l instanceof Error?l.message:String(l)}`}}let r;if(n?.loaded)r=n.loaded;else try{r=await Js(e)}catch(l){return{success:!1,hotLoaded:!1,error:`Failed to load bundle: ${l instanceof Error?l.message:String(l)}`}}if(t.type==="shard"&&r.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"&&r.apps.length===0)return{success:!1,hotLoaded:!1,error:`Package "${t.id}" declared type "app" but bundle contains no valid app`};const s={id:t.id,type:t.type,version:t.version,sourceRegistry:t.sourceRegistry,contractVersion:t.contractVersion,installedAt:new Date().toISOString(),permissions:Gl(r)};try{await uh(t.id,e,s)}catch(l){return{success:!1,hotLoaded:!1,error:`Failed to persist package: ${l instanceof Error?l.message:String(l)}`}}if(t.type==="shard"||t.type==="combo")try{ba(t.id)}catch{}(t.type==="app"||t.type==="combo")&&jl(t.id);let i=!0;try{Yl(r,{version:t.version,sourceRegistry:t.sourceRegistry,contractVersion:t.contractVersion})}catch(l){console.warn(`[sh3] Package "${t.id}" installed but registration failed (will retry on next boot):`,l instanceof Error?l.message:l),i=!1}return{success:!0,package:s,hotLoaded:i}}async function M3(e){try{ba(e)}catch{}jl(e),await L3(e)}async function j3(){return fh()}async function vh(){let e;try{e=await fh()}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 dh(t.id);if(!n){console.warn(`[sh3] No bundle found for installed package "${t.id}", skipping`);continue}const r=await Js(n);Yl(r,{version:t.version,sourceRegistry:t.sourceRegistry,contractVersion:t.contractVersion}),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 lu={version:1};var D3=A('<span class="perm-modal-author svelte-1ipp1r6"> </span>'),z3=A('<p class="perm-modal-empty svelte-1ipp1r6">This package requires no special permissions.</p>'),O3=A('<li class="perm-modal-item svelte-1ipp1r6"><div class="perm-modal-item-title svelte-1ipp1r6"> </div> <div class="perm-modal-item-desc svelte-1ipp1r6"> </div></li>'),N3=A('<p class="perm-modal-intro svelte-1ipp1r6">This package requests the following permissions:</p> <ul class="perm-modal-list svelte-1ipp1r6"></ul>',1),q3=A('<li class="perm-modal-item svelte-1ipp1r6"><div class="perm-modal-item-title svelte-1ipp1r6"> </div> <div class="perm-modal-item-desc svelte-1ipp1r6"> </div></li>'),B3=A('<p class="perm-modal-intro svelte-1ipp1r6">New permissions in this update:</p> <ul class="perm-modal-list perm-modal-added svelte-1ipp1r6"></ul>',1),V3=A('<li class="perm-modal-item svelte-1ipp1r6"><div class="perm-modal-item-title svelte-1ipp1r6"> </div> <div class="perm-modal-item-desc svelte-1ipp1r6"> </div></li>'),F3=A('<p class="perm-modal-intro svelte-1ipp1r6">Permissions no longer requested:</p> <ul class="perm-modal-list perm-modal-removed svelte-1ipp1r6"></ul>',1),U3=A("<!> <!>",1),H3=A('<div class="perm-modal-backdrop svelte-1ipp1r6" role="dialog" aria-modal="true" tabindex="-1"><div class="perm-modal-panel svelte-1ipp1r6" role="document"><header class="perm-modal-header svelte-1ipp1r6"><h3 class="svelte-1ipp1r6"> </h3> <div class="perm-modal-subtitle svelte-1ipp1r6"><!> <!></div></header> <div class="perm-modal-body svelte-1ipp1r6"><!></div> <footer class="perm-modal-footer svelte-1ipp1r6"><button class="perm-modal-cancel svelte-1ipp1r6">Cancel</button> <button class="perm-modal-confirm svelte-1ipp1r6"> </button></footer></div></div>');function Do(e,t){se(t,!0);const n=Q(t,"permissions",19,()=>[]),r=Q(t,"added",19,()=>[]),s=Q(t,"removed",19,()=>[]),i=H(()=>t.mode==="install"?"Install":"Update");var l=H3(),o=p(l),c=p(o),u=p(c),d=p(u);v(u);var f=w(u,2),h=p(f);{var b=P=>{var j=en();N(()=>D(j,`${t.fromVersion??""} → ${t.pkg.version??""}`)),k(P,j)},x=P=>{var j=en();N(()=>D(j,`v${t.pkg.version??""}`)),k(P,j)};K(h,P=>{t.mode==="update"&&t.fromVersion?P(b):P(x,-1)})}var _=w(h,2);{var g=P=>{var j=D3(),C=p(j);v(j),N(()=>D(C,`by ${t.pkg.author??""}`)),k(P,j)};K(_,P=>{t.pkg.author&&P(g)})}v(f),v(c);var E=w(c,2),y=p(E);{var m=P=>{var j=Be(),C=fe(j);{var O=L=>{var V=z3();k(L,V)},q=L=>{var V=N3(),J=w(fe(V),2);pe(J,20,n,G=>G,(G,$)=>{const Z=H(()=>Ka($));var ae=O3(),X=p(ae),B=p(X,!0);v(X);var W=w(X,2),oe=p(W,!0);v(W),v(ae),N(()=>{D(B,a(Z).title),D(oe,a(Z).description)}),k(G,ae)}),v(J),k(L,V)};K(C,L=>{n().length===0?L(O):L(q,-1)})}k(P,j)},I=P=>{var j=U3(),C=fe(j);{var O=V=>{var J=B3(),G=w(fe(J),2);pe(G,20,r,$=>$,($,Z)=>{const ae=H(()=>Ka(Z));var X=q3(),B=p(X),W=p(B,!0);v(B);var oe=w(B,2),Y=p(oe,!0);v(oe),v(X),N(()=>{D(W,a(ae).title),D(Y,a(ae).description)}),k($,X)}),v(G),k(V,J)};K(C,V=>{r().length>0&&V(O)})}var q=w(C,2);{var L=V=>{var J=F3(),G=w(fe(J),2);pe(G,20,s,$=>$,($,Z)=>{const ae=H(()=>Ka(Z));var X=V3(),B=p(X),W=p(B,!0);v(B);var oe=w(B,2),Y=p(oe,!0);v(oe),v(X),N(()=>{D(W,a(ae).title),D(Y,a(ae).description)}),k($,X)}),v(G),k(V,J)};K(q,V=>{s().length>0&&V(L)})}k(P,j)};K(y,P=>{t.mode==="install"?P(m):P(I,-1)})}v(E);var T=w(E,2),R=p(T),M=w(R,2),z=p(M,!0);v(M),v(T),v(o),v(l),N(()=>{ne(l,"aria-label",`${a(i)??""} ${t.pkg.label??""}`),D(d,`${a(i)??""} ${t.pkg.label??""}`),D(z,a(i))}),U("click",l,function(...P){t.onCancel?.apply(this,P)}),U("keydown",l,P=>{P.key==="Escape"&&t.onCancel()}),U("click",o,P=>P.stopPropagation()),U("click",R,function(...P){t.onCancel?.apply(this,P)}),U("click",M,function(...P){t.onConfirm?.apply(this,P)}),k(e,l),ie()}ce(["click","keydown"]);function Jl(e){return e==="shard"?"shard":"app"}function K3(e){return Jl(e)==="shard"?"Shard":"App"}function W3(e,t){return t==="all"?!0:Jl(e)===t}var Y3=A('<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>'),G3=A('<div class="store-registries svelte-1aafzt0"></div>'),X3=A('<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>'),J3=A('<div class="store-error svelte-1aafzt0"> </div>'),Z3=A('<div class="store-error svelte-1aafzt0"> </div>'),Q3=A('<img alt="" class="store-icon-img svelte-1aafzt0"/>'),$3=A('<span class="store-icon-placeholder svelte-1aafzt0"> </span>'),eE=A('<div class="store-card-warning svelte-1aafzt0"> </div>'),tE=A('<button class="store-update-btn svelte-1aafzt0"> </button>'),nE=A('<span class="store-installed-label svelte-1aafzt0">Installed</span>'),rE=A('<span class="store-card-missing svelte-1aafzt0"> </span>'),sE=A('<div class="store-install-wrap svelte-1aafzt0"><button class="store-install-btn svelte-1aafzt0"> </button> <!></div>'),iE=A('<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>'),aE=A("No packages found. <!>",1),oE=A('<div class="store-empty svelte-1aafzt0"><!></div>'),lE=A('<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> <!> <!>',1);function cE(e,t){se(t,!0);let n=F(""),r=F("all"),s=F(le(new Set)),i=F(le(new Set)),l=F(null),o=F(""),c=F(null),u=F(null);const d=Qe;async function f(){const ee=a(o).trim();if(ee&&!d.env.registries.includes(ee))try{await d.addRegistry(ee),S(o,""),d.refreshCatalog(),d.refreshInstalled()}catch(te){S(l,te instanceof Error?te.message:String(te),!0)}}async function h(ee){try{await d.removeRegistry(ee),d.refreshCatalog()}catch(te){S(l,te instanceof Error?te.message:String(te),!0)}}const b=H(()=>{const ee=a(n).toLowerCase().trim();return d.state.ephemeral.catalog.filter(te=>W3(te.entry.type,a(r))?ee?te.entry.id.toLowerCase().includes(ee)||te.entry.label.toLowerCase().includes(ee)||te.entry.description.toLowerCase().includes(ee):!0:!1)});function x(ee){return d.state.ephemeral.installed.some(te=>te.id===ee)}function _(ee){return String(ee.latest.contractVersion)!==String(lu.version)}function g(ee){return ee in d.state.ephemeral.updatable}function E(ee){return d.state.ephemeral.installed.find(te=>te.id===ee)?.version??""}function y(ee,te){const Ae=ee.latest.requires?.map(xe=>xe.id)??[];if(Ae.length===0)return[];const ze=new Set(eh);for(const xe of te)(xe.type==="shard"||xe.type==="combo")&&ze.add(xe.id);return Ae.filter(xe=>!ze.has(xe))}async function m(ee){if(!a(i).has(ee)){S(i,new Set([...a(i),ee]),!0),S(l,null);try{await d.updatePackage(ee,(te,Ae)=>new Promise(ze=>{const xe=d.state.ephemeral.updatable[ee],Ke=d.state.ephemeral.installed.find(tt=>tt.id===ee);if(!xe||!Ke){ze(!0);return}S(u,{pkg:xe,fromVersion:Ke.version,added:te,removed:Ae,resolve:ze},!0)}))}catch(te){S(l,te instanceof Error?te.message:String(te),!0)}finally{const te=new Set(a(i));te.delete(ee),S(i,te,!0)}}}function I(){const ee=a(u);ee&&(S(u,null),ee.resolve(!0))}function T(){const ee=a(u);ee&&(S(u,null),ee.resolve(!1))}async function R(ee){const te=ee.entry.id;if(!a(s).has(te)){S(s,new Set([...a(s),te]),!0),S(l,null);try{const Ae=await ya(ee.latest,ee.sourceRegistry),ze=_a(ee,ee.latest),xe=await Js(Ae),Ke=Gl(xe);let tt;ee.latest.serverBundleUrl&&(tt=await Ul(ee.latest,ee.sourceRegistry)),S(c,{pkg:ee,permissions:Ke,loaded:xe,bundle:Ae,meta:ze,serverBundle:tt},!0)}catch(Ae){S(l,Ae instanceof Error?Ae.message:String(Ae),!0);const ze=new Set(a(s));ze.delete(te),S(s,ze,!0)}}}async function M(){const ee=a(c);if(!ee)return;S(c,null);const{pkg:te,loaded:Ae,bundle:ze,meta:xe,serverBundle:Ke}=ee,tt=te.entry.id;try{const Ge={id:xe.id,type:xe.type,label:te.entry.label,version:xe.version,contractVersion:xe.contractVersion,sourceRegistry:xe.sourceRegistry,requiredShards:te.latest.requires?.map(Pt=>Pt.id)??[],installedAt:new Date().toISOString()},Vn=await Bl(Ge,ze,Ke);if(!Vn.ok){S(l,Vn.error??"Server install failed",!0);return}const Tn=await Xl(ze,xe,{loaded:Ae});Tn.success||console.warn(`[sh3-store] Server install ok but local hot-load failed: ${Tn.error}`),await d.refreshInstalled()}catch(Ge){S(l,Ge instanceof Error?Ge.message:String(Ge),!0)}finally{const Ge=new Set(a(s));Ge.delete(tt),S(s,Ge,!0)}}function z(){if(!a(c))return;const ee=a(c).pkg.entry.id;S(c,null);const te=new Set(a(s));te.delete(ee),S(s,te,!0)}function P(){d.refreshCatalog(),d.refreshInstalled()}var j=lE(),C=fe(j),O=p(C),q=w(p(O),2),L=p(q);ge(L);var V=w(L,2),J=p(V);J.value=J.__value="all";var G=w(J);G.value=G.__value="shard";var $=w(G);$.value=$.__value="app",v(V);var Z=w(V,2),ae=p(Z,!0);v(Z),v(q),v(O);var X=w(O,2);{var B=ee=>{var te=G3();pe(te,21,()=>d.env.registries,dt,(Ae,ze)=>{var xe=Y3(),Ke=p(xe),tt=p(Ke,!0);v(Ke);var Ge=w(Ke,2);v(xe),N(()=>D(tt,a(ze))),U("click",Ge,()=>h(a(ze))),k(Ae,xe)}),v(te),k(ee,te)};K(X,ee=>{d.isAdmin&&d.env.registries.length>0&&ee(B)})}var W=w(X,2);{var oe=ee=>{var te=X3(),Ae=p(te);ge(Ae);var ze=w(Ae,2);v(te),N(xe=>ze.disabled=xe,[()=>!a(o).trim()]),Re("submit",te,xe=>{xe.preventDefault(),f()}),Se(Ae,()=>a(o),xe=>S(o,xe)),k(ee,te)};K(W,ee=>{d.isAdmin&&ee(oe)})}var Y=w(W,2);{var ue=ee=>{var te=J3(),Ae=p(te,!0);v(te),N(()=>D(Ae,d.state.ephemeral.error)),k(ee,te)};K(Y,ee=>{d.state.ephemeral.error&&ee(ue)})}var be=w(Y,2);{var it=ee=>{var te=Z3(),Ae=p(te,!0);v(te),N(()=>D(Ae,a(l))),k(ee,te)};K(be,ee=>{a(l)&&ee(it)})}var Me=w(be,2);pe(Me,21,()=>a(b),ee=>ee.entry.id,(ee,te)=>{const Ae=H(()=>x(a(te).entry.id)),ze=H(()=>_(a(te))),xe=H(()=>a(s).has(a(te).entry.id)),Ke=H(()=>g(a(te).entry.id)),tt=H(()=>a(i).has(a(te).entry.id)),Ge=H(()=>y(a(te),d.state.ephemeral.installed)),Vn=H(()=>Jl(a(te).entry.type));var Tn=iE(),Pt=p(Tn),Fn=p(Pt),ip=p(Fn);{var ap=Oe=>{var Ne=Q3();N(()=>ne(Ne,"src",a(te).entry.icon)),k(Oe,Ne)},op=Oe=>{var Ne=$3(),Mt=p(Ne,!0);v(Ne),N(()=>D(Mt,a(te).entry.type==="shard"?"S":"A")),k(Oe,Ne)};K(ip,Oe=>{a(te).entry.icon?Oe(ap):Oe(op,-1)})}v(Fn);var ec=w(Fn,2),xa=p(ec),lp=p(xa,!0);v(xa);var $s=w(xa,2);let tc;var cp=p($s,!0);v($s);var nc=w($s,2),up=p(nc,!0);v(nc),v(ec),v(Pt);var Sa=w(Pt,2),dp=p(Sa,!0);v(Sa);var Ea=w(Sa,2),fp=p(Ea,!0);v(Ea);var rc=w(Ea,2);{var vp=Oe=>{var Ne=eE(),Mt=p(Ne);v(Ne),N(()=>D(Mt,`Contract mismatch: package targets v${a(te).latest.contractVersion??""}, running v${lu.version}`)),k(Oe,Ne)};K(rc,Oe=>{a(ze)&&Oe(vp)})}var sc=w(rc,2),hp=p(sc);{var pp=Oe=>{var Ne=tE(),Mt=p(Ne,!0);v(Ne),N(Ia=>{Ne.disabled=a(tt),D(Mt,Ia)},[()=>a(tt)?"Updating...":`Update ${E(a(te).entry.id)} -> ${a(te).latest.version}`]),U("click",Ne,()=>m(a(te).entry.id)),k(Oe,Ne)},mp=Oe=>{var Ne=nE();k(Oe,Ne)},bp=Oe=>{var Ne=sE(),Mt=p(Ne),Ia=p(Mt,!0);v(Mt);var gp=w(Mt,2);{var yp=$r=>{var Aa=rE(),_p=p(Aa);v(Aa),N(wp=>D(_p,`requires: ${wp??""}`),[()=>a(Ge).join(", ")]),k($r,Aa)};K(gp,$r=>{a(Ge).length>0&&$r(yp)})}v(Ne),N($r=>{Mt.disabled=a(xe)||a(Ge).length>0,ne(Mt,"title",$r),D(Ia,a(xe)?"Installing...":"Install")},[()=>a(Ge).length>0?`Missing required shards: ${a(Ge).join(", ")}`:void 0]),U("click",Mt,()=>R(a(te))),k(Oe,Ne)};K(hp,Oe=>{a(Ae)&&a(Ke)?Oe(pp):a(Ae)?Oe(mp,1):Oe(bp,-1)})}v(sc),v(Tn),N(Oe=>{D(lp,a(te).entry.label),tc=de($s,1,"store-card-badge svelte-1aafzt0",null,tc,{"badge-shard":a(Vn)==="shard","badge-app":a(Vn)==="app"}),D(cp,Oe),D(up,a(te).latest.version),D(dp,a(te).entry.description),D(fp,a(te).entry.author.name)},[()=>K3(a(te).entry.type)]),k(ee,Tn)}),v(Me);var Lt=w(Me,2);{var Gt=ee=>{var te=oE(),Ae=p(te);{var ze=Ke=>{var tt=aE(),Ge=w(fe(tt));{var Vn=Pt=>{var Fn=en("Add a registry URL above to get started.");k(Pt,Fn)},Tn=Pt=>{var Fn=en("No registries configured.");k(Pt,Fn)};K(Ge,Pt=>{d.isAdmin?Pt(Vn):Pt(Tn,-1)})}k(Ke,tt)},xe=Ke=>{var tt=en("No packages match the current filter.");k(Ke,tt)};K(Ae,Ke=>{d.env.registries.length===0?Ke(ze):Ke(xe,-1)})}v(te),k(ee,te)};K(Lt,ee=>{!d.state.ephemeral.loading&&a(b).length===0&&ee(Gt)})}v(C);var $l=w(C,2);{var np=ee=>{{let te=H(()=>({label:a(c).pkg.entry.label,version:a(c).pkg.latest.version,author:a(c).pkg.entry.author.name}));Do(ee,{mode:"install",get pkg(){return a(te)},get permissions(){return a(c).permissions},onConfirm:M,onCancel:z})}};K($l,ee=>{a(c)&&ee(np)})}var rp=w($l,2);{var sp=ee=>{{let te=H(()=>({label:a(u).pkg.entry.label,version:a(u).pkg.latest.version,author:a(u).pkg.entry.author.name}));Do(ee,{mode:"update",get pkg(){return a(te)},get fromVersion(){return a(u).fromVersion},get added(){return a(u).added},get removed(){return a(u).removed},onConfirm:I,onCancel:T})}};K(rp,ee=>{a(u)&&ee(sp)})}N(()=>{Z.disabled=d.state.ephemeral.loading,D(ae,d.state.ephemeral.loading?"Loading...":"Refresh")}),Se(L,()=>a(n),ee=>S(n,ee)),ps(V,()=>a(r),ee=>S(r,ee)),U("click",Z,P),k(e,j),ie()}ce(["click"]);function hh(e){return Qe.state.ephemeral.catalog.find(t=>t.entry.id===e)}function Ts(e){return Qe.state.ephemeral.installed.find(t=>t.id===e)}const uE={name:"install",summary:"Install a package by id from the catalog.",programmatic:!0,async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: sh3-store:install <package-id>",level:"warn",ts:Date.now()});return}const r=Ts(n);if(r){e.scrollback.push({kind:"status",text:`${n} is already installed (v${r.version})`,level:"warn",ts:Date.now()});return}const s=hh(n);if(!s){e.scrollback.push({kind:"status",text:`package "${n}" not found in catalog — try refreshing the store`,level:"error",ts:Date.now()});return}e.scrollback.push({kind:"status",text:`installing ${n} v${s.latest.version}...`,level:"info",ts:Date.now()});try{const i=await ya(s.latest,s.sourceRegistry),l=_a(s,s.latest);let o;s.latest.serverBundleUrl&&(o=await Ul(s.latest,s.sourceRegistry));const c={id:l.id,type:l.type,label:s.entry.label,version:l.version,contractVersion:l.contractVersion,sourceRegistry:l.sourceRegistry,installedAt:new Date().toISOString(),requiredShards:s.latest.requires?.map(f=>f.id)??[]},u=await Bl(c,i,o);if(!u.ok){let f=`install failed: ${u.error??"server error"}`;u.code==="missing-shards"&&u.missing&&(f=`install failed: missing required shard(s): ${u.missing.map(b=>b.id).join(", ")}`),e.scrollback.push({kind:"status",text:f,level:"error",ts:Date.now()});return}const d=await Xl(i,l);d.success||e.scrollback.push({kind:"status",text:`server ok but local hot-load failed: ${d.error}`,level:"warn",ts:Date.now()}),await Qe.refreshInstalled(),e.scrollback.push({kind:"status",text:`installed ${n} v${s.latest.version}`,level:"info",ts:Date.now()})}catch(i){e.scrollback.push({kind:"status",text:`install failed: ${i instanceof Error?i.message:String(i)}`,level:"error",ts:Date.now()})}}},dE={name:"uninstall",summary:"Uninstall an installed package by id.",programmatic:!0,async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: sh3-store:uninstall <package-id>",level:"warn",ts:Date.now()});return}if(!Ts(n)){e.scrollback.push({kind:"status",text:`package "${n}" is not installed`,level:"error",ts:Date.now()});return}e.scrollback.push({kind:"status",text:`uninstalling ${n}...`,level:"info",ts:Date.now()});try{await Qe.uninstallPackage(n),e.scrollback.push({kind:"status",text:`uninstalled ${n}`,level:"info",ts:Date.now()})}catch(s){e.scrollback.push({kind:"status",text:`uninstall failed: ${s instanceof Error?s.message:String(s)}`,level:"error",ts:Date.now()})}}},fE={name:"update",summary:"Update an installed package (sh3-store:update <id> [version]). When version is omitted, bumps to latest; with a version, installs that exact version (downgrade or same-version reinstall allowed).",programmatic:!0,async run(e,t){const n=t[0],r=t[1];if(!n){e.scrollback.push({kind:"status",text:"usage: sh3-store:update <package-id> [version]",level:"warn",ts:Date.now()});return}const s=Ts(n);if(!s){e.scrollback.push({kind:"status",text:`package "${n}" is not installed`,level:"error",ts:Date.now()});return}const i=s.version,l=r&&r===i?"reinstalling":r?`updating ${n} from v${i} to v${r}`:`updating ${n} from v${i} to latest`;e.scrollback.push({kind:"status",text:l.startsWith("reinstalling")?`reinstalling ${n} v${r}…`:`${l}…`,level:"info",ts:Date.now()});const o=async(c,u)=>(e.scrollback.push({kind:"status",text:`permission change required (added: ${c.join(", ")||"none"}; removed: ${u.join(", ")||"none"}) — open the store and use the Update button to review and apply.`,level:"warn",ts:Date.now()}),!1);try{await Qe.updatePackage(n,o,r);const c=r??Ts(n)?.version??"?";e.scrollback.push({kind:"status",text:r&&r===i?`reinstalled ${n} v${c}`:`updated ${n} v${c}`,level:"info",ts:Date.now()})}catch(c){e.scrollback.push({kind:"status",text:`update failed: ${c instanceof Error?c.message:String(c)}`,level:"error",ts:Date.now()})}}},vE={name:"appinfo",summary:"Show info about a package (installed status, version, catalog details).",programmatic:!0,async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: sh3-store:appinfo <package-id>",level:"warn",ts:Date.now()});return}const r=Ts(n),s=hh(n);if(!r&&!s){e.scrollback.push({kind:"status",text:`package "${n}" not found in catalog or installed list`,level:"error",ts:Date.now()});return}const i=[];i.push(`--- ${n} ---`),r?(i.push(" installed: yes"),i.push(` version: ${r.version}`),i.push(` type: ${r.type}`),i.push(` contract: v${r.contractVersion}`),i.push(` source: ${r.sourceRegistry}`),r.installedAt&&i.push(` installed: ${r.installedAt}`)):i.push(" installed: no"),s?(i.push(" catalog: yes"),i.push(` latest: ${s.latest.version}`),i.push(` label: ${s.entry.label}`),i.push(` author: ${s.entry.author.name}`),i.push(` desc: ${s.entry.description}`)):i.push(" catalog: no (not in any configured registry)"),e.scrollback.push({kind:"text",stream:"stdout",chunks:[i.join(`
12
- `)+`
13
- `],ts:Date.now()})}};function hE(e,t){const n=e.split(".").map(i=>parseInt(i,10)||0),r=t.split(".").map(i=>parseInt(i,10)||0),s=Math.max(n.length,r.length);for(let i=0;i<s;i++){const l=n[i]??0,o=r[i]??0;if(l>o)return!0;if(l<o)return!1}return!1}function pE(e,t){if(t===void 0)return e.latest;const n=e.entry.versions.find(r=>r.version===t);if(!n)throw new Error(`version ${t} not in catalog for ${e.entry.id}`);return n}function mE(e,t){const n=new Set(e),r=new Set(t);return{added:t.filter(s=>!n.has(s)),removed:e.filter(s=>!r.has(s))}}let Qe;const ph={manifest:{id:"sh3-store",label:"Package Store",version:on,views:[{id:"sh3-store:browse",label:"Store"}]},activate(e){const t=e.env({registries:[]}),n=e.state({ephemeral:{catalog:[],installed:[],updatable:{},loading:!1,error:null}});function r(){const f={};for(const h of n.ephemeral.installed){const b=n.ephemeral.catalog.find(x=>x.entry.id===h.id);b&&hE(b.latest.version,h.version)&&(f[h.id]=b)}n.ephemeral.updatable=f}async function s(){n.ephemeral.loading=!0,n.ephemeral.error=null;try{const f=await Uv(t.registries);n.ephemeral.catalog=f,r()}catch(f){n.ephemeral.error=f instanceof Error?f.message:String(f)}finally{n.ephemeral.loading=!1}}async function i(){try{const f=await g0();n.ephemeral.installed=f.map(h=>({id:h.id,type:h.type,version:h.version,sourceRegistry:h.sourceRegistry??"",contractVersion:h.contractVersion??"",installedAt:h.installedAt??"",permissions:[]})),r()}catch(f){console.warn("[sh3-store] Failed to list installed packages:",f instanceof Error?f.message:f);try{const h=await j3();n.ephemeral.installed=h,r()}catch{}}}async function l(f){const h=[...t.registries];h.includes(f)||(h.push(f),await e.envUpdate({registries:h}))}async function o(f){const h=t.registries.filter(b=>b!==f);await e.envUpdate({registries:h})}async function c(f,h,b){let x;if(b===void 0?x=n.ephemeral.updatable[f]:x=n.ephemeral.catalog.find(L=>L.entry.id===f),!x)return;const _=n.ephemeral.installed.find(L=>L.id===f);if(!_)return;const g=pE(x,b),E=await ya(g,x.sourceRegistry);let y;g.serverBundleUrl&&(y=await Ul(g,x.sourceRegistry));const m=_a(x,g),I=await Js(E),T=Gl(I);let R=[];try{const L=await R3(f);L?.permissions&&(R=L.permissions)}catch{}const{added:M,removed:z}=mE(R,T);if((M.length>0||z.length>0)&&h&&!await h(M,z))return;const P=await dh(f),j={..._,permissions:R},C={id:m.id,type:m.type,label:x.entry.label,version:m.version,contractVersion:m.contractVersion,sourceRegistry:m.sourceRegistry,installedAt:new Date().toISOString(),requiredShards:g.requires?.map(L=>L.id)??[]},O=await Bl(C,E,y);if(!O.ok){let L=O.error??"Server update failed";throw O.code==="missing-shards"&&O.missing&&(L=`missing required shard(s): ${O.missing.map(J=>J.id).join(", ")}`),new Error(L)}const q=await Xl(E,m,{loaded:I});if(!q.success){if(P)try{await uh(f,P,j)}catch(L){console.warn(`[sh3-store] Rollback failed for "${f}":`,L instanceof Error?L.message:L)}throw new Error(q.error??"Local install failed during update")}await i()}async function u(f){await b0(f),await M3(f),await i()}Qe={env:t,state:n,get isAdmin(){return e.isAdmin},refreshCatalog:s,refreshInstalled:i,updatePackage:c,uninstallPackage:u,addRegistry:l,removeRegistry:o};const d={mount(f,h){const b=qe(cE,{target:f});return{unmount(){Xe(b)}}}};e.registerView("sh3-store:browse",d),e.registerVerb(uE),e.registerVerb(dE),e.registerVerb(vE),e.registerVerb(fE),i()},autostart(){Qe.refreshCatalog()}};function bE(e,t,n,r){return new Promise(s=>{const i={mode:"update",pkg:{label:e.label,version:t},fromVersion:e.version,added:n,removed:r,onConfirm:()=>{l.close(),s(!0)},onCancel:()=>{l.close(),s(!1)}},l=Wt.open(Do,i)})}var gE=A('<p class="error svelte-1tiy4hy"> </p>'),yE=A('<div class="app-update-modal svelte-1tiy4hy"><h2 class="svelte-1tiy4hy">Update available</h2> <p class="svelte-1tiy4hy"><strong> </strong> can be updated from <code class="svelte-1tiy4hy"> </code> to <code class="svelte-1tiy4hy"> </code>.</p> <p class="hint svelte-1tiy4hy">Package id: <code class="svelte-1tiy4hy"> </code></p> <!> <div class="actions svelte-1tiy4hy"><button type="button" class="primary svelte-1tiy4hy"> </button> <button type="button" class="svelte-1tiy4hy">Cancel</button></div></div>');function _E(e,t){se(t,!0);let n=F(!1),r=F(null);async function s(){if(!a(n)){S(n,!0),S(r,null);try{await t.onConfirm(),t.close()}catch(R){S(r,R.message,!0)}finally{S(n,!1)}}}var i=yE(),l=w(p(i),2),o=p(l),c=p(o,!0);v(o);var u=w(o,2),d=p(u);v(u);var f=w(u,2),h=p(f);v(f),Et(),v(l);var b=w(l,2),x=w(p(b)),_=p(x,!0);v(x),v(b);var g=w(b,2);{var E=R=>{var M=gE(),z=p(M,!0);v(M),N(()=>D(z,a(r))),k(R,M)};K(g,R=>{a(r)&&R(E)})}var y=w(g,2),m=p(y),I=p(m,!0);v(m);var T=w(m,2);v(y),v(i),N(()=>{D(c,t.appLabel),D(d,`v${t.fromVersion??""}`),D(h,`v${t.toVersion??""}`),D(_,t.appId),m.disabled=a(n),D(I,a(n)?"Updating…":"Update"),T.disabled=a(n)}),U("click",m,s),U("click",T,function(...R){t.close?.apply(this,R)}),k(e,i),ie()}ce(["click"]);var wE=A('<p class="error svelte-86mxbl"> </p>'),kE=A(`<div class="uninstall-dialog svelte-86mxbl"><h2 class="svelte-86mxbl"> </h2> <p class="hint svelte-86mxbl">Package id: <code class="svelte-86mxbl"> </code> · current version: <code class="svelte-86mxbl"> </code></p> <p class="svelte-86mxbl">The package will be removed from this server. App data stored in your
14
- browser will remain until you clear it manually.</p> <!> <div class="actions svelte-86mxbl"><button type="button" class="danger svelte-86mxbl"> </button> <button type="button" class="svelte-86mxbl">Cancel</button></div></div>`);function xE(e,t){se(t,!0);let n=F(!1),r=F(null);async function s(){if(!a(n)){S(n,!0),S(r,null);try{await t.onConfirm(),t.close()}catch(m){S(r,m.message,!0)}finally{S(n,!1)}}}var i=kE(),l=p(i),o=p(l);v(l);var c=w(l,2),u=w(p(c)),d=p(u,!0);v(u);var f=w(u,2),h=p(f);v(f),v(c);var b=w(c,4);{var x=m=>{var I=wE(),T=p(I,!0);v(I),N(()=>D(T,a(r))),k(m,I)};K(b,m=>{a(r)&&m(x)})}var _=w(b,2),g=p(_),E=p(g,!0);v(g);var y=w(g,2);v(_),v(i),N(()=>{D(o,`Uninstall ${t.appLabel??""}?`),D(d,t.appId),D(h,`v${t.version??""}`),g.disabled=a(n),D(E,a(n)?"Uninstalling…":"Uninstall"),y.disabled=a(n)}),U("click",g,s),U("click",y,function(...m){t.close?.apply(this,m)}),k(e,i),ie()}ce(["click"]);var SE=A('<span class="badge built-in svelte-1w44jyn">built-in</span>'),EE=A('<section class="description svelte-1w44jyn"><span class="label svelte-1w44jyn">Description</span> <p class="svelte-1w44jyn"> </p></section>'),IE=A('<p class="row svelte-1w44jyn"><span class="label svelte-1w44jyn">Author</span> <span> </span></p>'),AE=A('<li><code class="svelte-1w44jyn"> </code></li>'),CE=A('<section class="row svelte-1w44jyn"><span class="label svelte-1w44jyn">Required shards</span> <ul class="chips svelte-1w44jyn"></ul></section>'),TE=A('<li><code class="svelte-1w44jyn"> </code></li>'),RE=A('<section class="row svelte-1w44jyn"><span class="label svelte-1w44jyn">Permissions</span> <ul class="chips svelte-1w44jyn"></ul></section>'),LE=A('<p class="row svelte-1w44jyn"><span class="label svelte-1w44jyn">Installed</span><span> </span></p>'),PE=A('<section class="installed svelte-1w44jyn"><p class="row svelte-1w44jyn"><span class="label svelte-1w44jyn">Source registry</span><code class="svelte-1w44jyn"> </code></p> <!> <p class="row svelte-1w44jyn"><span class="label svelte-1w44jyn">Contract</span><code class="svelte-1w44jyn"> </code></p></section>'),ME=A('<div class="app-info-modal svelte-1w44jyn"><header class="svelte-1w44jyn"><h2 class="svelte-1w44jyn"> </h2> <code class="id svelte-1w44jyn"> </code></header> <p class="version svelte-1w44jyn"><span class="label svelte-1w44jyn">Version</span> <code class="svelte-1w44jyn"> </code> <!></p> <!> <!> <!> <!> <!> <div class="actions svelte-1w44jyn"><button type="button" class="svelte-1w44jyn">Close</button></div></div>');function jE(e,t){se(t,!0);let n=H(()=>{if(!t.installed)return null;const j=new Date(t.installed.installedAt);return isNaN(j.getTime())?t.installed.installedAt:j.toLocaleString()});var r=ME(),s=p(r),i=p(s),l=p(i,!0);v(i);var o=w(i,2),c=p(o,!0);v(o),v(s);var u=w(s,2),d=w(p(u),2),f=p(d);v(d);var h=w(d,2);{var b=j=>{var C=SE();k(j,C)};K(h,j=>{t.installed||j(b)})}v(u);var x=w(u,2);{var _=j=>{var C=EE(),O=w(p(C),2),q=p(O,!0);v(O),v(C),N(()=>D(q,t.catalogEntry.description)),k(j,C)};K(x,j=>{t.catalogEntry?.description&&j(_)})}var g=w(x,2);{var E=j=>{var C=IE(),O=w(p(C),2),q=p(O,!0);v(O),v(C),N(()=>D(q,t.catalogEntry.author.name)),k(j,C)};K(g,j=>{t.catalogEntry?.author?.name&&j(E)})}var y=w(g,2);{var m=j=>{var C=CE(),O=w(p(C),2);pe(O,21,()=>t.manifest.requiredShards,dt,(q,L)=>{var V=AE(),J=p(V),G=p(J,!0);v(J),v(V),N(()=>D(G,a(L))),k(q,V)}),v(O),v(C),k(j,C)};K(y,j=>{t.manifest.requiredShards.length>0&&j(m)})}var I=w(y,2);{var T=j=>{var C=RE(),O=w(p(C),2);pe(O,21,()=>t.manifest.permissions,dt,(q,L)=>{var V=TE(),J=p(V),G=p(J,!0);v(J),v(V),N(()=>D(G,a(L))),k(q,V)}),v(O),v(C),k(j,C)};K(I,j=>{t.manifest.permissions&&t.manifest.permissions.length>0&&j(T)})}var R=w(I,2);{var M=j=>{var C=PE(),O=p(C),q=w(p(O)),L=p(q,!0);v(q),v(O);var V=w(O,2);{var J=ae=>{var X=LE(),B=w(p(X)),W=p(B,!0);v(B),v(X),N(()=>D(W,a(n))),k(ae,X)};K(V,ae=>{a(n)&&ae(J)})}var G=w(V,2),$=w(p(G)),Z=p($);v($),v(G),v(C),N(()=>{D(L,t.installed.sourceRegistry),D(Z,`v${t.installed.contractVersion??""}`)}),k(j,C)};K(R,j=>{t.installed&&j(M)})}var z=w(R,2),P=p(z);v(z),v(r),N(()=>{D(l,t.manifest.label),D(c,t.manifest.id),D(f,`v${t.manifest.version??""}`)}),U("click",P,function(...j){t.close?.apply(this,j)}),k(e,r),ie()}ce(["click"]);const cu=typeof globalThis.__TAURI_INTERNALS__<"u";function DE(e){return!e.admin||e.builtin}function uu(e){return e.admin?e.builtin?" · built-in":"":" · admin only"}function Pn(){const e=Ys();return!e||e.type!=="app"?null:e.ref}function Qs(e){return Yr().find(t=>t.id===e)}function zE(e){return!Qe.state.ephemeral.installed.some(t=>t.id===e)}function Wa(e){return{admin:bt(),builtin:zE(e)}}function OE(e){const t=Pn();if(!t)return;const n=Qs(t.appId);if(!n)return;const r=Qe.state.ephemeral.installed.find(l=>l.id===t.appId)??null,s=Qe.state.ephemeral.catalog.find(l=>l.entry.id===t.appId)?.entry??null,i={manifest:n,installed:r,catalogEntry:s};Wt.open(jE,i)}async function NE(e){const t=Pn();if(!t)return;const{appId:n}=t,r=vn.notify("Checking for updates…",{duration:1/0});try{await Qe.refreshCatalog()}finally{r.close()}const s=Qe.state.ephemeral.updatable[n],i=Qe.state.ephemeral.installed.find(c=>c.id===n),l=Qs(n)?.label??n;if(!s||!i){vn.notify(`${l} is up to date`,{level:"info",duration:2500});return}const o={appId:n,appLabel:l,fromVersion:i.version,toVersion:s.latest.version,onConfirm:async()=>{try{await Qe.updatePackage(n,(c,u)=>bE({label:i.id,version:i.version},s.latest.version,c,u)),vn.notify(`Updated to v${s.latest.version}`,{level:"success"})}catch(c){throw vn.notify(`Update failed: ${c.message}`,{level:"error",duration:5e3}),c}}};Wt.open(_E,o)}function qE(e){const t=Pn();if(!t)return;const n=Qs(t.appId);n&&ga({kind:"app",appId:t.appId,activateShards:n.requiredShards??[]})}async function BE(e){const t=pl();if(!t)return;const n=t.id,r=t.requiredShards??[];await Xs(),ga({kind:"app",appId:n,activateShards:r})}function VE(e){const t=Pn();if(!t)return;const{appId:n}=t,r=Qe.state.ephemeral.installed.find(l=>l.id===n);if(!r)return;const s=Qs(n)?.label??n,i={appId:n,appLabel:s,version:r.version,onConfirm:async()=>{try{await Qe.uninstallPackage(n),vn.notify(`Uninstalled ${s}`,{level:"success"})}catch(l){throw vn.notify(`Uninstall failed: ${l.message}`,{level:"error",duration:5e3}),l}}};Wt.open(xE,i)}function FE(e){const t=()=>{const o=Pn();if(!o)return"Info…";const c=Qs(o.appId);return c?`Info — ${c.label} v${c.version}`:`Info — ${o.appId}`},n=()=>{const o=Pn();return o?`Check for updates${uu(Wa(o.appId))}`:"Check for updates"},r=()=>{const o=Pn();return o?`Uninstall…${uu(Wa(o.appId))}`:"Uninstall…"},s=()=>{const o=Pn();return o?DE(Wa(o.appId)):!0},l=[{id:"app.info",label:t,scope:{element:"app"},contextItem:!0,group:"info",run:OE},{id:"app.checkUpdate",label:n,scope:{element:"app"},contextItem:!0,group:"update",disabled:s,run:NE},{id:"app.uninstall",label:r,scope:{element:"app"},contextItem:!0,group:"uninstall",disabled:s,run:VE},{id:"app.popout",label:"Open in standalone view",scope:{element:"app"},contextItem:!0,paletteItem:!1,group:"window",disabled:()=>!cu,run:qE},{id:"app.popoutCurrent",label:"Pop out current app",scope:"app",contextItem:!1,paletteItem:!0,disabled:()=>!cu||nt.id==null,run:BE}].map(o=>e.actions.register(o));return()=>l.forEach(o=>o())}function UE(){return{id:"sh3.float.toggleMaximize",label:"Toggle Float Maximize",scope:["home","app"],paletteItem:!0,contextItem:!1,defaultShortcut:"Ctrl+Shift+M",disabled:()=>Ce.list().length===0,run(){const e=Ce.list().at(-1);e&&Ce.toggleMaximize(e.id)}}}const mh={manifest:{id:"__sh3core__",label:"SH3 Core",version:on,views:[{id:"sh3core:home",label:"Home"},{id:"sh3:keys-and-peers",label:"Keys & Peers"}]},activate(e){const t=e.state({user:{bindings:{}}});Yw(t.user),e.actions.register({id:"sh3.palette.open",label:"Command Palette…",scope:["home","app"],defaultShortcut:"Mod+K",contextItem:!1,paletteItem:!1,run(i){ua()}}),e.actions.register(UE()),e.actions.register({id:"sh3.app.reset-layout",label:"Reset Current Layout",scope:["app"],paletteItem:!0,contextItem:!1,run(){Wt.open(ch,{title:"Reset layout?",body:"This discards the current arrangement of the active preset and rebuilds it from the app default. Floats will be removed.",confirmLabel:"Reset",confirmTone:"danger",onConfirm:()=>R1()})}});const n={mount(i,l){const o=qe(v3,{target:i});return{unmount(){Xe(o)}}}},r={mount(i,l){const o=qe(k3,{target:i});return{unmount(){Xe(o)}}}};e.registerView("sh3core:home",n),e.registerView("sh3:keys-and-peers",r),FE(e),e.actions.register({id:"sh3.app.launch",label:"Launch app",scope:["home","app"],submenu:!0,paletteItem:!0});const s=new Map;Hr(()=>{ke(()=>{const i=new Set;for(const[l,o]of Dn){if(i.add(l),s.has(l))continue;const c=e.actions.register({id:`sh3.app.launch:${l}`,label:o.manifest.label,scope:["home","app"],submenuOf:"sh3.app.launch",run(){En(l)}});s.set(l,c)}for(const l of[...s.keys()])i.has(l)||(s.get(l)(),s.delete(l))})})},autostart(){}},HE={id:"shell",label:"Sh3",version:on,views:[{id:"shell:terminal",label:"Sh3",standalone:!0}],permissions:[bs]};class KE{#e;get history(){return a(this.#e)}set history(t){S(this.#e,t,!0)}#t;get locked(){return a(this.#t)}set locked(t){S(this.#t,t,!0)}constructor(t){this.#e=F(le([])),this.#t=F(!1),this.modeId=t,this.scrollback=new zk}}let Jn=null;function WE(e){Jn=e}function YE(){Jn=null}function du(e){return Jn?.workspace.buffers[e]}function GE(e,t){Jn&&(Jn.workspace.buffers={...Jn.workspace.buffers,[e]:t})}function XE(){Jn={ephemeral:{},session:{},workspace:{buffers:{}},user:{}}}XE();const JE=200;class ZE{constructor(){this.timers=new Map}hydrate(t){const n=du(t.modeId);if(!n)return;const r=[];for(const s of n.entries)r.push(this.toLive(s));t.scrollback.restore(r),t.history=[...n.history]}flush(t,n){const r=this.timers.get(t.modeId);r&&clearTimeout(r);const s=setTimeout(()=>{this.timers.delete(t.modeId),this.write(t,n)},JE);this.timers.set(t.modeId,s)}forceFlush(t,n){const r=this.timers.get(t.modeId);r&&(clearTimeout(r),this.timers.delete(t.modeId)),this.write(t,n)}readLastSeq(t){return du(t)?.lastSeq}write(t,n){const s={entries:t.scrollback.entries.slice(-500).map(i=>this.toPersisted(i)),history:[...t.history],...n!==void 0?{lastSeq:n}:{}};GE(t.modeId,s)}toPersisted(t){if(t.kind==="rich"){const n=t.componentKey;if(!n)return{id:t.id,kind:"status",text:"<rich entry: not restorable (no componentKey)>",level:"info",ts:t.ts};try{const r=JSON.stringify(t.props);return{id:t.id,kind:"rich",componentKey:n,props:JSON.parse(r),ts:t.ts}}catch{return{id:t.id,kind:"status",text:`<rich entry: ${n} not restorable>`,level:"info",ts:t.ts}}}return t.kind==="prompt"?{id:t.id,kind:"prompt",cwd:t.cwd,line:t.line,ts:t.ts}:t.kind==="text"?{id:t.id,kind:"text",stream:t.stream,chunks:[...t.chunks],ts:t.ts}:{id:t.id,kind:"status",text:t.text,level:t.level,ts:t.ts}}toLive(t){return t.kind==="rich"?{id:t.id,kind:"rich",componentKey:t.componentKey,component:void 0,props:t.props,ts:t.ts}:t.kind==="prompt"?{id:t.id,kind:"prompt",cwd:t.cwd,line:t.line,ts:t.ts}:t.kind==="text"?{id:t.id,kind:"text",stream:t.stream,chunks:[...t.chunks],ts:t.ts}:{id:t.id,kind:"status",text:t.text,level:t.level,ts:t.ts}}}function QE(e,t){for(const n of t)switch(n.kind){case"prompt":e.scrollback.push({kind:"prompt",cwd:n.cwd,line:n.line,ts:n.ts}),e.locked=!0;break;case"stdout":e.scrollback.push({kind:"text",stream:"stdout",chunks:[n.data],ts:n.ts});break;case"stderr":e.scrollback.push({kind:"text",stream:"stderr",chunks:[n.data],ts:n.ts});break;case"exit":(n.signal||n.code!==null&&n.code!==0)&&e.scrollback.push({kind:"status",text:n.signal?`shell: process exited (${n.signal})`:`shell: process exited (${n.code})`,level:"error",ts:n.ts}),e.locked=!1;break;case"status":e.scrollback.push({kind:"status",text:n.text,level:n.level,ts:n.ts});break}}function $E(e,t){if(!e||!t)return e;if(e===t)return"~";if(e.length>t.length&&e.startsWith(t)){const n=e.charAt(t.length);if(n==="/"||n==="\\")return`~/${e.slice(t.length+1).replace(/\\/g,"/")}`}return e}function eI(e){const{scrollTop:t,scrollHeight:n,clientHeight:r,threshold:s}=e;return n-t-r<=s}var tI=A("<pre> </pre>");function nI(e,t){se(t,!0);const n=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,r=H(()=>t.chunks.join("").replace(n,""));var s=tI();let i;var l=p(s,!0);v(s),N(()=>{i=de(s,1,"shell-text svelte-ypr8s",null,i,{stderr:t.stream==="stderr"}),D(l,a(r))}),k(e,s),ie()}var rI=A('<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 sI(e,t){var n=rI(),r=p(n),s=p(r,!0);v(r);var i=w(r,4),l=p(i,!0);v(i),v(n),N(()=>{D(s,t.cwd),D(l,t.line)}),k(e,n)}var iI=A("<div> </div>");function fu(e,t){var n=iI();let r;var s=p(n,!0);v(n),N(()=>{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)}),k(e,n)}var aI=A('<div class="shell-rich svelte-1rnhl05"><!></div>');function oI(e,t){var n=aI(),r=p(n);Vs(r,()=>t.component,(s,i)=>{i(s,Us(()=>t.componentProps))}),v(n),k(e,n)}const zo=new Map;function Cn(e,t){const n=zo.get(e);if(n&&n!==t){console.warn(`[shell-shard/rich-registry] duplicate registration for key "${e}" — keeping first`);return}zo.set(e,t)}function lI(e){return zo.get(e)??null}var cI=A('<div class="shell-scrollback svelte-isy3jt"><div class="content"></div></div>');function uI(e,t){se(t,!0);let n=F(null),r=F(null),s=!1;const i=4;function l(){a(n)&&eI({scrollTop:a(n).scrollTop,scrollHeight:a(n).scrollHeight,clientHeight:a(n).clientHeight,threshold:i})&&(s=!1)}ke(()=>{if(!a(n))return;const u=()=>{s=!0};return a(n).addEventListener("wheel",u,{passive:!0}),a(n).addEventListener("touchstart",u,{passive:!0}),a(n).addEventListener("keydown",u),()=>{a(n)?.removeEventListener("wheel",u),a(n)?.removeEventListener("touchstart",u),a(n)?.removeEventListener("keydown",u)}}),ke(()=>{if(!a(r)||!a(n))return;const u=new ResizeObserver(()=>{a(n)&&!s&&(a(n).scrollTop=a(n).scrollHeight)});return u.observe(a(r)),()=>u.disconnect()});var o=cI(),c=p(o);pe(c,21,()=>t.scrollback.entries,u=>u.id,(u,d)=>{var f=Be(),h=fe(f);{var b=E=>{nI(E,{get stream(){return a(d).stream},get chunks(){return a(d).chunks}})},x=E=>{{let y=H(()=>t.showPromptCwd?a(d).cwd:"");sI(E,{get cwd(){return a(y)},get line(){return a(d).line}})}},_=E=>{fu(E,{get text(){return a(d).text},get level(){return a(d).level}})},g=E=>{const y=H(()=>a(d).component??(a(d).componentKey?lI(a(d).componentKey):null));var m=Be(),I=fe(m);{var T=M=>{oI(M,{get component(){return a(y)},get componentProps(){return a(d).props}})},R=M=>{{let z=H(()=>`<rich entry: ${a(d).componentKey??"unknown"} not registered>`);fu(M,{get text(){return a(z)},level:"info"})}};K(I,M=>{a(y)?M(T):M(R,-1)})}k(E,m)};K(h,E=>{a(d).kind==="text"?E(b):a(d).kind==="prompt"?E(x,1):a(d).kind==="status"?E(_,2):a(d).kind==="rich"&&E(g,3)})}k(u,f)}),v(c),De(c,u=>S(r,u),()=>a(r)),v(o),De(o,u=>S(n,u),()=>a(n)),Re("scroll",o,l),k(e,o),ie()}var dI=A('<span class="sh3-cmdline__prefix svelte-ngn09j"><!></span>'),fI=A('<div data-sh3-passthrough-modifiers=""><!> <input type="text" class="sh3-cmdline__decoy svelte-ngn09j" tabindex="-1" aria-hidden="true"/> <input type="password" class="sh3-cmdline__decoy svelte-ngn09j" tabindex="-1" aria-hidden="true"/> <input type="search" spellcheck="false" autocomplete="off" autocapitalize="off" aria-autocomplete="none" data-1p-ignore="" data-lpignore="true" class="sh3-cmdline__input svelte-ngn09j"/></div>');function vI(e,t){se(t,!0);let n=Q(t,"value",15,""),r=Q(t,"disabled",3,!1),s=F(null);function i(h){return h.selectionStart!==null&&h.selectionEnd!==null&&h.selectionStart!==h.selectionEnd}function l(h){(h.ctrlKey||h.metaKey)&&!h.altKey&&h.key==="c"&&a(s)&&i(a(s))||t.onkeydown?.(h)}ke(()=>{!r()&&a(s)&&a(s).focus()});var o=fI();let c;var u=p(o);{var d=h=>{var b=dI(),x=p(b);Ht(x,()=>t.prefix),v(b),k(h,b)};K(u,h=>{t.prefix&&h(d)})}var f=w(u,6);ge(f),De(f,h=>S(s,h),()=>a(s)),v(o),N(()=>{c=de(o,1,"sh3-cmdline svelte-ngn09j",null,c,{"sh3-cmdline--disabled":r()}),ne(f,"name",t.name),f.disabled=r()}),U("keydown",f,l),Re("focus",f,function(...h){t.onfocus?.apply(this,h)}),Se(f,n),k(e,o),ie()}ce(["keydown"]);var hI=A('<span class="shell-input-cwd svelte-1dfv2gk"> </span>'),pI=A('<!> <span class="shell-input-arrow svelte-1dfv2gk">❯</span>',1),mI=A('<div class="shell-input-row svelte-1dfv2gk"><!></div>');function bI(e,t){se(t,!0);let n=Q(t,"showCwd",3,!0),r=F(""),s=F(null),i=F("");function l(){if(t.locked)return;const h=a(r);h.trim()&&(S(r,""),S(s,null),t.onSubmit(h))}function o(){t.history.length!==0&&(a(s)===null?(S(i,a(r),!0),S(s,t.history.length-1)):a(s)>0&&Mr(s,-1),S(r,t.history[a(s)]??"",!0))}function c(){a(s)!==null&&(a(s)<t.history.length-1?(Mr(s),S(r,t.history[a(s)],!0)):(S(s,null),S(r,a(i),!0)))}function u(h){if(t.locked){if(h.ctrlKey&&h.key==="c"){h.preventDefault(),t.session.send({t:"signal",sig:"SIGINT"});return}if(h.ctrlKey&&h.key==="d"){h.preventDefault(),t.session.send({t:"signal",sig:"EOF"});return}h.preventDefault();return}h.key==="Enter"?(h.preventDefault(),l()):h.key==="ArrowUp"?(h.preventDefault(),o()):h.key==="ArrowDown"?(h.preventDefault(),c()):h.ctrlKey&&h.key==="c"?(h.preventDefault(),S(r,""),S(s,null)):h.ctrlKey&&h.key==="l"&&(h.preventDefault(),S(r,"clear"),l())}var d=mI(),f=p(d);vI(f,{get disabled(){return t.locked},name:"shell-cmdline",onkeydown:u,onfocus:()=>t.onFocus?.(),get value(){return a(r)},set value(b){S(r,b,!0)},prefix:b=>{var x=pI(),_=fe(x);{var g=E=>{var y=hI(),m=p(y,!0);v(y),N(()=>D(m,t.cwd)),k(E,y)};K(_,E=>{n()&&E(g)})}Et(2),k(b,x)},$$slots:{prefix:!0}}),v(d),k(e,d),ie()}class gI{list(){return El()}get(t){return Ri(t)}resolve(t,n={}){const r=t.trim();if(!r)return{kind:"forward",line:t};if(r.startsWith("$ "))return{kind:"forward",line:r.slice(2)};if(r==="$")return{kind:"forward",line:""};const s=r.indexOf(" "),i=s===-1?r:r.slice(0,s),l=s===-1?"":r.slice(s+1),o=Ri(i);if(!o)return{kind:"forward",line:t};if(n.globalOnly&&!o.globalVerb)return{kind:"forward",line:t};const c=l.length?l.split(/\s+/):[];return{kind:"local",verb:o,args:c,line:t}}}class yI{#e=new Map;register(t){this.#e.set(t.id,t)}get(t){return this.#e.get(t)}list(t){const n=[];for(const r of this.#e.values())r.requiresRole&&r.requiresRole!==t||n.push(r);return n}}const _I={id:"bash",label:"Bash",requiresRole:"admin",transport:"ws",autoRelocate:!1,showCwd:!0},wI={id:"sh3",label:"SH3",transport:"none",autoRelocate:!0,showCwd:!1};function kI(e){e.register(_I),e.register(wI)}function bh(e){return`sh3.shell.lastMode.${e}`}function gh(e){try{return globalThis.localStorage?.getItem(bh(e))??null}catch{return null}}function vu(e,t){try{globalThis.localStorage?.setItem(bh(e),t)}catch{}}function xI(e,t,n){const r=gh(t);if(r){const i=e.get(r);if(i&&(!i.requiresRole||i.requiresRole===n))return i}const s=n==="admin"?"bash":"sh3";return e.get(s)}function bi(e,t){return e.entries.find(n=>n.kind==="rich"&&n.id===t)}function SI(e,t){return{update(n){const r=bi(e,t);r&&Object.assign(r.props,n)}}}function hu(e){return e.entries[e.entries.length-1].id}function pu(e){const t=e.scrollback;return{text(n,r){t.push({kind:"text",stream:n,chunks:[r],ts:Date.now()})},status(n,r){t.push({kind:"status",text:r,level:n,ts:Date.now()})},rich(n,r){return t.push({kind:"rich",component:n,props:{...r},ts:Date.now()}),SI(t,hu(t))},stream(n,r){t.push({kind:"rich",component:n,props:{...r,__streamState:"streaming"},ts:Date.now()});const s=hu(t);return{append(i){const l=bi(t,s);l&&Object.assign(l.props,i)},complete(){const i=bi(t,s);i&&(i.props.__streamState="complete")},error(i){const l=bi(t,s);l&&(l.props.__streamState="error"),t.push({kind:"status",text:`mode: ${i?.message??String(i)}`,level:"error",ts:Date.now()})}}},busy(n){const r=e.busy(n);let s=!1;return{clear(){s||(s=!0,r())}}},invoke(n,r){return e.invoke(n,r)}}}function EI(e){let t=null;async function n(s,i){const l=e.mode();if(s===l.id)throw new Error(`invoke: cannot invoke own mode '${s}'`);if(s==="sh3"){const u=e.resolver.resolve(i,{globalOnly:!1});if(u.kind==="forward"){const d=i.trim().split(/\s+/)[0]??"";throw new Error(`invoke: unknown sh3 verb '${d}'`)}await u.verb.run({sh3:e.sh3,scrollback:e.buffer().scrollback,session:e.session,cwd:e.cwd(),dispatch:r,fs:e.fs},u.args);return}if(s==="bash"){if(e.role()!=="admin")throw new Error("invoke: 'bash' requires admin role");e.session.send({t:"submit",line:i,mode:"bash"});return}const o=e.customMode?.(s)??null;if(!o)throw new Error(`invoke: unknown mode '${s}'`);if(o.requiresRole&&o.requiresRole!==e.role())throw new Error(`invoke: mode '${s}' requires ${o.requiresRole} role`);if(o.runsOn==="server")throw new Error("invoke: server-side modes are not yet supported");const c=pu({scrollback:e.buffer().scrollback,busy:e.busy,invoke:n});await o.dispatch({line:i,cwd:e.cwd(),signal:t?.signal??new AbortController().signal},c)}async function r(s){t?.abort();const i=new AbortController;t=i;const l=e.mode();if(e.buffer().history.push(s),l.transport==="none"&&s.trimStart().startsWith("$ ")){e.buffer().scrollback.push({kind:"prompt",cwd:e.cwd(),line:s,ts:Date.now()}),e.buffer().scrollback.push({kind:"status",text:"shell: server shell not available in user mode",level:"error",ts:Date.now()});return}const o=e.resolver.resolve(s,{globalOnly:l.id!=="sh3"});if(o.kind==="local"){e.session.send({t:"history-log",line:s,mode:l.id}),e.buffer().scrollback.push({kind:"prompt",cwd:e.cwd(),line:s,ts:Date.now()});try{await o.verb.run({sh3:e.sh3,scrollback:e.buffer().scrollback,session:e.session,cwd:e.cwd(),dispatch:r,fs:e.fs},o.args)}catch(u){e.buffer().scrollback.push({kind:"status",text:`shell: verb ${o.verb.name} threw — ${u.message}`,level:"error",ts:Date.now()})}return}if(l.transport==="ws"){e.session.send({t:"submit",line:o.line,mode:l.id});return}if(l.transport==="custom"){e.buffer().scrollback.push({kind:"prompt",cwd:e.cwd(),line:o.line,ts:Date.now()});const u=e.customMode?.(l.id)??null;if(!u){e.buffer().scrollback.push({kind:"status",text:`mode '${l.id}' is no longer available`,level:"error",ts:Date.now()});return}if(u.runsOn==="server"){e.buffer().scrollback.push({kind:"status",text:"server-side modes are not yet supported (planned for a future release)",level:"error",ts:Date.now()});return}const d=pu({scrollback:e.buffer().scrollback,busy:e.busy,invoke:n}),f=e.busy();try{await u.dispatch({line:o.line,cwd:e.cwd(),signal:i.signal},d)}catch(h){h?.name==="AbortError"?e.buffer().scrollback.push({kind:"status",text:"mode dispatch aborted",level:"info",ts:Date.now()}):e.buffer().scrollback.push({kind:"status",text:`mode '${l.id}' threw — ${h?.message??String(h)}`,level:"error",ts:Date.now()})}finally{f()}return}const c=o.line.split(/\s+/)[0]??"";e.buffer().scrollback.push({kind:"prompt",cwd:e.cwd(),line:o.line,ts:Date.now()}),e.buffer().scrollback.push({kind:"status",text:`unknown verb: ${c}`,level:"error",ts:Date.now()})}return{dispatch:r,cancel:()=>t?.abort()}}async function II(e,t){if(!e.modeAutoRelocate)return{kind:"noop"};if(e.focusLocked)return{kind:"noop"};if(e.focusedShardId===null)return{kind:"noop"};if(e.focusedShardId===e.currentShardId)return{kind:"noop"};const n=e.focusedShardId;try{if((await t.stat(n)).kind!=="dir")return{kind:"noop"}}catch{return{kind:"noop"}}return{kind:"relocate",path:n}}var AI=A('<div class="toolbar svelte-gnowwz"><div class="toolbar-slots svelte-gnowwz"></div></div>');function CI(e,t){se(t,!0);let n=Q(t,"slotProps",19,()=>({})),r=H(()=>t.registry.list(t.ctx));var s=AI(),i=p(s);pe(i,21,()=>a(r),l=>l.id,(l,o)=>{const c=H(()=>a(o).component);var u=Be(),d=fe(u);Vs(d,()=>a(c),(f,h)=>{h(f,Us(()=>n()[a(o).id]??{}))}),k(l,u)}),v(i),v(s),k(e,s),ie()}class TI{#e=[];register(t){this.#e=this.#e.filter(n=>n.id!==t.id).concat(t)}list(t){return this.#e.filter(n=>n.visible(t)).sort((n,r)=>n.order-r.order)}}var RI=A('<span class="mode-label svelte-1i4cqlj"> </span>');function LI(e,t){se(t,!0);let n=H(()=>t.modes.map(o=>({value:o.id,label:o.label})));var r=Be(),s=fe(r);{var i=o=>{Yv(o,{get options(){return a(n)},get value(){return t.mode.id},size:"sm",onchange:c=>t.onSelect(c)})},l=o=>{var c=RI(),u=p(c,!0);v(c),N(()=>D(u,t.mode.label)),k(o,c)};K(s,o=>{t.modes.length>=2?o(i):t.modes.length===1&&o(l,1)})}k(e,r),ie()}var PI=A('<button class="focus-lock-btn svelte-1q6gbap"> </button>');function MI(e,t){var n=PI(),r=p(n,!0);v(n),N(()=>{ne(n,"title",t.locked?"Unlock focus":"Lock focus"),D(r,t.locked?"🔒":"🔓")}),U("click",n,function(...s){t.onToggle?.apply(this,s)}),k(e,n)}ce(["click"]);var jI=A('<span class="target-shard svelte-1nn2m6x" title="Target shard"> </span>');function DI(e,t){var n=jI(),r=p(n);v(n),N(()=>D(r,`→ ${t.target??"—"??""}`)),k(e,n)}var zI=A('<span class="label"> </span>'),OI=A('<div class="busy svelte-7wyurd" role="status" aria-live="polite"><span class="spinner svelte-7wyurd" aria-hidden="true"></span> <!></div>');function NI(e,t){var n=Be(),r=fe(n);{var s=i=>{var l=OI(),o=w(p(l),2);{var c=u=>{var d=zI(),f=p(d,!0);v(d),N(()=>D(f,t.label)),k(u,d)};K(o,u=>{t.label&&u(c)})}v(l),k(i,l)};K(r,i=>{t.active&&i(s)})}k(e,n)}var qI=A('<div class="shell-terminal svelte-13komre"><!> <!> <!></div>');function BI(e,t){se(t,!0);const n=_e(()=>new ZE),r=new Map;function s(B){let W=r.get(B);return W||(W=new KE(B),n.hydrate(W),r.set(B,W)),W}const i=new gI,l=new Iv,o=new yI;kI(o);let c=F(le(_e(()=>t.contributions.list(ds))));ke(()=>{const B=t.contributions.onChange(ds,()=>{S(c,t.contributions.list(ds),!0)});return()=>B()});function u(B){return{id:B.id,label:B.label,requiresRole:B.requiresRole,transport:"custom",autoRelocate:B.autoRelocate??!1,showCwd:B.showCwd??!1}}let d=H(()=>[...o.list(t.role),...a(c).filter(B=>!B.requiresRole||B.requiresRole===t.role).map(u)]),f=F(le(_e(()=>{const B=gh(t.userId);if(B){const oe=[...o.list(t.role),...a(c).filter(Y=>!Y.requiresRole||Y.requiresRole===t.role).map(u)].find(Y=>Y.id===B);if(oe)return oe}return xI(o,t.userId,t.role)}))),h=F(0);function b(){S(h,performance.now(),!0)}const x=_e(()=>ok()),_=H(()=>s(a(f).id));ke(()=>{for(const[B,W]of Object.entries(y.historyByMode)){const oe=s(B);oe.history.length<W.length&&(oe.history=[...W])}}),ke(()=>{a(_).scrollback.entries.length,a(_).history.length,a(_).modeId==="bash"?n.flush(a(_),y.lastSeq):n.flush(a(_))});function g(B){const W=a(d).find(oe=>oe.id===B);W&&(W.requiresRole&&W.requiresRole!==t.role||(P(),S(f,W,!0),vu(t.userId,B)))}ke(()=>{if(!a(d).find(B=>B.id===a(f).id)){const B=a(d).find(W=>W.id==="sh3")??a(d)[0];if(B){const W=a(f).id;S(f,B,!0),vu(t.userId,B.id),s(B.id).scrollback.push({kind:"status",text:`mode '${W}' is no longer available — switched to '${B.id}'`,level:"warn",ts:Date.now()})}}});const E=_e(()=>({...t.shell,setMode:B=>{const W=a(d).find(oe=>oe.id===B);return!W||W.requiresRole&&W.requiresRole!==t.role?!1:(g(B),!0)},listModes:()=>a(d).map(B=>({id:B.id,label:B.label})),getMode:()=>({id:a(f).id,label:a(f).label}),dispatchToTerminal:Ll({headless:!1})})),y=_e(()=>new Ev(t.wsUrl));let m=0,I=F(le(new Map));function T(B){const W=++m;a(I).set(W,B),S(I,new Map(a(I)),!0);let oe=!1;return()=>{oe||(oe=!0,a(I).delete(W),S(I,new Map(a(I)),!0))}}let R=H(()=>a(I).size>0),M=H(()=>{if(a(I).size===0)return null;let B;for(const W of a(I).values())B=W;return B??null});const{dispatch:z,cancel:P}=_e(()=>EI({mode:()=>a(f),role:()=>t.role,resolver:i,buffer:()=>a(_),session:y,sh3:E,fs:l,cwd:()=>y.cwd,busy:T,customMode:B=>a(c).find(W=>W.id===B)??null}));let j=F(!1),C=F(null);const O=new TI;O.register({id:"busy",order:5,visible:()=>!0,component:NI}),O.register({id:"mode",order:10,visible:()=>!0,component:LI}),O.register({id:"focus-lock",order:20,visible:B=>B.mode.id==="sh3",component:MI}),O.register({id:"target-shard",order:30,visible:B=>B.mode.id==="sh3",component:DI});function q(B){if(B.type==="tabs")return B.tabs[B.activeTab]?.viewId??null;if(B.type==="split"){for(const W of B.children){const oe=q(W);if(oe!==null)return oe}return null}return B.viewId??null}function L(){try{const B=Rt(),W=q(B.docked);if(!W)return null;const oe=W.indexOf(":");return oe>=0?W.slice(0,oe):W}catch{return null}}ke(()=>{const B=L(),W=a(f).autoRelocate,oe=a(j);(async()=>{const Y=await II({modeAutoRelocate:W,focusLocked:oe,focusedShardId:B,currentShardId:"shell"},l);Y.kind==="relocate"&&Y.path!==void 0&&(y.cwd=Y.path),B&&B!=="shell"?S(C,B,!0):B||S(C,null)})()});function V(B){if(B.t==="replay"){QE(s("bash"),B.events);return}if(B.t!=="event")return;const W=B.event,oe=s("bash");switch(W.kind){case"prompt":oe.scrollback.push({kind:"prompt",cwd:W.cwd,line:W.line,ts:W.ts}),oe.locked=!0;break;case"stdout":oe.scrollback.push({kind:"text",stream:"stdout",chunks:[W.data],ts:W.ts});break;case"stderr":oe.scrollback.push({kind:"text",stream:"stderr",chunks:[W.data],ts:W.ts});break;case"exit":(W.signal||W.code!==null&&W.code!==0)&&oe.scrollback.push({kind:"status",text:W.signal?`shell: process exited (${W.signal})`:`shell: process exited (${W.code})`,level:"error",ts:W.ts}),oe.locked=!1;break;case"status":oe.scrollback.push({kind:"status",text:W.text,level:W.level,ts:W.ts});break}}let J=null,G=null;al(()=>{J=y.onMessage(V),s("bash");const B=n.readLastSeq("bash");B!==void 0&&(y.lastSeq=B),y.connect(),G=lk({id:x,dispatch:z,getFocusStamp:()=>a(h),getMode:()=>a(f)})}),ol(()=>{J?.(),y.close(),G?.()});var $=qI(),Z=p($);{let B=H(()=>({mode:a(f),role:t.role})),W=H(()=>({busy:{active:a(R),label:a(M)},mode:{mode:a(f),modes:a(d),onSelect:g},"focus-lock":{locked:a(j),onToggle:()=>S(j,!a(j))},"target-shard":{target:a(C)}}));CI(Z,{get registry(){return O},get ctx(){return a(B)},get slotProps(){return a(W)}})}var ae=w(Z,2);{let B=H(()=>a(f).showCwd||!1);uI(ae,{get showPromptCwd(){return a(B)},get scrollback(){return a(_).scrollback}})}var X=w(ae,2);{let B=H(()=>$E(y.cwd,y.tenantRoot)),W=H(()=>a(f).showCwd!==!1);bI(X,{get cwd(){return a(B)},get showCwd(){return a(W)},get locked(){return a(_).locked},get history(){return a(_).history},get session(){return y},get onSubmit(){return z},onFocus:b})}v($),k(e,$),ie()}var VI=A('<tr><td class="svelte-m248jy"><button type="button" class="svelte-m248jy"> </button></td><td class="svelte-m248jy"> </td></tr>'),FI=A('<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 yh(e,t){se(t,!0);var n=FI(),r=p(n),s=w(p(r));pe(s,21,()=>t.data.rows,i=>i.name,(i,l)=>{var o=VI(),c=p(o),u=p(c),d=p(u,!0);v(u),v(c);var f=w(c),h=p(f,!0);v(f),v(o),N(()=>{D(d,a(l).name),D(h,a(l).summary)}),U("click",u,()=>t.data.onClickName(a(l).name)),k(i,o)}),v(s),v(r),v(n),k(e,n),ie()}ce(["click"]);const _h="help-table";Cn(_h,yh);function UI(){return{name:"help",summary:"List verbs or show detail for one.",globalVerb:!0,async run(e){const t=e.sh3.getMode().id==="sh3",n=El().filter(r=>t||r.globalVerb===!0).map(r=>({name:r.name,summary:r.summary}));e.scrollback.push({kind:"rich",componentKey:_h,component:yh,props:{data:{rows:n,onClickName:r=>e.dispatch(r)}},ts:Date.now()})}}}const HI={name:"clear",summary:"Clear the scrollback (local only — other views are unaffected).",globalVerb:!0,async run(e){e.scrollback.clear()}},KI={name:"mode",summary:"List or switch shell modes. Usage: mode | mode <id>",globalVerb:!0,async run(e,t){const n=Date.now();if(t.length===0){const l=e.sh3.listModes().map(o=>` ${o.id.padEnd(12)} ${o.label}`);e.scrollback.push({kind:"text",stream:"stdout",chunks:[["Available modes:",...l].join(`
15
- `)+`
16
- `],ts:n});return}const r=t[0];e.sh3.setMode(r)||e.scrollback.push({kind:"status",text:`mode: unknown or restricted mode '${r}'`,level:"error",ts:n})}};var WI=A('<li class="svelte-o8m437"><button type="button" class="svelte-o8m437"> </button></li>'),YI=A('<div class="shell-rich-history svelte-o8m437"><ol class="svelte-o8m437"></ol></div>');function wh(e,t){se(t,!0);var n=YI(),r=p(n);pe(r,21,()=>t.data.lines,dt,(s,i)=>{var l=WI(),o=p(l),c=p(o,!0);v(o),v(l),N(()=>D(c,a(i))),U("click",o,()=>t.data.onClickLine(a(i))),k(s,l)}),v(r),v(n),k(e,n),ie()}ce(["click"]);const kh="history-list";Cn(kh,wh);const GI={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.sh3.getMode().id,i=(e.session.historyByMode[r]??[]).slice(-n);e.scrollback.push({kind:"rich",componentKey:kh,component:wh,props:{data:{lines:i,onClickLine:l=>e.dispatch(l)}},ts:Date.now()})}};var XI=A('<tr><td class="svelte-1u5krjz"><button type="button" class="svelte-1u5krjz"> </button></td><td class="svelte-1u5krjz"> </td></tr>'),JI=A('<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 xh(e,t){se(t,!0);var n=JI(),r=p(n),s=w(p(r));pe(s,21,()=>t.data.apps,i=>i.id,(i,l)=>{var o=XI(),c=p(o),u=p(c),d=p(u,!0);v(u),v(c);var f=w(c),h=p(f,!0);v(f),v(o),N(()=>{D(d,a(l).id),D(h,a(l).label)}),U("click",u,()=>t.data.onClickApp(a(l).id)),k(i,o)}),v(s),v(r),v(n),k(e,n),ie()}ce(["click"]);var ZI=A('<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 Sh(e,t){se(t,!0);var n=ZI(),r=p(n),s=p(r,!0);v(r);var i=w(r,2),l=w(p(i));v(i);var o=w(i,2),c=w(p(o));v(o),v(n),N(u=>{D(s,t.data.label),D(l,` ${t.data.id??""}`),D(c,` ${u??""}`)},[()=>t.data.shards.join(", ")]),k(e,n),ie()}const Eh="apps-table",Ih="app-card";Cn(Eh,xh);Cn(Ih,Sh);const QI={name:"apps",summary:"List installed apps. Click a row to launch.",programmatic:!0,async run(e){const t=e.sh3.listApps();e.scrollback.push({kind:"rich",componentKey:Eh,component:xh,props:{data:{apps:t,onClickApp:n=>{e.sh3.launchApp(n),e.scrollback.push({kind:"status",text:`shell: launched app ${n}`,level:"info",ts:Date.now()})}}},ts:Date.now()})}},$I={name:"app",summary:"Show the currently active app.",programmatic:!0,async run(e){const t=e.sh3.getActiveApp();if(!t){e.scrollback.push({kind:"status",text:"shell: no active app",level:"info",ts:Date.now()});return}e.scrollback.push({kind:"rich",componentKey:Ih,component:Sh,props:{data:{id:t.id,label:t.label,shards:[]}},ts:Date.now()})}};var e2=A('<tr><td class="svelte-sc3ux4"> </td><td class="svelte-sc3ux4"> </td><td class="svelte-sc3ux4"> </td></tr>'),t2=A('<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 Ah(e,t){se(t,!0);var n=t2(),r=p(n),s=w(p(r));pe(s,21,()=>t.data.shards,i=>i.id,(i,l)=>{var o=e2(),c=p(o),u=p(c,!0);v(c);var d=w(c),f=p(d,!0);v(d);var h=w(d),b=p(h,!0);v(h),v(o),N(()=>{D(u,a(l).id),D(f,a(l).label),D(b,a(l).version)}),k(i,o)}),v(s),v(r),v(n),k(e,n),ie()}const Ch="shards-table";Cn(Ch,Ah);const n2={name:"shards",summary:"List active shards.",programmatic:!0,async run(e){const t=e.sh3.listShards();e.scrollback.push({kind:"rich",componentKey:Ch,component:Ah,props:{data:{shards:t}},ts:Date.now()})}};var r2=A('<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>'),s2=A('<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 Th(e,t){se(t,!0);var n=s2(),r=p(n),s=w(p(r));pe(s,21,()=>t.data.views,i=>i.slotId,(i,l)=>{var o=r2(),c=p(o),u=p(c,!0);v(c);var d=w(c),f=p(d,!0);v(d);var h=w(d),b=p(h,!0);v(h);var x=w(h),_=p(x);v(x),v(o),N(()=>{D(u,a(l).slotId),D(f,a(l).viewId),D(b,a(l).label)}),U("click",_,()=>t.data.onClose(a(l).slotId)),k(i,o)}),v(s),v(r),v(n),k(e,n),ie()}ce(["click"]);const Rh="views-table";Cn(Rh,Th);const i2={name:"views",summary:"List views currently mounted. Pass --standalone to list summonable views instead.",programmatic:!0,async run(e,t){if(t.includes("--standalone")){const r=e.sh3.listStandaloneViews();if(r.length===0){e.scrollback.push({kind:"status",text:"shell: no standalone views are currently available.",level:"info",ts:Date.now()});return}e.scrollback.push({kind:"status",text:r.map(s=>` ${s.viewId.padEnd(32)} ${s.label}`).join(`
17
- `),level:"info",ts:Date.now()});return}const n=e.sh3.listViewsInCurrentLayout();e.scrollback.push({kind:"rich",componentKey:Rh,component:Th,props:{data:{views:n,onClose:r=>{const s=e.sh3.closeSlot(r);s.ok||e.scrollback.push({kind:"status",text:`shell: close failed — ${s.error??"unknown"}`,level:"error",ts:Date.now()})}}},ts:Date.now()})}},a2={name:"open",summary:"Open a view from any active shard into the current layout.",programmatic:!0,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.sh3.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()})}},o2={name:"popout",summary:"Pop a docked view out into a float by slot id.",programmatic:!0,async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: popout <slotId>",level:"warn",ts:Date.now()});return}const r=e.sh3.popoutSlot(n);r.ok?e.scrollback.push({kind:"status",text:`shell: popped out ${n} → ${r.floatId}`,level:"info",ts:Date.now()}):e.scrollback.push({kind:"status",text:`shell: popout failed — ${r.error??"unknown"}`,level:"error",ts:Date.now()})}},l2={name:"dock",summary:"Dock a float back into the current layout by float id. Run with no args to list floats.",programmatic:!0,async run(e,t){const n=t[0];if(!n){const s=e.sh3.listFloats();if(s.length===0){e.scrollback.push({kind:"status",text:"shell: no active floats.",level:"info",ts:Date.now()});return}e.scrollback.push({kind:"status",text:s.map(i=>` ${i.floatId.padEnd(24)} ${i.viewId??"-"} ${i.label}`).join(`
18
- `),level:"info",ts:Date.now()});return}const r=e.sh3.dockFloat(n);r.ok?e.scrollback.push({kind:"status",text:`shell: docked ${n}`,level:"info",ts:Date.now()}):e.scrollback.push({kind:"status",text:`shell: dock failed — ${r.error??"unknown"}`,level:"error",ts:Date.now()})}},c2={name:"close",summary:"Close a view by slot id.",programmatic:!0,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.sh3.closeSlot(n);r.ok||e.scrollback.push({kind:"status",text:`shell: close failed — ${r.error??"unknown"}`,level:"error",ts:Date.now()})}};var u2=A('<tr><td class="svelte-1w7onag"> </td><td class="svelte-1w7onag"> </td></tr>'),d2=A('<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 Lh(e,t){se(t,!0);var n=d2(),r=p(n),s=w(p(r));pe(s,21,()=>t.data.rows,i=>i.shardId,(i,l)=>{var o=u2(),c=p(o),u=p(c,!0);v(c);var d=w(c),f=p(d,!0);v(d),v(o),N(h=>{D(u,a(l).shardId),D(f,h)},[()=>a(l).zones.join(", ")]),k(i,o)}),v(s),v(r),v(n),k(e,n),ie()}var f2=A('<div class="shell-rich-zonetree svelte-13iiyr1"><pre class="svelte-13iiyr1"> </pre></div>');function Ph(e,t){se(t,!0);var n=f2(),r=p(n),s=p(r,!0);v(r),v(n),N(i=>D(s,i),[()=>JSON.stringify(t.data.value,null,2)]),k(e,n),ie()}const Mh="zones-table",jh="zone-tree";Cn(Mh,Lh);Cn(jh,Ph);const v2={name:"zones",summary:"List zones for the current user (optionally scoped to a shard).",programmatic:!0,async run(e,t){const n=e.sh3.listZones(t[0]);e.scrollback.push({kind:"rich",componentKey:Mh,component:Lh,props:{data:{rows:n}},ts:Date.now()})}},h2={name:"zone",summary:"Dump the contents of a zone as a collapsible JSON tree.",programmatic:!0,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.sh3.readZone(n,r);e.scrollback.push({kind:"rich",componentKey:jh,component:Ph,props:{data:{value:s}},ts:Date.now()})}};var p2=A('<tr><td class="svelte-1ox8vog"> </td><td class="svelte-1ox8vog"> </td></tr>'),m2=A('<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 Dh(e,t){se(t,!0);var n=m2(),r=p(n),s=w(p(r));pe(s,21,()=>Object.entries(t.data.env),([i,l])=>i,(i,l)=>{var o=H(()=>Bu(a(l),2));let c=()=>a(o)[0],u=()=>a(o)[1];var d=p2(),f=p(d),h=p(f,!0);v(f);var b=w(f),x=p(b,!0);v(b),v(d),N(()=>{D(h,c()),D(x,u())}),k(i,d)}),v(s),v(r),v(n),k(e,n),ie()}const zh="env-table";Cn(zh,Dh);const b2={name:"env",summary:"Show the session environment.",async run(e){const t=e.session.env;e.scrollback.push({kind:"rich",componentKey:zh,component:Dh,props:{data:{env:t}},ts:Date.now()})}};async function g2(){try{const{TauriStoreBackend:e}=await Fi(async()=>{const{TauriStoreBackend:r}=await import("./tauri-backend-C24Wzcc_.js");return{TauriStoreBackend:r}},__vite__mapDeps([0,1,2])),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:zu}}}async function y2(){try{const{LazyStore:e}=await Fi(async()=>{const{LazyStore:r}=await import("./index-YGsF1N98.js");return{LazyStore:r}},__vite__mapDeps([1,2])),t=new e("workspace.json",{defaults:{},autoSave:!0}),n=new e("user.json",{defaults:{},autoSave:!0});await t.clear(),await n.clear()}catch{}if(typeof localStorage<"u"){const e=[];for(let t=0;t<localStorage.length;t++){const n=localStorage.key(t);n&&n.startsWith("sh3:")&&e.push(n)}for(const t of e)localStorage.removeItem(t)}typeof indexedDB<"u"&&await new Promise(e=>{const t=indexedDB.deleteDatabase("sh3-packages");t.onsuccess=()=>e(),t.onerror=()=>e(),t.onblocked=()=>e()})}const _2={name:"reset",summary:"Wipe SH3 state and reload (preserves documents). Requires --confirm.",async run(e,t){if(!t.includes("--confirm")){e.scrollback.push({kind:"status",text:"reset: erases the package registry, all zone state (including Tauri stores), and theme overrides, then reloads. Documents are preserved. Re-run as `reset --confirm` to proceed.",level:"warn",ts:Date.now()});return}e.scrollback.push({kind:"status",text:"reset: wiping data…",level:"info",ts:Date.now()}),await y2(),location.reload()}};function w2(e){e.registerVerb(UI()),e.registerVerb(HI),e.registerVerb(KI),e.registerVerb(GI),e.registerVerb(QI),e.registerVerb($I),e.registerVerb(n2),e.registerVerb(i2),e.registerVerb(a2),e.registerVerb(c2),e.registerVerb(o2),e.registerVerb(l2),e.registerVerb(v2),e.registerVerb(h2),e.registerVerb(b2),e.registerVerb(_2)}const Oh={manifest:HE,activate(e){w2(e);const t=o0(e.zones),n=e.state({workspace:{buffers:{}}});WE(n),e.actions.register({id:"shell.terminal.toggle",label:"Open Terminal",scope:["home","app"],defaultShortcut:"²",allowInInputs:!1,run(){da("shell:terminal")||Ce.open("shell:terminal",{title:"Sh3"})}});const r={mount(s,i){const l=typeof location<"u"&&location.protocol==="https:"?"wss":"ws",o=typeof location<"u"?location.host:"localhost",c=`${l}://${o}/api/shell/session`,d=qr()?.id??"guest",f=bt()?"admin":"user",h=qe(BI,{target:s,props:{shell:t,wsUrl:c,userId:d,role:f,contributions:e.contributions}});return{unmount(){Xe(h)},closable:!0}}};e.registerView("shell:terminal",r)},autostart(){},deactivate(){YE()}};var k2=A('<p class="error svelte-1w8uhw5">The source float was closed.</p>'),x2=A('<p class="error svelte-1w8uhw5">No standalone views in this float.</p>'),S2=A('<li class="svelte-1w8uhw5"> <span class="muted svelte-1w8uhw5"> </span></li>'),E2=A('<div class="preview svelte-1w8uhw5"><div class="preview-label svelte-1w8uhw5"> </div> <ul class="preview-list svelte-1w8uhw5"></ul></div>'),I2=A('<div class="layout-save svelte-1w8uhw5"><h2 class="svelte-1w8uhw5">Save layout as…</h2> <label class="row svelte-1w8uhw5"><span class="svelte-1w8uhw5">Name</span> <input type="text" class="name-input svelte-1w8uhw5" placeholder="Layout name"/></label> <!> <div class="actions svelte-1w8uhw5"><button type="button" class="primary svelte-1w8uhw5">Save</button> <button type="button" class="svelte-1w8uhw5">Cancel</button></div></div>');function A2(e,t){se(t,!0);const n=_e(()=>Ce.list().find(T=>T.id===t.floatId)?.content??null),r=H(()=>n?ka(n,t.isStandalone):null),s=H(()=>a(r)?u(a(r)):[]),i=H(()=>n===null),l=H(()=>!a(i)&&a(r)===null);let o=F(le(_e(()=>t.defaultName)));const c=H(()=>a(o).trim()===""||a(i)||a(l));function u(T){if(T.type==="slot")return T.viewId?[T.viewId]:[];if(T.type==="tabs"){const R=[];for(const M of T.tabs)M.viewId&&R.push(M.viewId);return R}return T.children.flatMap(u)}function d(){a(c)||(t.onConfirm(a(o).trim()),t.close())}var f=I2(),h=w(p(f),2),b=w(p(h),2);ge(b),v(h);var x=w(h,2);{var _=T=>{var R=k2();k(T,R)},g=T=>{var R=x2();k(T,R)},E=T=>{var R=E2(),M=p(R),z=p(M);v(M);var P=w(M,2);pe(P,21,()=>a(s),dt,(j,C)=>{var O=S2(),q=p(O),L=w(q),V=p(L);v(L),v(O),N(J=>{D(q,`${J??""} `),D(V,`(${a(C)??""})`)},[()=>t.resolveLabel(a(C))]),k(j,O)}),v(P),v(R),N(()=>D(z,`Captured views (${a(s).length??""}):`)),k(T,R)};K(x,T=>{a(i)?T(_):a(l)?T(g,1):T(E,-1)})}var y=w(x,2),m=p(y),I=w(m,2);v(y),v(f),N(()=>m.disabled=a(c)),Se(b,()=>a(o),T=>S(o,T)),U("click",m,d),U("click",I,()=>t.close()),k(e,f),ie()}ce(["click"]);function C2(){const e=Ys();return!e||e.type!=="float-header"?null:e.ref}function Zl(e){return Is().some(t=>t.viewId===e)}function T2(e){return Is().find(t=>t.viewId===e)?.label??e}function R2(){return`sl-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function L2(e,t){const n=HS(e,Zl);if(n===null)return null;const r={id:R2(),name:t,createdAt:Date.now(),size:n.size,content:n.content};return VS(r),r}function Nh(){const e=Ys();return!e||e.type!=="saved-layout"?null:e.ref}function P2(e,t){const n=t.icon===void 0&&t.color===void 0?void 0:{icon:t.icon,color:t.color};rh(e,{name:t.label,appearance:n})}function M2(e){rh(e,{appearance:void 0})}function j2(e){const t=Nh();if(!t)return;const n=or().find(s=>s.id===t.layoutId);if(!n)return;const r={entityLabel:n.name,initialAppearance:n.appearance,defaultIcon:"eye",requireLabel:!0,onSave:s=>P2(t.layoutId,s),onReset:()=>M2(t.layoutId)};Wt.open(ah,r)}function D2(e){FS(e)}function z2(e){const t=Nh();if(!t)return;const n=or().find(r=>r.id===t.layoutId);n&&Wt.open(ch,{title:`Delete saved layout "${n.name}"?`,body:"This cannot be undone.",confirmLabel:"Delete",confirmTone:"danger",onConfirm:()=>D2(t.layoutId)})}function O2(e){const t=C2();if(!t)return;const n={floatId:t.floatId,isStandalone:Zl,resolveLabel:T2,defaultName:`Layout ${or().length+1}`,onConfirm:r=>{L2(t.floatId,r)}};Wt.open(A2,n)}const qh={manifest:{id:"__layouts__",label:"Saved Layouts",version:on,views:[]},activate(e){const t=e.state({user:{layouts:[]}});qS(t);const n=(l,o)=>{vn.notify(l,{level:o})},r={id:"sh3.layout.save",label:"Save layout as…",scope:{element:"float-header"},contextItem:!0,paletteItem:!1,run:O2};e.actions.register(r),e.actions.register({id:"sh3.layout.open",label:"Open saved layout",scope:["home","app"],submenu:!0,paletteItem:!0}),e.actions.register({id:"sh3.layout.customize",label:"Customize…",scope:{element:"saved-layout"},contextItem:!0,group:"appearance",run:j2}),e.actions.register({id:"sh3.layout.delete",label:"Delete",scope:{element:"saved-layout"},contextItem:!0,run:z2});const s=new Map,i=new Map;Hr(()=>{ke(()=>{const l=or(),o=new Set;for(const c of l){o.add(c.id);const u=s.get(c.id);if(u&&i.get(c.id)===c.name)continue;u&&(u(),s.delete(c.id),i.delete(c.id));const d=e.actions.register({id:`sh3.layout.open:${c.id}`,label:c.name,scope:["home","app"],submenuOf:"sh3.layout.open",run:()=>{const f=or().find(h=>h.id===c.id);f&&ih(f,Zl,n)}});s.set(c.id,d),i.set(c.id,c.name)}for(const c of[...s.keys()])o.has(c)||(s.get(c)(),s.delete(c),i.delete(c))})})},autostart(){},deactivate(){BS()}},Bh={manifest:{id:"sh3-store-app",label:"Package Store",version:on,requiredShards:["sh3-store"],layoutVersion:1,admin:!0},initialLayout:{type:"tabs",activeTab:0,tabs:[{slotId:"store.browse",viewId:"sh3-store:browse",label:"Browse"}]}};var N2=A('<div class="admin-error svelte-4q792t"> </div>'),q2=A('<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>'),B2=A('<p class="admin-muted svelte-4q792t">Loading...</p>'),V2=A('<p class="admin-error svelte-4q792t"> </p>'),F2=A('<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>'),U2=A('<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),H2=A('<li class="admin-user-item svelte-4q792t"><!></li>'),K2=A('<ul class="admin-user-list svelte-4q792t"></ul>'),W2=A('<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 Y2(e,t){se(t,!0);let n=F(le([])),r=F(!0),s=F(null),i=F(!1),l=F(""),o=F(""),c=F(""),u=F("user"),d=F(null),f=F(null),h=F(""),b=F("user"),x=F("");async function _(){S(r,!0),S(s,null);try{const L=await fetch("/api/admin/users",{credentials:"include"});if(!L.ok)throw new Error("Failed to fetch users");S(n,await L.json(),!0)}catch(L){S(s,L instanceof Error?L.message:"Failed to load users",!0)}finally{S(r,!1)}}async function g(){S(d,null);try{const L=await fetch("/api/admin/users",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({username:a(l),displayName:a(o)||a(l),password:a(c),role:a(u)})});if(!L.ok){const V=await L.json().catch(()=>({}));S(d,V.error||"Failed to create user",!0);return}S(l,""),S(o,""),S(c,""),S(u,"user"),S(i,!1),await _()}catch{S(d,"Network error")}}function E(L){S(f,L.id,!0),S(h,L.displayName,!0),S(b,L.role,!0),S(x,"")}async function y(){if(!a(f))return;const L={displayName:a(h),role:a(b)};a(x).trim()&&(L.password=a(x));try{if(!(await fetch(`/api/admin/users/${a(f)}`,{method:"PUT",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(L)})).ok)return;S(f,null),await _()}catch{}}async function m(L){try{await fetch(`/api/admin/users/${L}`,{method:"DELETE",credentials:"include"}),await _()}catch{}}_();var I=W2(),T=p(I),R=w(p(T),2),M=p(R,!0);v(R),v(T);var z=w(T,2);{var P=L=>{var V=q2(),J=p(V);ge(J);var G=w(J,2);ge(G);var $=w(G,2);ge($);var Z=w($,2),ae=p(Z);ae.value=ae.__value="user";var X=w(ae);X.value=X.__value="admin",v(Z);var B=w(Z,2),W=w(B,2);{var oe=Y=>{var ue=N2(),be=p(ue,!0);v(ue),N(()=>D(be,a(d))),k(Y,ue)};K(W,Y=>{a(d)&&Y(oe)})}v(V),N(Y=>B.disabled=Y,[()=>!a(l).trim()||!a(c).trim()]),Re("submit",V,Y=>{Y.preventDefault(),g()}),Se(J,()=>a(l),Y=>S(l,Y)),Se(G,()=>a(o),Y=>S(o,Y)),Se($,()=>a(c),Y=>S(c,Y)),ps(Z,()=>a(u),Y=>S(u,Y)),k(L,V)};K(z,L=>{a(i)&&L(P)})}var j=w(z,2);{var C=L=>{var V=B2();k(L,V)},O=L=>{var V=V2(),J=p(V,!0);v(V),N(()=>D(J,a(s))),k(L,V)},q=L=>{var V=K2();pe(V,21,()=>a(n),J=>J.id,(J,G)=>{var $=H2(),Z=p($);{var ae=B=>{var W=F2(),oe=p(W);ge(oe);var Y=w(oe,2);ge(Y);var ue=w(Y,2),be=p(ue);be.value=be.__value="user";var it=w(be);it.value=it.__value="admin",v(ue);var Me=w(ue,2),Lt=w(p(Me),2);v(Me),v(W),Re("submit",W,Gt=>{Gt.preventDefault(),y()}),Se(oe,()=>a(h),Gt=>S(h,Gt)),Se(Y,()=>a(x),Gt=>S(x,Gt)),ps(ue,()=>a(b),Gt=>S(b,Gt)),U("click",Lt,()=>{S(f,null)}),k(B,W)},X=B=>{var W=U2(),oe=fe(W),Y=p(oe),ue=p(Y,!0);v(Y);var be=w(Y,2),it=p(be);v(be),v(oe);var Me=w(oe,2),Lt=p(Me),Gt=w(Lt,2);v(Me),N(()=>{D(ue,a(G).displayName),D(it,`${a(G).username??""} · ${a(G).role??""}`)}),U("click",Lt,()=>E(a(G))),U("click",Gt,()=>m(a(G).id)),k(B,W)};K(Z,B=>{a(f)===a(G).id?B(ae):B(X,-1)})}v($),k(J,$)}),v(V),k(L,V)};K(j,L=>{a(r)?L(C):a(s)?L(O,1):L(q,-1)})}v(I),N(()=>D(M,a(i)?"Cancel":"New user")),U("click",R,()=>{S(i,!a(i))}),k(e,I),ie()}ce(["click"]);var G2=A('<p class="admin-muted svelte-1hsgdb4">Loading...</p>'),X2=A('<div class="admin-error svelte-1hsgdb4"> </div>'),J2=A('<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),Z2=A('<div class="admin-auth svelte-1hsgdb4"><h2 class="svelte-1hsgdb4">Auth Settings</h2> <!></div>');function Q2(e,t){se(t,!0);let n=F(null),r=F(!0),s=F(!1),i=F(null);async function l(){S(r,!0);try{const h=await fetch("/api/admin/settings",{credentials:"include"});if(!h.ok)throw new Error("Failed to fetch settings");S(n,await h.json(),!0)}catch(h){S(i,h instanceof Error?h.message:"Failed to load settings",!0)}finally{S(r,!1)}}async function o(){if(a(n)){S(s,!0),S(i,null);try{const h=await fetch("/api/admin/settings",{method:"PUT",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(a(n))});if(!h.ok)throw new Error("Failed to save settings");S(n,await h.json(),!0)}catch(h){S(i,h instanceof Error?h.message:"Failed to save",!0)}finally{S(s,!1)}}}l();var c=Z2(),u=w(p(c),2);{var d=h=>{var b=G2();k(h,b)},f=h=>{var b=J2(),x=fe(b),_=p(x),g=p(_);ge(g),Et(4),v(_);var E=w(_,2),y=p(E);ge(y),Et(4),v(E);var m=w(E,2),I=p(m);ge(I),Et(4),v(m);var T=w(m,2),R=w(p(T),2);ge(R),v(T);var M=w(T,2),z=p(M,!0);v(M),v(x);var P=w(x,2);{var j=C=>{var O=X2(),q=p(O,!0);v(O),N(()=>D(q,a(i))),k(C,O)};K(P,C=>{a(i)&&C(j)})}N(()=>{M.disabled=a(s),D(z,a(s)?"Saving...":"Save")}),ls(g,()=>a(n).auth.required,C=>a(n).auth.required=C),ls(y,()=>a(n).auth.guestAllowed,C=>a(n).auth.guestAllowed=C),ls(I,()=>a(n).auth.selfRegistration,C=>a(n).auth.selfRegistration=C),Se(R,()=>a(n).auth.sessionTTL,C=>a(n).auth.sessionTTL=C),U("click",M,o),k(h,b)};K(u,h=>{a(r)?h(d):a(n)&&h(f,1)})}v(c),k(e,c),ie()}ce(["click"]);var $2=A('<button type="button"> </button>'),eA=A('<div class="admin-error svelte-1gkiloq"> </div>'),tA=A('<div class="admin-error svelte-1gkiloq"> </div>'),nA=A(`<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> <section class="admin-system-section svelte-1gkiloq"><h3 class="svelte-1gkiloq">Package bundle cache</h3> <p class="admin-system-hint svelte-1gkiloq">Controls the <code>Cache-Control</code> header on <code>/packages/:id/client.js</code>.
19
- Set to <strong>0</strong> during development so drop-in bundle replacements take effect on F5.
20
- Use a long value in production.</p> <input type="range" min="0" max="31536000" step="1" class="svelte-1gkiloq"/> <div class="admin-system-readout svelte-1gkiloq"><code> </code> </div> <div class="admin-system-snaps svelte-1gkiloq"></div> <div class="admin-system-actions svelte-1gkiloq"><button type="button" class="admin-btn svelte-1gkiloq"> </button> <button type="button" class="admin-btn-ghost svelte-1gkiloq">Reset</button> <!></div></section> <section class="admin-system-section svelte-1gkiloq"><h3 class="svelte-1gkiloq">Server control</h3> <div class="admin-system-actions svelte-1gkiloq"><button type="button" class="admin-btn-danger svelte-1gkiloq"> </button> <!></div></section></div>`);function rA(e,t){se(t,!0);const n=[{value:0,label:"Off (no-store)"},{value:5,label:"5s (dev)"},{value:60,label:"1 min"},{value:3600,label:"1 hour"},{value:86400,label:"1 day"},{value:31536e3,label:"1 year"}];let r=F("..."),s=F(!1),i=F(null),l=F(31536e3),o=F(31536e3),c=F(!1),u=F(null);const d=H(()=>a(l)!==a(o)),f=H(()=>h(a(l)));function h(Y){return Y===0?"0 seconds (off — browsers never cache)":Y<60?`${Y} seconds`:Y<3600?`${Math.round(Y/60)} minutes`:Y<86400?`${Math.round(Y/3600)} hours`:Y<31536e3?`${Math.round(Y/86400)} days`:`${Math.round(Y/31536e3)} years`}async function b(){try{const Y=await fetch("/api/version");if(Y.ok){const ue=await Y.json();S(r,ue.version,!0)}}catch{}}async function x(){try{const Y=await fetch("/api/admin/settings",{credentials:"include"});if(Y.ok){const be=(await Y.json()).packages?.cacheMaxAge??31536e3;S(l,be,!0),S(o,be,!0)}}catch{}}async function _(){S(c,!0),S(u,null);try{const Y=await fetch("/api/admin/settings",{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({packages:{cacheMaxAge:a(l)}})});if(Y.ok){const ue=await Y.json();S(o,ue.packages?.cacheMaxAge??a(l),!0),S(l,a(o),!0)}else{const ue=await Y.json().catch(()=>({}));S(u,ue.error||"Save failed",!0)}}catch{S(u,"Network error")}finally{S(c,!1)}}async function g(){S(s,!0),S(i,null);try{const Y=await fetch("/api/admin/restart",{method:"POST",credentials:"include"});if(!Y.ok){const ue=await Y.json().catch(()=>({}));S(i,ue.error||"Restart failed",!0),S(s,!1)}}catch{S(i,"Network error"),S(s,!1)}}b(),x();var E=nA(),y=w(p(E),2),m=p(y),I=w(p(m),2),T=p(I,!0);v(I),v(m),v(y);var R=w(y,2),M=w(p(R),4);ge(M);var z=w(M,2),P=p(z),j=p(P,!0);v(P);var C=w(P);v(z);var O=w(z,2);pe(O,21,()=>n,Y=>Y.value,(Y,ue)=>{var be=$2();let it;var Me=p(be,!0);v(be),N(()=>{it=de(be,1,"admin-snap svelte-1gkiloq",null,it,{active:a(l)===a(ue).value}),be.disabled=a(c),D(Me,a(ue).label)}),U("click",be,()=>S(l,a(ue).value,!0)),k(Y,be)}),v(O);var q=w(O,2),L=p(q),V=p(L,!0);v(L);var J=w(L,2),G=w(J,2);{var $=Y=>{var ue=eA(),be=p(ue,!0);v(ue),N(()=>D(be,a(u))),k(Y,ue)};K(G,Y=>{a(u)&&Y($)})}v(q),v(R);var Z=w(R,2),ae=w(p(Z),2),X=p(ae),B=p(X,!0);v(X);var W=w(X,2);{var oe=Y=>{var ue=tA(),be=p(ue,!0);v(ue),N(()=>D(be,a(i))),k(Y,ue)};K(W,Y=>{a(i)&&Y(oe)})}v(ae),v(Z),v(E),N(()=>{D(T,a(r)),M.disabled=a(c),D(j,a(l)),D(C,` — ${a(f)??""}`),L.disabled=!a(d)||a(c),D(V,a(c)?"Saving...":"Save"),J.disabled=!a(d)||a(c),X.disabled=a(s),D(B,a(s)?"Restarting...":"Restart server")}),Se(M,()=>a(l),Y=>S(l,Y)),U("click",L,_),U("click",J,()=>S(l,a(o),!0)),U("click",X,g),k(e,E),ie()}ce(["click"]);var sA=A(`<div class="admin-key-created"><div class="admin-key-created-label">New key — copy now, it won't be shown again:</div> <code class="admin-key-value svelte-1afg5z5"> </code> <button type="button" class="admin-btn-secondary svelte-1afg5z5">Dismiss</button></div>`),iA=A('<div class="admin-error svelte-1afg5z5"> </div>'),aA=A('<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>'),oA=A('<p class="admin-muted svelte-1afg5z5">Loading...</p>'),lA=A('<p class="admin-error svelte-1afg5z5"> </p>'),cA=A('<p class="admin-muted svelte-1afg5z5">No API keys. Create one to enable external access.</p>'),uA=A('<button type="button" class="admin-btn-danger svelte-1afg5z5">Confirm</button> <button type="button" class="admin-btn-secondary svelte-1afg5z5">Cancel</button>',1),dA=A('<button type="button" class="admin-btn-danger svelte-1afg5z5">Revoke</button>'),fA=A('<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></div> <div class="admin-key-actions svelte-1afg5z5"><!></div></li>'),vA=A('<ul class="admin-key-list svelte-1afg5z5"></ul>'),hA=A('<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 pA(e,t){se(t,!0);let n=F(le([])),r=F(!0),s=F(null),i=F(!1),l=F(""),o=F(null),c=F(null),u=F(null);async function d(){S(r,!0),S(s,null);try{const C=await fetch("/api/admin/keys",{credentials:"include"});if(!C.ok)throw new Error("Failed to fetch keys");S(n,await C.json(),!0)}catch(C){S(s,C instanceof Error?C.message:"Failed to load keys",!0)}finally{S(r,!1)}}async function f(){S(o,null);try{const C=await fetch("/api/admin/keys",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({label:a(l)})});if(!C.ok){const q=await C.json().catch(()=>({}));S(o,q.error||"Failed to create key",!0);return}const O=await C.json();S(c,{id:O.id,key:O.key},!0),S(l,""),S(i,!1),await d()}catch{S(o,"Network error")}}async function h(C){S(u,null);try{await fetch(`/api/admin/keys/${C}`,{method:"DELETE",credentials:"include"}),a(c)?.id===C&&S(c,null),await d()}catch{}}function b(C){return new Date(C).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}d();var x=hA(),_=p(x),g=w(p(_),2),E=p(g,!0);v(g),v(_);var y=w(_,2);{var m=C=>{var O=sA(),q=w(p(O),2),L=p(q,!0);v(q);var V=w(q,2);v(O),N(()=>D(L,a(c).key)),U("click",V,()=>{S(c,null)}),k(C,O)};K(y,C=>{a(c)&&C(m)})}var I=w(y,2);{var T=C=>{var O=aA(),q=p(O);ge(q);var L=w(q,2),V=w(L,2);{var J=G=>{var $=iA(),Z=p($,!0);v($),N(()=>D(Z,a(o))),k(G,$)};K(V,G=>{a(o)&&G(J)})}v(O),N(G=>L.disabled=G,[()=>!a(l).trim()]),Re("submit",O,G=>{G.preventDefault(),f()}),Se(q,()=>a(l),G=>S(l,G)),k(C,O)};K(I,C=>{a(i)&&C(T)})}var R=w(I,2);{var M=C=>{var O=oA();k(C,O)},z=C=>{var O=lA(),q=p(O,!0);v(O),N(()=>D(q,a(s))),k(C,O)},P=C=>{var O=cA();k(C,O)},j=C=>{var O=vA();pe(O,21,()=>a(n),q=>q.id,(q,L)=>{var V=fA(),J=p(V),G=p(J),$=p(G,!0);v(G);var Z=w(G,2),ae=p(Z);v(Z),v(J);var X=w(J,2),B=p(X);{var W=Y=>{var ue=uA(),be=fe(ue),it=w(be,2);U("click",be,()=>h(a(L).id)),U("click",it,()=>{S(u,null)}),k(Y,ue)},oe=Y=>{var ue=dA();U("click",ue,()=>{S(u,a(L).id,!0)}),k(Y,ue)};K(B,Y=>{a(u)===a(L).id?Y(W):Y(oe,-1)})}v(X),v(V),N(Y=>{D($,a(L).label),D(ae,`${a(L).id??""} · ${Y??""}`)},[()=>b(a(L).createdAt)]),k(q,V)}),v(O),k(C,O)};K(R,C=>{a(r)?C(M):a(s)?C(z,1):a(n).length===0?C(P,2):C(j,-1)})}v(x),N(()=>D(E,a(i)?"Cancel":"New key")),U("click",g,()=>{S(i,!a(i))}),k(e,x),ie()}ce(["click"]);const Vh={manifest:{id:"sh3-admin",label:"Admin",version:on,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(i,l){const o=qe(Y2,{target:i});return{unmount(){Xe(o)}}}},n={mount(i,l){const o=qe(Q2,{target:i});return{unmount(){Xe(o)}}}},r={mount(i,l){const o=qe(rA,{target:i});return{unmount(){Xe(o)}}}},s={mount(i,l){const o=qe(pA,{target:i});return{unmount(){Xe(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)}},Fh={manifest:{id:"sh3-admin-app",label:"Admin",version:on,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"}]}},mu="sh3:migrations:shell-rename:done",bu="__shell__:",mA="__sh3core__:",gu="sh3:user:__shell__:theme",yu="sh3:user:__sh3core__:theme";function bA(e,t){if(t.getItem(mu))return;const n=t.getItem(gu);n!==null&&t.getItem(yu)===null&&(t.setItem(yu,n),t.removeItem(gu));for(const r of e.keys()){if(!r.startsWith(bu))continue;const s=mA+r.slice(bu.length),i=e.read(r);e.write(s,i),e.delete(r)}t.setItem(mu,"1")}const _u="sh3:migrations:mode-id-rename:done",gA="sh3.shell.lastMode.",wu={dev:"bash",user:"sh3"};function yA(e){if(typeof e._keys=="function")return e._keys();const t=e;if(typeof t.length=="number"&&typeof t.key=="function"){const n=[];for(let r=0;r<t.length;r++){const s=t.key(r);s!==null&&n.push(s)}return n}return[]}function _A(e){if(!e.getItem(_u)){for(const t of yA(e)){if(!t.startsWith(gA))continue;const n=e.getItem(t);n&&Object.prototype.hasOwnProperty.call(wu,n)&&e.setItem(t,wu[n])}e.setItem(_u,"1")}}let ku=!1,xu=null;function wA(){ku||(ku=!0,xu=e=>{const t=e.state?.sh3;t==="anchor"?(v_(),history.forward()):t==="forward-bumper"&&(h_(),history.back())},window.addEventListener("popstate",xu),history.replaceState({sh3:"anchor"},""),history.pushState({sh3:"main"},""),history.pushState({sh3:"forward-bumper"},""),history.back())}function Su(e){ma(e)}function kA(){const e=sn.workspace;return{keys:()=>e.list(),read:t=>e.read(t),write:(t,n)=>e.write(t,n),delete:t=>e.delete(t)}}async function xA(e){if(typeof globalThis.localStorage<"u"){bA(kA(),globalThis.localStorage),_A(globalThis.localStorage);const{migrateLegacyWorkspaceKeys:i}=await Fi(async()=>{const{migrateLegacyWorkspaceKeys:l}=await import("./workspace-rekey-DRgvbNY-.js");return{migrateLegacyWorkspaceKeys:l}},[]);i(vv())}const t=new Set(e?.excludeShards),n=[mh,Oh,ph,Vh,nh,lh,qh];for(const i of n)t.has(i.manifest.id)||ma(i);const r=[Bh,Fh];for(const i of r)gs(i);await vh();for(const[i,l]of Kt)if(l.autostart){rv(i);try{await zi(i,{phase:"autostart"})}catch{}}const s=wk();if(s&&Dn.has(s))try{await En(s)}catch(i){console.error(`[sh3] Auto-launch of "${s}" failed:`,i),kk()}d_({returnToHome:Xs,launchApp:En}),typeof window<"u"&&typeof history<"u"&&wA()}async function SA(e){const t=[mh,Oh,ph,Vh,nh,lh,qh];for(const s of t)ma(s);const n=[Bh,Fh];for(const s of n)gs(s);await vh();const r=new Set;for(const[s,i]of Kt)if(i.autostart){rv(s);try{await zi(s,{phase:"autostart"}),r.add(s)}catch{}}for(const s of e.activateShardIds)if(!r.has(s))if(Kt.has(s))try{await zi(s,{phase:"satellite"})}catch(i){console.error(`[sh3] satellite activation of "${s}" failed:`,i)}else console.warn(`[sh3] satellite requested shard "${s}" but it is not registered`)}var EA=A('<button type="button" aria-label="Expand pane"><span class="collapse-icon"> </span></button>'),IA=A('<button type="button" aria-label="Collapse pane"><span class="collapse-icon"> </span></button>'),AA=A('<!> <div class="pane-content svelte-1adl4o1"><!></div>',1),CA=A('<div role="separator"></div>'),TA=A("<div><!></div> <!>",1),RA=A("<div></div>");function LA(e,t){se(t,!0);const n=40,r=28;let s;const i=E=>t.pinned?.[E]??"fr",l=E=>t.collapsed?.[E]??!1,o=E=>t.fixed?.[E]??!1,c=E=>o(E)||o(E+1);function u(E){if(o(E))return!1;const y=E>0?!o(E-1):!1,m=E<t.count-1?!o(E+1):!1;return y||m}function d(E){return l(E)?`0 0 ${r}px`:i(E)==="px"?`0 0 ${Math.max(n,t.sizes[E])}px`:`${Math.max(1e-4,t.sizes[E])} 1 0`}let f=F(null);function h(E,y){if(l(y)||l(y+1)||c(y))return;E.preventDefault(),E.target.setPointerCapture(E.pointerId);const m=s.getBoundingClientRect(),I=t.direction==="horizontal"?m.width:m.height;let T=0,R=0;for(let M=0;M<t.sizes.length;M++)i(M)==="fr"?T+=t.sizes[M]:R+=Math.max(n,t.sizes[M]);S(f,{handleIndex:y,startClient:t.direction==="horizontal"?E.clientX:E.clientY,startSizes:t.sizes.slice(),containerPx:I,totalFr:T,frAvailPx:Math.max(1,I-R)},!0)}function b(E){if(!a(f))return;const m=(t.direction==="horizontal"?E.clientX:E.clientY)-a(f).startClient,I=a(f).handleIndex,T=I+1,R=i(I),M=i(T),z=a(f).totalFr/a(f).frAvailPx;if(R==="fr"&&M==="fr"){const P=n*z,j=m*z,C=a(f).startSizes[T]-P,O=-(a(f).startSizes[I]-P),q=Math.min(Math.max(j,O),C);t.onResize?.(I,a(f).startSizes[I]+q),t.onResize?.(T,a(f).startSizes[T]-q)}else if(R==="px"&&M==="fr"){const P=a(f).frAvailPx-n,j=n-a(f).startSizes[I];t.onResize?.(I,a(f).startSizes[I]+Math.min(Math.max(m,j),P))}else if(R==="fr"&&M==="px"){const P=a(f).startSizes[T]-n,j=-(a(f).frAvailPx-n);t.onResize?.(T,a(f).startSizes[T]-Math.min(Math.max(m,j),P))}else{const P=a(f).startSizes[T]-n,j=-(a(f).startSizes[I]-n),C=Math.min(Math.max(m,j),P);t.onResize?.(I,a(f).startSizes[I]+C),t.onResize?.(T,a(f).startSizes[T]-C)}}function x(E){a(f)&&(E.target.releasePointerCapture(E.pointerId),S(f,null))}var _=RA();let g;pe(_,21,()=>Array(t.count),dt,(E,y,m)=>{var I=TA(),T=fe(I);let R;var M=p(T);{var z=q=>{var L=EA();let V;var J=p(L),G=p(J,!0);v(J),v(L),N(()=>{V=de(L,1,"collapse-header svelte-1adl4o1",null,V,{horizontal:t.direction==="horizontal",vertical:t.direction==="vertical"}),D(G,t.direction==="horizontal"?"▸":"▾")}),U("click",L,()=>t.onCollapseToggle?.(m,!1)),k(q,L)},P=H(()=>l(m)),j=q=>{var L=AA(),V=fe(L);{var J=ae=>{var X=IA();let B;ne(X,"data-testid",`collapse-toggle-${m}`);var W=p(X),oe=p(W,!0);v(W),v(X),N(()=>{B=de(X,1,"collapse-header expanded svelte-1adl4o1",null,B,{horizontal:t.direction==="horizontal",vertical:t.direction==="vertical"}),D(oe,t.direction==="horizontal"?"◂":"▴")}),U("click",X,()=>t.onCollapseToggle?.(m,!0)),k(ae,X)},G=H(()=>t.onCollapseToggle&&u(m));K(V,ae=>{a(G)&&ae(J)})}var $=w(V,2),Z=p($);Ht(Z,()=>t.pane,()=>m),v($),k(q,L)};K(M,q=>{a(P)?q(z):q(j,-1)})}v(T);var C=w(T,2);{var O=q=>{var L=CA();let V;ne(L,"data-testid",`splitter-handle-${m}`),N(J=>{V=de(L,1,"splitter-handle svelte-1adl4o1",null,V,J),ne(L,"aria-orientation",t.direction==="horizontal"?"vertical":"horizontal")},[()=>({dragging:a(f)?.handleIndex===m,disabled:l(m)||l(m+1),frozen:c(m)})]),U("pointerdown",L,J=>h(J,m)),U("pointermove",L,b),U("pointerup",L,x),Re("pointercancel",L,x),U("dblclick",L,()=>{c(m)||!u(m)&&!l(m)||t.onCollapseToggle?.(m,!l(m))}),k(q,L)};K(C,q=>{m<t.count-1&&q(O)})}N((q,L)=>{R=de(T,1,"splitter-pane svelte-1adl4o1",null,R,q),He(T,`flex: ${L??""};`)},[()=>({collapsed:l(m)}),()=>d(m)]),k(E,I)}),v(_),De(_,E=>s=E,()=>s),N(()=>g=de(_,1,"splitter svelte-1adl4o1",null,g,{horizontal:t.direction==="horizontal",vertical:t.direction==="vertical"})),k(e,_),ie()}ce(["click","pointerdown","pointermove","pointerup","dblclick"]);function PA(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 i=Math.max(0,Math.min(e,s.length));let l;return i===s.length?l=s[s.length-1].getBoundingClientRect().right:l=s[i].getBoundingClientRect().left,{left:l-r.left-1,top:2,height:r.height-4}}var MA=A('<span class="tab-dirty svelte-1kxcyhf" title="Unsaved changes"></span>'),jA=A('<span class="tab-icon svelte-1kxcyhf"> </span>'),DA=A('<span class="tab-close svelte-1kxcyhf" role="button" tabindex="-1" title="Close">&#x2715;</span>'),zA=A('<button type="button" role="tab"><!> <!> <span class="tab-label svelte-1kxcyhf"> </span> <!></button>'),OA=A('<div class="drop-indicator svelte-1kxcyhf"></div>'),NA=A("<div><!></div>"),qA=A('<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 BA(e,t){se(t,!0);function n(g){t.clickGuard?.()||t.onActiveChange?.(g)}function r(g,E){E.stopPropagation(),t.onClose?.(g)}let s=F(void 0);const i=le([]);let l=F(null);function o(g,E){if(!t.dragController)return;const y=i[g];y&&t.dragController.onPointerDown(g,E,y)}function c(g){if(!t.dragController||!t.dragController.isDragging||!a(s))return;const E=a(s).getBoundingClientRect(),y=i.filter(m=>!!m).map(m=>m.getBoundingClientRect());S(l,t.dragController.onStripHover(E,g.clientX,g.clientY,y),!0)}function u(){t.dragController&&(S(l,null),t.dragController.onStripLeave())}var d=qA(),f=p(d),h=p(f);pe(h,17,()=>t.labels,dt,(g,E,y)=>{var m=zA();let I;var T=p(m);{var R=q=>{var L=MA();k(q,L)};K(T,q=>{t.dirty?.[y]&&q(R)})}var M=w(T,2);{var z=q=>{var L=jA(),V=p(L,!0);v(L),N(()=>D(V,t.icons[y])),k(q,L)};K(M,q=>{t.icons?.[y]&&q(z)})}var P=w(M,2),j=p(P,!0);v(P);var C=w(P,2);{var O=q=>{var L=DA();N(()=>ne(L,"data-testid",t.tabIds?.[y]?`tab-close-${t.tabIds[y]}`:void 0)),U("click",L,V=>r(y,V)),U("keydown",L,V=>{(V.key==="Enter"||V.key===" ")&&r(y,V)}),k(q,L)};K(C,q=>{t.closable?.[y]&&q(O)})}v(m),De(m,(q,L)=>i[L]=q,q=>i?.[q],()=>[y]),N(()=>{I=de(m,1,"tab svelte-1kxcyhf",null,I,{active:t.activeTab===y}),ne(m,"aria-selected",t.activeTab===y),D(j,a(E))}),U("click",m,()=>n(y)),U("pointerdown",m,q=>o(y,q)),Re("auxclick",m,q=>{q.button===1&&t.closable?.[y]&&r(y,q)}),k(g,m)});var b=w(h,2);{var x=g=>{const E=H(()=>PA(a(l),i,a(s)));var y=Be(),m=fe(y);{var I=T=>{var R=OA();N(()=>He(R,`left: ${a(E).left??""}px; height: ${a(E).height??""}px; top: ${a(E).top??""}px;`)),k(T,R)};K(m,T=>{a(E)&&T(I)})}k(g,y)};K(b,g=>{a(l)!==null&&t.dragController?.isDragging&&g(x)})}v(f),De(f,g=>S(s,g),()=>a(s));var _=w(f,2);pe(_,21,()=>t.labels,dt,(g,E,y)=>{var m=NA();let I;var T=p(m);Ht(T,()=>t.body,()=>y),v(m),N(()=>I=de(m,1,"tab-body-pane svelte-1kxcyhf",null,I,{active:t.activeTab===y})),k(g,m)}),v(_),v(d),U("pointermove",f,c),Re("pointerleave",f,u),k(e,d),ie()}ce(["pointermove","click","pointerdown","keydown"]);var VA=A('no factory for <code class="svelte-1czj0s8"> </code>',1),FA=A("<em>empty slot</em>"),UA=A('<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>'),HA=A('<div class="slot svelte-1czj0s8"><!></div>');function Eu(e,t){se(t,!0);let n=Q(t,"label",3,""),r=F(void 0),s=F(0),i=F(0);const l=H(()=>t.node.viewId?!!Nf(t.node.viewId):!1);ke(()=>{if(!a(r))return;const d=t.node.slotId,f=a(r),h=Al(d,t.node.viewId,n()||t.node.viewId||d,t.meta);f.appendChild(h);const b=new ResizeObserver(x=>{for(const _ of x){const g=_.contentRect;S(s,Math.round(g.width),!0),S(i,Math.round(g.height),!0)}});return b.observe(f),()=>{b.disconnect(),Cl(d,f)}});var o=HA(),c=p(o);{var u=d=>{var f=UA(),h=p(f),b=p(h,!0);v(h);var x=w(h,2),_=p(x);{var g=I=>{var T=VA(),R=w(fe(T)),M=p(R,!0);v(R),N(()=>D(M,t.node.viewId)),k(I,T)},E=I=>{var T=FA();k(I,T)};K(_,I=>{t.node.viewId?I(g):I(E,-1)})}v(x);var y=w(x,2),m=p(y);v(y),v(f),N(()=>{D(b,t.node.slotId),D(m,`${a(s)??""} × ${a(i)??""}`)}),k(d,f)};K(c,d=>{a(l)||d(u)})}v(o),De(o,d=>S(r,d),()=>a(r)),N(()=>{ne(o,"data-slot-id",t.node.slotId),ne(o,"data-view-id",t.node.viewId??"")}),k(e,o),ie()}const we=le({phase:"idle",source:null,pointerX:0,pointerY:0,target:null});let Uh=0;function KA(){return performance.now()<Uh}const Iu=4;let Hh=0,Kh=0;function WA(e,t,n,r,s){if(we.phase!=="idle")return;const i=s.getBoundingClientRect();we.phase="pending",we.source={slotId:e,entry:t,sourceRoot:n,startRect:i,offsetX:r.clientX-i.left,offsetY:r.clientY-i.top},we.pointerX=r.clientX,we.pointerY=r.clientY,we.target=null,Hh=r.clientX,Kh=r.clientY,YA()}function YA(){window.addEventListener("pointermove",Wh,!0),window.addEventListener("pointerup",Yh,!0),window.addEventListener("pointercancel",Gh,!0),document.body.style.userSelect="none",document.body.dataset.dragging=""}function GA(){window.removeEventListener("pointermove",Wh,!0),window.removeEventListener("pointerup",Yh,!0),window.removeEventListener("pointercancel",Gh,!0),document.body.style.userSelect="",delete document.body.dataset.dragging}function Wh(e){if(we.pointerX=e.clientX,we.pointerY=e.clientY,we.phase==="pending"){const t=e.clientX-Hh,n=e.clientY-Kh;t*t+n*n>=Iu*Iu&&(we.phase="dragging")}}function Yh(e){we.phase==="dragging"&&(XA(),Uh=performance.now()+50),Xh()}function Gh(e){Xh()}function Au(e){const t=pn.tree;if(e.kind==="docked")return t.docked;const n=t.floats.find(r=>r.id===e.floatId);return n?n.content:null}function Cu(e){if(e.kind!=="float")return;const t=pn.tree,n=t.floats.findIndex(r=>r.id===e.floatId);n<0||kf(t.floats[n].content)&&t.floats.splice(n,1)}function XA(){const{source:e,target:t}=we;if(!e||!t)return;const n=Au(e.sourceRoot),r=Au(t.root);if(!n||!r)return;if(t.kind==="strip"){const i=t.tabsNode.tabs.findIndex(l=>l.slotId===e.slotId);if(i>=0){m1(t.tabsNode,i,t.insertIndex),xr(n),r!==n&&xr(r),Cu(e.sourceRoot);return}}const s=oa(n,e.slotId);s&&(t.kind==="strip"?p1(t.tabsNode,s,t.insertIndex):Ff(r,t.path,s,t.side),xr(n),r!==n&&xr(r),Cu(e.sourceRoot))}function Xh(){we.phase="idle",we.source=null,we.target=null,GA()}function Oo(e){we.phase==="dragging"&&(we.target=e)}function Cr(e){we.phase==="dragging"&&we.target&&(e&&!e(we.target)||(we.target=null))}var JA=A("<div></div>"),ZA=A('<div class="quad-target quad-left svelte-re71zu" data-testid="drop-zone-left"></div> <div class="quad-target quad-right svelte-re71zu" data-testid="drop-zone-right"></div> <div class="quad-target quad-top svelte-re71zu" data-testid="drop-zone-top"></div> <div class="quad-target quad-bottom svelte-re71zu" data-testid="drop-zone-bottom"></div>',1),QA=A("<!> <!>",1),$A=A("<div><!></div>");function Tu(e,t){se(t,!0);let n=F(void 0),r=F(null);const s=H(()=>we.phase==="dragging"),i=H(()=>{let b;return t.rootRef.kind==="docked"?b=pn.root:b=pn.tree.floats.find(_=>_.id===t.rootRef.floatId)?.content??null,b?Uf(b,t.path):!1});function l(b,x,_){const g=_.left+_.width/2,E=_.top+_.height/2,y=b-g,m=x-E,I=y/_.width,T=m/_.height;return Math.abs(I)>Math.abs(T)?I<0?"left":"right":T<0?"top":"bottom"}function o(b){if(!a(n))return;if(a(i)){a(r)!==null&&(S(r,null),Cr(g=>g.kind==="split"&&g.path.join("/")===t.path.join("/")));return}const x=a(n).getBoundingClientRect();if(b.clientX<x.left||b.clientX>x.right||b.clientY<x.top||b.clientY>x.bottom){a(r)!==null&&(S(r,null),Cr(g=>g.kind==="split"&&g.path.join("/")===t.path.join("/")));return}const _=l(b.clientX,b.clientY,x);if(_!==a(r)){S(r,_,!0);const g={kind:"split",root:t.rootRef,path:[...t.path],side:_};Oo(g)}}function c(){a(r)!==null&&(S(r,null),Cr(b=>b.kind==="split"&&b.path.join("/")===t.path.join("/")))}var u=$A();let d;var f=p(u);{var h=b=>{var x=QA(),_=fe(x);{var g=m=>{var I=JA();N(()=>de(I,1,`quad-highlight quad-${a(r)??""}`,"svelte-re71zu")),k(m,I)};K(_,m=>{a(r)&&m(g)})}var E=w(_,2);{var y=m=>{var I=ZA();Et(6),k(m,I)};K(E,m=>{a(s)&&m(y)})}k(b,x)};K(f,b=>{a(i)||b(h)})}v(u),De(u,b=>S(n,b),()=>a(n)),N(()=>d=de(u,1,"slot-drop-zone svelte-re71zu",null,d,{active:a(s),locked:a(i)})),U("pointermove",u,o),Re("pointerleave",u,c),k(e,u),ie()}ce(["pointermove"]);var eC=A('<div class="tab-slot-wrapper svelte-1gw9g38"><!> <!></div>'),tC=A('<div class="empty-tabs-custom svelte-1gw9g38"></div>'),nC=A('<div class="empty-tabs-default svelte-1gw9g38"><div class="empty-tabs-drop svelte-1gw9g38"></div></div>'),rC=A('<div class="empty-tabs-placeholder svelte-1gw9g38"><!></div>'),sC=A('<div class="leaf-slot-wrapper svelte-1gw9g38"><!> <!></div>');function Rs(e,t){se(t,!0);let n=Q(t,"path",19,()=>[]),r=Q(t,"rootRef",19,()=>({kind:"docked"}));const s=H(()=>{let y;return r().kind==="docked"?y=pn.root:y=pn.tree.floats.find(I=>I.id===r().floatId)?.content??null,y?ks(y,n()):null});function i(y){return{get isDragging(){return we.phase==="dragging"},onPointerDown(m,I,T){const R=y.tabs[m];R&&WA(R.slotId,R,r(),I,T)},onStripHover(m,I,T,R){if(T<m.top||T>m.bottom)return Cr(P=>P.kind==="strip"&&P.tabsNode===y),null;let M=R.length;for(let P=0;P<R.length;P++){const j=R[P],C=j.left+j.width/2;if(I<C){M=P;break}}const z=we.source;if(z){const P=y.tabs.findIndex(j=>j.slotId===z.slotId);P>=0&&P<M&&(M-=1)}return Oo({kind:"strip",root:r(),tabsNode:y,insertIndex:M}),M},onStripLeave(){Cr(m=>m.kind==="strip"&&m.tabsNode===y)}}}function l(y){return y.type==="split"?y:null}function o(y){return y.type==="tabs"?y:null}function c(y){return y.type==="slot"?y:null}function u(y){return y.map(m=>w1(m.slotId)||void 0)}function d(y){return y.map(m=>_1(m.slotId)||void 0)}function f(y,m){const I=y[m];I&&Dl(I.slotId)}function h(y,m){m(y)}function b(y,m){we.phase==="dragging"&&Oo({kind:"strip",root:r(),tabsNode:m,insertIndex:0})}function x(){Cr(y=>y.kind==="strip"&&y.insertIndex===0)}var _=Be(),g=fe(_);{var E=y=>{var m=Be(),I=fe(m);{var T=z=>{const P=(C,O=St)=>{{let q=H(()=>[...n(),O()]);Rs(C,{get rootRef(){return r()},get path(){return a(q)}})}},j=H(()=>l(a(s)));LA(z,{get direction(){return a(j).direction},get sizes(){return a(j).sizes},get pinned(){return a(j).pinned},get collapsed(){return a(j).collapsed},get fixed(){return a(j).fixed},get count(){return a(j).children.length},get pane(){return P},onResize:(C,O)=>a(j).sizes[C]=O,onCollapseToggle:(C,O)=>{a(j).collapsed||(a(j).collapsed=a(j).children.map(()=>!1)),a(j).collapsed[C]=O}})},R=z=>{const P=H(()=>o(a(s)));var j=Be(),C=fe(j);{var O=L=>{const V=(G,$=St)=>{const Z=H(()=>a(P)?.tabs[$()]);var ae=Be(),X=fe(ae);{var B=W=>{var oe=eC(),Y=p(oe);{let be=H(()=>({type:"slot",slotId:a(Z).slotId,viewId:a(Z).viewId}));Eu(Y,{get node(){return a(be)},get label(){return a(Z).label},get meta(){return a(Z).meta}})}var ue=w(Y,2);Tu(ue,{get rootRef(){return r()},get path(){return n()}}),v(oe),k(W,oe)};K(X,W=>{a(Z)&&W(B)})}k(G,ae)},J=H(()=>i(a(P)));{let G=H(()=>a(P).tabs.map(B=>B.label)),$=H(()=>a(P).tabs.map(B=>B.icon)),Z=H(()=>u(a(P).tabs)),ae=H(()=>d(a(P).tabs)),X=H(()=>a(P).tabs.map(B=>B.slotId));BA(L,{get labels(){return a(G)},get icons(){return a($)},get activeTab(){return a(P).activeTab},onActiveChange:B=>a(P).activeTab=B,get body(){return V},get dragController(){return a(J)},get clickGuard(){return KA},get closable(){return a(Z)},get dirty(){return a(ae)},onClose:B=>f(a(P).tabs,B),get tabIds(){return a(X)}})}},q=L=>{var V=rC(),J=p(V);{var G=Z=>{var ae=tC();rf(ae,(X,B)=>h?.(X,B),()=>a(P).emptyRenderer),k(Z,ae)},$=Z=>{var ae=nC(),X=p(ae);v(ae),U("pointermove",X,B=>b(B,a(P))),Re("pointerleave",X,x),k(Z,ae)};K(J,Z=>{a(P).emptyRenderer?Z(G):Z($,-1)})}v(V),k(L,V)};K(C,L=>{a(P)&&a(P).tabs.length>0?L(O):a(P)?.persistent&&L(q,1)})}k(z,j)},M=z=>{const P=H(()=>c(a(s)));var j=sC(),C=p(j);Eu(C,{get node(){return a(P)},get meta(){return a(P).meta}});var O=w(C,2);Tu(O,{get rootRef(){return r()},get path(){return n()}}),v(j),k(z,j)};K(I,z=>{a(s).type==="split"?z(T):a(s).type==="tabs"?z(R,1):z(M,-1)})}k(y,m)};K(g,y=>{a(s)&&y(E)})}k(e,_),ie()}ce(["pointermove"]);var iC=A('<span class="drag-preview-icon svelte-133fiip"> </span>'),aC=A('<div class="drag-preview svelte-133fiip"><!> <span class="drag-preview-label svelte-133fiip"> </span></div>');function oC(e,t){se(t,!0);const n=H(()=>we.phase==="dragging"&&!!we.source),r=H(()=>we.source?we.pointerX-we.source.offsetX:0),s=H(()=>we.source?we.pointerY-we.source.offsetY:0),i=H(()=>we.source?.startRect.width??0),l=H(()=>we.source?.startRect.height??0),o=H(()=>we.source?.entry.label??""),c=H(()=>we.source?.entry.icon);var u=Be(),d=fe(u);{var f=h=>{var b=aC(),x=p(b);{var _=y=>{var m=iC(),I=p(m,!0);v(m),N(()=>D(I,a(c))),k(y,m)};K(x,y=>{a(c)&&y(_)})}var g=w(x,2),E=p(g,!0);v(g),v(b),N(()=>{He(b,`left: ${a(r)??""}px; top: ${a(s)??""}px; width: ${a(i)??""}px; height: ${a(l)??""}px;`),D(E,a(o))}),k(h,b)};K(d,h=>{a(n)&&h(f)})}k(e,u),ie()}const Tr=new Map;let Bi=!1;function Jh(e){if(Tr.size===0)return;const t=e.target;if(!t)return;const n=Array.from(Tr.keys());for(const r of n){const s=Tr.get(r);s&&(s.contains(t)||Ce.close(r))}}function lC(){Bi||typeof document>"u"||(document.addEventListener("pointerdown",Jh,!0),Bi=!0)}function cC(){Bi&&(Tr.size>0||(document.removeEventListener("pointerdown",Jh,!0),Bi=!1))}function uC(e,t){Tr.set(e,t),lC()}function dC(e){Tr.delete(e),cC()}function fC(e){const t=new Set;return Zh(e,t),[...t]}function Zh(e,t){switch(e.type){case"slot":{if(e.viewId!==null){const n=Vc(e.viewId);n&&t.add(n)}return}case"tabs":{for(const n of e.tabs)if(n.viewId!==null){const r=Vc(n.viewId);r&&t.add(r)}return}case"split":{for(const n of e.children)Zh(n,t);return}}}var vC=A('<button class="sh3-float-popout svelte-1p734al" aria-label="Open in own window" title="Open in own window">⧉</button>'),hC=A('<header class="sh3-float-header svelte-1p734al" data-sh3-scope="element:float-header"><span class="sh3-float-title svelte-1p734al"> </span> <span class="sh3-float-header-actions svelte-1p734al"><!> <button class="sh3-float-maximize svelte-1p734al"> </button> <button class="sh3-float-close svelte-1p734al" aria-label="Close float">×</button></span></header>'),pC=A('<div class="sh3-float-frame svelte-1p734al" data-sh3-overlay-host="float" role="dialog" tabindex="-1"><!> <div class="sh3-float-body svelte-1p734al"><!></div> <div class="sh3-float-resize-grip svelte-1p734al" role="presentation" aria-hidden="true"></div></div>');function mC(e,t){se(t,!0);const n=typeof globalThis.__TAURI_INTERNALS__<"u",r=aa("__layouts__");function s(L){L.preventDefault(),r.set({type:"float-header",ref:{floatId:i().id}}),an.actions.openContextMenu({x:L.clientX,y:L.clientY,scope:{element:"float-header"}})}let i=Q(t,"entry",15),l=F(!1),o={x:0,y:0},c=F(!1),u={pointer:{x:0,y:0},size:{w:0,h:0},min:{w:0,h:0}},d=F(void 0);const f=H(()=>Ce.isMaximized(i().id));ke(()=>{if(i().dismissable&&a(d))return uC(i().id,a(d)),()=>dC(i().id)}),ke(()=>{if(!a(d))return;const L=N_(i().id);if(L)return L.appendChild(a(d)),()=>{a(d)?.parentNode===L&&a(d).remove()}});function h(L){if(L.button!==0||L.target.closest(".sh3-float-close")||L.target.closest(".sh3-float-maximize")||L.target.closest(".sh3-float-popout"))return;L.currentTarget.setPointerCapture?.(L.pointerId),S(l,!0),o={x:L.clientX-i().position.x,y:L.clientY-i().position.y},Ce.focus(i().id)}function b(L){a(l)&&(Ce.unmaximize(i().id),i(i().position.x=L.clientX-o.x,!0),i(i().position.y=L.clientY-o.y,!0))}function x(L){if(!a(l))return;S(l,!1);const V=L.currentTarget;V.hasPointerCapture?.(L.pointerId)&&V.releasePointerCapture(L.pointerId)}function _(L){L.target.closest(".sh3-float-close")||L.target.closest(".sh3-float-maximize")||L.target.closest(".sh3-float-popout")||Ce.toggleMaximize(i().id)}function g(L){if(L.button!==0)return;L.stopPropagation(),L.currentTarget.setPointerCapture?.(L.pointerId),S(c,!0),u={pointer:{x:L.clientX,y:L.clientY},size:{w:i().size.w,h:i().size.h},min:ml(i().content)},Ce.focus(i().id)}function E(L){if(!a(c))return;Ce.unmaximize(i().id);const V=L.clientX-u.pointer.x,J=L.clientY-u.pointer.y;i(i().size.w=Math.max(u.min.w,u.size.w+V),!0),i(i().size.h=Math.max(u.min.h,u.size.h+J),!0)}function y(L){if(!a(c))return;S(c,!1);const V=L.currentTarget;V.hasPointerCapture?.(L.pointerId)&&V.releasePointerCapture(L.pointerId)}function m(){Ce.focus(i().id)}function I(L){L.stopPropagation(),Ce.toggleMaximize(i().id)}function T(L){L.stopPropagation(),Ce.close(i().id)}async function R(L){L.stopPropagation();try{await ga({kind:"float",content:i().content,title:i().title,size:{w:i().size.w,h:i().size.h},activateShards:fC(i().content)}),Ce.close(i().id)}catch(V){an.toast.notify(`Pop-out failed: ${V.message}`,{level:"error",duration:5e3})}}var M=pC();let z;var P=p(M);{var j=L=>{var V=hC(),J=p(V),G=p(J,!0);v(J);var $=w(J,2),Z=p($);{var ae=oe=>{var Y=vC();U("click",Y,R),k(oe,Y)};K(Z,oe=>{n&&oe(ae)})}var X=w(Z,2),B=p(X,!0);v(X);var W=w(X,2);v($),v(V),N(()=>{ne(V,"data-float-id",i().id),D(G,i().title),ne(X,"aria-label",a(f)?"Restore float":"Maximize float"),ne(X,"aria-pressed",a(f)),D(B,a(f)?"🗗":"🗖")}),U("pointerdown",V,h),U("pointermove",V,b),U("pointerup",V,x),Re("pointercancel",V,x),U("dblclick",V,_),U("contextmenu",V,s),U("click",X,I),U("click",W,T),k(L,V)};K(P,L=>{i().title&&L(j)})}var C=w(P,2),O=p(C);{let L=H(()=>({kind:"float",floatId:i().id}));Rs(O,{get rootRef(){return a(L)},path:[]})}v(C);var q=w(C,2);v(M),De(M,L=>S(d,L),()=>a(d)),N(()=>{ne(M,"aria-label",i().title??"Float panel"),z=He(M,"",z,{left:`${i().position.x??""}px`,top:`${i().position.y??""}px`,width:`${i().size.w??""}px`,height:`${i().size.h??""}px`})}),U("click",M,m),U("pointerdown",q,g),U("pointermove",q,E),U("pointerup",q,y),Re("pointercancel",q,y),k(e,M),ie()}ce(["click","pointerdown","pointermove","pointerup","dblclick","contextmenu"]);var bC=A('<div class="sh3-float-layer svelte-1rzcset"></div>');function gC(e,t){se(t,!0);const n=H(()=>pn.floats);var r=bC();pe(r,23,()=>a(n),s=>s.id,(s,i,l)=>{mC(s,{get entry(){return a(n)[a(l)]},set entry(o){a(n)[a(l)]=o}})}),v(r),k(e,r),ie()}var yC=A('<div class="sh3-overlay-root svelte-4ykdm7"><!></div>'),_C=A('<div class="sh3-overlays svelte-4ykdm7" aria-hidden="true"></div>');function Qh(e,t){se(t,!0);const n=[{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"}],r=le({});ke(()=>{for(const{name:i}of n){const l=r[i];l&&l_(i,l)}return()=>{for(const{name:i}of n)c_(i)}}),ke(()=>{const i=pn.tree;return z_(i.floats,()=>({w:window.innerWidth,h:window.innerHeight})),()=>O_()});var s=_C();pe(s,21,()=>n,({layer:i,name:l})=>i,(i,l)=>{let o=()=>a(l).layer,c=()=>a(l).name;var u=yC(),d=p(u);{var f=b=>{gC(b,{})},h=b=>{oC(b,{})};K(d,b=>{c()==="floating"?b(f):c()==="drag-preview"&&b(h,1)})}v(u),De(u,(b,x)=>r[x]=b,b=>r?.[b],()=>[c()]),N(()=>{ne(u,"data-sh3-overlay",c()),ne(u,"data-sh3-layer",o()),He(u,`z-index: var(--sh3-z-layer-${o()??""});`)}),k(i,u)}),v(s),k(e,s),ie()}var wC=A('<div class="guest-signin-error svelte-pymkh"> </div>'),kC=A('<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>'),xC=A('<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),SC=A('<div class="guest-banner-slot"><!></div>');function EC(e,t){se(t,!0);let n=F(!1),r=F(""),s=F(""),i=F(null),l=F(!1);async function o(){if(!a(r).trim()||!a(s).trim()||a(l))return;S(l,!0),S(i,null);const h=await xv(a(r).trim(),a(s).trim());S(l,!1),h.ok?S(n,!1):S(i,h.error,!0)}var c=SC(),u=p(c);{var d=h=>{var b=xC(),x=fe(b),_=w(p(x),2);v(x);var g=w(x,2);{var E=y=>{var m=kC(),I=p(m),T=p(I),R=p(T);ge(R);var M=w(R,2);ge(M);var z=w(M,2),P=p(z),j=p(P,!0);v(P);var C=w(P,2);v(z),v(T);var O=w(T,2);{var q=L=>{var V=wC(),J=p(V,!0);v(V),N(()=>D(J,a(i))),k(L,V)};K(O,L=>{a(i)&&L(q)})}v(I),v(m),N(L=>{R.disabled=a(l),M.disabled=a(l),P.disabled=L,D(j,a(l)?"Signing in...":"Sign in")},[()=>a(l)||!a(r).trim()||!a(s).trim()]),Re("submit",T,L=>{L.preventDefault(),o()}),Se(R,()=>a(r),L=>S(r,L)),Se(M,()=>a(s),L=>S(s,L)),U("click",C,()=>{S(n,!1),S(i,null)}),k(y,m)};K(g,y=>{a(n)&&y(E)})}U("click",_,()=>{S(n,!0)}),k(h,b)},f=H(()=>Sv());K(u,h=>{a(f)&&h(d)})}v(c),k(e,c),ie()}ce(["click"]);var IC=A('<code class="sh3-consent-scope svelte-14me5sj"> </code>'),AC=A('<dt class="svelte-14me5sj">Peer</dt> <dd class="svelte-14me5sj"> </dd>',1),CC=A('<dt class="svelte-14me5sj">Expires in</dt> <dd class="svelte-14me5sj"> </dd>',1),TC=A('<div class="sh3-consent-backdrop svelte-14me5sj" role="dialog" aria-modal="true" aria-label="Key creation consent"><div class="sh3-consent-card svelte-14me5sj"><h2 class="sh3-consent-title svelte-14me5sj"><span class="svelte-14me5sj"> </span> wants to create a key</h2> <dl class="sh3-consent-fields svelte-14me5sj"><dt class="svelte-14me5sj">Label</dt> <dd class="svelte-14me5sj"> </dd> <dt class="svelte-14me5sj">Scopes</dt> <dd class="sh3-consent-scopes svelte-14me5sj"></dd> <!> <!></dl> <div class="sh3-consent-actions svelte-14me5sj"><button type="button" class="sh3-consent-deny svelte-14me5sj">Deny</button> <button type="button" class="sh3-consent-approve svelte-14me5sj">Approve</button></div></div></div>');function RC(e,t){se(t,!0);let n=F(null);ke(()=>Bv(u=>{S(n,u,!0)}));function r(){a(n)&&(Ro(a(n).requestId,!0),S(n,null))}function s(){a(n)&&(Ro(a(n).requestId,!1),S(n,null))}var i=Be(),l=fe(i);{var o=c=>{var u=TC(),d=p(u),f=p(d),h=p(f),b=p(h,!0);v(h),Et(),v(f);var x=w(f,2),_=w(p(x),2),g=p(_,!0);v(_);var E=w(_,4);pe(E,20,()=>a(n).scopes,P=>P,(P,j)=>{var C=IC(),O=p(C,!0);v(C),N(()=>D(O,j)),k(P,C)}),v(E);var y=w(E,2);{var m=P=>{var j=AC(),C=w(fe(j),2),O=p(C);v(C),N(()=>D(O,`${a(n).peerRole??"—"??""}${a(n).peerId?` · ${a(n).peerId}`:""}`)),k(P,j)};K(y,P=>{(a(n).peerRole||a(n).peerId)&&P(m)})}var I=w(y,2);{var T=P=>{var j=CC(),C=w(fe(j),2),O=p(C);v(C),N(q=>D(O,`${q??""}s`),[()=>Math.round(a(n).expiresIn/1e3)]),k(P,j)};K(I,P=>{a(n).expiresIn&&P(T)})}v(x);var R=w(x,2),M=p(R);Ur(M,!0);var z=w(M,2);v(R),v(d),v(u),N(()=>{D(b,a(n).shardId),D(g,a(n).label)}),U("click",M,s),U("click",z,r),k(c,u)};K(l,c=>{a(n)&&c(o)})}k(e,i),ie()}ce(["click"]);var LC=A('<span class="sh3-brand svelte-18lk809">SH3</span>'),PC=A('<span class="sh3-brand sh3-brand-app svelte-18lk809"> </span>'),MC=A('<span class="sh3-brand svelte-18lk809">SH3</span> <span class="sh3-brand-sep svelte-18lk809" aria-hidden="true">›</span> <button type="button" class="sh3-brand-crumb svelte-18lk809"> </button>',1),jC=A('<button type="button" class="sh3-brand sh3-brand-clickable svelte-18lk809" title="Exit project">SH3</button> <span class="sh3-brand-sep svelte-18lk809" aria-hidden="true">›</span> <span class="sh3-brand-project svelte-18lk809"> </span>',1),DC=A('<span class="sh3-brand sh3-brand-project svelte-18lk809"> </span> <span class="sh3-brand-sep svelte-18lk809" aria-hidden="true">›</span> <span class="sh3-brand sh3-brand-app svelte-18lk809"> </span>',1),zC=A('<button type="button" class="sh3-brand sh3-brand-clickable svelte-18lk809" title="Exit project">SH3</button> <span class="sh3-brand-sep svelte-18lk809" aria-hidden="true">›</span> <button type="button" class="sh3-brand-crumb svelte-18lk809"> </button> <span class="sh3-brand-sep svelte-18lk809" aria-hidden="true">›</span> <button type="button" class="sh3-brand-crumb svelte-18lk809"> </button>',1),OC=A('<div class="sh3-brand-slot svelte-18lk809"><!></div>');function $h(e,t){se(t,!0);const n=H(()=>Ft().activeAppId),r=H(u_),s=H(()=>ir.activeProjectId),i=H(()=>a(n)?zn(a(n))?.manifest.label??a(n):null),l=H(()=>a(r)?zn(a(r))?.manifest.label??a(r):null),o=H(()=>a(s)?Nt.projects.find(I=>I.id===a(s))?.name??a(s):null),c=H(()=>a(s)?a(n)?"project-app":a(r)?"project-breadcrumb":"project-home":a(n)?"app":a(r)?"breadcrumb":"brand");function u(){a(r)&&En(a(r))}function d(){hv(null)}function f(){a(n)&&Xs()}var h=OC(),b=p(h);{var x=I=>{var T=LC();k(I,T)},_=I=>{var T=PC(),R=p(T,!0);v(T),N(()=>D(R,a(i))),k(I,T)},g=I=>{var T=MC(),R=w(fe(T),4),M=p(R,!0);v(R),N(()=>D(M,a(l))),U("click",R,u),k(I,T)},E=I=>{var T=jC(),R=fe(T),M=w(R,4),z=p(M,!0);v(M),N(()=>D(z,a(o))),U("click",R,d),k(I,T)},y=I=>{var T=DC(),R=fe(T),M=p(R,!0);v(R);var z=w(R,4),P=p(z,!0);v(z),N(()=>{D(M,a(o)),D(P,a(i))}),k(I,T)},m=I=>{var T=zC(),R=fe(T),M=w(R,4),z=p(M,!0);v(M);var P=w(M,4),j=p(P,!0);v(P),N(()=>{D(z,a(o)),D(j,a(l))}),U("click",R,d),U("click",M,f),U("click",P,u),k(I,T)};K(b,I=>{a(c)==="brand"?I(x):a(c)==="app"?I(_,1):a(c)==="breadcrumb"?I(g,2):a(c)==="project-home"?I(E,3):a(c)==="project-app"?I(y,4):a(c)==="project-breadcrumb"&&I(m,5)})}v(h),k(e,h),ie()}ce(["click"]);const NC=Object.freeze([{id:"file",label:"File"},{id:"edit",label:"Edit"},{id:"view",label:"View"},{id:"window",label:"Window"},{id:"help",label:"Help"}]);function Vi(e){return e===void 0?!1:typeof e=="function"?!!e():!!e}function qC(e,t){if(e==null)return[];if(t==null)return NC.slice();const n=t.map((r,s)=>({c:r,i:s}));return n.sort((r,s)=>{const i=r.c.order,l=s.c.order;return i!=null&&l!=null?i-l||r.i-s.i:i!=null?-1:l!=null?1:r.i-s.i}),n.map(r=>r.c)}function BC(e,t,n){const r=[],s=new Set;for(const i of e)i.action.menuItem!==n||i.action.submenuOf!==void 0||s.has(i.action.id)||!Ws(i.action.scope,t,i.ownerShardId)||(s.add(i.action.id),r.push({id:i.action.id,label:Yt(i.action),shortcut:Ks(i.action,t.bindings,t.platform),group:i.action.group??"",icon:i.action.icon,checked:Vi(i.action.checked),disabled:Vi(i.action.disabled),submenu:i.action.submenu===!0}));return r}function VC(e,t,n){const r=[],s=new Set;for(const i of e)i.action.submenuOf!==n||s.has(i.action.id)||!Ws(i.action.scope,t,i.ownerShardId)||(s.add(i.action.id),r.push({id:i.action.id,label:Yt(i.action),shortcut:Ks(i.action,t.bindings,t.platform),group:i.action.group??"",icon:i.action.icon,checked:Vi(i.action.checked),disabled:Vi(i.action.disabled),submenu:i.action.submenu===!0}));return r}var FC=A('<span class="sh3-menubar-icon svelte-bke3dt"></span>'),UC=A('<span class="sh3-menubar-icon svelte-bke3dt"></span>'),HC=A('<button type="button" class="sh3-menubar-button svelte-bke3dt"><!> <span class="sh3-menubar-label"> </span> <!></button>');function KC(e,t){se(t,!0);let n=F(void 0);function r(_){const g=new Map,E=[];for(const y of _){const m=y.group||"";g.has(m)||(g.set(m,[]),E.push(m)),g.get(m).push(y)}return E.map(y=>({id:`group:${y||"_default"}`,items:g.get(y)}))}function s(_,g,E){const y=et().find(m=>m.action.id===_);if(!(!y||typeof y.action.run!="function")){try{y.action.run({action:{id:_,label:Yt(y.action)},appId:g.activeAppId,viewId:g.focusedViewId??void 0,selection:g.selection??void 0,invokedVia:"palette",dispatch:()=>{}})}catch(m){console.error(`[sh3] menu-bar action "${_}" threw:`,m)}E.close()}}function i(_,g,E){const y=document.querySelector(".sh3-popup-host");if(!y)return;const m=document.createElement("div");m.className="sh3-popup-submenu",m.style.position="absolute",m.style.pointerEvents="auto";const T=(y.querySelector(".sh3-ctx-active")??y).getBoundingClientRect();m.style.left=`${T.right+2}px`,m.style.top=`${T.top}px`,y.appendChild(m);const R=VC(et(),g,_),M=qe(Pi,{target:m,props:{sections:r(R),onInvoke:z=>s(z,g,E),onDismiss:()=>{Xe(M),m.remove()}}})}function l(){if(!a(n))return;const _=Ft(),g=vo.show(Pi,{anchor:a(n),placement:"bottom-start"},{sections:r(t.items),onInvoke:E=>{const y=et().find(m=>m.action.id===E);if(y){if(y.action.submenu===!0){i(E,_,g);return}s(E,_,g)}},onDismiss:()=>vo.close()})}const o=H(()=>t.container.iconPosition??"before");var c=HC(),u=p(c);{var d=_=>{var g=FC();N(()=>ne(g,"data-icon",t.container.icon)),k(_,g)};K(u,_=>{t.container.icon&&a(o)==="before"&&_(d)})}var f=w(u,2),h=p(f,!0);v(f);var b=w(f,2);{var x=_=>{var g=UC();N(()=>ne(g,"data-icon",t.container.icon)),k(_,g)};K(b,_=>{t.container.icon&&a(o)==="after"&&_(x)})}v(c),De(c,_=>S(n,_),()=>a(n)),N(()=>D(h,t.container.label)),U("click",c,l),k(e,c),ie()}ce(["click"]);var WC=A('<div class="sh3-menubar svelte-7gc0wa" role="menubar"></div>');function ep(e,t){se(t,!0);const n=H(Ft),r=H(()=>a(n).activeAppId),s=H(()=>{if(a(r))return zn(a(r))?.manifest.menus}),i=H(()=>qC(a(r),a(s))),l=H(()=>{const c=[],u=et();for(const d of a(i)){const f=BC(u,a(n),d.id);f.length>0&&c.push({container:d,items:f})}return c});var o=WC();pe(o,21,()=>a(l),({container:c,items:u})=>c.id,(c,u)=>{let d=()=>a(u).container,f=()=>a(u).items;KC(c,{get container(){return d()},get items(){return f()}})}),v(o),k(e,o),ie()}var YC=A('<button type="button" class="sh3-tabbar-signout svelte-1amm732" title="Sign out"><svg class="sh3-tabbar-signout-icon svelte-1amm732" aria-hidden="true"><use></use></svg></button>'),GC=A('<div class="sh3-tabbar-user svelte-1amm732"><span class="sh3-tabbar-user-name svelte-1amm732"> </span> <span class="sh3-tabbar-tag svelte-1amm732"> </span> <!></div>'),XC=A('<div class="sh3 svelte-1amm732"><header class="sh3-tabbar svelte-1amm732" data-sh3-region="tabbar"><button type="button" class="sh3-tabbar-home-button svelte-1amm732" title="Home"><svg class="sh3-tabbar-home-icon svelte-1amm732" aria-hidden="true"><use></use></svg></button> <!> <!> <!></header> <!> <main class="sh3-content svelte-1amm732" data-sh3-region="content" data-sh3-layer="0"><!></main> <footer class="sh3-statusbar svelte-1amm732" data-sh3-region="statusbar"></footer> <!> <!></div>');function JC(e,t){se(t,!0);const n=H(Eo),r=H(qr),s=H(bt),i=H(()=>Jf()==="home");ke(()=>{pn.tree,D1()}),ke(()=>Eo()?S0():void 0);var l=XC(),o=p(l),c=p(o),u=p(c),d=p(u);v(u),v(c);var f=w(c,2);$h(f,{});var h=w(f,2);ep(h,{});var b=w(h,2);{var x=I=>{var T=GC(),R=p(T),M=p(R,!0);v(R);var z=w(R,2),P=p(z,!0);v(z);var j=w(z,2);{var C=q=>{var L=YC(),V=p(L),J=p(V);v(V),v(L),N(()=>ne(J,"href",`${On}#log-out`)),U("click",L,()=>Rk()),k(q,L)},O=H(()=>!Pk());K(j,q=>{a(O)&&q(C)})}v(T),N(()=>{D(M,a(r).displayName),D(P,a(s)?"admin":"user")}),k(I,T)};K(b,I=>{a(n)&&a(r)&&I(x)})}v(o);var _=w(o,2);EC(_,{});var g=w(_,2),E=p(g);Rs(E,{}),v(g);var y=w(g,4);Qh(y,{});var m=w(y,2);RC(m,{}),v(l),N(()=>{c.disabled=a(i),ne(d,"href",`${On}#house`)}),U("click",c,()=>Xs()),k(e,l),ie()}ce(["click"]);var ZC=A('<button type="button" class="signin-link svelte-lh4k15">Create an account</button>'),QC=A('<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),$C=A('<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),eT=A('<div class="signin-error svelte-lh4k15"> </div>'),tT=A('<div class="signin-wall svelte-lh4k15"><div class="signin-card svelte-lh4k15"><h1 class="signin-brand svelte-lh4k15">SH3</h1> <!> <!></div></div>');function nT(e,t){se(t,!0);let n=F("login"),r=F(""),s=F(""),i=F(""),l=F(null),o=F(!1);async function c(){if(!a(r).trim()||!a(s).trim()||a(o))return;S(o,!0),S(l,null);const y=await xv(a(r).trim(),a(s).trim());S(o,!1),y.ok?t.onSuccess():S(l,y.error,!0)}async function u(){if(!a(r).trim()||!a(s).trim()||a(o))return;S(o,!0),S(l,null);const y=await Tk(a(r).trim(),a(s).trim(),a(i).trim()||void 0);S(o,!1),y.ok?t.onSuccess():S(l,y.error,!0)}function d(y){S(n,y,!0),S(l,null)}var f=tT(),h=p(f),b=w(p(h),2);{var x=y=>{var m=QC(),I=fe(m),T=p(I);ge(T);var R=w(T,2);ge(R);var M=w(R,2),z=p(M,!0);v(M),v(I);var P=w(I,2);{var j=C=>{var O=ZC();U("click",O,()=>d("register")),k(C,O)};K(P,C=>{t.selfRegistration&&C(j)})}N(C=>{T.disabled=a(o),R.disabled=a(o),M.disabled=C,D(z,a(o)?"Signing in...":"Sign in")},[()=>a(o)||!a(r).trim()||!a(s).trim()]),Re("submit",I,C=>{C.preventDefault(),c()}),Se(T,()=>a(r),C=>S(r,C)),Se(R,()=>a(s),C=>S(s,C)),k(y,m)},_=y=>{var m=$C(),I=fe(m),T=p(I);ge(T);var R=w(T,2);ge(R);var M=w(R,2);ge(M);var z=w(M,2),P=p(z,!0);v(z),v(I);var j=w(I,2);N(C=>{T.disabled=a(o),R.disabled=a(o),M.disabled=a(o),z.disabled=C,D(P,a(o)?"Creating...":"Create account")},[()=>a(o)||!a(r).trim()||!a(s).trim()]),Re("submit",I,C=>{C.preventDefault(),u()}),Se(T,()=>a(r),C=>S(r,C)),Se(R,()=>a(i),C=>S(i,C)),Se(M,()=>a(s),C=>S(s,C)),U("click",j,()=>d("login")),k(y,m)};K(b,y=>{a(n)==="login"?y(x):y(_,-1)})}var g=w(b,2);{var E=y=>{var m=eT(),I=p(m,!0);v(m),N(()=>D(I,a(l))),k(y,m)};K(g,y=>{a(l)&&y(E)})}v(h),v(f),k(e,f),ie()}ce(["click"]);function rT(){if(typeof window>"u")return null;const e=new URLSearchParams(window.location.search);if(e.get("mode")!=="satellite")return null;const t=e.get("payload");if(!t)return{error:"Satellite mode requires payload param"};try{return{payload:C0(t)}}catch(n){return{error:n.message}}}function sT(e){return e.kind==="float"?{docked:e.content,floats:[]}:{docked:{type:"slot",slotId:"satellite:root",viewId:null},floats:[]}}var iT=A('<header class="sh3-satellite-tabbar svelte-191z0e1" data-sh3-region="tabbar"><!> <!> <div class="sh3-satellite-floats-slot svelte-191z0e1" aria-hidden="true"></div></header> <main class="sh3-satellite-content svelte-191z0e1" data-sh3-region="content" data-sh3-layer="0"><!></main>',1),aT=A("<div><!> <!></div>");function oT(e,t){se(t,!0),ke(()=>{if(t.payload.kind==="float")L1(sT(t.payload).docked);else if(t.payload.kind==="app"){const c=t.payload.appId;queueMicrotask(()=>{En(c,{skipLastApp:!0,skipSwitchToHome:!0})})}});var n=aT();let r;var s=p(n);{var i=c=>{var u=iT(),d=fe(u),f=p(d);$h(f,{});var h=w(f,2);ep(h,{}),Et(2),v(d);var b=w(d,2),x=p(b);Rs(x,{}),v(b),k(c,u)},l=c=>{Rs(c,{})};K(s,c=>{t.payload.kind==="app"?c(i):c(l,-1)})}var o=w(s,2);Qh(o,{}),v(n),N(()=>r=de(n,1,"sh3-satellite-root svelte-191z0e1",null,r,{"sh3-satellite-app":t.payload.kind==="app"})),k(e,n),ie()}async function lT(e){const t=e?.serverUrl??"",n=await g2();n.backends&&(Oa("workspace",n.backends.workspace),Oa("user",n.backends.user)),n.localOwner&&Lk(),Mv(t),F0();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");const s=rT();if(s){if("error"in s){r.textContent=`Invalid satellite payload: ${s.error}`;return}if(Oa("workspace",new co),n.localOwner&&ti("local"),e?.shards)for(const o of e.shards)Su(o);if(e?.apps)for(const o of e.apps)gs(o);await Ru(e?.discoveredPackages),await SA({activateShardIds:s.payload.kind==="app"?[]:s.payload.activateShards}),Yc(),qe(oT,{target:r,props:{payload:s.payload}});return}let i=null;if(!n.localOwner)try{const o=await fetch(`${t}/api/boot`,{credentials:"include"});o.ok&&(i=await o.json())}catch{}if(n.localOwner)ti("local");else if(i){Jc(t,i),ti(i.tenantId);const{auth:o,session:c}=i;if(!c&&o.required&&!o.guestAllowed){await cT(r,i);const u=await fetch(`${t}/api/boot`,{credentials:"include"});u.ok&&(i=await u.json(),Jc(t,i),ti(i.tenantId))}}if(await Ru(e?.discoveredPackages),e?.shards)for(const o of e.shards)Su(o);if(e?.apps)for(const o of e.apps)gs(o);const l={};e?.excludeShards&&(l.excludeShards=e.excludeShards),await xA(l),Yc(),qe(JC,{target:r})}async function Ru(e){if(e?.length)for(const t of e)try{const n=await fetch(t.bundleUrl);if(!n.ok){console.warn(`[sh3] Failed to fetch discovered package "${t.id}": HTTP ${n.status}`);continue}const r=await n.arrayBuffer(),s=await Js(r);Yl(s,{version:t.version,sourceRegistry:t.sourceRegistry??"",contractVersion:t.contractVersion??""}),console.log(`[sh3] Loaded discovered package: ${t.id}`)}catch(n){console.warn(`[sh3] Failed to load discovered package "${t.id}":`,n)}}function cT(e,t){return new Promise(n=>{const r=qe(nT,{target:e,props:{selfRegistration:t.auth.selfRegistration,onSuccess:()=>{Xe(r),n()}}})})}const Ql=window.location.origin;Mv(Ql);_k(new l0(Ql));let tp=[];try{const e=await fetch("/api/packages");e.ok&&(tp=await e.json())}catch{}await lT({discoveredPackages:tp,serverUrl:Ql});
21
- //# sourceMappingURL=index-DcenfgWp.js.map