smart-home-engine 1.12.5 → 1.12.6

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,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-tUihOf0o.js","assets/monaco-langs-Dt8a9eeo.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-EcYk_dVC.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-tUihOf0o.js","assets/monaco-langs-Dt8a9eeo.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-DFwzXrPo.js"])))=>i.map(i=>d[i]);
2
2
  var qF=Object.defineProperty;var kS=o=>{throw TypeError(o)};var GF=(o,e,t)=>e in o?qF(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var kn=(o,e,t)=>GF(o,typeof e!="symbol"?e+"":e,t),Yb=(o,e,t)=>e.has(o)||kS("Cannot "+t);var ye=(o,e,t)=>(Yb(o,e,"read from private field"),t?t.call(o):e.get(o)),bn=(o,e,t)=>e.has(o)?kS("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),Cn=(o,e,t,i)=>(Yb(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),ts=(o,e,t)=>(Yb(o,e,"access private method"),t);import{_ as nA,m as sA,l as Bi,A as Do,C as Ue,I as ss,D as yp,a as bs,g as oA,M as ri,b as Zi,E as la,c as q,r as Vn,d as Rr,e as S,f as KF,h as Qn,R as En,S as $i,i as lo,j as Nr,k as Fn,n as un,o as Be,p as _t,K as Ss,q as mi,s as Nt,t as Ps,u as Q,v as mn,O as Ha,w as Bs,P as Fi,x as Qb,y as wp,z as rA,B as ml,F as ca,G as JC,H as Zs,U as jn,J as F0,L as Li,N as yl,Q as ZF,T as Co,V as e1,W as XF,X as aA,$ as xi,Y as Mn,Z as Bn,a0 as as,a1 as nn,a2 as Jo,a3 as kg,a4 as Tt,a5 as Zx,a6 as YF,a7 as QF,a8 as Is,a9 as JF,aa as da,ab as Ao,ac as Ti,ad as lA,ae as is,af as e3,ag as t3,ah as yo,ai as af,aj as Ds,ak as H_,al as mo,am as qc,an as Aw,ao as W_,ap as Us,aq as L0,ar as qs,as as z_,at as V_,au as i3,av as Sp,aw as lf,ax as Tl,ay as n3,az as cf,aA as s3,aB as kw,aC as o3,aD as r3,aE as BS,aF as _s,aG as vl,aH as vo,aI as an,aJ as fl,aK as a3,aL as ja,aM as Xo,aN as zs,aO as ua,aP as Bw,aQ as Ts,aR as ms,aS as ym,aT as rn,aU as cA,aV as l3,aW as Fw,aX as j_,aY as Lw,aZ as Iw,a_ as Ld,a$ as c3,b0 as Pw,b1 as d3,b2 as Tw,b3 as Ml,b4 as Rl,b5 as I0,b6 as Bg,b7 as Oo,b8 as Dp,b9 as wm,ba as Jb,bb as qn,bc as Mw,bd as Ap,be as $_,bf as u3,bg as dA,bh as Fg,bi as P0,bj as Lg,bk as kp,bl as U_,bm as Ln,bn as Gc,bo as Bp,bp as h3,bq as f3,br as Rw,bs as g3,bt as Sm,bu as gr,bv as Nw,bw as T0,bx as Nl,by as df,bz as pn,bA as M0,bB as uA,bC as Fp,bD as p3,bE as Id,bF as di,bG as FS,bH as Xx,bI as hA,bJ as Wr,bK as sa,bL as Zn,bM as R0,bN as Fr,bO as N0,bP as rs,bQ as Ig,bR as Zu,bS as t1,bT as fA,bU as gA,bV as pA,bW as Ow,bX as Io,bY as Wn,bZ as Lp,b_ as xA,b$ as _l,c0 as q_,c1 as x3,c2 as zh,c3 as LS,c4 as Ip,c5 as mA,c6 as Vh,c7 as m3,c8 as yr,c9 as G_,ca as v3,cb as ko,cc as ha,cd as Pp,ce as Pg,cf as vA,cg as dr,ch as Tp,ci as K_,cj as _3,ck as b3,cl as C3,cm as uf,cn as $a,co as Vs,cp as E3,cq as Hw,cr as y3,cs as w3,ct as IS,cu as S3,cv as Mp,cw as wl,cx as i1,cy as Bu,cz as Sl,cA as D3,cB as Wa,cC as Lr,cD as Uo,cE as PS,cF as uo,cG as Rp,cH as Nc,cI as Ua,cJ as A3,cK as fa,cL as Tg,cM as Z_,cN as _A,cO as k3,cP as B3,cQ as Ww,cR as F3,cS as Mg,cT as L3,cU as dc,cV as Rg,cW as TS,cX as I3,cY as P3,cZ as Ka,c_ as T3,c$ as zw,d0 as bA,d1 as CA,d2 as EA,d3 as yA,d4 as M3,d5 as R3,d6 as wA,d7 as SA,d8 as N3,d9 as Vw,da as O3,db as H3,dc as cs,dd as W3,de as jw,df as z3,dg as jh,dh as MS,di as V3,dj as j3,dk as $3,dl as U3,dm as q3,dn as G3,dp as O0,dq as X_,dr as n1,ds as K3,dt as Z3,du as RS,dv as s1,dw as X3,dx as NS,dy as eC,dz as Y3,dA as DA,dB as Q3,dC as AA,dD as o1,dE as J3,dF as e4,dG as t4,dH as kA,dI as BA,dJ as i4,dK as Dm,dL as FA,dM as Y_,dN as n4,dO as s4,dP as Oc,dQ as $w,dR as o4,dS as OS,dT as HS,dU as r4,dV as $h,dW as LA,dX as a4,dY as l4,dZ as c4,d_ as d4,d$ as IA,e0 as PA,e1 as TA,e2 as MA,e3 as u4,e4 as za,e5 as WS,e6 as h4,e7 as Np,e8 as f4,e9 as $f,ea as RA,eb as zS,ec as Ng,ed as NA,ee as Am,ef as g4,eg as OA,eh as p4,ei as HA,ej as x4,ek as m4,el as WA,em as zA,en as Dl,eo as Q_,ep as v4,eq as VA,er as Yo,es as Pd,et as jA,eu as _4,ev as b4,ew as $A,ex as UA,ey as C4,ez as qA,eA as GA,eB as Og,eC as E4,eD as y4,eE as w4,eF as S4,eG as Pf,eH as VS,eI as D4,eJ as A4,eK as k4,eL as km,eM as eo,eN as B4,eO as r1,eP as Xu,eQ as F4,eR as ul,eS as L4,eT as I4,eU as KA,eV as P4,eW as ag,eX as T4,eY as M4,eZ as R4,e_ as N4,e$ as jS,f0 as $S,f1 as US,f2 as Yu,f3 as Uw,f4 as ZA,f5 as a1,f6 as Yx,f7 as XA,f8 as Bm,f9 as O4,fa as H4,fb as W4,fc as z4,fd as qw,fe as YA,ff as V4,fg as Fm,fh as QA,fi as JA,fj as j4,fk as $4,fl as U4,fm as q4,fn as G4,fo as K4,fp as Z4,fq as X4,fr as ek,fs as Y4,ft as Lm,fu as tk,fv as Q4,fw as ik,fx as J4,fy as nk,fz as sk,fA as eL,fB as qS,fC as ok,fD as GS,fE as tL,fF as tC,fG as KS,fH as iL,fI as nL,fJ as sL,fK as Ia,fL as Hc,fM as oL,fN as ZS,fO as Qx,fP as rL,fQ as gl,fR as J_,fS as l1,fT as aL,fU as rk,fV as ak,fW as ho,fX as XS,fY as px,fZ as Gw,f_ as lL,f$ as cL,g0 as dL,g1 as uL,g2 as hL,g3 as fL,g4 as gL,g5 as pL,g6 as YS,g7 as xL,g8 as mL,g9 as vL,ga as H0,gb as lg,gc as lk,gd as _L,ge as Kw,gf as Jx,gg as xx,gh as iC,gi as bL,gj as CL,gk as ck,gl as EL,gm as Zw,gn as yL,go as wL,gp as dk,gq as eb,gr as SL,gs as Im,gt as Xw,gu as Yw,gv as Qw,gw as uk,gx as hk,gy as fk,gz as gk,gA as pk,gB as xk,gC as mk,gD as QS,gE as vk,gF as vh,gG as DL,gH as AL,gI as kL,gJ as BL,gK as _k,gL as FL,gM as LL,gN as JS,gO as c1,gP as mc,gQ as IL,gR as PL,gS as TL,gT as ML,gU as RL,gV as NL,gW as e8,gX as Jw,gY as d1,gZ as OL,g_ as u1,g$ as HL,h0 as WL,h1 as zL,h2 as VL,h3 as e9,h4 as bk,h5 as t8,h6 as i8,h7 as jL,h8 as $L,h9 as UL,ha as n8,hb as nC,hc as qL,hd as GL,he as KL,hf as sC,hg as Ck,hh as Ek,hi as yk,hj as wk,hk as Al,hl as Sk,hm as t9,hn as s8,ho as ZL,hp as Dk,hq as XL,hr as YL,hs as tb,ht as ib,hu as Qu,hv as nb,hw as Op,hx as QL,hy as sb,hz as JL,hA as e7,hB as t7,hC as Ak,hD as Tf,hE as i7,hF as n7,hG as s7,hH as o7,hI as Hp,hJ as r7,hK as kk,hL as Bk,hM as Fk,hN as h1,hO as a7,hP as l7,hQ as c7,hR as d7,hS as u7,hT as f1,hU as h7,hV as f7,hW as g7,hX as p7,hY as x7,hZ as m7,h_ as v7,h$ as _7,i0 as Lk,i1 as b7,i2 as C7,i3 as E7,i4 as o8,i5 as y7,i6 as w7,i7 as md,i8 as zo,i9 as r8,ia as S7,ib as D7,ic as A7}from"./monaco-langs-Dt8a9eeo.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))i(n);new MutationObserver(n=>{for(const s of n)if(s.type==="childList")for(const r of s.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&i(r)}).observe(document,{childList:!0,subtree:!0});function t(n){const s={};return n.integrity&&(s.integrity=n.integrity),n.referrerPolicy&&(s.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?s.credentials="include":n.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(n){if(n.ep)return;n.ep=!0;const s=t(n);fetch(n.href,s)}})();const Ik=!1;var i9=Array.isArray,k7=Array.prototype.indexOf,Pm=Array.prototype.includes,ob=Array.from,B7=Object.defineProperty,a0=Object.getOwnPropertyDescriptor,F7=Object.getOwnPropertyDescriptors,L7=Object.prototype,I7=Array.prototype,Pk=Object.getPrototypeOf,a8=Object.isExtensible;const rb=()=>{};function P7(o){for(var e=0;e<o.length;e++)o[e]()}function Tk(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function T7(o,e,t=!1){return o===void 0?t?e():e:o}function l8(o,e){if(Array.isArray(o))return o;if(!(Symbol.iterator in o))return Array.from(o);const t=[];for(const i of o)if(t.push(i),t.length===e)break;return t}const po=2,W0=4,ab=8,Mk=1<<24,oa=16,aa=32,Wc=64,g1=128,Tr=512,to=1024,so=2048,qa=4096,To=8192,Mr=16384,hf=32768,p1=1<<25,z0=65536,Tm=1<<17,M7=1<<18,ff=1<<19,R7=1<<20,Ra=1<<25,Fu=65536,Mm=1<<21,l0=1<<22,vc=1<<23,Td=Symbol("$state"),N7=Symbol("legacy props"),O7=Symbol(""),em=Symbol("attributes"),x1=Symbol("class"),m1=Symbol("style"),Uf=Symbol("text"),tm=Symbol("form reset"),lb=new class extends Error{constructor(){super(...arguments);kn(this,"name","StaleReactionError");kn(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var eA;const H7=!!((eA=globalThis.document)!=null&&eA.contentType)&&globalThis.document.contentType.includes("xml");function Rk(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function W7(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function z7(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function V7(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function j7(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function $7(o){throw new Error("https://svelte.dev/e/effect_orphan")}function U7(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function q7(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function G7(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function K7(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Z7(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function X7(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Y7=1,Q7=2,Nk=4,J7=8,eI=16,tI=1,iI=4,nI=8,sI=16,oI=1,rI=2,Js=Symbol("uninitialized"),Ok="http://www.w3.org/1999/xhtml",aI="http://www.w3.org/2000/svg",lI="http://www.w3.org/1998/Math/MathML";function cI(){console.warn("https://svelte.dev/e/derived_inert")}function dI(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function uI(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Hk(o){return o===this.v}function hI(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function Wk(o){return!hI(o,this.v)}let fI=!1,go=null;function V0(o){go=o}function js(o,e=!1,t){go={p:go,i:!1,c:null,e:null,s:o,x:null,r:zn,l:null}}function $s(o){var e=go,t=e.e;if(t!==null){e.e=null;for(var i of t)l6(i)}return o!==void 0&&(e.x=o),e.i=!0,go=e.p,o??{}}function zk(){return!0}let Ed=[];function Vk(){var o=Ed;Ed=[],P7(o)}function _c(o){if(Ed.length===0&&!dg){var e=Ed;queueMicrotask(()=>{e===Ed&&Vk()})}Ed.push(o)}function gI(){for(;Ed.length>0;)Vk()}function jk(o){var e=zn;if(e===null)return Hn.f|=vc,o;if((e.f&hf)===0&&(e.f&W0)===0)throw o;uc(o,e)}function uc(o,e){for(;e!==null;){if((e.f&g1)!==0){if((e.f&hf)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const pI=-7169;function Hs(o,e){o.f=o.f&pI|e}function n9(o){(o.f&Tr)!==0||o.deps===null?Hs(o,to):Hs(o,qa)}function $k(o){if(o!==null)for(const e of o)(e.f&po)===0||(e.f&Fu)===0||(e.f^=Fu,$k(e.deps))}function Uk(o,e,t){(o.f&so)!==0?e.add(o):(o.f&qa)!==0&&t.add(o),$k(o.deps),Hs(o,to)}let mx=!1;function xI(o){var e=mx;try{return mx=!1,[o(),mx]}finally{mx=e}}let oC=null,_h=null,on=null,cg=null,co=null,v1=null,dg=!1,rC=!1,Uh=null,im=null;var c8=0;let mI=1;var h0,ac,Dd,f0,g0,p0,al,x0,Vo,mp,ll,Zr,ka,m0,Ad,ds,_1,qf,b1,qk,Gk,Mh,vI,Gf;const qv=class qv{constructor(){bn(this,ds);kn(this,"id",mI++);bn(this,h0,!1);kn(this,"linked",!0);bn(this,ac,null);bn(this,Dd,null);kn(this,"async_deriveds",new Map);kn(this,"current",new Map);kn(this,"previous",new Map);bn(this,f0,new Set);bn(this,g0,new Set);bn(this,p0,0);bn(this,al,new Map);bn(this,x0,null);bn(this,Vo,[]);bn(this,mp,[]);bn(this,ll,new Set);bn(this,Zr,new Set);bn(this,ka,new Map);bn(this,m0,new Set);kn(this,"is_fork",!1);bn(this,Ad,!1);_h===null?oC=_h=this:(Cn(_h,Dd,this),Cn(this,ac,_h)),_h=this}skip_effect(e){ye(this,ka).has(e)||ye(this,ka).set(e,{d:[],m:[]}),ye(this,m0).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=ye(this,ka).get(e);if(i){ye(this,ka).delete(e);for(var n of i.d)Hs(n,so),t(n);for(n of i.m)Hs(n,qa),t(n)}ye(this,m0).add(e)}capture(e,t,i=!1){e.v!==Js&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&vc)===0&&(this.current.set(e,[t,i]),co==null||co.set(e,t)),this.is_fork||(e.v=t)}activate(){on=this}deactivate(){on=null,co=null}flush(){try{rC=!0,on=this,ts(this,ds,qf).call(this)}finally{c8=0,v1=null,Uh=null,im=null,rC=!1,on=null,co=null,Md.clear()}}discard(){var e;for(const t of ye(this,g0))t(this);ye(this,g0).clear(),ts(this,ds,Gf).call(this),(e=ye(this,x0))==null||e.resolve()}register_created_effect(e){ye(this,mp).push(e)}increment(e,t){if(Cn(this,p0,ye(this,p0)+1),e){let i=ye(this,al).get(t)??0;ye(this,al).set(t,i+1)}}decrement(e,t){if(Cn(this,p0,ye(this,p0)-1),e){let i=ye(this,al).get(t)??0;i===1?ye(this,al).delete(t):ye(this,al).set(t,i-1)}ye(this,Ad)||(Cn(this,Ad,!0),_c(()=>{Cn(this,Ad,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)ye(this,ll).add(i);for(const i of t)ye(this,Zr).add(i);e.clear(),t.clear()}oncommit(e){ye(this,f0).add(e)}ondiscard(e){ye(this,g0).add(e)}settled(){return(ye(this,x0)??Cn(this,x0,Tk())).promise}static ensure(){if(on===null){const e=on=new qv;!rC&&!dg&&_c(()=>{ye(e,h0)||e.flush()})}return on}apply(){{co=null;return}}schedule(e){var n;if(v1=e,(n=e.b)!=null&&n.is_pending&&(e.f&(W0|ab|Mk))!==0&&(e.f&hf)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(Uh!==null&&t===zn&&(Hn===null||(Hn.f&po)===0))return;if((i&(Wc|aa))!==0){if((i&to)===0)return;t.f^=to}}ye(this,Vo).push(t)}};h0=new WeakMap,ac=new WeakMap,Dd=new WeakMap,f0=new WeakMap,g0=new WeakMap,p0=new WeakMap,al=new WeakMap,x0=new WeakMap,Vo=new WeakMap,mp=new WeakMap,ll=new WeakMap,Zr=new WeakMap,ka=new WeakMap,m0=new WeakMap,Ad=new WeakMap,ds=new WeakSet,_1=function(){if(this.is_fork)return!0;for(const i of ye(this,al).keys()){for(var e=i,t=!1;e.parent!==null;){if(ye(this,ka).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},qf=function(){var d,u,f,g;Cn(this,h0,!0),c8++>1e3&&(ts(this,ds,Gf).call(this),bI());for(const p of ye(this,ll))ye(this,Zr).delete(p),Hs(p,so),this.schedule(p);for(const p of ye(this,Zr))Hs(p,qa),this.schedule(p);const e=ye(this,Vo);Cn(this,Vo,[]),this.apply();var t=Uh=[],i=[],n=im=[];for(const p of e)try{ts(this,ds,b1).call(this,p,t,i)}catch(C){throw Xk(p),ts(this,ds,_1).call(this)||this.discard(),C}if(on=null,n.length>0){var s=qv.ensure();for(const p of n)s.schedule(p)}if(Uh=null,im=null,ts(this,ds,_1).call(this)){ts(this,ds,Mh).call(this,i),ts(this,ds,Mh).call(this,t);for(const[p,C]of ye(this,ka))Zk(p,C);n.length>0&&ts(d=on,ds,qf).call(d);return}const r=ts(this,ds,qk).call(this);if(r){ts(this,ds,Mh).call(this,i),ts(this,ds,Mh).call(this,t),ts(u=r,ds,Gk).call(u,this);return}ye(this,ll).clear(),ye(this,Zr).clear();for(const p of ye(this,f0))p(this);ye(this,f0).clear(),cg=this,d8(i),d8(t),cg=null,(f=ye(this,x0))==null||f.resolve();var a=on;if(ye(this,p0)===0&&(ye(this,Vo).length===0||a!==null)&&ts(this,ds,Gf).call(this),ye(this,Vo).length>0)if(a!==null){const p=a;ye(p,Vo).push(...ye(this,Vo).filter(C=>!ye(p,Vo).includes(C)))}else a=this;a!==null&&ts(g=a,ds,qf).call(g)},b1=function(e,t,i){e.f^=to;for(var n=e.first;n!==null;){var s=n.f,r=(s&(aa|Wc))!==0,a=r&&(s&to)!==0,d=a||(s&To)!==0||ye(this,ka).has(n);if(!d&&n.fn!==null){r?n.f^=to:(s&W0)!==0?t.push(n):zp(n)&&((s&oa)!==0&&ye(this,Zr).add(n),$0(n));var u=n.first;if(u!==null){n=u;continue}}for(;n!==null;){var f=n.next;if(f!==null){n=f;break}n=n.parent}}},qk=function(){for(var e=ye(this,ac);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=ye(e,ac)}return null},Gk=function(e){var i;for(const[n,s]of e.current)!this.previous.has(n)&&e.previous.has(n)&&this.previous.set(n,e.previous.get(n)),this.current.set(n,s);for(const[n,s]of e.async_deriveds){const r=this.async_deriveds.get(n);r&&s.promise.then(r.resolve).catch(r.reject)}this.transfer_effects(ye(e,ll),ye(e,Zr));const t=n=>{var s=n.reactions;if(s!==null)for(const d of s){var r=d.f;if((r&po)!==0)t(d);else{var a=d;r&(l0|oa)&&!this.async_deriveds.has(a)&&(ye(this,Zr).delete(a),Hs(a,so),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),ts(i=e,ds,Gf).call(i),on=this,ts(this,ds,qf).call(this)},Mh=function(e){for(var t=0;t<e.length;t+=1)Uk(e[t],ye(this,ll),ye(this,Zr))},vI=function(){var f;for(let g=oC;g!==null;g=ye(g,Dd)){var e=g.id<this.id,t=[];for(const[p,[C,b]]of this.current){if(g.current.has(p)){var i=g.current.get(p)[0];if(e&&C!==i)g.current.set(p,[C,b]);else continue}t.push(p)}if(e)for(const[p,C]of this.async_deriveds){const b=g.async_deriveds.get(p);b&&C.promise.then(b.resolve).catch(b.reject)}if(ye(g,h0)){var n=[...g.current.keys()].filter(p=>!g.current.get(p)[1]&&!this.current.has(p));if(n.length===0)e&&g.discard();else if(t.length>0){if(e)for(const p of ye(this,m0))g.unskip_effect(p,C=>{var b;(C.f&(oa|l0))!==0?g.schedule(C):ts(b=g,ds,Mh).call(b,[C])});g.activate();var s=new Set,r=new Map;for(var a of t)Kk(a,n,s,r);r=new Map;var d=[...g.current].filter(([p,C])=>{const b=this.current.get(p);return b?b[0]!==C[0]||b[1]!==C[1]:!0}).map(([p])=>p);if(d.length>0)for(const p of ye(this,mp))(p.f&(Mr|To|Tm))===0&&s9(p,d,r)&&((p.f&(l0|oa))!==0?(Hs(p,so),g.schedule(p)):ye(g,ll).add(p));if(ye(g,Vo).length>0&&!ye(g,Ad)){g.apply();for(var u of ye(g,Vo))ts(f=g,ds,b1).call(f,u,[],[]);Cn(g,Vo,[])}g.deactivate()}}}},Gf=function(){if(this.linked){var e=ye(this,ac),t=ye(this,Dd);e===null?oC=t:Cn(e,Dd,t),t===null?_h=e:Cn(t,ac,e),this.linked=!1}};let Lu=qv;function _I(o){var e=dg;dg=!0;try{for(var t;;){if(gI(),on===null)return t;on.flush()}}finally{dg=e}}function bI(){try{U7()}catch(o){uc(o,v1)}}let qr=null;function d8(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(Mr|To))===0&&zp(i)&&(qr=new Set,$0(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&u6(i),(qr==null?void 0:qr.size)>0)){Md.clear();for(const n of qr){if((n.f&(Mr|To))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)qr.has(r)&&(qr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const d=s[a];(d.f&(Mr|To))===0&&$0(d)}}qr.clear()}}qr=null}}function Kk(o,e,t,i){if(!t.has(o)&&(t.add(o),o.reactions!==null))for(const n of o.reactions){const s=n.f;(s&po)!==0?Kk(n,e,t,i):(s&(l0|oa))!==0&&(s&so)===0&&s9(n,e,i)&&(Hs(n,so),o9(n))}}function s9(o,e,t){const i=t.get(o);if(i!==void 0)return i;if(o.deps!==null)for(const n of o.deps){if(Pm.call(e,n))return!0;if((n.f&po)!==0&&s9(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function o9(o){on.schedule(o)}function Zk(o,e){if(!((o.f&aa)!==0&&(o.f&to)!==0)){(o.f&so)!==0?e.d.push(o):(o.f&qa)!==0&&e.m.push(o),Hs(o,to);for(var t=o.first;t!==null;)Zk(t,e),t=t.next}}function Xk(o){Hs(o,to);for(var e=o.first;e!==null;)Xk(e),e=e.next}function CI(o){let e=0,t=Iu(0),i;return()=>{c9()&&(c(t),db(()=>(e===0&&(i=Hl(()=>o(()=>ug(t)))),e+=1,()=>{_c(()=>{e-=1,e===0&&(i==null||i(),i=void 0,ug(t))})})))}}var EI=z0|ff;function yI(o,e,t,i){new wI(o,e,t,i)}var Sr,Dw,Dr,kd,jo,Ar,Fo,rr,cl,Bd,lc,v0,vp,_p,dl,Gv,Ws,SI,DI,AI,C1,nm,sm,E1,y1;class wI{constructor(e,t,i,n){bn(this,Ws);kn(this,"parent");kn(this,"is_pending",!1);kn(this,"transform_error");bn(this,Sr);bn(this,Dw,null);bn(this,Dr);bn(this,kd);bn(this,jo);bn(this,Ar,null);bn(this,Fo,null);bn(this,rr,null);bn(this,cl,null);bn(this,Bd,0);bn(this,lc,0);bn(this,v0,!1);bn(this,vp,new Set);bn(this,_p,new Set);bn(this,dl,null);bn(this,Gv,CI(()=>(Cn(this,dl,Iu(ye(this,Bd))),()=>{Cn(this,dl,null)})));var s;Cn(this,Sr,e),Cn(this,Dr,t),Cn(this,kd,r=>{var a=zn;a.b=this,a.f|=g1,i(r)}),this.parent=zn.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),Cn(this,jo,h9(()=>{ts(this,Ws,C1).call(this)},EI))}defer_effect(e){Uk(e,ye(this,vp),ye(this,_p))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!ye(this,Dr).pending}update_pending_count(e,t){ts(this,Ws,E1).call(this,e,t),Cn(this,Bd,ye(this,Bd)+e),!(!ye(this,dl)||ye(this,v0))&&(Cn(this,v0,!0),_c(()=>{Cn(this,v0,!1),ye(this,dl)&&j0(ye(this,dl),ye(this,Bd))}))}get_effect_pending(){return ye(this,Gv).call(this),c(ye(this,dl))}error(e){if(!ye(this,Dr).onerror&&!ye(this,Dr).failed)throw e;on!=null&&on.is_fork?(ye(this,Ar)&&on.skip_effect(ye(this,Ar)),ye(this,Fo)&&on.skip_effect(ye(this,Fo)),ye(this,rr)&&on.skip_effect(ye(this,rr)),on.oncommit(()=>{ts(this,Ws,y1).call(this,e)})):ts(this,Ws,y1).call(this,e)}}Sr=new WeakMap,Dw=new WeakMap,Dr=new WeakMap,kd=new WeakMap,jo=new WeakMap,Ar=new WeakMap,Fo=new WeakMap,rr=new WeakMap,cl=new WeakMap,Bd=new WeakMap,lc=new WeakMap,v0=new WeakMap,vp=new WeakMap,_p=new WeakMap,dl=new WeakMap,Gv=new WeakMap,Ws=new WeakSet,SI=function(){try{Cn(this,Ar,kr(()=>ye(this,kd).call(this,ye(this,Sr))))}catch(e){this.error(e)}},DI=function(e){const t=ye(this,Dr).failed;t&&Cn(this,rr,kr(()=>{t(ye(this,Sr),()=>e,()=>()=>{})}))},AI=function(){const e=ye(this,Dr).pending;e&&(this.is_pending=!0,Cn(this,Fo,kr(()=>e(ye(this,Sr)))),_c(()=>{var t=Cn(this,cl,document.createDocumentFragment()),i=bl();t.append(i),Cn(this,Ar,ts(this,Ws,sm).call(this,()=>kr(()=>ye(this,kd).call(this,i)))),ye(this,lc)===0&&(ye(this,Sr).before(t),Cn(this,cl,null),Nd(ye(this,Fo),()=>{Cn(this,Fo,null)}),ts(this,Ws,nm).call(this,on))}))},C1=function(){try{if(this.is_pending=this.has_pending_snippet(),Cn(this,lc,0),Cn(this,Bd,0),Cn(this,Ar,kr(()=>{ye(this,kd).call(this,ye(this,Sr))})),ye(this,lc)>0){var e=Cn(this,cl,document.createDocumentFragment());g9(ye(this,Ar),e);const t=ye(this,Dr).pending;Cn(this,Fo,kr(()=>t(ye(this,Sr))))}else ts(this,Ws,nm).call(this,on)}catch(t){this.error(t)}},nm=function(e){this.is_pending=!1,e.transfer_effects(ye(this,vp),ye(this,_p))},sm=function(e){var t=zn,i=Hn,n=go;Ga(ye(this,jo)),Or(ye(this,jo)),V0(ye(this,jo).ctx);try{return Lu.ensure(),e()}catch(s){return jk(s),null}finally{Ga(t),Or(i),V0(n)}},E1=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&ts(i=this.parent,Ws,E1).call(i,e,t);return}Cn(this,lc,ye(this,lc)+e),ye(this,lc)===0&&(ts(this,Ws,nm).call(this,t),ye(this,Fo)&&Nd(ye(this,Fo),()=>{Cn(this,Fo,null)}),ye(this,cl)&&(ye(this,Sr).before(ye(this,cl)),Cn(this,cl,null)))},y1=function(e){ye(this,Ar)&&(Qo(ye(this,Ar)),Cn(this,Ar,null)),ye(this,Fo)&&(Qo(ye(this,Fo)),Cn(this,Fo,null)),ye(this,rr)&&(Qo(ye(this,rr)),Cn(this,rr,null));var t=ye(this,Dr).onerror;let i=ye(this,Dr).failed;var n=!1,s=!1;const r=()=>{if(n){uI();return}n=!0,s&&X7(),ye(this,rr)!==null&&Nd(ye(this,rr),()=>{Cn(this,rr,null)}),ts(this,Ws,sm).call(this,()=>{ts(this,Ws,C1).call(this)})},a=d=>{try{s=!0,t==null||t(d,r),s=!1}catch(u){uc(u,ye(this,jo)&&ye(this,jo).parent)}i&&Cn(this,rr,ts(this,Ws,sm).call(this,()=>{try{return kr(()=>{var u=zn;u.b=this,u.f|=g1,i(ye(this,Sr),()=>d,()=>r)})}catch(u){return uc(u,ye(this,jo).parent),null}}))};_c(()=>{var d;try{d=this.transform_error(e)}catch(u){uc(u,ye(this,jo)&&ye(this,jo).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(a,u=>uc(u,ye(this,jo)&&ye(this,jo).parent)):a(d)})};function kI(o,e,t,i){const n=Hg;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=zn,a=BI(),d=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function u(p){if((r.f&Mr)===0){a();try{i(p)}catch(C){uc(C,r)}Rm()}}var f=Yk();if(t.length===0){d.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>FI(p))).then(p=>u([...e.map(n),...p])).catch(p=>uc(p,r)).finally(f)}d?d.then(()=>{a(),g(),Rm()}):g()}function BI(){var o=zn,e=Hn,t=go,i=on;return function(s=!0){Ga(o),Or(e),V0(t),s&&(o.f&Mr)===0&&(i==null||i.activate(),i==null||i.apply())}}function Rm(o=!0){Ga(null),Or(null),V0(null),o&&(on==null||on.deactivate())}function Yk(){var o=zn,e=o.b,t=on,i=!!(e!=null&&e.is_rendered());return e==null||e.update_pending_count(1,t),t.increment(i,o),()=>{e==null||e.update_pending_count(-1,t),t.decrement(i,o)}}function Hg(o){var e=po|so;return zn!==null&&(zn.f|=ff),{ctx:go,deps:null,effects:null,equals:Hk,f:e,fn:o,reactions:null,rv:0,v:Js,wv:0,parent:zn,ac:null}}const vx=Symbol("obsolete");function FI(o,e,t){let i=zn;i===null&&W7();var n=void 0,s=Iu(Js),r=!Hn,a=new Set;return VI(()=>{var C,b;var d=zn,u=Tk();n=u.promise;try{Promise.resolve(o()).then(u.resolve,y=>{y!==lb&&u.reject(y)}).finally(Rm)}catch(y){u.reject(y),Rm()}var f=on;if(r){if((d.f&hf)!==0)var g=Yk();if((C=i.b)!=null&&C.is_rendered())(b=f.async_deriveds.get(d))==null||b.reject(vx);else for(const y of a.values())y.reject(vx);a.add(u),f.async_deriveds.set(d,u)}const p=(y,w=void 0)=>{g==null||g(),a.delete(u),w!==vx&&(f.activate(),w?(s.f|=vc,j0(s,w)):((s.f&vc)!==0&&(s.f^=vc),j0(s,y)),f.deactivate())};u.promise.then(p,y=>p(null,y||"unknown"))}),d9(()=>{for(const d of a)d.reject(vx)}),new Promise(d=>{function u(f){function g(){f===n?d(s):u(n)}f.then(g,g)}u(n)})}function Lt(o){const e=Hg(o);return g6(e),e}function r9(o){const e=Hg(o);return e.equals=Wk,e}function LI(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Qo(e[t])}}function a9(o){var e,t=zn,i=o.parent;if(!kl&&i!==null&&o.v!==Js&&(i.f&(Mr|To))!==0)return cI(),o.v;Ga(i);try{o.f&=~Fu,LI(o),e=v6(o)}finally{Ga(t)}return e}function Qk(o){var e=a9(o);if(!o.equals(e)&&(o.wv=x6(),(!(on!=null&&on.is_fork)||o.deps===null)&&(on!==null?(on.capture(o,e,!0),cg==null||cg.capture(o,e,!0)):o.v=e,o.deps===null))){Hs(o,to);return}kl||(co!==null?(c9()||on!=null&&on.is_fork)&&co.set(o,e):n9(o))}function II(o){var e,t;if(o.effects!==null)for(const i of o.effects)(i.teardown||i.ac)&&((e=i.teardown)==null||e.call(i),(t=i.ac)==null||t.abort(lb),i.fn!==null&&(i.teardown=rb),i.ac=null,Wg(i,0),f9(i))}function Jk(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&$0(e)}let Nm=new Set;const Md=new Map;let e6=!1;function Iu(o,e){var t={f:0,v:o,reactions:null,equals:Hk,rv:0,wv:0};return t}function F(o,e){const t=Iu(o);return g6(t),t}function PI(o,e=!1,t=!0){const i=Iu(o);return e||(i.equals=Wk),i}function m(o,e,t=!1){Hn!==null&&(!ra||(Hn.f&Tm)!==0)&&zk()&&(Hn.f&(po|oa|l0|Tm))!==0&&(Va===null||!Va.has(o))&&Z7();let i=t?Pi(e):e;return j0(o,i,im)}function j0(o,e,t=null){if(!o.equals(e)){Md.set(o,kl?e:o.v);var i=Lu.ensure();if(i.capture(o,e),(o.f&po)!==0){const n=o;(o.f&so)!==0&&a9(n),co===null&&n9(n)}o.wv=x6(),t6(o,so,t),zn!==null&&(zn.f&to)!==0&&(zn.f&(aa|Wc))===0&&(wr===null?$I([o]):wr.push(o)),!i.is_fork&&Nm.size>0&&!e6&&TI()}return e}function TI(){e6=!1;for(const o of Nm){(o.f&to)!==0&&Hs(o,qa);let e;try{e=zp(o)}catch{e=!0}e&&$0(o)}Nm.clear()}function u8(o,e=1){var t=c(o),i=e===1?t++:t--;return m(o,t),i}function ug(o){m(o,o.v+1)}function t6(o,e,t){var i=o.reactions;if(i!==null)for(var n=i.length,s=0;s<n;s++){var r=i[s],a=r.f,d=(a&so)===0;if(d&&Hs(r,e),(a&Tm)!==0)Nm.add(r);else if((a&po)!==0){var u=r;co==null||co.delete(u),(a&Fu)===0&&(a&Tr&&(zn===null||(zn.f&Mm)===0)&&(r.f|=Fu),t6(u,qa,t))}else if(d){var f=r;(a&oa)!==0&&qr!==null&&qr.add(f),t!==null?t.push(f):o9(f)}}}function Pi(o){if(typeof o!="object"||o===null||Td in o)return o;const e=Pk(o);if(e!==L7&&e!==I7)return o;var t=new Map,i=i9(o),n=F(0),s=Od,r=a=>{if(Od===s)return a();var d=Hn,u=Od;Or(null),p8(s);var f=a();return Or(d),p8(u),f};return i&&t.set("length",F(o.length)),new Proxy(o,{defineProperty(a,d,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&G7();var f=t.get(d);return f===void 0?r(()=>{var g=F(u.value);return t.set(d,g),g}):m(f,u.value,!0),!0},deleteProperty(a,d){var u=t.get(d);if(u===void 0){if(d in a){const f=r(()=>F(Js));t.set(d,f),ug(n)}}else m(u,Js),ug(n);return!0},get(a,d,u){var C;if(d===Td)return o;var f=t.get(d),g=d in a;if(f===void 0&&(!g||(C=a0(a,d))!=null&&C.writable)&&(f=r(()=>{var b=Pi(g?a[d]:Js),y=F(b);return y}),t.set(d,f)),f!==void 0){var p=c(f);return p===Js?void 0:p}return Reflect.get(a,d,u)},getOwnPropertyDescriptor(a,d){var u=Reflect.getOwnPropertyDescriptor(a,d);if(u&&"value"in u){var f=t.get(d);f&&(u.value=c(f))}else if(u===void 0){var g=t.get(d),p=g==null?void 0:g.v;if(g!==void 0&&p!==Js)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return u},has(a,d){var p;if(d===Td)return!0;var u=t.get(d),f=u!==void 0&&u.v!==Js||Reflect.has(a,d);if(u!==void 0||zn!==null&&(!f||(p=a0(a,d))!=null&&p.writable)){u===void 0&&(u=r(()=>{var C=f?Pi(a[d]):Js,b=F(C);return b}),t.set(d,u));var g=c(u);if(g===Js)return!1}return f},set(a,d,u,f){var M;var g=t.get(d),p=d in a;if(i&&d==="length")for(var C=u;C<g.v;C+=1){var b=t.get(C+"");b!==void 0?m(b,Js):C in a&&(b=r(()=>F(Js)),t.set(C+"",b))}if(g===void 0)(!p||(M=a0(a,d))!=null&&M.writable)&&(g=r(()=>F(void 0)),m(g,Pi(u)),t.set(d,g));else{p=g.v!==Js;var y=r(()=>Pi(u));m(g,y)}var w=Reflect.getOwnPropertyDescriptor(a,d);if(w!=null&&w.set&&w.set.call(f,u),!p){if(i&&typeof d=="string"){var A=t.get("length"),P=Number(d);Number.isInteger(P)&&P>=A.v&&m(A,P+1)}ug(n)}return!0},ownKeys(a){c(n);var d=Reflect.ownKeys(a).filter(g=>{var p=t.get(g);return p===void 0||p.v!==Js});for(var[u,f]of t)f.v!==Js&&!(u in a)&&d.push(u);return d},setPrototypeOf(){K7()}})}function h8(o){try{if(o!==null&&typeof o=="object"&&Td in o)return o[Td]}catch{}return o}function MI(o,e){return Object.is(h8(o),h8(e))}var Rd,i6,n6,s6,o6;function RI(){if(Rd===void 0){Rd=window,i6=document,n6=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;s6=a0(e,"firstChild").get,o6=a0(e,"nextSibling").get,a8(o)&&(o[x1]=void 0,o[em]=null,o[m1]=void 0,o.__e=void 0),a8(t)&&(t[Uf]=void 0)}}function bl(o=""){return document.createTextNode(o)}function Na(o){return s6.call(o)}function Wp(o){return o6.call(o)}function _(o,e){return Na(o)}function Et(o,e=!1){{var t=Na(o);return t instanceof Comment&&t.data===""?Wp(t):t}}function v(o,e=1,t=!1){let i=o;for(;e--;)i=Wp(i);return i}function NI(o){o.textContent=""}function r6(){return!1}function a6(o,e,t){return e==null||e===Ok?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let f8=!1;function OI(){f8||(f8=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[tm])==null||e.call(t)})},{capture:!0}))}function cb(o){var e=Hn,t=zn;Or(null),Ga(null);try{return o()}finally{Or(e),Ga(t)}}function l9(o,e,t,i=t){o.addEventListener(e,()=>cb(t));const n=o[tm];n?o[tm]=()=>{n(),i(!0)}:o[tm]=()=>i(!0),OI()}function HI(o){zn===null&&(Hn===null&&$7(),j7()),kl&&V7()}function WI(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function Ol(o,e){var t=zn;t!==null&&(t.f&To)!==0&&(o|=To);var i={ctx:go,deps:null,nodes:null,f:o|so|Tr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};on==null||on.register_created_effect(i);var n=i;if((o&W0)!==0)Uh!==null?Uh.push(i):Lu.ensure().schedule(i);else if(e!==null){try{$0(i)}catch(r){throw Qo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&ff)===0&&(n=n.first,(o&oa)!==0&&(o&z0)!==0&&n!==null&&(n.f|=z0))}if(n!==null&&(n.parent=t,t!==null&&WI(n,t),Hn!==null&&(Hn.f&po)!==0&&(o&Wc)===0)){var s=Hn;(s.effects??(s.effects=[])).push(n)}return i}function c9(){return Hn!==null&&!ra}function d9(o){const e=Ol(ab,null);return Hs(e,to),e.teardown=o,e}function Kn(o){HI();var e=zn.f,t=!Hn&&(e&aa)!==0&&go!==null&&!go.i;if(t){var i=go;(i.e??(i.e=[])).push(o)}else return l6(o)}function l6(o){return Ol(W0|R7,o)}function zI(o){Lu.ensure();const e=Ol(Wc|ff,o);return(t={})=>new Promise(i=>{t.outro?Nd(e,()=>{Qo(e),i(void 0)}):(Qo(e),i(void 0))})}function u9(o){return Ol(W0,o)}function VI(o){return Ol(l0|ff,o)}function db(o,e=0){return Ol(ab|e,o)}function j(o,e=[],t=[],i=[]){kI(i,e,t,n=>{Ol(ab,()=>o(...n.map(c)))})}function h9(o,e=0){var t=Ol(oa|e,o);return t}function kr(o){return Ol(aa|ff,o)}function c6(o){var e=o.teardown;if(e!==null){const t=kl,i=Hn;g8(!0),Or(null);try{e.call(null)}finally{g8(t),Or(i)}}}function f9(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&cb(()=>{n.abort(lb)});var i=t.next;(t.f&Wc)!==0?t.parent=null:Qo(t,e),t=i}}function jI(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&aa)===0&&Qo(e),e=t}}function Qo(o,e=!0){var t=!1;(e||(o.f&M7)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(d6(o.nodes.start,o.nodes.end),t=!0),Hs(o,p1),f9(o,e&&!t),Wg(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();c6(o),o.f^=p1,o.f|=Mr;var n=o.parent;n!==null&&n.first!==null&&u6(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function d6(o,e){for(;o!==null;){var t=o===e?null:Wp(o);o.remove(),o=t}}function u6(o){var e=o.parent,t=o.prev,i=o.next;t!==null&&(t.next=i),i!==null&&(i.prev=t),e!==null&&(e.first===o&&(e.first=i),e.last===o&&(e.last=t))}function Nd(o,e,t=!0){var i=[];h6(o,i,!0);var n=()=>{t&&Qo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function h6(o,e,t){if((o.f&To)===0){o.f^=To;var i=o.nodes&&o.nodes.t;if(i!==null)for(const a of i)(a.is_global||t)&&e.push(a);for(var n=o.first;n!==null;){var s=n.next;if((n.f&Wc)===0){var r=(n.f&z0)!==0||(n.f&aa)!==0&&(o.f&oa)!==0;h6(n,e,r?t:!1)}n=s}}}function Om(o){f6(o,!0)}function f6(o,e){if((o.f&To)!==0){o.f^=To,(o.f&to)===0&&(Hs(o,so),Lu.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&z0)!==0||(t.f&aa)!==0;f6(t,n?e:!1),t=i}var s=o.nodes&&o.nodes.t;if(s!==null)for(const r of s)(r.is_global||e)&&r.in()}}function g9(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:Wp(t);e.append(t),t=n}}let om=!1,kl=!1;function g8(o){kl=o}let Hn=null,ra=!1;function Or(o){Hn=o}let zn=null;function Ga(o){zn=o}let Va=null;function g6(o){Hn!==null&&(Va??(Va=new Set)).add(o)}let $o=null,sr=0,wr=null;function $I(o){wr=o}let p6=1,yd=0,Od=yd;function p8(o){Od=o}function x6(){return++p6}function zp(o){var e=o.f;if((e&so)!==0)return!0;if(e&po&&(o.f&=~Fu),(e&qa)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(zp(s)&&Qk(s),s.wv>o.wv)return!0}(e&Tr)!==0&&co===null&&Hs(o,to)}return!1}function m6(o,e,t=!0){var i=o.reactions;if(i!==null&&!(Va!==null&&Va.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&po)!==0?m6(s,e,!1):e===s&&(t?Hs(s,so):(s.f&to)!==0&&Hs(s,qa),o9(s))}}function v6(o){var y;var e=$o,t=sr,i=wr,n=Hn,s=Va,r=go,a=ra,d=Od,u=o.f;$o=null,sr=0,wr=null,Hn=(u&(aa|Wc))===0?o:null,Va=null,V0(o.ctx),ra=!1,Od=++yd,o.ac!==null&&(cb(()=>{o.ac.abort(lb)}),o.ac=null);try{o.f|=Mm;var f=o.fn,g=f();o.f|=hf;var p=o.deps,C=on==null?void 0:on.is_fork;if($o!==null){var b;if(C||Wg(o,sr),p!==null&&sr>0)for(p.length=sr+$o.length,b=0;b<$o.length;b++)p[sr+b]=$o[b];else o.deps=p=$o;if(c9()&&(o.f&Tr)!==0)for(b=sr;b<p.length;b++)((y=p[b]).reactions??(y.reactions=[])).push(o)}else!C&&p!==null&&sr<p.length&&(Wg(o,sr),p.length=sr);if(zk()&&wr!==null&&!ra&&p!==null&&(o.f&(po|qa|so))===0)for(b=0;b<wr.length;b++)m6(wr[b],o);if(n!==null&&n!==o){if(yd++,n.deps!==null)for(let w=0;w<t;w+=1)n.deps[w].rv=yd;if(e!==null)for(const w of e)w.rv=yd;wr!==null&&(i===null?i=wr:i.push(...wr))}return(o.f&vc)!==0&&(o.f^=vc),g}catch(w){return jk(w)}finally{o.f^=Mm,$o=e,sr=t,wr=i,Hn=n,Va=s,V0(r),ra=a,Od=d}}function UI(o,e){let t=e.reactions;if(t!==null){var i=k7.call(t,o);if(i!==-1){var n=t.length-1;n===0?t=e.reactions=null:(t[i]=t[n],t.pop())}}if(t===null&&(e.f&po)!==0&&($o===null||!Pm.call($o,e))){var s=e;(s.f&Tr)!==0&&(s.f^=Tr,s.f&=~Fu),s.v!==Js&&n9(s),II(s),Wg(s,0)}}function Wg(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)UI(o,t[i])}function $0(o){var e=o.f;if((e&Mr)===0){Hs(o,to);var t=zn,i=om;zn=o,om=!0;try{(e&(oa|Mk))!==0?jI(o):f9(o),c6(o);var n=v6(o);o.teardown=typeof n=="function"?n:null,o.wv=p6;var s;Ik&&fI&&(o.f&so)!==0&&o.deps}finally{om=i,zn=t}}}async function hl(){await Promise.resolve(),_I()}function c(o){var e=o.f,t=(e&po)!==0;if(Hn!==null&&!ra){var i=zn!==null&&(zn.f&Mr)!==0;if(!i&&(Va===null||!Va.has(o))){var n=Hn.deps;if((Hn.f&Mm)!==0)o.rv<yd&&(o.rv=yd,$o===null&&n!==null&&n[sr]===o?sr++:$o===null?$o=[o]:$o.push(o));else{Hn.deps??(Hn.deps=[]),Pm.call(Hn.deps,o)||Hn.deps.push(o);var s=o.reactions;s===null?o.reactions=[Hn]:Pm.call(s,Hn)||s.push(Hn)}}}if(kl&&Md.has(o))return Md.get(o);if(t){var r=o;if(kl){var a=r.v;return((r.f&to)===0&&r.reactions!==null||b6(r))&&(a=a9(r)),Md.set(r,a),a}var d=(r.f&Tr)===0&&!ra&&Hn!==null&&(om||(Hn.f&Tr)!==0),u=(r.f&hf)===0;zp(r)&&(d&&(r.f|=Tr),Qk(r)),d&&!u&&(Jk(r),_6(r))}if(co!=null&&co.has(o))return co.get(o);if((o.f&vc)!==0)throw o.v;return o.v}function _6(o){if(o.f|=Tr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&po)!==0&&(e.f&Tr)===0&&(Jk(e),_6(e))}function b6(o){if(o.v===Js)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(Md.has(e)||(e.f&po)!==0&&b6(e))return!0;return!1}function Hl(o){var e=ra;try{return ra=!0,o()}finally{ra=e}}const qI=["touchstart","touchmove"];function GI(o){return qI.includes(o)}const wd=Symbol("events"),C6=new Set,w1=new Set;function KI(o,e,t,i={}){function n(s){if(i.capture||S1.call(e,s),!s.cancelBubble)return cb(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?_c(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function xs(o,e,t,i,n){var s={capture:i,passive:n},r=KI(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&d9(()=>{e.removeEventListener(o,r,s)})}function U(o,e,t){(e[wd]??(e[wd]={}))[o]=t}function Ys(o){for(var e=0;e<o.length;e++)C6.add(o[e]);for(var t of w1)t(o)}let x8=null;function S1(o){var y,w;var e=this,t=e.ownerDocument,i=o.type,n=((y=o.composedPath)==null?void 0:y.call(o))||[],s=n[0]||o.target;x8=o;var r=0,a=x8===o&&o[wd];if(a){var d=n.indexOf(a);if(d!==-1&&(e===document||e===window)){o[wd]=e;return}var u=n.indexOf(e);if(u===-1)return;d<=u&&(r=d)}if(s=n[r]||o.target,s!==e){B7(o,"currentTarget",{configurable:!0,get(){return s||t}});var f=Hn,g=zn;Or(null),Ga(null);try{for(var p,C=[];s!==null&&s!==e;){try{var b=(w=s[wd])==null?void 0:w[i];b!=null&&(!s.disabled||o.target===s)&&b.call(s,o)}catch(A){p?C.push(A):p=A}if(o.cancelBubble)break;r++,s=r<n.length?n[r]:null}if(p){for(let A of C)queueMicrotask(()=>{throw A});throw p}}finally{o[wd]=e,delete o.currentTarget,Or(f),Ga(g)}}}var tA;const aC=((tA=globalThis==null?void 0:globalThis.window)==null?void 0:tA.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function ZI(o){return(aC==null?void 0:aC.createHTML(o))??o}function E6(o){var e=a6("template");return e.innerHTML=ZI(o.replaceAll("<!>","<!---->")),e.content}function Pu(o,e){var t=zn;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function B(o,e){var t=(e&oI)!==0,i=(e&rI)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=E6(s?o:"<!>"+o),t||(n=Na(n)));var r=i||n6?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Na(r),d=r.lastChild;Pu(a,d)}else Pu(r,r);return r}}function XI(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=E6(n),a=Na(r);s=Na(a)}var d=s.cloneNode(!0);return Pu(d,d),d}}function y6(o,e){return XI(o,e,"svg")}function oo(o=""){{var e=bl(o+"");return Pu(e,e),e}}function ws(){var o=document.createDocumentFragment(),e=document.createComment(""),t=bl();return o.append(e,t),Pu(e,t),o}function D(o,e){o!==null&&o.before(e)}function W(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[Uf]??(o[Uf]=o.nodeValue))&&(o[Uf]=t,o.nodeValue=`${t}`)}function YI(o,e){return QI(o,e)}const _x=new Map;function QI(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){RI();var d=void 0,u=zI(()=>{var f=t??e.appendChild(bl());yI(f,{pending:()=>{}},C=>{js({});var b=go;s&&(b.c=s),n&&(i.$$events=n),d=o(C,i)||{},$s()},a);var g=new Set,p=C=>{for(var b=0;b<C.length;b++){var y=C[b];if(!g.has(y)){g.add(y);var w=GI(y);for(const M of[e,document]){var A=_x.get(M);A===void 0&&(A=new Map,_x.set(M,A));var P=A.get(y);P===void 0?(M.addEventListener(y,S1,{passive:w}),A.set(y,1)):A.set(y,P+1)}}}};return p(ob(C6)),w1.add(p),()=>{var w;for(var C of g)for(const A of[e,document]){var b=_x.get(A),y=b.get(C);--y==0?(A.removeEventListener(C,S1),b.delete(C),b.size===0&&_x.delete(A)):b.set(C,y)}w1.delete(p),f!==t&&((w=f.parentNode)==null||w.removeChild(f))}});return JI.set(d,u),d}let JI=new WeakMap;var Xr,Ba,ar,Fd,bp,Cp,Kv;class eP{constructor(e,t=!0){kn(this,"anchor");bn(this,Xr,new Map);bn(this,Ba,new Map);bn(this,ar,new Map);bn(this,Fd,new Set);bn(this,bp,!0);bn(this,Cp,e=>{if(ye(this,Xr).has(e)){var t=ye(this,Xr).get(e),i=ye(this,Ba).get(t);if(i)Om(i),ye(this,Fd).delete(t);else{var n=ye(this,ar).get(t);n&&(Om(n.effect),ye(this,Ba).set(t,n.effect),ye(this,ar).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of ye(this,Xr)){if(ye(this,Xr).delete(s),s===e)break;const a=ye(this,ar).get(r);a&&(Qo(a.effect),ye(this,ar).delete(r))}for(const[s,r]of ye(this,Ba)){if(s===t||ye(this,Fd).has(s))continue;const a=()=>{if(Array.from(ye(this,Xr).values()).includes(s)){var u=document.createDocumentFragment();g9(r,u),u.append(bl()),ye(this,ar).set(s,{effect:r,fragment:u})}else Qo(r);ye(this,Fd).delete(s),ye(this,Ba).delete(s)};ye(this,bp)||!i?(ye(this,Fd).add(s),Nd(r,a,!1)):a()}}});bn(this,Kv,e=>{ye(this,Xr).delete(e);const t=Array.from(ye(this,Xr).values());for(const[i,n]of ye(this,ar))t.includes(i)||(Qo(n.effect),ye(this,ar).delete(i))});this.anchor=e,Cn(this,bp,t)}ensure(e,t){var i=on,n=r6();if(t&&!ye(this,Ba).has(e)&&!ye(this,ar).has(e))if(n){var s=document.createDocumentFragment(),r=bl();s.append(r),ye(this,ar).set(e,{effect:kr(()=>t(r)),fragment:s})}else ye(this,Ba).set(e,kr(()=>t(this.anchor)));if(ye(this,Xr).set(i,e),n){for(const[a,d]of ye(this,Ba))a===e?i.unskip_effect(d):i.skip_effect(d);for(const[a,d]of ye(this,ar))a===e?i.unskip_effect(d.effect):i.skip_effect(d.effect);i.oncommit(ye(this,Cp)),i.ondiscard(ye(this,Kv))}else ye(this,Cp).call(this,i)}}Xr=new WeakMap,Ba=new WeakMap,ar=new WeakMap,Fd=new WeakMap,bp=new WeakMap,Cp=new WeakMap,Kv=new WeakMap;function z(o,e,t=!1){var i=new eP(o),n=t?z0:0;function s(r,a){i.ensure(r,a)}h9(()=>{var r=!1;e((a,d=0)=>{r=!0,s(d,a)}),r||s(-1,null)},n)}function zi(o,e){return e}function tP(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let g=e[a];Nd(g,()=>{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var p=o.outrogroups;D1(o,ob(s.done)),p.delete(s),p.size===0&&(o.outrogroups=null)}}else r-=1},!1)}if(r===0){var d=i.length===0&&t!==null;if(d){var u=t,f=u.parentNode;NI(f),f.append(u),o.items.clear()}D1(o,e,!d)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function D1(o,e,t=!0){var i;if(o.pending.size>0){i=new Set;for(const r of o.pending.values())for(const a of r)i.add(o.items.get(a).e)}for(var n=0;n<e.length;n++){var s=e[n];if(i!=null&&i.has(s)){s.f|=Ra;const r=document.createDocumentFragment();g9(s,r)}else Qo(e[n],t)}}var m8;function ti(o,e,t,i,n,s=null){var r=o,a=new Map,d=(e&Nk)!==0;if(d){var u=o;r=u.appendChild(bl())}var f=null,g=r9(()=>{var M=t();return i9(M)?M:M==null?[]:ob(M)}),p,C=new Map,b=!0;function y(M){(P.effect.f&Mr)===0&&(P.pending.delete(M),P.fallback=f,iP(P,p,r,e,i),f!==null&&(p.length===0?(f.f&Ra)===0?Om(f):(f.f^=Ra,Kf(f,null,r)):Nd(f,()=>{f=null})))}function w(M){P.pending.delete(M)}var A=h9(()=>{p=c(g);for(var M=p.length,R=new Set,T=on,V=r6(),H=0;H<M;H+=1){var X=p[H],se=i(X,H),he=b?null:a.get(se);he?(he.v&&j0(he.v,X),he.i&&j0(he.i,H),V&&T.unskip_effect(he.e)):(he=nP(a,b?r:m8??(m8=bl()),X,se,H,n,e,t),b||(he.e.f|=Ra),a.set(se,he)),R.add(se)}if(M===0&&s&&!f&&(b?f=kr(()=>s(r)):(f=kr(()=>s(m8??(m8=bl()))),f.f|=Ra)),M>R.size&&z7(),!b)if(C.set(T,R),V){for(const[J,de]of a)R.has(J)||T.skip_effect(de.e);T.oncommit(y),T.ondiscard(w)}else y(T);c(g)}),P={effect:A,items:a,pending:C,outrogroups:null,fallback:f};b=!1}function Mf(o){for(;o!==null&&(o.f&aa)===0;)o=o.next;return o}function iP(o,e,t,i,n){var he,J,de,we,re,ae,De,Pe,xe;var s=(i&J7)!==0,r=e.length,a=o.items,d=Mf(o.effect.first),u,f=null,g,p=[],C=[],b,y,w,A;if(s)for(A=0;A<r;A+=1)b=e[A],y=n(b,A),w=a.get(y).e,(w.f&Ra)===0&&((J=(he=w.nodes)==null?void 0:he.a)==null||J.measure(),(g??(g=new Set)).add(w));for(A=0;A<r;A+=1){if(b=e[A],y=n(b,A),w=a.get(y).e,o.outrogroups!==null)for(const ze of o.outrogroups)ze.pending.delete(w),ze.done.delete(w);if((w.f&To)!==0&&(Om(w),s&&((we=(de=w.nodes)==null?void 0:de.a)==null||we.unfix(),(g??(g=new Set)).delete(w))),(w.f&Ra)!==0)if(w.f^=Ra,w===d)Kf(w,null,t);else{var P=f?f.next:d;w===o.effect.last&&(o.effect.last=w.prev),w.prev&&(w.prev.next=w.next),w.next&&(w.next.prev=w.prev),Kl(o,f,w),Kl(o,w,P),Kf(w,P,t),f=w,p=[],C=[],d=Mf(f.next);continue}if(w!==d){if(u!==void 0&&u.has(w)){if(p.length<C.length){var M=C[0],R;f=M.prev;var T=p[0],V=p[p.length-1];for(R=0;R<p.length;R+=1)Kf(p[R],M,t);for(R=0;R<C.length;R+=1)u.delete(C[R]);Kl(o,T.prev,V.next),Kl(o,f,T),Kl(o,V,M),d=M,f=V,A-=1,p=[],C=[]}else u.delete(w),Kf(w,d,t),Kl(o,w.prev,w.next),Kl(o,w,f===null?o.effect.first:f.next),Kl(o,f,w),f=w;continue}for(p=[],C=[];d!==null&&d!==w;)(u??(u=new Set)).add(d),C.push(d),d=Mf(d.next);if(d===null)continue}(w.f&Ra)===0&&p.push(w),f=w,d=Mf(w.next)}if(o.outrogroups!==null){for(const ze of o.outrogroups)ze.pending.size===0&&(D1(o,ob(ze.done)),(re=o.outrogroups)==null||re.delete(ze));o.outrogroups.size===0&&(o.outrogroups=null)}if(d!==null||u!==void 0){var H=[];if(u!==void 0)for(w of u)(w.f&To)===0&&H.push(w);for(;d!==null;)(d.f&To)===0&&d!==o.fallback&&H.push(d),d=Mf(d.next);var X=H.length;if(X>0){var se=(i&Nk)!==0&&r===0?t:null;if(s){for(A=0;A<X;A+=1)(De=(ae=H[A].nodes)==null?void 0:ae.a)==null||De.measure();for(A=0;A<X;A+=1)(xe=(Pe=H[A].nodes)==null?void 0:Pe.a)==null||xe.fix()}tP(o,H,se)}}s&&_c(()=>{var ze,We;if(g!==void 0)for(w of g)(We=(ze=w.nodes)==null?void 0:ze.a)==null||We.apply()})}function nP(o,e,t,i,n,s,r,a){var d=(r&Y7)!==0?(r&eI)===0?PI(t,!1,!1):Iu(t):null,u=(r&Q7)!==0?Iu(n):null;return{v:d,i:u,e:kr(()=>(s(e,d??t,u??n,a),()=>{o.delete(i)}))}}function Kf(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Ra)===0?e.nodes.start:t;i!==null;){var r=Wp(i);if(s.before(i),i===n)return;i=r}}function Kl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function hc(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var d=o;j(()=>{var u=zn;if(a!==(a=e()??"")){if(t){u.nodes=null,d.innerHTML=a,a!==""&&Pu(Na(d),d.lastChild);return}if(u.nodes!==null&&(d6(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?aI:n?lI:void 0,g=a6(i?"svg":n?"math":"template",f);g.innerHTML=a;var p=i||n?g:g.content;if(Pu(Na(p),p.lastChild),i||n)for(;Na(p);)r.before(Na(p));else r.before(p)}}})}function w6(o){var e,t,i="";if(typeof o=="string"||typeof o=="number")i+=o;else if(typeof o=="object")if(Array.isArray(o)){var n=o.length;for(e=0;e<n;e++)o[e]&&(t=w6(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function sP(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=w6(o))&&(i&&(i+=" "),i+=e);return i}function hg(o){return typeof o=="object"?sP(o):o??""}const v8=[...`
3
3
  \r\f \v\uFEFF`];function oP(o,e,t){var i=o==null?"":""+o;if(e&&(i=i?i+" "+e:e),t){for(var n of Object.keys(t))if(t[n])i=i?i+" "+n:n;else if(i.length)for(var s=n.length,r=0;(r=i.indexOf(n,r))>=0;){var a=r+s;(r===0||v8.includes(i[r-1]))&&(a===i.length||v8.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function _8(o,e=!1){var t=e?" !important;":";",i="";for(var n of Object.keys(o)){var s=o[n];s!=null&&s!==""&&(i+=" "+n+": "+s+t)}return i}function lC(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function rP(o,e){if(e){var t="",i,n;if(Array.isArray(e)?(i=e[0],n=e[1]):i=e,o){o=String(o).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var s=!1,r=0,a=!1,d=[];i&&d.push(...Object.keys(i).map(lC)),n&&d.push(...Object.keys(n).map(lC));var u=0,f=-1;const y=o.length;for(var g=0;g<y;g++){var p=o[g];if(a?p==="/"&&o[g-1]==="*"&&(a=!1):s?s===p&&(s=!1):p==="/"&&o[g+1]==="*"?a=!0:p==='"'||p==="'"?s=p:p==="("?r++:p===")"&&r--,!a&&s===!1&&r===0){if(p===":"&&f===-1)f=g;else if(p===";"||g===y-1){if(f!==-1){var C=lC(o.substring(u,f).trim());if(!d.includes(C)){p!==";"&&g++;var b=o.substring(u,g).trim();t+=" "+b+";"}}u=g+1,f=-1}}}}return i&&(t+=_8(i)),n&&(t+=_8(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function Ft(o,e,t,i,n,s){var r=o[x1];if(r!==t||r===void 0){var a=oP(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[x1]=t}else if(s&&n!==s)for(var d in s){var u=!!s[d];(n==null||u!==!!n[d])&&o.classList.toggle(d,u)}return s}function cC(o,e={},t,i){for(var n in t){var s=t[n];e[n]!==s&&(t[n]==null?o.style.removeProperty(n):o.style.setProperty(n,s,i))}}function qo(o,e,t,i){var n=o[m1];if(n!==e){var s=rP(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[m1]=e}else i&&(Array.isArray(i)?(cC(o,t==null?void 0:t[0],i[0]),cC(o,t==null?void 0:t[1],i[1],"important")):cC(o,t,i));return i}function Hm(o,e,t=!1){if(o.multiple){if(e==null)return;if(!i9(e))return dI();for(var i of o.options)i.selected=e.includes(fg(i));return}for(i of o.options){var n=fg(i);if(MI(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function A1(o){var e=new MutationObserver(()=>{Hm(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),d9(()=>{e.disconnect()})}function Fs(o,e,t=e){var i=new WeakSet,n=!0;l9(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),fg);else{var d=o.querySelector(r)??o.querySelector("option:not([disabled])");a=d&&fg(d)}t(a),o.__value=a,on!==null&&i.add(on)}),u9(()=>{var s=e();if(o===document.activeElement){var r=on;if(i.has(r))return}if(Hm(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=fg(a),t(s))}o.__value=s,n=!1}),A1(o)}function fg(o){return"__value"in o?o.__value:o.value}const aP=Symbol("is custom element"),lP=Symbol("is html"),cP=H7?"progress":"PROGRESS";function k1(o,e){var t=p9(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==cP)||(o.value=e??"")}function Zo(o,e){var t=p9(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function ln(o,e,t,i){var n=p9(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[O7]=t),t==null?o.removeAttribute(e):typeof t!="string"&&dP(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function p9(o){return o[em]??(o[em]={[aP]:o.nodeName.includes("-"),[lP]:o.namespaceURI===Ok})}var b8=new Map;function dP(o){var e=o.getAttribute("is")||o.nodeName,t=b8.get(e);if(t)return t;b8.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=F7(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=Pk(n)}return t}function jt(o,e,t=e){var i=new WeakSet;l9(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=dC(o)?uC(s):s,t(s),on!==null&&i.add(on),await hl(),s!==(s=e())){var r=o.selectionStart,a=o.selectionEnd,d=o.value.length;if(o.value=s??"",a!==null){var u=o.value.length;r===a&&a===d&&u>d?(o.selectionStart=u,o.selectionEnd=u):(o.selectionStart=r,o.selectionEnd=Math.min(a,u))}}}),Hl(e)==null&&o.value&&(t(dC(o)?uC(o.value):o.value),on!==null&&i.add(on)),db(()=>{var n=e();if(o===document.activeElement){var s=on;if(i.has(s))return}dC(o)&&n===uC(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function ys(o,e,t=e){l9(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),Hl(e)==null&&t(o.checked),db(()=>{var i=e();o.checked=!!i})}function dC(o){var e=o.type;return e==="number"||e==="range"}function uC(o){return o===""?null:+o}var cc,_0,Ep,Zv,S6;const Xv=class Xv{constructor(e){bn(this,Zv);bn(this,cc,new WeakMap);bn(this,_0);bn(this,Ep);Cn(this,Ep,e)}observe(e,t){var i=ye(this,cc).get(e)||new Set;return i.add(t),ye(this,cc).set(e,i),ts(this,Zv,S6).call(this).observe(e,ye(this,Ep)),()=>{var n=ye(this,cc).get(e);n.delete(t),n.size===0&&(ye(this,cc).delete(e),ye(this,_0).unobserve(e))}}};cc=new WeakMap,_0=new WeakMap,Ep=new WeakMap,Zv=new WeakSet,S6=function(){return ye(this,_0)??Cn(this,_0,new ResizeObserver(e=>{for(var t of e){Xv.entries.set(t.target,t);for(var i of ye(this,cc).get(t.target)||[])i(t)}}))},kn(Xv,"entries",new WeakMap);let B1=Xv;var uP=new B1({box:"border-box"});function hP(o,e,t){var i=uP.observe(o,()=>t(o[e]));u9(()=>(Hl(()=>t(o[e])),i))}function hC(o,e){return o===e||(o==null?void 0:o[Td])===e}function gs(o={},e,t,i){var n=go.r,s=zn;return u9(()=>{var r,a;return db(()=>{r=a,a=[],Hl(()=>{hC(t(...a),o)||(e(o,...a),r&&hC(t(...r),o)&&e(null,...r))})}),()=>{let d=s;for(;d!==n&&d.parent!==null&&d.parent.f&p1;)d=d.parent;const u=()=>{a&&hC(t(...a),o)&&e(null,...a)},f=d.teardown;d.teardown=()=>{u(),f==null||f()}}}),o}function Tu(o,e,t,i){var R;var n=!0,s=(t&nI)!==0,r=(t&sI)!==0,a=i,d=!0,u=void 0,f=()=>r&&n?(u??(u=Hg(i)),c(u)):(d&&(d=!1,a=r?Hl(i):i),a);let g;if(s){var p=Td in o||N7 in o;g=((R=a0(o,e))==null?void 0:R.set)??(p&&e in o?T=>o[e]=T:void 0)}var C,b=!1;s?[C,b]=xI(()=>o[e]):C=o[e],C===void 0&&i!==void 0&&(C=f(),g&&(q7(),g(C)));var y;if(y=()=>{var T=o[e];return T===void 0?f():(d=!0,T)},(t&iI)===0)return y;if(g){var w=o.$$legacy;return(function(T,V){return arguments.length>0?((!V||w||b)&&g(V?y():T),T):y()})}var A=!1,P=((t&tI)!==0?Hg:r9)(()=>(A=!1,y()));s&&c(P);var M=zn;return(function(T,V){if(arguments.length>0){const H=V?c(P):s?Pi(T):T;return m(P,H),A=!0,a!==void 0&&(a=H),T}return kl&&A||(M.f&Mr)!==0?P.v:c(P)})}function Xs(o){go===null&&Rk(),Kn(()=>{const e=Hl(o);if(typeof e=="function")return e})}function Vp(o){go===null&&Rk(),Xs(()=>()=>Hl(o))}const fP="5";var iA;typeof window<"u"&&((iA=window.__svelte??(window.__svelte={})).v??(iA.v=new Set)).add(fP);/*!-----------------------------------------------------------------------------
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -10,7 +10,7 @@ var qF=Object.defineProperty;var kS=o=>{throw TypeError(o)};var GF=(o,e,t)=>e in
10
10
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
11
11
  * Released under the MIT license
12
12
  * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
13
- *-----------------------------------------------------------------------------*/var wP=Object.defineProperty,SP=Object.getOwnPropertyDescriptor,DP=Object.getOwnPropertyNames,AP=Object.prototype.hasOwnProperty,kP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of DP(e))!AP.call(o,n)&&n!==t&&wP(o,n,{get:()=>e[n],enumerable:!(i=SP(e,n))||i.enumerable});return o},BP=(o,e,t)=>(kP(o,e,"default"),t),FP="5.4.5",U0={};BP(U0,sA);var k6=(o=>(o[o.None=0]="None",o[o.CommonJS=1]="CommonJS",o[o.AMD=2]="AMD",o[o.UMD=3]="UMD",o[o.System=4]="System",o[o.ES2015=5]="ES2015",o[o.ESNext=99]="ESNext",o))(k6||{}),B6=(o=>(o[o.None=0]="None",o[o.Preserve=1]="Preserve",o[o.React=2]="React",o[o.ReactNative=3]="ReactNative",o[o.ReactJSX=4]="ReactJSX",o[o.ReactJSXDev=5]="ReactJSXDev",o))(B6||{}),F6=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(F6||{}),L6=(o=>(o[o.ES3=0]="ES3",o[o.ES5=1]="ES5",o[o.ES2015=2]="ES2015",o[o.ES2016=3]="ES2016",o[o.ES2017=4]="ES2017",o[o.ES2018=5]="ES2018",o[o.ES2019=6]="ES2019",o[o.ES2020=7]="ES2020",o[o.ESNext=99]="ESNext",o[o.JSON=100]="JSON",o[o.Latest=99]="Latest",o))(L6||{}),I6=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(I6||{}),P6=class{constructor(o,e,t,i,n){this._onDidChange=new U0.Emitter,this._onDidExtraLibsChange=new U0.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(o),this.setDiagnosticsOptions(e),this.setWorkerOptions(t),this.setInlayHintsOptions(i),this.setModeConfiguration(n),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(o,e){let t;if(typeof e>"u"?t=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t=e,this._extraLibs[t]&&this._extraLibs[t].content===o)return{dispose:()=>{}};let i=1;return this._removedExtraLibs[t]&&(i=this._removedExtraLibs[t]+1),this._extraLibs[t]&&(i=this._extraLibs[t].version+1),this._extraLibs[t]={content:o,version:i},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let n=this._extraLibs[t];n&&n.version===i&&(delete this._extraLibs[t],this._removedExtraLibs[t]=i,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(o){for(const e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),o&&o.length>0)for(const e of o){const t=e.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,i=e.content;let n=1;this._removedExtraLibs[t]&&(n=this._removedExtraLibs[t]+1),this._extraLibs[t]={content:i,version:n}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(o){this._compilerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(o){this._diagnosticsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(o){this._workerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(o){this._inlayHintsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(o){}setEagerModelSync(o){this._eagerModelSync=o}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(o){this._modeConfiguration=o||Object.create(null),this._onDidChange.fire(void 0)}},LP=FP,T6={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},M6=new P6({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},T6),R6=new P6({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},T6),IP=()=>ub().then(o=>o.getTypeScriptWorker()),PP=()=>ub().then(o=>o.getJavaScriptWorker());U0.languages.typescript={ModuleKind:k6,JsxEmit:B6,NewLineKind:F6,ScriptTarget:L6,ModuleResolutionKind:I6,typescriptVersion:LP,typescriptDefaults:M6,javascriptDefaults:R6,getTypeScriptWorker:IP,getJavaScriptWorker:PP};function ub(){return nA(()=>import("./tsMode-EcYk_dVC.js"),__vite__mapDeps([3,1,2]))}U0.languages.onLanguage("typescript",()=>ub().then(o=>o.setupTypeScript(M6)));U0.languages.onLanguage("javascript",()=>ub().then(o=>o.setupJavaScript(R6)));class TP extends Do{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Bi("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Zi.map,toggled:Ue.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:Ue.has("isInDiffEditor"),menu:{when:Ue.has("isInDiffEditor"),id:ri.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class N6 extends Do{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Bi("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:Ue.has("isInDiffEditor")})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class O6 extends Do{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Bi("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:Ue.has("isInDiffEditor")})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const $p=Bi("diffEditor","Diff Editor");class MP extends la{constructor(){super({id:"diffEditor.switchSide",title:Bi("switchSide","Switch Side"),icon:Zi.arrowSwap,precondition:Ue.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,i){const n=gf(e);if(n instanceof yp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class RP extends la{constructor(){super({id:"diffEditor.exitCompareMove",title:Bi("exitCompareMove","Exit Compare Move"),icon:Zi.close,precondition:q.comparingMovedCode,f1:!1,category:$p,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.exitCompareMove()}}class NP extends la{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Bi("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Zi.fold,precondition:Ue.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.collapseAllUnchangedRegions()}}class OP extends la{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Bi("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Zi.unfold,precondition:Ue.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.showAllUnchangedRegions()}}class F1 extends Do{constructor(){super({id:"diffEditor.revert",title:Bi("revert","Revert"),f1:!1,category:$p})}run(e,t){const i=HP(e,t.originalUri,t.modifiedUri);i instanceof yp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const H6=Bi("accessibleDiffViewer","Accessible Diff Viewer"),Yv=class Yv extends Do{constructor(){super({id:Yv.id,title:Bi("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:H6,precondition:Ue.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=gf(e);t==null||t.accessibleDiffViewerNext()}};Yv.id="editor.action.accessibleDiffViewer.next";let zg=Yv;const Qv=class Qv extends Do{constructor(){super({id:Qv.id,title:Bi("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:H6,precondition:Ue.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=gf(e);t==null||t.accessibleDiffViewerPrev()}};Qv.id="editor.action.accessibleDiffViewer.prev";let Wm=Qv;function HP(o,e,t){return o.get(bs).listDiffEditors().find(s=>{var d,u;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((d=r.getModel())==null?void 0:d.uri.toString())===t.toString()&&a&&((u=a.getModel())==null?void 0:u.uri.toString())===e.toString()})||null}function gf(o){const t=o.get(bs).listDiffEditors(),i=oA();if(i)for(const n of t){const s=n.getContainerDomNode();if(WP(s,i))return n}return null}function WP(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Vn(TP);Vn(N6);Vn(O6);Rr.appendMenuItem(ri.EditorTitle,{command:{id:new O6().desc.id,title:S("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:Ue.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:Ue.has("isInDiffEditor")},order:11,group:"1_diff",when:Ue.and(q.diffEditorRenderSideBySideInlineBreakpointReached,Ue.has("isInDiffEditor"))});Rr.appendMenuItem(ri.EditorTitle,{command:{id:new N6().desc.id,title:S("showMoves","Show Moved Code Blocks"),icon:Zi.move,toggled:KF.create("config.diffEditor.experimental.showMoves",!0),precondition:Ue.has("isInDiffEditor")},order:10,group:"1_diff",when:Ue.has("isInDiffEditor")});Vn(F1);for(const o of[{icon:Zi.arrowRight,key:q.diffEditorInlineMode.toNegated()},{icon:Zi.discard,key:q.diffEditorInlineMode}])Rr.appendMenuItem(ri.DiffEditorHunkToolbar,{command:{id:new F1().desc.id,title:S("revertHunk","Revert Block"),icon:o.icon},when:Ue.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Rr.appendMenuItem(ri.DiffEditorSelectionToolbar,{command:{id:new F1().desc.id,title:S("revertSelection","Revert Selection"),icon:o.icon},when:Ue.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Vn(MP);Vn(RP);Vn(NP);Vn(OP);Rr.appendMenuItem(ri.EditorTitle,{command:{id:zg.id,title:S("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:Ue.has("isInDiffEditor")},order:10,group:"2_diff",when:Ue.and(q.accessibleDiffViewerVisible.negate(),Ue.has("isInDiffEditor"))});Qn.registerCommandAlias("editor.action.diffReview.next",zg.id);Vn(zg);Qn.registerCommandAlias("editor.action.diffReview.prev",Wm.id);Vn(Wm);var zP=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},VP=function(o,e){return function(t,i){e(t,i,o)}},L1;const hb=new En("selectionAnchorSet",!1);var Vd;let zc=(Vd=class{static get(e){return e.getContribution(L1.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=hb.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration($i.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new lo().appendText(S("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Nr(S("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection($i.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}},L1=Vd,Vd.ID="editor.contrib.selectionAnchorController",Vd);zc=L1=zP([VP(1,Fn)],zc);class jP extends _t{constructor(){super({id:"editor.action.setSelectionAnchor",label:S("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2080),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.setSelectionAnchor()}}class $P extends _t{constructor(){super({id:"editor.action.goToSelectionAnchor",label:S("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:hb})}async run(e,t){var i;(i=zc.get(t))==null||i.goToSelectionAnchor()}}class UP extends _t{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:S("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:hb,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2089),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.selectFromAnchorToCursor()}}class qP extends _t{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:S("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:hb,kbOpts:{kbExpr:q.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.cancelSelectionAnchor()}}un(zc.ID,zc,4);Be(jP);Be($P);Be(UP);Be(qP);const GP=mi("editorOverviewRuler.bracketMatchForeground","#A0A0A0",S("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class KP extends _t{constructor(){super({id:"editor.action.jumpToBracket",label:S("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=Mu.get(t))==null||i.jumpToBracket()}}class ZP extends _t{constructor(){super({id:"editor.action.selectToBracket",label:S("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Bi("smartSelect.selectToBracketDescription","Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){var s;let n=!0;i&&i.selectBrackets===!1&&(n=!1),(s=Mu.get(t))==null||s.selectToBracket(n)}}class XP extends _t{constructor(){super({id:"editor.action.removeBrackets",label:S("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=Mu.get(t))==null||i.removeBrackets(this.id)}}class YP{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const ic=class ic extends Nt{static get(e){return e.getContribution(ic.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Ps(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{const n=i.getStartPosition(),s=e.bracketPairs.matchBracket(n);let r=null;if(s)s[0].containsPosition(n)&&!s[1].containsPosition(n)?r=s[1].getStartPosition():s[1].containsPosition(n)&&(r=s[0].getStartPosition());else{const a=e.bracketPairs.findEnclosingBrackets(n);if(a)r=a[1].getStartPosition();else{const d=e.bracketPairs.findNextBracket(n);d&&d.range&&(r=d.range.getStartPosition())}}return r?new $i(r.lineNumber,r.column,r.lineNumber,r.column):new $i(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(n=>{const s=n.getStartPosition();let r=t.bracketPairs.matchBracket(s);if(!r&&(r=t.bracketPairs.findEnclosingBrackets(s),!r)){const u=t.bracketPairs.findNextBracket(s);u&&u.range&&(r=t.bracketPairs.matchBracket(u.range.getStartPosition()))}let a=null,d=null;if(r){r.sort(Q.compareRangesUsingStarts);const[u,f]=r;if(a=e?u.getStartPosition():u.getEndPosition(),d=e?f.getEndPosition():f.getStartPosition(),f.containsPosition(s)){const g=a;a=d,d=g}}a&&d&&i.push(new $i(a.lineNumber,a.column,d.lineNumber,d.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach(i=>{const n=i.getPosition();let s=t.bracketPairs.matchBracket(n);s||(s=t.bracketPairs.findEnclosingBrackets(n)),s&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:s[0],text:""},{range:s[1],text:""}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const n=i.brackets;n&&(e[t++]={range:n[0],options:i.options},e[t++]={range:n[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),i=t.getVersionId();let n=[];this._lastVersionId===i&&(n=this._lastBracketsData);const s=[];let r=0;for(let g=0,p=e.length;g<p;g++){const C=e[g];C.isEmpty()&&(s[r++]=C.getStartPosition())}s.length>1&&s.sort(Fi.compare);const a=[];let d=0,u=0;const f=n.length;for(let g=0,p=s.length;g<p;g++){const C=s[g];for(;u<f&&n[u].position.isBefore(C);)u++;if(u<f&&n[u].position.equals(C))a[d++]=n[u];else{let b=t.bracketPairs.matchBracket(C,20),y=ic._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!b&&this._matchBrackets==="always"&&(b=t.bracketPairs.findEnclosingBrackets(C,20),y=ic._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[d++]=new YP(C,b,y)}}this._lastBracketsData=a,this._lastVersionId=i}};ic.ID="editor.contrib.bracketMatchingController",ic._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=mn.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:Bs(GP),position:Ha.Center}}),ic._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=mn.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Mu=ic;un(Mu.ID,Mu,1);Be(ZP);Be(KP);Be(XP);Rr.appendMenuItem(ri.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:S({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class QP{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const i=this._selection.startLineNumber,n=this._selection.startColumn,s=this._selection.endColumn;if(!(this._isMovingLeft&&n===1)&&!(!this._isMovingLeft&&s===e.getLineMaxColumn(i)))if(this._isMovingLeft){const r=new Q(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new Q(i,s,i,s),a)}else{const r=new Q(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new Q(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new $i(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new $i(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class W6 extends _t{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const i=[],n=t.getSelections();for(const s of n)i.push(new QP(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class JP extends W6{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:S("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:q.writable})}}class eT extends W6{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:S("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:q.writable})}}Be(JP);Be(eT);class tT extends _t{constructor(){super({id:"editor.action.transposeLetters",label:S("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=[],s=t.getSelections();for(const r of s){if(!r.isEmpty())continue;const a=r.startLineNumber,d=r.startColumn,u=i.getLineMaxColumn(a);if(a===1&&(d===1||d===2&&u===2))continue;const f=d===u?r.getPosition():Qb.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=Qb.leftPosition(i,f),p=Qb.leftPosition(i,g),C=i.getValueInRange(Q.fromPositions(p,g)),b=i.getValueInRange(Q.fromPositions(g,f)),y=Q.fromPositions(p,f);n.push(new wp(y,b+C))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}Be(tT);const fb=(function(){if(typeof crypto=="object"&&typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let o;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?o=crypto.getRandomValues.bind(crypto):o=function(i){for(let n=0;n<i.length;n++)i[n]=Math.floor(Math.random()*256);return i};const e=new Uint8Array(16),t=[];for(let i=0;i<256;i++)t.push(i.toString(16).padStart(2,"0"));return function(){o(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let n=0,s="";return s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s}})();function x9(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function iT(o,e,t){const i={id:fb(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class z6{constructor(){this._entries=new Map}get size(){let e=0;for(const t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){const t=[...this._entries.keys()];return ml.some(this,([i,n])=>n.asFile())&&t.push("files"),j6(zm(e),t)}get(e){var t;return(t=this._entries.get(this.toKey(e)))==null?void 0:t[0]}append(e,t){const i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(const[e,t]of this._entries)for(const i of t)yield[e,i]}toKey(e){return zm(e)}}function zm(o){return o.toLowerCase()}function V6(o,e){return j6(zm(o),e.map(zm))}function j6(o,e){if(o==="*/*")return e.length>0;if(e.includes(o))return!0;const t=o.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!t)return!1;const[i,n,s]=t;return s==="*"?e.some(r=>r.startsWith(n+"/")):!1}const gb=Object.freeze({create:o=>rA(o.map(e=>e.toString())).join(`\r
13
+ *-----------------------------------------------------------------------------*/var wP=Object.defineProperty,SP=Object.getOwnPropertyDescriptor,DP=Object.getOwnPropertyNames,AP=Object.prototype.hasOwnProperty,kP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of DP(e))!AP.call(o,n)&&n!==t&&wP(o,n,{get:()=>e[n],enumerable:!(i=SP(e,n))||i.enumerable});return o},BP=(o,e,t)=>(kP(o,e,"default"),t),FP="5.4.5",U0={};BP(U0,sA);var k6=(o=>(o[o.None=0]="None",o[o.CommonJS=1]="CommonJS",o[o.AMD=2]="AMD",o[o.UMD=3]="UMD",o[o.System=4]="System",o[o.ES2015=5]="ES2015",o[o.ESNext=99]="ESNext",o))(k6||{}),B6=(o=>(o[o.None=0]="None",o[o.Preserve=1]="Preserve",o[o.React=2]="React",o[o.ReactNative=3]="ReactNative",o[o.ReactJSX=4]="ReactJSX",o[o.ReactJSXDev=5]="ReactJSXDev",o))(B6||{}),F6=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(F6||{}),L6=(o=>(o[o.ES3=0]="ES3",o[o.ES5=1]="ES5",o[o.ES2015=2]="ES2015",o[o.ES2016=3]="ES2016",o[o.ES2017=4]="ES2017",o[o.ES2018=5]="ES2018",o[o.ES2019=6]="ES2019",o[o.ES2020=7]="ES2020",o[o.ESNext=99]="ESNext",o[o.JSON=100]="JSON",o[o.Latest=99]="Latest",o))(L6||{}),I6=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(I6||{}),P6=class{constructor(o,e,t,i,n){this._onDidChange=new U0.Emitter,this._onDidExtraLibsChange=new U0.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(o),this.setDiagnosticsOptions(e),this.setWorkerOptions(t),this.setInlayHintsOptions(i),this.setModeConfiguration(n),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(o,e){let t;if(typeof e>"u"?t=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t=e,this._extraLibs[t]&&this._extraLibs[t].content===o)return{dispose:()=>{}};let i=1;return this._removedExtraLibs[t]&&(i=this._removedExtraLibs[t]+1),this._extraLibs[t]&&(i=this._extraLibs[t].version+1),this._extraLibs[t]={content:o,version:i},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let n=this._extraLibs[t];n&&n.version===i&&(delete this._extraLibs[t],this._removedExtraLibs[t]=i,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(o){for(const e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),o&&o.length>0)for(const e of o){const t=e.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,i=e.content;let n=1;this._removedExtraLibs[t]&&(n=this._removedExtraLibs[t]+1),this._extraLibs[t]={content:i,version:n}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(o){this._compilerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(o){this._diagnosticsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(o){this._workerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(o){this._inlayHintsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(o){}setEagerModelSync(o){this._eagerModelSync=o}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(o){this._modeConfiguration=o||Object.create(null),this._onDidChange.fire(void 0)}},LP=FP,T6={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},M6=new P6({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},T6),R6=new P6({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},T6),IP=()=>ub().then(o=>o.getTypeScriptWorker()),PP=()=>ub().then(o=>o.getJavaScriptWorker());U0.languages.typescript={ModuleKind:k6,JsxEmit:B6,NewLineKind:F6,ScriptTarget:L6,ModuleResolutionKind:I6,typescriptVersion:LP,typescriptDefaults:M6,javascriptDefaults:R6,getTypeScriptWorker:IP,getJavaScriptWorker:PP};function ub(){return nA(()=>import("./tsMode-DFwzXrPo.js"),__vite__mapDeps([3,1,2]))}U0.languages.onLanguage("typescript",()=>ub().then(o=>o.setupTypeScript(M6)));U0.languages.onLanguage("javascript",()=>ub().then(o=>o.setupJavaScript(R6)));class TP extends Do{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Bi("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Zi.map,toggled:Ue.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:Ue.has("isInDiffEditor"),menu:{when:Ue.has("isInDiffEditor"),id:ri.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class N6 extends Do{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Bi("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:Ue.has("isInDiffEditor")})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class O6 extends Do{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Bi("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:Ue.has("isInDiffEditor")})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const $p=Bi("diffEditor","Diff Editor");class MP extends la{constructor(){super({id:"diffEditor.switchSide",title:Bi("switchSide","Switch Side"),icon:Zi.arrowSwap,precondition:Ue.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,i){const n=gf(e);if(n instanceof yp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class RP extends la{constructor(){super({id:"diffEditor.exitCompareMove",title:Bi("exitCompareMove","Exit Compare Move"),icon:Zi.close,precondition:q.comparingMovedCode,f1:!1,category:$p,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.exitCompareMove()}}class NP extends la{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Bi("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Zi.fold,precondition:Ue.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.collapseAllUnchangedRegions()}}class OP extends la{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Bi("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Zi.unfold,precondition:Ue.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.showAllUnchangedRegions()}}class F1 extends Do{constructor(){super({id:"diffEditor.revert",title:Bi("revert","Revert"),f1:!1,category:$p})}run(e,t){const i=HP(e,t.originalUri,t.modifiedUri);i instanceof yp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const H6=Bi("accessibleDiffViewer","Accessible Diff Viewer"),Yv=class Yv extends Do{constructor(){super({id:Yv.id,title:Bi("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:H6,precondition:Ue.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=gf(e);t==null||t.accessibleDiffViewerNext()}};Yv.id="editor.action.accessibleDiffViewer.next";let zg=Yv;const Qv=class Qv extends Do{constructor(){super({id:Qv.id,title:Bi("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:H6,precondition:Ue.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=gf(e);t==null||t.accessibleDiffViewerPrev()}};Qv.id="editor.action.accessibleDiffViewer.prev";let Wm=Qv;function HP(o,e,t){return o.get(bs).listDiffEditors().find(s=>{var d,u;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((d=r.getModel())==null?void 0:d.uri.toString())===t.toString()&&a&&((u=a.getModel())==null?void 0:u.uri.toString())===e.toString()})||null}function gf(o){const t=o.get(bs).listDiffEditors(),i=oA();if(i)for(const n of t){const s=n.getContainerDomNode();if(WP(s,i))return n}return null}function WP(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Vn(TP);Vn(N6);Vn(O6);Rr.appendMenuItem(ri.EditorTitle,{command:{id:new O6().desc.id,title:S("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:Ue.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:Ue.has("isInDiffEditor")},order:11,group:"1_diff",when:Ue.and(q.diffEditorRenderSideBySideInlineBreakpointReached,Ue.has("isInDiffEditor"))});Rr.appendMenuItem(ri.EditorTitle,{command:{id:new N6().desc.id,title:S("showMoves","Show Moved Code Blocks"),icon:Zi.move,toggled:KF.create("config.diffEditor.experimental.showMoves",!0),precondition:Ue.has("isInDiffEditor")},order:10,group:"1_diff",when:Ue.has("isInDiffEditor")});Vn(F1);for(const o of[{icon:Zi.arrowRight,key:q.diffEditorInlineMode.toNegated()},{icon:Zi.discard,key:q.diffEditorInlineMode}])Rr.appendMenuItem(ri.DiffEditorHunkToolbar,{command:{id:new F1().desc.id,title:S("revertHunk","Revert Block"),icon:o.icon},when:Ue.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Rr.appendMenuItem(ri.DiffEditorSelectionToolbar,{command:{id:new F1().desc.id,title:S("revertSelection","Revert Selection"),icon:o.icon},when:Ue.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Vn(MP);Vn(RP);Vn(NP);Vn(OP);Rr.appendMenuItem(ri.EditorTitle,{command:{id:zg.id,title:S("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:Ue.has("isInDiffEditor")},order:10,group:"2_diff",when:Ue.and(q.accessibleDiffViewerVisible.negate(),Ue.has("isInDiffEditor"))});Qn.registerCommandAlias("editor.action.diffReview.next",zg.id);Vn(zg);Qn.registerCommandAlias("editor.action.diffReview.prev",Wm.id);Vn(Wm);var zP=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},VP=function(o,e){return function(t,i){e(t,i,o)}},L1;const hb=new En("selectionAnchorSet",!1);var Vd;let zc=(Vd=class{static get(e){return e.getContribution(L1.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=hb.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration($i.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new lo().appendText(S("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Nr(S("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection($i.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}},L1=Vd,Vd.ID="editor.contrib.selectionAnchorController",Vd);zc=L1=zP([VP(1,Fn)],zc);class jP extends _t{constructor(){super({id:"editor.action.setSelectionAnchor",label:S("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2080),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.setSelectionAnchor()}}class $P extends _t{constructor(){super({id:"editor.action.goToSelectionAnchor",label:S("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:hb})}async run(e,t){var i;(i=zc.get(t))==null||i.goToSelectionAnchor()}}class UP extends _t{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:S("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:hb,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2089),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.selectFromAnchorToCursor()}}class qP extends _t{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:S("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:hb,kbOpts:{kbExpr:q.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.cancelSelectionAnchor()}}un(zc.ID,zc,4);Be(jP);Be($P);Be(UP);Be(qP);const GP=mi("editorOverviewRuler.bracketMatchForeground","#A0A0A0",S("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class KP extends _t{constructor(){super({id:"editor.action.jumpToBracket",label:S("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=Mu.get(t))==null||i.jumpToBracket()}}class ZP extends _t{constructor(){super({id:"editor.action.selectToBracket",label:S("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Bi("smartSelect.selectToBracketDescription","Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){var s;let n=!0;i&&i.selectBrackets===!1&&(n=!1),(s=Mu.get(t))==null||s.selectToBracket(n)}}class XP extends _t{constructor(){super({id:"editor.action.removeBrackets",label:S("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=Mu.get(t))==null||i.removeBrackets(this.id)}}class YP{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const ic=class ic extends Nt{static get(e){return e.getContribution(ic.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Ps(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{const n=i.getStartPosition(),s=e.bracketPairs.matchBracket(n);let r=null;if(s)s[0].containsPosition(n)&&!s[1].containsPosition(n)?r=s[1].getStartPosition():s[1].containsPosition(n)&&(r=s[0].getStartPosition());else{const a=e.bracketPairs.findEnclosingBrackets(n);if(a)r=a[1].getStartPosition();else{const d=e.bracketPairs.findNextBracket(n);d&&d.range&&(r=d.range.getStartPosition())}}return r?new $i(r.lineNumber,r.column,r.lineNumber,r.column):new $i(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(n=>{const s=n.getStartPosition();let r=t.bracketPairs.matchBracket(s);if(!r&&(r=t.bracketPairs.findEnclosingBrackets(s),!r)){const u=t.bracketPairs.findNextBracket(s);u&&u.range&&(r=t.bracketPairs.matchBracket(u.range.getStartPosition()))}let a=null,d=null;if(r){r.sort(Q.compareRangesUsingStarts);const[u,f]=r;if(a=e?u.getStartPosition():u.getEndPosition(),d=e?f.getEndPosition():f.getStartPosition(),f.containsPosition(s)){const g=a;a=d,d=g}}a&&d&&i.push(new $i(a.lineNumber,a.column,d.lineNumber,d.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach(i=>{const n=i.getPosition();let s=t.bracketPairs.matchBracket(n);s||(s=t.bracketPairs.findEnclosingBrackets(n)),s&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:s[0],text:""},{range:s[1],text:""}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const n=i.brackets;n&&(e[t++]={range:n[0],options:i.options},e[t++]={range:n[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),i=t.getVersionId();let n=[];this._lastVersionId===i&&(n=this._lastBracketsData);const s=[];let r=0;for(let g=0,p=e.length;g<p;g++){const C=e[g];C.isEmpty()&&(s[r++]=C.getStartPosition())}s.length>1&&s.sort(Fi.compare);const a=[];let d=0,u=0;const f=n.length;for(let g=0,p=s.length;g<p;g++){const C=s[g];for(;u<f&&n[u].position.isBefore(C);)u++;if(u<f&&n[u].position.equals(C))a[d++]=n[u];else{let b=t.bracketPairs.matchBracket(C,20),y=ic._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!b&&this._matchBrackets==="always"&&(b=t.bracketPairs.findEnclosingBrackets(C,20),y=ic._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[d++]=new YP(C,b,y)}}this._lastBracketsData=a,this._lastVersionId=i}};ic.ID="editor.contrib.bracketMatchingController",ic._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=mn.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:Bs(GP),position:Ha.Center}}),ic._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=mn.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Mu=ic;un(Mu.ID,Mu,1);Be(ZP);Be(KP);Be(XP);Rr.appendMenuItem(ri.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:S({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class QP{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const i=this._selection.startLineNumber,n=this._selection.startColumn,s=this._selection.endColumn;if(!(this._isMovingLeft&&n===1)&&!(!this._isMovingLeft&&s===e.getLineMaxColumn(i)))if(this._isMovingLeft){const r=new Q(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new Q(i,s,i,s),a)}else{const r=new Q(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new Q(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new $i(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new $i(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class W6 extends _t{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const i=[],n=t.getSelections();for(const s of n)i.push(new QP(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class JP extends W6{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:S("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:q.writable})}}class eT extends W6{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:S("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:q.writable})}}Be(JP);Be(eT);class tT extends _t{constructor(){super({id:"editor.action.transposeLetters",label:S("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=[],s=t.getSelections();for(const r of s){if(!r.isEmpty())continue;const a=r.startLineNumber,d=r.startColumn,u=i.getLineMaxColumn(a);if(a===1&&(d===1||d===2&&u===2))continue;const f=d===u?r.getPosition():Qb.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=Qb.leftPosition(i,f),p=Qb.leftPosition(i,g),C=i.getValueInRange(Q.fromPositions(p,g)),b=i.getValueInRange(Q.fromPositions(g,f)),y=Q.fromPositions(p,f);n.push(new wp(y,b+C))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}Be(tT);const fb=(function(){if(typeof crypto=="object"&&typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let o;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?o=crypto.getRandomValues.bind(crypto):o=function(i){for(let n=0;n<i.length;n++)i[n]=Math.floor(Math.random()*256);return i};const e=new Uint8Array(16),t=[];for(let i=0;i<256;i++)t.push(i.toString(16).padStart(2,"0"));return function(){o(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let n=0,s="";return s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s}})();function x9(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function iT(o,e,t){const i={id:fb(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class z6{constructor(){this._entries=new Map}get size(){let e=0;for(const t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){const t=[...this._entries.keys()];return ml.some(this,([i,n])=>n.asFile())&&t.push("files"),j6(zm(e),t)}get(e){var t;return(t=this._entries.get(this.toKey(e)))==null?void 0:t[0]}append(e,t){const i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(const[e,t]of this._entries)for(const i of t)yield[e,i]}toKey(e){return zm(e)}}function zm(o){return o.toLowerCase()}function V6(o,e){return j6(zm(o),e.map(zm))}function j6(o,e){if(o==="*/*")return e.length>0;if(e.includes(o))return!0;const t=o.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!t)return!1;const[i,n,s]=t;return s==="*"?e.some(r=>r.startsWith(n+"/")):!1}const gb=Object.freeze({create:o=>rA(o.map(e=>e.toString())).join(`\r
14
14
  `),split:o=>o.split(`\r
15
15
  `),parse:o=>gb.split(o).filter(e=>!e.startsWith("#"))}),wa=class wa{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+wa.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new wa((this.value?[this.value,...e]:e).join(wa.sep))}};wa.sep=".",wa.None=new wa("@@none@@"),wa.Empty=new wa("");let ns=wa;const C8={EDITORS:"CodeEditors",FILES:"CodeFiles"};class nT{}const sT={DragAndDropContribution:"workbench.contributions.dragAndDrop"};ca.add(sT.DragAndDropContribution,new nT);const wg=class wg{constructor(){}static getInstance(){return wg.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};wg.INSTANCE=new wg;let I1=wg;function $6(o){const e=new z6;for(const t of o.items){const i=t.type;if(t.kind==="string"){const n=new Promise(s=>t.getAsString(s));e.append(i,x9(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,oT(n))}}return e}function oT(o){const e=o.path?jn.parse(o.path):void 0;return iT(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const rT=Object.freeze([C8.EDITORS,C8.FILES,JC.RESOURCES,JC.INTERNAL_URI_LIST]);function U6(o,e=!1){const t=$6(o),i=t.get(JC.INTERNAL_URI_LIST);if(i)t.replace(Zs.uriList,i);else if(e||!t.has(Zs.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(jn.file(a).toString()):n.push(jn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Zs.uriList,x9(gb.create(n)))}for(const n of rT)t.delete(n);return t}var m9=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Vg=function(o,e){return function(t,i){e(t,i,o)}};class v9{async provideDocumentPasteEdits(e,t,i,n,s){const r=await this.getEdit(i,s);if(r)return{edits:[{insertText:r.insertText,title:r.title,kind:r.kind,handledMimeType:r.handledMimeType,yieldTo:r.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,i,n){const s=await this.getEdit(i,n);if(s)return{edits:[{insertText:s.insertText,title:s.title,kind:s.kind,handledMimeType:s.handledMimeType,yieldTo:s.yieldTo}],dispose(){}}}}const Sg=class Sg extends v9{constructor(){super(...arguments),this.kind=Sg.kind,this.dropMimeTypes=[Zs.text],this.pasteMimeTypes=[Zs.text]}async getEdit(e,t){const i=e.get(Zs.text);if(!i||e.has(Zs.uriList))return;const n=await i.asString();return{handledMimeType:Zs.text,title:S("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};Sg.id="text",Sg.kind=new ns("text.plain");let Ru=Sg;class q6 extends v9{constructor(){super(...arguments),this.kind=new ns("uri.absolute"),this.dropMimeTypes=[Zs.uriList],this.pasteMimeTypes=[Zs.uriList]}async getEdit(e,t){const i=await G6(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:d})=>a.scheme===Co.file?a.fsPath:(n++,d)).join(" ");let r;return n>0?r=i.length>1?S("defaultDropProvider.uriList.uris","Insert Uris"):S("defaultDropProvider.uriList.uri","Insert Uri"):r=i.length>1?S("defaultDropProvider.uriList.paths","Insert Paths"):S("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Zs.uriList,insertText:s,title:r,kind:this.kind}}}let Vm=class extends v9{constructor(e){super(),this._workspaceContextService=e,this.kind=new ns("uri.relative"),this.dropMimeTypes=[Zs.uriList],this.pasteMimeTypes=[Zs.uriList]}async getEdit(e,t){const i=await G6(e);if(!i.length||t.isCancellationRequested)return;const n=yl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?ZF(r.uri,s):void 0}));if(n.length)return{handledMimeType:Zs.uriList,insertText:n.join(" "),title:i.length>1?S("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):S("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};Vm=m9([Vg(0,F0)],Vm);class aT{constructor(){this.kind=new ns("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Zs.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var d;if(n.triggerKind!==e1.PasteAs&&!((d=n.only)!=null&&d.contains(this.kind)))return;const r=i.get("text/html"),a=await(r==null?void 0:r.asString());if(!(!a||s.isCancellationRequested))return{dispose(){},edits:[{insertText:a,yieldTo:this._yieldTo,title:S("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function G6(o){const e=o.get(Zs.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of gb.parse(t))try{i.push({uri:jn.parse(n),originalText:n})}catch{}return i}let P1=class extends Nt{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new Ru)),this._register(e.documentDropEditProvider.register("*",new q6)),this._register(e.documentDropEditProvider.register("*",new Vm(t)))}};P1=m9([Vg(0,Li),Vg(1,F0)],P1);let T1=class extends Nt{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Ru)),this._register(e.documentPasteEditProvider.register("*",new q6)),this._register(e.documentPasteEditProvider.register("*",new Vm(t))),this._register(e.documentPasteEditProvider.register("*",new aT))}};T1=m9([Vg(0,Li),Vg(1,F0)],T1);const br=class br{constructor(){this.value="",this.pos=0}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const e=this.pos;let t=0,i=this.value.charCodeAt(e),n;if(n=br._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(br.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(br.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(br.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(br.isVariableCharacter(i)||br.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}n=10;do t+=1,i=this.value.charCodeAt(e+t);while(!isNaN(i)&&typeof br._table[i]>"u"&&!br.isDigitCharacter(i)&&!br.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};br._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let M1=br;class pf{constructor(){this._children=[]}appendChild(e){return e instanceof Po&&this._children[this._children.length-1]instanceof Po?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,n=i.children.indexOf(e),s=i.children.slice(0);s.splice(n,1,...t),i._children=s,(function r(a,d){for(const u of a)u.parent=d,r(u.children,u)})(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof Up)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let Po=class K6 extends pf{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new K6(this.value)}};class Z6 extends pf{}class ur extends Z6{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.index<t.index?-1:e.index>t.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof xf?this._children[0]:void 0}clone(){const e=new ur(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class xf extends pf{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Po&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new xf;return this.options.forEach(e.appendChild,e),e}}class _9 extends pf{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,n=e.replace(this.regexp,function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(s=>s instanceof Yr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Yr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new _9;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(t=>t.clone()),e}}class Yr extends pf{constructor(e,t,i,n){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=n}resolve(e){return this.shorthandName==="upcase"?e?e.toLocaleUpperCase():"":this.shorthandName==="downcase"?e?e.toLocaleLowerCase():"":this.shorthandName==="capitalize"?e?e[0].toLocaleUpperCase()+e.substr(1):"":this.shorthandName==="pascalcase"?e?this._toPascalCase(e):"":this.shorthandName==="camelcase"?e?this._toCamelCase(e):"":e&&typeof this.ifValue=="string"?this.ifValue:!e&&typeof this.elseValue=="string"?this.elseValue:e||""}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(i=>i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((i,n)=>n===0?i.charAt(0).toLowerCase()+i.substr(1):i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}clone(){return new Yr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class jg extends Z6{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),t!==void 0?(this._children=[new Po(t)],!0):!1}clone(){const e=new jg(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function E8(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class Up extends pf{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof ur&&(e.push(i),t=!t||t.index<i.index?i:t),!0}),this._placeholders={all:e,last:t}}return this._placeholders}get placeholders(){const{all:e}=this.placeholderInfo;return e}offset(e){let t=0,i=!1;return this.walk(n=>n===e?(i=!0,!1):(t+=n.len(),!0)),i?t:-1}fullLen(e){let t=0;return E8([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof ur&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof jg&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){const e=new Up;return this._children=this.children.map(t=>t.clone()),e}walk(e){E8(this.children,e)}}class Nu{constructor(){this._scanner=new M1,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){const n=new Up;return this.parseFragment(e,n),this.ensureFinalTabstop(n,i??!1,t??!1),n}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const n=new Map,s=[];t.walk(d=>(d instanceof ur&&(d.isFinalTabstop?n.set(0,void 0):!n.has(d.index)&&d.children.length>0?n.set(d.index,d.children):s.push(d)),!0));const r=(d,u)=>{const f=n.get(d.index);if(!f)return;const g=new ur(d.index);g.transform=d.transform;for(const p of f){const C=p.clone();g.appendChild(C),C instanceof ur&&n.has(C.index)&&!u.has(C.index)&&(u.add(C.index),r(C,u),u.delete(C.index))}t.replace(d,[g])},a=new Set;for(const d of s)r(d,a);return t.children.slice(i)}ensureFinalTabstop(e,t,i){(t||i&&e.placeholders.length>0)&&(e.placeholders.find(s=>s.index===0)||e.appendChild(new ur(0)))}_accept(e,t){if(e===void 0||this._token.type===e){const i=t?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),i}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){const t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){const n=this._scanner.next();if(n.type!==0&&n.type!==4&&n.type!==5)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new Po(t)),!0):!1}_parseTabstopOrVariableName(e){let t;const i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new ur(Number(t)):new jg(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);const s=new ur(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Po("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new xf;for(;;){if(this._parseChoiceElement(r)){if(this._accept(2))continue;if(this._accept(7)&&(s.appendChild(r),this._accept(4)))return e.appendChild(s),!0}return this._backTo(i),!1}}else return this._accept(6)?this._parseTransform(s)?(e.appendChild(s),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(s),!0):this._backTo(i)}_parseChoiceElement(e){const t=this._token,i=[];for(;!(this._token.type===2||this._token.type===7);){let n;if((n=this._accept(5,!0))?n=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||n:n=this._accept(void 0,!0),!n)return this._backTo(t),!1;i.push(n)}return i.length===0?(this._backTo(t),!1):(e.appendChild(new Po(i.join(""))),!0)}_parseComplexVariable(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);const s=new jg(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Po("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else return this._accept(6)?this._parseTransform(s)?(e.appendChild(s),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(s),!0):this._backTo(i)}_parseTransform(e){const t=new _9;let i="",n="";for(;!this._accept(6);){let s;if(s=this._accept(5,!0)){s=this._accept(6,!0)||s,i+=s;continue}if(this._token.type!==14){i+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let s;if(s=this._accept(5,!0)){s=this._accept(5,!0)||this._accept(6,!0)||s,t.appendChild(new Po(s));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){n+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(i,n)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);const n=this._accept(8,!0);if(n)if(i){if(this._accept(4))return e.appendChild(new Yr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Yr(Number(n))),!0;else return this._backTo(t),!1;if(this._accept(6)){const s=this._accept(9,!0);return!s||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new Yr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Yr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Yr(Number(n),void 0,void 0,s)),!0}else if(this._accept(13)){const s=this._until(1);if(s){const r=this._until(4);if(r)return e.appendChild(new Yr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Yr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new Po(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function X6(o,e,t){var i,n;return(typeof t.insertText=="string"?t.insertText==="":t.insertText.snippet==="")?{edits:((i=t.additionalEdit)==null?void 0:i.edits)??[]}:{edits:[...e.map(s=>new XF(o,{range:s,text:typeof t.insertText=="string"?Nu.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function Y6(o){function e(r,a){return"mimeType"in r?r.mimeType===a.handledMimeType:!!a.kind&&r.kind.contains(a.kind)}const t=new Map;for(const r of o)for(const a of r.yieldTo??[])for(const d of o)if(d!==r&&e(a,d)){let u=t.get(r);u||(u=[],t.set(r,u)),u.push(d)}if(!t.size)return Array.from(o);const i=new Set,n=[];function s(r){if(!r.length)return[];const a=r[0];if(n.includes(a))return console.warn("Yield to cycle detected",a),r;if(i.has(a))return s(r.slice(1));let d=[];const u=t.get(a);return u&&(n.push(a),d=s(u),n.pop()),i.add(a),[...d,a,...s(r.slice(1))]}return s(Array.from(o))}var lT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},cT=function(o,e){return function(t,i){e(t,i,o)}};const dT=mn.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:aA,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Jv=class Jv extends Nt{constructor(e,t,i,n,s){super(),this.typeId=e,this.editor=t,this.range=i,this.delegate=s,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(n),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=xi(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=xi("span.icon");this.domNode.append(t),t.classList.add(...Mn.asClassNameArray(Zi.loading),"codicon-modifier-spin");const i=()=>{const n=this.editor.getOption(67);this.domNode.style.height=`${n}px`,this.domNode.style.width=`${Math.ceil(.8*n)}px`};i(),this._register(this.editor.onDidChangeConfiguration(n=>{(n.hasChanged(52)||n.hasChanged(67))&&i()})),this._register(Bn(this.domNode,as.CLICK,n=>{this.delegate.cancel()}))}getId(){return Jv.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}};Jv.baseId="editor.widget.inlineProgressWidget";let R1=Jv,jm=class extends Nt{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Jo),this._currentWidget=this._register(new Jo),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,i,n,s){const r=this._operationIdPool++;this._currentOperation=r,this.clear(),this._showPromise.value=kg(()=>{const a=Q.fromPositions(e);this._currentDecorations.set([{range:a,options:dT}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(R1,this.id,this._editor,a,t,n))},s??this._showDelay);try{return await i}finally{this._currentOperation===r&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};jm=lT([cT(2,nn)],jm);var uT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},y8=function(o,e){return function(t,i){e(t,i,o)}},rm,Cc;let Mo=(Cc=class{static get(e){return e.getContribution(rm.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Jo,this._messageListeners=new Tt,this._mouseOverMessage=!1,this._editor=e,this._visible=rm.MESSAGE_VISIBLE.bindTo(t)}dispose(){var e;(e=this._message)==null||e.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){Nr(Zx(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=Zx(e)?YF(e,{actionHandler:{callback:n=>{this.closeMessage(),QF(this._openerService,n,Zx(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new w8(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(Is.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&JF(oA(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(Bn(this._messageWidget.value.getDomNode(),as.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Bn(this._messageWidget.value.getDomNode(),as.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let i;this._messageListeners.add(this._editor.onMouseMove(n=>{n.target.position&&(i?i.containsPosition(n.target.position)||this.closeMessage():i=new Q(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(w8.fadeOut(this._messageWidget.value))}},rm=Cc,Cc.ID="editor.contrib.messageController",Cc.MESSAGE_VISIBLE=new En("messageVisible",!1,S("messageVisible","Whether the editor is currently showing an inline message")),Cc);Mo=rm=uT([y8(1,Fn),y8(2,da)],Mo);const hT=Ao.bindToContribution(Mo.get);Ti(new hT({id:"leaveEditorMessage",precondition:Mo.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let w8=class{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},n){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const s=document.createElement("div");s.classList.add("anchor","top"),this._domNode.appendChild(s);const r=document.createElement("div");typeof n=="string"?(r.classList.add("message"),r.textContent=n):(n.classList.add("message"),r.appendChild(n)),this._domNode.appendChild(r);const a=document.createElement("div");a.classList.add("anchor","below"),this._domNode.appendChild(a),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",e===2)}};un(Mo.ID,Mo,4);function fC(o,e){return e&&(o.stack||o.stacktrace)?S("stackTrace.format","{0}: {1}",D8(o),S8(o.stack)||S8(o.stacktrace)):D8(o)}function S8(o){return Array.isArray(o)?o.join(`
16
16
  `):o}function D8(o){return o.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${o.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof o.code=="string"&&typeof o.errno=="number"&&typeof o.syscall=="string"?S("nodeExceptionMessage","A system error occurred ({0})",o.message):o.message||S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function $m(o=null,e=!1){if(!o)return S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=yl(o),i=$m(t[0],e);return t.length>1?S("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(lA(o))return o;if(o.detail){const t=o.detail;if(t.error)return fC(t.error,e);if(t.exception)return fC(t.exception,e)}return o.stack?fC(o,e):o.message?o.message:S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var Q6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},c0=function(o,e){return function(t,i){e(t,i,o)}},N1,jd;let O1=(jd=class extends Nt{constructor(e,t,i,n,s,r,a,d,u,f){super(),this.typeId=e,this.editor=t,this.showCommand=n,this.range=s,this.edits=r,this.onSelectNewEdit=a,this._contextMenuService=d,this._keybindingService=f,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(u),this.visibleContext.set(!0),this._register(is(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(is((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(g=>{s.containsPosition(g.position)||this.dispose()})),this._register(Is.runAndSubscribe(f.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){var t;const e=(t=this._keybindingService.lookupKeybinding(this.showCommand.id))==null?void 0:t.getLabel();this.button.element.title=this.showCommand.label+(e?` (${e})`:"")}create(){this.domNode=xi(".post-edit-widget"),this.button=this._register(new e3(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Bn(this.domNode,as.CLICK,()=>this.showSelector()))}getId(){return N1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=yo(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>t3({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},N1=jd,jd.baseId="editor.widget.postEditWidget",jd);O1=N1=Q6([c0(7,af),c0(8,Fn),c0(9,Ds)],O1);let Um=class extends Nt{constructor(e,t,i,n,s,r,a){super(),this._id=e,this._editor=t,this._visibleContext=i,this._showCommand=n,this._instantiationService=s,this._bulkEditService=r,this._notificationService=a,this._currentWidget=this._register(new Jo),this._register(Is.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,i,n,s){const r=this._editor.getModel();if(!r||!e.length)return;const a=t.allEdits.at(t.activeEditIndex);if(!a)return;const d=async w=>{const A=this._editor.getModel();A&&(await A.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:w,allEdits:t.allEdits},i,n,s))},u=(w,A)=>{qc(w)||(this._notificationService.error(A),i&&this.show(e[0],t,d))};let f;try{f=await n(a,s)}catch(w){return u(w,S("resolveError",`Error resolving edit '{0}':
@@ -229,4 +229,4 @@ declare const she: {
229
229
 
230
230
  *[stopped]*`,toolEvents:c(J).length>0?[...c(J)]:void 0}],!0)}else m(d,N.message,!0)}finally{A=null,m(s,null),m(J,[],!0),m(a,!1)}}}function Di(){A==null||A.abort()}function wn(I){I.key==="Enter"&&!I.shiftKey&&(I.preventDefault(),Yi())}function hn(){m(n,[],!0),m(d,"")}const cn=["Write a view to list all document IDs","Write a view to sum a numeric property across all documents","Write a view that filters to a specific prefix and emits a field","Write a reduce that returns the maximum value","Explain how the current view works"];function gn(I){m(r,I,!0),we==null||we.focus()}var ft=MX(),Gt=Et(ft),Mi=_(Gt),Ki=v(_(Mi),2);{var Ei=I=>{var N=JZ(),$=_(N);{var oe=ne=>{var le=oo();j(()=>W(le,`${c(u).provider??""} · ${(c(g)||c(u).model)??""}`)),D(ne,le)},ie=ne=>{var le=oo("Not configured");D(ne,le)};z($,ne=>{c(De)?ne(oe):ne(ie,-1)})}j(()=>ln(N,"title",`Provider: ${c(u).provider??""}`)),D(I,N)};z(Ki,I=>{c(u)&&I(Ei)})}var Vi=v(Ki,2);{var ji=I=>{var N=eX();U("click",N,hn),D(I,N)};z(Vi,I=>{c(n).length>0&&I(ji)})}var Ji=v(Mi,2),Ai=_(Ji);{var tt=I=>{var N=tX();D(I,N)},At=I=>{var N=sX(),$=_(N),oe=_($);{var ie=et=>{var Fe=iX(),_e=v(Et(Fe)),Ke=_(_e);j(()=>W(Ke,t().id)),D(et,Fe)},ne=et=>{var Fe=oo("No view selected. Ask a general sheDB view question.");D(et,Fe)};z(oe,et=>{t()?et(ie):et(ne,-1)})}var le=v($,2);ti(le,17,()=>cn,zi,(et,Fe)=>{var _e=nX(),Ke=_(_e);j(()=>W(Ke,c(Fe))),U("click",_e,()=>gn(c(Fe))),D(et,_e)}),D(I,N)};z(Ai,I=>{c(De)?c(n).length===0&&c(s)===null&&I(At,1):I(tt)})}var Oi=v(Ai,2);ti(Oi,17,()=>c(n),zi,(I,N,$)=>{var oe=dX(),ie=_(oe);{var ne=et=>{var Fe=oX(),_e=_(Fe);j(()=>W(_e,c(N).content)),D(et,Fe)},le=et=>{const Fe=Lt(()=>We(c(N).content)),_e=Lt(()=>ht(c(Fe)));var Ke=cX(),Me=Et(Ke);{var at=Le=>{var Oe=W2();ti(Oe,21,()=>c(N).toolEvents,zi,(St,xt)=>{var Ie=ws(),ge=Et(Ie);{var Re=$e=>{var ct=O2(),je=v(_(ct)),gt=_(je);j(pe=>W(gt,pe),[()=>c(xt).name.replace(/_/g," ")]),D($e,ct)},Ne=$e=>{var ct=H2(),je=v(_(ct)),gt=_(je);j(pe=>W(gt,pe),[()=>c(xt).name.replace(/_/g," ")]),D($e,ct)};z(ge,$e=>{c(xt).type==="tool_call"?$e(Re):$e(Ne,-1)})}D(St,Ie)}),D(Le,Oe)};z(Me,Le=>{var Oe;(Oe=c(N).toolEvents)!=null&&Oe.length&&Le(at)})}var Xt=v(Me,2),Z=_(Xt);ti(Z,17,()=>c(Fe),zi,(Le,Oe,St)=>{var xt=ws(),Ie=Et(xt);{var ge=Ne=>{var $e=z2();hc($e,()=>qe(c(Oe).text),!0),D(Ne,$e)},Re=Ne=>{const $e=Lt(()=>`${$}:${St}`),ct=Lt(()=>Ce(c(Oe).text)),je=Lt(()=>c(p).has(c($e))),gt=Lt(()=>c(Oe).lang==="filter");var pe=aX(),He=_(pe),Ct=_(He),zt=_(Ct),bt=v(Ct,2),fi=_(bt),ki=v(He,2);let Xi;var wi=_(ki),ai=_(wi);hc(ai,()=>ci(c(Oe).text,c(Oe).lang??""),!0);var Vt=v(wi,2);{var Bt=Wt=>{var oi=rX(),gi=_(oi);j(()=>W(gi,c(je)?"▲ collapse":"▼ expand")),U("click",oi,()=>Rt(c($e))),D(Wt,oi)};z(Vt,Wt=>{c(ct)&&Wt(Bt)})}j(()=>{W(zt,c(gt)?"filter":c(Oe).lang),Xi=Ft(ki,1,"code-body svelte-1twuiul",null,Xi,{collapsed:c(ct)&&!c(je)})}),U("click",fi,()=>Dt(c(Oe).text)),D(Ne,pe)};z(Ie,Ne=>{c(Oe).type==="text"?Ne(ge):Ne(Re,-1)})}D(Le,xt)});var ce=v(Z,2);{var Ve=Le=>{var Oe=lX(),St=_(Oe),xt=_(St);j(Ie=>W(xt,Ie),[()=>st(c(_e))]),U("click",St,()=>e.onApplyView(c(_e))),D(Le,Oe)},vt=Lt(()=>Mt(c(_e))&&e.onApplyView);z(ce,Le=>{c(vt)&&Le(Ve)})}D(et,Ke)};z(ie,et=>{c(N).role==="user"?et(ne):et(le,-1)})}j(()=>Ft(oe,1,`message ${c(N).role??""}`,"svelte-1twuiul")),D(I,oe)});var Ri=v(Oi,2);{var Ii=I=>{var N=W2();ti(N,21,()=>c(J),zi,($,oe)=>{var ie=ws(),ne=Et(ie);{var le=Fe=>{var _e=O2(),Ke=v(_(_e)),Me=_(Ke);j(at=>W(Me,at),[()=>c(oe).name.replace(/_/g," ")]),D(Fe,_e)},et=Fe=>{var _e=H2(),Ke=v(_(_e)),Me=_(Ke);j(at=>W(Me,at),[()=>c(oe).name.replace(/_/g," ")]),D(Fe,_e)};z(ne,Fe=>{c(oe).type==="tool_call"?Fe(le):Fe(et,-1)})}D($,ie)}),D(I,N)};z(Ri,I=>{c(J).length>0&&I(Ii)})}var Ni=v(Ri,2);{var K=I=>{var N=uX(),$=_(N),oe=_($),ie=_(oe);j(()=>W(ie,M[c(P)])),D(I,N)};z(Ni,I=>{c(a)&&c(s)===null&&c(J).length===0&&I(K)})}var Ae=v(Ni,2);{var Ze=I=>{var N=fX(),$=_(N);ti($,21,()=>ve(c(s)),zi,(oe,ie)=>{var ne=ws(),le=Et(ne);{var et=_e=>{var Ke=z2();hc(Ke,()=>qe(c(ie).text),!0),D(_e,Ke)},Fe=_e=>{var Ke=hX(),Me=_(Ke),at=_(Me),Xt=_(at),Z=v(Me,2),ce=_(Z);hc(ce,()=>ci(c(ie).text,c(ie).lang??""),!0),j(()=>W(Xt,c(ie).lang)),D(_e,Ke)};z(le,_e=>{c(ie).type==="text"?_e(et):_e(Fe,-1)})}D(oe,ne)}),D(I,N)};z(Ae,I=>{c(s)!==null&&I(Ze)})}gs(Ji,I=>re=I,()=>re);var nt=v(Ji,2);{var Kt=I=>{var N=gX(),$=_(N);j(()=>W($,c(d))),D(I,N)};z(nt,I=>{c(d)&&I(Kt)})}var si=v(nt,2),mt=_(si),dt=_(mt),Y=v(mt,2),Te=_(Y),Xe=v(Y,2),ke=_(Xe),It=v(Xe,2),$t=_(It),te=v(si,2),Qe=_(te);{var Pt=I=>{var N=pX();let $;var oe=v(_(N),2),ie=_(oe),ne=v(oe,2),le=_(ne);j(()=>{$=Ft(N,1,"file-chip svelte-1twuiul",null,$,{inactive:!c(X)}),W(ie,t().id),ln(ne,"title",c(X)?"Remove from context":"Re-add to context"),W(le,c(X)?"×":"+")}),U("click",ne,()=>m(X,!c(X))),D(I,N)};z(Qe,I=>{t()&&I(Pt)})}var kt=v(Qe,2);ti(kt,17,()=>c(H),zi,(I,N,$)=>{const oe=Lt(()=>ui(c(N).name));var ie=xX(),ne=_(ie),le=_(ne),et=v(ne,2),Fe=_(et),_e=v(et,2);j((Ke,Me)=>{Ft(ne,1,`badge badge-${Ke??""}`,"svelte-1twuiul"),W(le,Me),W(Fe,c(N).name)},[()=>c(oe).toLowerCase(),()=>vi(c(oe))]),U("click",_e,()=>bi($)),D(I,ie)});var Ot=v(kt,2),Se=v(Ot,2);gs(Se,I=>he=I,()=>he);var Ye=v(te,2);let Qt;var Zt=_(Ye);let _i;var ei=_(Zt);gs(ei,I=>we=I,()=>we);var fe=v(Zt,2);{var Je=I=>{var N=mX();U("click",N,Di),D(I,N)},rt=I=>{var N=vX();j($=>N.disabled=$,[()=>!c(r).trim()||!c(De)]),U("click",N,Yi),D(I,N)};z(fe,I=>{c(a)?I(Je):I(rt,-1)})}var lt=v(Ye,2);{var Ut=I=>{var N=yX(),$=_(N),oe=_($),ie=v($,2);{var ne=_e=>{var Ke=bX();ti(Ke,21,()=>c(f),zi,(Me,at)=>{var Xt=_X(),Z=_(Xt),ce={};j(()=>{W(Z,c(at)),ce!==(ce=c(at))&&(Xt.value=(Xt.__value=c(at))??"")}),D(Me,Xt)}),j(()=>Ke.disabled=c(a)),Fs(Ke,()=>c(g),Me=>m(g,Me)),D(_e,Ke)},le=_e=>{var Ke=CX(),Me=_(Ke);j(()=>W(Me,c(g)||c(u).model)),D(_e,Ke)};z(ie,_e=>{c(f).length>0?_e(ne):_e(le,-1)})}var et=v(ie,2);{var Fe=_e=>{var Ke=EX();U("click",Ke,Jt),D(_e,Ke)};z(et,_e=>{c(u).provider==="ollama"&&_e(Fe)})}j(()=>W(oe,c(u).provider)),D(I,N)};z(lt,I=>{c(De)&&c(u)&&I(Ut)})}var Ht=v(Gt,2);{var yi=I=>{var N=TX(),$=_(N),oe=_($),ie=_(oe),ne=_(ie),le=v(ie,2),et=v(oe,2),Fe=_(et);{var _e=at=>{var Xt=wX();D(at,Xt)},Ke=at=>{var Xt=SX(),Z=_(Xt);j(()=>W(Z,c(w))),D(at,Xt)},Me=at=>{var Xt=PX(),Z=_(Xt);{var ce=Ne=>{var $e=DX(),ct=v(Et($e)),je=_(ct);j(()=>W(je,c(b).version)),D(Ne,$e)};z(Z,Ne=>{c(b).version&&Ne(ce)})}var Ve=v(Z,2);{var vt=Ne=>{var $e=AX(),ct=v(Et($e)),je=_(ct);j(()=>W(je,c(b).details.family)),D(Ne,$e)};z(Ve,Ne=>{var $e;($e=c(b).details)!=null&&$e.family&&Ne(vt)})}var Le=v(Ve,2);{var Oe=Ne=>{var $e=kX(),ct=v(Et($e)),je=_(ct);j(()=>W(je,c(b).details.parameter_size)),D(Ne,$e)};z(Le,Ne=>{var $e;($e=c(b).details)!=null&&$e.parameter_size&&Ne(Oe)})}var St=v(Le,2);{var xt=Ne=>{var $e=BX(),ct=v(Et($e)),je=_(ct);j(()=>W(je,c(b).details.quantization_level)),D(Ne,$e)};z(St,Ne=>{var $e;($e=c(b).details)!=null&&$e.quantization_level&&Ne(xt)})}var Ie=v(St,2);{var ge=Ne=>{var $e=LX(),ct=v(Et($e),2);ti(ct,21,()=>c(b).running,zi,(je,gt)=>{var pe=FX(),He=_(pe);j(Ct=>W(He,`${c(gt).name??""} · ${Ct??""} VRAM`),[()=>hi(c(gt).size_vram)]),D(je,pe)}),D(Ne,$e)},Re=Ne=>{var $e=IX();D(Ne,$e)};z(Ie,Ne=>{c(b).running&&c(b).running.length>0?Ne(ge):c(b).running!==null&&Ne(Re,1)})}D(at,Xt)};z(Fe,at=>{c(y)?at(_e):c(w)?at(Ke,1):c(b)&&at(Me,2)})}j(()=>{var at;return W(ne,`Ollama · ${(c(g)||((at=c(u))==null?void 0:at.model))??""}`)}),U("click",N,()=>m(C,!1)),U("click",$,at=>at.stopPropagation()),U("click",le,()=>m(C,!1)),D(I,N)};z(Ht,I=>{c(C)&&I(yi)})}j(I=>{W($t,I),Qt=Ft(Ye,1,"input-row svelte-1twuiul",null,Qt,{"drag-over":c(se)}),_i=Ft(Zt,1,"textarea-wrap svelte-1twuiul",null,_i,{loading:c(a)}),ln(ei,"placeholder",c(De)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),ei.disabled=c(a)||!c(De)},[()=>hi(c(Pe))]),ys(dt,()=>c(R),I=>m(R,I)),ys(Te,()=>c(T),I=>m(T,I)),ys(ke,()=>c(V),I=>m(V,I)),U("click",Ot,Ge),U("change",Se,ii),xs("dragover",Ye,ni),xs("dragleave",Ye,Ui),xs("drop",Ye,Ci),U("keydown",ei,wn),jt(ei,()=>c(r),I=>m(r,I)),D(o,ft),$s()}Ys(["click","change","keydown"]);var NX=B('<div class="me svelte-1pxdb1"></div>');function ZC(o,e){js(e,!0);let t=Tu(e,"value",15,""),i=Tu(e,"language",3,"javascript"),n,s,r=!1;function a(){zo.setTheme(Jh())}Xs(()=>{const u=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=zo.create(n,{value:t(),language:i(),theme:Jh(),minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:13,fontFamily:"'Cascadia Code', 'Fira Code', monospace",automaticLayout:!0,wordWrap:"on",lineNumbers:"on",renderLineHighlight:"none",overviewRulerLanes:0,scrollbar:{verticalScrollbarSize:6,horizontalScrollbarSize:6},...u}),s.onDidChangeModelContent(()=>{r||t(s.getValue())}),window.addEventListener("she:theme-changed",a);const f=window.matchMedia("(prefers-color-scheme: dark)");return f.addEventListener("change",a),()=>{window.removeEventListener("she:theme-changed",a),f.removeEventListener("change",a)}}),Vp(()=>s==null?void 0:s.dispose()),Kn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var d=NX();gs(d,u=>n=u,()=>n),D(o,d),$s()}var OX=B('<!> <div class="welcome svelte-rrt0o"><div class="welcome-inner svelte-rrt0o"><div class="welcome-logo svelte-rrt0o">db</div> <p class="welcome-sub svelte-rrt0o">sheDB — embedded JSON document store with MapReduce views</p> <div class="welcome-hint svelte-rrt0o"><strong>In scripts:</strong> use <code class="svelte-rrt0o">she.db.get(id)</code>, <code class="svelte-rrt0o">she.db.set(id, doc)</code>, <code class="svelte-rrt0o">she.db.extend(id, partial)</code>, <code class="svelte-rrt0o">she.db.sub(pattern, cb)</code>.<br/> <strong>Views:</strong> <code class="svelte-rrt0o">this</code> = current document &mdash; call <code class="svelte-rrt0o">emit(value)</code> to add to result.</div> <div class="welcome-links svelte-rrt0o"><a href="https://github.com/hobbyquaker/she/blob/main/doc/db/README.md" target="_blank" rel="noopener" class="svelte-rrt0o">sheDB docs</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/db/view-examples.md" target="_blank" rel="noopener" class="svelte-rrt0o">View examples</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-rrt0o">GitHub</a></div></div></div>',1),HX=B('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"><line x1="5.5" y1="5" x2="4" y2="2.5"></line><line x1="10.5" y1="5" x2="12" y2="2.5"></line><path d="M3 11 V7 A5 3.5 0 0 0 13 7 V11 Z" stroke-linejoin="round"></path><circle cx="6" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle><circle cx="10" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle></svg> AI</button>'),V2=B('<div class="form-error svelte-rrt0o"> </div>'),WX=B('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),j2=B("<li> </li>"),$2=B('<div class="error-bar svelte-rrt0o"> </div>'),U2=B('<div class="loading svelte-rrt0o">Loading…</div>'),zX=B('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),VX=B('<div class="editor-toolbar svelte-rrt0o"><span class="editor-title svelte-rrt0o"> </span> <button class="svelte-rrt0o">Save</button> <button class="btn-danger svelte-rrt0o">Delete</button></div> <!> <!>',1),jX=B('<div class="panel svelte-rrt0o"><aside class="sidebar svelte-rrt0o"><div class="toolbar svelte-rrt0o"><button class="svelte-rrt0o">+ Doc</button></div> <!> <div class="sidebar-search svelte-rrt0o"><input type="search" placeholder="Filter…" class="svelte-rrt0o"/></div> <ul class="flat-list svelte-rrt0o"></ul></aside> <div class="resize-handle svelte-rrt0o" role="separator"></div> <main class="editor-area svelte-rrt0o"><!></main></div>'),$X=B('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),UX=B('<label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Retain <span class="section-hint svelte-rrt0o">— send as retained MQTT message</span></label>'),qX=B('<span class="badge-error svelte-rrt0o">error</span>'),GX=B('<span class="badge-ok svelte-rrt0o"> </span>'),KX=B('<pre class="result-error svelte-rrt0o"> </pre>'),ZX=B('<pre class="result-json svelte-rrt0o"> </pre>'),XX=B('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),YX=B('<div class="view-sections svelte-rrt0o"><div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Description <span class="section-hint svelte-rrt0o">— optional, shown in sidebar</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="(optional description)"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Filter <span class="section-hint svelte-rrt0o">— MQTT wildcard, optional</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="#"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Map <span class="section-hint svelte-rrt0o">— <code>this</code> = document &nbsp;·&nbsp; call <code>emit(this)</code> to include in result</span></div> <div class="monaco-view-wrap monaco-view-wrap--map svelte-rrt0o"><!></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Reduce <span class="section-hint svelte-rrt0o">— receives <code>result</code> array, must <code>return</code> new value (optional)</span></div> <div class="monaco-view-wrap monaco-view-wrap--reduce svelte-rrt0o"><!></div></div> <div class="view-section view-section--options svelte-rrt0o"><label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Publish to MQTT <span class="section-hint svelte-rrt0o">— publish view to MQTT topic <code> </code></span></label> <!></div> <!></div>'),QX=B('<div class="editor-toolbar svelte-rrt0o"><span class="editor-title svelte-rrt0o"> </span> <button class="svelte-rrt0o">Save</button> <button title="Re-run view" class="svelte-rrt0o">Refresh</button> <button class="btn-danger svelte-rrt0o">Delete</button></div> <!> <!>',1),JX=B('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),eY=B('<div class="panel svelte-rrt0o"><aside class="sidebar svelte-rrt0o"><div class="toolbar svelte-rrt0o"><button class="svelte-rrt0o">+ View</button></div> <!> <div class="sidebar-search svelte-rrt0o"><input type="search" placeholder="Filter…" class="svelte-rrt0o"/></div> <ul class="flat-list svelte-rrt0o"></ul></aside> <div class="resize-handle svelte-rrt0o" role="separator"></div> <main class="editor-area svelte-rrt0o"><!></main> <!></div>'),tY=B('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function iY(o,e){js(e,!0);const t=tt=>{var At=OX(),Oi=Et(At);gs(Yc(Oi,{}),Ri=>vi=Ri,()=>vi),D(tt,At)};let i=F(Pi([])),n=F(null),s=F("{}"),r=F(!1),a=F(null);const d="she-db-selected-view";let u=F(Pi([])),f=F(Pi(localStorage.getItem(d))),g=F("#"),p=F("// emit(this.someProperty)"),C=F(""),b=F(""),y=F(!1),w=F(!1),A=F(null),P=F(!1),M=F(null),R=F("she/db/view/");const T="she-db-panel";let V=F(Pi(localStorage.getItem(T)??"docs")),H=F(""),X=F(!1),se=F(null),he=F(""),J=F(!1),de=F(null);const we="she-db-sidebar-width";let re=F(Pi(parseInt(localStorage.getItem(we)??"220",10))),ae=!1,De=0,Pe=0;const xe="she-db-chat-width",ze="she-db-chat-open";let We=F(localStorage.getItem(ze)==="true"),ve=F(Pi(parseInt(localStorage.getItem(xe)??"320",10))),ht=!1,Mt=0,st=0;const yt=Lt(()=>c(f)?{id:c(f),filter:c(g),map:c(p),reduce:c(C)}:null);function Ce(tt){tt.filter!==void 0&&m(g,tt.filter,!0),tt.map!==void 0&&m(p,tt.map,!0),tt.reduce!==void 0&&m(C,tt.reduce,!0)}Kn(()=>{localStorage.setItem(ze,String(c(We)))}),Kn(()=>{localStorage.setItem(T,c(V))}),Kn(()=>{c(f)?localStorage.setItem(d,c(f)):localStorage.removeItem(d)});function Rt(tt){ae=!0,De=tt.clientX,Pe=c(re),tt.preventDefault()}function ci(tt){ae&&m(re,Math.max(140,Math.min(500,Pe+tt.clientX-De)),!0),ht&&m(ve,Math.max(240,Math.min(600,st-(tt.clientX-Mt))),!0)}function qe(){ae&&(ae=!1,localStorage.setItem(we,String(c(re)))),ht&&(ht=!1,localStorage.setItem(xe,String(c(ve))))}function it(tt){ht=!0,Mt=tt.clientX,st=c(ve),tt.preventDefault()}async function Dt(){try{m(i,await pF(),!0)}catch{}}async function Jt(){try{m(u,await xF(),!0)}catch{}}async function hi(tt){m(n,tt,!0),m(a,null),m(r,!0);try{const At=await G$(tt);m(s,JSON.stringify(At,null,2),!0)}catch(At){m(a,At instanceof Error?At.message:String(At),!0)}finally{m(r,!1)}}async function ui(){if(c(n)){m(a,null);try{const tt=JSON.parse(c(s));await d2(c(n),tt)}catch(tt){m(a,tt instanceof Error?tt.message:String(tt),!0)}}}let vi;async function bi(){if(c(n)&&await vi.show(`Delete document "${c(n)}"?`,{confirm:"Delete",danger:!0}))try{await K$(c(n)),m(n,null),m(s,"{}")}catch(tt){m(a,tt instanceof Error?tt.message:String(tt),!0)}}async function Ge(){const tt=c(H).trim();if(tt){m(se,null);try{await d2(tt,{}),m(X,!1),m(H,""),await hi(tt)}catch(At){m(se,At instanceof Error?At.message:String(At),!0)}}}async function Ee(tt){m(f,tt,!0),m(M,null),m(P,!0),m(A,null);try{const At=await Z$(tt);m(g,At.filter??"",!0),m(p,At.map,!0),m(C,At.reduce??"",!0),m(b,At.description??"",!0),m(y,At.mqttpub??!1,!0),m(w,At.retain??!1,!0),m(A,await UC(tt).catch(()=>null),!0)}catch(At){m(M,At instanceof Error?At.message:String(At),!0)}finally{m(P,!1)}}async function ii(){if(c(f)){m(M,null);try{const tt={map:c(p)};c(g).trim()&&(tt.filter=c(g).trim()),c(C).trim()&&(tt.reduce=c(C).trim()),c(b).trim()&&(tt.description=c(b).trim()),c(y)&&(tt.mqttpub=!0),c(w)&&(tt.retain=!0),await u2(c(f),tt)}catch(tt){m(M,tt instanceof Error?tt.message:String(tt),!0)}}}async function Ci(){if(c(f))try{m(A,await UC(c(f)),!0)}catch(tt){m(M,tt instanceof Error?tt.message:String(tt),!0)}}async function ni(){if(c(f)&&await vi.show(`Delete view "${c(f)}"?`,{confirm:"Delete",danger:!0}))try{await X$(c(f)),m(f,null),m(g,""),m(p,"// emit(this.someProperty)"),m(C,""),m(b,""),m(y,!1),m(w,!1),m(A,null)}catch(tt){m(M,tt instanceof Error?tt.message:String(tt),!0)}}async function Ui(){if(!c(he).trim())return;const tt=c(he).trim();m(de,null);try{await u2(tt,{map:"// emit(this.someProperty)"}),m(J,!1),m(he,""),await Jt(),await Ee(tt)}catch(At){m(de,At instanceof Error?At.message:String(At),!0)}}let Yi=F(""),Di=F(""),wn=Lt(()=>[...c(i)].filter(tt=>!c(Yi)||tt.toLowerCase().includes(c(Yi).toLowerCase())).sort()),hn=Lt(()=>[...c(u)].filter(tt=>!c(Di)||tt.toLowerCase().includes(c(Di).toLowerCase())).sort());Xs(()=>{Dt(),Jt().then(()=>{c(f)&&c(u).includes(c(f))?Ee(c(f)):m(f,null)}),Pl().then(Ii=>{const Ni=Ii.dbPrefix||"she/db/",K=Ni.endsWith("/")?Ni:Ni+"/";m(R,K+"view/")}).catch(()=>{});const tt=hr("db:ids",Ii=>{m(i,Ii.ids??[],!0)}),At=hr("db:viewIds",Ii=>{m(u,Ii.ids??[],!0)}),Oi=hr("db:change",async Ii=>{const Ni=Ii.id;c(n)===Ni&&(Ii.doc===null?(m(n,null),m(s,"{}")):m(s,JSON.stringify(Ii.doc,null,2),!0))}),Ri=hr("db:viewUpdate",async Ii=>{const Ni=Ii.id;c(f)===Ni&&m(A,await UC(Ni).catch(()=>null),!0)});return()=>{tt(),At(),Oi(),Ri()}});var cn=tY(),gn=_(cn),ft=_(gn);let Gt;var Mi=v(ft,2);let Ki;var Ei=v(Mi,2);{var Vi=tt=>{var At=HX();let Oi;j(()=>{Oi=Ft(At,1,"ai-toggle svelte-rrt0o",null,Oi,{"ai-open":c(We)}),ln(At,"title",c(We)?"Close AI assistant":"Open AI assistant")}),U("click",At,()=>m(We,!c(We))),D(tt,At)};z(Ei,tt=>{c(V)==="views"&&tt(Vi)})}var ji=v(gn,2);{var Ji=tt=>{var At=jX(),Oi=_(At);let Ri;var Ii=_(Oi),Ni=_(Ii),K=v(Ii,2);{var Ae=Xe=>{var ke=WX(),It=Et(ke),$t=_(It),te=v($t,2),Qe=v(It,2);{var Pt=kt=>{var Ot=V2(),Se=_(Ot);j(()=>W(Se,c(se))),D(kt,Ot)};z(Qe,kt=>{c(se)&&kt(Pt)})}U("keydown",$t,kt=>kt.key==="Enter"&&Ge()),jt($t,()=>c(H),kt=>m(H,kt)),U("click",te,Ge),D(Xe,ke)};z(K,Xe=>{c(X)&&Xe(Ae)})}var Ze=v(K,2),nt=_(Ze),Kt=v(Ze,2);ti(Kt,20,()=>c(wn),Xe=>Xe,(Xe,ke)=>{var It=j2();let $t;var te=_(It);j(()=>{$t=Ft(It,1,"flat-item svelte-rrt0o",null,$t,{"active-item":c(n)===ke}),W(te,ke)}),U("click",It,()=>hi(ke)),D(Xe,It)});var si=v(Oi,2),mt=v(si,2),dt=_(mt);{var Y=Xe=>{var ke=VX(),It=Et(ke),$t=_(It),te=_($t),Qe=v($t,2),Pt=v(Qe,2),kt=v(It,2);{var Ot=Zt=>{var _i=$2(),ei=_(_i);j(()=>W(ei,c(a))),D(Zt,_i)};z(kt,Zt=>{c(a)&&Zt(Ot)})}var Se=v(kt,2);{var Ye=Zt=>{var _i=U2();D(Zt,_i)},Qt=Zt=>{var _i=zX(),ei=_(_i);ZC(ei,{language:"json",get value(){return c(s)},set value(fe){m(s,fe,!0)}}),D(Zt,_i)};z(Se,Zt=>{c(r)?Zt(Ye):Zt(Qt,-1)})}j(()=>W(te,c(n))),U("click",Qe,ui),U("click",Pt,bi),D(Xe,ke)},Te=Xe=>{t(Xe)};z(dt,Xe=>{c(n)?Xe(Y):Xe(Te,-1)})}j(()=>Ri=qo(Oi,"",Ri,{width:`${c(re)??""}px`})),U("click",Ni,()=>{m(X,!c(X)),m(se,null)}),jt(nt,()=>c(Yi),Xe=>m(Yi,Xe)),U("mousedown",si,Rt),D(tt,At)},Ai=tt=>{var At=eY(),Oi=_(At);let Ri;var Ii=_(Oi),Ni=_(Ii),K=v(Ii,2);{var Ae=It=>{var $t=$X(),te=Et($t),Qe=_(te),Pt=v(Qe,2),kt=v(te,2);{var Ot=Se=>{var Ye=V2(),Qt=_(Ye);j(()=>W(Qt,c(de))),D(Se,Ye)};z(kt,Se=>{c(de)&&Se(Ot)})}U("keydown",Qe,Se=>Se.key==="Enter"&&Ui()),jt(Qe,()=>c(he),Se=>m(he,Se)),U("click",Pt,Ui),D(It,$t)};z(K,It=>{c(J)&&It(Ae)})}var Ze=v(K,2),nt=_(Ze),Kt=v(Ze,2);ti(Kt,20,()=>c(hn),It=>It,(It,$t)=>{var te=j2();let Qe;var Pt=_(te);j(()=>{Qe=Ft(te,1,"flat-item svelte-rrt0o",null,Qe,{"active-item":c(f)===$t}),W(Pt,$t)}),U("click",te,()=>Ee($t)),D(It,te)});var si=v(Oi,2),mt=v(si,2),dt=_(mt);{var Y=It=>{var $t=QX(),te=Et($t),Qe=_(te),Pt=_(Qe),kt=v(Qe,2),Ot=v(kt,2),Se=v(Ot,2),Ye=v(te,2);{var Qt=fe=>{var Je=$2(),rt=_(Je);j(()=>W(rt,c(M))),D(fe,Je)};z(Ye,fe=>{c(M)&&fe(Qt)})}var Zt=v(Ye,2);{var _i=fe=>{var Je=U2();D(fe,Je)},ei=fe=>{var Je=YX(),rt=_(Je),lt=v(_(rt),2),Ut=_(lt),Ht=v(rt,2),yi=v(_(Ht),2),I=_(yi),N=v(Ht,2),$=v(_(N),2),oe=_($);ZC(oe,{language:"javascript",get value(){return c(p)},set value(vt){m(p,vt,!0)}});var ie=v(N,2),ne=v(_(ie),2),le=_(ne);ZC(le,{language:"javascript",get value(){return c(C)},set value(vt){m(C,vt,!0)}});var et=v(ie,2),Fe=_(et),_e=_(Fe),Ke=v(_e,4),Me=v(_(Ke)),at=_(Me),Xt=v(Fe,2);{var Z=vt=>{var Le=UX(),Oe=_(Le);ys(Oe,()=>c(w),St=>m(w,St)),D(vt,Le)};z(Xt,vt=>{c(y)&&vt(Z)})}var ce=v(et,2);{var Ve=vt=>{var Le=XX(),Oe=_(Le),St=v(_(Oe));{var xt=$e=>{var ct=qX();D($e,ct)},Ie=$e=>{var ct=GX(),je=_(ct);j(()=>W(je,`${c(A).length??0??""} items · rev ${c(A)._rev??""}`)),D($e,ct)};z(St,$e=>{c(A).error?$e(xt):$e(Ie,-1)})}var ge=v(Oe,2);{var Re=$e=>{var ct=KX(),je=_(ct);j(()=>W(je,c(A).error)),D($e,ct)},Ne=$e=>{var ct=ZX(),je=_(ct);j(gt=>W(je,gt),[()=>JSON.stringify(c(A).result,null,2)]),D($e,ct)};z(ge,$e=>{c(A).error?$e(Re):$e(Ne,-1)})}D(vt,Le)};z(ce,vt=>{c(A)&&vt(Ve)})}j(()=>W(at,`${c(R)??""}${c(f)??""} on every update`)),jt(Ut,()=>c(b),vt=>m(b,vt)),jt(I,()=>c(g),vt=>m(g,vt)),ys(_e,()=>c(y),vt=>m(y,vt)),D(fe,Je)};z(Zt,fe=>{c(P)?fe(_i):fe(ei,-1)})}j(()=>W(Pt,c(f))),U("click",kt,ii),U("click",Ot,Ci),U("click",Se,ni),D(It,$t)},Te=It=>{t(It)};z(dt,It=>{c(f)?It(Y):It(Te,-1)})}var Xe=v(mt,2);{var ke=It=>{var $t=JX(),te=Et($t),Qe=v(te,2);let Pt;var kt=_(Qe);RX(kt,{get currentView(){return c(yt)},onApplyView:Ce}),j(()=>Pt=qo(Qe,"",Pt,{width:`${c(ve)??""}px`})),U("mousedown",te,it),D(It,$t)};z(Xe,It=>{c(We)&&It(ke)})}j(()=>Ri=qo(Oi,"",Ri,{width:`${c(re)??""}px`})),U("click",Ni,()=>{m(J,!c(J)),m(de,null)}),jt(nt,()=>c(Di),It=>m(Di,It)),U("mousedown",si,Rt),D(tt,At)};z(ji,tt=>{c(V)==="docs"?tt(Ji):tt(Ai,-1)})}j(()=>{Gt=Ft(ft,1,"svelte-rrt0o",null,Gt,{active:c(V)==="docs"}),Ki=Ft(Mi,1,"svelte-rrt0o",null,Ki,{active:c(V)==="views"})}),U("mousemove",cn,ci),U("mouseup",cn,qe),xs("mouseleave",cn,qe),U("click",ft,()=>m(V,"docs")),U("click",Mi,()=>m(V,"views")),D(o,cn),$s()}Ys(["mousemove","mouseup","click","keydown","mousedown"]);var Em={exports:{}},nY=Em.exports,q2;function sY(){return q2||(q2=1,(function(o,e){(function(i,n){o.exports=n()})(typeof self<"u"?self:nY,function(){return(function(t){var i={};function n(s){if(i[s])return i[s].exports;var r=i[s]={i:s,l:!1,exports:{}};return t[s].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=i,n.d=function(s,r,a){n.o(s,r)||Object.defineProperty(s,r,{configurable:!1,enumerable:!0,get:a})},n.n=function(s){var r=s&&s.__esModule?function(){return s.default}:function(){return s};return n.d(r,"a",r),r},n.o=function(s,r){return Object.prototype.hasOwnProperty.call(s,r)},n.p="",n(n.s=3)})([(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=(function(){function r(a,d){this.width=d,this.height=a.length/d,this.data=a}return r.createEmpty=function(a,d){return new r(new Uint8ClampedArray(a*d),a)},r.prototype.get=function(a,d){return a<0||a>=this.width||d<0||d>=this.height?!1:!!this.data[d*this.width+a]},r.prototype.set=function(a,d,u){this.data[d*this.width+a]=u?1:0},r.prototype.setRegion=function(a,d,u,f,g){for(var p=d;p<d+f;p++)for(var C=a;C<a+u;C++)this.set(C,p,!!g)},r})();i.BitMatrix=s}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(2);function r(d,u){return d^u}i.addOrSubtractGF=r;var a=(function(){function d(u,f,g){this.primitive=u,this.size=f,this.generatorBase=g,this.expTable=new Array(this.size),this.logTable=new Array(this.size);for(var p=1,C=0;C<this.size;C++)this.expTable[C]=p,p=p*2,p>=this.size&&(p=(p^this.primitive)&this.size-1);for(var C=0;C<this.size-1;C++)this.logTable[this.expTable[C]]=C;this.zero=new s.default(this,Uint8ClampedArray.from([0])),this.one=new s.default(this,Uint8ClampedArray.from([1]))}return d.prototype.multiply=function(u,f){return u===0||f===0?0:this.expTable[(this.logTable[u]+this.logTable[f])%(this.size-1)]},d.prototype.inverse=function(u){if(u===0)throw new Error("Can't invert 0");return this.expTable[this.size-this.logTable[u]-1]},d.prototype.buildMonomial=function(u,f){if(u<0)throw new Error("Invalid monomial degree less than 0");if(f===0)return this.zero;var g=new Uint8ClampedArray(u+1);return g[0]=f,new s.default(this,g)},d.prototype.log=function(u){if(u===0)throw new Error("Can't take log(0)");return this.logTable[u]},d.prototype.exp=function(u){return this.expTable[u]},d})();i.default=a}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(1),r=(function(){function a(d,u){if(u.length===0)throw new Error("No coefficients.");this.field=d;var f=u.length;if(f>1&&u[0]===0){for(var g=1;g<f&&u[g]===0;)g++;if(g===f)this.coefficients=d.zero.coefficients;else{this.coefficients=new Uint8ClampedArray(f-g);for(var p=0;p<this.coefficients.length;p++)this.coefficients[p]=u[g+p]}}else this.coefficients=u}return a.prototype.degree=function(){return this.coefficients.length-1},a.prototype.isZero=function(){return this.coefficients[0]===0},a.prototype.getCoefficient=function(d){return this.coefficients[this.coefficients.length-1-d]},a.prototype.addOrSubtract=function(d){var u;if(this.isZero())return d;if(d.isZero())return this;var f=this.coefficients,g=d.coefficients;f.length>g.length&&(u=[g,f],f=u[0],g=u[1]);for(var p=new Uint8ClampedArray(g.length),C=g.length-f.length,b=0;b<C;b++)p[b]=g[b];for(var b=C;b<g.length;b++)p[b]=s.addOrSubtractGF(f[b-C],g[b]);return new a(this.field,p)},a.prototype.multiply=function(d){if(d===0)return this.field.zero;if(d===1)return this;for(var u=this.coefficients.length,f=new Uint8ClampedArray(u),g=0;g<u;g++)f[g]=this.field.multiply(this.coefficients[g],d);return new a(this.field,f)},a.prototype.multiplyPoly=function(d){if(this.isZero()||d.isZero())return this.field.zero;for(var u=this.coefficients,f=u.length,g=d.coefficients,p=g.length,C=new Uint8ClampedArray(f+p-1),b=0;b<f;b++)for(var y=u[b],w=0;w<p;w++)C[b+w]=s.addOrSubtractGF(C[b+w],this.field.multiply(y,g[w]));return new a(this.field,C)},a.prototype.multiplyByMonomial=function(d,u){if(d<0)throw new Error("Invalid degree less than 0");if(u===0)return this.field.zero;for(var f=this.coefficients.length,g=new Uint8ClampedArray(f+d),p=0;p<f;p++)g[p]=this.field.multiply(this.coefficients[p],u);return new a(this.field,g)},a.prototype.evaluateAt=function(d){var u=0;if(d===0)return this.getCoefficient(0);var f=this.coefficients.length;if(d===1)return this.coefficients.forEach(function(p){u=s.addOrSubtractGF(u,p)}),u;u=this.coefficients[0];for(var g=1;g<f;g++)u=s.addOrSubtractGF(this.field.multiply(d,u),this.coefficients[g]);return u},a})();i.default=r}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(4),r=n(5),a=n(11),d=n(12);function u(p){var C=d.locate(p);if(!C)return null;for(var b=0,y=C;b<y.length;b++){var w=y[b],A=a.extract(p,w),P=r.decode(A.matrix);if(P)return{binaryData:P.bytes,data:P.text,chunks:P.chunks,version:P.version,location:{topRightCorner:A.mappingFunction(w.dimension,0),topLeftCorner:A.mappingFunction(0,0),bottomRightCorner:A.mappingFunction(w.dimension,w.dimension),bottomLeftCorner:A.mappingFunction(0,w.dimension),topRightFinderPattern:w.topRight,topLeftFinderPattern:w.topLeft,bottomLeftFinderPattern:w.bottomLeft,bottomRightAlignmentPattern:w.alignmentPattern}}}return null}var f={inversionAttempts:"attemptBoth"};function g(p,C,b,y){y===void 0&&(y={});var w=f;Object.keys(w||{}).forEach(function(H){w[H]=y[H]||w[H]});var A=w.inversionAttempts==="attemptBoth"||w.inversionAttempts==="invertFirst",P=w.inversionAttempts==="onlyInvert"||w.inversionAttempts==="invertFirst",M=s.binarize(p,C,b,A),R=M.binarized,T=M.inverted,V=u(P?T:R);return!V&&(w.inversionAttempts==="attemptBoth"||w.inversionAttempts==="invertFirst")&&(V=u(P?R:T)),V}g.default=g,i.default=g}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0),r=8,a=24;function d(g,p,C){return g<p?p:g>C?C:g}var u=(function(){function g(p,C){this.width=p,this.data=new Uint8ClampedArray(p*C)}return g.prototype.get=function(p,C){return this.data[C*this.width+p]},g.prototype.set=function(p,C,b){this.data[C*this.width+p]=b},g})();function f(g,p,C,b){if(g.length!==p*C*4)throw new Error("Malformed data passed to binarizer.");for(var y=new u(p,C),w=0;w<p;w++)for(var A=0;A<C;A++){var P=g[(A*p+w)*4+0],M=g[(A*p+w)*4+1],R=g[(A*p+w)*4+2];y.set(w,A,.2126*P+.7152*M+.0722*R)}for(var T=Math.ceil(p/r),V=Math.ceil(C/r),H=new u(T,V),X=0;X<V;X++)for(var se=0;se<T;se++){for(var he=0,J=1/0,de=0,A=0;A<r;A++)for(var w=0;w<r;w++){var we=y.get(se*r+w,X*r+A);he+=we,J=Math.min(J,we),de=Math.max(de,we)}var re=he/Math.pow(r,2);if(de-J<=a&&(re=J/2,X>0&&se>0)){var ae=(H.get(se,X-1)+2*H.get(se-1,X)+H.get(se-1,X-1))/4;J<ae&&(re=ae)}H.set(se,X,re)}var De=s.BitMatrix.createEmpty(p,C),Pe=null;b&&(Pe=s.BitMatrix.createEmpty(p,C));for(var X=0;X<V;X++)for(var se=0;se<T;se++){for(var xe=d(se,2,T-3),ze=d(X,2,V-3),he=0,We=-2;We<=2;We++)for(var ve=-2;ve<=2;ve++)he+=H.get(xe+We,ze+ve);for(var ht=he/25,We=0;We<r;We++)for(var ve=0;ve<r;ve++){var w=se*r+We,A=X*r+ve,Mt=y.get(w,A);De.set(w,A,Mt<=ht),b&&Pe.set(w,A,!(Mt<=ht))}}return b?{binarized:De,inverted:Pe}:{binarized:De}}i.binarize=f}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0),r=n(6),a=n(9),d=n(10);function u(R,T){for(var V=R^T,H=0;V;)H++,V&=V-1;return H}function f(R,T){return T<<1|R}var g=[{bits:21522,formatInfo:{errorCorrectionLevel:1,dataMask:0}},{bits:20773,formatInfo:{errorCorrectionLevel:1,dataMask:1}},{bits:24188,formatInfo:{errorCorrectionLevel:1,dataMask:2}},{bits:23371,formatInfo:{errorCorrectionLevel:1,dataMask:3}},{bits:17913,formatInfo:{errorCorrectionLevel:1,dataMask:4}},{bits:16590,formatInfo:{errorCorrectionLevel:1,dataMask:5}},{bits:20375,formatInfo:{errorCorrectionLevel:1,dataMask:6}},{bits:19104,formatInfo:{errorCorrectionLevel:1,dataMask:7}},{bits:30660,formatInfo:{errorCorrectionLevel:0,dataMask:0}},{bits:29427,formatInfo:{errorCorrectionLevel:0,dataMask:1}},{bits:32170,formatInfo:{errorCorrectionLevel:0,dataMask:2}},{bits:30877,formatInfo:{errorCorrectionLevel:0,dataMask:3}},{bits:26159,formatInfo:{errorCorrectionLevel:0,dataMask:4}},{bits:25368,formatInfo:{errorCorrectionLevel:0,dataMask:5}},{bits:27713,formatInfo:{errorCorrectionLevel:0,dataMask:6}},{bits:26998,formatInfo:{errorCorrectionLevel:0,dataMask:7}},{bits:5769,formatInfo:{errorCorrectionLevel:3,dataMask:0}},{bits:5054,formatInfo:{errorCorrectionLevel:3,dataMask:1}},{bits:7399,formatInfo:{errorCorrectionLevel:3,dataMask:2}},{bits:6608,formatInfo:{errorCorrectionLevel:3,dataMask:3}},{bits:1890,formatInfo:{errorCorrectionLevel:3,dataMask:4}},{bits:597,formatInfo:{errorCorrectionLevel:3,dataMask:5}},{bits:3340,formatInfo:{errorCorrectionLevel:3,dataMask:6}},{bits:2107,formatInfo:{errorCorrectionLevel:3,dataMask:7}},{bits:13663,formatInfo:{errorCorrectionLevel:2,dataMask:0}},{bits:12392,formatInfo:{errorCorrectionLevel:2,dataMask:1}},{bits:16177,formatInfo:{errorCorrectionLevel:2,dataMask:2}},{bits:14854,formatInfo:{errorCorrectionLevel:2,dataMask:3}},{bits:9396,formatInfo:{errorCorrectionLevel:2,dataMask:4}},{bits:8579,formatInfo:{errorCorrectionLevel:2,dataMask:5}},{bits:11994,formatInfo:{errorCorrectionLevel:2,dataMask:6}},{bits:11245,formatInfo:{errorCorrectionLevel:2,dataMask:7}}],p=[function(R){return(R.y+R.x)%2===0},function(R){return R.y%2===0},function(R){return R.x%3===0},function(R){return(R.y+R.x)%3===0},function(R){return(Math.floor(R.y/2)+Math.floor(R.x/3))%2===0},function(R){return R.x*R.y%2+R.x*R.y%3===0},function(R){return(R.y*R.x%2+R.y*R.x%3)%2===0},function(R){return((R.y+R.x)%2+R.y*R.x%3)%2===0}];function C(R){var T=17+4*R.versionNumber,V=s.BitMatrix.createEmpty(T,T);V.setRegion(0,0,9,9,!0),V.setRegion(T-8,0,8,9,!0),V.setRegion(0,T-8,9,8,!0);for(var H=0,X=R.alignmentPatternCenters;H<X.length;H++)for(var se=X[H],he=0,J=R.alignmentPatternCenters;he<J.length;he++){var de=J[he];se===6&&de===6||se===6&&de===T-7||se===T-7&&de===6||V.setRegion(se-2,de-2,5,5,!0)}return V.setRegion(6,9,1,T-17,!0),V.setRegion(9,6,T-17,1,!0),R.versionNumber>6&&(V.setRegion(T-11,0,3,6,!0),V.setRegion(0,T-11,6,3,!0)),V}function b(R,T,V){for(var H=p[V.dataMask],X=R.height,se=C(T),he=[],J=0,de=0,we=!0,re=X-1;re>0;re-=2){re===6&&re--;for(var ae=0;ae<X;ae++)for(var De=we?X-1-ae:ae,Pe=0;Pe<2;Pe++){var xe=re-Pe;if(!se.get(xe,De)){de++;var ze=R.get(xe,De);H({y:De,x:xe})&&(ze=!ze),J=f(ze,J),de===8&&(he.push(J),de=0,J=0)}}we=!we}return he}function y(R){var T=R.height,V=Math.floor((T-17)/4);if(V<=6)return d.VERSIONS[V-1];for(var H=0,X=5;X>=0;X--)for(var se=T-9;se>=T-11;se--)H=f(R.get(se,X),H);for(var he=0,se=5;se>=0;se--)for(var X=T-9;X>=T-11;X--)he=f(R.get(se,X),he);for(var J=1/0,de,we=0,re=d.VERSIONS;we<re.length;we++){var ae=re[we];if(ae.infoBits===H||ae.infoBits===he)return ae;var De=u(H,ae.infoBits);De<J&&(de=ae,J=De),De=u(he,ae.infoBits),De<J&&(de=ae,J=De)}if(J<=3)return de}function w(R){for(var T=0,V=0;V<=8;V++)V!==6&&(T=f(R.get(V,8),T));for(var H=7;H>=0;H--)H!==6&&(T=f(R.get(8,H),T));for(var X=R.height,se=0,H=X-1;H>=X-7;H--)se=f(R.get(8,H),se);for(var V=X-8;V<X;V++)se=f(R.get(V,8),se);for(var he=1/0,J=null,de=0,we=g;de<we.length;de++){var re=we[de],ae=re.bits,De=re.formatInfo;if(ae===T||ae===se)return De;var Pe=u(T,ae);Pe<he&&(J=De,he=Pe),T!==se&&(Pe=u(se,ae),Pe<he&&(J=De,he=Pe))}return he<=3?J:null}function A(R,T,V){var H=T.errorCorrectionLevels[V],X=[],se=0;if(H.ecBlocks.forEach(function(ze){for(var We=0;We<ze.numBlocks;We++)X.push({numDataCodewords:ze.dataCodewordsPerBlock,codewords:[]}),se+=ze.dataCodewordsPerBlock+H.ecCodewordsPerBlock}),R.length<se)return null;R=R.slice(0,se);for(var he=H.ecBlocks[0].dataCodewordsPerBlock,J=0;J<he;J++)for(var de=0,we=X;de<we.length;de++){var re=we[de];re.codewords.push(R.shift())}if(H.ecBlocks.length>1)for(var ae=H.ecBlocks[0].numBlocks,De=H.ecBlocks[1].numBlocks,J=0;J<De;J++)X[ae+J].codewords.push(R.shift());for(;R.length>0;)for(var Pe=0,xe=X;Pe<xe.length;Pe++){var re=xe[Pe];re.codewords.push(R.shift())}return X}function P(R){var T=y(R);if(!T)return null;var V=w(R);if(!V)return null;var H=b(R,T,V),X=A(H,T,V.errorCorrectionLevel);if(!X)return null;for(var se=X.reduce(function(Pe,xe){return Pe+xe.numDataCodewords},0),he=new Uint8ClampedArray(se),J=0,de=0,we=X;de<we.length;de++){var re=we[de],ae=a.decode(re.codewords,re.codewords.length-re.numDataCodewords);if(!ae)return null;for(var De=0;De<re.numDataCodewords;De++)he[J++]=ae[De]}try{return r.decode(he,T.versionNumber)}catch{return null}}function M(R){if(R==null)return null;var T=P(R);if(T)return T;for(var V=0;V<R.width;V++)for(var H=V+1;H<R.height;H++)R.get(V,H)!==R.get(H,V)&&(R.set(V,H,!R.get(V,H)),R.set(H,V,!R.get(H,V)));return P(R)}i.decode=M}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(7),r=n(8),a;(function(y){y.Numeric="numeric",y.Alphanumeric="alphanumeric",y.Byte="byte",y.Kanji="kanji",y.ECI="eci"})(a=i.Mode||(i.Mode={}));var d;(function(y){y[y.Terminator=0]="Terminator",y[y.Numeric=1]="Numeric",y[y.Alphanumeric=2]="Alphanumeric",y[y.Byte=4]="Byte",y[y.Kanji=8]="Kanji",y[y.ECI=7]="ECI"})(d||(d={}));function u(y,w){for(var A=[],P="",M=[10,12,14][w],R=y.readBits(M);R>=3;){var T=y.readBits(10);if(T>=1e3)throw new Error("Invalid numeric value above 999");var V=Math.floor(T/100),H=Math.floor(T/10)%10,X=T%10;A.push(48+V,48+H,48+X),P+=V.toString()+H.toString()+X.toString(),R-=3}if(R===2){var T=y.readBits(7);if(T>=100)throw new Error("Invalid numeric value above 99");var V=Math.floor(T/10),H=T%10;A.push(48+V,48+H),P+=V.toString()+H.toString()}else if(R===1){var T=y.readBits(4);if(T>=10)throw new Error("Invalid numeric value above 9");A.push(48+T),P+=T.toString()}return{bytes:A,text:P}}var f=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function g(y,w){for(var A=[],P="",M=[9,11,13][w],R=y.readBits(M);R>=2;){var T=y.readBits(11),V=Math.floor(T/45),H=T%45;A.push(f[V].charCodeAt(0),f[H].charCodeAt(0)),P+=f[V]+f[H],R-=2}if(R===1){var V=y.readBits(6);A.push(f[V].charCodeAt(0)),P+=f[V]}return{bytes:A,text:P}}function p(y,w){for(var A=[],P="",M=[8,16,16][w],R=y.readBits(M),T=0;T<R;T++){var V=y.readBits(8);A.push(V)}try{P+=decodeURIComponent(A.map(function(H){return"%"+("0"+H.toString(16)).substr(-2)}).join(""))}catch{}return{bytes:A,text:P}}function C(y,w){for(var A=[],P="",M=[8,10,12][w],R=y.readBits(M),T=0;T<R;T++){var V=y.readBits(13),H=Math.floor(V/192)<<8|V%192;H<7936?H+=33088:H+=49472,A.push(H>>8,H&255),P+=String.fromCharCode(r.shiftJISTable[H])}return{bytes:A,text:P}}function b(y,w){for(var A,P,M,R,T=new s.BitStream(y),V=w<=9?0:w<=26?1:2,H={text:"",bytes:[],chunks:[],version:w};T.available()>=4;){var X=T.readBits(4);if(X===d.Terminator)return H;if(X===d.ECI)T.readBits(1)===0?H.chunks.push({type:a.ECI,assignmentNumber:T.readBits(7)}):T.readBits(1)===0?H.chunks.push({type:a.ECI,assignmentNumber:T.readBits(14)}):T.readBits(1)===0?H.chunks.push({type:a.ECI,assignmentNumber:T.readBits(21)}):H.chunks.push({type:a.ECI,assignmentNumber:-1});else if(X===d.Numeric){var se=u(T,V);H.text+=se.text,(A=H.bytes).push.apply(A,se.bytes),H.chunks.push({type:a.Numeric,text:se.text})}else if(X===d.Alphanumeric){var he=g(T,V);H.text+=he.text,(P=H.bytes).push.apply(P,he.bytes),H.chunks.push({type:a.Alphanumeric,text:he.text})}else if(X===d.Byte){var J=p(T,V);H.text+=J.text,(M=H.bytes).push.apply(M,J.bytes),H.chunks.push({type:a.Byte,bytes:J.bytes,text:J.text})}else if(X===d.Kanji){var de=C(T,V);H.text+=de.text,(R=H.bytes).push.apply(R,de.bytes),H.chunks.push({type:a.Kanji,bytes:de.bytes,text:de.text})}}if(T.available()===0||T.readBits(T.available())===0)return H}i.decode=b}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=(function(){function r(a){this.byteOffset=0,this.bitOffset=0,this.bytes=a}return r.prototype.readBits=function(a){if(a<1||a>32||a>this.available())throw new Error("Cannot read "+a.toString()+" bits");var d=0;if(this.bitOffset>0){var u=8-this.bitOffset,f=a<u?a:u,g=u-f,p=255>>8-f<<g;d=(this.bytes[this.byteOffset]&p)>>g,a-=f,this.bitOffset+=f,this.bitOffset===8&&(this.bitOffset=0,this.byteOffset++)}if(a>0){for(;a>=8;)d=d<<8|this.bytes[this.byteOffset]&255,this.byteOffset++,a-=8;if(a>0){var g=8-a,p=255>>g<<g;d=d<<a|(this.bytes[this.byteOffset]&p)>>g,this.bitOffset+=a}}return d},r.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},r})();i.BitStream=s}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0}),i.shiftJISTable={32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:165,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:8254,33088:12288,33089:12289,33090:12290,33091:65292,33092:65294,33093:12539,33094:65306,33095:65307,33096:65311,33097:65281,33098:12443,33099:12444,33100:180,33101:65344,33102:168,33103:65342,33104:65507,33105:65343,33106:12541,33107:12542,33108:12445,33109:12446,33110:12291,33111:20189,33112:12293,33113:12294,33114:12295,33115:12540,33116:8213,33117:8208,33118:65295,33119:92,33120:12316,33121:8214,33122:65372,33123:8230,33124:8229,33125:8216,33126:8217,33127:8220,33128:8221,33129:65288,33130:65289,33131:12308,33132:12309,33133:65339,33134:65341,33135:65371,33136:65373,33137:12296,33138:12297,33139:12298,33140:12299,33141:12300,33142:12301,33143:12302,33144:12303,33145:12304,33146:12305,33147:65291,33148:8722,33149:177,33150:215,33152:247,33153:65309,33154:8800,33155:65308,33156:65310,33157:8806,33158:8807,33159:8734,33160:8756,33161:9794,33162:9792,33163:176,33164:8242,33165:8243,33166:8451,33167:65509,33168:65284,33169:162,33170:163,33171:65285,33172:65283,33173:65286,33174:65290,33175:65312,33176:167,33177:9734,33178:9733,33179:9675,33180:9679,33181:9678,33182:9671,33183:9670,33184:9633,33185:9632,33186:9651,33187:9650,33188:9661,33189:9660,33190:8251,33191:12306,33192:8594,33193:8592,33194:8593,33195:8595,33196:12307,33208:8712,33209:8715,33210:8838,33211:8839,33212:8834,33213:8835,33214:8746,33215:8745,33224:8743,33225:8744,33226:172,33227:8658,33228:8660,33229:8704,33230:8707,33242:8736,33243:8869,33244:8978,33245:8706,33246:8711,33247:8801,33248:8786,33249:8810,33250:8811,33251:8730,33252:8765,33253:8733,33254:8757,33255:8747,33256:8748,33264:8491,33265:8240,33266:9839,33267:9837,33268:9834,33269:8224,33270:8225,33271:182,33276:9711,33359:65296,33360:65297,33361:65298,33362:65299,33363:65300,33364:65301,33365:65302,33366:65303,33367:65304,33368:65305,33376:65313,33377:65314,33378:65315,33379:65316,33380:65317,33381:65318,33382:65319,33383:65320,33384:65321,33385:65322,33386:65323,33387:65324,33388:65325,33389:65326,33390:65327,33391:65328,33392:65329,33393:65330,33394:65331,33395:65332,33396:65333,33397:65334,33398:65335,33399:65336,33400:65337,33401:65338,33409:65345,33410:65346,33411:65347,33412:65348,33413:65349,33414:65350,33415:65351,33416:65352,33417:65353,33418:65354,33419:65355,33420:65356,33421:65357,33422:65358,33423:65359,33424:65360,33425:65361,33426:65362,33427:65363,33428:65364,33429:65365,33430:65366,33431:65367,33432:65368,33433:65369,33434:65370,33439:12353,33440:12354,33441:12355,33442:12356,33443:12357,33444:12358,33445:12359,33446:12360,33447:12361,33448:12362,33449:12363,33450:12364,33451:12365,33452:12366,33453:12367,33454:12368,33455:12369,33456:12370,33457:12371,33458:12372,33459:12373,33460:12374,33461:12375,33462:12376,33463:12377,33464:12378,33465:12379,33466:12380,33467:12381,33468:12382,33469:12383,33470:12384,33471:12385,33472:12386,33473:12387,33474:12388,33475:12389,33476:12390,33477:12391,33478:12392,33479:12393,33480:12394,33481:12395,33482:12396,33483:12397,33484:12398,33485:12399,33486:12400,33487:12401,33488:12402,33489:12403,33490:12404,33491:12405,33492:12406,33493:12407,33494:12408,33495:12409,33496:12410,33497:12411,33498:12412,33499:12413,33500:12414,33501:12415,33502:12416,33503:12417,33504:12418,33505:12419,33506:12420,33507:12421,33508:12422,33509:12423,33510:12424,33511:12425,33512:12426,33513:12427,33514:12428,33515:12429,33516:12430,33517:12431,33518:12432,33519:12433,33520:12434,33521:12435,33600:12449,33601:12450,33602:12451,33603:12452,33604:12453,33605:12454,33606:12455,33607:12456,33608:12457,33609:12458,33610:12459,33611:12460,33612:12461,33613:12462,33614:12463,33615:12464,33616:12465,33617:12466,33618:12467,33619:12468,33620:12469,33621:12470,33622:12471,33623:12472,33624:12473,33625:12474,33626:12475,33627:12476,33628:12477,33629:12478,33630:12479,33631:12480,33632:12481,33633:12482,33634:12483,33635:12484,33636:12485,33637:12486,33638:12487,33639:12488,33640:12489,33641:12490,33642:12491,33643:12492,33644:12493,33645:12494,33646:12495,33647:12496,33648:12497,33649:12498,33650:12499,33651:12500,33652:12501,33653:12502,33654:12503,33655:12504,33656:12505,33657:12506,33658:12507,33659:12508,33660:12509,33661:12510,33662:12511,33664:12512,33665:12513,33666:12514,33667:12515,33668:12516,33669:12517,33670:12518,33671:12519,33672:12520,33673:12521,33674:12522,33675:12523,33676:12524,33677:12525,33678:12526,33679:12527,33680:12528,33681:12529,33682:12530,33683:12531,33684:12532,33685:12533,33686:12534,33695:913,33696:914,33697:915,33698:916,33699:917,33700:918,33701:919,33702:920,33703:921,33704:922,33705:923,33706:924,33707:925,33708:926,33709:927,33710:928,33711:929,33712:931,33713:932,33714:933,33715:934,33716:935,33717:936,33718:937,33727:945,33728:946,33729:947,33730:948,33731:949,33732:950,33733:951,33734:952,33735:953,33736:954,33737:955,33738:956,33739:957,33740:958,33741:959,33742:960,33743:961,33744:963,33745:964,33746:965,33747:966,33748:967,33749:968,33750:969,33856:1040,33857:1041,33858:1042,33859:1043,33860:1044,33861:1045,33862:1025,33863:1046,33864:1047,33865:1048,33866:1049,33867:1050,33868:1051,33869:1052,33870:1053,33871:1054,33872:1055,33873:1056,33874:1057,33875:1058,33876:1059,33877:1060,33878:1061,33879:1062,33880:1063,33881:1064,33882:1065,33883:1066,33884:1067,33885:1068,33886:1069,33887:1070,33888:1071,33904:1072,33905:1073,33906:1074,33907:1075,33908:1076,33909:1077,33910:1105,33911:1078,33912:1079,33913:1080,33914:1081,33915:1082,33916:1083,33917:1084,33918:1085,33920:1086,33921:1087,33922:1088,33923:1089,33924:1090,33925:1091,33926:1092,33927:1093,33928:1094,33929:1095,33930:1096,33931:1097,33932:1098,33933:1099,33934:1100,33935:1101,33936:1102,33937:1103,33951:9472,33952:9474,33953:9484,33954:9488,33955:9496,33956:9492,33957:9500,33958:9516,33959:9508,33960:9524,33961:9532,33962:9473,33963:9475,33964:9487,33965:9491,33966:9499,33967:9495,33968:9507,33969:9523,33970:9515,33971:9531,33972:9547,33973:9504,33974:9519,33975:9512,33976:9527,33977:9535,33978:9501,33979:9520,33980:9509,33981:9528,33982:9538,34975:20124,34976:21782,34977:23043,34978:38463,34979:21696,34980:24859,34981:25384,34982:23030,34983:36898,34984:33909,34985:33564,34986:31312,34987:24746,34988:25569,34989:28197,34990:26093,34991:33894,34992:33446,34993:39925,34994:26771,34995:22311,34996:26017,34997:25201,34998:23451,34999:22992,35e3:34427,35001:39156,35002:32098,35003:32190,35004:39822,35005:25110,35006:31903,35007:34999,35008:23433,35009:24245,35010:25353,35011:26263,35012:26696,35013:38343,35014:38797,35015:26447,35016:20197,35017:20234,35018:20301,35019:20381,35020:20553,35021:22258,35022:22839,35023:22996,35024:23041,35025:23561,35026:24799,35027:24847,35028:24944,35029:26131,35030:26885,35031:28858,35032:30031,35033:30064,35034:31227,35035:32173,35036:32239,35037:32963,35038:33806,35039:34915,35040:35586,35041:36949,35042:36986,35043:21307,35044:20117,35045:20133,35046:22495,35047:32946,35048:37057,35049:30959,35050:19968,35051:22769,35052:28322,35053:36920,35054:31282,35055:33576,35056:33419,35057:39983,35058:20801,35059:21360,35060:21693,35061:21729,35062:22240,35063:23035,35064:24341,35065:39154,35066:28139,35067:32996,35068:34093,35136:38498,35137:38512,35138:38560,35139:38907,35140:21515,35141:21491,35142:23431,35143:28879,35144:32701,35145:36802,35146:38632,35147:21359,35148:40284,35149:31418,35150:19985,35151:30867,35152:33276,35153:28198,35154:22040,35155:21764,35156:27421,35157:34074,35158:39995,35159:23013,35160:21417,35161:28006,35162:29916,35163:38287,35164:22082,35165:20113,35166:36939,35167:38642,35168:33615,35169:39180,35170:21473,35171:21942,35172:23344,35173:24433,35174:26144,35175:26355,35176:26628,35177:27704,35178:27891,35179:27945,35180:29787,35181:30408,35182:31310,35183:38964,35184:33521,35185:34907,35186:35424,35187:37613,35188:28082,35189:30123,35190:30410,35191:39365,35192:24742,35193:35585,35194:36234,35195:38322,35196:27022,35197:21421,35198:20870,35200:22290,35201:22576,35202:22852,35203:23476,35204:24310,35205:24616,35206:25513,35207:25588,35208:27839,35209:28436,35210:28814,35211:28948,35212:29017,35213:29141,35214:29503,35215:32257,35216:33398,35217:33489,35218:34199,35219:36960,35220:37467,35221:40219,35222:22633,35223:26044,35224:27738,35225:29989,35226:20985,35227:22830,35228:22885,35229:24448,35230:24540,35231:25276,35232:26106,35233:27178,35234:27431,35235:27572,35236:29579,35237:32705,35238:35158,35239:40236,35240:40206,35241:40644,35242:23713,35243:27798,35244:33659,35245:20740,35246:23627,35247:25014,35248:33222,35249:26742,35250:29281,35251:20057,35252:20474,35253:21368,35254:24681,35255:28201,35256:31311,35257:38899,35258:19979,35259:21270,35260:20206,35261:20309,35262:20285,35263:20385,35264:20339,35265:21152,35266:21487,35267:22025,35268:22799,35269:23233,35270:23478,35271:23521,35272:31185,35273:26247,35274:26524,35275:26550,35276:27468,35277:27827,35278:28779,35279:29634,35280:31117,35281:31166,35282:31292,35283:31623,35284:33457,35285:33499,35286:33540,35287:33655,35288:33775,35289:33747,35290:34662,35291:35506,35292:22057,35293:36008,35294:36838,35295:36942,35296:38686,35297:34442,35298:20420,35299:23784,35300:25105,35301:29273,35302:30011,35303:33253,35304:33469,35305:34558,35306:36032,35307:38597,35308:39187,35309:39381,35310:20171,35311:20250,35312:35299,35313:22238,35314:22602,35315:22730,35316:24315,35317:24555,35318:24618,35319:24724,35320:24674,35321:25040,35322:25106,35323:25296,35324:25913,35392:39745,35393:26214,35394:26800,35395:28023,35396:28784,35397:30028,35398:30342,35399:32117,35400:33445,35401:34809,35402:38283,35403:38542,35404:35997,35405:20977,35406:21182,35407:22806,35408:21683,35409:23475,35410:23830,35411:24936,35412:27010,35413:28079,35414:30861,35415:33995,35416:34903,35417:35442,35418:37799,35419:39608,35420:28012,35421:39336,35422:34521,35423:22435,35424:26623,35425:34510,35426:37390,35427:21123,35428:22151,35429:21508,35430:24275,35431:25313,35432:25785,35433:26684,35434:26680,35435:27579,35436:29554,35437:30906,35438:31339,35439:35226,35440:35282,35441:36203,35442:36611,35443:37101,35444:38307,35445:38548,35446:38761,35447:23398,35448:23731,35449:27005,35450:38989,35451:38990,35452:25499,35453:31520,35454:27179,35456:27263,35457:26806,35458:39949,35459:28511,35460:21106,35461:21917,35462:24688,35463:25324,35464:27963,35465:28167,35466:28369,35467:33883,35468:35088,35469:36676,35470:19988,35471:39993,35472:21494,35473:26907,35474:27194,35475:38788,35476:26666,35477:20828,35478:31427,35479:33970,35480:37340,35481:37772,35482:22107,35483:40232,35484:26658,35485:33541,35486:33841,35487:31909,35488:21e3,35489:33477,35490:29926,35491:20094,35492:20355,35493:20896,35494:23506,35495:21002,35496:21208,35497:21223,35498:24059,35499:21914,35500:22570,35501:23014,35502:23436,35503:23448,35504:23515,35505:24178,35506:24185,35507:24739,35508:24863,35509:24931,35510:25022,35511:25563,35512:25954,35513:26577,35514:26707,35515:26874,35516:27454,35517:27475,35518:27735,35519:28450,35520:28567,35521:28485,35522:29872,35523:29976,35524:30435,35525:30475,35526:31487,35527:31649,35528:31777,35529:32233,35530:32566,35531:32752,35532:32925,35533:33382,35534:33694,35535:35251,35536:35532,35537:36011,35538:36996,35539:37969,35540:38291,35541:38289,35542:38306,35543:38501,35544:38867,35545:39208,35546:33304,35547:20024,35548:21547,35549:23736,35550:24012,35551:29609,35552:30284,35553:30524,35554:23721,35555:32747,35556:36107,35557:38593,35558:38929,35559:38996,35560:39e3,35561:20225,35562:20238,35563:21361,35564:21916,35565:22120,35566:22522,35567:22855,35568:23305,35569:23492,35570:23696,35571:24076,35572:24190,35573:24524,35574:25582,35575:26426,35576:26071,35577:26082,35578:26399,35579:26827,35580:26820,35648:27231,35649:24112,35650:27589,35651:27671,35652:27773,35653:30079,35654:31048,35655:23395,35656:31232,35657:32e3,35658:24509,35659:35215,35660:35352,35661:36020,35662:36215,35663:36556,35664:36637,35665:39138,35666:39438,35667:39740,35668:20096,35669:20605,35670:20736,35671:22931,35672:23452,35673:25135,35674:25216,35675:25836,35676:27450,35677:29344,35678:30097,35679:31047,35680:32681,35681:34811,35682:35516,35683:35696,35684:25516,35685:33738,35686:38816,35687:21513,35688:21507,35689:21931,35690:26708,35691:27224,35692:35440,35693:30759,35694:26485,35695:40653,35696:21364,35697:23458,35698:33050,35699:34384,35700:36870,35701:19992,35702:20037,35703:20167,35704:20241,35705:21450,35706:21560,35707:23470,35708:24339,35709:24613,35710:25937,35712:26429,35713:27714,35714:27762,35715:27875,35716:28792,35717:29699,35718:31350,35719:31406,35720:31496,35721:32026,35722:31998,35723:32102,35724:26087,35725:29275,35726:21435,35727:23621,35728:24040,35729:25298,35730:25312,35731:25369,35732:28192,35733:34394,35734:35377,35735:36317,35736:37624,35737:28417,35738:31142,35739:39770,35740:20136,35741:20139,35742:20140,35743:20379,35744:20384,35745:20689,35746:20807,35747:31478,35748:20849,35749:20982,35750:21332,35751:21281,35752:21375,35753:21483,35754:21932,35755:22659,35756:23777,35757:24375,35758:24394,35759:24623,35760:24656,35761:24685,35762:25375,35763:25945,35764:27211,35765:27841,35766:29378,35767:29421,35768:30703,35769:33016,35770:33029,35771:33288,35772:34126,35773:37111,35774:37857,35775:38911,35776:39255,35777:39514,35778:20208,35779:20957,35780:23597,35781:26241,35782:26989,35783:23616,35784:26354,35785:26997,35786:29577,35787:26704,35788:31873,35789:20677,35790:21220,35791:22343,35792:24062,35793:37670,35794:26020,35795:27427,35796:27453,35797:29748,35798:31105,35799:31165,35800:31563,35801:32202,35802:33465,35803:33740,35804:34943,35805:35167,35806:35641,35807:36817,35808:37329,35809:21535,35810:37504,35811:20061,35812:20534,35813:21477,35814:21306,35815:29399,35816:29590,35817:30697,35818:33510,35819:36527,35820:39366,35821:39368,35822:39378,35823:20855,35824:24858,35825:34398,35826:21936,35827:31354,35828:20598,35829:23507,35830:36935,35831:38533,35832:20018,35833:27355,35834:37351,35835:23633,35836:23624,35904:25496,35905:31391,35906:27795,35907:38772,35908:36705,35909:31402,35910:29066,35911:38536,35912:31874,35913:26647,35914:32368,35915:26705,35916:37740,35917:21234,35918:21531,35919:34219,35920:35347,35921:32676,35922:36557,35923:37089,35924:21350,35925:34952,35926:31041,35927:20418,35928:20670,35929:21009,35930:20804,35931:21843,35932:22317,35933:29674,35934:22411,35935:22865,35936:24418,35937:24452,35938:24693,35939:24950,35940:24935,35941:25001,35942:25522,35943:25658,35944:25964,35945:26223,35946:26690,35947:28179,35948:30054,35949:31293,35950:31995,35951:32076,35952:32153,35953:32331,35954:32619,35955:33550,35956:33610,35957:34509,35958:35336,35959:35427,35960:35686,35961:36605,35962:38938,35963:40335,35964:33464,35965:36814,35966:39912,35968:21127,35969:25119,35970:25731,35971:28608,35972:38553,35973:26689,35974:20625,35975:27424,35976:27770,35977:28500,35978:31348,35979:32080,35980:34880,35981:35363,35982:26376,35983:20214,35984:20537,35985:20518,35986:20581,35987:20860,35988:21048,35989:21091,35990:21927,35991:22287,35992:22533,35993:23244,35994:24314,35995:25010,35996:25080,35997:25331,35998:25458,35999:26908,36e3:27177,36001:29309,36002:29356,36003:29486,36004:30740,36005:30831,36006:32121,36007:30476,36008:32937,36009:35211,36010:35609,36011:36066,36012:36562,36013:36963,36014:37749,36015:38522,36016:38997,36017:39443,36018:40568,36019:20803,36020:21407,36021:21427,36022:24187,36023:24358,36024:28187,36025:28304,36026:29572,36027:29694,36028:32067,36029:33335,36030:35328,36031:35578,36032:38480,36033:20046,36034:20491,36035:21476,36036:21628,36037:22266,36038:22993,36039:23396,36040:24049,36041:24235,36042:24359,36043:25144,36044:25925,36045:26543,36046:28246,36047:29392,36048:31946,36049:34996,36050:32929,36051:32993,36052:33776,36053:34382,36054:35463,36055:36328,36056:37431,36057:38599,36058:39015,36059:40723,36060:20116,36061:20114,36062:20237,36063:21320,36064:21577,36065:21566,36066:23087,36067:24460,36068:24481,36069:24735,36070:26791,36071:27278,36072:29786,36073:30849,36074:35486,36075:35492,36076:35703,36077:37264,36078:20062,36079:39881,36080:20132,36081:20348,36082:20399,36083:20505,36084:20502,36085:20809,36086:20844,36087:21151,36088:21177,36089:21246,36090:21402,36091:21475,36092:21521,36160:21518,36161:21897,36162:22353,36163:22434,36164:22909,36165:23380,36166:23389,36167:23439,36168:24037,36169:24039,36170:24055,36171:24184,36172:24195,36173:24218,36174:24247,36175:24344,36176:24658,36177:24908,36178:25239,36179:25304,36180:25511,36181:25915,36182:26114,36183:26179,36184:26356,36185:26477,36186:26657,36187:26775,36188:27083,36189:27743,36190:27946,36191:28009,36192:28207,36193:28317,36194:30002,36195:30343,36196:30828,36197:31295,36198:31968,36199:32005,36200:32024,36201:32094,36202:32177,36203:32789,36204:32771,36205:32943,36206:32945,36207:33108,36208:33167,36209:33322,36210:33618,36211:34892,36212:34913,36213:35611,36214:36002,36215:36092,36216:37066,36217:37237,36218:37489,36219:30783,36220:37628,36221:38308,36222:38477,36224:38917,36225:39321,36226:39640,36227:40251,36228:21083,36229:21163,36230:21495,36231:21512,36232:22741,36233:25335,36234:28640,36235:35946,36236:36703,36237:40633,36238:20811,36239:21051,36240:21578,36241:22269,36242:31296,36243:37239,36244:40288,36245:40658,36246:29508,36247:28425,36248:33136,36249:29969,36250:24573,36251:24794,36252:39592,36253:29403,36254:36796,36255:27492,36256:38915,36257:20170,36258:22256,36259:22372,36260:22718,36261:23130,36262:24680,36263:25031,36264:26127,36265:26118,36266:26681,36267:26801,36268:28151,36269:30165,36270:32058,36271:33390,36272:39746,36273:20123,36274:20304,36275:21449,36276:21766,36277:23919,36278:24038,36279:24046,36280:26619,36281:27801,36282:29811,36283:30722,36284:35408,36285:37782,36286:35039,36287:22352,36288:24231,36289:25387,36290:20661,36291:20652,36292:20877,36293:26368,36294:21705,36295:22622,36296:22971,36297:23472,36298:24425,36299:25165,36300:25505,36301:26685,36302:27507,36303:28168,36304:28797,36305:37319,36306:29312,36307:30741,36308:30758,36309:31085,36310:25998,36311:32048,36312:33756,36313:35009,36314:36617,36315:38555,36316:21092,36317:22312,36318:26448,36319:32618,36320:36001,36321:20916,36322:22338,36323:38442,36324:22586,36325:27018,36326:32948,36327:21682,36328:23822,36329:22524,36330:30869,36331:40442,36332:20316,36333:21066,36334:21643,36335:25662,36336:26152,36337:26388,36338:26613,36339:31364,36340:31574,36341:32034,36342:37679,36343:26716,36344:39853,36345:31545,36346:21273,36347:20874,36348:21047,36416:23519,36417:25334,36418:25774,36419:25830,36420:26413,36421:27578,36422:34217,36423:38609,36424:30352,36425:39894,36426:25420,36427:37638,36428:39851,36429:30399,36430:26194,36431:19977,36432:20632,36433:21442,36434:23665,36435:24808,36436:25746,36437:25955,36438:26719,36439:29158,36440:29642,36441:29987,36442:31639,36443:32386,36444:34453,36445:35715,36446:36059,36447:37240,36448:39184,36449:26028,36450:26283,36451:27531,36452:20181,36453:20180,36454:20282,36455:20351,36456:21050,36457:21496,36458:21490,36459:21987,36460:22235,36461:22763,36462:22987,36463:22985,36464:23039,36465:23376,36466:23629,36467:24066,36468:24107,36469:24535,36470:24605,36471:25351,36472:25903,36473:23388,36474:26031,36475:26045,36476:26088,36477:26525,36478:27490,36480:27515,36481:27663,36482:29509,36483:31049,36484:31169,36485:31992,36486:32025,36487:32043,36488:32930,36489:33026,36490:33267,36491:35222,36492:35422,36493:35433,36494:35430,36495:35468,36496:35566,36497:36039,36498:36060,36499:38604,36500:39164,36501:27503,36502:20107,36503:20284,36504:20365,36505:20816,36506:23383,36507:23546,36508:24904,36509:25345,36510:26178,36511:27425,36512:28363,36513:27835,36514:29246,36515:29885,36516:30164,36517:30913,36518:31034,36519:32780,36520:32819,36521:33258,36522:33940,36523:36766,36524:27728,36525:40575,36526:24335,36527:35672,36528:40235,36529:31482,36530:36600,36531:23437,36532:38635,36533:19971,36534:21489,36535:22519,36536:22833,36537:23241,36538:23460,36539:24713,36540:28287,36541:28422,36542:30142,36543:36074,36544:23455,36545:34048,36546:31712,36547:20594,36548:26612,36549:33437,36550:23649,36551:34122,36552:32286,36553:33294,36554:20889,36555:23556,36556:25448,36557:36198,36558:26012,36559:29038,36560:31038,36561:32023,36562:32773,36563:35613,36564:36554,36565:36974,36566:34503,36567:37034,36568:20511,36569:21242,36570:23610,36571:26451,36572:28796,36573:29237,36574:37196,36575:37320,36576:37675,36577:33509,36578:23490,36579:24369,36580:24825,36581:20027,36582:21462,36583:23432,36584:25163,36585:26417,36586:27530,36587:29417,36588:29664,36589:31278,36590:33131,36591:36259,36592:37202,36593:39318,36594:20754,36595:21463,36596:21610,36597:23551,36598:25480,36599:27193,36600:32172,36601:38656,36602:22234,36603:21454,36604:21608,36672:23447,36673:23601,36674:24030,36675:20462,36676:24833,36677:25342,36678:27954,36679:31168,36680:31179,36681:32066,36682:32333,36683:32722,36684:33261,36685:33311,36686:33936,36687:34886,36688:35186,36689:35728,36690:36468,36691:36655,36692:36913,36693:37195,36694:37228,36695:38598,36696:37276,36697:20160,36698:20303,36699:20805,36700:21313,36701:24467,36702:25102,36703:26580,36704:27713,36705:28171,36706:29539,36707:32294,36708:37325,36709:37507,36710:21460,36711:22809,36712:23487,36713:28113,36714:31069,36715:32302,36716:31899,36717:22654,36718:29087,36719:20986,36720:34899,36721:36848,36722:20426,36723:23803,36724:26149,36725:30636,36726:31459,36727:33308,36728:39423,36729:20934,36730:24490,36731:26092,36732:26991,36733:27529,36734:28147,36736:28310,36737:28516,36738:30462,36739:32020,36740:24033,36741:36981,36742:37255,36743:38918,36744:20966,36745:21021,36746:25152,36747:26257,36748:26329,36749:28186,36750:24246,36751:32210,36752:32626,36753:26360,36754:34223,36755:34295,36756:35576,36757:21161,36758:21465,36759:22899,36760:24207,36761:24464,36762:24661,36763:37604,36764:38500,36765:20663,36766:20767,36767:21213,36768:21280,36769:21319,36770:21484,36771:21736,36772:21830,36773:21809,36774:22039,36775:22888,36776:22974,36777:23100,36778:23477,36779:23558,36780:23567,36781:23569,36782:23578,36783:24196,36784:24202,36785:24288,36786:24432,36787:25215,36788:25220,36789:25307,36790:25484,36791:25463,36792:26119,36793:26124,36794:26157,36795:26230,36796:26494,36797:26786,36798:27167,36799:27189,36800:27836,36801:28040,36802:28169,36803:28248,36804:28988,36805:28966,36806:29031,36807:30151,36808:30465,36809:30813,36810:30977,36811:31077,36812:31216,36813:31456,36814:31505,36815:31911,36816:32057,36817:32918,36818:33750,36819:33931,36820:34121,36821:34909,36822:35059,36823:35359,36824:35388,36825:35412,36826:35443,36827:35937,36828:36062,36829:37284,36830:37478,36831:37758,36832:37912,36833:38556,36834:38808,36835:19978,36836:19976,36837:19998,36838:20055,36839:20887,36840:21104,36841:22478,36842:22580,36843:22732,36844:23330,36845:24120,36846:24773,36847:25854,36848:26465,36849:26454,36850:27972,36851:29366,36852:30067,36853:31331,36854:33976,36855:35698,36856:37304,36857:37664,36858:22065,36859:22516,36860:39166,36928:25325,36929:26893,36930:27542,36931:29165,36932:32340,36933:32887,36934:33394,36935:35302,36936:39135,36937:34645,36938:36785,36939:23611,36940:20280,36941:20449,36942:20405,36943:21767,36944:23072,36945:23517,36946:23529,36947:24515,36948:24910,36949:25391,36950:26032,36951:26187,36952:26862,36953:27035,36954:28024,36955:28145,36956:30003,36957:30137,36958:30495,36959:31070,36960:31206,36961:32051,36962:33251,36963:33455,36964:34218,36965:35242,36966:35386,36967:36523,36968:36763,36969:36914,36970:37341,36971:38663,36972:20154,36973:20161,36974:20995,36975:22645,36976:22764,36977:23563,36978:29978,36979:23613,36980:33102,36981:35338,36982:36805,36983:38499,36984:38765,36985:31525,36986:35535,36987:38920,36988:37218,36989:22259,36990:21416,36992:36887,36993:21561,36994:22402,36995:24101,36996:25512,36997:27700,36998:28810,36999:30561,37e3:31883,37001:32736,37002:34928,37003:36930,37004:37204,37005:37648,37006:37656,37007:38543,37008:29790,37009:39620,37010:23815,37011:23913,37012:25968,37013:26530,37014:36264,37015:38619,37016:25454,37017:26441,37018:26905,37019:33733,37020:38935,37021:38592,37022:35070,37023:28548,37024:25722,37025:23544,37026:19990,37027:28716,37028:30045,37029:26159,37030:20932,37031:21046,37032:21218,37033:22995,37034:24449,37035:24615,37036:25104,37037:25919,37038:25972,37039:26143,37040:26228,37041:26866,37042:26646,37043:27491,37044:28165,37045:29298,37046:29983,37047:30427,37048:31934,37049:32854,37050:22768,37051:35069,37052:35199,37053:35488,37054:35475,37055:35531,37056:36893,37057:37266,37058:38738,37059:38745,37060:25993,37061:31246,37062:33030,37063:38587,37064:24109,37065:24796,37066:25114,37067:26021,37068:26132,37069:26512,37070:30707,37071:31309,37072:31821,37073:32318,37074:33034,37075:36012,37076:36196,37077:36321,37078:36447,37079:30889,37080:20999,37081:25305,37082:25509,37083:25666,37084:25240,37085:35373,37086:31363,37087:31680,37088:35500,37089:38634,37090:32118,37091:33292,37092:34633,37093:20185,37094:20808,37095:21315,37096:21344,37097:23459,37098:23554,37099:23574,37100:24029,37101:25126,37102:25159,37103:25776,37104:26643,37105:26676,37106:27849,37107:27973,37108:27927,37109:26579,37110:28508,37111:29006,37112:29053,37113:26059,37114:31359,37115:31661,37116:32218,37184:32330,37185:32680,37186:33146,37187:33307,37188:33337,37189:34214,37190:35438,37191:36046,37192:36341,37193:36984,37194:36983,37195:37549,37196:37521,37197:38275,37198:39854,37199:21069,37200:21892,37201:28472,37202:28982,37203:20840,37204:31109,37205:32341,37206:33203,37207:31950,37208:22092,37209:22609,37210:23720,37211:25514,37212:26366,37213:26365,37214:26970,37215:29401,37216:30095,37217:30094,37218:30990,37219:31062,37220:31199,37221:31895,37222:32032,37223:32068,37224:34311,37225:35380,37226:38459,37227:36961,37228:40736,37229:20711,37230:21109,37231:21452,37232:21474,37233:20489,37234:21930,37235:22766,37236:22863,37237:29245,37238:23435,37239:23652,37240:21277,37241:24803,37242:24819,37243:25436,37244:25475,37245:25407,37246:25531,37248:25805,37249:26089,37250:26361,37251:24035,37252:27085,37253:27133,37254:28437,37255:29157,37256:20105,37257:30185,37258:30456,37259:31379,37260:31967,37261:32207,37262:32156,37263:32865,37264:33609,37265:33624,37266:33900,37267:33980,37268:34299,37269:35013,37270:36208,37271:36865,37272:36973,37273:37783,37274:38684,37275:39442,37276:20687,37277:22679,37278:24974,37279:33235,37280:34101,37281:36104,37282:36896,37283:20419,37284:20596,37285:21063,37286:21363,37287:24687,37288:25417,37289:26463,37290:28204,37291:36275,37292:36895,37293:20439,37294:23646,37295:36042,37296:26063,37297:32154,37298:21330,37299:34966,37300:20854,37301:25539,37302:23384,37303:23403,37304:23562,37305:25613,37306:26449,37307:36956,37308:20182,37309:22810,37310:22826,37311:27760,37312:35409,37313:21822,37314:22549,37315:22949,37316:24816,37317:25171,37318:26561,37319:33333,37320:26965,37321:38464,37322:39364,37323:39464,37324:20307,37325:22534,37326:23550,37327:32784,37328:23729,37329:24111,37330:24453,37331:24608,37332:24907,37333:25140,37334:26367,37335:27888,37336:28382,37337:32974,37338:33151,37339:33492,37340:34955,37341:36024,37342:36864,37343:36910,37344:38538,37345:40667,37346:39899,37347:20195,37348:21488,37349:22823,37350:31532,37351:37261,37352:38988,37353:40441,37354:28381,37355:28711,37356:21331,37357:21828,37358:23429,37359:25176,37360:25246,37361:25299,37362:27810,37363:28655,37364:29730,37365:35351,37366:37944,37367:28609,37368:35582,37369:33592,37370:20967,37371:34552,37372:21482,37440:21481,37441:20294,37442:36948,37443:36784,37444:22890,37445:33073,37446:24061,37447:31466,37448:36799,37449:26842,37450:35895,37451:29432,37452:40008,37453:27197,37454:35504,37455:20025,37456:21336,37457:22022,37458:22374,37459:25285,37460:25506,37461:26086,37462:27470,37463:28129,37464:28251,37465:28845,37466:30701,37467:31471,37468:31658,37469:32187,37470:32829,37471:32966,37472:34507,37473:35477,37474:37723,37475:22243,37476:22727,37477:24382,37478:26029,37479:26262,37480:27264,37481:27573,37482:30007,37483:35527,37484:20516,37485:30693,37486:22320,37487:24347,37488:24677,37489:26234,37490:27744,37491:30196,37492:31258,37493:32622,37494:33268,37495:34584,37496:36933,37497:39347,37498:31689,37499:30044,37500:31481,37501:31569,37502:33988,37504:36880,37505:31209,37506:31378,37507:33590,37508:23265,37509:30528,37510:20013,37511:20210,37512:23449,37513:24544,37514:25277,37515:26172,37516:26609,37517:27880,37518:34411,37519:34935,37520:35387,37521:37198,37522:37619,37523:39376,37524:27159,37525:28710,37526:29482,37527:33511,37528:33879,37529:36015,37530:19969,37531:20806,37532:20939,37533:21899,37534:23541,37535:24086,37536:24115,37537:24193,37538:24340,37539:24373,37540:24427,37541:24500,37542:25074,37543:25361,37544:26274,37545:26397,37546:28526,37547:29266,37548:30010,37549:30522,37550:32884,37551:33081,37552:33144,37553:34678,37554:35519,37555:35548,37556:36229,37557:36339,37558:37530,37559:38263,37560:38914,37561:40165,37562:21189,37563:25431,37564:30452,37565:26389,37566:27784,37567:29645,37568:36035,37569:37806,37570:38515,37571:27941,37572:22684,37573:26894,37574:27084,37575:36861,37576:37786,37577:30171,37578:36890,37579:22618,37580:26626,37581:25524,37582:27131,37583:20291,37584:28460,37585:26584,37586:36795,37587:34086,37588:32180,37589:37716,37590:26943,37591:28528,37592:22378,37593:22775,37594:23340,37595:32044,37596:29226,37597:21514,37598:37347,37599:40372,37600:20141,37601:20302,37602:20572,37603:20597,37604:21059,37605:35998,37606:21576,37607:22564,37608:23450,37609:24093,37610:24213,37611:24237,37612:24311,37613:24351,37614:24716,37615:25269,37616:25402,37617:25552,37618:26799,37619:27712,37620:30855,37621:31118,37622:31243,37623:32224,37624:33351,37625:35330,37626:35558,37627:36420,37628:36883,37696:37048,37697:37165,37698:37336,37699:40718,37700:27877,37701:25688,37702:25826,37703:25973,37704:28404,37705:30340,37706:31515,37707:36969,37708:37841,37709:28346,37710:21746,37711:24505,37712:25764,37713:36685,37714:36845,37715:37444,37716:20856,37717:22635,37718:22825,37719:23637,37720:24215,37721:28155,37722:32399,37723:29980,37724:36028,37725:36578,37726:39003,37727:28857,37728:20253,37729:27583,37730:28593,37731:3e4,37732:38651,37733:20814,37734:21520,37735:22581,37736:22615,37737:22956,37738:23648,37739:24466,37740:26007,37741:26460,37742:28193,37743:30331,37744:33759,37745:36077,37746:36884,37747:37117,37748:37709,37749:30757,37750:30778,37751:21162,37752:24230,37753:22303,37754:22900,37755:24594,37756:20498,37757:20826,37758:20908,37760:20941,37761:20992,37762:21776,37763:22612,37764:22616,37765:22871,37766:23445,37767:23798,37768:23947,37769:24764,37770:25237,37771:25645,37772:26481,37773:26691,37774:26812,37775:26847,37776:30423,37777:28120,37778:28271,37779:28059,37780:28783,37781:29128,37782:24403,37783:30168,37784:31095,37785:31561,37786:31572,37787:31570,37788:31958,37789:32113,37790:21040,37791:33891,37792:34153,37793:34276,37794:35342,37795:35588,37796:35910,37797:36367,37798:36867,37799:36879,37800:37913,37801:38518,37802:38957,37803:39472,37804:38360,37805:20685,37806:21205,37807:21516,37808:22530,37809:23566,37810:24999,37811:25758,37812:27934,37813:30643,37814:31461,37815:33012,37816:33796,37817:36947,37818:37509,37819:23776,37820:40199,37821:21311,37822:24471,37823:24499,37824:28060,37825:29305,37826:30563,37827:31167,37828:31716,37829:27602,37830:29420,37831:35501,37832:26627,37833:27233,37834:20984,37835:31361,37836:26932,37837:23626,37838:40182,37839:33515,37840:23493,37841:37193,37842:28702,37843:22136,37844:23663,37845:24775,37846:25958,37847:27788,37848:35930,37849:36929,37850:38931,37851:21585,37852:26311,37853:37389,37854:22856,37855:37027,37856:20869,37857:20045,37858:20970,37859:34201,37860:35598,37861:28760,37862:25466,37863:37707,37864:26978,37865:39348,37866:32260,37867:30071,37868:21335,37869:26976,37870:36575,37871:38627,37872:27741,37873:20108,37874:23612,37875:24336,37876:36841,37877:21250,37878:36049,37879:32905,37880:34425,37881:24319,37882:26085,37883:20083,37884:20837,37952:22914,37953:23615,37954:38894,37955:20219,37956:22922,37957:24525,37958:35469,37959:28641,37960:31152,37961:31074,37962:23527,37963:33905,37964:29483,37965:29105,37966:24180,37967:24565,37968:25467,37969:25754,37970:29123,37971:31896,37972:20035,37973:24316,37974:20043,37975:22492,37976:22178,37977:24745,37978:28611,37979:32013,37980:33021,37981:33075,37982:33215,37983:36786,37984:35223,37985:34468,37986:24052,37987:25226,37988:25773,37989:35207,37990:26487,37991:27874,37992:27966,37993:29750,37994:30772,37995:23110,37996:32629,37997:33453,37998:39340,37999:20467,38e3:24259,38001:25309,38002:25490,38003:25943,38004:26479,38005:30403,38006:29260,38007:32972,38008:32954,38009:36649,38010:37197,38011:20493,38012:22521,38013:23186,38014:26757,38016:26995,38017:29028,38018:29437,38019:36023,38020:22770,38021:36064,38022:38506,38023:36889,38024:34687,38025:31204,38026:30695,38027:33833,38028:20271,38029:21093,38030:21338,38031:25293,38032:26575,38033:27850,38034:30333,38035:31636,38036:31893,38037:33334,38038:34180,38039:36843,38040:26333,38041:28448,38042:29190,38043:32283,38044:33707,38045:39361,38046:40614,38047:20989,38048:31665,38049:30834,38050:31672,38051:32903,38052:31560,38053:27368,38054:24161,38055:32908,38056:30033,38057:30048,38058:20843,38059:37474,38060:28300,38061:30330,38062:37271,38063:39658,38064:20240,38065:32624,38066:25244,38067:31567,38068:38309,38069:40169,38070:22138,38071:22617,38072:34532,38073:38588,38074:20276,38075:21028,38076:21322,38077:21453,38078:21467,38079:24070,38080:25644,38081:26001,38082:26495,38083:27710,38084:27726,38085:29256,38086:29359,38087:29677,38088:30036,38089:32321,38090:33324,38091:34281,38092:36009,38093:31684,38094:37318,38095:29033,38096:38930,38097:39151,38098:25405,38099:26217,38100:30058,38101:30436,38102:30928,38103:34115,38104:34542,38105:21290,38106:21329,38107:21542,38108:22915,38109:24199,38110:24444,38111:24754,38112:25161,38113:25209,38114:25259,38115:26e3,38116:27604,38117:27852,38118:30130,38119:30382,38120:30865,38121:31192,38122:32203,38123:32631,38124:32933,38125:34987,38126:35513,38127:36027,38128:36991,38129:38750,38130:39131,38131:27147,38132:31800,38133:20633,38134:23614,38135:24494,38136:26503,38137:27608,38138:29749,38139:30473,38140:32654,38208:40763,38209:26570,38210:31255,38211:21305,38212:30091,38213:39661,38214:24422,38215:33181,38216:33777,38217:32920,38218:24380,38219:24517,38220:30050,38221:31558,38222:36924,38223:26727,38224:23019,38225:23195,38226:32016,38227:30334,38228:35628,38229:20469,38230:24426,38231:27161,38232:27703,38233:28418,38234:29922,38235:31080,38236:34920,38237:35413,38238:35961,38239:24287,38240:25551,38241:30149,38242:31186,38243:33495,38244:37672,38245:37618,38246:33948,38247:34541,38248:39981,38249:21697,38250:24428,38251:25996,38252:27996,38253:28693,38254:36007,38255:36051,38256:38971,38257:25935,38258:29942,38259:19981,38260:20184,38261:22496,38262:22827,38263:23142,38264:23500,38265:20904,38266:24067,38267:24220,38268:24598,38269:25206,38270:25975,38272:26023,38273:26222,38274:28014,38275:29238,38276:31526,38277:33104,38278:33178,38279:33433,38280:35676,38281:36e3,38282:36070,38283:36212,38284:38428,38285:38468,38286:20398,38287:25771,38288:27494,38289:33310,38290:33889,38291:34154,38292:37096,38293:23553,38294:26963,38295:39080,38296:33914,38297:34135,38298:20239,38299:21103,38300:24489,38301:24133,38302:26381,38303:31119,38304:33145,38305:35079,38306:35206,38307:28149,38308:24343,38309:25173,38310:27832,38311:20175,38312:29289,38313:39826,38314:20998,38315:21563,38316:22132,38317:22707,38318:24996,38319:25198,38320:28954,38321:22894,38322:31881,38323:31966,38324:32027,38325:38640,38326:25991,38327:32862,38328:19993,38329:20341,38330:20853,38331:22592,38332:24163,38333:24179,38334:24330,38335:26564,38336:20006,38337:34109,38338:38281,38339:38491,38340:31859,38341:38913,38342:20731,38343:22721,38344:30294,38345:30887,38346:21029,38347:30629,38348:34065,38349:31622,38350:20559,38351:22793,38352:29255,38353:31687,38354:32232,38355:36794,38356:36820,38357:36941,38358:20415,38359:21193,38360:23081,38361:24321,38362:38829,38363:20445,38364:33303,38365:37610,38366:22275,38367:25429,38368:27497,38369:29995,38370:35036,38371:36628,38372:31298,38373:21215,38374:22675,38375:24917,38376:25098,38377:26286,38378:27597,38379:31807,38380:33769,38381:20515,38382:20472,38383:21253,38384:21574,38385:22577,38386:22857,38387:23453,38388:23792,38389:23791,38390:23849,38391:24214,38392:25265,38393:25447,38394:25918,38395:26041,38396:26379,38464:27861,38465:27873,38466:28921,38467:30770,38468:32299,38469:32990,38470:33459,38471:33804,38472:34028,38473:34562,38474:35090,38475:35370,38476:35914,38477:37030,38478:37586,38479:39165,38480:40179,38481:40300,38482:20047,38483:20129,38484:20621,38485:21078,38486:22346,38487:22952,38488:24125,38489:24536,38490:24537,38491:25151,38492:26292,38493:26395,38494:26576,38495:26834,38496:20882,38497:32033,38498:32938,38499:33192,38500:35584,38501:35980,38502:36031,38503:37502,38504:38450,38505:21536,38506:38956,38507:21271,38508:20693,38509:21340,38510:22696,38511:25778,38512:26420,38513:29287,38514:30566,38515:31302,38516:37350,38517:21187,38518:27809,38519:27526,38520:22528,38521:24140,38522:22868,38523:26412,38524:32763,38525:20961,38526:30406,38528:25705,38529:30952,38530:39764,38531:40635,38532:22475,38533:22969,38534:26151,38535:26522,38536:27598,38537:21737,38538:27097,38539:24149,38540:33180,38541:26517,38542:39850,38543:26622,38544:40018,38545:26717,38546:20134,38547:20451,38548:21448,38549:25273,38550:26411,38551:27819,38552:36804,38553:20397,38554:32365,38555:40639,38556:19975,38557:24930,38558:28288,38559:28459,38560:34067,38561:21619,38562:26410,38563:39749,38564:24051,38565:31637,38566:23724,38567:23494,38568:34588,38569:28234,38570:34001,38571:31252,38572:33032,38573:22937,38574:31885,38575:27665,38576:30496,38577:21209,38578:22818,38579:28961,38580:29279,38581:30683,38582:38695,38583:40289,38584:26891,38585:23167,38586:23064,38587:20901,38588:21517,38589:21629,38590:26126,38591:30431,38592:36855,38593:37528,38594:40180,38595:23018,38596:29277,38597:28357,38598:20813,38599:26825,38600:32191,38601:32236,38602:38754,38603:40634,38604:25720,38605:27169,38606:33538,38607:22916,38608:23391,38609:27611,38610:29467,38611:30450,38612:32178,38613:32791,38614:33945,38615:20786,38616:26408,38617:40665,38618:30446,38619:26466,38620:21247,38621:39173,38622:23588,38623:25147,38624:31870,38625:36016,38626:21839,38627:24758,38628:32011,38629:38272,38630:21249,38631:20063,38632:20918,38633:22812,38634:29242,38635:32822,38636:37326,38637:24357,38638:30690,38639:21380,38640:24441,38641:32004,38642:34220,38643:35379,38644:36493,38645:38742,38646:26611,38647:34222,38648:37971,38649:24841,38650:24840,38651:27833,38652:30290,38720:35565,38721:36664,38722:21807,38723:20305,38724:20778,38725:21191,38726:21451,38727:23461,38728:24189,38729:24736,38730:24962,38731:25558,38732:26377,38733:26586,38734:28263,38735:28044,38736:29494,38737:29495,38738:30001,38739:31056,38740:35029,38741:35480,38742:36938,38743:37009,38744:37109,38745:38596,38746:34701,38747:22805,38748:20104,38749:20313,38750:19982,38751:35465,38752:36671,38753:38928,38754:20653,38755:24188,38756:22934,38757:23481,38758:24248,38759:25562,38760:25594,38761:25793,38762:26332,38763:26954,38764:27096,38765:27915,38766:28342,38767:29076,38768:29992,38769:31407,38770:32650,38771:32768,38772:33865,38773:33993,38774:35201,38775:35617,38776:36362,38777:36965,38778:38525,38779:39178,38780:24958,38781:25233,38782:27442,38784:27779,38785:28020,38786:32716,38787:32764,38788:28096,38789:32645,38790:34746,38791:35064,38792:26469,38793:33713,38794:38972,38795:38647,38796:27931,38797:32097,38798:33853,38799:37226,38800:20081,38801:21365,38802:23888,38803:27396,38804:28651,38805:34253,38806:34349,38807:35239,38808:21033,38809:21519,38810:23653,38811:26446,38812:26792,38813:29702,38814:29827,38815:30178,38816:35023,38817:35041,38818:37324,38819:38626,38820:38520,38821:24459,38822:29575,38823:31435,38824:33870,38825:25504,38826:30053,38827:21129,38828:27969,38829:28316,38830:29705,38831:30041,38832:30827,38833:31890,38834:38534,38835:31452,38836:40845,38837:20406,38838:24942,38839:26053,38840:34396,38841:20102,38842:20142,38843:20698,38844:20001,38845:20940,38846:23534,38847:26009,38848:26753,38849:28092,38850:29471,38851:30274,38852:30637,38853:31260,38854:31975,38855:33391,38856:35538,38857:36988,38858:37327,38859:38517,38860:38936,38861:21147,38862:32209,38863:20523,38864:21400,38865:26519,38866:28107,38867:29136,38868:29747,38869:33256,38870:36650,38871:38563,38872:40023,38873:40607,38874:29792,38875:22593,38876:28057,38877:32047,38878:39006,38879:20196,38880:20278,38881:20363,38882:20919,38883:21169,38884:23994,38885:24604,38886:29618,38887:31036,38888:33491,38889:37428,38890:38583,38891:38646,38892:38666,38893:40599,38894:40802,38895:26278,38896:27508,38897:21015,38898:21155,38899:28872,38900:35010,38901:24265,38902:24651,38903:24976,38904:28451,38905:29001,38906:31806,38907:32244,38908:32879,38976:34030,38977:36899,38978:37676,38979:21570,38980:39791,38981:27347,38982:28809,38983:36034,38984:36335,38985:38706,38986:21172,38987:23105,38988:24266,38989:24324,38990:26391,38991:27004,38992:27028,38993:28010,38994:28431,38995:29282,38996:29436,38997:31725,38998:32769,38999:32894,39e3:34635,39001:37070,39002:20845,39003:40595,39004:31108,39005:32907,39006:37682,39007:35542,39008:20525,39009:21644,39010:35441,39011:27498,39012:36036,39013:33031,39014:24785,39015:26528,39016:40434,39017:20121,39018:20120,39019:39952,39020:35435,39021:34241,39022:34152,39023:26880,39024:28286,39025:30871,39026:33109,39071:24332,39072:19984,39073:19989,39074:20010,39075:20017,39076:20022,39077:20028,39078:20031,39079:20034,39080:20054,39081:20056,39082:20098,39083:20101,39084:35947,39085:20106,39086:33298,39087:24333,39088:20110,39089:20126,39090:20127,39091:20128,39092:20130,39093:20144,39094:20147,39095:20150,39096:20174,39097:20173,39098:20164,39099:20166,39100:20162,39101:20183,39102:20190,39103:20205,39104:20191,39105:20215,39106:20233,39107:20314,39108:20272,39109:20315,39110:20317,39111:20311,39112:20295,39113:20342,39114:20360,39115:20367,39116:20376,39117:20347,39118:20329,39119:20336,39120:20369,39121:20335,39122:20358,39123:20374,39124:20760,39125:20436,39126:20447,39127:20430,39128:20440,39129:20443,39130:20433,39131:20442,39132:20432,39133:20452,39134:20453,39135:20506,39136:20520,39137:20500,39138:20522,39139:20517,39140:20485,39141:20252,39142:20470,39143:20513,39144:20521,39145:20524,39146:20478,39147:20463,39148:20497,39149:20486,39150:20547,39151:20551,39152:26371,39153:20565,39154:20560,39155:20552,39156:20570,39157:20566,39158:20588,39159:20600,39160:20608,39161:20634,39162:20613,39163:20660,39164:20658,39232:20681,39233:20682,39234:20659,39235:20674,39236:20694,39237:20702,39238:20709,39239:20717,39240:20707,39241:20718,39242:20729,39243:20725,39244:20745,39245:20737,39246:20738,39247:20758,39248:20757,39249:20756,39250:20762,39251:20769,39252:20794,39253:20791,39254:20796,39255:20795,39256:20799,39257:20800,39258:20818,39259:20812,39260:20820,39261:20834,39262:31480,39263:20841,39264:20842,39265:20846,39266:20864,39267:20866,39268:22232,39269:20876,39270:20873,39271:20879,39272:20881,39273:20883,39274:20885,39275:20886,39276:20900,39277:20902,39278:20898,39279:20905,39280:20906,39281:20907,39282:20915,39283:20913,39284:20914,39285:20912,39286:20917,39287:20925,39288:20933,39289:20937,39290:20955,39291:20960,39292:34389,39293:20969,39294:20973,39296:20976,39297:20981,39298:20990,39299:20996,39300:21003,39301:21012,39302:21006,39303:21031,39304:21034,39305:21038,39306:21043,39307:21049,39308:21071,39309:21060,39310:21067,39311:21068,39312:21086,39313:21076,39314:21098,39315:21108,39316:21097,39317:21107,39318:21119,39319:21117,39320:21133,39321:21140,39322:21138,39323:21105,39324:21128,39325:21137,39326:36776,39327:36775,39328:21164,39329:21165,39330:21180,39331:21173,39332:21185,39333:21197,39334:21207,39335:21214,39336:21219,39337:21222,39338:39149,39339:21216,39340:21235,39341:21237,39342:21240,39343:21241,39344:21254,39345:21256,39346:30008,39347:21261,39348:21264,39349:21263,39350:21269,39351:21274,39352:21283,39353:21295,39354:21297,39355:21299,39356:21304,39357:21312,39358:21318,39359:21317,39360:19991,39361:21321,39362:21325,39363:20950,39364:21342,39365:21353,39366:21358,39367:22808,39368:21371,39369:21367,39370:21378,39371:21398,39372:21408,39373:21414,39374:21413,39375:21422,39376:21424,39377:21430,39378:21443,39379:31762,39380:38617,39381:21471,39382:26364,39383:29166,39384:21486,39385:21480,39386:21485,39387:21498,39388:21505,39389:21565,39390:21568,39391:21548,39392:21549,39393:21564,39394:21550,39395:21558,39396:21545,39397:21533,39398:21582,39399:21647,39400:21621,39401:21646,39402:21599,39403:21617,39404:21623,39405:21616,39406:21650,39407:21627,39408:21632,39409:21622,39410:21636,39411:21648,39412:21638,39413:21703,39414:21666,39415:21688,39416:21669,39417:21676,39418:21700,39419:21704,39420:21672,39488:21675,39489:21698,39490:21668,39491:21694,39492:21692,39493:21720,39494:21733,39495:21734,39496:21775,39497:21780,39498:21757,39499:21742,39500:21741,39501:21754,39502:21730,39503:21817,39504:21824,39505:21859,39506:21836,39507:21806,39508:21852,39509:21829,39510:21846,39511:21847,39512:21816,39513:21811,39514:21853,39515:21913,39516:21888,39517:21679,39518:21898,39519:21919,39520:21883,39521:21886,39522:21912,39523:21918,39524:21934,39525:21884,39526:21891,39527:21929,39528:21895,39529:21928,39530:21978,39531:21957,39532:21983,39533:21956,39534:21980,39535:21988,39536:21972,39537:22036,39538:22007,39539:22038,39540:22014,39541:22013,39542:22043,39543:22009,39544:22094,39545:22096,39546:29151,39547:22068,39548:22070,39549:22066,39550:22072,39552:22123,39553:22116,39554:22063,39555:22124,39556:22122,39557:22150,39558:22144,39559:22154,39560:22176,39561:22164,39562:22159,39563:22181,39564:22190,39565:22198,39566:22196,39567:22210,39568:22204,39569:22209,39570:22211,39571:22208,39572:22216,39573:22222,39574:22225,39575:22227,39576:22231,39577:22254,39578:22265,39579:22272,39580:22271,39581:22276,39582:22281,39583:22280,39584:22283,39585:22285,39586:22291,39587:22296,39588:22294,39589:21959,39590:22300,39591:22310,39592:22327,39593:22328,39594:22350,39595:22331,39596:22336,39597:22351,39598:22377,39599:22464,39600:22408,39601:22369,39602:22399,39603:22409,39604:22419,39605:22432,39606:22451,39607:22436,39608:22442,39609:22448,39610:22467,39611:22470,39612:22484,39613:22482,39614:22483,39615:22538,39616:22486,39617:22499,39618:22539,39619:22553,39620:22557,39621:22642,39622:22561,39623:22626,39624:22603,39625:22640,39626:27584,39627:22610,39628:22589,39629:22649,39630:22661,39631:22713,39632:22687,39633:22699,39634:22714,39635:22750,39636:22715,39637:22712,39638:22702,39639:22725,39640:22739,39641:22737,39642:22743,39643:22745,39644:22744,39645:22757,39646:22748,39647:22756,39648:22751,39649:22767,39650:22778,39651:22777,39652:22779,39653:22780,39654:22781,39655:22786,39656:22794,39657:22800,39658:22811,39659:26790,39660:22821,39661:22828,39662:22829,39663:22834,39664:22840,39665:22846,39666:31442,39667:22869,39668:22864,39669:22862,39670:22874,39671:22872,39672:22882,39673:22880,39674:22887,39675:22892,39676:22889,39744:22904,39745:22913,39746:22941,39747:20318,39748:20395,39749:22947,39750:22962,39751:22982,39752:23016,39753:23004,39754:22925,39755:23001,39756:23002,39757:23077,39758:23071,39759:23057,39760:23068,39761:23049,39762:23066,39763:23104,39764:23148,39765:23113,39766:23093,39767:23094,39768:23138,39769:23146,39770:23194,39771:23228,39772:23230,39773:23243,39774:23234,39775:23229,39776:23267,39777:23255,39778:23270,39779:23273,39780:23254,39781:23290,39782:23291,39783:23308,39784:23307,39785:23318,39786:23346,39787:23248,39788:23338,39789:23350,39790:23358,39791:23363,39792:23365,39793:23360,39794:23377,39795:23381,39796:23386,39797:23387,39798:23397,39799:23401,39800:23408,39801:23411,39802:23413,39803:23416,39804:25992,39805:23418,39806:23424,39808:23427,39809:23462,39810:23480,39811:23491,39812:23495,39813:23497,39814:23508,39815:23504,39816:23524,39817:23526,39818:23522,39819:23518,39820:23525,39821:23531,39822:23536,39823:23542,39824:23539,39825:23557,39826:23559,39827:23560,39828:23565,39829:23571,39830:23584,39831:23586,39832:23592,39833:23608,39834:23609,39835:23617,39836:23622,39837:23630,39838:23635,39839:23632,39840:23631,39841:23409,39842:23660,39843:23662,39844:20066,39845:23670,39846:23673,39847:23692,39848:23697,39849:23700,39850:22939,39851:23723,39852:23739,39853:23734,39854:23740,39855:23735,39856:23749,39857:23742,39858:23751,39859:23769,39860:23785,39861:23805,39862:23802,39863:23789,39864:23948,39865:23786,39866:23819,39867:23829,39868:23831,39869:23900,39870:23839,39871:23835,39872:23825,39873:23828,39874:23842,39875:23834,39876:23833,39877:23832,39878:23884,39879:23890,39880:23886,39881:23883,39882:23916,39883:23923,39884:23926,39885:23943,39886:23940,39887:23938,39888:23970,39889:23965,39890:23980,39891:23982,39892:23997,39893:23952,39894:23991,39895:23996,39896:24009,39897:24013,39898:24019,39899:24018,39900:24022,39901:24027,39902:24043,39903:24050,39904:24053,39905:24075,39906:24090,39907:24089,39908:24081,39909:24091,39910:24118,39911:24119,39912:24132,39913:24131,39914:24128,39915:24142,39916:24151,39917:24148,39918:24159,39919:24162,39920:24164,39921:24135,39922:24181,39923:24182,39924:24186,39925:40636,39926:24191,39927:24224,39928:24257,39929:24258,39930:24264,39931:24272,39932:24271,4e4:24278,40001:24291,40002:24285,40003:24282,40004:24283,40005:24290,40006:24289,40007:24296,40008:24297,40009:24300,40010:24305,40011:24307,40012:24304,40013:24308,40014:24312,40015:24318,40016:24323,40017:24329,40018:24413,40019:24412,40020:24331,40021:24337,40022:24342,40023:24361,40024:24365,40025:24376,40026:24385,40027:24392,40028:24396,40029:24398,40030:24367,40031:24401,40032:24406,40033:24407,40034:24409,40035:24417,40036:24429,40037:24435,40038:24439,40039:24451,40040:24450,40041:24447,40042:24458,40043:24456,40044:24465,40045:24455,40046:24478,40047:24473,40048:24472,40049:24480,40050:24488,40051:24493,40052:24508,40053:24534,40054:24571,40055:24548,40056:24568,40057:24561,40058:24541,40059:24755,40060:24575,40061:24609,40062:24672,40064:24601,40065:24592,40066:24617,40067:24590,40068:24625,40069:24603,40070:24597,40071:24619,40072:24614,40073:24591,40074:24634,40075:24666,40076:24641,40077:24682,40078:24695,40079:24671,40080:24650,40081:24646,40082:24653,40083:24675,40084:24643,40085:24676,40086:24642,40087:24684,40088:24683,40089:24665,40090:24705,40091:24717,40092:24807,40093:24707,40094:24730,40095:24708,40096:24731,40097:24726,40098:24727,40099:24722,40100:24743,40101:24715,40102:24801,40103:24760,40104:24800,40105:24787,40106:24756,40107:24560,40108:24765,40109:24774,40110:24757,40111:24792,40112:24909,40113:24853,40114:24838,40115:24822,40116:24823,40117:24832,40118:24820,40119:24826,40120:24835,40121:24865,40122:24827,40123:24817,40124:24845,40125:24846,40126:24903,40127:24894,40128:24872,40129:24871,40130:24906,40131:24895,40132:24892,40133:24876,40134:24884,40135:24893,40136:24898,40137:24900,40138:24947,40139:24951,40140:24920,40141:24921,40142:24922,40143:24939,40144:24948,40145:24943,40146:24933,40147:24945,40148:24927,40149:24925,40150:24915,40151:24949,40152:24985,40153:24982,40154:24967,40155:25004,40156:24980,40157:24986,40158:24970,40159:24977,40160:25003,40161:25006,40162:25036,40163:25034,40164:25033,40165:25079,40166:25032,40167:25027,40168:25030,40169:25018,40170:25035,40171:32633,40172:25037,40173:25062,40174:25059,40175:25078,40176:25082,40177:25076,40178:25087,40179:25085,40180:25084,40181:25086,40182:25088,40183:25096,40184:25097,40185:25101,40186:25100,40187:25108,40188:25115,40256:25118,40257:25121,40258:25130,40259:25134,40260:25136,40261:25138,40262:25139,40263:25153,40264:25166,40265:25182,40266:25187,40267:25179,40268:25184,40269:25192,40270:25212,40271:25218,40272:25225,40273:25214,40274:25234,40275:25235,40276:25238,40277:25300,40278:25219,40279:25236,40280:25303,40281:25297,40282:25275,40283:25295,40284:25343,40285:25286,40286:25812,40287:25288,40288:25308,40289:25292,40290:25290,40291:25282,40292:25287,40293:25243,40294:25289,40295:25356,40296:25326,40297:25329,40298:25383,40299:25346,40300:25352,40301:25327,40302:25333,40303:25424,40304:25406,40305:25421,40306:25628,40307:25423,40308:25494,40309:25486,40310:25472,40311:25515,40312:25462,40313:25507,40314:25487,40315:25481,40316:25503,40317:25525,40318:25451,40320:25449,40321:25534,40322:25577,40323:25536,40324:25542,40325:25571,40326:25545,40327:25554,40328:25590,40329:25540,40330:25622,40331:25652,40332:25606,40333:25619,40334:25638,40335:25654,40336:25885,40337:25623,40338:25640,40339:25615,40340:25703,40341:25711,40342:25718,40343:25678,40344:25898,40345:25749,40346:25747,40347:25765,40348:25769,40349:25736,40350:25788,40351:25818,40352:25810,40353:25797,40354:25799,40355:25787,40356:25816,40357:25794,40358:25841,40359:25831,40360:33289,40361:25824,40362:25825,40363:25260,40364:25827,40365:25839,40366:25900,40367:25846,40368:25844,40369:25842,40370:25850,40371:25856,40372:25853,40373:25880,40374:25884,40375:25861,40376:25892,40377:25891,40378:25899,40379:25908,40380:25909,40381:25911,40382:25910,40383:25912,40384:30027,40385:25928,40386:25942,40387:25941,40388:25933,40389:25944,40390:25950,40391:25949,40392:25970,40393:25976,40394:25986,40395:25987,40396:35722,40397:26011,40398:26015,40399:26027,40400:26039,40401:26051,40402:26054,40403:26049,40404:26052,40405:26060,40406:26066,40407:26075,40408:26073,40409:26080,40410:26081,40411:26097,40412:26482,40413:26122,40414:26115,40415:26107,40416:26483,40417:26165,40418:26166,40419:26164,40420:26140,40421:26191,40422:26180,40423:26185,40424:26177,40425:26206,40426:26205,40427:26212,40428:26215,40429:26216,40430:26207,40431:26210,40432:26224,40433:26243,40434:26248,40435:26254,40436:26249,40437:26244,40438:26264,40439:26269,40440:26305,40441:26297,40442:26313,40443:26302,40444:26300,40512:26308,40513:26296,40514:26326,40515:26330,40516:26336,40517:26175,40518:26342,40519:26345,40520:26352,40521:26357,40522:26359,40523:26383,40524:26390,40525:26398,40526:26406,40527:26407,40528:38712,40529:26414,40530:26431,40531:26422,40532:26433,40533:26424,40534:26423,40535:26438,40536:26462,40537:26464,40538:26457,40539:26467,40540:26468,40541:26505,40542:26480,40543:26537,40544:26492,40545:26474,40546:26508,40547:26507,40548:26534,40549:26529,40550:26501,40551:26551,40552:26607,40553:26548,40554:26604,40555:26547,40556:26601,40557:26552,40558:26596,40559:26590,40560:26589,40561:26594,40562:26606,40563:26553,40564:26574,40565:26566,40566:26599,40567:27292,40568:26654,40569:26694,40570:26665,40571:26688,40572:26701,40573:26674,40574:26702,40576:26803,40577:26667,40578:26713,40579:26723,40580:26743,40581:26751,40582:26783,40583:26767,40584:26797,40585:26772,40586:26781,40587:26779,40588:26755,40589:27310,40590:26809,40591:26740,40592:26805,40593:26784,40594:26810,40595:26895,40596:26765,40597:26750,40598:26881,40599:26826,40600:26888,40601:26840,40602:26914,40603:26918,40604:26849,40605:26892,40606:26829,40607:26836,40608:26855,40609:26837,40610:26934,40611:26898,40612:26884,40613:26839,40614:26851,40615:26917,40616:26873,40617:26848,40618:26863,40619:26920,40620:26922,40621:26906,40622:26915,40623:26913,40624:26822,40625:27001,40626:26999,40627:26972,40628:27e3,40629:26987,40630:26964,40631:27006,40632:26990,40633:26937,40634:26996,40635:26941,40636:26969,40637:26928,40638:26977,40639:26974,40640:26973,40641:27009,40642:26986,40643:27058,40644:27054,40645:27088,40646:27071,40647:27073,40648:27091,40649:27070,40650:27086,40651:23528,40652:27082,40653:27101,40654:27067,40655:27075,40656:27047,40657:27182,40658:27025,40659:27040,40660:27036,40661:27029,40662:27060,40663:27102,40664:27112,40665:27138,40666:27163,40667:27135,40668:27402,40669:27129,40670:27122,40671:27111,40672:27141,40673:27057,40674:27166,40675:27117,40676:27156,40677:27115,40678:27146,40679:27154,40680:27329,40681:27171,40682:27155,40683:27204,40684:27148,40685:27250,40686:27190,40687:27256,40688:27207,40689:27234,40690:27225,40691:27238,40692:27208,40693:27192,40694:27170,40695:27280,40696:27277,40697:27296,40698:27268,40699:27298,40700:27299,40768:27287,40769:34327,40770:27323,40771:27331,40772:27330,40773:27320,40774:27315,40775:27308,40776:27358,40777:27345,40778:27359,40779:27306,40780:27354,40781:27370,40782:27387,40783:27397,40784:34326,40785:27386,40786:27410,40787:27414,40788:39729,40789:27423,40790:27448,40791:27447,40792:30428,40793:27449,40794:39150,40795:27463,40796:27459,40797:27465,40798:27472,40799:27481,40800:27476,40801:27483,40802:27487,40803:27489,40804:27512,40805:27513,40806:27519,40807:27520,40808:27524,40809:27523,40810:27533,40811:27544,40812:27541,40813:27550,40814:27556,40815:27562,40816:27563,40817:27567,40818:27570,40819:27569,40820:27571,40821:27575,40822:27580,40823:27590,40824:27595,40825:27603,40826:27615,40827:27628,40828:27627,40829:27635,40830:27631,40832:40638,40833:27656,40834:27667,40835:27668,40836:27675,40837:27684,40838:27683,40839:27742,40840:27733,40841:27746,40842:27754,40843:27778,40844:27789,40845:27802,40846:27777,40847:27803,40848:27774,40849:27752,40850:27763,40851:27794,40852:27792,40853:27844,40854:27889,40855:27859,40856:27837,40857:27863,40858:27845,40859:27869,40860:27822,40861:27825,40862:27838,40863:27834,40864:27867,40865:27887,40866:27865,40867:27882,40868:27935,40869:34893,40870:27958,40871:27947,40872:27965,40873:27960,40874:27929,40875:27957,40876:27955,40877:27922,40878:27916,40879:28003,40880:28051,40881:28004,40882:27994,40883:28025,40884:27993,40885:28046,40886:28053,40887:28644,40888:28037,40889:28153,40890:28181,40891:28170,40892:28085,40893:28103,40894:28134,40895:28088,40896:28102,40897:28140,40898:28126,40899:28108,40900:28136,40901:28114,40902:28101,40903:28154,40904:28121,40905:28132,40906:28117,40907:28138,40908:28142,40909:28205,40910:28270,40911:28206,40912:28185,40913:28274,40914:28255,40915:28222,40916:28195,40917:28267,40918:28203,40919:28278,40920:28237,40921:28191,40922:28227,40923:28218,40924:28238,40925:28196,40926:28415,40927:28189,40928:28216,40929:28290,40930:28330,40931:28312,40932:28361,40933:28343,40934:28371,40935:28349,40936:28335,40937:28356,40938:28338,40939:28372,40940:28373,40941:28303,40942:28325,40943:28354,40944:28319,40945:28481,40946:28433,40947:28748,40948:28396,40949:28408,40950:28414,40951:28479,40952:28402,40953:28465,40954:28399,40955:28466,40956:28364,161:65377,162:65378,163:65379,164:65380,165:65381,166:65382,167:65383,168:65384,169:65385,170:65386,171:65387,172:65388,173:65389,174:65390,175:65391,176:65392,177:65393,178:65394,179:65395,180:65396,181:65397,182:65398,183:65399,184:65400,185:65401,186:65402,187:65403,188:65404,189:65405,190:65406,191:65407,192:65408,193:65409,194:65410,195:65411,196:65412,197:65413,198:65414,199:65415,200:65416,201:65417,202:65418,203:65419,204:65420,205:65421,206:65422,207:65423,208:65424,209:65425,210:65426,211:65427,212:65428,213:65429,214:65430,215:65431,216:65432,217:65433,218:65434,219:65435,220:65436,221:65437,222:65438,223:65439,57408:28478,57409:28435,57410:28407,57411:28550,57412:28538,57413:28536,57414:28545,57415:28544,57416:28527,57417:28507,57418:28659,57419:28525,57420:28546,57421:28540,57422:28504,57423:28558,57424:28561,57425:28610,57426:28518,57427:28595,57428:28579,57429:28577,57430:28580,57431:28601,57432:28614,57433:28586,57434:28639,57435:28629,57436:28652,57437:28628,57438:28632,57439:28657,57440:28654,57441:28635,57442:28681,57443:28683,57444:28666,57445:28689,57446:28673,57447:28687,57448:28670,57449:28699,57450:28698,57451:28532,57452:28701,57453:28696,57454:28703,57455:28720,57456:28734,57457:28722,57458:28753,57459:28771,57460:28825,57461:28818,57462:28847,57463:28913,57464:28844,57465:28856,57466:28851,57467:28846,57468:28895,57469:28875,57470:28893,57472:28889,57473:28937,57474:28925,57475:28956,57476:28953,57477:29029,57478:29013,57479:29064,57480:29030,57481:29026,57482:29004,57483:29014,57484:29036,57485:29071,57486:29179,57487:29060,57488:29077,57489:29096,57490:29100,57491:29143,57492:29113,57493:29118,57494:29138,57495:29129,57496:29140,57497:29134,57498:29152,57499:29164,57500:29159,57501:29173,57502:29180,57503:29177,57504:29183,57505:29197,57506:29200,57507:29211,57508:29224,57509:29229,57510:29228,57511:29232,57512:29234,57513:29243,57514:29244,57515:29247,57516:29248,57517:29254,57518:29259,57519:29272,57520:29300,57521:29310,57522:29314,57523:29313,57524:29319,57525:29330,57526:29334,57527:29346,57528:29351,57529:29369,57530:29362,57531:29379,57532:29382,57533:29380,57534:29390,57535:29394,57536:29410,57537:29408,57538:29409,57539:29433,57540:29431,57541:20495,57542:29463,57543:29450,57544:29468,57545:29462,57546:29469,57547:29492,57548:29487,57549:29481,57550:29477,57551:29502,57552:29518,57553:29519,57554:40664,57555:29527,57556:29546,57557:29544,57558:29552,57559:29560,57560:29557,57561:29563,57562:29562,57563:29640,57564:29619,57565:29646,57566:29627,57567:29632,57568:29669,57569:29678,57570:29662,57571:29858,57572:29701,57573:29807,57574:29733,57575:29688,57576:29746,57577:29754,57578:29781,57579:29759,57580:29791,57581:29785,57582:29761,57583:29788,57584:29801,57585:29808,57586:29795,57587:29802,57588:29814,57589:29822,57590:29835,57591:29854,57592:29863,57593:29898,57594:29903,57595:29908,57596:29681,57664:29920,57665:29923,57666:29927,57667:29929,57668:29934,57669:29938,57670:29936,57671:29937,57672:29944,57673:29943,57674:29956,57675:29955,57676:29957,57677:29964,57678:29966,57679:29965,57680:29973,57681:29971,57682:29982,57683:29990,57684:29996,57685:30012,57686:30020,57687:30029,57688:30026,57689:30025,57690:30043,57691:30022,57692:30042,57693:30057,57694:30052,57695:30055,57696:30059,57697:30061,57698:30072,57699:30070,57700:30086,57701:30087,57702:30068,57703:30090,57704:30089,57705:30082,57706:30100,57707:30106,57708:30109,57709:30117,57710:30115,57711:30146,57712:30131,57713:30147,57714:30133,57715:30141,57716:30136,57717:30140,57718:30129,57719:30157,57720:30154,57721:30162,57722:30169,57723:30179,57724:30174,57725:30206,57726:30207,57728:30204,57729:30209,57730:30192,57731:30202,57732:30194,57733:30195,57734:30219,57735:30221,57736:30217,57737:30239,57738:30247,57739:30240,57740:30241,57741:30242,57742:30244,57743:30260,57744:30256,57745:30267,57746:30279,57747:30280,57748:30278,57749:30300,57750:30296,57751:30305,57752:30306,57753:30312,57754:30313,57755:30314,57756:30311,57757:30316,57758:30320,57759:30322,57760:30326,57761:30328,57762:30332,57763:30336,57764:30339,57765:30344,57766:30347,57767:30350,57768:30358,57769:30355,57770:30361,57771:30362,57772:30384,57773:30388,57774:30392,57775:30393,57776:30394,57777:30402,57778:30413,57779:30422,57780:30418,57781:30430,57782:30433,57783:30437,57784:30439,57785:30442,57786:34351,57787:30459,57788:30472,57789:30471,57790:30468,57791:30505,57792:30500,57793:30494,57794:30501,57795:30502,57796:30491,57797:30519,57798:30520,57799:30535,57800:30554,57801:30568,57802:30571,57803:30555,57804:30565,57805:30591,57806:30590,57807:30585,57808:30606,57809:30603,57810:30609,57811:30624,57812:30622,57813:30640,57814:30646,57815:30649,57816:30655,57817:30652,57818:30653,57819:30651,57820:30663,57821:30669,57822:30679,57823:30682,57824:30684,57825:30691,57826:30702,57827:30716,57828:30732,57829:30738,57830:31014,57831:30752,57832:31018,57833:30789,57834:30862,57835:30836,57836:30854,57837:30844,57838:30874,57839:30860,57840:30883,57841:30901,57842:30890,57843:30895,57844:30929,57845:30918,57846:30923,57847:30932,57848:30910,57849:30908,57850:30917,57851:30922,57852:30956,57920:30951,57921:30938,57922:30973,57923:30964,57924:30983,57925:30994,57926:30993,57927:31001,57928:31020,57929:31019,57930:31040,57931:31072,57932:31063,57933:31071,57934:31066,57935:31061,57936:31059,57937:31098,57938:31103,57939:31114,57940:31133,57941:31143,57942:40779,57943:31146,57944:31150,57945:31155,57946:31161,57947:31162,57948:31177,57949:31189,57950:31207,57951:31212,57952:31201,57953:31203,57954:31240,57955:31245,57956:31256,57957:31257,57958:31264,57959:31263,57960:31104,57961:31281,57962:31291,57963:31294,57964:31287,57965:31299,57966:31319,57967:31305,57968:31329,57969:31330,57970:31337,57971:40861,57972:31344,57973:31353,57974:31357,57975:31368,57976:31383,57977:31381,57978:31384,57979:31382,57980:31401,57981:31432,57982:31408,57984:31414,57985:31429,57986:31428,57987:31423,57988:36995,57989:31431,57990:31434,57991:31437,57992:31439,57993:31445,57994:31443,57995:31449,57996:31450,57997:31453,57998:31457,57999:31458,58e3:31462,58001:31469,58002:31472,58003:31490,58004:31503,58005:31498,58006:31494,58007:31539,58008:31512,58009:31513,58010:31518,58011:31541,58012:31528,58013:31542,58014:31568,58015:31610,58016:31492,58017:31565,58018:31499,58019:31564,58020:31557,58021:31605,58022:31589,58023:31604,58024:31591,58025:31600,58026:31601,58027:31596,58028:31598,58029:31645,58030:31640,58031:31647,58032:31629,58033:31644,58034:31642,58035:31627,58036:31634,58037:31631,58038:31581,58039:31641,58040:31691,58041:31681,58042:31692,58043:31695,58044:31668,58045:31686,58046:31709,58047:31721,58048:31761,58049:31764,58050:31718,58051:31717,58052:31840,58053:31744,58054:31751,58055:31763,58056:31731,58057:31735,58058:31767,58059:31757,58060:31734,58061:31779,58062:31783,58063:31786,58064:31775,58065:31799,58066:31787,58067:31805,58068:31820,58069:31811,58070:31828,58071:31823,58072:31808,58073:31824,58074:31832,58075:31839,58076:31844,58077:31830,58078:31845,58079:31852,58080:31861,58081:31875,58082:31888,58083:31908,58084:31917,58085:31906,58086:31915,58087:31905,58088:31912,58089:31923,58090:31922,58091:31921,58092:31918,58093:31929,58094:31933,58095:31936,58096:31941,58097:31938,58098:31960,58099:31954,58100:31964,58101:31970,58102:39739,58103:31983,58104:31986,58105:31988,58106:31990,58107:31994,58108:32006,58176:32002,58177:32028,58178:32021,58179:32010,58180:32069,58181:32075,58182:32046,58183:32050,58184:32063,58185:32053,58186:32070,58187:32115,58188:32086,58189:32078,58190:32114,58191:32104,58192:32110,58193:32079,58194:32099,58195:32147,58196:32137,58197:32091,58198:32143,58199:32125,58200:32155,58201:32186,58202:32174,58203:32163,58204:32181,58205:32199,58206:32189,58207:32171,58208:32317,58209:32162,58210:32175,58211:32220,58212:32184,58213:32159,58214:32176,58215:32216,58216:32221,58217:32228,58218:32222,58219:32251,58220:32242,58221:32225,58222:32261,58223:32266,58224:32291,58225:32289,58226:32274,58227:32305,58228:32287,58229:32265,58230:32267,58231:32290,58232:32326,58233:32358,58234:32315,58235:32309,58236:32313,58237:32323,58238:32311,58240:32306,58241:32314,58242:32359,58243:32349,58244:32342,58245:32350,58246:32345,58247:32346,58248:32377,58249:32362,58250:32361,58251:32380,58252:32379,58253:32387,58254:32213,58255:32381,58256:36782,58257:32383,58258:32392,58259:32393,58260:32396,58261:32402,58262:32400,58263:32403,58264:32404,58265:32406,58266:32398,58267:32411,58268:32412,58269:32568,58270:32570,58271:32581,58272:32588,58273:32589,58274:32590,58275:32592,58276:32593,58277:32597,58278:32596,58279:32600,58280:32607,58281:32608,58282:32616,58283:32617,58284:32615,58285:32632,58286:32642,58287:32646,58288:32643,58289:32648,58290:32647,58291:32652,58292:32660,58293:32670,58294:32669,58295:32666,58296:32675,58297:32687,58298:32690,58299:32697,58300:32686,58301:32694,58302:32696,58303:35697,58304:32709,58305:32710,58306:32714,58307:32725,58308:32724,58309:32737,58310:32742,58311:32745,58312:32755,58313:32761,58314:39132,58315:32774,58316:32772,58317:32779,58318:32786,58319:32792,58320:32793,58321:32796,58322:32801,58323:32808,58324:32831,58325:32827,58326:32842,58327:32838,58328:32850,58329:32856,58330:32858,58331:32863,58332:32866,58333:32872,58334:32883,58335:32882,58336:32880,58337:32886,58338:32889,58339:32893,58340:32895,58341:32900,58342:32902,58343:32901,58344:32923,58345:32915,58346:32922,58347:32941,58348:20880,58349:32940,58350:32987,58351:32997,58352:32985,58353:32989,58354:32964,58355:32986,58356:32982,58357:33033,58358:33007,58359:33009,58360:33051,58361:33065,58362:33059,58363:33071,58364:33099,58432:38539,58433:33094,58434:33086,58435:33107,58436:33105,58437:33020,58438:33137,58439:33134,58440:33125,58441:33126,58442:33140,58443:33155,58444:33160,58445:33162,58446:33152,58447:33154,58448:33184,58449:33173,58450:33188,58451:33187,58452:33119,58453:33171,58454:33193,58455:33200,58456:33205,58457:33214,58458:33208,58459:33213,58460:33216,58461:33218,58462:33210,58463:33225,58464:33229,58465:33233,58466:33241,58467:33240,58468:33224,58469:33242,58470:33247,58471:33248,58472:33255,58473:33274,58474:33275,58475:33278,58476:33281,58477:33282,58478:33285,58479:33287,58480:33290,58481:33293,58482:33296,58483:33302,58484:33321,58485:33323,58486:33336,58487:33331,58488:33344,58489:33369,58490:33368,58491:33373,58492:33370,58493:33375,58494:33380,58496:33378,58497:33384,58498:33386,58499:33387,58500:33326,58501:33393,58502:33399,58503:33400,58504:33406,58505:33421,58506:33426,58507:33451,58508:33439,58509:33467,58510:33452,58511:33505,58512:33507,58513:33503,58514:33490,58515:33524,58516:33523,58517:33530,58518:33683,58519:33539,58520:33531,58521:33529,58522:33502,58523:33542,58524:33500,58525:33545,58526:33497,58527:33589,58528:33588,58529:33558,58530:33586,58531:33585,58532:33600,58533:33593,58534:33616,58535:33605,58536:33583,58537:33579,58538:33559,58539:33560,58540:33669,58541:33690,58542:33706,58543:33695,58544:33698,58545:33686,58546:33571,58547:33678,58548:33671,58549:33674,58550:33660,58551:33717,58552:33651,58553:33653,58554:33696,58555:33673,58556:33704,58557:33780,58558:33811,58559:33771,58560:33742,58561:33789,58562:33795,58563:33752,58564:33803,58565:33729,58566:33783,58567:33799,58568:33760,58569:33778,58570:33805,58571:33826,58572:33824,58573:33725,58574:33848,58575:34054,58576:33787,58577:33901,58578:33834,58579:33852,58580:34138,58581:33924,58582:33911,58583:33899,58584:33965,58585:33902,58586:33922,58587:33897,58588:33862,58589:33836,58590:33903,58591:33913,58592:33845,58593:33994,58594:33890,58595:33977,58596:33983,58597:33951,58598:34009,58599:33997,58600:33979,58601:34010,58602:34e3,58603:33985,58604:33990,58605:34006,58606:33953,58607:34081,58608:34047,58609:34036,58610:34071,58611:34072,58612:34092,58613:34079,58614:34069,58615:34068,58616:34044,58617:34112,58618:34147,58619:34136,58620:34120,58688:34113,58689:34306,58690:34123,58691:34133,58692:34176,58693:34212,58694:34184,58695:34193,58696:34186,58697:34216,58698:34157,58699:34196,58700:34203,58701:34282,58702:34183,58703:34204,58704:34167,58705:34174,58706:34192,58707:34249,58708:34234,58709:34255,58710:34233,58711:34256,58712:34261,58713:34269,58714:34277,58715:34268,58716:34297,58717:34314,58718:34323,58719:34315,58720:34302,58721:34298,58722:34310,58723:34338,58724:34330,58725:34352,58726:34367,58727:34381,58728:20053,58729:34388,58730:34399,58731:34407,58732:34417,58733:34451,58734:34467,58735:34473,58736:34474,58737:34443,58738:34444,58739:34486,58740:34479,58741:34500,58742:34502,58743:34480,58744:34505,58745:34851,58746:34475,58747:34516,58748:34526,58749:34537,58750:34540,58752:34527,58753:34523,58754:34543,58755:34578,58756:34566,58757:34568,58758:34560,58759:34563,58760:34555,58761:34577,58762:34569,58763:34573,58764:34553,58765:34570,58766:34612,58767:34623,58768:34615,58769:34619,58770:34597,58771:34601,58772:34586,58773:34656,58774:34655,58775:34680,58776:34636,58777:34638,58778:34676,58779:34647,58780:34664,58781:34670,58782:34649,58783:34643,58784:34659,58785:34666,58786:34821,58787:34722,58788:34719,58789:34690,58790:34735,58791:34763,58792:34749,58793:34752,58794:34768,58795:38614,58796:34731,58797:34756,58798:34739,58799:34759,58800:34758,58801:34747,58802:34799,58803:34802,58804:34784,58805:34831,58806:34829,58807:34814,58808:34806,58809:34807,58810:34830,58811:34770,58812:34833,58813:34838,58814:34837,58815:34850,58816:34849,58817:34865,58818:34870,58819:34873,58820:34855,58821:34875,58822:34884,58823:34882,58824:34898,58825:34905,58826:34910,58827:34914,58828:34923,58829:34945,58830:34942,58831:34974,58832:34933,58833:34941,58834:34997,58835:34930,58836:34946,58837:34967,58838:34962,58839:34990,58840:34969,58841:34978,58842:34957,58843:34980,58844:34992,58845:35007,58846:34993,58847:35011,58848:35012,58849:35028,58850:35032,58851:35033,58852:35037,58853:35065,58854:35074,58855:35068,58856:35060,58857:35048,58858:35058,58859:35076,58860:35084,58861:35082,58862:35091,58863:35139,58864:35102,58865:35109,58866:35114,58867:35115,58868:35137,58869:35140,58870:35131,58871:35126,58872:35128,58873:35148,58874:35101,58875:35168,58876:35166,58944:35174,58945:35172,58946:35181,58947:35178,58948:35183,58949:35188,58950:35191,58951:35198,58952:35203,58953:35208,58954:35210,58955:35219,58956:35224,58957:35233,58958:35241,58959:35238,58960:35244,58961:35247,58962:35250,58963:35258,58964:35261,58965:35263,58966:35264,58967:35290,58968:35292,58969:35293,58970:35303,58971:35316,58972:35320,58973:35331,58974:35350,58975:35344,58976:35340,58977:35355,58978:35357,58979:35365,58980:35382,58981:35393,58982:35419,58983:35410,58984:35398,58985:35400,58986:35452,58987:35437,58988:35436,58989:35426,58990:35461,58991:35458,58992:35460,58993:35496,58994:35489,58995:35473,58996:35493,58997:35494,58998:35482,58999:35491,59e3:35524,59001:35533,59002:35522,59003:35546,59004:35563,59005:35571,59006:35559,59008:35556,59009:35569,59010:35604,59011:35552,59012:35554,59013:35575,59014:35550,59015:35547,59016:35596,59017:35591,59018:35610,59019:35553,59020:35606,59021:35600,59022:35607,59023:35616,59024:35635,59025:38827,59026:35622,59027:35627,59028:35646,59029:35624,59030:35649,59031:35660,59032:35663,59033:35662,59034:35657,59035:35670,59036:35675,59037:35674,59038:35691,59039:35679,59040:35692,59041:35695,59042:35700,59043:35709,59044:35712,59045:35724,59046:35726,59047:35730,59048:35731,59049:35734,59050:35737,59051:35738,59052:35898,59053:35905,59054:35903,59055:35912,59056:35916,59057:35918,59058:35920,59059:35925,59060:35938,59061:35948,59062:35960,59063:35962,59064:35970,59065:35977,59066:35973,59067:35978,59068:35981,59069:35982,59070:35988,59071:35964,59072:35992,59073:25117,59074:36013,59075:36010,59076:36029,59077:36018,59078:36019,59079:36014,59080:36022,59081:36040,59082:36033,59083:36068,59084:36067,59085:36058,59086:36093,59087:36090,59088:36091,59089:36100,59090:36101,59091:36106,59092:36103,59093:36111,59094:36109,59095:36112,59096:40782,59097:36115,59098:36045,59099:36116,59100:36118,59101:36199,59102:36205,59103:36209,59104:36211,59105:36225,59106:36249,59107:36290,59108:36286,59109:36282,59110:36303,59111:36314,59112:36310,59113:36300,59114:36315,59115:36299,59116:36330,59117:36331,59118:36319,59119:36323,59120:36348,59121:36360,59122:36361,59123:36351,59124:36381,59125:36382,59126:36368,59127:36383,59128:36418,59129:36405,59130:36400,59131:36404,59132:36426,59200:36423,59201:36425,59202:36428,59203:36432,59204:36424,59205:36441,59206:36452,59207:36448,59208:36394,59209:36451,59210:36437,59211:36470,59212:36466,59213:36476,59214:36481,59215:36487,59216:36485,59217:36484,59218:36491,59219:36490,59220:36499,59221:36497,59222:36500,59223:36505,59224:36522,59225:36513,59226:36524,59227:36528,59228:36550,59229:36529,59230:36542,59231:36549,59232:36552,59233:36555,59234:36571,59235:36579,59236:36604,59237:36603,59238:36587,59239:36606,59240:36618,59241:36613,59242:36629,59243:36626,59244:36633,59245:36627,59246:36636,59247:36639,59248:36635,59249:36620,59250:36646,59251:36659,59252:36667,59253:36665,59254:36677,59255:36674,59256:36670,59257:36684,59258:36681,59259:36678,59260:36686,59261:36695,59262:36700,59264:36706,59265:36707,59266:36708,59267:36764,59268:36767,59269:36771,59270:36781,59271:36783,59272:36791,59273:36826,59274:36837,59275:36834,59276:36842,59277:36847,59278:36999,59279:36852,59280:36869,59281:36857,59282:36858,59283:36881,59284:36885,59285:36897,59286:36877,59287:36894,59288:36886,59289:36875,59290:36903,59291:36918,59292:36917,59293:36921,59294:36856,59295:36943,59296:36944,59297:36945,59298:36946,59299:36878,59300:36937,59301:36926,59302:36950,59303:36952,59304:36958,59305:36968,59306:36975,59307:36982,59308:38568,59309:36978,59310:36994,59311:36989,59312:36993,59313:36992,59314:37002,59315:37001,59316:37007,59317:37032,59318:37039,59319:37041,59320:37045,59321:37090,59322:37092,59323:25160,59324:37083,59325:37122,59326:37138,59327:37145,59328:37170,59329:37168,59330:37194,59331:37206,59332:37208,59333:37219,59334:37221,59335:37225,59336:37235,59337:37234,59338:37259,59339:37257,59340:37250,59341:37282,59342:37291,59343:37295,59344:37290,59345:37301,59346:37300,59347:37306,59348:37312,59349:37313,59350:37321,59351:37323,59352:37328,59353:37334,59354:37343,59355:37345,59356:37339,59357:37372,59358:37365,59359:37366,59360:37406,59361:37375,59362:37396,59363:37420,59364:37397,59365:37393,59366:37470,59367:37463,59368:37445,59369:37449,59370:37476,59371:37448,59372:37525,59373:37439,59374:37451,59375:37456,59376:37532,59377:37526,59378:37523,59379:37531,59380:37466,59381:37583,59382:37561,59383:37559,59384:37609,59385:37647,59386:37626,59387:37700,59388:37678,59456:37657,59457:37666,59458:37658,59459:37667,59460:37690,59461:37685,59462:37691,59463:37724,59464:37728,59465:37756,59466:37742,59467:37718,59468:37808,59469:37804,59470:37805,59471:37780,59472:37817,59473:37846,59474:37847,59475:37864,59476:37861,59477:37848,59478:37827,59479:37853,59480:37840,59481:37832,59482:37860,59483:37914,59484:37908,59485:37907,59486:37891,59487:37895,59488:37904,59489:37942,59490:37931,59491:37941,59492:37921,59493:37946,59494:37953,59495:37970,59496:37956,59497:37979,59498:37984,59499:37986,59500:37982,59501:37994,59502:37417,59503:38e3,59504:38005,59505:38007,59506:38013,59507:37978,59508:38012,59509:38014,59510:38017,59511:38015,59512:38274,59513:38279,59514:38282,59515:38292,59516:38294,59517:38296,59518:38297,59520:38304,59521:38312,59522:38311,59523:38317,59524:38332,59525:38331,59526:38329,59527:38334,59528:38346,59529:28662,59530:38339,59531:38349,59532:38348,59533:38357,59534:38356,59535:38358,59536:38364,59537:38369,59538:38373,59539:38370,59540:38433,59541:38440,59542:38446,59543:38447,59544:38466,59545:38476,59546:38479,59547:38475,59548:38519,59549:38492,59550:38494,59551:38493,59552:38495,59553:38502,59554:38514,59555:38508,59556:38541,59557:38552,59558:38549,59559:38551,59560:38570,59561:38567,59562:38577,59563:38578,59564:38576,59565:38580,59566:38582,59567:38584,59568:38585,59569:38606,59570:38603,59571:38601,59572:38605,59573:35149,59574:38620,59575:38669,59576:38613,59577:38649,59578:38660,59579:38662,59580:38664,59581:38675,59582:38670,59583:38673,59584:38671,59585:38678,59586:38681,59587:38692,59588:38698,59589:38704,59590:38713,59591:38717,59592:38718,59593:38724,59594:38726,59595:38728,59596:38722,59597:38729,59598:38748,59599:38752,59600:38756,59601:38758,59602:38760,59603:21202,59604:38763,59605:38769,59606:38777,59607:38789,59608:38780,59609:38785,59610:38778,59611:38790,59612:38795,59613:38799,59614:38800,59615:38812,59616:38824,59617:38822,59618:38819,59619:38835,59620:38836,59621:38851,59622:38854,59623:38856,59624:38859,59625:38876,59626:38893,59627:40783,59628:38898,59629:31455,59630:38902,59631:38901,59632:38927,59633:38924,59634:38968,59635:38948,59636:38945,59637:38967,59638:38973,59639:38982,59640:38991,59641:38987,59642:39019,59643:39023,59644:39024,59712:39025,59713:39028,59714:39027,59715:39082,59716:39087,59717:39089,59718:39094,59719:39108,59720:39107,59721:39110,59722:39145,59723:39147,59724:39171,59725:39177,59726:39186,59727:39188,59728:39192,59729:39201,59730:39197,59731:39198,59732:39204,59733:39200,59734:39212,59735:39214,59736:39229,59737:39230,59738:39234,59739:39241,59740:39237,59741:39248,59742:39243,59743:39249,59744:39250,59745:39244,59746:39253,59747:39319,59748:39320,59749:39333,59750:39341,59751:39342,59752:39356,59753:39391,59754:39387,59755:39389,59756:39384,59757:39377,59758:39405,59759:39406,59760:39409,59761:39410,59762:39419,59763:39416,59764:39425,59765:39439,59766:39429,59767:39394,59768:39449,59769:39467,59770:39479,59771:39493,59772:39490,59773:39488,59774:39491,59776:39486,59777:39509,59778:39501,59779:39515,59780:39511,59781:39519,59782:39522,59783:39525,59784:39524,59785:39529,59786:39531,59787:39530,59788:39597,59789:39600,59790:39612,59791:39616,59792:39631,59793:39633,59794:39635,59795:39636,59796:39646,59797:39647,59798:39650,59799:39651,59800:39654,59801:39663,59802:39659,59803:39662,59804:39668,59805:39665,59806:39671,59807:39675,59808:39686,59809:39704,59810:39706,59811:39711,59812:39714,59813:39715,59814:39717,59815:39719,59816:39720,59817:39721,59818:39722,59819:39726,59820:39727,59821:39730,59822:39748,59823:39747,59824:39759,59825:39757,59826:39758,59827:39761,59828:39768,59829:39796,59830:39827,59831:39811,59832:39825,59833:39830,59834:39831,59835:39839,59836:39840,59837:39848,59838:39860,59839:39872,59840:39882,59841:39865,59842:39878,59843:39887,59844:39889,59845:39890,59846:39907,59847:39906,59848:39908,59849:39892,59850:39905,59851:39994,59852:39922,59853:39921,59854:39920,59855:39957,59856:39956,59857:39945,59858:39955,59859:39948,59860:39942,59861:39944,59862:39954,59863:39946,59864:39940,59865:39982,59866:39963,59867:39973,59868:39972,59869:39969,59870:39984,59871:40007,59872:39986,59873:40006,59874:39998,59875:40026,59876:40032,59877:40039,59878:40054,59879:40056,59880:40167,59881:40172,59882:40176,59883:40201,59884:40200,59885:40171,59886:40195,59887:40198,59888:40234,59889:40230,59890:40367,59891:40227,59892:40223,59893:40260,59894:40213,59895:40210,59896:40257,59897:40255,59898:40254,59899:40262,59900:40264,59968:40285,59969:40286,59970:40292,59971:40273,59972:40272,59973:40281,59974:40306,59975:40329,59976:40327,59977:40363,59978:40303,59979:40314,59980:40346,59981:40356,59982:40361,59983:40370,59984:40388,59985:40385,59986:40379,59987:40376,59988:40378,59989:40390,59990:40399,59991:40386,59992:40409,59993:40403,59994:40440,59995:40422,59996:40429,59997:40431,59998:40445,59999:40474,6e4:40475,60001:40478,60002:40565,60003:40569,60004:40573,60005:40577,60006:40584,60007:40587,60008:40588,60009:40594,60010:40597,60011:40593,60012:40605,60013:40613,60014:40617,60015:40632,60016:40618,60017:40621,60018:38753,60019:40652,60020:40654,60021:40655,60022:40656,60023:40660,60024:40668,60025:40670,60026:40669,60027:40672,60028:40677,60029:40680,60030:40687,60032:40692,60033:40694,60034:40695,60035:40697,60036:40699,60037:40700,60038:40701,60039:40711,60040:40712,60041:30391,60042:40725,60043:40737,60044:40748,60045:40766,60046:40778,60047:40786,60048:40788,60049:40803,60050:40799,60051:40800,60052:40801,60053:40806,60054:40807,60055:40812,60056:40810,60057:40823,60058:40818,60059:40822,60060:40853,60061:40860,60062:40864,60063:22575,60064:27079,60065:36953,60066:29796,60067:20956,60068:29081}}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(1),r=n(2);function a(g,p,C,b){var y;p.degree()<C.degree()&&(y=[C,p],p=y[0],C=y[1]);for(var w=p,A=C,P=g.zero,M=g.one;A.degree()>=b/2;){var R=w,T=P;if(w=A,P=M,w.isZero())return null;A=R;for(var V=g.zero,H=w.getCoefficient(w.degree()),X=g.inverse(H);A.degree()>=w.degree()&&!A.isZero();){var se=A.degree()-w.degree(),he=g.multiply(A.getCoefficient(A.degree()),X);V=V.addOrSubtract(g.buildMonomial(se,he)),A=A.addOrSubtract(w.multiplyByMonomial(se,he))}if(M=V.multiplyPoly(P).addOrSubtract(T),A.degree()>=w.degree())return null}var J=M.getCoefficient(0);if(J===0)return null;var de=g.inverse(J);return[M.multiply(de),A.multiply(de)]}function d(g,p){var C=p.degree();if(C===1)return[p.getCoefficient(1)];for(var b=new Array(C),y=0,w=1;w<g.size&&y<C;w++)p.evaluateAt(w)===0&&(b[y]=g.inverse(w),y++);return y!==C?null:b}function u(g,p,C){for(var b=C.length,y=new Array(b),w=0;w<b;w++){for(var A=g.inverse(C[w]),P=1,M=0;M<b;M++)w!==M&&(P=g.multiply(P,s.addOrSubtractGF(1,g.multiply(C[M],A))));y[w]=g.multiply(p.evaluateAt(A),g.inverse(P)),g.generatorBase!==0&&(y[w]=g.multiply(y[w],A))}return y}function f(g,p){var C=new Uint8ClampedArray(g.length);C.set(g);for(var b=new s.default(285,256,0),y=new r.default(b,C),w=new Uint8ClampedArray(p),A=!1,P=0;P<p;P++){var M=y.evaluateAt(b.exp(P+b.generatorBase));w[w.length-1-P]=M,M!==0&&(A=!0)}if(!A)return C;var R=new r.default(b,w),T=a(b,b.buildMonomial(p,1),R,p);if(T===null)return null;var V=d(b,T[0]);if(V==null)return null;for(var H=u(b,T[1],V),X=0;X<V.length;X++){var se=C.length-1-b.log(V[X]);if(se<0)return null;C[se]=s.addOrSubtractGF(C[se],H[X])}return C}i.decode=f}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0}),i.VERSIONS=[{infoBits:null,versionNumber:1,alignmentPatternCenters:[],errorCorrectionLevels:[{ecCodewordsPerBlock:7,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:13,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:13}]},{ecCodewordsPerBlock:17,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:2,alignmentPatternCenters:[6,18],errorCorrectionLevels:[{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:34}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:28}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]}]},{infoBits:null,versionNumber:3,alignmentPatternCenters:[6,22],errorCorrectionLevels:[{ecCodewordsPerBlock:15,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:55}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:13}]}]},{infoBits:null,versionNumber:4,alignmentPatternCenters:[6,26],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:80}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:32}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:5,alignmentPatternCenters:[6,30],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:43}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:11},{numBlocks:2,dataCodewordsPerBlock:12}]}]},{infoBits:null,versionNumber:6,alignmentPatternCenters:[6,34],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:27}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:31892,versionNumber:7,alignmentPatternCenters:[6,22,38],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:78}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:31}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:13},{numBlocks:1,dataCodewordsPerBlock:14}]}]},{infoBits:34236,versionNumber:8,alignmentPatternCenters:[6,24,42],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:97}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:38},{numBlocks:2,dataCodewordsPerBlock:39}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:18},{numBlocks:2,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:14},{numBlocks:2,dataCodewordsPerBlock:15}]}]},{infoBits:39577,versionNumber:9,alignmentPatternCenters:[6,26,46],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:12},{numBlocks:4,dataCodewordsPerBlock:13}]}]},{infoBits:42195,versionNumber:10,alignmentPatternCenters:[6,28,50],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68},{numBlocks:2,dataCodewordsPerBlock:69}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:43},{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]}]},{infoBits:48118,versionNumber:11,alignmentPatternCenters:[6,30,54],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:81}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:50},{numBlocks:4,dataCodewordsPerBlock:51}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:22},{numBlocks:4,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:12},{numBlocks:8,dataCodewordsPerBlock:13}]}]},{infoBits:51042,versionNumber:12,alignmentPatternCenters:[6,32,58],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:92},{numBlocks:2,dataCodewordsPerBlock:93}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:20},{numBlocks:6,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:55367,versionNumber:13,alignmentPatternCenters:[6,34,62],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:37},{numBlocks:1,dataCodewordsPerBlock:38}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:20},{numBlocks:4,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:11},{numBlocks:4,dataCodewordsPerBlock:12}]}]},{infoBits:58893,versionNumber:14,alignmentPatternCenters:[6,26,46,66],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:40},{numBlocks:5,dataCodewordsPerBlock:41}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:16},{numBlocks:5,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:5,dataCodewordsPerBlock:13}]}]},{infoBits:63784,versionNumber:15,alignmentPatternCenters:[6,26,48,70],errorCorrectionLevels:[{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:87},{numBlocks:1,dataCodewordsPerBlock:88}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:41},{numBlocks:5,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:7,dataCodewordsPerBlock:13}]}]},{infoBits:68472,versionNumber:16,alignmentPatternCenters:[6,26,50,74],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:98},{numBlocks:1,dataCodewordsPerBlock:99}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:70749,versionNumber:17,alignmentPatternCenters:[6,30,54,78],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:1,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22},{numBlocks:15,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:17,dataCodewordsPerBlock:15}]}]},{infoBits:76311,versionNumber:18,alignmentPatternCenters:[6,30,56,82],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:120},{numBlocks:1,dataCodewordsPerBlock:121}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:43},{numBlocks:4,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:1,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:19,dataCodewordsPerBlock:15}]}]},{infoBits:79154,versionNumber:19,alignmentPatternCenters:[6,30,58,86],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:113},{numBlocks:4,dataCodewordsPerBlock:114}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:44},{numBlocks:11,dataCodewordsPerBlock:45}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:21},{numBlocks:4,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:13},{numBlocks:16,dataCodewordsPerBlock:14}]}]},{infoBits:84390,versionNumber:20,alignmentPatternCenters:[6,34,62,90],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:41},{numBlocks:13,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:5,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:15},{numBlocks:10,dataCodewordsPerBlock:16}]}]},{infoBits:87683,versionNumber:21,alignmentPatternCenters:[6,28,50,72,94],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:116},{numBlocks:4,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:16},{numBlocks:6,dataCodewordsPerBlock:17}]}]},{infoBits:92361,versionNumber:22,alignmentPatternCenters:[6,26,50,74,98],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:111},{numBlocks:7,dataCodewordsPerBlock:112}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:13}]}]},{infoBits:96236,versionNumber:23,alignmentPatternCenters:[6,30,54,74,102],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:121},{numBlocks:5,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:47},{numBlocks:14,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:16,dataCodewordsPerBlock:15},{numBlocks:14,dataCodewordsPerBlock:16}]}]},{infoBits:102084,versionNumber:24,alignmentPatternCenters:[6,28,54,80,106],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:45},{numBlocks:14,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:30,dataCodewordsPerBlock:16},{numBlocks:2,dataCodewordsPerBlock:17}]}]},{infoBits:102881,versionNumber:25,alignmentPatternCenters:[6,32,58,84,110],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:106},{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:47},{numBlocks:13,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:110507,versionNumber:26,alignmentPatternCenters:[6,30,58,86,114],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:114},{numBlocks:2,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:46},{numBlocks:4,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:28,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:33,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]}]},{infoBits:110734,versionNumber:27,alignmentPatternCenters:[6,34,62,90,118],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:23},{numBlocks:26,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:117786,versionNumber:28,alignmentPatternCenters:[6,26,50,74,98,122],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:117},{numBlocks:10,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:45},{numBlocks:23,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:24},{numBlocks:31,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:31,dataCodewordsPerBlock:16}]}]},{infoBits:119615,versionNumber:29,alignmentPatternCenters:[6,30,54,78,102,126],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:116},{numBlocks:7,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:21,dataCodewordsPerBlock:45},{numBlocks:7,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:23},{numBlocks:37,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:26,dataCodewordsPerBlock:16}]}]},{infoBits:126325,versionNumber:30,alignmentPatternCenters:[6,26,52,78,104,130],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:115},{numBlocks:10,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:47},{numBlocks:10,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:25,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:25,dataCodewordsPerBlock:16}]}]},{infoBits:127568,versionNumber:31,alignmentPatternCenters:[6,30,56,82,108,134],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:3,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:46},{numBlocks:29,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:24},{numBlocks:1,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:133589,versionNumber:32,alignmentPatternCenters:[6,34,60,86,112,138],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:24},{numBlocks:35,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:35,dataCodewordsPerBlock:16}]}]},{infoBits:136944,versionNumber:33,alignmentPatternCenters:[6,30,58,86,114,142],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:21,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:24},{numBlocks:19,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:141498,versionNumber:34,alignmentPatternCenters:[6,34,62,90,118,146],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:6,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:44,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:59,dataCodewordsPerBlock:16},{numBlocks:1,dataCodewordsPerBlock:17}]}]},{infoBits:145311,versionNumber:35,alignmentPatternCenters:[6,30,54,78,102,126,150],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:121},{numBlocks:7,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:47},{numBlocks:26,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:39,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:41,dataCodewordsPerBlock:16}]}]},{infoBits:150283,versionNumber:36,alignmentPatternCenters:[6,24,50,76,102,128,154],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:121},{numBlocks:14,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:47},{numBlocks:34,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:46,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:64,dataCodewordsPerBlock:16}]}]},{infoBits:152622,versionNumber:37,alignmentPatternCenters:[6,28,54,80,106,132,158],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:46},{numBlocks:14,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:49,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:24,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:158308,versionNumber:38,alignmentPatternCenters:[6,32,58,84,110,136,162],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:122},{numBlocks:18,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:46},{numBlocks:32,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:48,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:15},{numBlocks:32,dataCodewordsPerBlock:16}]}]},{infoBits:161089,versionNumber:39,alignmentPatternCenters:[6,26,54,82,110,138,166],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:40,dataCodewordsPerBlock:47},{numBlocks:7,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:43,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:15},{numBlocks:67,dataCodewordsPerBlock:16}]}]},{infoBits:167017,versionNumber:40,alignmentPatternCenters:[6,30,58,86,114,142,170],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:118},{numBlocks:6,dataCodewordsPerBlock:119}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:18,dataCodewordsPerBlock:47},{numBlocks:31,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:24},{numBlocks:34,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:15},{numBlocks:61,dataCodewordsPerBlock:16}]}]}]}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0);function r(f,g,p,C){var b=f.x-g.x+p.x-C.x,y=f.y-g.y+p.y-C.y;if(b===0&&y===0)return{a11:g.x-f.x,a12:g.y-f.y,a13:0,a21:p.x-g.x,a22:p.y-g.y,a23:0,a31:f.x,a32:f.y,a33:1};var w=g.x-p.x,A=C.x-p.x,P=g.y-p.y,M=C.y-p.y,R=w*M-A*P,T=(b*M-A*y)/R,V=(w*y-b*P)/R;return{a11:g.x-f.x+T*g.x,a12:g.y-f.y+T*g.y,a13:T,a21:C.x-f.x+V*C.x,a22:C.y-f.y+V*C.y,a23:V,a31:f.x,a32:f.y,a33:1}}function a(f,g,p,C){var b=r(f,g,p,C);return{a11:b.a22*b.a33-b.a23*b.a32,a12:b.a13*b.a32-b.a12*b.a33,a13:b.a12*b.a23-b.a13*b.a22,a21:b.a23*b.a31-b.a21*b.a33,a22:b.a11*b.a33-b.a13*b.a31,a23:b.a13*b.a21-b.a11*b.a23,a31:b.a21*b.a32-b.a22*b.a31,a32:b.a12*b.a31-b.a11*b.a32,a33:b.a11*b.a22-b.a12*b.a21}}function d(f,g){return{a11:f.a11*g.a11+f.a21*g.a12+f.a31*g.a13,a12:f.a12*g.a11+f.a22*g.a12+f.a32*g.a13,a13:f.a13*g.a11+f.a23*g.a12+f.a33*g.a13,a21:f.a11*g.a21+f.a21*g.a22+f.a31*g.a23,a22:f.a12*g.a21+f.a22*g.a22+f.a32*g.a23,a23:f.a13*g.a21+f.a23*g.a22+f.a33*g.a23,a31:f.a11*g.a31+f.a21*g.a32+f.a31*g.a33,a32:f.a12*g.a31+f.a22*g.a32+f.a32*g.a33,a33:f.a13*g.a31+f.a23*g.a32+f.a33*g.a33}}function u(f,g){for(var p=a({x:3.5,y:3.5},{x:g.dimension-3.5,y:3.5},{x:g.dimension-6.5,y:g.dimension-6.5},{x:3.5,y:g.dimension-3.5}),C=r(g.topLeft,g.topRight,g.alignmentPattern,g.bottomLeft),b=d(C,p),y=s.BitMatrix.createEmpty(g.dimension,g.dimension),w=function(V,H){var X=b.a13*V+b.a23*H+b.a33;return{x:(b.a11*V+b.a21*H+b.a31)/X,y:(b.a12*V+b.a22*H+b.a32)/X}},A=0;A<g.dimension;A++)for(var P=0;P<g.dimension;P++){var M=P+.5,R=A+.5,T=w(M,R);y.set(P,A,f.get(Math.floor(T.x),Math.floor(T.y)))}return{matrix:y,mappingFunction:w}}i.extract=u}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=4,r=.5,a=1.5,d=function(M,R){return Math.sqrt(Math.pow(R.x-M.x,2)+Math.pow(R.y-M.y,2))};function u(M){return M.reduce(function(R,T){return R+T})}function f(M,R,T){var V,H,X,se,he=d(M,R),J=d(R,T),de=d(M,T),we,re,ae;return J>=he&&J>=de?(V=[R,M,T],we=V[0],re=V[1],ae=V[2]):de>=J&&de>=he?(H=[M,R,T],we=H[0],re=H[1],ae=H[2]):(X=[M,T,R],we=X[0],re=X[1],ae=X[2]),(ae.x-re.x)*(we.y-re.y)-(ae.y-re.y)*(we.x-re.x)<0&&(se=[ae,we],we=se[0],ae=se[1]),{bottomLeft:we,topLeft:re,topRight:ae}}function g(M,R,T,V){var H=(u(C(M,T,V,5))/7+u(C(M,R,V,5))/7+u(C(T,M,V,5))/7+u(C(R,M,V,5))/7)/4;if(H<1)throw new Error("Invalid module size");var X=Math.round(d(M,R)/H),se=Math.round(d(M,T)/H),he=Math.floor((X+se)/2)+7;switch(he%4){case 0:he++;break;case 2:he--;break}return{dimension:he,moduleSize:H}}function p(M,R,T,V){var H=[{x:Math.floor(M.x),y:Math.floor(M.y)}],X=Math.abs(R.y-M.y)>Math.abs(R.x-M.x),se,he,J,de;X?(se=Math.floor(M.y),he=Math.floor(M.x),J=Math.floor(R.y),de=Math.floor(R.x)):(se=Math.floor(M.x),he=Math.floor(M.y),J=Math.floor(R.x),de=Math.floor(R.y));for(var we=Math.abs(J-se),re=Math.abs(de-he),ae=Math.floor(-we/2),De=se<J?1:-1,Pe=he<de?1:-1,xe=!0,ze=se,We=he;ze!==J+De;ze+=De){var ve=X?We:ze,ht=X?ze:We;if(T.get(ve,ht)!==xe&&(xe=!xe,H.push({x:ve,y:ht}),H.length===V+1))break;if(ae+=re,ae>0){if(We===de)break;We+=Pe,ae-=we}}for(var Mt=[],st=0;st<V;st++)H[st]&&H[st+1]?Mt.push(d(H[st],H[st+1])):Mt.push(0);return Mt}function C(M,R,T,V){var H,X=R.y-M.y,se=R.x-M.x,he=p(M,R,T,Math.ceil(V/2)),J=p(M,{x:M.x-se,y:M.y-X},T,Math.ceil(V/2)),de=he.shift()+J.shift()-1;return(H=J.concat(de)).concat.apply(H,he)}function b(M,R){var T=u(M)/u(R),V=0;return R.forEach(function(H,X){V+=Math.pow(M[X]-H*T,2)}),{averageSize:T,error:V}}function y(M,R,T){try{var V=C(M,{x:-1,y:M.y},T,R.length),H=C(M,{x:M.x,y:-1},T,R.length),X={x:Math.max(0,M.x-M.y)-1,y:Math.max(0,M.y-M.x)-1},se=C(M,X,T,R.length),he={x:Math.min(T.width,M.x+M.y)+1,y:Math.min(T.height,M.y+M.x)+1},J=C(M,he,T,R.length),de=b(V,R),we=b(H,R),re=b(se,R),ae=b(J,R),De=Math.sqrt(de.error*de.error+we.error*we.error+re.error*re.error+ae.error*ae.error),Pe=(de.averageSize+we.averageSize+re.averageSize+ae.averageSize)/4,xe=(Math.pow(de.averageSize-Pe,2)+Math.pow(we.averageSize-Pe,2)+Math.pow(re.averageSize-Pe,2)+Math.pow(ae.averageSize-Pe,2))/Pe;return De+xe}catch{return 1/0}}function w(M,R){for(var T=Math.round(R.x);M.get(T,Math.round(R.y));)T--;for(var V=Math.round(R.x);M.get(V,Math.round(R.y));)V++;for(var H=(T+V)/2,X=Math.round(R.y);M.get(Math.round(H),X);)X--;for(var se=Math.round(R.y);M.get(Math.round(H),se);)se++;var he=(X+se)/2;return{x:H,y:he}}function A(M){for(var R=[],T=[],V=[],H=[],X=function(ve){for(var ht=0,Mt=!1,st=[0,0,0,0,0],yt=function(Rt){var ci=M.get(Rt,ve);if(ci===Mt)ht++;else{st=[st[1],st[2],st[3],st[4],ht],ht=1,Mt=ci;var qe=u(st)/7,it=Math.abs(st[0]-qe)<qe&&Math.abs(st[1]-qe)<qe&&Math.abs(st[2]-3*qe)<3*qe&&Math.abs(st[3]-qe)<qe&&Math.abs(st[4]-qe)<qe&&!ci,Dt=u(st.slice(-3))/3,Jt=Math.abs(st[2]-Dt)<Dt&&Math.abs(st[3]-Dt)<Dt&&Math.abs(st[4]-Dt)<Dt&&ci;if(it){var hi=Rt-st[3]-st[4],ui=hi-st[2],vi={startX:ui,endX:hi,y:ve},bi=T.filter(function(ii){return ui>=ii.bottom.startX&&ui<=ii.bottom.endX||hi>=ii.bottom.startX&&ui<=ii.bottom.endX||ui<=ii.bottom.startX&&hi>=ii.bottom.endX&&st[2]/(ii.bottom.endX-ii.bottom.startX)<a&&st[2]/(ii.bottom.endX-ii.bottom.startX)>r});bi.length>0?bi[0].bottom=vi:T.push({top:vi,bottom:vi})}if(Jt){var Ge=Rt-st[4],Ee=Ge-st[3],vi={startX:Ee,y:ve,endX:Ge},bi=H.filter(function(ni){return Ee>=ni.bottom.startX&&Ee<=ni.bottom.endX||Ge>=ni.bottom.startX&&Ee<=ni.bottom.endX||Ee<=ni.bottom.startX&&Ge>=ni.bottom.endX&&st[2]/(ni.bottom.endX-ni.bottom.startX)<a&&st[2]/(ni.bottom.endX-ni.bottom.startX)>r});bi.length>0?bi[0].bottom=vi:H.push({top:vi,bottom:vi})}}},Ce=-1;Ce<=M.width;Ce++)yt(Ce);R.push.apply(R,T.filter(function(Rt){return Rt.bottom.y!==ve&&Rt.bottom.y-Rt.top.y>=2})),T=T.filter(function(Rt){return Rt.bottom.y===ve}),V.push.apply(V,H.filter(function(Rt){return Rt.bottom.y!==ve})),H=H.filter(function(Rt){return Rt.bottom.y===ve})},se=0;se<=M.height;se++)X(se);R.push.apply(R,T.filter(function(ve){return ve.bottom.y-ve.top.y>=2})),V.push.apply(V,H);var he=R.filter(function(ve){return ve.bottom.y-ve.top.y>=2}).map(function(ve){var ht=(ve.top.startX+ve.top.endX+ve.bottom.startX+ve.bottom.endX)/4,Mt=(ve.top.y+ve.bottom.y+1)/2;if(M.get(Math.round(ht),Math.round(Mt))){var st=[ve.top.endX-ve.top.startX,ve.bottom.endX-ve.bottom.startX,ve.bottom.y-ve.top.y+1],yt=u(st)/st.length,Ce=y({x:Math.round(ht),y:Math.round(Mt)},[1,1,3,1,1],M);return{score:Ce,x:ht,y:Mt,size:yt}}}).filter(function(ve){return!!ve}).sort(function(ve,ht){return ve.score-ht.score}).map(function(ve,ht,Mt){if(ht>s)return null;var st=Mt.filter(function(Ce,Rt){return ht!==Rt}).map(function(Ce){return{x:Ce.x,y:Ce.y,score:Ce.score+Math.pow(Ce.size-ve.size,2)/ve.size,size:Ce.size}}).sort(function(Ce,Rt){return Ce.score-Rt.score});if(st.length<2)return null;var yt=ve.score+st[0].score+st[1].score;return{points:[ve].concat(st.slice(0,2)),score:yt}}).filter(function(ve){return!!ve}).sort(function(ve,ht){return ve.score-ht.score});if(he.length===0)return null;var J=f(he[0].points[0],he[0].points[1],he[0].points[2]),de=J.topRight,we=J.topLeft,re=J.bottomLeft,ae=P(M,V,de,we,re),De=[];ae&&De.push({alignmentPattern:{x:ae.alignmentPattern.x,y:ae.alignmentPattern.y},bottomLeft:{x:re.x,y:re.y},dimension:ae.dimension,topLeft:{x:we.x,y:we.y},topRight:{x:de.x,y:de.y}});var Pe=w(M,de),xe=w(M,we),ze=w(M,re),We=P(M,V,Pe,xe,ze);return We&&De.push({alignmentPattern:{x:We.alignmentPattern.x,y:We.alignmentPattern.y},bottomLeft:{x:ze.x,y:ze.y},topLeft:{x:xe.x,y:xe.y},topRight:{x:Pe.x,y:Pe.y},dimension:We.dimension}),De.length===0?null:De}i.locate=A;function P(M,R,T,V,H){var X,se,he;try{X=g(V,T,H,M),se=X.dimension,he=X.moduleSize}catch{return null}var J={x:T.x-V.x+H.x,y:T.y-V.y+H.y},de=(d(V,H)+d(V,T))/2/he,we=1-3/de,re={x:V.x+we*(J.x-V.x),y:V.y+we*(J.y-V.y)},ae=R.map(function(Pe){var xe=(Pe.top.startX+Pe.top.endX+Pe.bottom.startX+Pe.bottom.endX)/4,ze=(Pe.top.y+Pe.bottom.y+1)/2;if(M.get(Math.floor(xe),Math.floor(ze))){var We=[Pe.top.endX-Pe.top.startX,Pe.bottom.endX-Pe.bottom.startX,Pe.bottom.y-Pe.top.y+1];u(We)/We.length;var ve=y({x:Math.floor(xe),y:Math.floor(ze)},[1,1,1],M),ht=ve+d({x:xe,y:ze},re);return{x:xe,y:ze,score:ht}}}).filter(function(Pe){return!!Pe}).sort(function(Pe,xe){return Pe.score-xe.score}),De=de>=15&&ae.length?ae[0]:re;return{alignmentPattern:De,dimension:se}}})]).default})})(Em)),Em.exports}var oY=sY();const rY=hS(oY);var aY=B('<label class="svelte-1ua3isv">Passcode <input type="number" placeholder="20202021" class="svelte-1ua3isv"/></label> <label class="svelte-1ua3isv">Discriminator (optional) <input type="number" placeholder="3840" class="svelte-1ua3isv"/></label>',1),lY=B('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label> <div class="scan-row svelte-1ua3isv"><button class="scan-btn svelte-1ua3isv" title="Scan QR code with camera"><svg width="13" height="13" viewBox="0 0 16 16" fill="currentColor"><path d="M1 1h5v5H1V1zm1 1v3h3V2H2zm7-1h5v5h-5V1zm1 1v3h3V2h-3zM1 9h5v5H1V9zm1 1v3h3v-3H2zm7 0h2v2H9v-2zm2 0h2v2h-2v-2zm0 2h2v2h-2v-2zm-2 2h2v2H9v-2zm2 0h2v2h-2v-2z"></path></svg> Camera</button> <label class="scan-btn scan-file-btn svelte-1ua3isv" title="Decode QR from image file"><svg width="13" height="13" viewBox="0 0 16 16" fill="currentColor"><path d="M13 4H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1zM3 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H3zm5 2.5a.5.5 0 0 1 .5.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1V6a.5.5 0 0 1 .5-.5z"></path></svg> Image… <input type="file" accept="image/*" style="display:none" class="svelte-1ua3isv"/></label></div>',1),G2=B('<p class="err svelte-1ua3isv"> </p>'),cY=B('<div class="wizard svelte-1ua3isv"><div class="wizard-tabs svelte-1ua3isv"><button>Passcode</button> <button>QR / Code</button></div> <!> <label class="svelte-1ua3isv">IP Address (optional, bypasses mDNS) <input type="text" placeholder="192.168.1.100 or 192.168.1.100:5540" class="svelte-1ua3isv"/></label> <!> <button class="commission-btn svelte-1ua3isv"> </button></div>'),dY=B('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),uY=B('<span class="device-name svelte-1ua3isv"> </span>'),hY=B('<li><button class="device-select-btn svelte-1ua3isv"><span></span> <span class="device-label svelte-1ua3isv"><!></span></button> <button class="unpair-btn svelte-1ua3isv" title="Unpair">✕</button></li>'),fY=B('<li class="empty svelte-1ua3isv">No paired devices</li>'),gY=B('<p class="info svelte-1ua3isv">Loading…</p>'),pY=B('<p class="device-subtitle svelte-1ua3isv"> </p>'),xY=B('<span class="ep-chip svelte-1ua3isv"> </span>'),mY=B('<span class="attr-id svelte-1ua3isv"> </span>'),vY=B('<button class="attr-action-btn svelte-1ua3isv"> </button>'),_Y=B('<div class="attr-actions svelte-1ua3isv"></div>'),bY=B('<span class="cmd-sep svelte-1ua3isv">,</span>'),CY=B('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),EY=B('<span class="cmd-id svelte-1ua3isv"> </span>'),yY=B("<!> <!>",1),wY=B('<span class="cmd-list svelte-1ua3isv"></span>'),SY=B(' <span class="cmd-id svelte-1ua3isv"> </span>',1),DY=B('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),AY=B('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"><th class="svelte-1ua3isv">deviceType</th><th class="svelte-1ua3isv">revision</th></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),kY=B('<th class="svelte-1ua3isv"> </th>'),BY=B('<td class="svelte-1ua3isv"> </td>'),FY=B('<tr class="svelte-1ua3isv"></tr>'),LY=B('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),IY=B('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),PY=B('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),TY=B('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),MY=B('<span class="attr-val svelte-1ua3isv"> </span>'),RY=B('<tr class="svelte-1ua3isv"><td class="attr-name-cell svelte-1ua3isv"><span class="attr-key svelte-1ua3isv"> </span><!></td><td class="attr-actions-cell svelte-1ua3isv"><!></td><td class="attr-val-cell svelte-1ua3isv"><!></td></tr>'),NY=B('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),OY=B('<table class="cluster-table svelte-1ua3isv"><colgroup><col class="col-attr-name svelte-1ua3isv"/><col class="col-attr-actions svelte-1ua3isv"/><col class="col-attr-val"/></colgroup><tbody class="svelte-1ua3isv"></tbody></table>'),HY=B('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),WY=B('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),zY=B('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),VY=B('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),jY=B('<span class="stream-badge svelte-1ua3isv"> </span>'),$Y=B('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),XC=B('&nbsp;<span class="e-sub svelte-1ua3isv"> </span>',1),UY=B('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),qY=B('<span class="e-badge e-badge-attr svelte-1ua3isv">attr</span> <span class="e-node svelte-1ua3isv"> <!></span> <span class="e-ep svelte-1ua3isv"> <!></span> <span class="e-cluster svelte-1ua3isv"> </span> <span class="e-attr svelte-1ua3isv"> </span> <span class="e-val svelte-1ua3isv"> </span>',1),GY=B('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),KY=B('<div class="stream-body svelte-1ua3isv"><!></div>'),ZY=B('<p class="scan-err svelte-1ua3isv"> </p>'),XY=B('<div class="scan-preview svelte-1ua3isv"><video playsinline="" class="scan-video svelte-1ua3isv"></video> <div class="scan-reticle svelte-1ua3isv"></div></div> <p class="scan-hint svelte-1ua3isv">Point camera at the QR code on the device</p>',3),YY=B('<div class="scan-backdrop svelte-1ua3isv"></div> <div class="scan-modal svelte-1ua3isv"><div class="scan-modal-hdr svelte-1ua3isv"><span>Scan Matter QR Code</span> <button class="scan-close svelte-1ua3isv">✕</button></div> <!> <canvas style="display:none"></canvas></div>',1),QY=B('<!> <div class="matter-page svelte-1ua3isv"><div class="matter-main svelte-1ua3isv"><div class="sidebar svelte-1ua3isv"><div class="sidebar-header svelte-1ua3isv"><span class="sidebar-title svelte-1ua3isv">Matter Devices</span> <button class="add-btn svelte-1ua3isv" title="Commission new device">+</button></div> <!> <ul class="device-list svelte-1ua3isv"><!> <!></ul></div> <div class="detail svelte-1ua3isv"><!></div></div> <div class="stream-panel svelte-1ua3isv"><div class="stream-resize svelte-1ua3isv"></div> <div class="stream-hdr-row svelte-1ua3isv"><span class="stream-title svelte-1ua3isv">Matter Events</span> <!> <button class="stream-toggle svelte-1ua3isv" title="Toggle event feed"> </button></div> <!></div></div> <!>',1);function JY(o,e){js(e,!0);const t={onOff:{onOff:[{label:"On",command:"on"},{label:"Off",command:"off"},{label:"Toggle",command:"toggle"}]},levelControl:{currentLevel:[{label:"Step ▲",command:"stepWithOnOff",args:{stepMode:0,stepSize:25,transitionTime:5}},{label:"Step ▼",command:"stepWithOnOff",args:{stepMode:1,stepSize:25,transitionTime:5}}]},windowCovering:{currentPositionLiftPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}],currentPositionTiltPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}]}};async function i(Y,Te,Xe,ke,It){try{await lU(Y,Te,Xe,ke,It)}catch($t){console.error("matter command failed",$t)}}const n={identify:{0:"identify",1:"triggerEffect"},groups:{0:"addGroup",1:"viewGroup",2:"getGroupMembership",3:"removeGroup",4:"removeAllGroups",5:"addGroupIfIdentifying"},scenes:{0:"addScene",1:"viewScene",2:"removeScene",3:"removeAllScenes",4:"storeScene",5:"recallScene",6:"getSceneMembership",64:"enhancedAddScene",65:"enhancedViewScene",66:"copyScene"},onOff:{0:"off",1:"on",2:"toggle",64:"offWithEffect",65:"onWithRecallGlobalScene",66:"onWithTimedOff"},levelControl:{0:"moveToLevel",1:"move",2:"step",3:"stop",4:"moveToLevelWithOnOff",5:"moveWithOnOff",6:"stepWithOnOff",7:"stopWithOnOff",8:"moveToClosestFrequency"},colorControl:{0:"moveToHue",1:"moveHue",2:"stepHue",3:"moveToSaturation",4:"moveSaturation",5:"stepSaturation",6:"moveToHueAndSaturation",7:"moveToColor",8:"moveColor",9:"stepColor",10:"moveToColorTemperature",64:"enhancedMoveToHue",65:"enhancedMoveHue",66:"enhancedStepHue",67:"enhancedMoveToHueAndSaturation",68:"colorLoopSet",71:"stopMoveStep",75:"moveColorTemperature",76:"stepColorTemperature"},thermostat:{0:"setpointRaiseLower",1:"setWeeklySchedule",2:"getWeeklySchedule",3:"clearWeeklySchedule"},doorLock:{0:"lockDoor",1:"unlockDoor",3:"unlockWithTimeout",11:"setWeekDaySchedule",12:"getWeekDaySchedule",13:"clearWeekDaySchedule",14:"setYearDaySchedule",15:"getYearDaySchedule",16:"clearYearDaySchedule",17:"setHolidaySchedule",18:"getHolidaySchedule",19:"clearHolidaySchedule",26:"setUser",27:"getUser",28:"clearUser",34:"setCredential",36:"getCredential",38:"clearCredential"},windowCovering:{0:"upOrOpen",1:"downOrClose",2:"stopMotion",4:"goToLiftValue",5:"goToLiftPercentage",7:"goToTiltValue",8:"goToTiltPercentage"},fanControl:{0:"step"}};function s(Y,Te){const Xe=n[Y];return Te.map(ke=>{const It=typeof ke=="number"?ke:Number(ke);return{id:It,name:(Xe==null?void 0:Xe[It])??null}})}const r={10:"Door Lock",11:"Door Lock Controller",14:"Aggregator",15:"Generic Switch",17:"On/Off Plug-In Unit",18:"Dimmable Plug-In Unit",19:"Pump",20:"On/Off Light Switch",21:"Dimmer Switch",22:"Color Dimmer Switch",23:"Control Bridge",24:"Pump Controller",256:"On/Off Light",257:"Dimmable Light",268:"Extended Color Light",269:"Color Temperature Light",262:"Light Sensor",263:"Occupancy Sensor",514:"Window Covering",515:"Window Covering Controller",768:"Heating/Cooling Unit",769:"Thermostat",770:"Temperature Sensor",771:"Pressure Sensor",772:"Flow Sensor",773:"Humidity Sensor",774:"On/Off Sensor",2112:"Air Quality Sensor"},a={generatedCommandList:65528,acceptedCommandList:65529,eventList:65530,attributeList:65531,featureMap:65532,clusterRevision:65533},d={descriptor:{deviceTypeList:0,serverList:1,clientList:2,partsList:3,tagList:4},basicInformation:{dataModelRevision:0,vendorName:1,vendorID:2,vendorId:2,productName:3,productID:4,productId:4,nodeLabel:5,location:6,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,localConfigDisabled:16,reachable:17,uniqueID:18,uniqueId:18,capabilityMinima:19,productAppearance:20,specificationVersion:21,maxPathsPerInvoke:22},bridgedDeviceBasicInformation:{vendorName:1,vendorID:2,vendorId:2,productName:3,productId:4,nodeLabel:5,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,reachable:17,uniqueID:18,uniqueId:18,productAppearance:20},identify:{identifyTime:0,identifyType:1},groups:{nameSupport:0},onOff:{onOff:0,globalSceneControl:16384,onTime:16385,offWaitTime:16386,startUpOnOff:16387},levelControl:{currentLevel:0,remainingTime:1,minLevel:2,maxLevel:3,currentFrequency:4,minFrequency:5,maxFrequency:6,options:15,onOffTransitionTime:16,onLevel:17,onTransitionTime:18,offTransitionTime:19,defaultMoveRate:20,startUpCurrentLevel:16384},colorControl:{currentHue:0,currentSaturation:1,remainingTime:2,currentX:3,currentY:4,colorTemperatureMireds:7,colorMode:8,options:15,enhancedCurrentHue:16384,enhancedColorMode:16385,colorLoopActive:16386,colorLoopDirection:16387,colorLoopTime:16388,colorCapabilities:16394,colorTempPhysicalMinMireds:16395,colorTempPhysicalMaxMireds:16396,coupleColorTempToLevelMinMireds:16397,startUpColorTemperatureMireds:16400},thermostat:{localTemperature:0,outdoorTemperature:1,occupancy:2,absMinHeatSetpointLimit:3,absMaxHeatSetpointLimit:4,absMinCoolSetpointLimit:5,absMaxCoolSetpointLimit:6,piCoolingDemand:7,piHeatingDemand:8,localTemperatureCalibration:16,occupiedCoolingSetpoint:17,occupiedHeatingSetpoint:18,unoccupiedCoolingSetpoint:19,unoccupiedHeatingSetpoint:20,minHeatSetpointLimit:21,maxHeatSetpointLimit:22,minCoolSetpointLimit:23,maxCoolSetpointLimit:24,minSetpointDeadBand:25,remoteSensing:26,controlSequenceOfOperation:27,systemMode:28,thermostatRunningMode:30,startOfWeek:32,numberOfWeeklyTransitions:33,numberOfDailyTransitions:34,temperatureSetpointHold:35,temperatureSetpointHoldDuration:36,thermostatProgrammingOperationMode:37,thermostatRunningState:41,setpointChangeSource:48,setpointChangeAmount:49,setpointChangeSourceTimestamp:50,occupiedSetback:52,unoccupiedSetback:55,emergencyHeatDelta:58},windowCovering:{type:0,physicalClosedLimitLift:1,physicalClosedLimitTilt:2,currentPositionLift:3,currentPositionTilt:4,numberOfActuationsLift:5,numberOfActuationsTilt:6,configStatus:7,currentPositionLiftPercentage:8,currentPositionTiltPercentage:9,operationalStatus:10,targetPositionLiftPercent100ths:11,targetPositionTiltPercent100ths:12,endProductType:13,currentPositionLiftPercent100ths:14,currentPositionTiltPercent100ths:15,installedOpenLimitLift:16,installedClosedLimitLift:17,installedOpenLimitTilt:18,installedClosedLimitTilt:19,mode:23,safetyStatus:26},doorLock:{lockState:0,lockType:1,actuatorEnabled:2,doorState:3,numberOfTotalUsersSupported:17,numberOfPINUsersSupported:18,maxPINCodeLength:23,minPINCodeLength:24,language:33,autoRelockTime:35,soundVolume:36,operatingMode:37,supportedOperatingModes:38,wrongCodeEntryLimit:48},fanControl:{fanMode:0,fanModeSequence:1,percentSetting:2,percentCurrent:3,speedMax:4,speedSetting:5,speedCurrent:6,rockSupport:7,rockSetting:8,windSupport:9,windSetting:10,airflowDirectionSupport:11,airflowDirection:12},occupancySensing:{occupancy:0,occupancySensorType:1,occupancySensorTypeBitmap:2,holdTime:3,pirOccupiedToUnoccupiedDelay:16,pirUnoccupiedToOccupiedDelay:17},illuminanceMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,lightSensorType:4},temperatureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},pressureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,scaledValue:16,minScaledValue:17,maxScaledValue:18,scale:20},flowMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},relativeHumidityMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},powerSource:{status:0,order:1,description:2,batVoltage:11,batPercentRemaining:12,batTimeRemaining:13,batChargeLevel:14,batReplacementNeeded:15,batReplaceability:16,batPresent:17,activeBatFaults:18,batChargeState:26}};function u(Y){return"0x"+Y.toString(16).toUpperCase().padStart(4,"0")}let f=F(Pi([])),g=Pi(new Map);function p(Y){if(Y==null)return"—";if(typeof Y=="boolean"||typeof Y=="number")return String(Y);if(typeof Y=="string")return Y.length>50?Y.slice(0,47)+"…":Y;const Te=JSON.stringify(Y);return Te.length>60?Te.slice(0,57)+"…":Te}function C(Y){return Y==null?"—":typeof Y=="boolean"||typeof Y=="number"?String(Y):typeof Y=="string"?Y:JSON.stringify(Y)}function b(Y){return Y!==null&&typeof Y=="object"&&!Array.isArray(Y)}function y(Y){return Array.isArray(Y)&&Y.length>0&&Y.every(b)}function w(Y,Te){return!!(Te==="attributeList"||Array.isArray(Y)&&Y.length===0||b(Y)&&Object.keys(Y).length===0)}function A(Y){return new Date(Y).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const P=500,M=20,R=32;let T=0,V=F(Pi([])),H=F(!0),X=F(180),se=Lt(()=>{const Y=Math.max(1,Math.floor((c(X)-R)/M)+1);return c(V).slice(0,Y)});function he(Y){Y.preventDefault();const Te=Y.clientY,Xe=c(X);function ke($t){m(X,Math.max(60,Math.min(600,Xe+Te-$t.clientY)),!0)}function It(){document.removeEventListener("mousemove",ke),document.removeEventListener("mouseup",It)}document.addEventListener("mousemove",ke),document.addEventListener("mouseup",It)}let J=F(null),de=F(!1),we=F(null),re=F(!1),ae=F("passcode"),De=F(""),Pe=F(""),xe=F(""),ze=F(!1),We=F(null),ve=F(""),ht=F(!1),Mt=F(""),st=F(void 0),yt=F(void 0),Ce=null,Rt=null;function ci(){Rt!==null&&(cancelAnimationFrame(Rt),Rt=null),Ce&&(Ce.getTracks().forEach(Y=>Y.stop()),Ce=null),m(ht,!1),m(Mt,"")}function qe(Y){ci(),m(ae,"pairingCode"),m(xe,Y,!0)}function it(){if(!c(yt))return null;const Y=c(yt).getContext("2d",{willReadFrequently:!0}),{width:Te,height:Xe}=c(yt);if(!Te||!Xe)return null;const ke=Y.getImageData(0,0,Te,Xe);return rY(ke.data,ke.width,ke.height,{inversionAttempts:"dontInvert"})}async function Dt(){if(m(ht,!0),m(Mt,""),await hl(),!c(st)||!c(yt))return;try{Ce=await navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}}),c(st).srcObject=Ce,await c(st).play()}catch(Te){m(Mt,"Camera unavailable: "+(Te instanceof Error?Te.message:String(Te)));return}const Y=()=>{var Te;if(!(!c(st)||!c(yt)||!Ce)){if(c(st).readyState===c(st).HAVE_ENOUGH_DATA){c(yt).width=c(st).videoWidth,c(yt).height=c(st).videoHeight,c(yt).getContext("2d",{willReadFrequently:!0}).drawImage(c(st),0,0);const ke=it();if((Te=ke==null?void 0:ke.data)!=null&&Te.startsWith("MT:")){qe(ke.data);return}}Rt=requestAnimationFrame(Y)}};Rt=requestAnimationFrame(Y)}function Jt(Y){var ke;const Te=(ke=Y.target.files)==null?void 0:ke[0];if(!Te)return;const Xe=new FileReader;Xe.onload=It=>{const $t=new Image;$t.onload=()=>{var Pt;if(!c(yt))return;c(yt).width=$t.width,c(yt).height=$t.height,c(yt).getContext("2d",{willReadFrequently:!0}).drawImage($t,0,0);const Qe=it();(Pt=Qe==null?void 0:Qe.data)!=null&&Pt.startsWith("MT:")?qe(Qe.data):m(Mt,"No Matter QR code found in image.")},$t.src=It.target.result},Xe.readAsDataURL(Te)}const hi="she:matter:selectedNodeId";async function ui(){try{m(f,await lS(),!0);for(const Y of c(f))_m(Y.nodeId).then(Te=>{g.set(Y.nodeId,Te)}).catch(()=>{});if(c(f).length>0&&!c(J)){const Y=localStorage.getItem(hi),Te=Y&&c(f).find(Xe=>Xe.nodeId===Y)?Y:c(f)[0].nodeId;vi(Te)}}catch{m(f,[],!0)}}async function vi(Y){m(de,!0),m(we,null);try{m(J,await _m(Y),!0),g.set(Y,c(J)),localStorage.setItem(hi,Y)}catch(Te){m(we,Te instanceof Error?Te.message:String(Te),!0)}finally{m(de,!1)}}let bi;async function Ge(Y){var Te;if(await bi.show(`Unpair device ${Y}?`,{confirm:"Unpair",danger:!0}))try{await aU(Y),((Te=c(J))==null?void 0:Te.nodeId)===Y&&m(J,null),await ui()}catch(Xe){m(we,Xe instanceof Error?Xe.message:String(Xe),!0)}}async function Ee(){m(ze,!0),m(We,null);try{let Y;c(ae)==="passcode"?(Y={passcode:Number(c(De))},c(Pe)&&(Y={...Y,discriminator:Number(c(Pe))})):Y={pairingCode:c(xe).trim()},c(ve).trim()&&(Y={...Y,discoveryAddress:c(ve).trim()}),await rU(Y),m(re,!1),m(De,""),m(Pe,""),m(xe,""),m(ve,""),await ui()}catch(Y){m(We,Y instanceof Error?Y.message:String(Y),!0)}finally{m(ze,!1)}}Xs(()=>{ui()});const ii=hr("matter:deviceList",Y=>{if(!Array.isArray(Y.devices))return;const Te=Y.devices;for(const Xe of Te)g.has(Xe.nodeId)||_m(Xe.nodeId).then(ke=>{g.set(Xe.nodeId,ke)}).catch(()=>{});m(f,Te,!0)}),Ci=hr("matter:deviceStatus",Y=>{if(Y.nodeId===void 0)return;const Te=String(Y.nodeId),Xe=!!Y.online;m(f,c(f).map(ke=>ke.nodeId===Te?{...ke,online:Xe}:ke),!0),m(V,[{id:T++,kind:"status",nodeId:Te,online:Xe,ts:Date.now()},...c(V).slice(0,P-1)],!0)}),ni=hr("matter:attr",Y=>{const Te=String(Y.nodeId),Xe=Y.endpointId,ke=String(Y.clusterName),It=String(Y.attrName),$t=Y.value;if(c(J)&&c(J).nodeId===Te){const Qe=c(J).endpoints.find(kt=>kt.endpointId===Xe),Pt=Qe==null?void 0:Qe.clusters.find(kt=>kt.name===ke);Pt&&(Pt.attrs[It]=$t)}const te=g.get(Te);if(te){const Qe=te.endpoints.find(kt=>kt.endpointId===Xe),Pt=Qe==null?void 0:Qe.clusters.find(kt=>kt.name===ke);Pt&&(Pt.attrs[It]=$t)}m(V,[{id:T++,kind:"attr",nodeId:Te,endpointId:Xe,clusterName:ke,attrName:It,value:$t,ts:Y.ts??Date.now()},...c(V).slice(0,P-1)],!0)});Vp(()=>{ii(),Ci(),ni(),ci()});var Ui=QY(),Yi=Et(Ui);gs(Yc(Yi,{}),Y=>bi=Y,()=>bi);var Di=v(Yi,2),wn=_(Di),hn=_(wn),cn=_(hn),gn=v(_(cn),2),ft=v(cn,2);{var Gt=Y=>{var Te=cY(),Xe=_(Te),ke=_(Xe);let It;var $t=v(ke,2);let te;var Qe=v(Xe,2);{var Pt=ei=>{var fe=aY(),Je=Et(fe),rt=v(_(Je)),lt=v(Je,2),Ut=v(_(lt));jt(rt,()=>c(De),Ht=>m(De,Ht)),jt(Ut,()=>c(Pe),Ht=>m(Pe,Ht)),D(ei,fe)},kt=ei=>{var fe=lY(),Je=Et(fe),rt=v(_(Je)),lt=v(Je,2),Ut=_(lt),Ht=v(Ut,2),yi=v(_(Ht),2);jt(rt,()=>c(xe),I=>m(xe,I)),U("click",Ut,Dt),U("change",yi,Jt),D(ei,fe)};z(Qe,ei=>{c(ae)==="passcode"?ei(Pt):ei(kt,-1)})}var Ot=v(Qe,2),Se=v(_(Ot)),Ye=v(Ot,2);{var Qt=ei=>{var fe=G2(),Je=_(fe);j(()=>W(Je,c(We))),D(ei,fe)};z(Ye,ei=>{c(We)&&ei(Qt)})}var Zt=v(Ye,2),_i=_(Zt);j(()=>{It=Ft(ke,1,"svelte-1ua3isv",null,It,{active:c(ae)==="passcode"}),te=Ft($t,1,"svelte-1ua3isv",null,te,{active:c(ae)==="pairingCode"}),Zt.disabled=c(ze),W(_i,c(ze)?"Commissioning…":"Commission")}),U("click",ke,()=>m(ae,"passcode")),U("click",$t,()=>m(ae,"pairingCode")),jt(Se,()=>c(ve),ei=>m(ve,ei)),U("click",Zt,Ee),D(Y,Te)};z(ft,Y=>{c(re)&&Y(Gt)})}var Mi=v(ft,2),Ki=_(Mi);ti(Ki,17,()=>c(f),Y=>Y.nodeId,(Y,Te)=>{var Xe=hY();let ke;var It=_(Xe),$t=_(It);let te;var Qe=v($t,2),Pt=_(Qe);{var kt=Ye=>{var Qt=dY(),Zt=Et(Qt),_i=_(Zt),ei=v(Zt,2),fe=_(ei);j(()=>{W(_i,c(Te).name),W(fe,`#${c(Te).nodeId??""}`)}),D(Ye,Qt)},Ot=Ye=>{var Qt=uY(),Zt=_(Qt);j(()=>W(Zt,`Node ${c(Te).nodeId??""}`)),D(Ye,Qt)};z(Pt,Ye=>{c(Te).name?Ye(kt):Ye(Ot,-1)})}var Se=v(It,2);j(()=>{var Ye;ke=Ft(Xe,1,"svelte-1ua3isv",null,ke,{selected:((Ye=c(J))==null?void 0:Ye.nodeId)===c(Te).nodeId}),te=Ft($t,1,"status-dot svelte-1ua3isv",null,te,{online:c(Te).online})}),U("click",It,()=>vi(c(Te).nodeId)),U("click",Se,()=>Ge(c(Te).nodeId)),D(Y,Xe)});var Ei=v(Ki,2);{var Vi=Y=>{var Te=fY();D(Y,Te)};z(Ei,Y=>{c(f).length===0&&Y(Vi)})}var ji=v(hn,2),Ji=_(ji);{var Ai=Y=>{var Te=gY();D(Y,Te)},tt=Y=>{var Te=G2(),Xe=_(Te);j(()=>W(Xe,c(we))),D(Y,Te)},At=Y=>{var Te=zY(),Xe=Et(Te),ke=_(Xe),It=_(ke),$t=v(ke,2);{var te=Ot=>{var Se=pY(),Ye=_(Se);j(()=>W(Ye,c(J).subtitle)),D(Ot,Se)};z($t,Ot=>{c(J).subtitle&&Ot(te)})}var Qe=v($t,2),Pt=_(Qe),kt=v(Xe,2);ti(kt,17,()=>c(J).endpoints,Ot=>Ot.endpointId,(Ot,Se)=>{var Ye=WY(),Qt=_(Ye),Zt=_(Qt),_i=v(Zt),ei=_(_i),fe=v(_i,2);ti(fe,21,()=>c(Se).clusters,zi,(Ut,Ht)=>{var yi=xY(),I=_(yi);j(()=>W(I,c(Ht).name)),D(Ut,yi)});var Je=v(Qt,2);{var rt=Ut=>{var Ht=OY(),yi=v(_(Ht));ti(yi,21,()=>c(Se).clusters,zi,(I,N)=>{var $=NY(),oe=Et($),ie=_(oe),ne=_(ie),le=v(oe,2);ti(le,17,()=>Object.entries(c(N).attrs),zi,(et,Fe)=>{var _e=Lt(()=>l8(c(Fe),2));let Ke=()=>c(_e)[0],Me=()=>c(_e)[1];var at=ws(),Xt=Et(at);{var Z=Ve=>{const vt=Lt(()=>{var Vt;return(Vt=t[c(N).name])==null?void 0:Vt[Ke()]}),Le=Lt(()=>(Ke()==="acceptedCommandList"||Ke()==="generatedCommandList")&&Array.isArray(Me())),Oe=Lt(()=>{var Vt;return((Vt=d[c(N).name])==null?void 0:Vt[Ke()])??a[Ke()]});var St=RY(),xt=_(St),Ie=_(xt),ge=_(Ie),Re=v(Ie);{var Ne=Vt=>{var Bt=mY(),Wt=_(Bt);j(oi=>W(Wt,`(${oi??""})`),[()=>u(c(Oe))]),D(Vt,Bt)};z(Re,Vt=>{c(Oe)!==void 0&&Vt(Ne)})}var $e=v(xt),ct=_($e);{var je=Vt=>{var Bt=_Y();ti(Bt,21,()=>c(vt),zi,(Wt,oi)=>{var gi=vY(),tn=_(gi);j(()=>W(tn,c(oi).label)),U("click",gi,()=>i(c(J).nodeId,c(Se).endpointId,c(N).name,c(oi).command,c(oi).args)),D(Wt,gi)}),D(Vt,Bt)};z(ct,Vt=>{c(vt)&&Vt(je)})}var gt=v($e),pe=_(gt);{var He=Vt=>{var Bt=wY();ti(Bt,21,()=>s(c(N).name,Me()),zi,(Wt,oi,gi)=>{var tn=yY(),dn=Et(tn);{var In=Pn=>{var Jn=bY();D(Pn,Jn)};z(dn,Pn=>{gi>0&&Pn(In)})}var Hi=v(dn,2);{var An=Pn=>{var Jn=CY(),Wi=Et(Jn),Gs=_(Wi),On=v(Wi),es=_(On);j(()=>{W(Gs,c(oi).name),W(es,`(${c(oi).id??""})`)}),D(Pn,Jn)},Gn=Pn=>{var Jn=EY(),Wi=_(Jn);j(()=>W(Wi,c(oi).id)),D(Pn,Jn)};z(Hi,Pn=>{c(oi).name?Pn(An):Pn(Gn,-1)})}D(Wt,tn)}),D(Vt,Bt)},Ct=Vt=>{var Bt=AY(),Wt=v(_(Bt));ti(Wt,21,Me,zi,(oi,gi)=>{const tn=Lt(()=>c(gi)),dn=Lt(()=>c(tn).deviceType),In=Lt(()=>r[c(dn)]);var Hi=DY(),An=_(Hi),Gn=_(An);{var Pn=On=>{var es=SY(),Ms=Et(es),tr=v(Ms),zr=_(tr);j(Xa=>{W(Ms,`${c(In)??""} `),W(zr,`(${Xa??""})`)},[()=>u(c(dn))]),D(On,es)},Jn=On=>{var es=oo();j(Ms=>W(es,Ms),[()=>u(c(dn))]),D(On,es)};z(Gn,On=>{c(In)?On(Pn):On(Jn,-1)})}var Wi=v(An),Gs=_(Wi);j(On=>W(Gs,On),[()=>C(c(tn).revision)]),D(oi,Hi)}),D(Vt,Bt)},zt=Lt(()=>Ke()==="deviceTypeList"&&Array.isArray(Me())),bt=Vt=>{const Bt=Lt(()=>[...new Set(Me().flatMap(dn=>Object.keys(dn)))]);var Wt=LY(),oi=_(Wt),gi=_(oi);ti(gi,21,()=>c(Bt),zi,(dn,In)=>{var Hi=kY(),An=_(Hi);j(()=>W(An,c(In))),D(dn,Hi)});var tn=v(oi);ti(tn,21,Me,zi,(dn,In)=>{var Hi=FY();ti(Hi,21,()=>c(Bt),zi,(An,Gn)=>{var Pn=BY(),Jn=_(Pn);j(Wi=>W(Jn,Wi),[()=>C(c(In)[c(Gn)])]),D(An,Pn)}),D(dn,Hi)}),D(Vt,Wt)},fi=Lt(()=>y(Me())),ki=Vt=>{var Bt=PY(),Wt=_(Bt);ti(Wt,21,()=>Object.entries(Me()),zi,(oi,gi)=>{var tn=Lt(()=>l8(c(gi),2));let dn=()=>c(tn)[0],In=()=>c(tn)[1];var Hi=IY(),An=_(Hi),Gn=_(An),Pn=v(An),Jn=_(Pn);j(Wi=>{W(Gn,dn()),W(Jn,Wi)},[()=>C(In())]),D(oi,Hi)}),D(Vt,Bt)},Xi=Lt(()=>b(Me())),wi=Vt=>{var Bt=TY(),Wt=_(Bt);j(()=>{ln(Bt,"href",Me()),W(Wt,Me())}),D(Vt,Bt)},ai=Vt=>{var Bt=MY(),Wt=_(Bt);j(oi=>W(Wt,oi),[()=>C(Me())]),D(Vt,Bt)};z(pe,Vt=>{c(Le)?Vt(He):c(zt)?Vt(Ct,1):c(fi)?Vt(bt,2):c(Xi)?Vt(ki,3):(Ke()==="productUrl"||Ke()==="productURL")&&typeof Me()=="string"?Vt(wi,4):Vt(ai,-1)})}j(()=>{ln(xt,"title",Ke()),W(ge,Ke())}),D(Ve,St)},ce=Lt(()=>!w(Me(),Ke()));z(Xt,Ve=>{c(ce)&&Ve(Z)})}D(et,at)}),j(()=>W(ne,c(N).name)),D(I,$)}),D(Ut,Ht)},lt=Ut=>{var Ht=HY();D(Ut,Ht)};z(Je,Ut=>{c(Se).clusters.length>0?Ut(rt):Ut(lt,-1)})}j(()=>{W(Zt,`${c(Se).name??`Endpoint ${c(Se).endpointId}`??""} `),W(ei,`ep${c(Se).endpointId??""}`)}),D(Ot,Ye)}),j(()=>{W(It,c(J).name??`Node ${c(J).nodeId}`),W(Pt,`Node ID: ${c(J).nodeId??""}`)}),D(Y,Te)},Oi=Y=>{var Te=VY();D(Y,Te)};z(Ji,Y=>{c(de)?Y(Ai):c(we)?Y(tt,1):c(J)?Y(At,2):Y(Oi,-1)})}var Ri=v(wn,2),Ii=_(Ri),Ni=v(Ii,2),K=v(_(Ni),2);{var Ae=Y=>{var Te=jY(),Xe=_(Te);j(()=>W(Xe,c(V).length)),D(Y,Te)};z(K,Y=>{!c(H)&&c(V).length>0&&Y(Ae)})}var Ze=v(K,2),nt=_(Ze),Kt=v(Ni,2);{var si=Y=>{var Te=KY(),Xe=_(Te);{var ke=$t=>{var te=$Y();D($t,te)},It=$t=>{var te=ws(),Qe=Et(te);ti(Qe,17,()=>c(se),Pt=>Pt.id,(Pt,kt)=>{const Ot=Lt(()=>{var rt,lt;return((rt=g.get(c(kt).nodeId))==null?void 0:rt.name)??((lt=c(f).find(Ut=>Ut.nodeId===c(kt).nodeId))==null?void 0:lt.name)??null}),Se=Lt(()=>{var rt,lt;return c(kt).endpointId!==void 0?((lt=(rt=g.get(c(kt).nodeId))==null?void 0:rt.endpoints.find(Ut=>Ut.endpointId===c(kt).endpointId))==null?void 0:lt.name)??null:null}),Ye=Lt(()=>c(kt).attrName??c(kt).clusterName);var Qt=GY(),Zt=_(Qt),_i=_(Zt),ei=v(Zt,2);{var fe=rt=>{var lt=UY(),Ut=v(Et(lt),2),Ht=_(Ut),yi=v(Ht);{var I=ie=>{var ne=XC(),le=v(Et(ne)),et=_(le);j(()=>W(et,`(#${c(kt).nodeId??""})`)),D(ie,ne)};z(yi,ie=>{c(Ot)&&ie(I)})}var N=v(Ut,2);let $;var oe=_(N);j(()=>{W(Ht,c(Ot)??`#${c(kt).nodeId}`),$=Ft(N,1,"e-val svelte-1ua3isv",null,$,{"e-online":c(kt).online,"e-offline":!c(kt).online}),W(oe,c(kt).online?"online":"offline")}),D(rt,lt)},Je=rt=>{var lt=qY(),Ut=v(Et(lt),2),Ht=_(Ut),yi=v(Ht);{var I=Me=>{var at=XC(),Xt=v(Et(at)),Z=_(Xt);j(()=>W(Z,`(#${c(kt).nodeId??""})`)),D(Me,at)};z(yi,Me=>{c(Ot)&&Me(I)})}var N=v(Ut,2),$=_(N),oe=v($);{var ie=Me=>{var at=XC(),Xt=v(Et(at)),Z=_(Xt);j(()=>W(Z,`(ep ${c(kt).endpointId??""})`)),D(Me,at)};z(oe,Me=>{c(Se)&&Me(ie)})}var ne=v(N,2),le=_(ne),et=v(ne,2),Fe=_(et),_e=v(et,2),Ke=_(_e);j(Me=>{W(Ht,c(Ot)??`#${c(kt).nodeId}`),W($,c(Se)??`ep${c(kt).endpointId}`),W(le,c(kt).clusterName),W(Fe,c(Ye)),W(Ke,Me)},[()=>p(c(kt).value)]),D(rt,lt)};z(ei,rt=>{c(kt).kind==="status"?rt(fe):rt(Je,-1)})}j(rt=>W(_i,rt),[()=>A(c(kt).ts)]),D(Pt,Qt)}),D($t,te)};z(Xe,$t=>{c(se).length===0?$t(ke):$t(It,-1)})}D(Y,Te)};z(Kt,Y=>{c(H)&&Y(si)})}var mt=v(Di,2);{var dt=Y=>{var Te=YY(),Xe=Et(Te),ke=v(Xe,2),It=_(ke),$t=v(_(It),2),te=v(It,2);{var Qe=Ot=>{var Se=ZY(),Ye=_(Se);j(()=>W(Ye,c(Mt))),D(Ot,Se)},Pt=Ot=>{var Se=XY(),Ye=Et(Se),Qt=_(Ye);gs(Qt,Zt=>m(st,Zt),()=>c(st)),D(Ot,Se)};z(te,Ot=>{c(Mt)?Ot(Qe):Ot(Pt,-1)})}var kt=v(te,2);gs(kt,Ot=>m(yt,Ot),()=>c(yt)),U("click",Xe,ci),U("click",$t,ci),D(Y,Te)};z(mt,Y=>{c(ht)&&Y(dt)})}j(()=>{qo(Ri,c(H)?`height: ${c(X)}px;`:""),W(nt,c(H)?"▾":"▸")}),U("click",gn,()=>m(re,!c(re))),U("mousedown",Ii,he),U("click",Ze,()=>{m(H,!c(H))}),D(o,Ui),$s()}Ys(["click","change","mousedown"]);var eQ=B("<button>›</button>"),tQ=B('<span class="chev-ph svelte-1vejtrc"></span>'),iQ=B('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),nQ=B("<button>🔒</button>"),sQ=B('<span class="acl-loading">Loading…</span>'),oQ=B("<span> </span>"),rQ=B('<span class="acl-dyn svelte-1vejtrc" title="per-user/client pattern — cannot evaluate statically">⚠%u/%c</span>'),aQ=B('<span class="acl-members svelte-1vejtrc"> </span>'),lQ=B('<span class="acl-group svelte-1vejtrc"> </span>'),cQ=B('<span> <strong class="svelte-1vejtrc"> </strong> <!> <!> <!></span>'),dQ=B('<div class="acl-sec svelte-1vejtrc"><span class="acl-sec-hdr svelte-1vejtrc"> </span> <!></div>'),uQ=B('<div class="acl-panel svelte-1vejtrc"><!></div>'),hQ=B('<div class="tc svelte-1vejtrc"></div>'),fQ=B('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!> <!></div> <!> <!></div>'),gQ=B('<button class="acl-refresh svelte-1vejtrc" title="Refresh ACL data">↺</button>'),pQ=B('<button title="Show ACL coverage for topics"><svg width="11" height="11" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><rect x="3" y="7" width="10" height="8" rx="1.5"></rect><path d="M5 7V5a3 3 0 0 1 6 0v2" fill="none" stroke="currentColor" stroke-width="1.8"></path></svg> ACL<!></button> <!>',1),xQ=B("<option></option>"),mQ=B('<span class="pub-ok svelte-1vejtrc">✓</span>'),vQ=B('<span class="pub-err svelte-1vejtrc"> </span>'),_Q=B('<div class="info svelte-1vejtrc">Loading…</div>'),bQ=B('<div class="info err svelte-1vejtrc"> </div>'),CQ=B('<div class="info svelte-1vejtrc">No topics match.</div>'),EQ=B('<div class="vr svelte-1vejtrc"><span class="v-topic svelte-1vejtrc"> </span> <span class="v-val svelte-1vejtrc"> </span> <span class="v-ts svelte-1vejtrc"> </span></div>'),yQ=B('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),wQ=B('<div class="info svelte-1vejtrc">No topics yet.</div>'),SQ=B('<div class="tree-wrap svelte-1vejtrc"><!></div>'),DQ=B('<span class="stream-badge"> </span>'),AQ=B('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),kQ=B('<span class="s-ret svelte-1vejtrc" title="retained snapshot">&#x229B;</span>'),BQ=B('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),FQ=B('<div class="stream-body svelte-1vejtrc"><!></div>'),LQ=B('<div class="ctx-bd svelte-1vejtrc"></div> <div class="ctx-menu svelte-1vejtrc"><button class="svelte-1vejtrc">Copy topic</button> <button class="svelte-1vejtrc">Clear retained</button></div>',1),IQ=B('<label class="modal-check svelte-1vejtrc"><input type="checkbox" class="svelte-1vejtrc"/> <span class="checkmark svelte-1vejtrc"></span> Recursive — also clear all child topics</label>'),PQ=B('<div class="modal-bd svelte-1vejtrc"></div> <div class="modal svelte-1vejtrc"><div class="modal-title svelte-1vejtrc">Clear retained</div> <div class="modal-body svelte-1vejtrc"><p class="svelte-1vejtrc">Clear retained value for <code class="svelte-1vejtrc"> </code>?</p> <!></div> <div class="modal-footer svelte-1vejtrc"><button class="btn-cancel svelte-1vejtrc">Cancel</button> <button class="btn-confirm svelte-1vejtrc">Clear</button></div></div>',1),TQ=B('<div class="page svelte-1vejtrc"><div class="toolbar svelte-1vejtrc"><h2 class="svelte-1vejtrc">MQTT</h2> <!></div> <div class="main-group svelte-1vejtrc"><div class="pub-bar svelte-1vejtrc"><input class="pt svelte-1vejtrc" type="text" placeholder="topic" list="pub-topic-list" autocomplete="off"/> <datalist id="pub-topic-list"></datalist> <input class="pp svelte-1vejtrc" type="text" placeholder="payload"/> <label class="rl svelte-1vejtrc"><input type="checkbox" class="svelte-1vejtrc"/> <span class="checkmark svelte-1vejtrc"></span> retain</label> <select class="svelte-1vejtrc"><option>QoS 0</option><option>QoS 1</option><option>QoS 2</option></select> <button class="svelte-1vejtrc">Publish</button> <!> <!></div> <div class="tree-filter-bar svelte-1vejtrc"><input class="filter-in svelte-1vejtrc" type="search" placeholder="Filter topics…"/> <span class="count svelte-1vejtrc"><!> </span></div> <!></div> <div class="stream-panel svelte-1vejtrc"><div class="stream-resize svelte-1vejtrc"></div> <div class="stream-hdr-row svelte-1vejtrc"><input class="filter-in stream-filter-in svelte-1vejtrc" type="search" placeholder="Live stream filter (MQTT wildcard, default: #)"/> <!> <button class="stream-toggle svelte-1vejtrc" title="Toggle live stream"> </button></div> <!></div> <!> <!></div>');function MQ(o,e){js(e,!0);const t=(I,N=rb)=>{const $=Lt(()=>c(g).has(N().path)),oe=Lt(()=>c(a)>=0&&N().children.size>0),ie=Lt(()=>c(a)>=0&&N().isLeaf&&!n.has(N().path));var ne=fQ(),le=_(ne);let et;var Fe=_(le);{var _e=Ie=>{var ge=eQ();let Re;j(()=>{Re=Ft(ge,1,"chev svelte-1vejtrc",null,Re,{open:c($)}),ln(ge,"aria-label",c($)?"Collapse":"Expand")}),U("click",ge,()=>p(N().path)),D(Ie,ge)},Ke=Ie=>{var ge=tQ();D(Ie,ge)};z(Fe,Ie=>{c(oe)?Ie(_e):Ie(Ke,-1)})}var Me=v(Fe,2),at=_(Me),Xt=v(Me,2);{var Z=Ie=>{var ge=iQ(),Re=Et(ge),Ne=_(Re),$e=v(Re,2),ct=_($e);j((je,gt,pe)=>{ln(Re,"title",je),W(Ne,gt),W(ct,pe)},[()=>{var je;return hi((je=bi(N().path))==null?void 0:je.val)},()=>{var je;return hi((je=bi(N().path))==null?void 0:je.val)},()=>{var je;return((je=bi(N().path))==null?void 0:je.ts)!=null?ui(bi(N().path).ts):""}]),D(Ie,ge)},ce=Lt(()=>N().isLeaf&&i.has(N().path));z(Xt,Ie=>{c(ce)&&Ie(Z)})}var Ve=v(Xt,2);{var vt=Ie=>{const ge=Lt(()=>!!c(Ui)&&cn(N().path));var Re=nQ();let Ne;j(()=>{Ne=Ft(Re,1,"acl-badge svelte-1vejtrc",null,Ne,{matched:c(ge)}),ln(Re,"title",c(ge)?"Has explicit ACL — click to inspect":"No explicit ACL — click to inspect defaults")}),U("click",Re,$e=>{$e.stopPropagation(),ft(N().path)}),D(Ie,Re)};z(Ve,Ie=>{c(Ci)&&N().isLeaf&&Ie(vt)})}var Le=v(le,2);{var Oe=Ie=>{var ge=uQ(),Re=_(ge);{var Ne=ct=>{var je=sQ();D(ct,je)},$e=ct=>{var je=ws(),gt=Et(je);ti(gt,17,()=>[{label:"Send",section:c(Di).send},{label:"Subscribe",section:c(Di).subscribe},{label:"Receive",section:c(Di).receive}],zi,(pe,He)=>{var Ct=dQ(),zt=_(Ct),bt=_(zt),fi=v(zt,2);{var ki=wi=>{var ai=oQ();let Vt;var Bt=_(ai);j(()=>{Vt=Ft(ai,1,"acl-def svelte-1vejtrc",null,Vt,{allow:c(He).section.default,deny:!c(He).section.default}),W(Bt,`${c(He).section.default?"allow":"deny"} (default)`)}),D(wi,ai)},Xi=wi=>{var ai=ws(),Vt=Et(ai);ti(Vt,17,()=>c(He).section.roles,zi,(Bt,Wt)=>{var oi=cQ();let gi;var tn=_(oi),dn=v(tn),In=_(dn),Hi=v(dn,2);{var An=Wi=>{var Gs=rQ();D(Wi,Gs)};z(Hi,Wi=>{c(Wt).dynamic&&Wi(An)})}var Gn=v(Hi,2);{var Pn=Wi=>{var Gs=aQ(),On=_(Gs);j(es=>W(On,es),[()=>c(Wt).users.join(", ")]),D(Wi,Gs)};z(Gn,Wi=>{c(Wt).users.length>0&&Wi(Pn)})}var Jn=v(Gn,2);ti(Jn,17,()=>c(Wt).groups,zi,(Wi,Gs)=>{var On=lQ(),es=_(On);j(()=>W(es,c(Gs).groupname)),D(Wi,On)}),j(()=>{gi=Ft(oi,1,"acl-role svelte-1vejtrc",null,gi,{allow:c(Wt).allow,deny:!c(Wt).allow}),W(tn,`${c(Wt).allow?"✓":"✗"} `),W(In,c(Wt).rolename)}),D(Bt,oi)}),D(wi,ai)};z(fi,wi=>{c(He).section.roles.length===0?wi(ki):wi(Xi,-1)})}j(()=>W(bt,c(He).label)),D(pe,Ct)}),D(ct,je)};z(Re,ct=>{c(wn)?ct(Ne):c(Di)&&ct($e,1)})}D(Ie,ge)};z(Le,Ie=>{c(Ci)&&N().isLeaf&&c(Yi)===N().path&&Ie(Oe)})}var St=v(Le,2);{var xt=Ie=>{var ge=hQ();ti(ge,21,()=>[...N().children.values()].sort((Re,Ne)=>Re.seg.localeCompare(Ne.seg)),Re=>Re.path,(Re,Ne)=>{t(Re,()=>c(Ne))}),D(Ie,ge)};z(St,Ie=>{c(oe)&&c($)&&Ie(xt)})}j(()=>{et=Ft(le,1,"tr svelte-1vejtrc",null,et,{stale:c(ie)}),W(at,N().seg)}),U("click",le,()=>{m(de,N().path+"/#")}),U("contextmenu",le,Ie=>{Ie.preventDefault(),m(ve,{x:Ie.clientX,y:Ie.clientY,topic:N().path},!0)}),D(I,ne)},i=new Map,n=new Set,s=new Set;let r=null,a=F(0);function d(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const I of s)f(I);s.clear(),u8(a)}))}const u=new Map;function f(I){const N=I.split("/");let $=u,oe="";for(let ie=0;ie<N.length;ie++){const ne=N[ie];oe=ie===0?ne:`${oe}/${ne}`,$.has(ne)||$.set(ne,{seg:ne,path:oe,children:new Map,isLeaf:!1});const le=$.get(ne);ie===N.length-1&&(le.isLeaf=!0),$=le.children}}let g=F(Pi(new Set));function p(I){const N=new Set(c(g));N.has(I)?N.delete(I):N.add(I),m(g,N,!0)}let C=F("");const b=24,y=5;let w=F(0),A=F(300),P=Lt(()=>{if(c(a),!c(C))return[];const I=c(C).toLowerCase().split(/\s+/).filter(Boolean),N=[];for(const[$,oe]of i){const ie=$.toLowerCase();I.every(ne=>ie.includes(ne))&&N.push({topic:$,...oe})}return N.sort(($,oe)=>$.topic.localeCompare(oe.topic))}),M=Lt(()=>{const I=c(P).length,N=Math.max(0,Math.floor(c(w)/b)-y),$=Math.min(I,Math.ceil((c(w)+c(A))/b)+y);return{start:N,end:$,totalH:I*b,top:N*b}});const R=1e3,T=200,V=20,H=36;let X=0,se=F(Pi([])),he=F(Pi([])),J=F(!0),de=F("#"),we=F(200);Kn(()=>{const I=c(de).trim(),N=Hl(()=>c(se)),$=!I||I==="#"?N.slice(0,T):N.filter(oe=>re(I,oe.topic)).slice(0,T);if(I&&I!=="#"){const oe=new Set($.map(ne=>ne.topic)),ie=[];for(const[ne,le]of i)oe.has(ne)||re(I,ne)&&ie.push({id:-(ie.length+1),topic:ne,val:le.val,ts:le.ts,retained:!0});ie.sort((ne,le)=>ne.topic.localeCompare(le.topic)),m(he,[...$,...ie],!0)}else m(he,$,!0)});function re(I,N){if(I==="#")return!0;const $=I.split("/"),oe=N.split("/");for(let ie=0;ie<$.length;ie++){if($[ie]==="#")return!0;if(ie>=oe.length||$[ie]!=="+"&&$[ie]!==oe[ie])return!1}return $.length===oe.length}function ae(I){I.preventDefault();const N=I.clientY,$=c(we);function oe(ne){m(we,Math.max(60,Math.min(800,$+N-ne.clientY)),!0)}function ie(){document.removeEventListener("mousemove",oe),document.removeEventListener("mouseup",ie)}document.addEventListener("mousemove",oe),document.addEventListener("mouseup",ie)}let De=Lt(()=>{const I=Math.max(1,Math.floor((c(we)-H)/V)+1);return c(he).slice(0,I)}),Pe=F(!0),xe=F(null);async function ze(){m(Pe,!0),m(xe,null);try{const I=await vF();for(const N of I)i.set(N.topic,{val:N.val,ts:N.ts}),f(N.topic)}catch(I){m(xe,I instanceof Error?I.message:String(I),!0)}finally{m(Pe,!1),u8(a)}}const We=hr("mqtt",I=>{const{topic:N,val:$,ts:oe}=I;i.set(N,{val:$,ts:oe}),n.add(N),s.add(N),d();const ie={id:X++,topic:N,val:$,ts:oe};m(se,[ie,...c(se).slice(0,R-1)],!0);const ne=c(de).trim();(!ne||ne==="#"||re(ne,N))&&m(he,[ie,...c(he).filter(le=>!(le.retained&&le.topic===N)).slice(0,T-1)],!0)});let ve=F(null),ht=F(null);async function Mt(I,N){const $=[I];if(N){const oe=I+"/";for(const ie of i.keys())ie.startsWith(oe)&&$.push(ie)}for(const oe of $)await f2(oe,"",!0,0)}let st=Lt(()=>(c(a),[...i.keys()].sort())),yt=F(""),Ce=F(""),Rt=F(!1),ci=F(0),qe=F(!1),it=F(null),Dt=F(!1);async function Jt(){if(c(yt)){m(qe,!0),m(it,null),m(Dt,!1);try{await f2(c(yt),c(Ce),c(Rt),c(ci)),m(Dt,!0),setTimeout(()=>{m(Dt,!1)},2e3)}catch(I){m(it,I instanceof Error?I.message:String(I),!0)}finally{m(qe,!1)}}}function hi(I){return I==null?"":typeof I=="object"?JSON.stringify(I):String(I)}function ui(I){return new Date(I).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function vi(I){return new Date(I).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function bi(I){return c(a),i.get(I)}let Ge=Lt(()=>(c(a),[...u.values()].sort((I,N)=>I.seg.localeCompare(N.seg)))),Ee=Lt(()=>(c(a),i.size)),ii=F(!1),Ci=F(!1),ni=F(!1),Ui=F(null),Yi=F(null),Di=F(null),wn=F(!1);function hn(I,N,$){return N.includes("%u")||N.includes("%c")?"dynamic":I==="subscribeLiteral"||I==="unsubscribeLiteral"?N===$?"match":"no-match":re(N,$)?"match":"no-match"}function cn(I){if(!c(Ui))return!1;for(const N of c(Ui).roles)if(N.acls){for(const $ of N.acls)if(hn($.acltype,$.topic,I)!=="no-match")return!0}return!1}async function gn(){m(ni,!0);try{const I=await SF();m(Ui,{roles:I.roles},!0)}catch{m(Ui,null),m(Ci,!1)}finally{m(ni,!1)}}async function ft(I){if(c(Yi)===I){m(Yi,null),m(Di,null);return}m(Yi,I,!0),m(Di,null),m(wn,!0);try{m(Di,await PU(I),!0)}catch{m(Di,null)}finally{m(wn,!1)}}async function Gt(){c(Ci)?(m(Ci,!1),m(Yi,null),m(Di,null)):(m(Ci,!0),m(Yi,null),m(Di,null),c(Ui)||await gn())}Xs(ze),Xs(async()=>{var I;try{const N=await Pb();m(ii,!!((I=N.dynsec)!=null&&I.dynsecReady),!0)}catch{m(ii,!1)}}),Vp(()=>{We(),r!==null&&cancelAnimationFrame(r)});var Mi=TQ(),Ki=_(Mi),Ei=v(_(Ki),2);{var Vi=I=>{var N=pQ(),$=Et(N);let oe;var ie=v(_($),2);{var ne=Fe=>{var _e=oo("…");D(Fe,_e)};z(ie,Fe=>{c(ni)&&Fe(ne)})}var le=v($,2);{var et=Fe=>{var _e=gQ();j(()=>_e.disabled=c(ni)),U("click",_e,gn),D(Fe,_e)};z(le,Fe=>{c(Ci)&&Fe(et)})}j(()=>{oe=Ft($,1,"acl-btn svelte-1vejtrc",null,oe,{active:c(Ci)}),$.disabled=c(ni)}),U("click",$,Gt),D(I,N)};z(Ei,I=>{c(ii)&&I(Vi)})}var ji=v(Ki,2),Ji=_(ji),Ai=_(Ji),tt=v(Ai,2);ti(tt,20,()=>c(st),I=>I,(I,N)=>{var $=xQ(),oe={};j(()=>{oe!==(oe=N)&&($.value=($.__value=N)??"")}),D(I,$)});var At=v(tt,2),Oi=v(At,2),Ri=_(Oi),Ii=v(Oi,2),Ni=_(Ii);Ni.value=Ni.__value=0;var K=v(Ni);K.value=K.__value=1;var Ae=v(K);Ae.value=Ae.__value=2;var Ze=v(Ii,2),nt=v(Ze,2);{var Kt=I=>{var N=mQ();D(I,N)};z(nt,I=>{c(Dt)&&I(Kt)})}var si=v(nt,2);{var mt=I=>{var N=vQ(),$=_(N);j(()=>W($,c(it))),D(I,N)};z(si,I=>{c(it)&&I(mt)})}var dt=v(Ji,2),Y=_(dt),Te=v(Y,2),Xe=_(Te);{var ke=I=>{var N=oo();j(()=>W(N,`${c(P).length??""} /`)),D(I,N)};z(Xe,I=>{c(C)&&I(ke)})}var It=v(Xe),$t=v(dt,2);{var te=I=>{var N=_Q();D(I,N)},Qe=I=>{var N=bQ(),$=_(N);j(()=>W($,c(xe))),D(I,N)},Pt=I=>{var N=ws(),$=Et(N);{var oe=ne=>{var le=CQ();D(ne,le)},ie=ne=>{var le=yQ(),et=_(le),Fe=_(et);ti(Fe,21,()=>c(P).slice(c(M).start,c(M).end),_e=>_e.topic,(_e,Ke)=>{var Me=EQ(),at=_(Me),Xt=_(at),Z=v(at,2),ce=_(Z),Ve=v(Z,2),vt=_(Ve);j((Le,Oe,St)=>{W(Xt,c(Ke).topic),ln(Z,"title",Le),W(ce,Oe),W(vt,St)},[()=>hi(c(Ke).val),()=>hi(c(Ke).val),()=>ui(c(Ke).ts)]),D(_e,Me)}),j(()=>{qo(et,`height: ${c(M).totalH??""}px; position: relative;`),qo(Fe,`top: ${c(M).top??""}px;`)}),xs("scroll",le,_e=>{m(w,_e.currentTarget.scrollTop,!0)}),hP(le,"clientHeight",_e=>m(A,_e)),D(ne,le)};z($,ne=>{c(P).length===0?ne(oe):ne(ie,-1)})}D(I,N)},kt=I=>{var N=SQ(),$=_(N);{var oe=ne=>{var le=wQ();D(ne,le)},ie=ne=>{var le=ws(),et=Et(le);ti(et,17,()=>c(Ge),Fe=>Fe.path,(Fe,_e)=>{t(Fe,()=>c(_e))}),D(ne,le)};z($,ne=>{c(Ge).length===0?ne(oe):ne(ie,-1)})}D(I,N)};z($t,I=>{c(Pe)?I(te):c(xe)?I(Qe,1):c(C)?I(Pt,2):I(kt,-1)})}var Ot=v(ji,2),Se=_(Ot),Ye=v(Se,2),Qt=_(Ye),Zt=v(Qt,2);{var _i=I=>{var N=DQ(),$=_(N);j(()=>W($,c(he).length)),D(I,N)};z(Zt,I=>{!c(J)&&c(he).length>0&&I(_i)})}var ei=v(Zt,2),fe=_(ei),Je=v(Ye,2);{var rt=I=>{var N=FQ(),$=_(N);{var oe=ne=>{var le=AQ();D(ne,le)},ie=ne=>{var le=ws(),et=Et(le);ti(et,17,()=>c(De),Fe=>Fe.id,(Fe,_e)=>{var Ke=BQ();let Me;var at=_(Ke),Xt=_(at),Z=v(at,2);{var ce=St=>{var xt=kQ();D(St,xt)};z(Z,St=>{c(_e).retained&&St(ce)})}var Ve=v(Z,2),vt=_(Ve),Le=v(Ve,2),Oe=_(Le);j((St,xt,Ie)=>{Me=Ft(Ke,1,"sr svelte-1vejtrc",null,Me,{retained:c(_e).retained}),W(Xt,St),W(vt,c(_e).topic),ln(Le,"title",xt),W(Oe,Ie)},[()=>vi(c(_e).ts),()=>hi(c(_e).val),()=>hi(c(_e).val)]),D(Fe,Ke)}),D(ne,le)};z($,ne=>{c(De).length===0?ne(oe):ne(ie,-1)})}D(I,N)};z(Je,I=>{c(J)&&I(rt)})}var lt=v(Ot,2);{var Ut=I=>{var N=LQ(),$=Et(N),oe=v($,2);let ie;var ne=_(oe),le=v(ne,2);j(()=>ie=qo(oe,"",ie,{left:`${c(ve).x??""}px`,top:`${c(ve).y??""}px`})),U("click",$,()=>m(ve,null)),U("contextmenu",$,et=>{et.preventDefault(),m(ve,null)}),U("click",ne,()=>{navigator.clipboard.writeText(c(ve).topic),m(ve,null)}),U("click",le,()=>{const et=c(ve).topic,Fe=et+"/",_e=[...i.keys()].some(Ke=>Ke.startsWith(Fe));m(ht,{topic:et,hasChildren:_e,recursive:!1},!0),m(ve,null)}),D(I,N)};z(lt,I=>{c(ve)&&I(Ut)})}var Ht=v(lt,2);{var yi=I=>{var N=PQ(),$=Et(N),oe=v($,2),ie=v(_(oe),2),ne=_(ie),le=v(_(ne)),et=_(le),Fe=v(ne,2);{var _e=Xt=>{var Z=IQ(),ce=_(Z);ys(ce,()=>c(ht).recursive,Ve=>c(ht).recursive=Ve),D(Xt,Z)};z(Fe,Xt=>{c(ht).hasChildren&&Xt(_e)})}var Ke=v(ie,2),Me=_(Ke),at=v(Me,2);j(()=>W(et,c(ht).topic)),U("click",$,()=>m(ht,null)),U("click",Me,()=>m(ht,null)),U("click",at,()=>{const{topic:Xt,recursive:Z}=c(ht);m(ht,null),Mt(Xt,Z)}),D(I,N)};z(Ht,I=>{c(ht)&&I(yi)})}j(()=>{Ze.disabled=c(qe)||!c(yt),W(It,` ${c(Ee)??""}`),qo(Ot,c(J)?`height: ${c(we)}px;`:""),W(fe,c(J)?"▾":"▸")}),jt(Ai,()=>c(yt),I=>m(yt,I)),jt(At,()=>c(Ce),I=>m(Ce,I)),ys(Ri,()=>c(Rt),I=>m(Rt,I)),Fs(Ii,()=>c(ci),I=>m(ci,I)),U("click",Ze,Jt),jt(Y,()=>c(C),I=>m(C,I)),U("mousedown",Se,ae),jt(Qt,()=>c(de),I=>m(de,I)),U("click",ei,()=>{m(J,!c(J))}),D(o,Mi),$s()}Ys(["click","contextmenu","mousedown"]);var RQ=B('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),NQ=B('<div class="restart-banner svelte-twakcj">⚠ Package changes require a daemon restart to take effect. <button class="restart-btn svelte-twakcj">Restart now</button></div>'),OQ=B('<div class="err svelte-twakcj"> </div>'),HQ=B('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),WQ=B('<p class="empty svelte-twakcj">No packages installed.</p>'),zQ=B('<p class="empty svelte-twakcj">No match.</p>'),VQ=B("<span> </span>"),jQ=y6('<svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><circle cx="8" cy="8" r="6" stroke-dasharray="18" stroke-dashoffset="4"></circle></svg>'),$Q=y6('<svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8A5 5 0 1 1 10.5 3.67"></path><polyline points="10.5,1.5 10.5,4 13,4"></polyline></svg>'),UQ=B('<div><div class="dep-info svelte-twakcj"><a class="dep-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="dep-ver svelte-twakcj"> </span> <!></div> <div class="dep-btns svelte-twakcj"><button><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 4.5l-4 4l-4 1.5l-1.5 1.5l7 7l1.5 -1.5l1.5 -4l4 -4"></path><line x1="9" y1="15" x2="4.5" y2="19.5"></line><line x1="14.5" y1="4" x2="20" y2="9.5"></line></svg></button> <button><!></button> <button class="icon-btn icon-btn--danger svelte-twakcj" title="Uninstall"><svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><line x1="2" y1="2" x2="14" y2="14"></line><line x1="14" y1="2" x2="2" y2="14"></line></svg></button></div></div>'),qQ=B('<span class="result-author svelte-twakcj"> </span>'),GQ=B('<span class="result-date svelte-twakcj"> </span>'),KQ=B('<span class="result-desc svelte-twakcj"> </span>'),ZQ=B('<div class="result-row svelte-twakcj"><div class="result-info svelte-twakcj"><a class="result-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="result-ver svelte-twakcj"> </span> <!> <!> <!></div> <button class="install-btn svelte-twakcj"> </button></div>'),XQ=B('<div class="results-list svelte-twakcj"></div>'),YQ=B('<pre class="npm-output svelte-twakcj"> </pre>'),QQ=B(`<p class="hint svelte-twakcj">Install npm packages into <code class="svelte-twakcj">~/.she/</code>. Scripts can then <code class="svelte-twakcj">require('package-name')</code> directly.</p>`),JQ=B('<!> <div class="pkg-shell svelte-twakcj"><!> <!> <div class="pkg-body svelte-twakcj"><div class="pkg-left svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Installed</span> <span class="pane-count svelte-twakcj"> </span> <!> <button class="icon-btn check-outdated-btn svelte-twakcj" title="Check for package updates"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8A5 5 0 1 1 10.5 3.67"></path><polyline points="10.5,1.5 10.5,4 13,4"></polyline></svg></button></div> <div class="filter-row svelte-twakcj"><input class="filter-in svelte-twakcj" type="search" placeholder="Filter…"/></div> <div class="installed-list svelte-twakcj"><!></div></div> <div class="pkg-right svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Search npm</span></div> <div class="search-row svelte-twakcj"><input class="search-in svelte-twakcj" type="text" placeholder="Package name, e.g. axios, lodash…"/> <button class="search-btn svelte-twakcj"> </button></div> <!> <!> <!></div></div></div>',1);function eJ(o,e){js(e,!0);let t=F(Pi([])),i=F(""),n=F(Pi({})),s=F(Pi([])),r=F(!1),a=F(""),d=F(Pi([])),u=F(!1),f=F(!1),g=F(!1),p=F(""),C=F(""),b=Pi({});const y=Lt(()=>c(i).trim()?c(t).filter(ft=>ft.name.toLowerCase().includes(c(i).toLowerCase())):c(t)),w=Lt(()=>Object.keys(c(n)).filter(ft=>!c(s).includes(ft)).length);Xs(async()=>{await Promise.all([A(),P(),M()])});async function A(){try{m(t,await Y$(),!0),m(p,"")}catch(ft){m(p,ft.message,!0)}}async function P(){try{m(n,await mF(),!0)}catch{}}async function M(){try{const ft=await Pl();m(s,Array.isArray(ft.pinnedPackages)?ft.pinnedPackages:[],!0)}catch{}}async function R(ft){const Gt=c(s).includes(ft)?c(s).filter(Mi=>Mi!==ft):[...c(s),ft];m(s,Gt,!0);try{const Mi=await Pl();await pp({...Mi,pinnedPackages:Gt})}catch{}}async function T(){m(r,!0);try{m(n,await iU(),!0)}catch{}finally{m(r,!1)}}async function V(){const ft=c(a).trim();if(!ft){m(d,[],!0);return}m(g,!0),m(p,"");try{m(d,await Q$(ft),!0)}catch(Gt){m(p,Gt.message,!0)}finally{m(g,!1)}}function H(ft){if(!ft)return"";try{return new Date(ft).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function X(ft,Gt){b[ft]=!0,m(p,""),m(C,"");try{const Mi=await J$(ft,Gt);m(C,Mi.stdout||Mi.stderr||"Done.",!0),m(u,!0),await A()}catch(Mi){m(p,Mi.message,!0)}finally{b[ft]=!1}}async function se(ft){b[ft]=!0,m(p,""),m(C,"");try{const Gt=await eU(ft);m(C,Gt.stdout||Gt.stderr||"Done.",!0),m(u,!0);const Mi={...c(n)};delete Mi[ft],m(n,Mi,!0),await A()}catch(Gt){m(p,Gt.message,!0)}finally{b[ft]=!1}}async function he(ft){b[ft]=!0,m(p,""),m(C,"");try{const Gt=await tU(ft);m(C,Gt.stdout||Gt.stderr||"Done.",!0),m(u,!0);const Mi={...c(n)};delete Mi[ft],m(n,Mi,!0),await A()}catch(Gt){m(p,Gt.message,!0)}finally{b[ft]=!1}}let J;async function de(){if(await J.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){m(f,!0);try{await gF()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var we=JQ(),re=Et(we);gs(Yc(re,{}),ft=>J=ft,()=>J);var ae=v(re,2),De=_(ae);{var Pe=ft=>{var Gt=RQ();D(ft,Gt)},xe=ft=>{var Gt=NQ(),Mi=v(_(Gt));U("click",Mi,de),D(ft,Gt)};z(De,ft=>{c(f)?ft(Pe):c(u)&&ft(xe,1)})}var ze=v(De,2);{var We=ft=>{var Gt=OQ(),Mi=_(Gt);j(()=>W(Mi,c(p))),D(ft,Gt)};z(ze,ft=>{c(p)&&ft(We)})}var ve=v(ze,2),ht=_(ve),Mt=_(ht),st=v(_(Mt),2),yt=_(st),Ce=v(st,2);{var Rt=ft=>{var Gt=HQ(),Mi=_(Gt);j(()=>W(Mi,`${c(w)??""} outdated`)),D(ft,Gt)};z(Ce,ft=>{c(w)>0&&ft(Rt)})}var ci=v(Ce,2),qe=_(ci);let it;var Dt=v(Mt,2),Jt=_(Dt),hi=v(Dt,2),ui=_(hi);{var vi=ft=>{var Gt=WQ();D(ft,Gt)},bi=ft=>{var Gt=zQ();D(ft,Gt)},Ge=ft=>{var Gt=ws(),Mi=Et(Gt);ti(Mi,17,()=>c(y),Ki=>Ki.name,(Ki,Ei)=>{var Vi=UQ();let ji;var Ji=_(Vi),Ai=_(Ji),tt=_(Ai),At=v(Ai,2),Oi=_(At),Ri=v(At,2);{var Ii=Y=>{var Te=VQ();let Xe;var ke=_(Te);j(It=>{Xe=Ft(Te,1,"dep-latest svelte-twakcj",null,Xe,It),W(ke,`→ v${c(n)[c(Ei).name].latest??""}`)},[()=>({"dep-latest--pinned":c(s).includes(c(Ei).name)})]),D(Y,Te)};z(Ri,Y=>{c(n)[c(Ei).name]&&Y(Ii)})}var Ni=v(Ji,2),K=_(Ni);let Ae;var Ze=v(K,2);let nt;var Kt=_(Ze);{var si=Y=>{var Te=jQ();D(Y,Te)},mt=Y=>{var Te=$Q();D(Y,Te)};z(Kt,Y=>{b[c(Ei).name]?Y(si):Y(mt,-1)})}var dt=v(Ze,2);j((Y,Te,Xe)=>{ji=Ft(Vi,1,"dep-row svelte-twakcj",null,ji,{"dep-busy":!!b[c(Ei).name]}),ln(Ai,"href",c(Ei).url??`https://www.npmjs.com/package/${c(Ei).name}`),W(tt,c(Ei).name),W(Oi,c(Ei).installedVersion??c(Ei).version),Ae=Ft(K,1,"icon-btn svelte-twakcj",null,Ae,Y),ln(K,"title",Te),nt=Ft(Ze,1,"icon-btn svelte-twakcj",null,nt,Xe),Ze.disabled=!!b[c(Ei).name],ln(Ze,"title",c(n)[c(Ei).name]?`Update to v${c(n)[c(Ei).name].latest}`:"Update to latest"),dt.disabled=!!b[c(Ei).name]},[()=>({"icon-btn--pinned":c(s).includes(c(Ei).name)}),()=>c(s).includes(c(Ei).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!c(n)[c(Ei).name]&&!c(s).includes(c(Ei).name)})]),U("click",K,()=>R(c(Ei).name)),U("click",Ze,()=>he(c(Ei).name)),U("click",dt,()=>se(c(Ei).name)),D(Ki,Vi)}),D(ft,Gt)};z(ui,ft=>{c(t).length===0?ft(vi):c(y).length===0?ft(bi,1):ft(Ge,-1)})}var Ee=v(ht,2),ii=v(_(Ee),2),Ci=_(ii),ni=v(Ci,2),Ui=_(ni),Yi=v(ii,2);{var Di=ft=>{var Gt=XQ();ti(Gt,21,()=>c(d),Mi=>Mi.name,(Mi,Ki)=>{var Ei=ZQ(),Vi=_(Ei),ji=_(Vi),Ji=_(ji),Ai=v(ji,2),tt=_(Ai),At=v(Ai,2);{var Oi=nt=>{var Kt=qQ(),si=_(Kt);j(()=>W(si,c(Ki).author)),D(nt,Kt)};z(At,nt=>{c(Ki).author&&nt(Oi)})}var Ri=v(At,2);{var Ii=nt=>{var Kt=GQ(),si=_(Kt);j(mt=>{ln(Kt,"title",c(Ki).date),W(si,mt)},[()=>H(c(Ki).date)]),D(nt,Kt)};z(Ri,nt=>{c(Ki).date&&nt(Ii)})}var Ni=v(Ri,2);{var K=nt=>{var Kt=KQ(),si=_(Kt);j(()=>W(si,c(Ki).description)),D(nt,Kt)};z(Ni,nt=>{c(Ki).description&&nt(K)})}var Ae=v(Vi,2),Ze=_(Ae);j(()=>{ln(ji,"href",c(Ki).url??`https://www.npmjs.com/package/${c(Ki).name}`),W(Ji,c(Ki).name),W(tt,c(Ki).version),Ae.disabled=!!b[c(Ki).name],W(Ze,b[c(Ki).name]?"Installing…":"Install")}),U("click",Ae,()=>X(c(Ki).name)),D(Mi,Ei)}),D(ft,Gt)};z(Yi,ft=>{c(d).length>0&&ft(Di)})}var wn=v(Yi,2);{var hn=ft=>{var Gt=YQ(),Mi=_(Gt);j(()=>W(Mi,c(C))),D(ft,Gt)};z(wn,ft=>{c(C)&&ft(hn)})}var cn=v(wn,2);{var gn=ft=>{var Gt=QQ();D(ft,Gt)};z(cn,ft=>{!c(d).length&&!c(C)&&ft(gn)})}j(()=>{W(yt,c(t).length),ci.disabled=c(r),it=Ft(qe,0,"svelte-twakcj",null,it,{spinning:c(r)}),ni.disabled=c(g),W(Ui,c(g)?"Searching…":"Search")}),U("click",ci,T),jt(Jt,()=>c(i),ft=>m(i,ft)),U("keydown",Ci,ft=>ft.key==="Enter"&&V()),jt(Ci,()=>c(a),ft=>m(a,ft)),U("click",ni,V),D(o,we),$s()}Ys(["click","keydown"]);var tJ=B('<div class="plugin-warning svelte-3itf14">⚠ The dynamic-security plugin is not responding. Add <code class="svelte-3itf14">plugin …/mosquitto_dynamic_security.so</code> and <code class="svelte-3itf14">plugin_opt_config_file …/dynamic-security.json</code> to your mosquitto.conf and restart mosquitto. Operations below will time out until the plugin is active.</div>'),Ca=B('<div class="err svelte-3itf14"> </div>'),iJ=B('<div class="empty svelte-3itf14">No users found.</div>'),nJ=B('<span class="tag svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove role">×</button></span>'),Th=B("<option> </option>"),qx=B('<div class="inline-err svelte-3itf14"> </div>'),K2=B('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— role —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),sJ=B('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove from group">×</button></span>'),oJ=B('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— group —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),rJ=B('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus svelte-3itf14" title="Add role">+</button></div> <!></div></td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus tag-plus--group svelte-3itf14" title="Add to group">+</button></div> <!></div></td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button title="Set password" class="svelte-3itf14">🔑</button> <button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),aJ=B('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Username</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14">Groups</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),lJ=B('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Users</h3> <button class="btn-add svelte-3itf14">+ Add user</button></div> <!> <!></div>'),cJ=B('<div class="empty svelte-3itf14">No roles found.</div>'),dJ=B('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button title="Edit ACLs" class="svelte-3itf14">Edit ACLs</button> <button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),uJ=B('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Role</th><th class="svelte-3itf14">ACLs</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),hJ=B('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Roles</h3> <button class="btn-add svelte-3itf14">+ Add role</button></div> <!> <!></div>'),fJ=B('<div class="empty svelte-3itf14">No groups found.</div>'),gJ=B('<span class="tag svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove member">×</button></span>'),pJ=B('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— user —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),xJ=B('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove role">×</button></span>'),mJ=B('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus svelte-3itf14" title="Add member">+</button></div> <!></div></td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus tag-plus--group svelte-3itf14" title="Add role">+</button></div> <!></div></td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),vJ=B('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Group</th><th class="svelte-3itf14">Members</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),_J=B('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Groups</h3> <button class="btn-add svelte-3itf14">+ Add group</button></div> <!> <!></div>'),Z2=B('<div class="empty svelte-3itf14">Loading…</div>'),bJ=B('<tr><td class="mono small svelte-3itf14"> </td><td class="acl-radio svelte-3itf14"><input type="radio" value="allow"/></td><td class="acl-radio svelte-3itf14"><input type="radio" value="deny"/></td></tr>'),CJ=B('<table class="acl-defaults-table svelte-3itf14"><thead><tr><th class="svelte-3itf14">Operation</th><th class="svelte-3itf14">Allow</th><th class="svelte-3itf14">Deny</th></tr></thead><tbody></tbody></table>'),EJ=B('<div class="anon-current svelte-3itf14">Current: <span class="mono svelte-3itf14"> </span></div>'),yJ=B('<div class="anon-current muted svelte-3itf14">No anonymous group configured.</div>'),wJ=B('<div class="anon-row svelte-3itf14"><select class="svelte-3itf14"><option>— none —</option><!></select> <button class="svelte-3itf14"> </button></div> <!>',1),SJ=B('<div class="panel svelte-3itf14"><div class="settings-section svelte-3itf14"><h3 class="settings-heading svelte-3itf14">Default ACL Access</h3> <p class="settings-hint svelte-3itf14">Broker-wide defaults applied when no role ACL matches. Role ACLs always take precedence over these defaults.</p> <!> <!></div> <div class="settings-section svelte-3itf14"><h3 class="settings-heading svelte-3itf14">Anonymous Group</h3> <p class="settings-hint svelte-3itf14">Clients connecting without credentials are treated as members of this group. Requires <code class="svelte-3itf14">allow_anonymous true</code> in mosquitto.conf.</p> <!> <!></div></div>'),DJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add user</h3> <label class="svelte-3itf14">Username<input autocomplete="off" class="svelte-3itf14"/></label> <label class="svelte-3itf14">Password <div class="pw-row svelte-3itf14"><input autocomplete="new-password" class="svelte-3itf14"/> <button class="toggle-pw svelte-3itf14"> </button></div></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),AJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Set password for <em class="svelte-3itf14"> </em></h3> <label class="svelte-3itf14">New password <input type="password" autocomplete="new-password" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),kJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add role</h3> <label class="svelte-3itf14">Role name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),BJ=B('<tr class="svelte-3itf14"><td class="mono small svelte-3itf14"> </td><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="svelte-3itf14"><button class="danger">✕</button></td></tr>'),FJ=B('<table class="acl-table svelte-3itf14"><thead><tr><th class="svelte-3itf14">Type</th><th class="svelte-3itf14">Topic</th><th class="svelte-3itf14">Allow</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),LJ=B('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),IJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-3itf14"><h3 class="svelte-3itf14">ACLs for role <em class="svelte-3itf14"> </em></h3> <!> <div class="acl-add-row svelte-3itf14"><select class="svelte-3itf14"></select> <input placeholder="topic or pattern" class="svelte-3itf14"/> <label class="allow-toggle svelte-3itf14"><input type="checkbox" class="svelte-3itf14"/> Allow</label> <button class="svelte-3itf14">Add</button></div> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Close</button></div></div></div>'),PJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add group</h3> <label class="svelte-3itf14">Group name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),TJ=B('<div class="users-page svelte-3itf14"><!> <div class="panel-tabs svelte-3itf14"><button>Users</button> <button>Roles</button> <button>Groups</button> <button>Settings</button> <button class="reload-btn svelte-3itf14" title="Refresh">↺</button></div> <!> <!> <!> <!></div> <!> <!> <!> <!> <!> <!>',1);function MJ(o,e){js(e,!0);let t=Tu(e,"dynsecReady",3,!1),i,n=F(Pi([])),s=F(Pi([])),r=F(Pi([])),a=F(""),d=F(""),u=F(""),f=F("users"),g=F(null),p=F(""),C=F(""),b=F(!1);const y=Lt(()=>c(g)?c(g).kind==="user-roles"?c(s).map(fe=>fe.rolename).filter(fe=>{var Je,rt;return!((rt=(Je=c(n).find(lt=>lt.username===c(g).target))==null?void 0:Je.roles)!=null&&rt.some(lt=>lt.rolename===fe))}):c(g).kind==="user-groups"?c(r).map(fe=>fe.groupname).filter(fe=>{var Je,rt;return!((rt=(Je=c(n).find(lt=>lt.username===c(g).target))==null?void 0:Je.groups)!=null&&rt.some(lt=>lt.groupname===fe))}):c(g).kind==="group-members"?c(n).map(fe=>fe.username).filter(fe=>{var Je,rt;return!((rt=(Je=c(r).find(lt=>lt.groupname===c(g).target))==null?void 0:Je.clients)!=null&&rt.some(lt=>lt.username===fe))}):c(s).map(fe=>fe.rolename).filter(fe=>{var Je,rt;return!((rt=(Je=c(r).find(lt=>lt.groupname===c(g).target))==null?void 0:Je.roles)!=null&&rt.some(lt=>lt.rolename===fe))}):[]);function w(fe,Je){m(g,{kind:fe,target:Je},!0),m(p,""),m(C,"")}async function A(){if(!(!c(g)||!c(p))){m(b,!0),m(C,"");try{const{kind:fe,target:Je}=c(g);fe==="user-roles"?await bU(Je,c(p)):fe==="user-groups"?await g2(c(p),Je):fe==="group-members"?await g2(Je,c(p)):await BU(Je,c(p)),m(g,null),m(p,""),await Di()}catch(fe){m(C,fe.message,!0)}finally{m(b,!1)}}}async function P(fe,Je){try{await CU(fe,Je),await Di()}catch(rt){m(a,rt.message,!0)}}async function M(fe,Je){try{await p2(Je,fe),await Di()}catch(rt){m(a,rt.message,!0)}}async function R(fe,Je){try{await p2(fe,Je),await Di()}catch(rt){m(u,rt.message,!0)}}async function T(fe,Je){try{await FU(fe,Je),await Di()}catch(rt){m(u,rt.message,!0)}}let V=F(!1),H=F(""),X=F(""),se=F(!1),he=F(""),J=F(!1),de=F(!1),we=F(""),re=F(""),ae=F(""),De=F(!1),Pe=F(!1),xe=F(""),ze=F(""),We=F(!1),ve=F(null),ht=F(!1),Mt=F("publishClientSend"),st=F(""),yt=F(!0),Ce=F(""),Rt=F(!1),ci=F(""),qe=F(""),it=F(!1),Dt=F(Pi([])),Jt=F(""),hi=F(!1),ui=F(null),vi=F(""),bi=F(""),Ge=F(!1),Ee=F(!1);const ii=[{acltype:"publishClientSend",label:"Publish (send)"},{acltype:"publishClientReceive",label:"Publish (receive)"},{acltype:"subscribe",label:"Subscribe"},{acltype:"unsubscribe",label:"Unsubscribe"}];async function Ci(){var fe,Je;m(Ee,!1),m(Jt,""),m(bi,"");try{const[rt,lt]=await Promise.allSettled([LU(),TU()]);if(rt.status==="fulfilled"){const Ut=Object.fromEntries(rt.value.acls.map(Ht=>[Ht.acltype,Ht.allow]));m(Dt,ii.map(({acltype:Ht})=>({acltype:Ht,allow:Ut[Ht]??(Ht==="publishClientReceive"||Ht==="unsubscribe")})),!0)}else m(Jt,((fe=rt.reason)==null?void 0:fe.message)??"Failed to load default ACLs",!0);lt.status==="fulfilled"?(m(ui,lt.value.group,!0),m(vi,lt.value.group??"",!0)):m(bi,((Je=lt.reason)==null?void 0:Je.message)??"Failed to load anonymous group",!0)}finally{m(Ee,!0)}}async function ni(fe,Je){m(Dt,c(Dt).map(rt=>rt.acltype===fe?{...rt,allow:Je}:rt),!0),m(hi,!0),m(Jt,"");try{await IU(c(Dt))}catch(rt){m(Jt,rt.message,!0)}finally{m(hi,!1)}}async function Ui(){m(Ge,!0),m(bi,"");try{await MU(c(vi)||null),m(ui,c(vi)||null,!0)}catch(fe){m(bi,fe.message,!0)}finally{m(Ge,!1)}}const Yi=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function Di(){var fe,Je,rt;try{const[lt,Ut,Ht]=await Promise.allSettled([xU(),SF(),DU()]);lt.status==="fulfilled"?(m(n,lt.value.users,!0),m(a,"")):m(a,((fe=lt.reason)==null?void 0:fe.message)??"Failed to load users",!0),Ut.status==="fulfilled"?(m(s,Ut.value.roles,!0),m(d,"")):m(d,((Je=Ut.reason)==null?void 0:Je.message)??"Failed to load roles",!0),Ht.status==="fulfilled"?(m(r,Ht.value.groups,!0),m(u,"")):m(u,((rt=Ht.reason)==null?void 0:rt.message)??"Failed to load groups",!0)}catch{}}Xs(()=>{Di()});async function wn(){m(he,""),m(J,!0);try{await mU(c(H),c(X)),m(H,""),m(X,""),m(V,!1),await Di()}catch(fe){m(he,fe.message??"Failed to create user",!0)}finally{m(J,!1)}}async function hn(fe){if(await i.show(`Delete user “${fe}”?`,{confirm:"Delete",danger:!0}))try{await vU(fe),await Di()}catch(Je){m(a,Je.message,!0)}}async function cn(fe){m(we,fe,!0),m(re,""),m(ae,""),m(de,!0)}async function gn(){m(ae,""),m(De,!0);try{await _U(c(we),c(re)),m(de,!1)}catch(fe){m(ae,fe.message,!0)}finally{m(De,!1)}}async function ft(){m(ze,""),m(We,!0);try{await EU(c(xe)),m(xe,""),m(Pe,!1),await Di()}catch(fe){m(ze,fe.message??"Failed to create role",!0)}finally{m(We,!1)}}async function Gt(fe){var Je;if(await i.show(`Delete role “${fe}”?`,{confirm:"Delete",danger:!0}))try{await yU(fe),((Je=c(ve))==null?void 0:Je.rolename)===fe&&(m(ve,null),m(ht,!1)),await Di()}catch(rt){m(d,rt.message,!0)}}function Mi(fe){m(ve,fe,!0),m(ht,!0),m(Mt,"publishClientSend"),m(st,""),m(yt,!0),m(Ce,"")}async function Ki(){if(c(ve)){m(Ce,"");try{await wU(c(ve).rolename,{acltype:c(Mt),topic:c(st),allow:c(yt)}),m(st,""),await Di(),m(ve,c(s).find(fe=>fe.rolename===c(ve).rolename)??c(ve),!0)}catch(fe){m(Ce,fe.message,!0)}}}async function Ei(fe,Je,rt){try{await SU(fe,Je,rt),await Di(),m(ve,c(s).find(lt=>lt.rolename===fe)??c(ve),!0)}catch(lt){m(Ce,lt.message,!0)}}async function Vi(){m(qe,""),m(it,!0);try{await AU(c(ci)),m(ci,""),m(Rt,!1),await Di()}catch(fe){m(qe,fe.message??"Failed to create group",!0)}finally{m(it,!1)}}async function ji(fe){if(await i.show(`Delete group “${fe}”?`,{confirm:"Delete",danger:!0}))try{await kU(fe),await Di()}catch(Je){m(u,Je.message,!0)}}var Ji=TJ(),Ai=Et(Ji),tt=_(Ai);{var At=fe=>{var Je=tJ();D(fe,Je)};z(tt,fe=>{t()||fe(At)})}var Oi=v(tt,2),Ri=_(Oi);let Ii;var Ni=v(Ri,2);let K;var Ae=v(Ni,2);let Ze;var nt=v(Ae,2);let Kt;var si=v(nt,2),mt=v(Oi,2);{var dt=fe=>{var Je=lJ(),rt=_(Je),lt=v(_(rt),2),Ut=v(rt,2);{var Ht=$=>{var oe=Ca(),ie=_(oe);j(()=>W(ie,c(a))),D($,oe)};z(Ut,$=>{c(a)&&$(Ht)})}var yi=v(Ut,2);{var I=$=>{var oe=iJ();D($,oe)},N=$=>{var oe=aJ(),ie=v(_(oe));ti(ie,21,()=>c(n),zi,(ne,le)=>{var et=rJ(),Fe=_(et),_e=_(Fe),Ke=v(Fe),Me=_(Ke),at=_(Me),Xt=_(at);ti(Xt,17,()=>c(le).roles??[],zi,(je,gt)=>{var pe=nJ(),He=_(pe),Ct=v(He);j(()=>W(He,c(gt).rolename)),U("click",Ct,()=>P(c(le).username,c(gt).rolename)),D(je,pe)});var Z=v(Xt,2),ce=v(at,2);{var Ve=je=>{var gt=K2(),pe=Et(gt),He=_(pe),Ct=_(He);Ct.value=Ct.__value="";var zt=v(Ct);ti(zt,17,()=>c(y),zi,(wi,ai)=>{var Vt=Th(),Bt=_(Vt),Wt={};j(()=>{W(Bt,c(ai)),Wt!==(Wt=c(ai))&&(Vt.value=(Vt.__value=c(ai))??"")}),D(wi,Vt)});var bt=v(He,2),fi=v(bt,2),ki=v(pe,2);{var Xi=wi=>{var ai=qx(),Vt=_(ai);j(()=>W(Vt,c(C))),D(wi,ai)};z(ki,wi=>{c(C)&&wi(Xi)})}j(()=>bt.disabled=!c(p)||c(b)),Fs(He,()=>c(p),wi=>m(p,wi)),U("click",bt,A),U("click",fi,()=>m(g,null)),D(je,gt)};z(ce,je=>{var gt;((gt=c(g))==null?void 0:gt.kind)==="user-roles"&&c(g).target===c(le).username&&je(Ve)})}var vt=v(Ke),Le=_(vt),Oe=_(Le),St=_(Oe);ti(St,17,()=>c(le).groups??[],zi,(je,gt)=>{var pe=sJ(),He=_(pe),Ct=v(He);j(()=>W(He,c(gt).groupname)),U("click",Ct,()=>M(c(le).username,c(gt).groupname)),D(je,pe)});var xt=v(St,2),Ie=v(Oe,2);{var ge=je=>{var gt=oJ(),pe=Et(gt),He=_(pe),Ct=_(He);Ct.value=Ct.__value="";var zt=v(Ct);ti(zt,17,()=>c(y),zi,(wi,ai)=>{var Vt=Th(),Bt=_(Vt),Wt={};j(()=>{W(Bt,c(ai)),Wt!==(Wt=c(ai))&&(Vt.value=(Vt.__value=c(ai))??"")}),D(wi,Vt)});var bt=v(He,2),fi=v(bt,2),ki=v(pe,2);{var Xi=wi=>{var ai=qx(),Vt=_(ai);j(()=>W(Vt,c(C))),D(wi,ai)};z(ki,wi=>{c(C)&&wi(Xi)})}j(()=>bt.disabled=!c(p)||c(b)),Fs(He,()=>c(p),wi=>m(p,wi)),U("click",bt,A),U("click",fi,()=>m(g,null)),D(je,gt)};z(Ie,je=>{var gt;((gt=c(g))==null?void 0:gt.kind)==="user-groups"&&c(g).target===c(le).username&&je(ge)})}var Re=v(vt),Ne=_(Re),$e=_(Ne),ct=v($e,2);j(()=>W(_e,c(le).username)),U("click",Z,()=>w("user-roles",c(le).username)),U("click",xt,()=>w("user-groups",c(le).username)),U("click",$e,()=>cn(c(le).username)),U("click",ct,()=>hn(c(le).username)),D(ne,et)}),D($,oe)};z(yi,$=>{c(n).length===0?$(I):$(N,-1)})}U("click",lt,()=>{m(V,!0),m(he,"")}),D(fe,Je)};z(mt,fe=>{c(f)==="users"&&fe(dt)})}var Y=v(mt,2);{var Te=fe=>{var Je=hJ(),rt=_(Je),lt=v(_(rt),2),Ut=v(rt,2);{var Ht=$=>{var oe=Ca(),ie=_(oe);j(()=>W(ie,c(d))),D($,oe)};z(Ut,$=>{c(d)&&$(Ht)})}var yi=v(Ut,2);{var I=$=>{var oe=cJ();D($,oe)},N=$=>{var oe=uJ(),ie=v(_(oe));ti(ie,21,()=>c(s),zi,(ne,le)=>{var et=dJ(),Fe=_(et),_e=_(Fe),Ke=v(Fe),Me=_(Ke),at=v(Ke),Xt=_(at),Z=_(Xt),ce=v(Z,2);j(()=>{var Ve;W(_e,c(le).rolename),W(Me,((Ve=c(le).acls)==null?void 0:Ve.length)??0)}),U("click",Z,()=>Mi(c(le))),U("click",ce,()=>Gt(c(le).rolename)),D(ne,et)}),D($,oe)};z(yi,$=>{c(s).length===0?$(I):$(N,-1)})}U("click",lt,()=>{m(Pe,!0),m(ze,""),m(xe,"")}),D(fe,Je)};z(Y,fe=>{c(f)==="roles"&&fe(Te)})}var Xe=v(Y,2);{var ke=fe=>{var Je=_J(),rt=_(Je),lt=v(_(rt),2),Ut=v(rt,2);{var Ht=$=>{var oe=Ca(),ie=_(oe);j(()=>W(ie,c(u))),D($,oe)};z(Ut,$=>{c(u)&&$(Ht)})}var yi=v(Ut,2);{var I=$=>{var oe=fJ();D($,oe)},N=$=>{var oe=vJ(),ie=v(_(oe));ti(ie,21,()=>c(r),zi,(ne,le)=>{var et=mJ(),Fe=_(et),_e=_(Fe),Ke=v(Fe),Me=_(Ke),at=_(Me),Xt=_(at);ti(Xt,17,()=>c(le).clients??[],zi,(ct,je)=>{var gt=gJ(),pe=_(gt),He=v(pe);j(()=>W(pe,c(je).username)),U("click",He,()=>R(c(le).groupname,c(je).username)),D(ct,gt)});var Z=v(Xt,2),ce=v(at,2);{var Ve=ct=>{var je=pJ(),gt=Et(je),pe=_(gt),He=_(pe);He.value=He.__value="";var Ct=v(He);ti(Ct,17,()=>c(y),zi,(Xi,wi)=>{var ai=Th(),Vt=_(ai),Bt={};j(()=>{W(Vt,c(wi)),Bt!==(Bt=c(wi))&&(ai.value=(ai.__value=c(wi))??"")}),D(Xi,ai)});var zt=v(pe,2),bt=v(zt,2),fi=v(gt,2);{var ki=Xi=>{var wi=qx(),ai=_(wi);j(()=>W(ai,c(C))),D(Xi,wi)};z(fi,Xi=>{c(C)&&Xi(ki)})}j(()=>zt.disabled=!c(p)||c(b)),Fs(pe,()=>c(p),Xi=>m(p,Xi)),U("click",zt,A),U("click",bt,()=>m(g,null)),D(ct,je)};z(ce,ct=>{var je;((je=c(g))==null?void 0:je.kind)==="group-members"&&c(g).target===c(le).groupname&&ct(Ve)})}var vt=v(Ke),Le=_(vt),Oe=_(Le),St=_(Oe);ti(St,17,()=>c(le).roles??[],zi,(ct,je)=>{var gt=xJ(),pe=_(gt),He=v(pe);j(()=>W(pe,c(je).rolename)),U("click",He,()=>T(c(le).groupname,c(je).rolename)),D(ct,gt)});var xt=v(St,2),Ie=v(Oe,2);{var ge=ct=>{var je=K2(),gt=Et(je),pe=_(gt),He=_(pe);He.value=He.__value="";var Ct=v(He);ti(Ct,17,()=>c(y),zi,(Xi,wi)=>{var ai=Th(),Vt=_(ai),Bt={};j(()=>{W(Vt,c(wi)),Bt!==(Bt=c(wi))&&(ai.value=(ai.__value=c(wi))??"")}),D(Xi,ai)});var zt=v(pe,2),bt=v(zt,2),fi=v(gt,2);{var ki=Xi=>{var wi=qx(),ai=_(wi);j(()=>W(ai,c(C))),D(Xi,wi)};z(fi,Xi=>{c(C)&&Xi(ki)})}j(()=>zt.disabled=!c(p)||c(b)),Fs(pe,()=>c(p),Xi=>m(p,Xi)),U("click",zt,A),U("click",bt,()=>m(g,null)),D(ct,je)};z(Ie,ct=>{var je;((je=c(g))==null?void 0:je.kind)==="group-roles"&&c(g).target===c(le).groupname&&ct(ge)})}var Re=v(vt),Ne=_(Re),$e=_(Ne);j(()=>W(_e,c(le).groupname)),U("click",Z,()=>w("group-members",c(le).groupname)),U("click",xt,()=>w("group-roles",c(le).groupname)),U("click",$e,()=>ji(c(le).groupname)),D(ne,et)}),D($,oe)};z(yi,$=>{c(r).length===0?$(I):$(N,-1)})}U("click",lt,()=>{m(Rt,!0),m(qe,""),m(ci,"")}),D(fe,Je)};z(Xe,fe=>{c(f)==="groups"&&fe(ke)})}var It=v(Xe,2);{var $t=fe=>{var Je=SJ(),rt=_(Je),lt=v(_(rt),4);{var Ut=et=>{var Fe=Ca(),_e=_(Fe);j(()=>W(_e,c(Jt))),D(et,Fe)};z(lt,et=>{c(Jt)&&et(Ut)})}var Ht=v(lt,2);{var yi=et=>{var Fe=Z2();D(et,Fe)},I=et=>{var Fe=CJ(),_e=v(_(Fe));ti(_e,21,()=>ii,zi,(Ke,Me)=>{let at=()=>c(Me).acltype,Xt=()=>c(Me).label;const Z=Lt(()=>c(Dt).find(ge=>ge.acltype===at()));var ce=bJ();let Ve;var vt=_(ce),Le=_(vt),Oe=v(vt),St=_(Oe),xt=v(Oe),Ie=_(xt);j(()=>{var ge,Re;Ve=Ft(ce,1,"svelte-3itf14",null,Ve,{saving:c(hi)}),W(Le,Xt()),ln(St,"name",at()),Zo(St,((ge=c(Z))==null?void 0:ge.allow)===!0),ln(Ie,"name",at()),Zo(Ie,((Re=c(Z))==null?void 0:Re.allow)===!1)}),U("change",St,()=>ni(at(),!0)),U("change",Ie,()=>ni(at(),!1)),D(Ke,ce)}),D(et,Fe)};z(Ht,et=>{c(Ee)?et(I,-1):et(yi)})}var N=v(rt,2),$=v(_(N),4);{var oe=et=>{var Fe=Ca(),_e=_(Fe);j(()=>W(_e,c(bi))),D(et,Fe)};z($,et=>{c(bi)&&et(oe)})}var ie=v($,2);{var ne=et=>{var Fe=Z2();D(et,Fe)},le=et=>{var Fe=wJ(),_e=Et(Fe),Ke=_(_e),Me=_(Ke);Me.value=Me.__value="";var at=v(Me);ti(at,17,()=>c(r),zi,(Le,Oe)=>{var St=Th(),xt=_(St),Ie={};j(()=>{W(xt,c(Oe).groupname),Ie!==(Ie=c(Oe).groupname)&&(St.value=(St.__value=c(Oe).groupname)??"")}),D(Le,St)});var Xt=v(Ke,2),Z=_(Xt),ce=v(_e,2);{var Ve=Le=>{var Oe=EJ(),St=v(_(Oe)),xt=_(St);j(()=>W(xt,c(ui))),D(Le,Oe)},vt=Le=>{var Oe=yJ();D(Le,Oe)};z(ce,Le=>{c(ui)?Le(Ve):Le(vt,-1)})}j(()=>{Xt.disabled=c(Ge)||c(vi)===(c(ui)??""),W(Z,c(Ge)?"Saving…":"Save")}),Fs(Ke,()=>c(vi),Le=>m(vi,Le)),U("click",Xt,Ui),D(et,Fe)};z(ie,et=>{c(Ee)?et(le,-1):et(ne)})}D(fe,Je)};z(It,fe=>{c(f)==="settings"&&fe($t)})}var te=v(Ai,2);{var Qe=fe=>{var Je=DJ(),rt=_(Je),lt=v(_(rt),2),Ut=v(_(lt)),Ht=v(lt,2),yi=v(_(Ht)),I=_(yi),N=v(I,2),$=_(N),oe=v(Ht,2);{var ie=_e=>{var Ke=Ca(),Me=_(Ke);j(()=>W(Me,c(he))),D(_e,Ke)};z(oe,_e=>{c(he)&&_e(ie)})}var ne=v(oe,2),le=_(ne),et=v(le,2),Fe=_(et);j(()=>{ln(I,"type",c(se)?"text":"password"),W($,c(se)?"Hide":"Show"),et.disabled=c(J)||!c(H)||!c(X),W(Fe,c(J)?"Creating…":"Create")}),jt(Ut,()=>c(H),_e=>m(H,_e)),jt(I,()=>c(X),_e=>m(X,_e)),U("click",N,()=>m(se,!c(se))),U("click",le,()=>m(V,!1)),U("click",et,wn),D(fe,Je)};z(te,fe=>{c(V)&&fe(Qe)})}var Pt=v(te,2);{var kt=fe=>{var Je=AJ(),rt=_(Je),lt=_(rt),Ut=v(_(lt)),Ht=_(Ut),yi=v(lt,2),I=v(_(yi)),N=v(yi,2);{var $=et=>{var Fe=Ca(),_e=_(Fe);j(()=>W(_e,c(ae))),D(et,Fe)};z(N,et=>{c(ae)&&et($)})}var oe=v(N,2),ie=_(oe),ne=v(ie,2),le=_(ne);j(()=>{W(Ht,c(we)),ne.disabled=c(De)||!c(re),W(le,c(De)?"Saving…":"Set password")}),jt(I,()=>c(re),et=>m(re,et)),U("click",ie,()=>m(de,!1)),U("click",ne,gn),D(fe,Je)};z(Pt,fe=>{c(de)&&fe(kt)})}var Ot=v(Pt,2);{var Se=fe=>{var Je=kJ(),rt=_(Je),lt=v(_(rt),2),Ut=v(_(lt)),Ht=v(lt,2);{var yi=ie=>{var ne=Ca(),le=_(ne);j(()=>W(le,c(ze))),D(ie,ne)};z(Ht,ie=>{c(ze)&&ie(yi)})}var I=v(Ht,2),N=_(I),$=v(N,2),oe=_($);j(()=>{$.disabled=c(We)||!c(xe),W(oe,c(We)?"Creating…":"Create")}),jt(Ut,()=>c(xe),ie=>m(xe,ie)),U("click",N,()=>m(Pe,!1)),U("click",$,ft),D(fe,Je)};z(Ot,fe=>{c(Pe)&&fe(Se)})}var Ye=v(Ot,2);{var Qt=fe=>{var Je=IJ(),rt=_(Je),lt=_(rt),Ut=v(_(lt)),Ht=_(Ut),yi=v(lt,2);{var I=at=>{var Xt=FJ(),Z=v(_(Xt));ti(Z,21,()=>c(ve).acls??[],zi,(ce,Ve)=>{var vt=BJ(),Le=_(vt),Oe=_(Le),St=v(Le),xt=_(St),Ie=v(St),ge=_(Ie),Re=v(Ie),Ne=_(Re);j(()=>{W(Oe,c(Ve).acltype),W(xt,c(Ve).topic),W(ge,c(Ve).allow?"✓":"✗")}),U("click",Ne,()=>Ei(c(ve).rolename,c(Ve).acltype,c(Ve).topic)),D(ce,vt)}),D(at,Xt)},N=at=>{var Xt=LJ();D(at,Xt)};z(yi,at=>{var Xt;(((Xt=c(ve).acls)==null?void 0:Xt.length)??0)>0?at(I):at(N,-1)})}var $=v(yi,2),oe=_($);ti(oe,21,()=>Yi,zi,(at,Xt)=>{var Z=Th(),ce=_(Z),Ve={};j(()=>{W(ce,c(Xt)),Ve!==(Ve=c(Xt))&&(Z.value=(Z.__value=c(Xt))??"")}),D(at,Z)});var ie=v(oe,2),ne=v(ie,2),le=_(ne),et=v(ne,2),Fe=v($,2);{var _e=at=>{var Xt=Ca(),Z=_(Xt);j(()=>W(Z,c(Ce))),D(at,Xt)};z(Fe,at=>{c(Ce)&&at(_e)})}var Ke=v(Fe,2),Me=_(Ke);j(()=>{W(Ht,c(ve).rolename),et.disabled=!c(st)}),Fs(oe,()=>c(Mt),at=>m(Mt,at)),jt(ie,()=>c(st),at=>m(st,at)),ys(le,()=>c(yt),at=>m(yt,at)),U("click",et,Ki),U("click",Me,()=>m(ht,!1)),D(fe,Je)};z(Ye,fe=>{c(ht)&&c(ve)&&fe(Qt)})}var Zt=v(Ye,2);{var _i=fe=>{var Je=PJ(),rt=_(Je),lt=v(_(rt),2),Ut=v(_(lt)),Ht=v(lt,2);{var yi=ie=>{var ne=Ca(),le=_(ne);j(()=>W(le,c(qe))),D(ie,ne)};z(Ht,ie=>{c(qe)&&ie(yi)})}var I=v(Ht,2),N=_(I),$=v(N,2),oe=_($);j(()=>{$.disabled=c(it)||!c(ci),W(oe,c(it)?"Creating…":"Create")}),jt(Ut,()=>c(ci),ie=>m(ci,ie)),U("click",N,()=>m(Rt,!1)),U("click",$,Vi),D(fe,Je)};z(Zt,fe=>{c(Rt)&&fe(_i)})}var ei=v(Zt,2);gs(Yc(ei,{}),fe=>i=fe,()=>i),j(()=>{Ii=Ft(Ri,1,"svelte-3itf14",null,Ii,{active:c(f)==="users"}),K=Ft(Ni,1,"svelte-3itf14",null,K,{active:c(f)==="roles"}),Ze=Ft(Ae,1,"svelte-3itf14",null,Ze,{active:c(f)==="groups"}),Kt=Ft(nt,1,"svelte-3itf14",null,Kt,{active:c(f)==="settings"})}),U("click",Ri,()=>m(f,"users")),U("click",Ni,()=>m(f,"roles")),U("click",Ae,()=>m(f,"groups")),U("click",nt,()=>{m(f,"settings"),c(Ee)||Ci()}),U("click",si,Di),D(o,Ji),$s()}Ys(["click","change"]);var X2=B('<div class="err svelte-9i68x"> </div>'),RJ=B('<div class="ok svelte-9i68x">Saved.</div>'),NJ=B('<div class="reload-msg svelte-9i68x"> </div>'),OJ=B('<div class="loading svelte-9i68x">Loading…</div>'),HJ=B('<div class="anon-row svelte-9i68x"><span class="field-label svelte-9i68x"><code class="svelte-9i68x">allow_anonymous</code></span> <select class="svelte-9i68x"><option>auto (broker default)</option><option>true — allow unauthenticated clients</option><option>false — require authentication</option></select></div>'),WJ=B("<option></option>"),zJ=B('<div class="tls-section svelte-9i68x"><div class="field-row svelte-9i68x"><label class="svelte-9i68x">Certificate file (certfile) <input placeholder="/etc/mosquitto/certs/server.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Key file (keyfile) <input placeholder="/etc/mosquitto/certs/server.key" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CA file (cafile) — single CA cert <input placeholder="/etc/mosquitto/ca.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">CA path (capath) — CA cert directory <input placeholder="/etc/mosquitto/ca-certs/" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CRL file (crlfile) <input placeholder="/etc/mosquitto/crl.pem" class="svelte-9i68x"/></label> <label class="svelte-9i68x">TLS version <select class="svelte-9i68x"><option>Default</option><option>tlsv1.3</option><option>tlsv1.2</option></select></label></div> <div class="field-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Require client certificate (require_certificate)</label> <label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Use cert CN as username (use_identity_as_username)</label></div></div>'),VJ=B('<div class="field-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Use cert Subject as username (use_subject_as_username)</label></div>'),jJ=B('<div class="advanced-section svelte-9i68x"><div class="field-row svelte-9i68x"><label class="svelte-9i68x">Mount point <input placeholder="(none)" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Max connections <input type="number" min="-1" placeholder="-1 (unlimited)" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Max QoS <select class="svelte-9i68x"><option>default</option><option>0 — fire and forget</option><option>1 — at least once</option><option>2 — exactly once</option></select></label></div> <!></div>'),$J=B('<div class="auth-section svelte-9i68x"><div class="auth-section-title svelte-9i68x">Authentication</div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">allow_anonymous <select class="svelte-9i68x"><option>auto (broker default)</option><option>true — allow unauthenticated</option><option>false — require auth</option></select></label> <label class="svelte-9i68x">password_file <input placeholder="/etc/mosquitto/passwd" class="svelte-9i68x"/></label> <label class="svelte-9i68x">acl_file <input placeholder="/etc/mosquitto/acl" class="svelte-9i68x"/></label></div></div>'),UJ=B('<div class="listener-card svelte-9i68x"><div class="card-title svelte-9i68x"><span> </span> <button class="remove-btn svelte-9i68x" title="Remove listener">✕</button></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">Port <input type="number" min="1" max="65535" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Protocol <select class="svelte-9i68x"><option>mqtt</option><option>websockets</option></select></label> <label class="svelte-9i68x">Bind address <input placeholder="(all interfaces)" class="svelte-9i68x"/></label> <label class="toggle-label tls-inline svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> TLS</label></div> <datalist></datalist> <!> <button class="advanced-btn svelte-9i68x"> </button> <!> <!></div>'),qJ=B('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),GJ=B('<div class="global-settings svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> <span><code>per_listener_settings</code> — independent auth per listener</span> <span class="info-icon svelte-9i68x" title="Not recommended when using the dynamic-security plugin — dynsec credentials only apply to the default listener. See mosquitto documentation.">ℹ</span></label> <!></div> <div class="cards svelte-9i68x"><!> <!></div>',1),KJ=B('<div class="listeners-page svelte-9i68x"><div class="page-header svelte-9i68x"><h3 class="svelte-9i68x">Listeners</h3> <div class="header-actions svelte-9i68x"><button class="svelte-9i68x">+ Add listener</button> <button class="btn-save svelte-9i68x"> </button> <button class="btn-reload svelte-9i68x" title="Apply &amp; Reload mosquitto"> </button></div></div> <!> <!> <!> <!> <!></div>');function ZJ(o,e){js(e,!0);let t=F(null),i=F(""),n=F(!1),s=F(""),r=F(!1),a=F(!1),d=F(""),u=F(Pi([])),f=F(null),g=F(!1),p=F(""),C=F(Pi([])),b=F(Pi(new Set));Xs(()=>{y(),dU().then(Ce=>{m(C,Ce.addresses,!0)}).catch(()=>{})});async function y(){try{m(t,await cS(),!0),m(u,JSON.parse(JSON.stringify(c(t).listeners)),!0),m(f,c(t).checksum,!0);const Ce=c(t).managed.allow_anonymous;m(p,Ce==="true"||Ce==="false"?Ce:"",!0),m(g,c(t).managed.per_listener_settings==="true"),m(i,"")}catch(Ce){m(i,Ce.message??"Failed to load broker config",!0)}}function w(){m(u,[...c(u),{port:1883,bindAddress:"",protocol:"mqtt",tls:{}}],!0),m(b,new Set(c(b)),!0)}function A(Ce){const Rt=new Set(c(b));Rt.has(Ce)?Rt.delete(Ce):Rt.add(Ce),m(b,Rt,!0)}function P(Ce){m(u,c(u).filter((Rt,ci)=>ci!==Ce),!0)}async function M(){if(c(t)){m(n,!0),m(s,""),m(r,!1);try{const Ce={...c(t).managed};c(g)?(Ce.per_listener_settings="true",delete Ce.allow_anonymous):(delete Ce.per_listener_settings,c(p)?Ce.allow_anonymous=c(p):delete Ce.allow_anonymous),await yF({listeners:c(u),managed:Ce,passthrough:c(t).passthrough,checksum:c(f)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await y()}catch(Ce){m(s,Ce.message??"Save failed",!0)}finally{m(n,!1)}}}async function R(){m(a,!0),m(d,"");try{const Ce=await wF();m(d,Ce.stderr||Ce.stdout||"Reloaded",!0)}catch(Ce){m(d,"Error: "+(Ce.message??"reload failed"))}finally{m(a,!1)}}function T(Ce){var Rt,ci,qe,it,Dt;return!!((Rt=Ce.tls)!=null&&Rt.enabled||(ci=Ce.tls)!=null&&ci.certfile||(qe=Ce.tls)!=null&&qe.keyfile||(it=Ce.tls)!=null&&it.capath||(Dt=Ce.tls)!=null&&Dt.cafile)}function V(Ce,Rt){Rt?Ce.tls={...Ce.tls,enabled:!0}:Ce.tls={},m(u,[...c(u)],!0)}var H=KJ(),X=_(H),se=v(_(X),2),he=_(se),J=v(he,2),de=_(J),we=v(J,2),re=_(we),ae=v(X,2);{var De=Ce=>{var Rt=X2(),ci=_(Rt);j(()=>W(ci,c(i))),D(Ce,Rt)};z(ae,Ce=>{c(i)&&Ce(De)})}var Pe=v(ae,2);{var xe=Ce=>{var Rt=X2(),ci=_(Rt);j(()=>W(ci,c(s))),D(Ce,Rt)};z(Pe,Ce=>{c(s)&&Ce(xe)})}var ze=v(Pe,2);{var We=Ce=>{var Rt=RJ();D(Ce,Rt)};z(ze,Ce=>{c(r)&&Ce(We)})}var ve=v(ze,2);{var ht=Ce=>{var Rt=NJ(),ci=_(Rt);j(()=>W(ci,c(d))),D(Ce,Rt)};z(ve,Ce=>{c(d)&&Ce(ht)})}var Mt=v(ve,2);{var st=Ce=>{var Rt=OJ();D(Ce,Rt)},yt=Ce=>{var Rt=GJ(),ci=Et(Rt),qe=_(ci),it=_(qe),Dt=v(qe,2);{var Jt=Ge=>{var Ee=HJ(),ii=v(_(Ee),2),Ci=_(ii);Ci.value=Ci.__value="";var ni=v(Ci);ni.value=ni.__value="true";var Ui=v(ni);Ui.value=Ui.__value="false",Fs(ii,()=>c(p),Yi=>m(p,Yi)),D(Ge,Ee)};z(Dt,Ge=>{c(g)||Ge(Jt)})}var hi=v(ci,2),ui=_(hi);ti(ui,17,()=>c(u),zi,(Ge,Ee,ii)=>{var Ci=UJ(),ni=_(Ci),Ui=_(ni),Yi=_(Ui),Di=v(Ui,2),wn=v(ni,2),hn=_(wn),cn=v(_(hn)),gn=v(hn,2),ft=v(_(gn)),Gt=_(ft);Gt.value=Gt.__value="mqtt";var Mi=v(Gt);Mi.value=Mi.__value="websockets";var Ki=v(gn,2),Ei=v(_(Ki));ln(Ei,"list",`bind-addr-list-${ii}`);var Vi=v(Ki,2),ji=_(Vi),Ji=v(wn,2);ln(Ji,"id",`bind-addr-list-${ii}`),ti(Ji,21,()=>c(C),zi,(nt,Kt)=>{var si=WJ(),mt={};j(()=>{mt!==(mt=c(Kt))&&(si.value=(si.__value=c(Kt))??"")}),D(nt,si)});var Ai=v(Ji,2);{var tt=nt=>{var Kt=zJ(),si=_(Kt),mt=_(si),dt=v(_(mt)),Y=v(mt,2),Te=v(_(Y)),Xe=v(si,2),ke=_(Xe),It=v(_(ke)),$t=v(ke,2),te=v(_($t)),Qe=v(Xe,2),Pt=_(Qe),kt=v(_(Pt)),Ot=v(Pt,2),Se=v(_(Ot)),Ye=_(Se);Ye.value=Ye.__value="";var Qt=v(Ye);Qt.value=Qt.__value="tlsv1.3";var Zt=v(Qt);Zt.value=Zt.__value="tlsv1.2";var _i=v(Qe,2),ei=_(_i),fe=_(ei),Je=v(ei,2),rt=_(Je);jt(dt,()=>c(Ee).tls.certfile,lt=>c(Ee).tls.certfile=lt),jt(Te,()=>c(Ee).tls.keyfile,lt=>c(Ee).tls.keyfile=lt),jt(It,()=>c(Ee).tls.cafile,lt=>c(Ee).tls.cafile=lt),jt(te,()=>c(Ee).tls.capath,lt=>c(Ee).tls.capath=lt),jt(kt,()=>c(Ee).tls.crlfile,lt=>c(Ee).tls.crlfile=lt),Fs(Se,()=>c(Ee).tls.tls_version,lt=>c(Ee).tls.tls_version=lt),ys(fe,()=>c(Ee).tls.require_certificate,lt=>c(Ee).tls.require_certificate=lt),ys(rt,()=>c(Ee).tls.use_identity_as_username,lt=>c(Ee).tls.use_identity_as_username=lt),D(nt,Kt)},At=Lt(()=>T(c(Ee)));z(Ai,nt=>{c(At)&&nt(tt)})}var Oi=v(Ai,2),Ri=_(Oi),Ii=v(Oi,2);{var Ni=nt=>{var Kt=jJ(),si=_(Kt),mt=_(si),dt=v(_(mt)),Y=v(mt,2),Te=v(_(Y)),Xe=v(Y,2),ke=v(_(Xe)),It=_(ke);It.value=It.__value="";var $t=v(It);$t.value=$t.__value="0";var te=v($t);te.value=te.__value="1";var Qe=v(te);Qe.value=Qe.__value="2";var Pt;A1(ke);var kt=v(si,2);{var Ot=Ye=>{var Qt=VJ(),Zt=_(Qt),_i=_(Zt);ys(_i,()=>c(Ee).tls.use_subject_as_username,ei=>c(Ee).tls.use_subject_as_username=ei),D(Ye,Qt)},Se=Lt(()=>T(c(Ee)));z(kt,Ye=>{c(Se)&&Ye(Ot)})}j(Ye=>{Pt!==(Pt=Ye)&&(ke.value=(ke.__value=Ye)??"",Hm(ke,Ye))},[()=>c(Ee).max_qos!==void 0?String(c(Ee).max_qos):""]),jt(dt,()=>c(Ee).mount_point,Ye=>c(Ee).mount_point=Ye),jt(Te,()=>c(Ee).max_connections,Ye=>c(Ee).max_connections=Ye),U("change",ke,Ye=>{const Qt=Ye.target.value;c(Ee).max_qos=Qt===""?void 0:Number(Qt),m(u,[...c(u)],!0)}),D(nt,Kt)},K=Lt(()=>c(b).has(ii));z(Ii,nt=>{c(K)&&nt(Ni)})}var Ae=v(Ii,2);{var Ze=nt=>{var Kt=$J(),si=v(_(Kt),2),mt=_(si),dt=v(_(mt)),Y=_(dt);Y.value=Y.__value="";var Te=v(Y);Te.value=Te.__value="true";var Xe=v(Te);Xe.value=Xe.__value="false";var ke;A1(dt);var It=v(mt,2),$t=v(_(It)),te=v(It,2),Qe=v(_(te));j(()=>{ke!==(ke=c(Ee).allow_anonymous===void 0?"":c(Ee).allow_anonymous?"true":"false")&&(dt.value=dt.__value=c(Ee).allow_anonymous===void 0?"":c(Ee).allow_anonymous?"true":"false",Hm(dt,c(Ee).allow_anonymous===void 0?"":c(Ee).allow_anonymous?"true":"false"))}),U("change",dt,Pt=>{const kt=Pt.target.value;c(Ee).allow_anonymous=kt===""?void 0:kt==="true",m(u,[...c(u)],!0)}),jt($t,()=>c(Ee).password_file,Pt=>c(Ee).password_file=Pt),jt(Qe,()=>c(Ee).acl_file,Pt=>c(Ee).acl_file=Pt),D(nt,Kt)};z(Ae,nt=>{c(g)&&nt(Ze)})}j((nt,Kt)=>{W(Yi,`Port ${c(Ee).port??""}`),Zo(ji,nt),W(Ri,`${Kt??""} Advanced`)},[()=>T(c(Ee)),()=>c(b).has(ii)?"▾":"▸"]),U("click",Di,()=>P(ii)),jt(cn,()=>c(Ee).port,nt=>c(Ee).port=nt),Fs(ft,()=>c(Ee).protocol,nt=>c(Ee).protocol=nt),jt(Ei,()=>c(Ee).bindAddress,nt=>c(Ee).bindAddress=nt),U("change",ji,nt=>V(c(Ee),nt.target.checked)),U("click",Oi,()=>A(ii)),D(Ge,Ci)});var vi=v(ui,2);{var bi=Ge=>{var Ee=qJ();D(Ge,Ee)};z(vi,Ge=>{c(u).length===0&&Ge(bi)})}ys(it,()=>c(g),Ge=>m(g,Ge)),D(Ce,Rt)};z(Mt,Ce=>{c(t)===null&&!c(i)?Ce(st):Ce(yt,-1)})}j(()=>{J.disabled=c(n),W(de,c(n)?"Saving…":"Save"),we.disabled=c(a),W(re,c(a)?"Reloading…":"Apply & Reload")}),U("click",he,w),U("click",J,M),U("click",we,R),D(o,H),$s()}Ys(["click","change"]);var Y2=B('<div class="err svelte-1by6o5t"> </div>'),XJ=B('<div class="ok svelte-1by6o5t">Saved.</div>'),YJ=B('<div class="reload-msg svelte-1by6o5t"> </div>'),YC=B('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> </label>'),QJ=B('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> <strong> </strong></label>'),JJ=B(`<div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">General</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistence</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — persist sessions &amp; retained msgs</option><option>false — no disk persistence</option></select></label> <p class="hint svelte-1by6o5t">Enable on-disk persistence of subscriptions, retained messages, and QoS 1/2 queues.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistence_location</span> <input placeholder="/var/lib/mosquitto/" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Directory where mosquitto stores its persistence data. Must be writable by the mosquitto process.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">sys_interval</span> <input type="number" placeholder="10" min="0" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Interval in seconds between <code class="svelte-1by6o5t">$SYS</code> status updates. <code class="svelte-1by6o5t">0</code> disables <code class="svelte-1by6o5t">$SYS</code> messages.</p></div></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">include_dir</span> <textarea placeholder="/etc/mosquitto/conf.d" class="svelte-1by6o5t"></textarea></label> <p class="hint svelte-1by6o5t">One path per line. Each directory will be scanned for <code class="svelte-1by6o5t">*.conf</code> files and included in order.</p></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Logging</h4> <div class="field svelte-1by6o5t"><span class="field-key svelte-1by6o5t">log_dest</span> <div class="checkbox-group svelte-1by6o5t"></div> <p class="hint svelte-1by6o5t">Log destinations. Enable <code class="svelte-1by6o5t">topic</code> to stream logs to <code class="svelte-1by6o5t">$SYS/broker/log/*</code> and view them in the Logs tab. <code class="svelte-1by6o5t">none</code> disables logging entirely.</p></div> <div class="field svelte-1by6o5t"><span class="field-key svelte-1by6o5t">log_type</span> <div class="log-type-grid svelte-1by6o5t"><div class="log-type-group svelte-1by6o5t"><span class="log-type-group-label svelte-1by6o5t">Severity</span> <!></div> <div class="log-type-group svelte-1by6o5t"><span class="log-type-group-label svelte-1by6o5t">Events</span> <!></div> <div class="log-type-group log-type-group--other svelte-1by6o5t"><!> <span class="all-hint svelte-1by6o5t">enables all types above</span></div></div> <p class="hint svelte-1by6o5t">Types of messages to log. Leave all unchecked to use the broker default.</p></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Connection limits</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_connections</span> <input placeholder="−1 (unlimited)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum simultaneous client connections. <code class="svelte-1by6o5t">-1</code> = unlimited.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_keepalive</span> <input placeholder="65535" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum keepalive value (seconds) a client may request. <code class="svelte-1by6o5t">0</code> = unlimited.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_inflight_messages</span> <input placeholder="20" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Max simultaneous unacknowledged QoS 1/2 messages per client.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_queued_messages</span> <input placeholder="100" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Max messages queued for a disconnected persistent client.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Packet &amp; payload size</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_packet_size</span> <input placeholder="0 (no limit)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum MQTT packet size in bytes (MQTT v5 only). <code class="svelte-1by6o5t">0</code> = no limit.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">message_size_limit</span> <input placeholder="0 (no limit)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum payload size in bytes for published messages. <code class="svelte-1by6o5t">0</code> = no limit.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Sessions &amp; persistence</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistent_client_expiration</span> <input placeholder="e.g. 7d, 2h, 30m" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Expire persistent sessions after this duration. Suffix: <code class="svelte-1by6o5t">d</code>/<code class="svelte-1by6o5t">h</code>/<code class="svelte-1by6o5t">m</code>/<code class="svelte-1by6o5t">s</code>. Empty = never expire.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">retain_available</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — allow retained messages</option><option>false — disable retained messages globally</option></select></label> <p class="hint svelte-1by6o5t">Disable retained messages broker-wide.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Performance</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">set_tcp_nodelay</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — disable Nagle (lower latency)</option><option>false — enable Nagle</option></select></label> <p class="hint svelte-1by6o5t">Disable Nagle's algorithm to reduce latency at the cost of slightly more packets.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">connection_messages</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — log connect/disconnect</option><option>false — suppress</option></select></label> <p class="hint svelte-1by6o5t">Log a message on every client connect and disconnect.</p></div></div></div>`,1),eee=B('<div class="config-page svelte-1by6o5t"><div class="page-header svelte-1by6o5t"><h3 class="svelte-1by6o5t">Global config</h3> <div class="header-actions svelte-1by6o5t"><button class="btn-save svelte-1by6o5t"> </button> <button class="btn-reload svelte-1by6o5t"> </button></div></div> <!> <!> <!> <!> <!></div>');function tee(o,e){js(e,!0);let t=F(null),i=F(""),n=F(!1),s=F(""),r=F(!1),a=F(!1),d=F(""),u=F(null),f=F(""),g=F(""),p=F(""),C=F(""),b=F(""),y=F(""),w=F(""),A=F(""),P=F(""),M=F(""),R=F(""),T=F(""),V=F(""),H=F("");const X=["file","stdout","stderr","syslog","topic","none"],se=["error","warning","notice","information","debug"],he=["connect","disconnect","subscribe","unsubscribe","publish","receive","websockets"],J=["all"];[...se,...he,...J];let de=F(Pi(new Set)),we=F(Pi(new Set));function re(Ge,Ee){const ii=new Set(Ge);return ii.has(Ee)?ii.delete(Ee):ii.add(Ee),ii}function ae(Ge){if(!c(t))return"";const Ee=c(t).managed[Ge];return Array.isArray(Ee)?Ee[0]:Ee??""}function De(Ge){if(!c(t))return new Set;const Ee=c(t).managed[Ge];return Ee?new Set(Array.isArray(Ee)?Ee:[Ee]):new Set}Xs(()=>Pe());async function Pe(){try{m(t,await cS(),!0),m(u,c(t).checksum,!0),m(f,ae("persistence"),!0),m(g,ae("persistence_location"),!0),m(p,ae("sys_interval"),!0);const Ge=c(t).managed.include_dir;m(C,Ge?Array.isArray(Ge)?Ge.join(`
231
231
  `):Ge:"",!0),m(b,ae("max_connections"),!0),m(y,ae("max_inflight_messages"),!0),m(w,ae("max_queued_messages"),!0),m(A,ae("max_packet_size"),!0),m(P,ae("message_size_limit"),!0),m(M,ae("max_keepalive"),!0),m(R,ae("persistent_client_expiration"),!0),m(T,ae("retain_available"),!0),m(V,ae("set_tcp_nodelay"),!0),m(H,ae("connection_messages"),!0),m(de,De("log_dest"),!0),m(we,De("log_type"),!0),m(i,"")}catch(Ge){m(i,Ge.message??"Failed to load config",!0)}}async function xe(){if(c(t)){m(n,!0),m(s,""),m(r,!1);try{let Ee=function(Ci,ni){ni!==""?Ge[Ci]=ni:delete Ge[Ci]};const Ge={...c(t).managed};Ee("persistence",c(f)),Ee("persistence_location",c(g)),Ee("sys_interval",c(p));const ii=c(C).split(`
232
- `).map(Ci=>Ci.trim()).filter(Boolean);ii.length>0?Ge.include_dir=ii.length===1?ii[0]:ii:delete Ge.include_dir,Ee("max_connections",c(b)),Ee("max_inflight_messages",c(y)),Ee("max_queued_messages",c(w)),Ee("max_packet_size",c(A)),Ee("message_size_limit",c(P)),Ee("max_keepalive",c(M)),Ee("persistent_client_expiration",c(R)),Ee("retain_available",c(T)),Ee("set_tcp_nodelay",c(V)),Ee("connection_messages",c(H)),c(de).size>0?Ge.log_dest=c(de).size===1?[...c(de)][0]:[...c(de)]:delete Ge.log_dest,c(we).size>0?Ge.log_type=c(we).size===1?[...c(we)][0]:[...c(we)]:delete Ge.log_type,await yF({listeners:c(t).listeners,managed:Ge,passthrough:c(t).passthrough,checksum:c(u)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await Pe()}catch(Ge){m(s,Ge.message??"Save failed",!0)}finally{m(n,!1)}}}async function ze(){m(a,!0),m(d,"");try{const Ge=await wF();m(d,Ge.stderr||Ge.stdout||"Reloaded",!0)}catch(Ge){m(d,"Error: "+(Ge.message??"reload failed"))}finally{m(a,!1)}}var We=eee(),ve=_(We),ht=v(_(ve),2),Mt=_(ht),st=_(Mt),yt=v(Mt,2),Ce=_(yt),Rt=v(ve,2);{var ci=Ge=>{var Ee=Y2(),ii=_(Ee);j(()=>W(ii,c(i))),D(Ge,Ee)};z(Rt,Ge=>{c(i)&&Ge(ci)})}var qe=v(Rt,2);{var it=Ge=>{var Ee=Y2(),ii=_(Ee);j(()=>W(ii,c(s))),D(Ge,Ee)};z(qe,Ge=>{c(s)&&Ge(it)})}var Dt=v(qe,2);{var Jt=Ge=>{var Ee=XJ();D(Ge,Ee)};z(Dt,Ge=>{c(r)&&Ge(Jt)})}var hi=v(Dt,2);{var ui=Ge=>{var Ee=YJ(),ii=_(Ee);j(()=>W(ii,c(d))),D(Ge,Ee)};z(hi,Ge=>{c(d)&&Ge(ui)})}var vi=v(hi,2);{var bi=Ge=>{var Ee=JJ(),ii=Et(Ee),Ci=v(_(ii),2),ni=_(Ci),Ui=_(ni),Yi=v(_(Ui),2),Di=_(Yi);Di.value=Di.__value="";var wn=v(Di);wn.value=wn.__value="true";var hn=v(wn);hn.value=hn.__value="false";var cn=v(ni,2),gn=_(cn),ft=v(_(gn),2),Gt=v(cn,2),Mi=_(Gt),Ki=v(_(Mi),2),Ei=v(Ci,2),Vi=_(Ei),ji=v(_(Vi),2);ln(ji,"rows",3);var Ji=v(ii,2),Ai=v(_(Ji),2),tt=v(_(Ai),2);ti(tt,21,()=>X,zi,(Le,Oe)=>{var St=YC(),xt=_(St),Ie=v(xt,3);j(ge=>{Zo(xt,ge),W(Ie,` ${c(Oe)??""}`)},[()=>c(de).has(c(Oe))]),U("change",xt,()=>{m(de,re(c(de),c(Oe)),!0)}),D(Le,St)});var At=v(Ai,2),Oi=v(_(At),2),Ri=_(Oi),Ii=v(_(Ri),2);ti(Ii,17,()=>se,zi,(Le,Oe)=>{var St=YC(),xt=_(St),Ie=v(xt,3);j(ge=>{Zo(xt,ge),W(Ie,` ${c(Oe)??""}`)},[()=>c(we).has(c(Oe))]),U("change",xt,()=>{m(we,re(c(we),c(Oe)),!0)}),D(Le,St)});var Ni=v(Ri,2),K=v(_(Ni),2);ti(K,17,()=>he,zi,(Le,Oe)=>{var St=YC(),xt=_(St),Ie=v(xt,3);j(ge=>{Zo(xt,ge),W(Ie,` ${c(Oe)??""}`)},[()=>c(we).has(c(Oe))]),U("change",xt,()=>{m(we,re(c(we),c(Oe)),!0)}),D(Le,St)});var Ae=v(Ni,2),Ze=_(Ae);ti(Ze,17,()=>J,zi,(Le,Oe)=>{var St=QJ(),xt=_(St),Ie=v(xt,4),ge=_(Ie);j(Re=>{Zo(xt,Re),W(ge,c(Oe))},[()=>c(we).has(c(Oe))]),U("change",xt,()=>{m(we,re(c(we),c(Oe)),!0)}),D(Le,St)});var nt=v(Ji,2),Kt=v(_(nt),2),si=_(Kt),mt=_(si),dt=v(_(mt),2),Y=v(si,2),Te=_(Y),Xe=v(_(Te),2),ke=v(Y,2),It=_(ke),$t=v(_(It),2),te=v(ke,2),Qe=_(te),Pt=v(_(Qe),2),kt=v(nt,2),Ot=v(_(kt),2),Se=_(Ot),Ye=_(Se),Qt=v(_(Ye),2),Zt=v(Se,2),_i=_(Zt),ei=v(_(_i),2),fe=v(kt,2),Je=v(_(fe),2),rt=_(Je),lt=_(rt),Ut=v(_(lt),2),Ht=v(rt,2),yi=_(Ht),I=v(_(yi),2),N=_(I);N.value=N.__value="";var $=v(N);$.value=$.__value="true";var oe=v($);oe.value=oe.__value="false";var ie=v(fe,2),ne=v(_(ie),2),le=_(ne),et=_(le),Fe=v(_(et),2),_e=_(Fe);_e.value=_e.__value="";var Ke=v(_e);Ke.value=Ke.__value="true";var Me=v(Ke);Me.value=Me.__value="false";var at=v(le,2),Xt=_(at),Z=v(_(Xt),2),ce=_(Z);ce.value=ce.__value="";var Ve=v(ce);Ve.value=Ve.__value="true";var vt=v(Ve);vt.value=vt.__value="false",Fs(Yi,()=>c(f),Le=>m(f,Le)),jt(ft,()=>c(g),Le=>m(g,Le)),jt(Ki,()=>c(p),Le=>m(p,Le)),jt(ji,()=>c(C),Le=>m(C,Le)),jt(dt,()=>c(b),Le=>m(b,Le)),jt(Xe,()=>c(M),Le=>m(M,Le)),jt($t,()=>c(y),Le=>m(y,Le)),jt(Pt,()=>c(w),Le=>m(w,Le)),jt(Qt,()=>c(A),Le=>m(A,Le)),jt(ei,()=>c(P),Le=>m(P,Le)),jt(Ut,()=>c(R),Le=>m(R,Le)),Fs(I,()=>c(T),Le=>m(T,Le)),Fs(Fe,()=>c(V),Le=>m(V,Le)),Fs(Z,()=>c(H),Le=>m(H,Le)),D(Ge,Ee)};z(vi,Ge=>{c(t)&&Ge(bi)})}j(()=>{Mt.disabled=c(n),W(st,c(n)?"Saving…":"Save"),yt.disabled=c(a),W(Ce,c(a)?"Reloading…":"Apply & Reload")}),U("click",Mt,xe),U("click",yt,ze),D(o,We),$s()}Ys(["click","change"]);var nl=B('<div class="err svelte-9auejo"> </div>'),iee=B('<div class="info-card svelte-9auejo"><dl class="svelte-9auejo"><dt class="svelte-9auejo">CN</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint (SHA-256)</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd> </dd></dl></div>'),nee=B('<div class="empty svelte-9auejo">No managed server certificate. Use one of the options above, or configure <code>certfile</code>/<code>keyfile</code> manually in the Listeners tab.</div>'),see=B('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),oee=B('<tr><td class="mono svelte-9auejo"> </td><td class="mono small svelte-9auejo"> </td><td> </td><td class="actions svelte-9auejo"><button class="danger svelte-9auejo">✕</button></td></tr>'),ree=B('<table class="svelte-9auejo"><thead><tr><th class="svelte-9auejo">CN</th><th class="svelte-9auejo">Fingerprint</th><th class="svelte-9auejo">Expires</th><th class="svelte-9auejo"></th></tr></thead><tbody></tbody></table>'),aee=B('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Certificate installed.</p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd><dt class="svelte-9auejo">Expires</dt><dd class="svelte-9auejo"> </dd></dl></div>'),Q2=B('<button class="btn-primary svelte-9auejo"> </button>'),lee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate self-signed server certificate</h3> <label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.local" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Validity (days)<input type="number" min="1" max="3650" class="svelte-9auejo"/></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div></div></div>'),cee=B('<label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.local" class="svelte-9auejo"/></label> <p class="hint svelte-9auejo">A private key and CSR are generated on the server. Copy the CSR, have it signed by your CA, then paste the signed cert below.</p> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),dee=B('<div class="ok svelte-9auejo">✓ Certificate installed.</div>'),uee=B('<p class="hint svelte-9auejo">Key stored on server. Copy the CSR, get it signed, then paste the signed certificate to complete installation.</p> <label class="svelte-9auejo">Certificate Signing Request<textarea readonly="" rows="8" class="svelte-9auejo"></textarea></label> <div class="csr-actions svelte-9auejo"><button class="svelte-9auejo">Copy CSR</button> <a class="btn-download svelte-9auejo" download="server.csr">Download .csr</a></div> <hr class="svelte-9auejo"/> <label class="svelte-9auejo">Upload signed certificate (PEM)<textarea rows="6" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div>',1),hee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Generate key + CSR for server certificate</h3> <!></div></div>'),fee=B('<label class="svelte-9auejo">Certificate (PEM)<textarea rows="5" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <label class="svelte-9auejo">Private key (PEM — leave blank if key is already on disk from a prior CSR)<textarea rows="4" placeholder="-----BEGIN PRIVATE KEY----- … -----END PRIVATE KEY-----" class="svelte-9auejo"></textarea></label>',1),gee=B('<span class="file-name mono small svelte-9auejo"> </span>'),pee=B('<label class="svelte-9auejo">PKCS#12 file <div class="file-row svelte-9auejo"><input type="file" accept=".p12,.pfx" class="svelte-9auejo"/> <!></div></label> <label class="svelte-9auejo">Passphrase <div class="pw-row svelte-9auejo"><input autocomplete="off" class="svelte-9auejo"/> <button class="toggle-pw svelte-9auejo"> </button></div></label>',1),xee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Import server certificate</h3> <div class="import-mode-tabs svelte-9auejo"><button>PEM files</button> <button>PKCS#12 (.p12 / .pfx)</button></div> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),QC=B("<option></option>"),mee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Use existing certificate files</h3> <p class="hint svelte-9auejo">Enter absolute paths on the broker host. Tab-completion is available for paths starting with /.</p> <label class="svelte-9auejo">Certificate file path <input list="set-cert-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/fullchain.pem" class="svelte-9auejo"/> <datalist id="set-cert-path-list"></datalist></label> <label class="svelte-9auejo">Private key file path <input list="set-key-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/privkey.pem" class="svelte-9auejo"/> <datalist id="set-key-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),vee=B('<label class="svelte-9auejo">CA certificate (PEM)<textarea rows="8" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),_ee=B('<p class="hint svelte-9auejo">Enter the absolute path to the CA certificate file on the broker host.</p> <label class="svelte-9auejo">CA certificate path <input list="trusted-path-list" placeholder="/etc/ssl/certs/my-ca.pem" class="svelte-9auejo"/> <datalist id="trusted-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),bee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Add trusted CA certificate</h3> <div class="import-mode-tabs svelte-9auejo"><button>Paste PEM</button> <button>From path</button></div> <!></div></div>'),Cee=B('<div class="certs-page svelte-9auejo"><div class="page-toolbar svelte-9auejo"><button class="reload-btn svelte-9auejo" title="Refresh">↺</button></div> <!> <!> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Server Certificate</h3> <button class="svelte-9auejo">Self-signed</button> <button class="svelte-9auejo">Generate CSR</button> <button class="svelte-9auejo">Import cert</button> <button class="svelte-9auejo">Use path</button></div> <!></div> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Trusted CA Certificates</h3> <button class="svelte-9auejo">+ Add CA cert</button></div> <!></div></div> <!> <!> <!> <!> <!>',1);function Eee(o,e){js(e,!0);let t=F(null),i=F(Pi([])),n=F(""),s=F(""),r=F(!1),a=F(""),d=F(""),u=F(365),f=F(!1),g=F(""),p=F(null),C=F(!1),b=F(""),y=F(""),w=F(!1),A=F(""),P=F(""),M=F(""),R=F(!1),T=F(""),V=F(!1),H=F(!1),X=F("pem"),se=F(""),he=F(""),J=F(""),de=F(""),we=F(""),re=F(!1),ae=F(!1),De=F(""),Pe=F(!1),xe=F(""),ze=F(""),We=F(!1),ve=F(""),ht=F(Pi([])),Mt=F(Pi([])),st=F(!1),yt=F("pem"),Ce=F(""),Rt=F(!1),ci=F(""),qe=F(""),it=F(Pi([])),Dt=F(!1),Jt=F("");async function hi(){try{const[Se,Ye]=await Promise.allSettled([RU(),HU()]);Se.status==="fulfilled"&&m(t,Se.value.server,!0),Ye.status==="fulfilled"&&m(i,Ye.value.certs,!0),m(n,"")}catch(Se){m(n,Se.message,!0)}}Xs(()=>{hi()});async function ui(){m(g,""),m(f,!0),m(p,null);try{const Se=c(d).split(",").map(Qt=>Qt.trim()).filter(Boolean),Ye=await NU({cn:c(a),san:Se,days:c(u)});m(p,{fingerprint:Ye.fingerprint,expires:Ye.expires},!0),await hi()}catch(Se){m(g,Se.message,!0)}finally{m(f,!1)}}async function vi(){m(A,""),m(w,!0),m(P,"");try{const Se=c(y).split(",").map(Qt=>Qt.trim()).filter(Boolean),Ye=await OU({cn:c(b),san:Se});m(P,Ye.csrPem,!0)}catch(Se){m(A,Se.message,!0)}finally{m(w,!1)}}async function bi(){m(T,""),m(R,!0),m(V,!1);try{if(!c(M).trim())throw new Error("Paste the signed certificate PEM");await qC({cert:c(M)}),m(V,!0),await hi()}catch(Se){m(T,Se.message,!0)}finally{m(R,!1)}}function Ge(){navigator.clipboard.writeText(c(P)).catch(()=>{})}function Ee(Se){var Zt;const Ye=(Zt=Se.target.files)==null?void 0:Zt[0];if(!Ye)return;m(de,Ye.name,!0);const Qt=new FileReader;Qt.onload=()=>{const _i=Qt.result;m(J,btoa(String.fromCharCode(...new Uint8Array(_i))),!0)},Qt.readAsArrayBuffer(Ye)}async function ii(){m(De,""),m(ae,!0);try{if(c(X)==="p12"){if(!c(J))throw new Error("Select a .p12 / .pfx file");await qC({p12base64:c(J),passphrase:c(we)})}else{if(!c(se).trim())throw new Error("Certificate PEM is required");await qC({cert:c(se),key:c(he)||void 0})}m(H,!1),await hi()}catch(Se){m(De,Se.message,!0)}finally{m(ae,!1)}}function Ci(Se){let Ye;return Qt=>{const Zt=Qt.target.value;clearTimeout(Ye),Ye=setTimeout(async()=>{if(!Zt.startsWith("/")||Zt.length<2){Se([]);return}try{Se((await VU(Zt)).suggestions)}catch{Se([])}},280)}}const ni=Ci(Se=>{m(ht,Se,!0)}),Ui=Ci(Se=>{m(Mt,Se,!0)}),Yi=Ci(Se=>{m(it,Se,!0)});async function Di(){m(ve,""),m(We,!0);try{await jU({certPath:c(xe),keyPath:c(ze)}),m(Pe,!1),await hi()}catch(Se){m(ve,Se.message,!0)}finally{m(We,!1)}}async function wn(){m(ci,""),m(Rt,!0);try{await WU(c(Ce)),m(Ce,""),m(st,!1),await hi()}catch(Se){m(ci,Se.message,!0)}finally{m(Rt,!1)}}async function hn(){m(Jt,""),m(Dt,!0);try{await $U(c(qe)),m(qe,""),m(st,!1),await hi()}catch(Se){m(Jt,Se.message,!0)}finally{m(Dt,!1)}}async function cn(Se){if(confirm("Remove this trusted CA cert?"))try{await zU(Se),await hi()}catch(Ye){m(s,Ye.message,!0)}}function gn(Se){const Ye=new Date(Se).getTime()-Date.now();return Ye<0?"expired":Ye<30*864e5?"expiring":""}function ft(Se){return new Date(Se).toLocaleDateString()}var Gt=Cee(),Mi=Et(Gt),Ki=_(Mi),Ei=_(Ki),Vi=v(Ki,2);{var ji=Se=>{var Ye=nl(),Qt=_(Ye);j(()=>W(Qt,c(n))),D(Se,Ye)};z(Vi,Se=>{c(n)&&Se(ji)})}var Ji=v(Vi,2);{var Ai=Se=>{var Ye=nl(),Qt=_(Ye);j(()=>W(Qt,c(s))),D(Se,Ye)};z(Ji,Se=>{c(s)&&Se(Ai)})}var tt=v(Ji,2),At=_(tt),Oi=v(_(At),2),Ri=v(Oi,2),Ii=v(Ri,2),Ni=v(Ii,2),K=v(At,2);{var Ae=Se=>{var Ye=iee(),Qt=_(Ye),Zt=v(_(Qt)),_i=_(Zt),ei=v(Zt,3),fe=_(ei),Je=v(ei,3),rt=_(Je);j((lt,Ut)=>{W(_i,c(t).cn),W(fe,c(t).fingerprint),Ft(Je,1,lt,"svelte-9auejo"),W(rt,Ut)},[()=>hg(gn(c(t).expires)),()=>ft(c(t).expires)]),D(Se,Ye)},Ze=Se=>{var Ye=nee();D(Se,Ye)};z(K,Se=>{c(t)?Se(Ae):Se(Ze,-1)})}var nt=v(tt,2),Kt=_(nt),si=v(_(Kt),2),mt=v(Kt,2);{var dt=Se=>{var Ye=see();D(Se,Ye)},Y=Se=>{var Ye=ree(),Qt=v(_(Ye));ti(Qt,21,()=>c(i),zi,(Zt,_i)=>{var ei=oee(),fe=_(ei),Je=_(fe),rt=v(fe),lt=_(rt),Ut=v(rt),Ht=_(Ut),yi=v(Ut),I=_(yi);j((N,$,oe)=>{W(Je,c(_i).cn),W(lt,`${N??""}…`),Ft(Ut,1,$,"svelte-9auejo"),W(Ht,oe)},[()=>c(_i).fingerprint.slice(0,29),()=>hg(gn(c(_i).expires)),()=>ft(c(_i).expires)]),U("click",I,()=>cn(c(_i).fingerprint)),D(Zt,ei)}),D(Se,Ye)};z(mt,Se=>{c(i).length===0?Se(dt):Se(Y,-1)})}var Te=v(Mi,2);{var Xe=Se=>{var Ye=lee(),Qt=_(Ye),Zt=v(_(Qt),2),_i=v(_(Zt)),ei=v(Zt,2),fe=v(_(ei)),Je=v(ei,2),rt=v(_(Je)),lt=v(Je,2);{var Ut=ie=>{var ne=nl(),le=_(ne);j(()=>W(le,c(g))),D(ie,ne)};z(lt,ie=>{c(g)&&ie(Ut)})}var Ht=v(lt,2);{var yi=ie=>{var ne=aee(),le=v(_(ne),2),et=v(_(le)),Fe=_(et),_e=v(et,2),Ke=_(_e);j(Me=>{W(Fe,c(p).fingerprint),W(Ke,Me)},[()=>ft(c(p).expires)]),D(ie,ne)};z(Ht,ie=>{c(p)&&ie(yi)})}var I=v(Ht,2),N=_(I),$=v(N,2);{var oe=ie=>{var ne=Q2(),le=_(ne);j(()=>{ne.disabled=c(f),W(le,c(f)?"Generating…":"Generate")}),U("click",ne,ui),D(ie,ne)};z($,ie=>{c(p)||ie(oe)})}jt(_i,()=>c(a),ie=>m(a,ie)),jt(fe,()=>c(d),ie=>m(d,ie)),jt(rt,()=>c(u),ie=>m(u,ie)),U("click",N,()=>m(r,!1)),D(Se,Ye)};z(Te,Se=>{c(r)&&Se(Xe)})}var ke=v(Te,2);{var It=Se=>{var Ye=hee(),Qt=_(Ye),Zt=v(_(Qt),2);{var _i=fe=>{var Je=cee(),rt=Et(Je),lt=v(_(rt)),Ut=v(rt,2),Ht=v(_(Ut)),yi=v(Ut,4);{var I=ne=>{var le=nl(),et=_(le);j(()=>W(et,c(A))),D(ne,le)};z(yi,ne=>{c(A)&&ne(I)})}var N=v(yi,2),$=_(N),oe=v($,2),ie=_(oe);j(()=>{oe.disabled=c(w),W(ie,c(w)?"Generating…":"Generate key + CSR")}),jt(lt,()=>c(b),ne=>m(b,ne)),jt(Ht,()=>c(y),ne=>m(y,ne)),U("click",$,()=>m(C,!1)),U("click",oe,vi),D(fe,Je)},ei=fe=>{var Je=uee(),rt=v(Et(Je),2),lt=v(_(rt)),Ut=v(rt,2),Ht=_(Ut),yi=v(Ht,2),I=v(Ut,4),N=v(_(I)),$=v(I,2);{var oe=Ke=>{var Me=nl(),at=_(Me);j(()=>W(at,c(T))),D(Ke,Me)};z($,Ke=>{c(T)&&Ke(oe)})}var ie=v($,2);{var ne=Ke=>{var Me=dee();D(Ke,Me)};z(ie,Ke=>{c(V)&&Ke(ne)})}var le=v(ie,2),et=_(le),Fe=v(et,2);{var _e=Ke=>{var Me=Q2(),at=_(Me);j(Xt=>{Me.disabled=Xt,W(at,c(R)?"Uploading…":"Upload signed cert")},[()=>c(R)||!c(M).trim()]),U("click",Me,bi),D(Ke,Me)};z(Fe,Ke=>{c(V)||Ke(_e)})}j(Ke=>{k1(lt,c(P)),ln(yi,"href",`data:application/pkcs10;charset=utf-8,${Ke??""}`)},[()=>encodeURIComponent(c(P))]),U("click",Ht,Ge),jt(N,()=>c(M),Ke=>m(M,Ke)),U("click",et,()=>m(C,!1)),D(fe,Je)};z(Zt,fe=>{c(P)?fe(ei,-1):fe(_i)})}D(Se,Ye)};z(ke,Se=>{c(C)&&Se(It)})}var $t=v(ke,2);{var te=Se=>{var Ye=xee(),Qt=_(Ye),Zt=v(_(Qt),2),_i=_(Zt);let ei;var fe=v(_i,2);let Je;var rt=v(Zt,2);{var lt=ie=>{var ne=fee(),le=Et(ne),et=v(_(le)),Fe=v(le,2),_e=v(_(Fe));jt(et,()=>c(se),Ke=>m(se,Ke)),jt(_e,()=>c(he),Ke=>m(he,Ke)),D(ie,ne)},Ut=ie=>{var ne=pee(),le=Et(ne),et=v(_(le)),Fe=_(et),_e=v(Fe,2);{var Ke=Ve=>{var vt=gee(),Le=_(vt);j(()=>W(Le,c(de))),D(Ve,vt)};z(_e,Ve=>{c(de)&&Ve(Ke)})}var Me=v(le,2),at=v(_(Me)),Xt=_(at),Z=v(Xt,2),ce=_(Z);j(()=>{ln(Xt,"type",c(re)?"text":"password"),W(ce,c(re)?"Hide":"Show")}),U("change",Fe,Ee),jt(Xt,()=>c(we),Ve=>m(we,Ve)),U("click",Z,()=>m(re,!c(re))),D(ie,ne)};z(rt,ie=>{c(X)==="pem"?ie(lt):ie(Ut,-1)})}var Ht=v(rt,2);{var yi=ie=>{var ne=nl(),le=_(ne);j(()=>W(le,c(De))),D(ie,ne)};z(Ht,ie=>{c(De)&&ie(yi)})}var I=v(Ht,2),N=_(I),$=v(N,2),oe=_($);j(()=>{ei=Ft(_i,1,"svelte-9auejo",null,ei,{active:c(X)==="pem"}),Je=Ft(fe,1,"svelte-9auejo",null,Je,{active:c(X)==="p12"}),$.disabled=c(ae),W(oe,c(ae)?"Importing…":"Import")}),U("click",_i,()=>m(X,"pem")),U("click",fe,()=>m(X,"p12")),U("click",N,()=>m(H,!1)),U("click",$,ii),D(Se,Ye)};z($t,Se=>{c(H)&&Se(te)})}var Qe=v($t,2);{var Pt=Se=>{var Ye=mee(),Qt=_(Ye),Zt=v(_(Qt),4),_i=v(_(Zt)),ei=v(_i,2);ti(ei,21,()=>c(ht),zi,($,oe)=>{var ie=QC(),ne={};j(()=>{ne!==(ne=c(oe))&&(ie.value=(ie.__value=c(oe))??"")}),D($,ie)});var fe=v(Zt,2),Je=v(_(fe)),rt=v(Je,2);ti(rt,21,()=>c(Mt),zi,($,oe)=>{var ie=QC(),ne={};j(()=>{ne!==(ne=c(oe))&&(ie.value=(ie.__value=c(oe))??"")}),D($,ie)});var lt=v(fe,2);{var Ut=$=>{var oe=nl(),ie=_(oe);j(()=>W(ie,c(ve))),D($,oe)};z(lt,$=>{c(ve)&&$(Ut)})}var Ht=v(lt,2),yi=_(Ht),I=v(yi,2),N=_(I);j($=>{I.disabled=$,W(N,c(We)?"Installing…":"Install")},[()=>c(We)||!c(xe).trim()||!c(ze).trim()]),U("input",_i,ni),jt(_i,()=>c(xe),$=>m(xe,$)),U("input",Je,Ui),jt(Je,()=>c(ze),$=>m(ze,$)),U("click",yi,()=>m(Pe,!1)),U("click",I,Di),D(Se,Ye)};z(Qe,Se=>{c(Pe)&&Se(Pt)})}var kt=v(Qe,2);{var Ot=Se=>{var Ye=bee(),Qt=_(Ye),Zt=v(_(Qt),2),_i=_(Zt);let ei;var fe=v(_i,2);let Je;var rt=v(Zt,2);{var lt=Ht=>{var yi=vee(),I=Et(yi),N=v(_(I)),$=v(I,2);{var oe=Fe=>{var _e=nl(),Ke=_(_e);j(()=>W(Ke,c(ci))),D(Fe,_e)};z($,Fe=>{c(ci)&&Fe(oe)})}var ie=v($,2),ne=_(ie),le=v(ne,2),et=_(le);j(Fe=>{le.disabled=Fe,W(et,c(Rt)?"Adding…":"Add CA cert")},[()=>c(Rt)||!c(Ce).trim()]),jt(N,()=>c(Ce),Fe=>m(Ce,Fe)),U("click",ne,()=>m(st,!1)),U("click",le,wn),D(Ht,yi)},Ut=Ht=>{var yi=_ee(),I=v(Et(yi),2),N=v(_(I)),$=v(N,2);ti($,21,()=>c(it),zi,(_e,Ke)=>{var Me=QC(),at={};j(()=>{at!==(at=c(Ke))&&(Me.value=(Me.__value=c(Ke))??"")}),D(_e,Me)});var oe=v(I,2);{var ie=_e=>{var Ke=nl(),Me=_(Ke);j(()=>W(Me,c(Jt))),D(_e,Ke)};z(oe,_e=>{c(Jt)&&_e(ie)})}var ne=v(oe,2),le=_(ne),et=v(le,2),Fe=_(et);j(_e=>{et.disabled=_e,W(Fe,c(Dt)?"Adding…":"Add CA cert")},[()=>c(Dt)||!c(qe).trim()]),U("input",N,Yi),jt(N,()=>c(qe),_e=>m(qe,_e)),U("click",le,()=>m(st,!1)),U("click",et,hn),D(Ht,yi)};z(rt,Ht=>{c(yt)==="pem"?Ht(lt):Ht(Ut,-1)})}j(()=>{ei=Ft(_i,1,"svelte-9auejo",null,ei,{active:c(yt)==="pem"}),Je=Ft(fe,1,"svelte-9auejo",null,Je,{active:c(yt)==="path"})}),U("click",_i,()=>m(yt,"pem")),U("click",fe,()=>m(yt,"path")),D(Se,Ye)};z(kt,Se=>{c(st)&&Se(Ot)})}U("click",Ei,hi),U("click",Oi,()=>{m(r,!0),m(g,""),m(p,null)}),U("click",Ri,()=>{m(C,!0),m(A,""),m(P,""),m(M,""),m(V,!1),m(T,"")}),U("click",Ii,()=>{m(H,!0),m(De,""),m(X,"pem"),m(se,""),m(he,""),m(J,""),m(de,""),m(we,""),m(re,!1)}),U("click",Ni,()=>{m(Pe,!0),m(ve,""),m(xe,""),m(ze,""),m(ht,[],!0),m(Mt,[],!0)}),U("click",si,()=>{m(st,!0),m(ci,""),m(Ce,""),m(yt,"pem"),m(Jt,""),m(qe,""),m(it,[],!0)}),D(o,Gt),$s()}Ys(["click","change","input"]);var Gx=B('<div class="err svelte-17yczfe"> </div>'),yee=B('<div class="check-list svelte-17yczfe"><div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto_ctrl</code> <span> </span></div> <div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto</code> <span> </span></div></div>'),wee=B('<div class="checking svelte-17yczfe">Checking…</div>'),See=B('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Tool availability</h3> <p class="hint svelte-17yczfe">These tools must be installed and in the PATH of the she process. They are used by the Setup Wizard and cert installation.</p> <!> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div></div>'),Dee=B('<label class="svelte-17yczfe">Install command (run locally) <div class="pubkey-row svelte-17yczfe"><input readonly="" class="svelte-17yczfe"/> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),Aee=B('<label class="svelte-17yczfe">Public key <div class="pubkey-row svelte-17yczfe"><textarea readonly="" rows="3" class="svelte-17yczfe"></textarea> <button class="copy-btn svelte-17yczfe">Copy</button></div></label> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>',1),kee=B('<div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>'),Bee=B("<span> </span>"),Fee=B('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH connection</h3> <p class="hint svelte-17yczfe">Used for file operations: reading/writing mosquitto.conf and installing certificates on the broker host. User/ACL management always uses the MQTT port directly.</p> <div class="fields svelte-17yczfe"><label class="svelte-17yczfe">Host<input placeholder="192.168.1.10 or broker.local" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Port<input type="number" min="1" max="65535" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">SSH user<input placeholder="root" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Identity file (private key)<input class="svelte-17yczfe"/></label></div></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH keypair</h3> <p class="hint svelte-17yczfe">Dedicated Ed25519 keypair for she to authenticate to the broker host. Private key stored at <code class="svelte-17yczfe"> </code>.</p> <!> <!></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Test connection</h3> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button> <!></div></div>',1),Lee=B('<div class="ok svelte-17yczfe">Saved.</div>'),Iee=B('<div class="mosquitto-page svelte-17yczfe"><!> <div class="mode-bar svelte-17yczfe"><span class="mode-label svelte-17yczfe">Connection mode</span> <div class="mode-toggle svelte-17yczfe"><button>Local</button> <button>SSH / Remote</button></div> <span class="mode-desc svelte-17yczfe"> </span></div> <!> <!> <!> <!> <div class="row svelte-17yczfe"><button class="btn-primary svelte-17yczfe"> </button></div></div>');function Pee(o,e){js(e,!0);let t=F(Pi({})),i=F(""),n=F(!1),s=F(!1),r=F(""),a=F("~/.she/ssh/broker_id_ed25519"),d=F("local"),u=F(null),f=F(!1),g=F(""),p=F(""),C=F(!1),b=F(""),y=F(!1),w=F(""),A=F(Pi({}));Xs(async()=>{try{const[it,Dt,Jt]=await Promise.all([Pl(),Pb(),fetch("/she/broker/ssh/pubkey").then(ui=>ui.json()).catch(()=>({publicKey:null}))]);m(A,it,!0),Dt.sshKeyDefault&&m(a,Dt.sshKeyDefault,!0);const hi=c(A).broker??{};m(t,hi.ssh??{},!0),c(t).port||(c(t).port=22),c(t).identityFile||(c(t).identityFile=c(a)),Jt.publicKey&&m(p,Jt.publicKey,!0),m(d,c(t).host?"ssh":"local",!0),c(d)==="local"&&P()}catch(it){m(i,it.message,!0)}});async function P(){m(f,!0),m(g,"");try{m(u,await cU(),!0)}catch(it){m(g,it.message??"Check failed",!0)}finally{m(f,!1)}}async function M(){m(n,!0),m(r,""),m(s,!1);try{const it=c(A).broker??{},Dt=c(d)==="local"?{...c(t),host:""}:c(t),Jt={...c(A),broker:{...it,ssh:Dt}};await pp(Jt),m(s,!0),setTimeout(()=>m(s,!1),3e3)}catch(it){m(r,it.message,!0)}finally{m(n,!1)}}async function R(){m(C,!0),m(b,"");try{const it=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),Dt=await it.json();if(!it.ok)throw new Error(Dt.error??it.statusText);m(p,Dt.publicKey,!0)}catch(it){m(b,it.message,!0)}finally{m(C,!1)}}async function T(){m(y,!0),m(w,"");try{const it=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),Dt=await it.json();if(!it.ok)throw new Error(Dt.error??it.statusText);m(w,Dt.ok?"✓ Connection successful":"✗ "+(Dt.error??"Failed"),!0)}catch(it){m(w,"✗ "+it.message)}finally{m(y,!1)}}function V(it){navigator.clipboard.writeText(it).catch(()=>{})}const H=Lt(()=>c(t).identityFile&&c(t).user&&c(t).host?`ssh-copy-id -i ${c(t).identityFile}.pub ${c(t).user}@${c(t).host}`:"");var X=Iee(),se=_(X);{var he=it=>{var Dt=Gx(),Jt=_(Dt);j(()=>W(Jt,c(i))),D(it,Dt)};z(se,it=>{c(i)&&it(he)})}var J=v(se,2),de=v(_(J),2),we=_(de);let re;var ae=v(we,2);let De;var Pe=v(de,2),xe=_(Pe),ze=v(J,2);{var We=it=>{var Dt=See(),Jt=v(_(Dt),4);{var hi=Ci=>{var ni=Gx(),Ui=_(ni);j(()=>W(Ui,c(g))),D(Ci,ni)};z(Jt,Ci=>{c(g)&&Ci(hi)})}var ui=v(Jt,2);{var vi=Ci=>{var ni=yee(),Ui=_(ni),Yi=_(Ui);let Di;var wn=_(Yi),hn=v(Yi,4);let cn;var gn=_(hn),ft=v(Ui,2),Gt=_(ft);let Mi;var Ki=_(Gt),Ei=v(Gt,4);let Vi;var ji=_(Ei);j(()=>{Di=Ft(Yi,1,"check-icon svelte-17yczfe",null,Di,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(wn,c(u).mosquittoCtrl?"✓":"✗"),cn=Ft(hn,1,"check-note svelte-17yczfe",null,cn,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(gn,c(u).mosquittoCtrl?"found in PATH":"not found — install the mosquitto or mosquitto-clients package"),Mi=Ft(Gt,1,"check-icon svelte-17yczfe",null,Mi,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(Ki,c(u).mosquitto?"✓":"✗"),Vi=Ft(Ei,1,"check-note svelte-17yczfe",null,Vi,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(ji,c(u).mosquitto?"found in PATH":"not found — install the mosquitto package")}),D(Ci,ni)},bi=Ci=>{var ni=wee();D(Ci,ni)};z(ui,Ci=>{c(u)?Ci(vi):c(f)&&Ci(bi,1)})}var Ge=v(ui,2),Ee=_(Ge),ii=_(Ee);j(()=>{Ee.disabled=c(f),W(ii,c(f)?"Checking…":c(u)?"Re-check":"Check tools")}),U("click",Ee,P),D(it,Dt)};z(ze,it=>{c(d)==="local"&&it(We)})}var ve=v(ze,2);{var ht=it=>{var Dt=Fee(),Jt=Et(Dt),hi=v(_(Jt),4),ui=_(hi),vi=v(_(ui)),bi=v(ui,2),Ge=v(_(bi)),Ee=v(bi,2),ii=v(_(Ee)),Ci=v(Ee,2),ni=v(_(Ci)),Ui=v(Jt,2),Yi=v(_(Ui),2),Di=v(_(Yi)),wn=_(Di),hn=v(Yi,2);{var cn=Ai=>{var tt=Aee(),At=Et(tt),Oi=v(_(At)),Ri=_(Oi),Ii=v(Ri,2),Ni=v(At,2);{var K=Kt=>{var si=Dee(),mt=v(_(si)),dt=_(mt),Y=v(dt,2);j(()=>k1(dt,c(H))),U("click",Y,()=>V(c(H))),D(Kt,si)};z(Ni,Kt=>{c(H)&&Kt(K)})}var Ae=v(Ni,2),Ze=_(Ae),nt=_(Ze);j(()=>{k1(Ri,c(p)),Ze.disabled=c(C),W(nt,c(C)?"Generating…":"Regenerate keypair")}),U("click",Ii,()=>V(c(p))),U("click",Ze,R),D(Ai,tt)},gn=Ai=>{var tt=kee(),At=_(tt),Oi=_(At);j(()=>{At.disabled=c(C),W(Oi,c(C)?"Generating…":"Generate keypair")}),U("click",At,R),D(Ai,tt)};z(hn,Ai=>{c(p)?Ai(cn):Ai(gn,-1)})}var ft=v(hn,2);{var Gt=Ai=>{var tt=Gx(),At=_(tt);j(()=>W(At,c(b))),D(Ai,tt)};z(ft,Ai=>{c(b)&&Ai(Gt)})}var Mi=v(Ui,2),Ki=v(_(Mi),2),Ei=_(Ki),Vi=_(Ei),ji=v(Ei,2);{var Ji=Ai=>{var tt=Bee();let At;var Oi=_(tt);j(Ri=>{At=Ft(tt,1,"test-result svelte-17yczfe",null,At,Ri),W(Oi,c(w))},[()=>({ok:c(w).startsWith("✓"),fail:c(w).startsWith("✗")})]),D(Ai,tt)};z(ji,Ai=>{c(w)&&Ai(Ji)})}j(()=>{ln(ni,"placeholder",c(a)),W(wn,c(t).identityFile||c(a)),Ei.disabled=c(y)||!c(t).host,W(Vi,c(y)?"Testing…":"Test SSH connection")}),jt(vi,()=>c(t).host,Ai=>c(t).host=Ai),jt(Ge,()=>c(t).port,Ai=>c(t).port=Ai),jt(ii,()=>c(t).user,Ai=>c(t).user=Ai),jt(ni,()=>c(t).identityFile,Ai=>c(t).identityFile=Ai),U("click",Ei,T),D(it,Dt)};z(ve,it=>{c(d)==="ssh"&&it(ht)})}var Mt=v(ve,2);{var st=it=>{var Dt=Gx(),Jt=_(Dt);j(()=>W(Jt,c(r))),D(it,Dt)};z(Mt,it=>{c(r)&&it(st)})}var yt=v(Mt,2);{var Ce=it=>{var Dt=Lee();D(it,Dt)};z(yt,it=>{c(s)&&it(Ce)})}var Rt=v(yt,2),ci=_(Rt),qe=_(ci);j(()=>{re=Ft(we,1,"svelte-17yczfe",null,re,{active:c(d)==="local"}),De=Ft(ae,1,"svelte-17yczfe",null,De,{active:c(d)==="ssh"}),W(xe,c(d)==="local"?"she and mosquitto run on the same machine — local filesystem access":"mosquitto runs on a remote host — file operations go through SSH"),ci.disabled=c(n),W(qe,c(n)?"Saving…":"Save")}),U("click",we,()=>{m(d,"local"),c(u)||P()}),U("click",ae,()=>m(d,"ssh")),U("click",ci,M),D(o,X),$s()}Ys(["click"]);var Tee=B("<button> </button>"),Mee=B('<code>log_dest topic</code> is not enabled in mosquitto.conf.<br/> <span class="hint svelte-1yc29ow">Enable it in the <strong>Config</strong> tab, then click <em>Apply &amp; Reload</em>.</span>',1),Ree=B('<code>log_dest topic</code> is configured — waiting for messages&hellip;<br/> <span class="hint svelte-1yc29ow">If nothing appears, mosquitto may need a full restart for the change to take effect.</span>',1),Nee=B('Waiting for log messages&hellip;<br/> <span class="hint svelte-1yc29ow">Make sure <code class="svelte-1yc29ow">log_dest topic</code> is set in mosquitto.conf.</span>',1),Oee=B('<div class="empty svelte-1yc29ow"><!></div>'),Hee=B('<div class="entry svelte-1yc29ow"><span class="ts svelte-1yc29ow"> </span> <span> </span> <span class="msg svelte-1yc29ow"> </span></div>'),Wee=B('<div class="logs-page svelte-1yc29ow"><div class="toolbar svelte-1yc29ow"><div class="level-filters svelte-1yc29ow"></div> <div class="spacer svelte-1yc29ow"></div> <label class="autoscroll-label svelte-1yc29ow"><input type="checkbox" class="svelte-1yc29ow"/> <span class="checkmark svelte-1yc29ow"></span> Auto-scroll</label> <button class="btn-clear svelte-1yc29ow">Clear</button></div> <div class="log-container svelte-1yc29ow"><!></div></div>');function zee(o,e){js(e,!0);const t={D:"DBG",I:"INF",N:"NTC",W:"WRN",E:"ERR"},i={D:"lvl-d",I:"lvl-i",N:"lvl-n",W:"lvl-w",E:"lvl-e"},n=new Set(["D","I","N","W","E"]);let s=F(Pi([])),r=F(!0),a=F(Pi(new Set(["D","I","N","W","E"]))),d=F(void 0),u=F(!1),f=F(null),g=null;Xs(async()=>{const J=await uU().catch(()=>[]),de=GU(),we=new Set,re=[...J,...de].filter(ae=>n.has(ae.level)).map(ae=>({ts:ae.ts,level:ae.level,msg:ae.msg}));re.sort((ae,De)=>ae.ts-De.ts),m(s,re.filter(ae=>{const De=`${ae.ts}\0${ae.msg}`;return we.has(De)?!1:(we.add(De),!0)}).slice(-500),!0),c(s).length>0&&(m(u,!0),hl().then(p)),g=hr("brokerLog",ae=>{n.has(ae.level)&&(m(u,!0),m(s,[...c(s).slice(-499),{ts:ae.ts,level:ae.level,msg:ae.msg}],!0),c(r)&&hl().then(p))}),cS().then(ae=>{const De=ae.managed.log_dest,Pe=Array.isArray(De)?De:De?[De]:[];m(f,Pe.includes("topic"),!0)}).catch(()=>{m(f,null)})}),Vp(()=>{g==null||g()});function p(){c(d)&&(c(d).scrollTop=c(d).scrollHeight)}function C(J){const de=new Set(c(a));de.has(J)?de.delete(J):de.add(J),m(a,de,!0)}function b(){m(s,[],!0),m(u,!1)}let y=Lt(()=>c(s).filter(J=>c(a).has(J.level)));function w(J){const de=new Date(J);return de.toTimeString().slice(0,8)+"."+String(de.getMilliseconds()).padStart(3,"0")}var A=Wee(),P=_(A),M=_(P);ti(M,20,()=>["D","I","N","W","E"],zi,(J,de)=>{var we=Tee();let re;var ae=_(we);j(De=>{re=Ft(we,1,`lvl-btn ${i[de]??""}`,"svelte-1yc29ow",re,De),ln(we,"title",`Toggle ${de??""} messages`),W(ae,t[de])},[()=>({active:c(a).has(de)})]),U("click",we,()=>C(de)),D(J,we)});var R=v(M,4),T=_(R),V=v(R,2),H=v(P,2),X=_(H);{var se=J=>{var de=Oee(),we=_(de);{var re=De=>{var Pe=ws(),xe=Et(Pe);{var ze=ht=>{var Mt=Mee();D(ht,Mt)},We=ht=>{var Mt=Ree();D(ht,Mt)},ve=ht=>{var Mt=Nee();D(ht,Mt)};z(xe,ht=>{c(f)===!1?ht(ze):c(f)===!0?ht(We,1):ht(ve,-1)})}D(De,Pe)},ae=De=>{var Pe=oo("No messages match the current filter.");D(De,Pe)};z(we,De=>{c(u)?De(ae,-1):De(re)})}D(J,de)},he=J=>{var de=ws(),we=Et(de);ti(we,17,()=>c(y),re=>re.ts+re.msg,(re,ae)=>{var De=Hee(),Pe=_(De),xe=_(Pe),ze=v(Pe,2),We=_(ze),ve=v(ze,2),ht=_(ve);j(Mt=>{W(xe,Mt),Ft(ze,1,`badge ${i[c(ae).level]??""}`,"svelte-1yc29ow"),W(We,t[c(ae).level]),W(ht,c(ae).msg)},[()=>w(c(ae).ts)]),D(re,De)}),D(J,de)};z(X,J=>{c(y).length===0?J(se):J(he,-1)})}gs(H,J=>m(d,J),()=>c(d)),ys(T,()=>c(r),J=>m(r,J)),U("click",V,b),D(o,A),$s()}Ys(["click"]);var Vee=B('<div class="err svelte-d31be1"> </div>'),jee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1">This wizard will configure the <strong>Mosquitto Dynamic Security plugin</strong> for use with she. It will:</p> <ul class="svelte-d31be1"><li>Create a <code class="svelte-d31be1">she-admin</code> service account with a random strong password.</li> <li>Write <code class="svelte-d31be1">dynamic-security.json</code> to your mosquitto config directory.</li> <li>Add the <code class="svelte-d31be1">plugin</code> line to <code class="svelte-d31be1">mosquitto.conf</code>.</li> <li>Ask you to restart mosquitto to activate the plugin.</li></ul> <p class="hint svelte-d31be1">In <strong>remote mode</strong> (SSH host configured), <code class="svelte-d31be1">mosquitto_ctrl</code> is invoked on the broker host via SSH. In local mode, it must be installed on this machine. <code class="svelte-d31be1">mosquitto_ctrl</code> is part of the <code class="svelte-d31be1">mosquitto</code> package.</p> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Start</button></div></div>'),$ee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),Uee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1">dynsec is not yet active. Configure bootstrap settings:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" placeholder="(leave blank to auto-generate)" class="svelte-d31be1"/></label> <label class="svelte-d31be1">Mosquitto config directory<input class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1"> </button></div></div>'),qee=B('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),Gee=B(`<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec files written and credentials saved.</div> <p class="svelte-d31be1">The <code class="svelte-d31be1">plugin</code> line has been added to <code class="svelte-d31be1"> </code>.</p> <p class="svelte-d31be1">Enabling a new plugin requires a <strong>full mosquitto restart</strong> (not just SIGHUP):</p> <div class="actions svelte-d31be1"><button class="btn-warn svelte-d31be1"> </button> <button class="skip-step svelte-d31be1">Skip (I'll restart manually)</button></div> <!></div>`),Kee=B('<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec is configured and connected.</div> <p class="svelte-d31be1">she is now managing broker users and ACLs via the Dynamic Security plugin. You can use the <strong>Users & Roles</strong> tab to add users, create roles, and define ACL rules.</p> <div class="actions svelte-d31be1"><button class="btn-primary svelte-d31be1">Done</button></div></div>'),Zee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1">Enter the credentials of an existing dynsec admin account:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Back</button> <button class="btn-primary svelte-d31be1"> </button></div></div>'),Xee=B('<div class="wizard svelte-d31be1"><div class="wizard-header svelte-d31be1"><h3 class="svelte-d31be1">dynsec Setup Wizard</h3> <button class="skip-btn svelte-d31be1">Manual setup instead</button></div> <!> <!></div>');function Yee(o,e){js(e,!0);let t=F("intro"),i=F(""),n=F(!1),s=F("she-admin"),r=F(""),a=F("/etc/mosquitto"),d=F(null),u=F(!1),f=F(!1),g=F("she-admin"),p=F(""),C=F(!1);async function b(){m(n,!0),m(i,"");try{(await(await fetch("/she/broker/wizard/probe",{method:"POST",headers:{"Content-Type":"application/json"}})).json()).active?m(t,"done"):m(t,"config")}catch(re){m(i,re.message,!0)}finally{m(n,!1)}}async function y(){m(n,!0),m(i,"");try{const re=await fetch("/she/broker/wizard/bootstrap",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adminUsername:c(s),adminPassword:c(r)||void 0,configDir:c(a)})}),ae=await re.json();if(!re.ok||!ae.ok)throw new Error(ae.error??"Bootstrap failed");m(d,ae,!0);const De=await Pl(),Pe=De.broker??{};await pp({...De,broker:{...Pe,dynsec:{adminUsername:ae.adminUsername,adminPassword:ae.adminPassword}}}),await gU().catch(()=>{}),m(t,"restart")}catch(re){m(i,re.message,!0)}finally{m(n,!1)}}async function w(){m(f,!0),m(i,"");try{await hU(),await new Promise(re=>setTimeout(re,2e3)),m(u,!0),m(t,"done")}catch(re){m(i,re.message,!0)}finally{m(f,!1)}}async function A(){m(C,!0),m(i,"");try{const re=await Pl(),ae=re.broker??{};await pp({...re,broker:{...ae,dynsec:{adminUsername:c(g),adminPassword:c(p)}}}),m(t,"done")}catch(re){m(i,re.message,!0)}finally{m(C,!1)}}var P=Xee(),M=_(P),R=v(_(M),2),T=v(M,2);{var V=re=>{var ae=Vee(),De=_(ae);j(()=>W(De,c(i))),D(re,ae)};z(T,re=>{c(i)&&re(V)})}var H=v(T,2);{var X=re=>{var ae=jee(),De=v(_(ae),6),Pe=_(De);j(()=>Pe.disabled=c(n)),U("click",Pe,()=>{m(t,"probe"),b()}),D(re,ae)},se=re=>{var ae=$ee(),De=_(ae),Pe=_(De);j(()=>W(Pe,c(n)?"Probing dynsec…":"Checking dynsec status…")),D(re,ae)},he=re=>{var ae=Uee(),De=v(_(ae),2),Pe=v(_(De)),xe=v(De,2),ze=v(_(xe)),We=v(xe,2),ve=v(_(We)),ht=v(We,2),Mt=_(ht),st=_(Mt);j(()=>{Mt.disabled=c(n)||!c(s),W(st,c(n)?"Bootstrapping…":"Bootstrap dynsec")}),jt(Pe,()=>c(s),yt=>m(s,yt)),jt(ze,()=>c(r),yt=>m(r,yt)),jt(ve,()=>c(a),yt=>m(a,yt)),U("click",Mt,y),D(re,ae)},J=re=>{var ae=Gee(),De=v(_(ae),2),Pe=v(_(De),3),xe=_(Pe),ze=v(De,4),We=_(ze),ve=_(We),ht=v(We,2),Mt=v(ze,2);{var st=yt=>{var Ce=qee();D(yt,Ce)};z(Mt,yt=>{c(f)&&yt(st)})}j(()=>{W(xe,c(d).confFilePath),We.disabled=c(f),W(ve,c(f)?"Restarting…":"Restart mosquitto now")}),U("click",We,w),U("click",ht,()=>{m(t,"done")}),D(re,ae)},de=re=>{var ae=Kee(),De=v(_(ae),4),Pe=_(De);U("click",Pe,function(...xe){var ze;(ze=e.onDone)==null||ze.apply(this,xe)}),D(re,ae)},we=re=>{var ae=Zee(),De=v(_(ae),2),Pe=v(_(De)),xe=v(De,2),ze=v(_(xe)),We=v(xe,2),ve=_(We),ht=v(ve,2),Mt=_(ht);j(()=>{ht.disabled=c(C)||!c(g)||!c(p),W(Mt,c(C)?"Saving…":"Save credentials")}),jt(Pe,()=>c(g),st=>m(g,st)),jt(ze,()=>c(p),st=>m(p,st)),U("click",ve,()=>m(t,"intro")),U("click",ht,A),D(re,ae)};z(H,re=>{c(t)==="intro"?re(X):c(t)==="probe"?re(se,1):c(t)==="config"?re(he,2):c(t)==="restart"&&c(d)?re(J,3):c(t)==="done"?re(de,4):c(t)==="manual"&&re(we,5)})}U("click",R,()=>m(t,"manual")),D(o,P),$s()}Ys(["click"]);var Qee=B('<div class="loading svelte-zuhcpo">Loading…</div>'),Jee=B('<div class="error-banner svelte-zuhcpo"> </div>'),ete=B('<div class="conn-row svelte-zuhcpo"><span></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span><!></span> <button class="btn-deactivate svelte-zuhcpo"> </button></div>'),tte=B('<button class="btn-wizard-inline svelte-zuhcpo">Setup Wizard ↗</button>'),ite=B('<div class="conn-row svelte-zuhcpo"><span class="dot dot-off svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span class="conn-detail muted svelte-zuhcpo">not configured</span> <!></div>'),nte=B('<div class="error-inline svelte-zuhcpo"> </div>'),ste=B('<button class="diag-btn svelte-zuhcpo"> </button>'),J2=B('<p class="diag-issue svelte-zuhcpo"> </p>'),ote=B('<p class="diag-ok-msg svelte-zuhcpo">✓ dynamic-security.json looks correct. Verify mosquitto restarted with the plugin loaded.</p>'),rte=B('<p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">File</span><code class="svelte-zuhcpo"> </code></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Admin user exists</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Has admin role</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">$CONTROL publish ACL</span><span> </span></p> <!> <!>',1),ate=B('<div><!></div> <button class="diag-btn svelte-zuhcpo" style="margin-top:6px"> </button>',1),lte=B('<button class="wizard-btn svelte-zuhcpo">Run Setup Wizard</button>'),cte=B('<div class="diag-area svelte-zuhcpo"><!> <!></div>'),dte=B('<div class="stats-block svelte-zuhcpo"><dl class="svelte-zuhcpo"><dt class="svelte-zuhcpo">Version</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Uptime</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Clients</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Messages</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Topics</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Traffic</dt><dd class="svelte-zuhcpo"> </dd></dl></div>'),ute=B('<div style="margin-top: 20px;"><!></div>'),hte=B('<div class="status-layout svelte-zuhcpo"><div class="conn-block svelte-zuhcpo"><div class="conn-row svelte-zuhcpo"><span class="dot ok svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">mosquitto</span> <span class="conn-detail svelte-zuhcpo"> </span></div> <!> <!></div> <!> <!></div> <!>',1),fte=B('<div class="tab-content svelte-zuhcpo"><!></div>'),gte=B('<div class="broker-page svelte-zuhcpo"><div class="sub-nav svelte-zuhcpo"><button>Status</button> <button>Directory</button> <button>Config</button> <button>Listeners</button> <button>Certificates</button> <button>Connection</button> <button>Logs</button></div> <!></div> <!>',1);function pte(o,e){js(e,!0);let t=F(!1),i,n=F(!1),s=F(""),r=F(!1),a=F(null);const d="she-broker-tab";let u=F(Pi(localStorage.getItem(d)??"status"));Kn(()=>{localStorage.setItem(d,c(u))});let f=F(null),g=F(""),p=F(!0);async function C(){try{m(f,await Pb(),!0),m(g,"")}catch(qe){m(g,qe.message??"Failed to load broker status",!0)}finally{m(p,!1)}}Xs(()=>{C();const qe=setInterval(C,1e4);return()=>clearInterval(qe)});async function b(){m(r,!0),m(a,null);try{m(a,await pU(),!0)}catch(qe){m(a,{ok:!1,dynSecPath:"",issues:[qe.message??"Diagnose request failed"]},!0)}finally{m(r,!1)}}async function y(){if(await i.show("Remove dynsec plugin lines from mosquitto.conf and clear credentials? You will need to restart mosquitto afterwards.",{confirm:"Deactivate",danger:!0})){m(n,!0),m(s,"");try{await fU(),await C()}catch(qe){m(s,qe.message??"Deactivate failed",!0)}finally{m(n,!1)}}}function w(qe){var Dt;if(!((Dt=c(f))!=null&&Dt.sys))return"—";const it=c(f).sys[qe];return it?String(it.val??"—"):"—"}function A(qe){if(qe==="—")return qe;const it=qe.match(/^(\d+)/),Dt=it?parseInt(it[1]):NaN;if(isNaN(Dt))return qe;const Jt=Math.floor(Dt/86400),hi=Math.floor(Dt%86400/3600),ui=Math.floor(Dt%3600/60),vi=Dt%60,bi=Ge=>String(Ge).padStart(2,"0");return Jt>0?`${Jt}d ${bi(hi)}:${bi(ui)}:${bi(vi)}`:`${bi(hi)}:${bi(ui)}:${bi(vi)}`}function P(qe){if(qe==="—")return qe;const it=parseInt(qe);return isNaN(it)?qe:it<1024?`${it} B`:it<1048576?`${(it/1024).toFixed(1)} KB`:it<1073741824?`${(it/1048576).toFixed(1)} MB`:`${(it/1073741824).toFixed(1)} GB`}var M=gte(),R=Et(M),T=_(R),V=_(T);let H;var X=v(V,2);let se;var he=v(X,2);let J;var de=v(he,2);let we;var re=v(de,2);let ae;var De=v(re,2);let Pe;var xe=v(De,2);let ze;var We=v(T,2);{var ve=qe=>{var it=fte(),Dt=_(it);{var Jt=vi=>{var bi=Qee();D(vi,bi)},hi=vi=>{var bi=Jee(),Ge=_(bi);j(()=>W(Ge,c(g))),D(vi,bi)},ui=vi=>{var bi=hte(),Ge=Et(bi),Ee=_(Ge),ii=_(Ee),Ci=v(_(ii),4),ni=_(Ci),Ui=v(ii,2);{var Yi=Vi=>{var ji=ete(),Ji=_(ji);let Ai;var tt=v(Ji,4);let At;var Oi=_(tt);{var Ri=Ze=>{var nt=oo("plugin active");D(Ze,nt)},Ii=Ze=>{var nt=oo("connected — plugin not responding");D(Ze,nt)},Ni=Ze=>{var nt=oo("disconnected");D(Ze,nt)};z(Oi,Ze=>{c(f).dynsec.dynsecReady?Ze(Ri):c(f).dynsec.connected?Ze(Ii,1):Ze(Ni,-1)})}var K=v(tt,2),Ae=_(K);j(()=>{Ai=Ft(Ji,1,"dot svelte-zuhcpo",null,Ai,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,"dot-err":!c(f).dynsec.connected}),At=Ft(tt,1,"conn-detail svelte-zuhcpo",null,At,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,err:!c(f).dynsec.connected}),K.disabled=c(n),W(Ae,c(n)?"…":"deactivate")}),U("click",K,y),D(Vi,ji)},Di=Vi=>{var ji=ite(),Ji=v(_(ji),6);{var Ai=tt=>{var At=tte();U("click",At,()=>m(t,!0)),D(tt,At)};z(Ji,tt=>{c(t)||tt(Ai)})}D(Vi,ji)};z(Ui,Vi=>{c(f).dynsec.configured?Vi(Yi):Vi(Di,-1)})}var wn=v(Ui,2);{var hn=Vi=>{var ji=nte(),Ji=_(ji);j(()=>W(Ji,c(s))),D(Vi,ji)};z(wn,Vi=>{c(s)&&Vi(hn)})}var cn=v(Ee,2);{var gn=Vi=>{var ji=cte(),Ji=_(ji);{var Ai=Ri=>{var Ii=ste(),Ni=_(Ii);j(()=>{Ii.disabled=c(r),W(Ni,c(r)?"Running diagnostics…":"Run diagnostics")}),U("click",Ii,b),D(Ri,Ii)},tt=Ri=>{var Ii=ate(),Ni=Et(Ii);let K;var Ae=_(Ni);{var Ze=mt=>{var dt=J2(),Y=_(dt);j(()=>W(Y,`⚠ ${c(a).error??""}`)),D(mt,dt)},nt=mt=>{var dt=rte(),Y=Et(dt),Te=v(_(Y)),Xe=_(Te),ke=v(Y,2),It=v(_(ke)),$t=_(It),te=v(ke,2),Qe=v(_(te)),Pt=_(Qe),kt=v(te,2),Ot=v(_(kt)),Se=_(Ot),Ye=v(kt,2);ti(Ye,17,()=>c(a).issues,zi,(_i,ei)=>{var fe=J2(),Je=_(fe);j(()=>W(Je,`⚠ ${c(ei)??""}`)),D(_i,fe)});var Qt=v(Ye,2);{var Zt=_i=>{var ei=ote();D(_i,ei)};z(Qt,_i=>{c(a).ok&&_i(Zt)})}j(()=>{W(Xe,c(a).dynSecPath),Ft(It,1,hg(c(a).adminClientExists?"ok":"fail"),"svelte-zuhcpo"),W($t,c(a).adminClientExists?"✓ yes":"✗ no"),Ft(Qe,1,hg(c(a).hasAdminRole?"ok":"fail"),"svelte-zuhcpo"),W(Pt,c(a).hasAdminRole?"✓ yes":"✗ no"),Ft(Ot,1,hg(c(a).hasControlSendAcl?"ok":"fail"),"svelte-zuhcpo"),W(Se,c(a).hasControlSendAcl?"✓ present":"✗ missing")}),D(mt,dt)};z(Ae,mt=>{c(a).error?mt(Ze):mt(nt,-1)})}var Kt=v(Ni,2),si=_(Kt);j(()=>{K=Ft(Ni,1,"diag-card svelte-zuhcpo",null,K,{"diag-ok":c(a).ok,"diag-fail":!c(a).ok}),Kt.disabled=c(r),W(si,c(r)?"Running…":"Re-run")}),U("click",Kt,b),D(Ri,Ii)};z(Ji,Ri=>{c(a)?Ri(tt,-1):Ri(Ai)})}var At=v(Ji,2);{var Oi=Ri=>{var Ii=lte();U("click",Ii,()=>m(t,!0)),D(Ri,Ii)};z(At,Ri=>{c(t)||Ri(Oi)})}D(Vi,ji)};z(cn,Vi=>{c(f).dynsec.configured&&c(f).dynsec.connected&&!c(f).dynsec.dynsecReady&&Vi(gn)})}var ft=v(cn,2);{var Gt=Vi=>{var ji=dte(),Ji=_(ji),Ai=v(_(Ji)),tt=_(Ai),At=v(Ai,3),Oi=_(At),Ri=v(At,3),Ii=_(Ri),Ni=v(Ri,3),K=_(Ni),Ae=v(Ni,3),Ze=_(Ae),nt=v(Ae,3),Kt=_(nt);j((si,mt,dt,Y,Te,Xe,ke,It,$t,te,Qe,Pt)=>{W(tt,si),W(Oi,mt),W(Ii,`${dt??""} connected · ${Y??""} max · ${Te??""} total`),W(K,`${Xe??""} rcv · ${ke??""} sent · ${It??""} stored`),W(Ze,`${$t??""} retained · ${te??""} subscriptions`),W(Kt,`${Qe??""} in · ${Pt??""} out`)},[()=>w("$SYS/broker/version"),()=>A(w("$SYS/broker/uptime")),()=>w("$SYS/broker/clients/connected"),()=>w("$SYS/broker/clients/maximum"),()=>w("$SYS/broker/clients/total"),()=>w("$SYS/broker/messages/received"),()=>w("$SYS/broker/messages/sent"),()=>w("$SYS/broker/messages/stored"),()=>w("$SYS/broker/retained messages/count"),()=>w("$SYS/broker/subscriptions/count"),()=>P(w("$SYS/broker/bytes/received")),()=>P(w("$SYS/broker/bytes/sent"))]),D(Vi,ji)},Mi=Lt(()=>Object.keys(c(f).sys).length>0);z(ft,Vi=>{c(Mi)&&Vi(Gt)})}var Ki=v(Ge,2);{var Ei=Vi=>{var ji=ute(),Ji=_(ji);Yee(Ji,{onDone:()=>{m(t,!1),C()}}),D(Vi,ji)};z(Ki,Vi=>{c(t)&&(!c(f).dynsec.configured||!c(f).dynsec.dynsecReady)&&Vi(Ei)})}j(()=>W(ni,c(f).sshConfigured?`ssh — ${c(f).sshHost}`:"local")),D(vi,bi)};z(Dt,vi=>{c(p)?vi(Jt):c(g)?vi(hi,1):c(f)&&vi(ui,2)})}D(qe,it)},ht=qe=>{{let it=Lt(()=>{var Dt;return((Dt=c(f))==null?void 0:Dt.dynsec.dynsecReady)??!1});MJ(qe,{get dynsecReady(){return c(it)}})}},Mt=qe=>{tee(qe,{})},st=qe=>{ZJ(qe,{})},yt=qe=>{Eee(qe,{})},Ce=qe=>{Pee(qe,{})},Rt=qe=>{zee(qe,{})};z(We,qe=>{c(u)==="status"?qe(ve):c(u)==="users"?qe(ht,1):c(u)==="brokerconfig"?qe(Mt,2):c(u)==="listeners"?qe(st,3):c(u)==="certs"?qe(yt,4):c(u)==="ssh"?qe(Ce,5):c(u)==="logs"&&qe(Rt,6)})}var ci=v(R,2);gs(Yc(ci,{}),qe=>i=qe,()=>i),j(()=>{H=Ft(V,1,"svelte-zuhcpo",null,H,{active:c(u)==="status"}),se=Ft(X,1,"svelte-zuhcpo",null,se,{active:c(u)==="users"}),J=Ft(he,1,"svelte-zuhcpo",null,J,{active:c(u)==="brokerconfig"}),we=Ft(de,1,"svelte-zuhcpo",null,we,{active:c(u)==="listeners"}),ae=Ft(re,1,"svelte-zuhcpo",null,ae,{active:c(u)==="certs"}),Pe=Ft(De,1,"svelte-zuhcpo",null,Pe,{active:c(u)==="ssh"}),ze=Ft(xe,1,"svelte-zuhcpo",null,ze,{active:c(u)==="logs"})}),U("click",V,()=>m(u,"status")),U("click",X,()=>m(u,"users")),U("click",he,()=>m(u,"brokerconfig")),U("click",de,()=>m(u,"listeners")),U("click",re,()=>m(u,"certs")),U("click",De,()=>m(u,"ssh")),U("click",xe,()=>m(u,"logs")),D(o,M),$s()}Ys(["click"]);var xte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),mte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),vte=B('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),_te=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),bte=B('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><circle cx="8" cy="10" r="2" class="svelte-1n46o8q"></circle><path d="M5,7 A4,4 0,0,1 11,7" class="svelte-1n46o8q"></path><path d="M3,5 A6.5,6.5 0,0,1 13,5" class="svelte-1n46o8q"></path><line x1="8" y1="12" x2="8" y2="15" class="svelte-1n46o8q"></line></svg> Broker</button>'),Cte=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),Ete=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),yte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),wte=B('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M8,2 L8,7" class="svelte-1n46o8q"></path><path d="M6,5 L8,7.5 L10,5" class="svelte-1n46o8q"></path><path d="M2.5,14 L6,10" class="svelte-1n46o8q"></path><path d="M6.2,12.8 L6,10 L3.2,10.2" class="svelte-1n46o8q"></path><path d="M13.5,14 L10,10" class="svelte-1n46o8q"></path><path d="M9.8,12.8 L10,10 L12.8,10.2" class="svelte-1n46o8q"></path></svg> Matter <!></button>'),Ste=B('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><ellipse cx="8" cy="4.5" rx="5" ry="1.8" class="svelte-1n46o8q"></ellipse><path d="M3,4.5 v7 a5,1.8 0,0,0 10,0 v-7" class="svelte-1n46o8q"></path><path d="M3,8 a5,1.8 0,0,0 10,0" class="svelte-1n46o8q"></path></svg> DB</button>'),Dte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),Ate=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),kte=B('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),Bte=B('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),Fte=B('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),Lte=B('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button>'),Ite=B('<div class="version-popup svelte-1n46o8q"><dl class="svelte-1n46o8q"><dt class="svelte-1n46o8q">Installed</dt><dd class="svelte-1n46o8q"></dd> <!></dl> <div class="version-actions svelte-1n46o8q"><!> <button class="check-btn svelte-1n46o8q" title="Check for updates now"><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button></div></div>'),Pte=B('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),Tte=B('<dt class="svelte-1n46o8q">Matter nodes</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Matter endpoints</dt><dd class="svelte-1n46o8q"> </dd>',1),Mte=B('<dt class="svelte-1n46o8q">DB docs</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">DB views</dt><dd class="svelte-1n46o8q"> </dd>',1),Rte=B('<dl class="svelte-1n46o8q"><!> <dt class="svelte-1n46o8q">Scripts</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT topics</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT msg/s</dt><dd class="svelte-1n46o8q"> </dd> <!> <!> <dt class="svelte-1n46o8q">Handlers</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Memory</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">CPU</dt><dd class="svelte-1n46o8q"> </dd></dl>'),Nte=B('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),Ote=B('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M18.36 6.64a9 9 0 1 1-12.73 0" class="svelte-1n46o8q"></path><line x1="12" y1="2" x2="12" y2="12" class="svelte-1n46o8q"></line></svg> Restart daemon</button>'),Hte=B('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),Wte=B('<button class="nav-logout svelte-1n46o8q" title="Logout"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" class="svelte-1n46o8q"></path><polyline points="16 17 21 12 16 7" class="svelte-1n46o8q"></polyline><line x1="21" y1="12" x2="9" y2="12" class="svelte-1n46o8q"></line></svg></button>'),zte=B('<div class="shell svelte-1n46o8q"><nav class="svelte-1n46o8q"><span class="brand svelte-1n46o8q">she</span> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="5,3 1,8 5,13" class="svelte-1n46o8q"></polyline><polyline points="11,3 15,8 11,13" class="svelte-1n46o8q"></polyline></svg> Scripts</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" class="svelte-1n46o8q"><rect x="0.75" y="0.75" width="14.5" height="14.5" rx="1" class="svelte-1n46o8q"></rect><path d="M2,11 V5 H5 V11" class="svelte-1n46o8q"></path><path d="M6,12 V5 H9 V8 H6" class="svelte-1n46o8q"></path><path d="M10,11 V5 H15 V11" class="svelte-1n46o8q"></path><line x1="12.5" y1="5" x2="12.5" y2="11" class="svelte-1n46o8q"></line></svg> Packages <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" stroke="none" style="vertical-align: middle" class="svelte-1n46o8q"><path fill-rule="evenodd" d="M2,0 H14 A2,2 0 0,1 16,2 V14 A2,2 0 0,1 14,16 H0 V2 A2,2 0 0,1 2,0 Z M0,16 L0,12 A4,4 0 0,1 4,16 Z M0,10.5 A5.5,5.5 0 0,1 5.5,16 L9,16 A9,9 0 0,0 0,7 Z M0,5.5 A10.5,10.5 0 0,1 10.5,16 L13.5,16 A13.5,13.5 0 0,0 0,2.5 Z" class="svelte-1n46o8q"></path></svg> MQTT <!></button> <!> <!> <!> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-1n46o8q"><line x1="2" y1="5" x2="14" y2="5" class="svelte-1n46o8q"></line><line x1="2" y1="8" x2="14" y2="8" class="svelte-1n46o8q"></line><line x1="2" y1="11" x2="9" y2="11" class="svelte-1n46o8q"></line></svg> Logs <!></button> <div class="nav-spacer svelte-1n46o8q"></div> <div class="nav-right svelte-1n46o8q"><a class="nav-icon svelte-1n46o8q" href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" title="GitHub"><svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" class="svelte-1n46o8q"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" class="svelte-1n46o8q"></path></svg></a> <div class="version-wrap svelte-1n46o8q"><button class="version svelte-1n46o8q"> <!></button> <!></div> <div class="stats-wrap svelte-1n46o8q"><button class="nav-icon svelte-1n46o8q" title="Daemon status"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><line x1="18" y1="20" x2="18" y2="10" class="svelte-1n46o8q"></line><line x1="12" y1="20" x2="12" y2="4" class="svelte-1n46o8q"></line><line x1="6" y1="20" x2="6" y2="14" class="svelte-1n46o8q"></line></svg></button> <!></div> <button title="Settings"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z" class="svelte-1n46o8q"></path><circle cx="12" cy="12" r="3" class="svelte-1n46o8q"></circle></svg></button> <!></div></nav> <main class="svelte-1n46o8q"><!> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div></main></div>'),Vte=B('<div class="login-error svelte-1n46o8q"> </div>'),jte=B('<div class="login-overlay svelte-1n46o8q"><form class="login-box svelte-1n46o8q"><div class="login-brand svelte-1n46o8q">she</div> <h2 class="svelte-1n46o8q">Sign in</h2> <div class="login-field svelte-1n46o8q"><label for="she-password" class="svelte-1n46o8q">Password</label> <input id="she-password" type="password" placeholder="Enter password" autocomplete="current-password" class="svelte-1n46o8q"/></div> <!> <button type="submit" class="login-btn svelte-1n46o8q"> </button></form></div>'),$te=B('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Restarting smart-home-engine…</div></div>'),Ute=B('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Updating smart-home-engine…</div></div>'),qte=B("<!> <!> <!> <!>",1);function Gte(o,e){js(e,!0);const t=["scripts","mqtt","matter","security","db","logs","config","packages"];function i(){const qe=location.hash.slice(1);return t.includes(qe)?qe:"scripts"}let n=F(Pi(i())),s=F(null),r=F(!1),a=F(!1),d=F(!1),u=F(!1),f=F("none"),g=F(""),p=F(!1),C=F(""),b=F(""),y=F(!1),w=F(!1);P$(()=>{m(p,!0)});async function A(){m(b,""),m(y,!0);try{await R$(c(C)),m(C,""),m(p,!1)}catch(qe){m(b,qe.message??"Login failed",!0)}finally{m(y,!1)}}async function P(){if(c(f)==="proxy"&&c(g)){window.location.href=c(g);return}await N$(),m(p,!0)}let M=F(null),R=F(!1),T=F(!1),V=F(!1),H=F(!1),X=F(Pi([])),se=F(0),he=F(!1),J=F(Pi([]));const de=Lt(()=>c(J).filter(qe=>qe.online).length),we=Lt(()=>c(J).length===0?"none":c(de)===c(J).length?"all":c(de)>0?"some":"offline");let re=F(!1),ae=F(!1);async function De(){if(!await c(M).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;m(R,!0);let qe;try{qe=(await e0()).startedAt}catch{}try{await gF()}catch{}const it=Date.now()+6e4;for(;Date.now()<it;){await new Promise(Dt=>setTimeout(Dt,250));try{const Dt=await e0();if(qe===void 0||Dt.startedAt!==qe){location.reload();return}}catch{}}location.reload()}async function Pe(){m(d,!0);try{const qe=await j$();c(s)&&m(s,{...c(s),latestVersion:qe.latestVersion??void 0},!0)}catch{}finally{m(d,!1)}}async function xe(){var Dt,Jt;if(!await c(M).show(`Update to v${(Dt=c(s))==null?void 0:Dt.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;m(a,!1),m(u,!0);const qe=(Jt=c(s))==null?void 0:Jt.startedAt;try{await V$()}catch{}const it=Date.now()+18e4;for(;Date.now()<it;){await new Promise(hi=>setTimeout(hi,1e3));try{const hi=await e0();if(qe===void 0||hi.startedAt!==qe){location.reload();return}}catch{m(u,!1),m(R,!0)}}location.reload()}function ze(qe){m(n,qe,!0),location.hash=qe}Xs(async()=>{location.hash||(location.hash=c(n));const qe=()=>{m(n,i(),!0)};window.addEventListener("hashchange",qe);try{const Ge=await M$();m(f,Ge.mode,!0),m(g,Ge.proxyLogoutUrl??"",!0),c(f)==="password"&&(await fetch("/she/scripts")).status===401&&m(p,!0)}catch{}m(w,!0);async function it(){var Ge,Ee,ii;try{m(s,await e0(),!0)}catch{}try{const[Ci,ni]=await Promise.all([mF(),Pl()]);m(X,Array.isArray(ni.pinnedPackages)?ni.pinnedPackages:[],!0),m(se,Object.keys(Ci).filter(Yi=>!c(X).includes(Yi)).length,!0);const Ui=c(he);m(he,((Ge=ni.broker)==null?void 0:Ge.enabled)===!0),Ui&&!c(he)&&c(n)==="security"&&ze("scripts")}catch{}!((Ee=c(s))!=null&&Ee.matterEnabled)&&c(n)==="matter"&&ze("scripts"),!((ii=c(s))!=null&&ii.dbEnabled)&&c(n)==="db"&&ze("scripts")}it();const Dt=setInterval(it,5e3),Jt=hr("mqtt:status",Ge=>{Ge.connected===!1?(m(H,!0),m(T,!1),m(V,!1)):(m(H,!1),m(T,Ge.ready===!1),m(V,Ge.ready===!0))}),hi=hr("matter:deviceList",Ge=>{Array.isArray(Ge.devices)&&m(J,Ge.devices.map(Ee=>({nodeId:String(Ee.nodeId),online:!!Ee.online})),!0)}),ui=hr("matter:deviceStatus",Ge=>{if(Ge.nodeId===void 0)return;const Ee=String(Ge.nodeId),ii=!!Ge.online;m(J,c(J).map(Ci=>Ci.nodeId===Ee?{...Ci,online:ii}:Ci),!0)}),vi=DF();m(re,vi.some(Ge=>Ge.level==="error"),!0),m(ae,!c(re)&&vi.some(Ge=>Ge.level==="warn"),!0);const bi=uS(Ge=>{Ge.level==="error"?(m(re,!0),m(ae,!1)):Ge.level==="warn"&&!c(re)&&m(ae,!0)});return()=>{window.removeEventListener("hashchange",qe),clearInterval(Dt),Jt(),hi(),ui(),bi()}});var We=qte();xs("click",i6,()=>{c(r)&&m(r,!1),c(a)&&m(a,!1)});var ve=Et(We);{var ht=qe=>{var it=zte(),Dt=_(it),Jt=v(_(Dt),2);let hi;var ui=v(Jt,2);let vi;var bi=v(_(ui),2);{var Ge=N=>{var $=xte();j(()=>ln($,"title",`${c(se)??""} package update${c(se)===1?"":"s"} available`)),D(N,$)};z(bi,N=>{c(se)>0&&N(Ge)})}var Ee=v(ui,2);let ii;var Ci=v(_(Ee),2);{var ni=N=>{var $=mte();D(N,$)},Ui=N=>{var $=vte();D(N,$)},Yi=N=>{var $=_te();D(N,$)};z(Ci,N=>{c(H)?N(ni):c(T)?N(Ui,1):c(V)&&N(Yi,2)})}var Di=v(Ee,2);{var wn=N=>{var $=bte();let oe;j(()=>oe=Ft($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="security"})),U("click",$,()=>ze("security")),D(N,$)};z(Di,N=>{c(he)&&N(wn)})}var hn=v(Di,2);{var cn=N=>{var $=wte();let oe;var ie=v(_($),2);{var ne=Fe=>{var _e=Cte();D(Fe,_e)},le=Fe=>{var _e=Ete();D(Fe,_e)},et=Fe=>{var _e=yte();D(Fe,_e)};z(ie,Fe=>{c(we)==="all"?Fe(ne):c(we)==="some"?Fe(le,1):c(we)==="offline"&&Fe(et,2)})}j(()=>oe=Ft($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="matter"})),U("click",$,()=>ze("matter")),D(N,$)};z(hn,N=>{var $;($=c(s))!=null&&$.matterEnabled&&N(cn)})}var gn=v(hn,2);{var ft=N=>{var $=Ste();let oe;j(()=>oe=Ft($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="db"})),U("click",$,()=>ze("db")),D(N,$)};z(gn,N=>{var $;($=c(s))!=null&&$.dbEnabled&&N(ft)})}var Gt=v(gn,2);let Mi;var Ki=v(_(Gt),2);{var Ei=N=>{var $=Dte();D(N,$)},Vi=N=>{var $=Ate();D(N,$)};z(Ki,N=>{c(re)?N(Ei):c(ae)&&N(Vi,1)})}var ji=v(Gt,4),Ji=v(_(ji),2),Ai=_(Ji),tt=_(Ai);tt.nodeValue="v1.12.5 ";var At=v(tt);{var Oi=N=>{var $=kte();D(N,$)};z(At,N=>{var $,oe;($=c(s))!=null&&$.latestVersion&&!((oe=c(s))!=null&&oe.docker)&&N(Oi)})}var Ri=v(Ai,2);{var Ii=N=>{var $=Ite(),oe=_($),ie=v(_(oe));ie.textContent="v1.12.5";var ne=v(ie,2);{var le=ce=>{var Ve=Bte(),vt=v(Et(Ve)),Le=_(vt);j(()=>W(Le,`v${c(s).latestVersion??""}`)),D(ce,Ve)},et=ce=>{var Ve=Fte();D(ce,Ve)};z(ne,ce=>{var Ve;(Ve=c(s))!=null&&Ve.latestVersion?ce(le):ce(et,-1)})}var Fe=v(oe,2),_e=_(Fe);{var Ke=ce=>{var Ve=Lte(),vt=v(_(Ve));j(()=>W(vt,` Update to v${c(s).latestVersion??""}`)),U("click",Ve,xe),D(ce,Ve)};z(_e,ce=>{var Ve;(Ve=c(s))!=null&&Ve.latestVersion&&ce(Ke)})}var Me=v(_e,2),at=_(Me);let Xt;var Z=v(at);j(()=>{Me.disabled=c(d),Xt=Ft(at,0,"svelte-1n46o8q",null,Xt,{spinning:c(d)}),W(Z,` ${c(d)?"Checking…":"Check for updates"}`)}),U("click",$,ce=>ce.stopPropagation()),U("click",Me,Pe),D(N,$)};z(Ri,N=>{var $;c(a)&&!(($=c(s))!=null&&$.docker)&&N(Ii)})}var Ni=v(Ji,2),K=_(Ni),Ae=v(K,2);{var Ze=N=>{var $=Hte(),oe=_($);{var ie=_e=>{var Ke=Rte(),Me=_(Ke);{var at=gt=>{const pe=Lt(()=>Math.floor((Date.now()-c(s).startedAt)/1e3)),He=Lt(()=>Math.floor(c(pe)/86400)),Ct=Lt(()=>Math.floor(c(pe)%86400/3600)),zt=Lt(()=>Math.floor(c(pe)%3600/60));var bt=Pte(),fi=v(Et(bt)),ki=_(fi);j(()=>W(ki,`${c(He)>0?c(He)+"d ":""}${c(Ct)>0||c(He)>0?c(Ct)+"h ":""}${c(zt)??""}m`)),D(gt,bt)};z(Me,gt=>{c(s).startedAt&&gt(at)})}var Xt=v(Me,3),Z=_(Xt),ce=v(Xt,3),Ve=_(ce),vt=v(ce,3),Le=_(vt),Oe=v(vt,2);{var St=gt=>{var pe=Tte(),He=v(Et(pe)),Ct=_(He),zt=v(He,3),bt=_(zt);j(()=>{W(Ct,c(s).matterNodes??0),W(bt,c(s).matterEndpoints??0)}),D(gt,pe)};z(Oe,gt=>{c(s).matterEnabled&&gt(St)})}var xt=v(Oe,2);{var Ie=gt=>{var pe=Mte(),He=v(Et(pe)),Ct=_(He),zt=v(He,3),bt=_(zt);j(()=>{W(Ct,c(s).dbDocs??"—"),W(bt,c(s).dbViews??"—")}),D(gt,pe)};z(xt,gt=>{c(s).dbEnabled&&gt(Ie)})}var ge=v(xt,3),Re=_(ge),Ne=v(ge,3),$e=_(Ne),ct=v(Ne,3),je=_(ct);j(()=>{W(Z,c(s).scripts),W(Ve,c(s).topics),W(Le,c(s).mqttMsgPerSec??"—"),W(Re,c(s).handlers??"—"),W($e,c(s).memMb!=null?c(s).memMb+" MB":"—"),W(je,c(s).cpuPercent!=null?c(s).cpuPercent+" %":"—")}),D(_e,Ke)},ne=_e=>{var Ke=Nte();D(_e,Ke)};z(oe,_e=>{c(s)?_e(ie):_e(ne,-1)})}var le=v(oe,2),et=_(le);{var Fe=_e=>{var Ke=Ote();U("click",Ke,()=>{m(r,!1),De()}),D(_e,Ke)};z(et,_e=>{var Ke;(Ke=c(s))!=null&&Ke.docker||_e(Fe)})}U("click",$,_e=>_e.stopPropagation()),D(N,$)};z(Ae,N=>{c(r)&&N(Ze)})}var nt=v(Ni,2);let Kt;var si=v(nt,2);{var mt=N=>{var $=Wte();U("click",$,P),D(N,$)};z(si,N=>{c(f)==="password"&&N(mt)})}var dt=v(Dt,2),Y=_(dt);gs(Yc(Y,{}),N=>m(M,N,!0),()=>c(M));var Te=v(Y,2);let Xe;var ke=_(Te);{let N=Lt(()=>c(n)==="scripts");aZ(ke,{get active(){return c(N)}})}var It=v(Te,2);let $t;var te=_(It);eJ(te,{});var Qe=v(It,2);let Pt;var kt=_(Qe);MQ(kt,{});var Ot=v(Qe,2);let Se;var Ye=_(Ot);JY(Ye,{});var Qt=v(Ot,2);let Zt;var _i=_(Qt);pte(_i,{});var ei=v(Qt,2);let fe;var Je=_(ei);iY(Je,{});var rt=v(ei,2);let lt;var Ut=_(rt);KZ(Ut,{});var Ht=v(rt,2);let yi;var I=_(Ht);QZ(I,{}),j(()=>{hi=Ft(Jt,1,"svelte-1n46o8q",null,hi,{active:c(n)==="scripts"}),vi=Ft(ui,1,"svelte-1n46o8q",null,vi,{active:c(n)==="packages"}),ii=Ft(Ee,1,"svelte-1n46o8q",null,ii,{active:c(n)==="mqtt"}),Mi=Ft(Gt,1,"svelte-1n46o8q",null,Mi,{active:c(n)==="logs"}),Kt=Ft(nt,1,"nav-settings svelte-1n46o8q",null,Kt,{active:c(n)==="config"}),Xe=Ft(Te,1,"page-wrap svelte-1n46o8q",null,Xe,{hidden:c(n)!=="scripts"}),$t=Ft(It,1,"page-wrap svelte-1n46o8q",null,$t,{hidden:c(n)!=="packages"}),Pt=Ft(Qe,1,"page-wrap svelte-1n46o8q",null,Pt,{hidden:c(n)!=="mqtt"}),Se=Ft(Ot,1,"page-wrap svelte-1n46o8q",null,Se,{hidden:c(n)!=="matter"}),Zt=Ft(Qt,1,"page-wrap svelte-1n46o8q",null,Zt,{hidden:c(n)!=="security"}),fe=Ft(ei,1,"page-wrap svelte-1n46o8q",null,fe,{hidden:c(n)!=="db"}),lt=Ft(rt,1,"page-wrap svelte-1n46o8q",null,lt,{hidden:c(n)!=="config"}),yi=Ft(Ht,1,"page-wrap svelte-1n46o8q",null,yi,{hidden:c(n)!=="logs"})}),U("click",Jt,()=>ze("scripts")),U("click",ui,()=>ze("packages")),U("click",Ee,()=>ze("mqtt")),U("click",Gt,()=>{ze("logs"),m(re,!1),m(ae,!1)}),U("click",Ai,N=>{N.stopPropagation(),m(a,!c(a)),m(r,!1)}),U("click",K,N=>{N.stopPropagation(),m(r,!c(r)),m(a,!1)}),U("click",nt,()=>ze("config")),D(qe,it)};z(ve,qe=>{c(w)&&!c(p)&&qe(ht)})}var Mt=v(ve,2);{var st=qe=>{var it=jte(),Dt=_(it),Jt=v(_(Dt),4),hi=v(_(Jt),2),ui=v(Jt,2);{var vi=Ee=>{var ii=Vte(),Ci=_(ii);j(()=>W(Ci,c(b))),D(Ee,ii)};z(ui,Ee=>{c(b)&&Ee(vi)})}var bi=v(ui,2),Ge=_(bi);j(()=>{hi.disabled=c(y),bi.disabled=c(y)||!c(C),W(Ge,c(y)?"Signing in…":"Sign in")}),xs("submit",Dt,Ee=>{Ee.preventDefault(),A()}),jt(hi,()=>c(C),Ee=>m(C,Ee)),D(qe,it)};z(Mt,qe=>{c(p)&&qe(st)})}var yt=v(Mt,2);{var Ce=qe=>{var it=$te();D(qe,it)};z(yt,qe=>{c(R)&&qe(Ce)})}var Rt=v(yt,2);{var ci=qe=>{var it=Ute();D(qe,it)};z(Rt,qe=>{c(u)&&qe(ci)})}D(o,We),$s()}Ys(["click"]);YI(Gte,{target:document.getElementById("app")});export{M6 as t};
232
+ `).map(Ci=>Ci.trim()).filter(Boolean);ii.length>0?Ge.include_dir=ii.length===1?ii[0]:ii:delete Ge.include_dir,Ee("max_connections",c(b)),Ee("max_inflight_messages",c(y)),Ee("max_queued_messages",c(w)),Ee("max_packet_size",c(A)),Ee("message_size_limit",c(P)),Ee("max_keepalive",c(M)),Ee("persistent_client_expiration",c(R)),Ee("retain_available",c(T)),Ee("set_tcp_nodelay",c(V)),Ee("connection_messages",c(H)),c(de).size>0?Ge.log_dest=c(de).size===1?[...c(de)][0]:[...c(de)]:delete Ge.log_dest,c(we).size>0?Ge.log_type=c(we).size===1?[...c(we)][0]:[...c(we)]:delete Ge.log_type,await yF({listeners:c(t).listeners,managed:Ge,passthrough:c(t).passthrough,checksum:c(u)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await Pe()}catch(Ge){m(s,Ge.message??"Save failed",!0)}finally{m(n,!1)}}}async function ze(){m(a,!0),m(d,"");try{const Ge=await wF();m(d,Ge.stderr||Ge.stdout||"Reloaded",!0)}catch(Ge){m(d,"Error: "+(Ge.message??"reload failed"))}finally{m(a,!1)}}var We=eee(),ve=_(We),ht=v(_(ve),2),Mt=_(ht),st=_(Mt),yt=v(Mt,2),Ce=_(yt),Rt=v(ve,2);{var ci=Ge=>{var Ee=Y2(),ii=_(Ee);j(()=>W(ii,c(i))),D(Ge,Ee)};z(Rt,Ge=>{c(i)&&Ge(ci)})}var qe=v(Rt,2);{var it=Ge=>{var Ee=Y2(),ii=_(Ee);j(()=>W(ii,c(s))),D(Ge,Ee)};z(qe,Ge=>{c(s)&&Ge(it)})}var Dt=v(qe,2);{var Jt=Ge=>{var Ee=XJ();D(Ge,Ee)};z(Dt,Ge=>{c(r)&&Ge(Jt)})}var hi=v(Dt,2);{var ui=Ge=>{var Ee=YJ(),ii=_(Ee);j(()=>W(ii,c(d))),D(Ge,Ee)};z(hi,Ge=>{c(d)&&Ge(ui)})}var vi=v(hi,2);{var bi=Ge=>{var Ee=JJ(),ii=Et(Ee),Ci=v(_(ii),2),ni=_(Ci),Ui=_(ni),Yi=v(_(Ui),2),Di=_(Yi);Di.value=Di.__value="";var wn=v(Di);wn.value=wn.__value="true";var hn=v(wn);hn.value=hn.__value="false";var cn=v(ni,2),gn=_(cn),ft=v(_(gn),2),Gt=v(cn,2),Mi=_(Gt),Ki=v(_(Mi),2),Ei=v(Ci,2),Vi=_(Ei),ji=v(_(Vi),2);ln(ji,"rows",3);var Ji=v(ii,2),Ai=v(_(Ji),2),tt=v(_(Ai),2);ti(tt,21,()=>X,zi,(Le,Oe)=>{var St=YC(),xt=_(St),Ie=v(xt,3);j(ge=>{Zo(xt,ge),W(Ie,` ${c(Oe)??""}`)},[()=>c(de).has(c(Oe))]),U("change",xt,()=>{m(de,re(c(de),c(Oe)),!0)}),D(Le,St)});var At=v(Ai,2),Oi=v(_(At),2),Ri=_(Oi),Ii=v(_(Ri),2);ti(Ii,17,()=>se,zi,(Le,Oe)=>{var St=YC(),xt=_(St),Ie=v(xt,3);j(ge=>{Zo(xt,ge),W(Ie,` ${c(Oe)??""}`)},[()=>c(we).has(c(Oe))]),U("change",xt,()=>{m(we,re(c(we),c(Oe)),!0)}),D(Le,St)});var Ni=v(Ri,2),K=v(_(Ni),2);ti(K,17,()=>he,zi,(Le,Oe)=>{var St=YC(),xt=_(St),Ie=v(xt,3);j(ge=>{Zo(xt,ge),W(Ie,` ${c(Oe)??""}`)},[()=>c(we).has(c(Oe))]),U("change",xt,()=>{m(we,re(c(we),c(Oe)),!0)}),D(Le,St)});var Ae=v(Ni,2),Ze=_(Ae);ti(Ze,17,()=>J,zi,(Le,Oe)=>{var St=QJ(),xt=_(St),Ie=v(xt,4),ge=_(Ie);j(Re=>{Zo(xt,Re),W(ge,c(Oe))},[()=>c(we).has(c(Oe))]),U("change",xt,()=>{m(we,re(c(we),c(Oe)),!0)}),D(Le,St)});var nt=v(Ji,2),Kt=v(_(nt),2),si=_(Kt),mt=_(si),dt=v(_(mt),2),Y=v(si,2),Te=_(Y),Xe=v(_(Te),2),ke=v(Y,2),It=_(ke),$t=v(_(It),2),te=v(ke,2),Qe=_(te),Pt=v(_(Qe),2),kt=v(nt,2),Ot=v(_(kt),2),Se=_(Ot),Ye=_(Se),Qt=v(_(Ye),2),Zt=v(Se,2),_i=_(Zt),ei=v(_(_i),2),fe=v(kt,2),Je=v(_(fe),2),rt=_(Je),lt=_(rt),Ut=v(_(lt),2),Ht=v(rt,2),yi=_(Ht),I=v(_(yi),2),N=_(I);N.value=N.__value="";var $=v(N);$.value=$.__value="true";var oe=v($);oe.value=oe.__value="false";var ie=v(fe,2),ne=v(_(ie),2),le=_(ne),et=_(le),Fe=v(_(et),2),_e=_(Fe);_e.value=_e.__value="";var Ke=v(_e);Ke.value=Ke.__value="true";var Me=v(Ke);Me.value=Me.__value="false";var at=v(le,2),Xt=_(at),Z=v(_(Xt),2),ce=_(Z);ce.value=ce.__value="";var Ve=v(ce);Ve.value=Ve.__value="true";var vt=v(Ve);vt.value=vt.__value="false",Fs(Yi,()=>c(f),Le=>m(f,Le)),jt(ft,()=>c(g),Le=>m(g,Le)),jt(Ki,()=>c(p),Le=>m(p,Le)),jt(ji,()=>c(C),Le=>m(C,Le)),jt(dt,()=>c(b),Le=>m(b,Le)),jt(Xe,()=>c(M),Le=>m(M,Le)),jt($t,()=>c(y),Le=>m(y,Le)),jt(Pt,()=>c(w),Le=>m(w,Le)),jt(Qt,()=>c(A),Le=>m(A,Le)),jt(ei,()=>c(P),Le=>m(P,Le)),jt(Ut,()=>c(R),Le=>m(R,Le)),Fs(I,()=>c(T),Le=>m(T,Le)),Fs(Fe,()=>c(V),Le=>m(V,Le)),Fs(Z,()=>c(H),Le=>m(H,Le)),D(Ge,Ee)};z(vi,Ge=>{c(t)&&Ge(bi)})}j(()=>{Mt.disabled=c(n),W(st,c(n)?"Saving…":"Save"),yt.disabled=c(a),W(Ce,c(a)?"Reloading…":"Apply & Reload")}),U("click",Mt,xe),U("click",yt,ze),D(o,We),$s()}Ys(["click","change"]);var nl=B('<div class="err svelte-9auejo"> </div>'),iee=B('<div class="info-card svelte-9auejo"><dl class="svelte-9auejo"><dt class="svelte-9auejo">CN</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint (SHA-256)</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd> </dd></dl></div>'),nee=B('<div class="empty svelte-9auejo">No managed server certificate. Use one of the options above, or configure <code>certfile</code>/<code>keyfile</code> manually in the Listeners tab.</div>'),see=B('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),oee=B('<tr><td class="mono svelte-9auejo"> </td><td class="mono small svelte-9auejo"> </td><td> </td><td class="actions svelte-9auejo"><button class="danger svelte-9auejo">✕</button></td></tr>'),ree=B('<table class="svelte-9auejo"><thead><tr><th class="svelte-9auejo">CN</th><th class="svelte-9auejo">Fingerprint</th><th class="svelte-9auejo">Expires</th><th class="svelte-9auejo"></th></tr></thead><tbody></tbody></table>'),aee=B('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Certificate installed.</p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd><dt class="svelte-9auejo">Expires</dt><dd class="svelte-9auejo"> </dd></dl></div>'),Q2=B('<button class="btn-primary svelte-9auejo"> </button>'),lee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate self-signed server certificate</h3> <label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.local" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Validity (days)<input type="number" min="1" max="3650" class="svelte-9auejo"/></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div></div></div>'),cee=B('<label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.local" class="svelte-9auejo"/></label> <p class="hint svelte-9auejo">A private key and CSR are generated on the server. Copy the CSR, have it signed by your CA, then paste the signed cert below.</p> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),dee=B('<div class="ok svelte-9auejo">✓ Certificate installed.</div>'),uee=B('<p class="hint svelte-9auejo">Key stored on server. Copy the CSR, get it signed, then paste the signed certificate to complete installation.</p> <label class="svelte-9auejo">Certificate Signing Request<textarea readonly="" rows="8" class="svelte-9auejo"></textarea></label> <div class="csr-actions svelte-9auejo"><button class="svelte-9auejo">Copy CSR</button> <a class="btn-download svelte-9auejo" download="server.csr">Download .csr</a></div> <hr class="svelte-9auejo"/> <label class="svelte-9auejo">Upload signed certificate (PEM)<textarea rows="6" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div>',1),hee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Generate key + CSR for server certificate</h3> <!></div></div>'),fee=B('<label class="svelte-9auejo">Certificate (PEM)<textarea rows="5" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <label class="svelte-9auejo">Private key (PEM — leave blank if key is already on disk from a prior CSR)<textarea rows="4" placeholder="-----BEGIN PRIVATE KEY----- … -----END PRIVATE KEY-----" class="svelte-9auejo"></textarea></label>',1),gee=B('<span class="file-name mono small svelte-9auejo"> </span>'),pee=B('<label class="svelte-9auejo">PKCS#12 file <div class="file-row svelte-9auejo"><input type="file" accept=".p12,.pfx" class="svelte-9auejo"/> <!></div></label> <label class="svelte-9auejo">Passphrase <div class="pw-row svelte-9auejo"><input autocomplete="off" class="svelte-9auejo"/> <button class="toggle-pw svelte-9auejo"> </button></div></label>',1),xee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Import server certificate</h3> <div class="import-mode-tabs svelte-9auejo"><button>PEM files</button> <button>PKCS#12 (.p12 / .pfx)</button></div> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),QC=B("<option></option>"),mee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Use existing certificate files</h3> <p class="hint svelte-9auejo">Enter absolute paths on the broker host. Tab-completion is available for paths starting with /.</p> <label class="svelte-9auejo">Certificate file path <input list="set-cert-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/fullchain.pem" class="svelte-9auejo"/> <datalist id="set-cert-path-list"></datalist></label> <label class="svelte-9auejo">Private key file path <input list="set-key-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/privkey.pem" class="svelte-9auejo"/> <datalist id="set-key-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),vee=B('<label class="svelte-9auejo">CA certificate (PEM)<textarea rows="8" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),_ee=B('<p class="hint svelte-9auejo">Enter the absolute path to the CA certificate file on the broker host.</p> <label class="svelte-9auejo">CA certificate path <input list="trusted-path-list" placeholder="/etc/ssl/certs/my-ca.pem" class="svelte-9auejo"/> <datalist id="trusted-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),bee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Add trusted CA certificate</h3> <div class="import-mode-tabs svelte-9auejo"><button>Paste PEM</button> <button>From path</button></div> <!></div></div>'),Cee=B('<div class="certs-page svelte-9auejo"><div class="page-toolbar svelte-9auejo"><button class="reload-btn svelte-9auejo" title="Refresh">↺</button></div> <!> <!> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Server Certificate</h3> <button class="svelte-9auejo">Self-signed</button> <button class="svelte-9auejo">Generate CSR</button> <button class="svelte-9auejo">Import cert</button> <button class="svelte-9auejo">Use path</button></div> <!></div> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Trusted CA Certificates</h3> <button class="svelte-9auejo">+ Add CA cert</button></div> <!></div></div> <!> <!> <!> <!> <!>',1);function Eee(o,e){js(e,!0);let t=F(null),i=F(Pi([])),n=F(""),s=F(""),r=F(!1),a=F(""),d=F(""),u=F(365),f=F(!1),g=F(""),p=F(null),C=F(!1),b=F(""),y=F(""),w=F(!1),A=F(""),P=F(""),M=F(""),R=F(!1),T=F(""),V=F(!1),H=F(!1),X=F("pem"),se=F(""),he=F(""),J=F(""),de=F(""),we=F(""),re=F(!1),ae=F(!1),De=F(""),Pe=F(!1),xe=F(""),ze=F(""),We=F(!1),ve=F(""),ht=F(Pi([])),Mt=F(Pi([])),st=F(!1),yt=F("pem"),Ce=F(""),Rt=F(!1),ci=F(""),qe=F(""),it=F(Pi([])),Dt=F(!1),Jt=F("");async function hi(){try{const[Se,Ye]=await Promise.allSettled([RU(),HU()]);Se.status==="fulfilled"&&m(t,Se.value.server,!0),Ye.status==="fulfilled"&&m(i,Ye.value.certs,!0),m(n,"")}catch(Se){m(n,Se.message,!0)}}Xs(()=>{hi()});async function ui(){m(g,""),m(f,!0),m(p,null);try{const Se=c(d).split(",").map(Qt=>Qt.trim()).filter(Boolean),Ye=await NU({cn:c(a),san:Se,days:c(u)});m(p,{fingerprint:Ye.fingerprint,expires:Ye.expires},!0),await hi()}catch(Se){m(g,Se.message,!0)}finally{m(f,!1)}}async function vi(){m(A,""),m(w,!0),m(P,"");try{const Se=c(y).split(",").map(Qt=>Qt.trim()).filter(Boolean),Ye=await OU({cn:c(b),san:Se});m(P,Ye.csrPem,!0)}catch(Se){m(A,Se.message,!0)}finally{m(w,!1)}}async function bi(){m(T,""),m(R,!0),m(V,!1);try{if(!c(M).trim())throw new Error("Paste the signed certificate PEM");await qC({cert:c(M)}),m(V,!0),await hi()}catch(Se){m(T,Se.message,!0)}finally{m(R,!1)}}function Ge(){navigator.clipboard.writeText(c(P)).catch(()=>{})}function Ee(Se){var Zt;const Ye=(Zt=Se.target.files)==null?void 0:Zt[0];if(!Ye)return;m(de,Ye.name,!0);const Qt=new FileReader;Qt.onload=()=>{const _i=Qt.result;m(J,btoa(String.fromCharCode(...new Uint8Array(_i))),!0)},Qt.readAsArrayBuffer(Ye)}async function ii(){m(De,""),m(ae,!0);try{if(c(X)==="p12"){if(!c(J))throw new Error("Select a .p12 / .pfx file");await qC({p12base64:c(J),passphrase:c(we)})}else{if(!c(se).trim())throw new Error("Certificate PEM is required");await qC({cert:c(se),key:c(he)||void 0})}m(H,!1),await hi()}catch(Se){m(De,Se.message,!0)}finally{m(ae,!1)}}function Ci(Se){let Ye;return Qt=>{const Zt=Qt.target.value;clearTimeout(Ye),Ye=setTimeout(async()=>{if(!Zt.startsWith("/")||Zt.length<2){Se([]);return}try{Se((await VU(Zt)).suggestions)}catch{Se([])}},280)}}const ni=Ci(Se=>{m(ht,Se,!0)}),Ui=Ci(Se=>{m(Mt,Se,!0)}),Yi=Ci(Se=>{m(it,Se,!0)});async function Di(){m(ve,""),m(We,!0);try{await jU({certPath:c(xe),keyPath:c(ze)}),m(Pe,!1),await hi()}catch(Se){m(ve,Se.message,!0)}finally{m(We,!1)}}async function wn(){m(ci,""),m(Rt,!0);try{await WU(c(Ce)),m(Ce,""),m(st,!1),await hi()}catch(Se){m(ci,Se.message,!0)}finally{m(Rt,!1)}}async function hn(){m(Jt,""),m(Dt,!0);try{await $U(c(qe)),m(qe,""),m(st,!1),await hi()}catch(Se){m(Jt,Se.message,!0)}finally{m(Dt,!1)}}async function cn(Se){if(confirm("Remove this trusted CA cert?"))try{await zU(Se),await hi()}catch(Ye){m(s,Ye.message,!0)}}function gn(Se){const Ye=new Date(Se).getTime()-Date.now();return Ye<0?"expired":Ye<30*864e5?"expiring":""}function ft(Se){return new Date(Se).toLocaleDateString()}var Gt=Cee(),Mi=Et(Gt),Ki=_(Mi),Ei=_(Ki),Vi=v(Ki,2);{var ji=Se=>{var Ye=nl(),Qt=_(Ye);j(()=>W(Qt,c(n))),D(Se,Ye)};z(Vi,Se=>{c(n)&&Se(ji)})}var Ji=v(Vi,2);{var Ai=Se=>{var Ye=nl(),Qt=_(Ye);j(()=>W(Qt,c(s))),D(Se,Ye)};z(Ji,Se=>{c(s)&&Se(Ai)})}var tt=v(Ji,2),At=_(tt),Oi=v(_(At),2),Ri=v(Oi,2),Ii=v(Ri,2),Ni=v(Ii,2),K=v(At,2);{var Ae=Se=>{var Ye=iee(),Qt=_(Ye),Zt=v(_(Qt)),_i=_(Zt),ei=v(Zt,3),fe=_(ei),Je=v(ei,3),rt=_(Je);j((lt,Ut)=>{W(_i,c(t).cn),W(fe,c(t).fingerprint),Ft(Je,1,lt,"svelte-9auejo"),W(rt,Ut)},[()=>hg(gn(c(t).expires)),()=>ft(c(t).expires)]),D(Se,Ye)},Ze=Se=>{var Ye=nee();D(Se,Ye)};z(K,Se=>{c(t)?Se(Ae):Se(Ze,-1)})}var nt=v(tt,2),Kt=_(nt),si=v(_(Kt),2),mt=v(Kt,2);{var dt=Se=>{var Ye=see();D(Se,Ye)},Y=Se=>{var Ye=ree(),Qt=v(_(Ye));ti(Qt,21,()=>c(i),zi,(Zt,_i)=>{var ei=oee(),fe=_(ei),Je=_(fe),rt=v(fe),lt=_(rt),Ut=v(rt),Ht=_(Ut),yi=v(Ut),I=_(yi);j((N,$,oe)=>{W(Je,c(_i).cn),W(lt,`${N??""}…`),Ft(Ut,1,$,"svelte-9auejo"),W(Ht,oe)},[()=>c(_i).fingerprint.slice(0,29),()=>hg(gn(c(_i).expires)),()=>ft(c(_i).expires)]),U("click",I,()=>cn(c(_i).fingerprint)),D(Zt,ei)}),D(Se,Ye)};z(mt,Se=>{c(i).length===0?Se(dt):Se(Y,-1)})}var Te=v(Mi,2);{var Xe=Se=>{var Ye=lee(),Qt=_(Ye),Zt=v(_(Qt),2),_i=v(_(Zt)),ei=v(Zt,2),fe=v(_(ei)),Je=v(ei,2),rt=v(_(Je)),lt=v(Je,2);{var Ut=ie=>{var ne=nl(),le=_(ne);j(()=>W(le,c(g))),D(ie,ne)};z(lt,ie=>{c(g)&&ie(Ut)})}var Ht=v(lt,2);{var yi=ie=>{var ne=aee(),le=v(_(ne),2),et=v(_(le)),Fe=_(et),_e=v(et,2),Ke=_(_e);j(Me=>{W(Fe,c(p).fingerprint),W(Ke,Me)},[()=>ft(c(p).expires)]),D(ie,ne)};z(Ht,ie=>{c(p)&&ie(yi)})}var I=v(Ht,2),N=_(I),$=v(N,2);{var oe=ie=>{var ne=Q2(),le=_(ne);j(()=>{ne.disabled=c(f),W(le,c(f)?"Generating…":"Generate")}),U("click",ne,ui),D(ie,ne)};z($,ie=>{c(p)||ie(oe)})}jt(_i,()=>c(a),ie=>m(a,ie)),jt(fe,()=>c(d),ie=>m(d,ie)),jt(rt,()=>c(u),ie=>m(u,ie)),U("click",N,()=>m(r,!1)),D(Se,Ye)};z(Te,Se=>{c(r)&&Se(Xe)})}var ke=v(Te,2);{var It=Se=>{var Ye=hee(),Qt=_(Ye),Zt=v(_(Qt),2);{var _i=fe=>{var Je=cee(),rt=Et(Je),lt=v(_(rt)),Ut=v(rt,2),Ht=v(_(Ut)),yi=v(Ut,4);{var I=ne=>{var le=nl(),et=_(le);j(()=>W(et,c(A))),D(ne,le)};z(yi,ne=>{c(A)&&ne(I)})}var N=v(yi,2),$=_(N),oe=v($,2),ie=_(oe);j(()=>{oe.disabled=c(w),W(ie,c(w)?"Generating…":"Generate key + CSR")}),jt(lt,()=>c(b),ne=>m(b,ne)),jt(Ht,()=>c(y),ne=>m(y,ne)),U("click",$,()=>m(C,!1)),U("click",oe,vi),D(fe,Je)},ei=fe=>{var Je=uee(),rt=v(Et(Je),2),lt=v(_(rt)),Ut=v(rt,2),Ht=_(Ut),yi=v(Ht,2),I=v(Ut,4),N=v(_(I)),$=v(I,2);{var oe=Ke=>{var Me=nl(),at=_(Me);j(()=>W(at,c(T))),D(Ke,Me)};z($,Ke=>{c(T)&&Ke(oe)})}var ie=v($,2);{var ne=Ke=>{var Me=dee();D(Ke,Me)};z(ie,Ke=>{c(V)&&Ke(ne)})}var le=v(ie,2),et=_(le),Fe=v(et,2);{var _e=Ke=>{var Me=Q2(),at=_(Me);j(Xt=>{Me.disabled=Xt,W(at,c(R)?"Uploading…":"Upload signed cert")},[()=>c(R)||!c(M).trim()]),U("click",Me,bi),D(Ke,Me)};z(Fe,Ke=>{c(V)||Ke(_e)})}j(Ke=>{k1(lt,c(P)),ln(yi,"href",`data:application/pkcs10;charset=utf-8,${Ke??""}`)},[()=>encodeURIComponent(c(P))]),U("click",Ht,Ge),jt(N,()=>c(M),Ke=>m(M,Ke)),U("click",et,()=>m(C,!1)),D(fe,Je)};z(Zt,fe=>{c(P)?fe(ei,-1):fe(_i)})}D(Se,Ye)};z(ke,Se=>{c(C)&&Se(It)})}var $t=v(ke,2);{var te=Se=>{var Ye=xee(),Qt=_(Ye),Zt=v(_(Qt),2),_i=_(Zt);let ei;var fe=v(_i,2);let Je;var rt=v(Zt,2);{var lt=ie=>{var ne=fee(),le=Et(ne),et=v(_(le)),Fe=v(le,2),_e=v(_(Fe));jt(et,()=>c(se),Ke=>m(se,Ke)),jt(_e,()=>c(he),Ke=>m(he,Ke)),D(ie,ne)},Ut=ie=>{var ne=pee(),le=Et(ne),et=v(_(le)),Fe=_(et),_e=v(Fe,2);{var Ke=Ve=>{var vt=gee(),Le=_(vt);j(()=>W(Le,c(de))),D(Ve,vt)};z(_e,Ve=>{c(de)&&Ve(Ke)})}var Me=v(le,2),at=v(_(Me)),Xt=_(at),Z=v(Xt,2),ce=_(Z);j(()=>{ln(Xt,"type",c(re)?"text":"password"),W(ce,c(re)?"Hide":"Show")}),U("change",Fe,Ee),jt(Xt,()=>c(we),Ve=>m(we,Ve)),U("click",Z,()=>m(re,!c(re))),D(ie,ne)};z(rt,ie=>{c(X)==="pem"?ie(lt):ie(Ut,-1)})}var Ht=v(rt,2);{var yi=ie=>{var ne=nl(),le=_(ne);j(()=>W(le,c(De))),D(ie,ne)};z(Ht,ie=>{c(De)&&ie(yi)})}var I=v(Ht,2),N=_(I),$=v(N,2),oe=_($);j(()=>{ei=Ft(_i,1,"svelte-9auejo",null,ei,{active:c(X)==="pem"}),Je=Ft(fe,1,"svelte-9auejo",null,Je,{active:c(X)==="p12"}),$.disabled=c(ae),W(oe,c(ae)?"Importing…":"Import")}),U("click",_i,()=>m(X,"pem")),U("click",fe,()=>m(X,"p12")),U("click",N,()=>m(H,!1)),U("click",$,ii),D(Se,Ye)};z($t,Se=>{c(H)&&Se(te)})}var Qe=v($t,2);{var Pt=Se=>{var Ye=mee(),Qt=_(Ye),Zt=v(_(Qt),4),_i=v(_(Zt)),ei=v(_i,2);ti(ei,21,()=>c(ht),zi,($,oe)=>{var ie=QC(),ne={};j(()=>{ne!==(ne=c(oe))&&(ie.value=(ie.__value=c(oe))??"")}),D($,ie)});var fe=v(Zt,2),Je=v(_(fe)),rt=v(Je,2);ti(rt,21,()=>c(Mt),zi,($,oe)=>{var ie=QC(),ne={};j(()=>{ne!==(ne=c(oe))&&(ie.value=(ie.__value=c(oe))??"")}),D($,ie)});var lt=v(fe,2);{var Ut=$=>{var oe=nl(),ie=_(oe);j(()=>W(ie,c(ve))),D($,oe)};z(lt,$=>{c(ve)&&$(Ut)})}var Ht=v(lt,2),yi=_(Ht),I=v(yi,2),N=_(I);j($=>{I.disabled=$,W(N,c(We)?"Installing…":"Install")},[()=>c(We)||!c(xe).trim()||!c(ze).trim()]),U("input",_i,ni),jt(_i,()=>c(xe),$=>m(xe,$)),U("input",Je,Ui),jt(Je,()=>c(ze),$=>m(ze,$)),U("click",yi,()=>m(Pe,!1)),U("click",I,Di),D(Se,Ye)};z(Qe,Se=>{c(Pe)&&Se(Pt)})}var kt=v(Qe,2);{var Ot=Se=>{var Ye=bee(),Qt=_(Ye),Zt=v(_(Qt),2),_i=_(Zt);let ei;var fe=v(_i,2);let Je;var rt=v(Zt,2);{var lt=Ht=>{var yi=vee(),I=Et(yi),N=v(_(I)),$=v(I,2);{var oe=Fe=>{var _e=nl(),Ke=_(_e);j(()=>W(Ke,c(ci))),D(Fe,_e)};z($,Fe=>{c(ci)&&Fe(oe)})}var ie=v($,2),ne=_(ie),le=v(ne,2),et=_(le);j(Fe=>{le.disabled=Fe,W(et,c(Rt)?"Adding…":"Add CA cert")},[()=>c(Rt)||!c(Ce).trim()]),jt(N,()=>c(Ce),Fe=>m(Ce,Fe)),U("click",ne,()=>m(st,!1)),U("click",le,wn),D(Ht,yi)},Ut=Ht=>{var yi=_ee(),I=v(Et(yi),2),N=v(_(I)),$=v(N,2);ti($,21,()=>c(it),zi,(_e,Ke)=>{var Me=QC(),at={};j(()=>{at!==(at=c(Ke))&&(Me.value=(Me.__value=c(Ke))??"")}),D(_e,Me)});var oe=v(I,2);{var ie=_e=>{var Ke=nl(),Me=_(Ke);j(()=>W(Me,c(Jt))),D(_e,Ke)};z(oe,_e=>{c(Jt)&&_e(ie)})}var ne=v(oe,2),le=_(ne),et=v(le,2),Fe=_(et);j(_e=>{et.disabled=_e,W(Fe,c(Dt)?"Adding…":"Add CA cert")},[()=>c(Dt)||!c(qe).trim()]),U("input",N,Yi),jt(N,()=>c(qe),_e=>m(qe,_e)),U("click",le,()=>m(st,!1)),U("click",et,hn),D(Ht,yi)};z(rt,Ht=>{c(yt)==="pem"?Ht(lt):Ht(Ut,-1)})}j(()=>{ei=Ft(_i,1,"svelte-9auejo",null,ei,{active:c(yt)==="pem"}),Je=Ft(fe,1,"svelte-9auejo",null,Je,{active:c(yt)==="path"})}),U("click",_i,()=>m(yt,"pem")),U("click",fe,()=>m(yt,"path")),D(Se,Ye)};z(kt,Se=>{c(st)&&Se(Ot)})}U("click",Ei,hi),U("click",Oi,()=>{m(r,!0),m(g,""),m(p,null)}),U("click",Ri,()=>{m(C,!0),m(A,""),m(P,""),m(M,""),m(V,!1),m(T,"")}),U("click",Ii,()=>{m(H,!0),m(De,""),m(X,"pem"),m(se,""),m(he,""),m(J,""),m(de,""),m(we,""),m(re,!1)}),U("click",Ni,()=>{m(Pe,!0),m(ve,""),m(xe,""),m(ze,""),m(ht,[],!0),m(Mt,[],!0)}),U("click",si,()=>{m(st,!0),m(ci,""),m(Ce,""),m(yt,"pem"),m(Jt,""),m(qe,""),m(it,[],!0)}),D(o,Gt),$s()}Ys(["click","change","input"]);var Gx=B('<div class="err svelte-17yczfe"> </div>'),yee=B('<div class="check-list svelte-17yczfe"><div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto_ctrl</code> <span> </span></div> <div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto</code> <span> </span></div></div>'),wee=B('<div class="checking svelte-17yczfe">Checking…</div>'),See=B('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Tool availability</h3> <p class="hint svelte-17yczfe">These tools must be installed and in the PATH of the she process. They are used by the Setup Wizard and cert installation.</p> <!> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div></div>'),Dee=B('<label class="svelte-17yczfe">Install command (run locally) <div class="pubkey-row svelte-17yczfe"><input readonly="" class="svelte-17yczfe"/> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),Aee=B('<label class="svelte-17yczfe">Public key <div class="pubkey-row svelte-17yczfe"><textarea readonly="" rows="3" class="svelte-17yczfe"></textarea> <button class="copy-btn svelte-17yczfe">Copy</button></div></label> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>',1),kee=B('<div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>'),Bee=B("<span> </span>"),Fee=B('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH connection</h3> <p class="hint svelte-17yczfe">Used for file operations: reading/writing mosquitto.conf and installing certificates on the broker host. User/ACL management always uses the MQTT port directly.</p> <div class="fields svelte-17yczfe"><label class="svelte-17yczfe">Host<input placeholder="192.168.1.10 or broker.local" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Port<input type="number" min="1" max="65535" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">SSH user<input placeholder="root" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Identity file (private key)<input class="svelte-17yczfe"/></label></div></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH keypair</h3> <p class="hint svelte-17yczfe">Dedicated Ed25519 keypair for she to authenticate to the broker host. Private key stored at <code class="svelte-17yczfe"> </code>.</p> <!> <!></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Test connection</h3> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button> <!></div></div>',1),Lee=B('<div class="ok svelte-17yczfe">Saved.</div>'),Iee=B('<div class="mosquitto-page svelte-17yczfe"><!> <div class="mode-bar svelte-17yczfe"><span class="mode-label svelte-17yczfe">Connection mode</span> <div class="mode-toggle svelte-17yczfe"><button>Local</button> <button>SSH / Remote</button></div> <span class="mode-desc svelte-17yczfe"> </span></div> <!> <!> <!> <!> <div class="row svelte-17yczfe"><button class="btn-primary svelte-17yczfe"> </button></div></div>');function Pee(o,e){js(e,!0);let t=F(Pi({})),i=F(""),n=F(!1),s=F(!1),r=F(""),a=F("~/.she/ssh/broker_id_ed25519"),d=F("local"),u=F(null),f=F(!1),g=F(""),p=F(""),C=F(!1),b=F(""),y=F(!1),w=F(""),A=F(Pi({}));Xs(async()=>{try{const[it,Dt,Jt]=await Promise.all([Pl(),Pb(),fetch("/she/broker/ssh/pubkey").then(ui=>ui.json()).catch(()=>({publicKey:null}))]);m(A,it,!0),Dt.sshKeyDefault&&m(a,Dt.sshKeyDefault,!0);const hi=c(A).broker??{};m(t,hi.ssh??{},!0),c(t).port||(c(t).port=22),c(t).identityFile||(c(t).identityFile=c(a)),Jt.publicKey&&m(p,Jt.publicKey,!0),m(d,c(t).host?"ssh":"local",!0),c(d)==="local"&&P()}catch(it){m(i,it.message,!0)}});async function P(){m(f,!0),m(g,"");try{m(u,await cU(),!0)}catch(it){m(g,it.message??"Check failed",!0)}finally{m(f,!1)}}async function M(){m(n,!0),m(r,""),m(s,!1);try{const it=c(A).broker??{},Dt=c(d)==="local"?{...c(t),host:""}:c(t),Jt={...c(A),broker:{...it,ssh:Dt}};await pp(Jt),m(s,!0),setTimeout(()=>m(s,!1),3e3)}catch(it){m(r,it.message,!0)}finally{m(n,!1)}}async function R(){m(C,!0),m(b,"");try{const it=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),Dt=await it.json();if(!it.ok)throw new Error(Dt.error??it.statusText);m(p,Dt.publicKey,!0)}catch(it){m(b,it.message,!0)}finally{m(C,!1)}}async function T(){m(y,!0),m(w,"");try{const it=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),Dt=await it.json();if(!it.ok)throw new Error(Dt.error??it.statusText);m(w,Dt.ok?"✓ Connection successful":"✗ "+(Dt.error??"Failed"),!0)}catch(it){m(w,"✗ "+it.message)}finally{m(y,!1)}}function V(it){navigator.clipboard.writeText(it).catch(()=>{})}const H=Lt(()=>c(t).identityFile&&c(t).user&&c(t).host?`ssh-copy-id -i ${c(t).identityFile}.pub ${c(t).user}@${c(t).host}`:"");var X=Iee(),se=_(X);{var he=it=>{var Dt=Gx(),Jt=_(Dt);j(()=>W(Jt,c(i))),D(it,Dt)};z(se,it=>{c(i)&&it(he)})}var J=v(se,2),de=v(_(J),2),we=_(de);let re;var ae=v(we,2);let De;var Pe=v(de,2),xe=_(Pe),ze=v(J,2);{var We=it=>{var Dt=See(),Jt=v(_(Dt),4);{var hi=Ci=>{var ni=Gx(),Ui=_(ni);j(()=>W(Ui,c(g))),D(Ci,ni)};z(Jt,Ci=>{c(g)&&Ci(hi)})}var ui=v(Jt,2);{var vi=Ci=>{var ni=yee(),Ui=_(ni),Yi=_(Ui);let Di;var wn=_(Yi),hn=v(Yi,4);let cn;var gn=_(hn),ft=v(Ui,2),Gt=_(ft);let Mi;var Ki=_(Gt),Ei=v(Gt,4);let Vi;var ji=_(Ei);j(()=>{Di=Ft(Yi,1,"check-icon svelte-17yczfe",null,Di,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(wn,c(u).mosquittoCtrl?"✓":"✗"),cn=Ft(hn,1,"check-note svelte-17yczfe",null,cn,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(gn,c(u).mosquittoCtrl?"found in PATH":"not found — install the mosquitto or mosquitto-clients package"),Mi=Ft(Gt,1,"check-icon svelte-17yczfe",null,Mi,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(Ki,c(u).mosquitto?"✓":"✗"),Vi=Ft(Ei,1,"check-note svelte-17yczfe",null,Vi,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(ji,c(u).mosquitto?"found in PATH":"not found — install the mosquitto package")}),D(Ci,ni)},bi=Ci=>{var ni=wee();D(Ci,ni)};z(ui,Ci=>{c(u)?Ci(vi):c(f)&&Ci(bi,1)})}var Ge=v(ui,2),Ee=_(Ge),ii=_(Ee);j(()=>{Ee.disabled=c(f),W(ii,c(f)?"Checking…":c(u)?"Re-check":"Check tools")}),U("click",Ee,P),D(it,Dt)};z(ze,it=>{c(d)==="local"&&it(We)})}var ve=v(ze,2);{var ht=it=>{var Dt=Fee(),Jt=Et(Dt),hi=v(_(Jt),4),ui=_(hi),vi=v(_(ui)),bi=v(ui,2),Ge=v(_(bi)),Ee=v(bi,2),ii=v(_(Ee)),Ci=v(Ee,2),ni=v(_(Ci)),Ui=v(Jt,2),Yi=v(_(Ui),2),Di=v(_(Yi)),wn=_(Di),hn=v(Yi,2);{var cn=Ai=>{var tt=Aee(),At=Et(tt),Oi=v(_(At)),Ri=_(Oi),Ii=v(Ri,2),Ni=v(At,2);{var K=Kt=>{var si=Dee(),mt=v(_(si)),dt=_(mt),Y=v(dt,2);j(()=>k1(dt,c(H))),U("click",Y,()=>V(c(H))),D(Kt,si)};z(Ni,Kt=>{c(H)&&Kt(K)})}var Ae=v(Ni,2),Ze=_(Ae),nt=_(Ze);j(()=>{k1(Ri,c(p)),Ze.disabled=c(C),W(nt,c(C)?"Generating…":"Regenerate keypair")}),U("click",Ii,()=>V(c(p))),U("click",Ze,R),D(Ai,tt)},gn=Ai=>{var tt=kee(),At=_(tt),Oi=_(At);j(()=>{At.disabled=c(C),W(Oi,c(C)?"Generating…":"Generate keypair")}),U("click",At,R),D(Ai,tt)};z(hn,Ai=>{c(p)?Ai(cn):Ai(gn,-1)})}var ft=v(hn,2);{var Gt=Ai=>{var tt=Gx(),At=_(tt);j(()=>W(At,c(b))),D(Ai,tt)};z(ft,Ai=>{c(b)&&Ai(Gt)})}var Mi=v(Ui,2),Ki=v(_(Mi),2),Ei=_(Ki),Vi=_(Ei),ji=v(Ei,2);{var Ji=Ai=>{var tt=Bee();let At;var Oi=_(tt);j(Ri=>{At=Ft(tt,1,"test-result svelte-17yczfe",null,At,Ri),W(Oi,c(w))},[()=>({ok:c(w).startsWith("✓"),fail:c(w).startsWith("✗")})]),D(Ai,tt)};z(ji,Ai=>{c(w)&&Ai(Ji)})}j(()=>{ln(ni,"placeholder",c(a)),W(wn,c(t).identityFile||c(a)),Ei.disabled=c(y)||!c(t).host,W(Vi,c(y)?"Testing…":"Test SSH connection")}),jt(vi,()=>c(t).host,Ai=>c(t).host=Ai),jt(Ge,()=>c(t).port,Ai=>c(t).port=Ai),jt(ii,()=>c(t).user,Ai=>c(t).user=Ai),jt(ni,()=>c(t).identityFile,Ai=>c(t).identityFile=Ai),U("click",Ei,T),D(it,Dt)};z(ve,it=>{c(d)==="ssh"&&it(ht)})}var Mt=v(ve,2);{var st=it=>{var Dt=Gx(),Jt=_(Dt);j(()=>W(Jt,c(r))),D(it,Dt)};z(Mt,it=>{c(r)&&it(st)})}var yt=v(Mt,2);{var Ce=it=>{var Dt=Lee();D(it,Dt)};z(yt,it=>{c(s)&&it(Ce)})}var Rt=v(yt,2),ci=_(Rt),qe=_(ci);j(()=>{re=Ft(we,1,"svelte-17yczfe",null,re,{active:c(d)==="local"}),De=Ft(ae,1,"svelte-17yczfe",null,De,{active:c(d)==="ssh"}),W(xe,c(d)==="local"?"she and mosquitto run on the same machine — local filesystem access":"mosquitto runs on a remote host — file operations go through SSH"),ci.disabled=c(n),W(qe,c(n)?"Saving…":"Save")}),U("click",we,()=>{m(d,"local"),c(u)||P()}),U("click",ae,()=>m(d,"ssh")),U("click",ci,M),D(o,X),$s()}Ys(["click"]);var Tee=B("<button> </button>"),Mee=B('<code>log_dest topic</code> is not enabled in mosquitto.conf.<br/> <span class="hint svelte-1yc29ow">Enable it in the <strong>Config</strong> tab, then click <em>Apply &amp; Reload</em>.</span>',1),Ree=B('<code>log_dest topic</code> is configured — waiting for messages&hellip;<br/> <span class="hint svelte-1yc29ow">If nothing appears, mosquitto may need a full restart for the change to take effect.</span>',1),Nee=B('Waiting for log messages&hellip;<br/> <span class="hint svelte-1yc29ow">Make sure <code class="svelte-1yc29ow">log_dest topic</code> is set in mosquitto.conf.</span>',1),Oee=B('<div class="empty svelte-1yc29ow"><!></div>'),Hee=B('<div class="entry svelte-1yc29ow"><span class="ts svelte-1yc29ow"> </span> <span> </span> <span class="msg svelte-1yc29ow"> </span></div>'),Wee=B('<div class="logs-page svelte-1yc29ow"><div class="toolbar svelte-1yc29ow"><div class="level-filters svelte-1yc29ow"></div> <div class="spacer svelte-1yc29ow"></div> <label class="autoscroll-label svelte-1yc29ow"><input type="checkbox" class="svelte-1yc29ow"/> <span class="checkmark svelte-1yc29ow"></span> Auto-scroll</label> <button class="btn-clear svelte-1yc29ow">Clear</button></div> <div class="log-container svelte-1yc29ow"><!></div></div>');function zee(o,e){js(e,!0);const t={D:"DBG",I:"INF",N:"NTC",W:"WRN",E:"ERR"},i={D:"lvl-d",I:"lvl-i",N:"lvl-n",W:"lvl-w",E:"lvl-e"},n=new Set(["D","I","N","W","E"]);let s=F(Pi([])),r=F(!0),a=F(Pi(new Set(["D","I","N","W","E"]))),d=F(void 0),u=F(!1),f=F(null),g=null;Xs(async()=>{const J=await uU().catch(()=>[]),de=GU(),we=new Set,re=[...J,...de].filter(ae=>n.has(ae.level)).map(ae=>({ts:ae.ts,level:ae.level,msg:ae.msg}));re.sort((ae,De)=>ae.ts-De.ts),m(s,re.filter(ae=>{const De=`${ae.ts}\0${ae.msg}`;return we.has(De)?!1:(we.add(De),!0)}).slice(-500),!0),c(s).length>0&&(m(u,!0),hl().then(p)),g=hr("brokerLog",ae=>{n.has(ae.level)&&(m(u,!0),m(s,[...c(s).slice(-499),{ts:ae.ts,level:ae.level,msg:ae.msg}],!0),c(r)&&hl().then(p))}),cS().then(ae=>{const De=ae.managed.log_dest,Pe=Array.isArray(De)?De:De?[De]:[];m(f,Pe.includes("topic"),!0)}).catch(()=>{m(f,null)})}),Vp(()=>{g==null||g()});function p(){c(d)&&(c(d).scrollTop=c(d).scrollHeight)}function C(J){const de=new Set(c(a));de.has(J)?de.delete(J):de.add(J),m(a,de,!0)}function b(){m(s,[],!0),m(u,!1)}let y=Lt(()=>c(s).filter(J=>c(a).has(J.level)));function w(J){const de=new Date(J);return de.toTimeString().slice(0,8)+"."+String(de.getMilliseconds()).padStart(3,"0")}var A=Wee(),P=_(A),M=_(P);ti(M,20,()=>["D","I","N","W","E"],zi,(J,de)=>{var we=Tee();let re;var ae=_(we);j(De=>{re=Ft(we,1,`lvl-btn ${i[de]??""}`,"svelte-1yc29ow",re,De),ln(we,"title",`Toggle ${de??""} messages`),W(ae,t[de])},[()=>({active:c(a).has(de)})]),U("click",we,()=>C(de)),D(J,we)});var R=v(M,4),T=_(R),V=v(R,2),H=v(P,2),X=_(H);{var se=J=>{var de=Oee(),we=_(de);{var re=De=>{var Pe=ws(),xe=Et(Pe);{var ze=ht=>{var Mt=Mee();D(ht,Mt)},We=ht=>{var Mt=Ree();D(ht,Mt)},ve=ht=>{var Mt=Nee();D(ht,Mt)};z(xe,ht=>{c(f)===!1?ht(ze):c(f)===!0?ht(We,1):ht(ve,-1)})}D(De,Pe)},ae=De=>{var Pe=oo("No messages match the current filter.");D(De,Pe)};z(we,De=>{c(u)?De(ae,-1):De(re)})}D(J,de)},he=J=>{var de=ws(),we=Et(de);ti(we,17,()=>c(y),re=>re.ts+re.msg,(re,ae)=>{var De=Hee(),Pe=_(De),xe=_(Pe),ze=v(Pe,2),We=_(ze),ve=v(ze,2),ht=_(ve);j(Mt=>{W(xe,Mt),Ft(ze,1,`badge ${i[c(ae).level]??""}`,"svelte-1yc29ow"),W(We,t[c(ae).level]),W(ht,c(ae).msg)},[()=>w(c(ae).ts)]),D(re,De)}),D(J,de)};z(X,J=>{c(y).length===0?J(se):J(he,-1)})}gs(H,J=>m(d,J),()=>c(d)),ys(T,()=>c(r),J=>m(r,J)),U("click",V,b),D(o,A),$s()}Ys(["click"]);var Vee=B('<div class="err svelte-d31be1"> </div>'),jee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1">This wizard will configure the <strong>Mosquitto Dynamic Security plugin</strong> for use with she. It will:</p> <ul class="svelte-d31be1"><li>Create a <code class="svelte-d31be1">she-admin</code> service account with a random strong password.</li> <li>Write <code class="svelte-d31be1">dynamic-security.json</code> to your mosquitto config directory.</li> <li>Add the <code class="svelte-d31be1">plugin</code> line to <code class="svelte-d31be1">mosquitto.conf</code>.</li> <li>Ask you to restart mosquitto to activate the plugin.</li></ul> <p class="hint svelte-d31be1">In <strong>remote mode</strong> (SSH host configured), <code class="svelte-d31be1">mosquitto_ctrl</code> is invoked on the broker host via SSH. In local mode, it must be installed on this machine. <code class="svelte-d31be1">mosquitto_ctrl</code> is part of the <code class="svelte-d31be1">mosquitto</code> package.</p> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Start</button></div></div>'),$ee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),Uee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1">dynsec is not yet active. Configure bootstrap settings:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" placeholder="(leave blank to auto-generate)" class="svelte-d31be1"/></label> <label class="svelte-d31be1">Mosquitto config directory<input class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1"> </button></div></div>'),qee=B('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),Gee=B(`<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec files written and credentials saved.</div> <p class="svelte-d31be1">The <code class="svelte-d31be1">plugin</code> line has been added to <code class="svelte-d31be1"> </code>.</p> <p class="svelte-d31be1">Enabling a new plugin requires a <strong>full mosquitto restart</strong> (not just SIGHUP):</p> <div class="actions svelte-d31be1"><button class="btn-warn svelte-d31be1"> </button> <button class="skip-step svelte-d31be1">Skip (I'll restart manually)</button></div> <!></div>`),Kee=B('<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec is configured and connected.</div> <p class="svelte-d31be1">she is now managing broker users and ACLs via the Dynamic Security plugin. You can use the <strong>Users & Roles</strong> tab to add users, create roles, and define ACL rules.</p> <div class="actions svelte-d31be1"><button class="btn-primary svelte-d31be1">Done</button></div></div>'),Zee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1">Enter the credentials of an existing dynsec admin account:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Back</button> <button class="btn-primary svelte-d31be1"> </button></div></div>'),Xee=B('<div class="wizard svelte-d31be1"><div class="wizard-header svelte-d31be1"><h3 class="svelte-d31be1">dynsec Setup Wizard</h3> <button class="skip-btn svelte-d31be1">Manual setup instead</button></div> <!> <!></div>');function Yee(o,e){js(e,!0);let t=F("intro"),i=F(""),n=F(!1),s=F("she-admin"),r=F(""),a=F("/etc/mosquitto"),d=F(null),u=F(!1),f=F(!1),g=F("she-admin"),p=F(""),C=F(!1);async function b(){m(n,!0),m(i,"");try{(await(await fetch("/she/broker/wizard/probe",{method:"POST",headers:{"Content-Type":"application/json"}})).json()).active?m(t,"done"):m(t,"config")}catch(re){m(i,re.message,!0)}finally{m(n,!1)}}async function y(){m(n,!0),m(i,"");try{const re=await fetch("/she/broker/wizard/bootstrap",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adminUsername:c(s),adminPassword:c(r)||void 0,configDir:c(a)})}),ae=await re.json();if(!re.ok||!ae.ok)throw new Error(ae.error??"Bootstrap failed");m(d,ae,!0);const De=await Pl(),Pe=De.broker??{};await pp({...De,broker:{...Pe,dynsec:{adminUsername:ae.adminUsername,adminPassword:ae.adminPassword}}}),await gU().catch(()=>{}),m(t,"restart")}catch(re){m(i,re.message,!0)}finally{m(n,!1)}}async function w(){m(f,!0),m(i,"");try{await hU(),await new Promise(re=>setTimeout(re,2e3)),m(u,!0),m(t,"done")}catch(re){m(i,re.message,!0)}finally{m(f,!1)}}async function A(){m(C,!0),m(i,"");try{const re=await Pl(),ae=re.broker??{};await pp({...re,broker:{...ae,dynsec:{adminUsername:c(g),adminPassword:c(p)}}}),m(t,"done")}catch(re){m(i,re.message,!0)}finally{m(C,!1)}}var P=Xee(),M=_(P),R=v(_(M),2),T=v(M,2);{var V=re=>{var ae=Vee(),De=_(ae);j(()=>W(De,c(i))),D(re,ae)};z(T,re=>{c(i)&&re(V)})}var H=v(T,2);{var X=re=>{var ae=jee(),De=v(_(ae),6),Pe=_(De);j(()=>Pe.disabled=c(n)),U("click",Pe,()=>{m(t,"probe"),b()}),D(re,ae)},se=re=>{var ae=$ee(),De=_(ae),Pe=_(De);j(()=>W(Pe,c(n)?"Probing dynsec…":"Checking dynsec status…")),D(re,ae)},he=re=>{var ae=Uee(),De=v(_(ae),2),Pe=v(_(De)),xe=v(De,2),ze=v(_(xe)),We=v(xe,2),ve=v(_(We)),ht=v(We,2),Mt=_(ht),st=_(Mt);j(()=>{Mt.disabled=c(n)||!c(s),W(st,c(n)?"Bootstrapping…":"Bootstrap dynsec")}),jt(Pe,()=>c(s),yt=>m(s,yt)),jt(ze,()=>c(r),yt=>m(r,yt)),jt(ve,()=>c(a),yt=>m(a,yt)),U("click",Mt,y),D(re,ae)},J=re=>{var ae=Gee(),De=v(_(ae),2),Pe=v(_(De),3),xe=_(Pe),ze=v(De,4),We=_(ze),ve=_(We),ht=v(We,2),Mt=v(ze,2);{var st=yt=>{var Ce=qee();D(yt,Ce)};z(Mt,yt=>{c(f)&&yt(st)})}j(()=>{W(xe,c(d).confFilePath),We.disabled=c(f),W(ve,c(f)?"Restarting…":"Restart mosquitto now")}),U("click",We,w),U("click",ht,()=>{m(t,"done")}),D(re,ae)},de=re=>{var ae=Kee(),De=v(_(ae),4),Pe=_(De);U("click",Pe,function(...xe){var ze;(ze=e.onDone)==null||ze.apply(this,xe)}),D(re,ae)},we=re=>{var ae=Zee(),De=v(_(ae),2),Pe=v(_(De)),xe=v(De,2),ze=v(_(xe)),We=v(xe,2),ve=_(We),ht=v(ve,2),Mt=_(ht);j(()=>{ht.disabled=c(C)||!c(g)||!c(p),W(Mt,c(C)?"Saving…":"Save credentials")}),jt(Pe,()=>c(g),st=>m(g,st)),jt(ze,()=>c(p),st=>m(p,st)),U("click",ve,()=>m(t,"intro")),U("click",ht,A),D(re,ae)};z(H,re=>{c(t)==="intro"?re(X):c(t)==="probe"?re(se,1):c(t)==="config"?re(he,2):c(t)==="restart"&&c(d)?re(J,3):c(t)==="done"?re(de,4):c(t)==="manual"&&re(we,5)})}U("click",R,()=>m(t,"manual")),D(o,P),$s()}Ys(["click"]);var Qee=B('<div class="loading svelte-zuhcpo">Loading…</div>'),Jee=B('<div class="error-banner svelte-zuhcpo"> </div>'),ete=B('<div class="conn-row svelte-zuhcpo"><span></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span><!></span> <button class="btn-deactivate svelte-zuhcpo"> </button></div>'),tte=B('<button class="btn-wizard-inline svelte-zuhcpo">Setup Wizard ↗</button>'),ite=B('<div class="conn-row svelte-zuhcpo"><span class="dot dot-off svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span class="conn-detail muted svelte-zuhcpo">not configured</span> <!></div>'),nte=B('<div class="error-inline svelte-zuhcpo"> </div>'),ste=B('<button class="diag-btn svelte-zuhcpo"> </button>'),J2=B('<p class="diag-issue svelte-zuhcpo"> </p>'),ote=B('<p class="diag-ok-msg svelte-zuhcpo">✓ dynamic-security.json looks correct. Verify mosquitto restarted with the plugin loaded.</p>'),rte=B('<p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">File</span><code class="svelte-zuhcpo"> </code></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Admin user exists</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Has admin role</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">$CONTROL publish ACL</span><span> </span></p> <!> <!>',1),ate=B('<div><!></div> <button class="diag-btn svelte-zuhcpo" style="margin-top:6px"> </button>',1),lte=B('<button class="wizard-btn svelte-zuhcpo">Run Setup Wizard</button>'),cte=B('<div class="diag-area svelte-zuhcpo"><!> <!></div>'),dte=B('<div class="stats-block svelte-zuhcpo"><dl class="svelte-zuhcpo"><dt class="svelte-zuhcpo">Version</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Uptime</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Clients</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Messages</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Topics</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Traffic</dt><dd class="svelte-zuhcpo"> </dd></dl></div>'),ute=B('<div style="margin-top: 20px;"><!></div>'),hte=B('<div class="status-layout svelte-zuhcpo"><div class="conn-block svelte-zuhcpo"><div class="conn-row svelte-zuhcpo"><span class="dot ok svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">mosquitto</span> <span class="conn-detail svelte-zuhcpo"> </span></div> <!> <!></div> <!> <!></div> <!>',1),fte=B('<div class="tab-content svelte-zuhcpo"><!></div>'),gte=B('<div class="broker-page svelte-zuhcpo"><div class="sub-nav svelte-zuhcpo"><button>Status</button> <button>Directory</button> <button>Config</button> <button>Listeners</button> <button>Certificates</button> <button>Connection</button> <button>Logs</button></div> <!></div> <!>',1);function pte(o,e){js(e,!0);let t=F(!1),i,n=F(!1),s=F(""),r=F(!1),a=F(null);const d="she-broker-tab";let u=F(Pi(localStorage.getItem(d)??"status"));Kn(()=>{localStorage.setItem(d,c(u))});let f=F(null),g=F(""),p=F(!0);async function C(){try{m(f,await Pb(),!0),m(g,"")}catch(qe){m(g,qe.message??"Failed to load broker status",!0)}finally{m(p,!1)}}Xs(()=>{C();const qe=setInterval(C,1e4);return()=>clearInterval(qe)});async function b(){m(r,!0),m(a,null);try{m(a,await pU(),!0)}catch(qe){m(a,{ok:!1,dynSecPath:"",issues:[qe.message??"Diagnose request failed"]},!0)}finally{m(r,!1)}}async function y(){if(await i.show("Remove dynsec plugin lines from mosquitto.conf and clear credentials? You will need to restart mosquitto afterwards.",{confirm:"Deactivate",danger:!0})){m(n,!0),m(s,"");try{await fU(),await C()}catch(qe){m(s,qe.message??"Deactivate failed",!0)}finally{m(n,!1)}}}function w(qe){var Dt;if(!((Dt=c(f))!=null&&Dt.sys))return"—";const it=c(f).sys[qe];return it?String(it.val??"—"):"—"}function A(qe){if(qe==="—")return qe;const it=qe.match(/^(\d+)/),Dt=it?parseInt(it[1]):NaN;if(isNaN(Dt))return qe;const Jt=Math.floor(Dt/86400),hi=Math.floor(Dt%86400/3600),ui=Math.floor(Dt%3600/60),vi=Dt%60,bi=Ge=>String(Ge).padStart(2,"0");return Jt>0?`${Jt}d ${bi(hi)}:${bi(ui)}:${bi(vi)}`:`${bi(hi)}:${bi(ui)}:${bi(vi)}`}function P(qe){if(qe==="—")return qe;const it=parseInt(qe);return isNaN(it)?qe:it<1024?`${it} B`:it<1048576?`${(it/1024).toFixed(1)} KB`:it<1073741824?`${(it/1048576).toFixed(1)} MB`:`${(it/1073741824).toFixed(1)} GB`}var M=gte(),R=Et(M),T=_(R),V=_(T);let H;var X=v(V,2);let se;var he=v(X,2);let J;var de=v(he,2);let we;var re=v(de,2);let ae;var De=v(re,2);let Pe;var xe=v(De,2);let ze;var We=v(T,2);{var ve=qe=>{var it=fte(),Dt=_(it);{var Jt=vi=>{var bi=Qee();D(vi,bi)},hi=vi=>{var bi=Jee(),Ge=_(bi);j(()=>W(Ge,c(g))),D(vi,bi)},ui=vi=>{var bi=hte(),Ge=Et(bi),Ee=_(Ge),ii=_(Ee),Ci=v(_(ii),4),ni=_(Ci),Ui=v(ii,2);{var Yi=Vi=>{var ji=ete(),Ji=_(ji);let Ai;var tt=v(Ji,4);let At;var Oi=_(tt);{var Ri=Ze=>{var nt=oo("plugin active");D(Ze,nt)},Ii=Ze=>{var nt=oo("connected — plugin not responding");D(Ze,nt)},Ni=Ze=>{var nt=oo("disconnected");D(Ze,nt)};z(Oi,Ze=>{c(f).dynsec.dynsecReady?Ze(Ri):c(f).dynsec.connected?Ze(Ii,1):Ze(Ni,-1)})}var K=v(tt,2),Ae=_(K);j(()=>{Ai=Ft(Ji,1,"dot svelte-zuhcpo",null,Ai,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,"dot-err":!c(f).dynsec.connected}),At=Ft(tt,1,"conn-detail svelte-zuhcpo",null,At,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,err:!c(f).dynsec.connected}),K.disabled=c(n),W(Ae,c(n)?"…":"deactivate")}),U("click",K,y),D(Vi,ji)},Di=Vi=>{var ji=ite(),Ji=v(_(ji),6);{var Ai=tt=>{var At=tte();U("click",At,()=>m(t,!0)),D(tt,At)};z(Ji,tt=>{c(t)||tt(Ai)})}D(Vi,ji)};z(Ui,Vi=>{c(f).dynsec.configured?Vi(Yi):Vi(Di,-1)})}var wn=v(Ui,2);{var hn=Vi=>{var ji=nte(),Ji=_(ji);j(()=>W(Ji,c(s))),D(Vi,ji)};z(wn,Vi=>{c(s)&&Vi(hn)})}var cn=v(Ee,2);{var gn=Vi=>{var ji=cte(),Ji=_(ji);{var Ai=Ri=>{var Ii=ste(),Ni=_(Ii);j(()=>{Ii.disabled=c(r),W(Ni,c(r)?"Running diagnostics…":"Run diagnostics")}),U("click",Ii,b),D(Ri,Ii)},tt=Ri=>{var Ii=ate(),Ni=Et(Ii);let K;var Ae=_(Ni);{var Ze=mt=>{var dt=J2(),Y=_(dt);j(()=>W(Y,`⚠ ${c(a).error??""}`)),D(mt,dt)},nt=mt=>{var dt=rte(),Y=Et(dt),Te=v(_(Y)),Xe=_(Te),ke=v(Y,2),It=v(_(ke)),$t=_(It),te=v(ke,2),Qe=v(_(te)),Pt=_(Qe),kt=v(te,2),Ot=v(_(kt)),Se=_(Ot),Ye=v(kt,2);ti(Ye,17,()=>c(a).issues,zi,(_i,ei)=>{var fe=J2(),Je=_(fe);j(()=>W(Je,`⚠ ${c(ei)??""}`)),D(_i,fe)});var Qt=v(Ye,2);{var Zt=_i=>{var ei=ote();D(_i,ei)};z(Qt,_i=>{c(a).ok&&_i(Zt)})}j(()=>{W(Xe,c(a).dynSecPath),Ft(It,1,hg(c(a).adminClientExists?"ok":"fail"),"svelte-zuhcpo"),W($t,c(a).adminClientExists?"✓ yes":"✗ no"),Ft(Qe,1,hg(c(a).hasAdminRole?"ok":"fail"),"svelte-zuhcpo"),W(Pt,c(a).hasAdminRole?"✓ yes":"✗ no"),Ft(Ot,1,hg(c(a).hasControlSendAcl?"ok":"fail"),"svelte-zuhcpo"),W(Se,c(a).hasControlSendAcl?"✓ present":"✗ missing")}),D(mt,dt)};z(Ae,mt=>{c(a).error?mt(Ze):mt(nt,-1)})}var Kt=v(Ni,2),si=_(Kt);j(()=>{K=Ft(Ni,1,"diag-card svelte-zuhcpo",null,K,{"diag-ok":c(a).ok,"diag-fail":!c(a).ok}),Kt.disabled=c(r),W(si,c(r)?"Running…":"Re-run")}),U("click",Kt,b),D(Ri,Ii)};z(Ji,Ri=>{c(a)?Ri(tt,-1):Ri(Ai)})}var At=v(Ji,2);{var Oi=Ri=>{var Ii=lte();U("click",Ii,()=>m(t,!0)),D(Ri,Ii)};z(At,Ri=>{c(t)||Ri(Oi)})}D(Vi,ji)};z(cn,Vi=>{c(f).dynsec.configured&&c(f).dynsec.connected&&!c(f).dynsec.dynsecReady&&Vi(gn)})}var ft=v(cn,2);{var Gt=Vi=>{var ji=dte(),Ji=_(ji),Ai=v(_(Ji)),tt=_(Ai),At=v(Ai,3),Oi=_(At),Ri=v(At,3),Ii=_(Ri),Ni=v(Ri,3),K=_(Ni),Ae=v(Ni,3),Ze=_(Ae),nt=v(Ae,3),Kt=_(nt);j((si,mt,dt,Y,Te,Xe,ke,It,$t,te,Qe,Pt)=>{W(tt,si),W(Oi,mt),W(Ii,`${dt??""} connected · ${Y??""} max · ${Te??""} total`),W(K,`${Xe??""} rcv · ${ke??""} sent · ${It??""} stored`),W(Ze,`${$t??""} retained · ${te??""} subscriptions`),W(Kt,`${Qe??""} in · ${Pt??""} out`)},[()=>w("$SYS/broker/version"),()=>A(w("$SYS/broker/uptime")),()=>w("$SYS/broker/clients/connected"),()=>w("$SYS/broker/clients/maximum"),()=>w("$SYS/broker/clients/total"),()=>w("$SYS/broker/messages/received"),()=>w("$SYS/broker/messages/sent"),()=>w("$SYS/broker/messages/stored"),()=>w("$SYS/broker/retained messages/count"),()=>w("$SYS/broker/subscriptions/count"),()=>P(w("$SYS/broker/bytes/received")),()=>P(w("$SYS/broker/bytes/sent"))]),D(Vi,ji)},Mi=Lt(()=>Object.keys(c(f).sys).length>0);z(ft,Vi=>{c(Mi)&&Vi(Gt)})}var Ki=v(Ge,2);{var Ei=Vi=>{var ji=ute(),Ji=_(ji);Yee(Ji,{onDone:()=>{m(t,!1),C()}}),D(Vi,ji)};z(Ki,Vi=>{c(t)&&(!c(f).dynsec.configured||!c(f).dynsec.dynsecReady)&&Vi(Ei)})}j(()=>W(ni,c(f).sshConfigured?`ssh — ${c(f).sshHost}`:"local")),D(vi,bi)};z(Dt,vi=>{c(p)?vi(Jt):c(g)?vi(hi,1):c(f)&&vi(ui,2)})}D(qe,it)},ht=qe=>{{let it=Lt(()=>{var Dt;return((Dt=c(f))==null?void 0:Dt.dynsec.dynsecReady)??!1});MJ(qe,{get dynsecReady(){return c(it)}})}},Mt=qe=>{tee(qe,{})},st=qe=>{ZJ(qe,{})},yt=qe=>{Eee(qe,{})},Ce=qe=>{Pee(qe,{})},Rt=qe=>{zee(qe,{})};z(We,qe=>{c(u)==="status"?qe(ve):c(u)==="users"?qe(ht,1):c(u)==="brokerconfig"?qe(Mt,2):c(u)==="listeners"?qe(st,3):c(u)==="certs"?qe(yt,4):c(u)==="ssh"?qe(Ce,5):c(u)==="logs"&&qe(Rt,6)})}var ci=v(R,2);gs(Yc(ci,{}),qe=>i=qe,()=>i),j(()=>{H=Ft(V,1,"svelte-zuhcpo",null,H,{active:c(u)==="status"}),se=Ft(X,1,"svelte-zuhcpo",null,se,{active:c(u)==="users"}),J=Ft(he,1,"svelte-zuhcpo",null,J,{active:c(u)==="brokerconfig"}),we=Ft(de,1,"svelte-zuhcpo",null,we,{active:c(u)==="listeners"}),ae=Ft(re,1,"svelte-zuhcpo",null,ae,{active:c(u)==="certs"}),Pe=Ft(De,1,"svelte-zuhcpo",null,Pe,{active:c(u)==="ssh"}),ze=Ft(xe,1,"svelte-zuhcpo",null,ze,{active:c(u)==="logs"})}),U("click",V,()=>m(u,"status")),U("click",X,()=>m(u,"users")),U("click",he,()=>m(u,"brokerconfig")),U("click",de,()=>m(u,"listeners")),U("click",re,()=>m(u,"certs")),U("click",De,()=>m(u,"ssh")),U("click",xe,()=>m(u,"logs")),D(o,M),$s()}Ys(["click"]);var xte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),mte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),vte=B('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),_te=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),bte=B('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><circle cx="8" cy="10" r="2" class="svelte-1n46o8q"></circle><path d="M5,7 A4,4 0,0,1 11,7" class="svelte-1n46o8q"></path><path d="M3,5 A6.5,6.5 0,0,1 13,5" class="svelte-1n46o8q"></path><line x1="8" y1="12" x2="8" y2="15" class="svelte-1n46o8q"></line></svg> Broker</button>'),Cte=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),Ete=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),yte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),wte=B('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M8,2 L8,7" class="svelte-1n46o8q"></path><path d="M6,5 L8,7.5 L10,5" class="svelte-1n46o8q"></path><path d="M2.5,14 L6,10" class="svelte-1n46o8q"></path><path d="M6.2,12.8 L6,10 L3.2,10.2" class="svelte-1n46o8q"></path><path d="M13.5,14 L10,10" class="svelte-1n46o8q"></path><path d="M9.8,12.8 L10,10 L12.8,10.2" class="svelte-1n46o8q"></path></svg> Matter <!></button>'),Ste=B('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><ellipse cx="8" cy="4.5" rx="5" ry="1.8" class="svelte-1n46o8q"></ellipse><path d="M3,4.5 v7 a5,1.8 0,0,0 10,0 v-7" class="svelte-1n46o8q"></path><path d="M3,8 a5,1.8 0,0,0 10,0" class="svelte-1n46o8q"></path></svg> DB</button>'),Dte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),Ate=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),kte=B('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),Bte=B('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),Fte=B('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),Lte=B('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button>'),Ite=B('<div class="version-popup svelte-1n46o8q"><dl class="svelte-1n46o8q"><dt class="svelte-1n46o8q">Installed</dt><dd class="svelte-1n46o8q"></dd> <!></dl> <div class="version-actions svelte-1n46o8q"><!> <button class="check-btn svelte-1n46o8q" title="Check for updates now"><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button></div></div>'),Pte=B('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),Tte=B('<dt class="svelte-1n46o8q">Matter nodes</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Matter endpoints</dt><dd class="svelte-1n46o8q"> </dd>',1),Mte=B('<dt class="svelte-1n46o8q">DB docs</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">DB views</dt><dd class="svelte-1n46o8q"> </dd>',1),Rte=B('<dl class="svelte-1n46o8q"><!> <dt class="svelte-1n46o8q">Scripts</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT topics</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT msg/s</dt><dd class="svelte-1n46o8q"> </dd> <!> <!> <dt class="svelte-1n46o8q">Handlers</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Memory</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">CPU</dt><dd class="svelte-1n46o8q"> </dd></dl>'),Nte=B('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),Ote=B('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M18.36 6.64a9 9 0 1 1-12.73 0" class="svelte-1n46o8q"></path><line x1="12" y1="2" x2="12" y2="12" class="svelte-1n46o8q"></line></svg> Restart daemon</button>'),Hte=B('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),Wte=B('<button class="nav-logout svelte-1n46o8q" title="Logout"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" class="svelte-1n46o8q"></path><polyline points="16 17 21 12 16 7" class="svelte-1n46o8q"></polyline><line x1="21" y1="12" x2="9" y2="12" class="svelte-1n46o8q"></line></svg></button>'),zte=B('<div class="shell svelte-1n46o8q"><nav class="svelte-1n46o8q"><span class="brand svelte-1n46o8q">she</span> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="5,3 1,8 5,13" class="svelte-1n46o8q"></polyline><polyline points="11,3 15,8 11,13" class="svelte-1n46o8q"></polyline></svg> Scripts</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" class="svelte-1n46o8q"><rect x="0.75" y="0.75" width="14.5" height="14.5" rx="1" class="svelte-1n46o8q"></rect><path d="M2,11 V5 H5 V11" class="svelte-1n46o8q"></path><path d="M6,12 V5 H9 V8 H6" class="svelte-1n46o8q"></path><path d="M10,11 V5 H15 V11" class="svelte-1n46o8q"></path><line x1="12.5" y1="5" x2="12.5" y2="11" class="svelte-1n46o8q"></line></svg> Packages <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" stroke="none" style="vertical-align: middle" class="svelte-1n46o8q"><path fill-rule="evenodd" d="M2,0 H14 A2,2 0 0,1 16,2 V14 A2,2 0 0,1 14,16 H0 V2 A2,2 0 0,1 2,0 Z M0,16 L0,12 A4,4 0 0,1 4,16 Z M0,10.5 A5.5,5.5 0 0,1 5.5,16 L9,16 A9,9 0 0,0 0,7 Z M0,5.5 A10.5,10.5 0 0,1 10.5,16 L13.5,16 A13.5,13.5 0 0,0 0,2.5 Z" class="svelte-1n46o8q"></path></svg> MQTT <!></button> <!> <!> <!> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-1n46o8q"><line x1="2" y1="5" x2="14" y2="5" class="svelte-1n46o8q"></line><line x1="2" y1="8" x2="14" y2="8" class="svelte-1n46o8q"></line><line x1="2" y1="11" x2="9" y2="11" class="svelte-1n46o8q"></line></svg> Logs <!></button> <div class="nav-spacer svelte-1n46o8q"></div> <div class="nav-right svelte-1n46o8q"><a class="nav-icon svelte-1n46o8q" href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" title="GitHub"><svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" class="svelte-1n46o8q"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" class="svelte-1n46o8q"></path></svg></a> <div class="version-wrap svelte-1n46o8q"><button class="version svelte-1n46o8q"> <!></button> <!></div> <div class="stats-wrap svelte-1n46o8q"><button class="nav-icon svelte-1n46o8q" title="Daemon status"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><line x1="18" y1="20" x2="18" y2="10" class="svelte-1n46o8q"></line><line x1="12" y1="20" x2="12" y2="4" class="svelte-1n46o8q"></line><line x1="6" y1="20" x2="6" y2="14" class="svelte-1n46o8q"></line></svg></button> <!></div> <button title="Settings"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z" class="svelte-1n46o8q"></path><circle cx="12" cy="12" r="3" class="svelte-1n46o8q"></circle></svg></button> <!></div></nav> <main class="svelte-1n46o8q"><!> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div></main></div>'),Vte=B('<div class="login-error svelte-1n46o8q"> </div>'),jte=B('<div class="login-overlay svelte-1n46o8q"><form class="login-box svelte-1n46o8q"><div class="login-brand svelte-1n46o8q">she</div> <h2 class="svelte-1n46o8q">Sign in</h2> <div class="login-field svelte-1n46o8q"><label for="she-password" class="svelte-1n46o8q">Password</label> <input id="she-password" type="password" placeholder="Enter password" autocomplete="current-password" class="svelte-1n46o8q"/></div> <!> <button type="submit" class="login-btn svelte-1n46o8q"> </button></form></div>'),$te=B('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Restarting smart-home-engine…</div></div>'),Ute=B('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Updating smart-home-engine…</div></div>'),qte=B("<!> <!> <!> <!>",1);function Gte(o,e){js(e,!0);const t=["scripts","mqtt","matter","security","db","logs","config","packages"];function i(){const qe=location.hash.slice(1);return t.includes(qe)?qe:"scripts"}let n=F(Pi(i())),s=F(null),r=F(!1),a=F(!1),d=F(!1),u=F(!1),f=F("none"),g=F(""),p=F(!1),C=F(""),b=F(""),y=F(!1),w=F(!1);P$(()=>{m(p,!0)});async function A(){m(b,""),m(y,!0);try{await R$(c(C)),m(C,""),m(p,!1)}catch(qe){m(b,qe.message??"Login failed",!0)}finally{m(y,!1)}}async function P(){if(c(f)==="proxy"&&c(g)){window.location.href=c(g);return}await N$(),m(p,!0)}let M=F(null),R=F(!1),T=F(!1),V=F(!1),H=F(!1),X=F(Pi([])),se=F(0),he=F(!1),J=F(Pi([]));const de=Lt(()=>c(J).filter(qe=>qe.online).length),we=Lt(()=>c(J).length===0?"none":c(de)===c(J).length?"all":c(de)>0?"some":"offline");let re=F(!1),ae=F(!1);async function De(){if(!await c(M).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;m(R,!0);let qe;try{qe=(await e0()).startedAt}catch{}try{await gF()}catch{}const it=Date.now()+6e4;for(;Date.now()<it;){await new Promise(Dt=>setTimeout(Dt,250));try{const Dt=await e0();if(qe===void 0||Dt.startedAt!==qe){location.reload();return}}catch{}}location.reload()}async function Pe(){m(d,!0);try{const qe=await j$();c(s)&&m(s,{...c(s),latestVersion:qe.latestVersion??void 0},!0)}catch{}finally{m(d,!1)}}async function xe(){var Dt,Jt;if(!await c(M).show(`Update to v${(Dt=c(s))==null?void 0:Dt.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;m(a,!1),m(u,!0);const qe=(Jt=c(s))==null?void 0:Jt.startedAt;try{await V$()}catch{}const it=Date.now()+18e4;for(;Date.now()<it;){await new Promise(hi=>setTimeout(hi,1e3));try{const hi=await e0();if(qe===void 0||hi.startedAt!==qe){location.reload();return}}catch{m(u,!1),m(R,!0)}}location.reload()}function ze(qe){m(n,qe,!0),location.hash=qe}Xs(async()=>{location.hash||(location.hash=c(n));const qe=()=>{m(n,i(),!0)};window.addEventListener("hashchange",qe);try{const Ge=await M$();m(f,Ge.mode,!0),m(g,Ge.proxyLogoutUrl??"",!0),c(f)==="password"&&(await fetch("/she/scripts")).status===401&&m(p,!0)}catch{}m(w,!0);async function it(){var Ge,Ee,ii;try{m(s,await e0(),!0)}catch{}try{const[Ci,ni]=await Promise.all([mF(),Pl()]);m(X,Array.isArray(ni.pinnedPackages)?ni.pinnedPackages:[],!0),m(se,Object.keys(Ci).filter(Yi=>!c(X).includes(Yi)).length,!0);const Ui=c(he);m(he,((Ge=ni.broker)==null?void 0:Ge.enabled)===!0),Ui&&!c(he)&&c(n)==="security"&&ze("scripts")}catch{}!((Ee=c(s))!=null&&Ee.matterEnabled)&&c(n)==="matter"&&ze("scripts"),!((ii=c(s))!=null&&ii.dbEnabled)&&c(n)==="db"&&ze("scripts")}it();const Dt=setInterval(it,5e3),Jt=hr("mqtt:status",Ge=>{Ge.connected===!1?(m(H,!0),m(T,!1),m(V,!1)):(m(H,!1),m(T,Ge.ready===!1),m(V,Ge.ready===!0))}),hi=hr("matter:deviceList",Ge=>{Array.isArray(Ge.devices)&&m(J,Ge.devices.map(Ee=>({nodeId:String(Ee.nodeId),online:!!Ee.online})),!0)}),ui=hr("matter:deviceStatus",Ge=>{if(Ge.nodeId===void 0)return;const Ee=String(Ge.nodeId),ii=!!Ge.online;m(J,c(J).map(Ci=>Ci.nodeId===Ee?{...Ci,online:ii}:Ci),!0)}),vi=DF();m(re,vi.some(Ge=>Ge.level==="error"),!0),m(ae,!c(re)&&vi.some(Ge=>Ge.level==="warn"),!0);const bi=uS(Ge=>{Ge.level==="error"?(m(re,!0),m(ae,!1)):Ge.level==="warn"&&!c(re)&&m(ae,!0)});return()=>{window.removeEventListener("hashchange",qe),clearInterval(Dt),Jt(),hi(),ui(),bi()}});var We=qte();xs("click",i6,()=>{c(r)&&m(r,!1),c(a)&&m(a,!1)});var ve=Et(We);{var ht=qe=>{var it=zte(),Dt=_(it),Jt=v(_(Dt),2);let hi;var ui=v(Jt,2);let vi;var bi=v(_(ui),2);{var Ge=N=>{var $=xte();j(()=>ln($,"title",`${c(se)??""} package update${c(se)===1?"":"s"} available`)),D(N,$)};z(bi,N=>{c(se)>0&&N(Ge)})}var Ee=v(ui,2);let ii;var Ci=v(_(Ee),2);{var ni=N=>{var $=mte();D(N,$)},Ui=N=>{var $=vte();D(N,$)},Yi=N=>{var $=_te();D(N,$)};z(Ci,N=>{c(H)?N(ni):c(T)?N(Ui,1):c(V)&&N(Yi,2)})}var Di=v(Ee,2);{var wn=N=>{var $=bte();let oe;j(()=>oe=Ft($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="security"})),U("click",$,()=>ze("security")),D(N,$)};z(Di,N=>{c(he)&&N(wn)})}var hn=v(Di,2);{var cn=N=>{var $=wte();let oe;var ie=v(_($),2);{var ne=Fe=>{var _e=Cte();D(Fe,_e)},le=Fe=>{var _e=Ete();D(Fe,_e)},et=Fe=>{var _e=yte();D(Fe,_e)};z(ie,Fe=>{c(we)==="all"?Fe(ne):c(we)==="some"?Fe(le,1):c(we)==="offline"&&Fe(et,2)})}j(()=>oe=Ft($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="matter"})),U("click",$,()=>ze("matter")),D(N,$)};z(hn,N=>{var $;($=c(s))!=null&&$.matterEnabled&&N(cn)})}var gn=v(hn,2);{var ft=N=>{var $=Ste();let oe;j(()=>oe=Ft($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="db"})),U("click",$,()=>ze("db")),D(N,$)};z(gn,N=>{var $;($=c(s))!=null&&$.dbEnabled&&N(ft)})}var Gt=v(gn,2);let Mi;var Ki=v(_(Gt),2);{var Ei=N=>{var $=Dte();D(N,$)},Vi=N=>{var $=Ate();D(N,$)};z(Ki,N=>{c(re)?N(Ei):c(ae)&&N(Vi,1)})}var ji=v(Gt,4),Ji=v(_(ji),2),Ai=_(Ji),tt=_(Ai);tt.nodeValue="v1.12.6 ";var At=v(tt);{var Oi=N=>{var $=kte();D(N,$)};z(At,N=>{var $,oe;($=c(s))!=null&&$.latestVersion&&!((oe=c(s))!=null&&oe.docker)&&N(Oi)})}var Ri=v(Ai,2);{var Ii=N=>{var $=Ite(),oe=_($),ie=v(_(oe));ie.textContent="v1.12.6";var ne=v(ie,2);{var le=ce=>{var Ve=Bte(),vt=v(Et(Ve)),Le=_(vt);j(()=>W(Le,`v${c(s).latestVersion??""}`)),D(ce,Ve)},et=ce=>{var Ve=Fte();D(ce,Ve)};z(ne,ce=>{var Ve;(Ve=c(s))!=null&&Ve.latestVersion?ce(le):ce(et,-1)})}var Fe=v(oe,2),_e=_(Fe);{var Ke=ce=>{var Ve=Lte(),vt=v(_(Ve));j(()=>W(vt,` Update to v${c(s).latestVersion??""}`)),U("click",Ve,xe),D(ce,Ve)};z(_e,ce=>{var Ve;(Ve=c(s))!=null&&Ve.latestVersion&&ce(Ke)})}var Me=v(_e,2),at=_(Me);let Xt;var Z=v(at);j(()=>{Me.disabled=c(d),Xt=Ft(at,0,"svelte-1n46o8q",null,Xt,{spinning:c(d)}),W(Z,` ${c(d)?"Checking…":"Check for updates"}`)}),U("click",$,ce=>ce.stopPropagation()),U("click",Me,Pe),D(N,$)};z(Ri,N=>{var $;c(a)&&!(($=c(s))!=null&&$.docker)&&N(Ii)})}var Ni=v(Ji,2),K=_(Ni),Ae=v(K,2);{var Ze=N=>{var $=Hte(),oe=_($);{var ie=_e=>{var Ke=Rte(),Me=_(Ke);{var at=gt=>{const pe=Lt(()=>Math.floor((Date.now()-c(s).startedAt)/1e3)),He=Lt(()=>Math.floor(c(pe)/86400)),Ct=Lt(()=>Math.floor(c(pe)%86400/3600)),zt=Lt(()=>Math.floor(c(pe)%3600/60));var bt=Pte(),fi=v(Et(bt)),ki=_(fi);j(()=>W(ki,`${c(He)>0?c(He)+"d ":""}${c(Ct)>0||c(He)>0?c(Ct)+"h ":""}${c(zt)??""}m`)),D(gt,bt)};z(Me,gt=>{c(s).startedAt&&gt(at)})}var Xt=v(Me,3),Z=_(Xt),ce=v(Xt,3),Ve=_(ce),vt=v(ce,3),Le=_(vt),Oe=v(vt,2);{var St=gt=>{var pe=Tte(),He=v(Et(pe)),Ct=_(He),zt=v(He,3),bt=_(zt);j(()=>{W(Ct,c(s).matterNodes??0),W(bt,c(s).matterEndpoints??0)}),D(gt,pe)};z(Oe,gt=>{c(s).matterEnabled&&gt(St)})}var xt=v(Oe,2);{var Ie=gt=>{var pe=Mte(),He=v(Et(pe)),Ct=_(He),zt=v(He,3),bt=_(zt);j(()=>{W(Ct,c(s).dbDocs??"—"),W(bt,c(s).dbViews??"—")}),D(gt,pe)};z(xt,gt=>{c(s).dbEnabled&&gt(Ie)})}var ge=v(xt,3),Re=_(ge),Ne=v(ge,3),$e=_(Ne),ct=v(Ne,3),je=_(ct);j(()=>{W(Z,c(s).scripts),W(Ve,c(s).topics),W(Le,c(s).mqttMsgPerSec??"—"),W(Re,c(s).handlers??"—"),W($e,c(s).memMb!=null?c(s).memMb+" MB":"—"),W(je,c(s).cpuPercent!=null?c(s).cpuPercent+" %":"—")}),D(_e,Ke)},ne=_e=>{var Ke=Nte();D(_e,Ke)};z(oe,_e=>{c(s)?_e(ie):_e(ne,-1)})}var le=v(oe,2),et=_(le);{var Fe=_e=>{var Ke=Ote();U("click",Ke,()=>{m(r,!1),De()}),D(_e,Ke)};z(et,_e=>{var Ke;(Ke=c(s))!=null&&Ke.docker||_e(Fe)})}U("click",$,_e=>_e.stopPropagation()),D(N,$)};z(Ae,N=>{c(r)&&N(Ze)})}var nt=v(Ni,2);let Kt;var si=v(nt,2);{var mt=N=>{var $=Wte();U("click",$,P),D(N,$)};z(si,N=>{c(f)==="password"&&N(mt)})}var dt=v(Dt,2),Y=_(dt);gs(Yc(Y,{}),N=>m(M,N,!0),()=>c(M));var Te=v(Y,2);let Xe;var ke=_(Te);{let N=Lt(()=>c(n)==="scripts");aZ(ke,{get active(){return c(N)}})}var It=v(Te,2);let $t;var te=_(It);eJ(te,{});var Qe=v(It,2);let Pt;var kt=_(Qe);MQ(kt,{});var Ot=v(Qe,2);let Se;var Ye=_(Ot);JY(Ye,{});var Qt=v(Ot,2);let Zt;var _i=_(Qt);pte(_i,{});var ei=v(Qt,2);let fe;var Je=_(ei);iY(Je,{});var rt=v(ei,2);let lt;var Ut=_(rt);KZ(Ut,{});var Ht=v(rt,2);let yi;var I=_(Ht);QZ(I,{}),j(()=>{hi=Ft(Jt,1,"svelte-1n46o8q",null,hi,{active:c(n)==="scripts"}),vi=Ft(ui,1,"svelte-1n46o8q",null,vi,{active:c(n)==="packages"}),ii=Ft(Ee,1,"svelte-1n46o8q",null,ii,{active:c(n)==="mqtt"}),Mi=Ft(Gt,1,"svelte-1n46o8q",null,Mi,{active:c(n)==="logs"}),Kt=Ft(nt,1,"nav-settings svelte-1n46o8q",null,Kt,{active:c(n)==="config"}),Xe=Ft(Te,1,"page-wrap svelte-1n46o8q",null,Xe,{hidden:c(n)!=="scripts"}),$t=Ft(It,1,"page-wrap svelte-1n46o8q",null,$t,{hidden:c(n)!=="packages"}),Pt=Ft(Qe,1,"page-wrap svelte-1n46o8q",null,Pt,{hidden:c(n)!=="mqtt"}),Se=Ft(Ot,1,"page-wrap svelte-1n46o8q",null,Se,{hidden:c(n)!=="matter"}),Zt=Ft(Qt,1,"page-wrap svelte-1n46o8q",null,Zt,{hidden:c(n)!=="security"}),fe=Ft(ei,1,"page-wrap svelte-1n46o8q",null,fe,{hidden:c(n)!=="db"}),lt=Ft(rt,1,"page-wrap svelte-1n46o8q",null,lt,{hidden:c(n)!=="config"}),yi=Ft(Ht,1,"page-wrap svelte-1n46o8q",null,yi,{hidden:c(n)!=="logs"})}),U("click",Jt,()=>ze("scripts")),U("click",ui,()=>ze("packages")),U("click",Ee,()=>ze("mqtt")),U("click",Gt,()=>{ze("logs"),m(re,!1),m(ae,!1)}),U("click",Ai,N=>{N.stopPropagation(),m(a,!c(a)),m(r,!1)}),U("click",K,N=>{N.stopPropagation(),m(r,!c(r)),m(a,!1)}),U("click",nt,()=>ze("config")),D(qe,it)};z(ve,qe=>{c(w)&&!c(p)&&qe(ht)})}var Mt=v(ve,2);{var st=qe=>{var it=jte(),Dt=_(it),Jt=v(_(Dt),4),hi=v(_(Jt),2),ui=v(Jt,2);{var vi=Ee=>{var ii=Vte(),Ci=_(ii);j(()=>W(Ci,c(b))),D(Ee,ii)};z(ui,Ee=>{c(b)&&Ee(vi)})}var bi=v(ui,2),Ge=_(bi);j(()=>{hi.disabled=c(y),bi.disabled=c(y)||!c(C),W(Ge,c(y)?"Signing in…":"Sign in")}),xs("submit",Dt,Ee=>{Ee.preventDefault(),A()}),jt(hi,()=>c(C),Ee=>m(C,Ee)),D(qe,it)};z(Mt,qe=>{c(p)&&qe(st)})}var yt=v(Mt,2);{var Ce=qe=>{var it=$te();D(qe,it)};z(yt,qe=>{c(R)&&qe(Ce)})}var Rt=v(yt,2);{var ci=qe=>{var it=Ute();D(qe,it)};z(Rt,qe=>{c(u)&&qe(ci)})}D(o,We),$s()}Ys(["click"]);YI(Gte,{target:document.getElementById("app")});export{M6 as t};