smart-home-engine 1.11.0 → 1.12.1

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.
@@ -0,0 +1,232 @@
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-CXqG4FL-.js"])))=>i.map(i=>d[i]);
2
+ var $F=Object.defineProperty;var DS=o=>{throw TypeError(o)};var UF=(o,e,t)=>e in o?$F(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var kn=(o,e,t)=>UF(o,typeof e!="symbol"?e+"":e,t),Zb=(o,e,t)=>e.has(o)||DS("Cannot "+t);var ye=(o,e,t)=>(Zb(o,e,"read from private field"),t?t.call(o):e.get(o)),_n=(o,e,t)=>e.has(o)?DS("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),bn=(o,e,t,i)=>(Zb(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),es=(o,e,t)=>(Zb(o,e,"access private method"),t);import{_ as tA,m as iA,l as Di,A as Do,C as $e,I as ns,D as Cp,a as bs,g as nA,M as ri,b as Gi,E as la,c as q,r as zn,d as Rr,e as S,f as qF,h as Qn,R as Cn,S as ji,i as ao,j as Nr,k as Fn,n as dn,o as Be,p as bt,K as Ss,q as pi,s as Nt,t as Ps,u as Q,v as xn,O as Ha,w as Bs,P as Ai,x as Xb,y as Ep,z as sA,B as ml,F as ca,G as YC,H as Zs,U as Vn,J as k0,L as ki,N as yl,Q as GF,T as bo,V as QC,W as KF,X as oA,$ as gi,Y as Tn,Z as Bn,a0 as as,a1 as nn,a2 as Qo,a3 as Dg,a4 as Tt,a5 as Gx,a6 as ZF,a7 as XF,a8 as Is,a9 as YF,aa as da,ab as Ao,ac as Ii,ad as rA,ae as ts,af as QF,ag as JF,ah as yo,ai as of,aj as Ds,ak as N_,al as xo,am as qc,an as Sw,ao as O_,ap as Us,aq as B0,ar as qs,as as H_,at as W_,au as e3,av as yp,aw as rf,ax as Tl,ay as t3,az as af,aA as i3,aB as Dw,aC as n3,aD as s3,aE as AS,aF as _s,aG as vl,aH as mo,aI as an,aJ as fl,aK as o3,aL as ja,aM as Zo,aN as zs,aO as ua,aP as Aw,aQ as Ts,aR as ms,aS as Cm,aT as rn,aU as aA,aV as r3,aW as kw,aX as z_,aY as Bw,aZ as Fw,a_ as Ld,a$ as a3,b0 as Lw,b1 as l3,b2 as Iw,b3 as Ml,b4 as Rl,b5 as F0,b6 as Ag,b7 as Oo,b8 as wp,b9 as Em,ba as Yb,bb as Un,bc as Pw,bd as Sp,be as V_,bf as c3,bg as lA,bh as kg,bi as L0,bj as Bg,bk as Dp,bl as j_,bm as In,bn as Gc,bo as Ap,bp as d3,bq as u3,br as Tw,bs as h3,bt as ym,bu as fr,bv as Mw,bw as I0,bx as Nl,by as lf,bz as gn,bA as P0,bB as cA,bC as kp,bD as f3,bE as Id,bF as li,bG as kS,bH as Kx,bI as dA,bJ as Wr,bK as sa,bL as Zn,bM as T0,bN as Fr,bO as M0,bP as rs,bQ as Fg,bR as Zu,bS as JC,bT as uA,bU as hA,bV as fA,bW as Rw,bX as Io,bY as Hn,bZ as Bp,b_ as gA,b$ as _l,c0 as $_,c1 as g3,c2 as Wh,c3 as BS,c4 as Fp,c5 as pA,c6 as zh,c7 as p3,c8 as yr,c9 as U_,ca as x3,cb as ko,cc as ha,cd as Lp,ce as Lg,cf as xA,cg as cr,ch as Ip,ci as q_,cj as m3,ck as v3,cl as _3,cm as cf,cn as $a,co as Vs,cp as b3,cq as Nw,cr as C3,cs as E3,ct as FS,cu as y3,cv as Pp,cw as wl,cx as e1,cy as Bu,cz as Sl,cA as w3,cB as Wa,cC as Lr,cD as $o,cE as LS,cF as co,cG as Tp,cH as Nc,cI as Ua,cJ as S3,cK as fa,cL as Ig,cM as G_,cN as mA,cO as D3,cP as A3,cQ as Ow,cR as k3,cS as Pg,cT as B3,cU as dc,cV as Tg,cW as IS,cX as F3,cY as L3,cZ as Ka,c_ as I3,c$ as Hw,d0 as vA,d1 as _A,d2 as bA,d3 as CA,d4 as P3,d5 as T3,d6 as EA,d7 as yA,d8 as M3,d9 as Ww,da as R3,db as N3,dc as cs,dd as O3,de as zw,df as H3,dg as Vh,dh as PS,di as W3,dj as z3,dk as V3,dl as j3,dm as $3,dn as U3,dp as R0,dq as K_,dr as t1,ds as q3,dt as G3,du as TS,dv as i1,dw as K3,dx as MS,dy as Qb,dz as Z3,dA as wA,dB as X3,dC as SA,dD as n1,dE as Y3,dF as Q3,dG as J3,dH as DA,dI as AA,dJ as e4,dK as wm,dL as kA,dM as Z_,dN as t4,dO as i4,dP as Oc,dQ as Vw,dR as n4,dS as RS,dT as NS,dU as s4,dV as jh,dW as BA,dX as o4,dY as r4,dZ as a4,d_ as l4,d$ as FA,e0 as LA,e1 as IA,e2 as PA,e3 as c4,e4 as za,e5 as OS,e6 as d4,e7 as Mp,e8 as u4,e9 as Vf,ea as TA,eb as HS,ec as Mg,ed as MA,ee as Sm,ef as h4,eg as RA,eh as f4,ei as NA,ej as g4,ek as p4,el as OA,em as HA,en as Dl,eo as X_,ep as x4,eq as WA,er as Xo,es as Pd,et as zA,eu as m4,ev as v4,ew as VA,ex as jA,ey as _4,ez as $A,eA as UA,eB as Rg,eC as b4,eD as C4,eE as E4,eF as y4,eG as Lf,eH as WS,eI as w4,eJ as S4,eK as D4,eL as Dm,eM as eo,eN as A4,eO as s1,eP as Xu,eQ as k4,eR as ul,eS as B4,eT as F4,eU as qA,eV as L4,eW as og,eX as I4,eY as P4,eZ as T4,e_ as M4,e$ as zS,f0 as VS,f1 as jS,f2 as Yu,f3 as jw,f4 as GA,f5 as o1,f6 as Zx,f7 as KA,f8 as Am,f9 as R4,fa as N4,fb as O4,fc as H4,fd as $w,fe as ZA,ff as W4,fg as km,fh as XA,fi as YA,fj as z4,fk as V4,fl as j4,fm as $4,fn as U4,fo as q4,fp as G4,fq as K4,fr as QA,fs as Z4,ft as Bm,fu as JA,fv as X4,fw as ek,fx as Y4,fy as tk,fz as ik,fA as Q4,fB as $S,fC as nk,fD as US,fE as J4,fF as Jb,fG as qS,fH as eL,fI as tL,fJ as iL,fK as Ia,fL as Hc,fM as nL,fN as GS,fO as Xx,fP as sL,fQ as gl,fR as Y_,fS as r1,fT as oL,fU as sk,fV as ok,fW as uo,fX as KS,fY as fx,fZ as Uw,f_ as rL,f$ as aL,g0 as lL,g1 as cL,g2 as dL,g3 as uL,g4 as hL,g5 as fL,g6 as ZS,g7 as gL,g8 as pL,g9 as xL,ga as N0,gb as rg,gc as rk,gd as mL,ge as qw,gf as Yx,gg as gx,gh as eC,gi as vL,gj as _L,gk as ak,gl as bL,gm as Gw,gn as CL,go as EL,gp as lk,gq as Q_,gr as yL,gs as Fm,gt as Kw,gu as Zw,gv as Xw,gw as ck,gx as dk,gy as uk,gz as hk,gA as fk,gB as gk,gC as pk,gD as XS,gE as xk,gF as mh,gG as wL,gH as SL,gI as DL,gJ as AL,gK as mk,gL as kL,gM as BL,gN as YS,gO as a1,gP as mc,gQ as FL,gR as LL,gS as IL,gT as PL,gU as TL,gV as ML,gW as QS,gX as Yw,gY as l1,gZ as RL,g_ as c1,g$ as NL,h0 as OL,h1 as HL,h2 as WL,h3 as Qw,h4 as vk,h5 as JS,h6 as e8,h7 as zL,h8 as VL,h9 as jL,ha as t8,hb as tC,hc as $L,hd as UL,he as qL,hf as iC,hg as _k,hh as bk,hi as Ck,hj as Ek,hk as Al,hl as yk,hm as Jw,hn as i8,ho as GL,hp as wk,hq as KL,hr as ZL,hs as J_,ht as eb,hu as Qu,hv as tb,hw as Rp,hx as XL,hy as ib,hz as YL,hA as QL,hB as JL,hC as Sk,hD as If,hE as e7,hF as t7,hG as i7,hH as n7,hI as Np,hJ as s7,hK as Dk,hL as Ak,hM as kk,hN as d1,hO as o7,hP as r7,hQ as a7,hR as l7,hS as c7,hT as u1,hU as d7,hV as u7,hW as h7,hX as f7,hY as g7,hZ as p7,h_ as x7,h$ as m7,i0 as Bk,i1 as v7,i2 as _7,i3 as b7,i4 as n8,i5 as C7,i6 as E7,i7 as md,i8 as _r,i9 as s8,ia as y7,ib as w7,ic as S7}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 Fk=!1;var e9=Array.isArray,D7=Array.prototype.indexOf,Lm=Array.prototype.includes,nb=Array.from,A7=Object.defineProperty,o0=Object.getOwnPropertyDescriptor,k7=Object.getOwnPropertyDescriptors,B7=Object.prototype,F7=Array.prototype,Lk=Object.getPrototypeOf,o8=Object.isExtensible;const sb=()=>{};function L7(o){for(var e=0;e<o.length;e++)o[e]()}function Ik(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function I7(o,e,t=!1){return o===void 0?t?e():e:o}function r8(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 go=2,O0=4,ob=8,Pk=1<<24,oa=16,aa=32,Wc=64,h1=128,Tr=512,to=1024,so=2048,qa=4096,To=8192,Mr=16384,df=32768,f1=1<<25,H0=65536,Im=1<<17,P7=1<<18,uf=1<<19,T7=1<<20,Ra=1<<25,Fu=65536,Pm=1<<21,r0=1<<22,vc=1<<23,Td=Symbol("$state"),M7=Symbol("legacy props"),R7=Symbol(""),Qx=Symbol("attributes"),g1=Symbol("class"),p1=Symbol("style"),jf=Symbol("text"),Jx=Symbol("form reset"),rb=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 Q2;const N7=!!((Q2=globalThis.document)!=null&&Q2.contentType)&&globalThis.document.contentType.includes("xml");function Tk(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function O7(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function H7(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function W7(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function z7(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function V7(o){throw new Error("https://svelte.dev/e/effect_orphan")}function j7(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function $7(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function U7(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function q7(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function G7(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function K7(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Z7=1,X7=2,Mk=4,Y7=8,Q7=16,J7=1,eI=4,tI=8,iI=16,nI=1,sI=2,Js=Symbol("uninitialized"),Rk="http://www.w3.org/1999/xhtml",oI="http://www.w3.org/2000/svg",rI="http://www.w3.org/1998/Math/MathML";function aI(){console.warn("https://svelte.dev/e/derived_inert")}function lI(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function cI(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Nk(o){return o===this.v}function dI(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function Ok(o){return!dI(o,this.v)}let uI=!1,fo=null;function W0(o){fo=o}function js(o,e=!1,t){fo={p:fo,i:!1,c:null,e:null,s:o,x:null,r:Wn,l:null}}function $s(o){var e=fo,t=e.e;if(t!==null){e.e=null;for(var i of t)r6(i)}return o!==void 0&&(e.x=o),e.i=!0,fo=e.p,o??{}}function Hk(){return!0}let Ed=[];function Wk(){var o=Ed;Ed=[],L7(o)}function _c(o){if(Ed.length===0&&!lg){var e=Ed;queueMicrotask(()=>{e===Ed&&Wk()})}Ed.push(o)}function hI(){for(;Ed.length>0;)Wk()}function zk(o){var e=Wn;if(e===null)return On.f|=vc,o;if((e.f&df)===0&&(e.f&O0)===0)throw o;uc(o,e)}function uc(o,e){for(;e!==null;){if((e.f&h1)!==0){if((e.f&df)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const fI=-7169;function Hs(o,e){o.f=o.f&fI|e}function t9(o){(o.f&Tr)!==0||o.deps===null?Hs(o,to):Hs(o,qa)}function Vk(o){if(o!==null)for(const e of o)(e.f&go)===0||(e.f&Fu)===0||(e.f^=Fu,Vk(e.deps))}function jk(o,e,t){(o.f&so)!==0?e.add(o):(o.f&qa)!==0&&t.add(o),Vk(o.deps),Hs(o,to)}let px=!1;function gI(o){var e=px;try{return px=!1,[o(),px]}finally{px=e}}let nC=null,vh=null,on=null,ag=null,lo=null,x1=null,lg=!1,sC=!1,$h=null,em=null;var a8=0;let pI=1;var d0,ac,Dd,u0,h0,f0,al,g0,zo,pp,ll,Zr,ka,p0,Ad,ds,m1,$f,v1,$k,Uk,Th,xI,Uf;const $v=class $v{constructor(){_n(this,ds);kn(this,"id",pI++);_n(this,d0,!1);kn(this,"linked",!0);_n(this,ac,null);_n(this,Dd,null);kn(this,"async_deriveds",new Map);kn(this,"current",new Map);kn(this,"previous",new Map);_n(this,u0,new Set);_n(this,h0,new Set);_n(this,f0,0);_n(this,al,new Map);_n(this,g0,null);_n(this,zo,[]);_n(this,pp,[]);_n(this,ll,new Set);_n(this,Zr,new Set);_n(this,ka,new Map);_n(this,p0,new Set);kn(this,"is_fork",!1);_n(this,Ad,!1);vh===null?nC=vh=this:(bn(vh,Dd,this),bn(this,ac,vh)),vh=this}skip_effect(e){ye(this,ka).has(e)||ye(this,ka).set(e,{d:[],m:[]}),ye(this,p0).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,p0).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]),lo==null||lo.set(e,t)),this.is_fork||(e.v=t)}activate(){on=this}deactivate(){on=null,lo=null}flush(){try{sC=!0,on=this,es(this,ds,$f).call(this)}finally{a8=0,x1=null,$h=null,em=null,sC=!1,on=null,lo=null,Md.clear()}}discard(){var e;for(const t of ye(this,h0))t(this);ye(this,h0).clear(),es(this,ds,Uf).call(this),(e=ye(this,g0))==null||e.resolve()}register_created_effect(e){ye(this,pp).push(e)}increment(e,t){if(bn(this,f0,ye(this,f0)+1),e){let i=ye(this,al).get(t)??0;ye(this,al).set(t,i+1)}}decrement(e,t){if(bn(this,f0,ye(this,f0)-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)||(bn(this,Ad,!0),_c(()=>{bn(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,u0).add(e)}ondiscard(e){ye(this,h0).add(e)}settled(){return(ye(this,g0)??bn(this,g0,Ik())).promise}static ensure(){if(on===null){const e=on=new $v;!sC&&!lg&&_c(()=>{ye(e,d0)||e.flush()})}return on}apply(){{lo=null;return}}schedule(e){var n;if(x1=e,(n=e.b)!=null&&n.is_pending&&(e.f&(O0|ob|Pk))!==0&&(e.f&df)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if($h!==null&&t===Wn&&(On===null||(On.f&go)===0))return;if((i&(Wc|aa))!==0){if((i&to)===0)return;t.f^=to}}ye(this,zo).push(t)}};d0=new WeakMap,ac=new WeakMap,Dd=new WeakMap,u0=new WeakMap,h0=new WeakMap,f0=new WeakMap,al=new WeakMap,g0=new WeakMap,zo=new WeakMap,pp=new WeakMap,ll=new WeakMap,Zr=new WeakMap,ka=new WeakMap,p0=new WeakMap,Ad=new WeakMap,ds=new WeakSet,m1=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},$f=function(){var d,u,f,g;bn(this,d0,!0),a8++>1e3&&(es(this,ds,Uf).call(this),vI());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,zo);bn(this,zo,[]),this.apply();var t=$h=[],i=[],n=em=[];for(const p of e)try{es(this,ds,v1).call(this,p,t,i)}catch(C){throw Kk(p),es(this,ds,m1).call(this)||this.discard(),C}if(on=null,n.length>0){var s=$v.ensure();for(const p of n)s.schedule(p)}if($h=null,em=null,es(this,ds,m1).call(this)){es(this,ds,Th).call(this,i),es(this,ds,Th).call(this,t);for(const[p,C]of ye(this,ka))Gk(p,C);n.length>0&&es(d=on,ds,$f).call(d);return}const r=es(this,ds,$k).call(this);if(r){es(this,ds,Th).call(this,i),es(this,ds,Th).call(this,t),es(u=r,ds,Uk).call(u,this);return}ye(this,ll).clear(),ye(this,Zr).clear();for(const p of ye(this,u0))p(this);ye(this,u0).clear(),ag=this,l8(i),l8(t),ag=null,(f=ye(this,g0))==null||f.resolve();var a=on;if(ye(this,f0)===0&&(ye(this,zo).length===0||a!==null)&&es(this,ds,Uf).call(this),ye(this,zo).length>0)if(a!==null){const p=a;ye(p,zo).push(...ye(this,zo).filter(C=>!ye(p,zo).includes(C)))}else a=this;a!==null&&es(g=a,ds,$f).call(g)},v1=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&O0)!==0?t.push(n):Hp(n)&&((s&oa)!==0&&ye(this,Zr).add(n),V0(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}}},$k=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},Uk=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&go)!==0)t(d);else{var a=d;r&(r0|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()),es(i=e,ds,Uf).call(i),on=this,es(this,ds,$f).call(this)},Th=function(e){for(var t=0;t<e.length;t+=1)jk(e[t],ye(this,ll),ye(this,Zr))},xI=function(){var f;for(let g=nC;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,d0)){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,p0))g.unskip_effect(p,C=>{var b;(C.f&(oa|r0))!==0?g.schedule(C):es(b=g,ds,Th).call(b,[C])});g.activate();var s=new Set,r=new Map;for(var a of t)qk(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,pp))(p.f&(Mr|To|Im))===0&&i9(p,d,r)&&((p.f&(r0|oa))!==0?(Hs(p,so),g.schedule(p)):ye(g,ll).add(p));if(ye(g,zo).length>0&&!ye(g,Ad)){g.apply();for(var u of ye(g,zo))es(f=g,ds,v1).call(f,u,[],[]);bn(g,zo,[])}g.deactivate()}}}},Uf=function(){if(this.linked){var e=ye(this,ac),t=ye(this,Dd);e===null?nC=t:bn(e,Dd,t),t===null?vh=e:bn(t,ac,e),this.linked=!1}};let Lu=$v;function mI(o){var e=lg;lg=!0;try{for(var t;;){if(hI(),on===null)return t;on.flush()}}finally{lg=e}}function vI(){try{j7()}catch(o){uc(o,x1)}}let qr=null;function l8(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(Mr|To))===0&&Hp(i)&&(qr=new Set,V0(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&c6(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&&V0(d)}}qr.clear()}}qr=null}}function qk(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&go)!==0?qk(n,e,t,i):(s&(r0|oa))!==0&&(s&so)===0&&i9(n,e,i)&&(Hs(n,so),n9(n))}}function i9(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(Lm.call(e,n))return!0;if((n.f&go)!==0&&i9(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function n9(o){on.schedule(o)}function Gk(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;)Gk(t,e),t=t.next}}function Kk(o){Hs(o,to);for(var e=o.first;e!==null;)Kk(e),e=e.next}function _I(o){let e=0,t=Iu(0),i;return()=>{a9()&&(c(t),lb(()=>(e===0&&(i=Hl(()=>o(()=>cg(t)))),e+=1,()=>{_c(()=>{e-=1,e===0&&(i==null||i(),i=void 0,cg(t))})})))}}var bI=H0|uf;function CI(o,e,t,i){new EI(o,e,t,i)}var Sr,ww,Dr,kd,Vo,Ar,Fo,or,cl,Bd,lc,x0,xp,mp,dl,Uv,Ws,yI,wI,SI,_1,tm,im,b1,C1;class EI{constructor(e,t,i,n){_n(this,Ws);kn(this,"parent");kn(this,"is_pending",!1);kn(this,"transform_error");_n(this,Sr);_n(this,ww,null);_n(this,Dr);_n(this,kd);_n(this,Vo);_n(this,Ar,null);_n(this,Fo,null);_n(this,or,null);_n(this,cl,null);_n(this,Bd,0);_n(this,lc,0);_n(this,x0,!1);_n(this,xp,new Set);_n(this,mp,new Set);_n(this,dl,null);_n(this,Uv,_I(()=>(bn(this,dl,Iu(ye(this,Bd))),()=>{bn(this,dl,null)})));var s;bn(this,Sr,e),bn(this,Dr,t),bn(this,kd,r=>{var a=Wn;a.b=this,a.f|=h1,i(r)}),this.parent=Wn.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),bn(this,Vo,d9(()=>{es(this,Ws,_1).call(this)},bI))}defer_effect(e){jk(e,ye(this,xp),ye(this,mp))}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){es(this,Ws,b1).call(this,e,t),bn(this,Bd,ye(this,Bd)+e),!(!ye(this,dl)||ye(this,x0))&&(bn(this,x0,!0),_c(()=>{bn(this,x0,!1),ye(this,dl)&&z0(ye(this,dl),ye(this,Bd))}))}get_effect_pending(){return ye(this,Uv).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,or)&&on.skip_effect(ye(this,or)),on.oncommit(()=>{es(this,Ws,C1).call(this,e)})):es(this,Ws,C1).call(this,e)}}Sr=new WeakMap,ww=new WeakMap,Dr=new WeakMap,kd=new WeakMap,Vo=new WeakMap,Ar=new WeakMap,Fo=new WeakMap,or=new WeakMap,cl=new WeakMap,Bd=new WeakMap,lc=new WeakMap,x0=new WeakMap,xp=new WeakMap,mp=new WeakMap,dl=new WeakMap,Uv=new WeakMap,Ws=new WeakSet,yI=function(){try{bn(this,Ar,kr(()=>ye(this,kd).call(this,ye(this,Sr))))}catch(e){this.error(e)}},wI=function(e){const t=ye(this,Dr).failed;t&&bn(this,or,kr(()=>{t(ye(this,Sr),()=>e,()=>()=>{})}))},SI=function(){const e=ye(this,Dr).pending;e&&(this.is_pending=!0,bn(this,Fo,kr(()=>e(ye(this,Sr)))),_c(()=>{var t=bn(this,cl,document.createDocumentFragment()),i=bl();t.append(i),bn(this,Ar,es(this,Ws,im).call(this,()=>kr(()=>ye(this,kd).call(this,i)))),ye(this,lc)===0&&(ye(this,Sr).before(t),bn(this,cl,null),Nd(ye(this,Fo),()=>{bn(this,Fo,null)}),es(this,Ws,tm).call(this,on))}))},_1=function(){try{if(this.is_pending=this.has_pending_snippet(),bn(this,lc,0),bn(this,Bd,0),bn(this,Ar,kr(()=>{ye(this,kd).call(this,ye(this,Sr))})),ye(this,lc)>0){var e=bn(this,cl,document.createDocumentFragment());h9(ye(this,Ar),e);const t=ye(this,Dr).pending;bn(this,Fo,kr(()=>t(ye(this,Sr))))}else es(this,Ws,tm).call(this,on)}catch(t){this.error(t)}},tm=function(e){this.is_pending=!1,e.transfer_effects(ye(this,xp),ye(this,mp))},im=function(e){var t=Wn,i=On,n=fo;Ga(ye(this,Vo)),Or(ye(this,Vo)),W0(ye(this,Vo).ctx);try{return Lu.ensure(),e()}catch(s){return zk(s),null}finally{Ga(t),Or(i),W0(n)}},b1=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&es(i=this.parent,Ws,b1).call(i,e,t);return}bn(this,lc,ye(this,lc)+e),ye(this,lc)===0&&(es(this,Ws,tm).call(this,t),ye(this,Fo)&&Nd(ye(this,Fo),()=>{bn(this,Fo,null)}),ye(this,cl)&&(ye(this,Sr).before(ye(this,cl)),bn(this,cl,null)))},C1=function(e){ye(this,Ar)&&(Yo(ye(this,Ar)),bn(this,Ar,null)),ye(this,Fo)&&(Yo(ye(this,Fo)),bn(this,Fo,null)),ye(this,or)&&(Yo(ye(this,or)),bn(this,or,null));var t=ye(this,Dr).onerror;let i=ye(this,Dr).failed;var n=!1,s=!1;const r=()=>{if(n){cI();return}n=!0,s&&K7(),ye(this,or)!==null&&Nd(ye(this,or),()=>{bn(this,or,null)}),es(this,Ws,im).call(this,()=>{es(this,Ws,_1).call(this)})},a=d=>{try{s=!0,t==null||t(d,r),s=!1}catch(u){uc(u,ye(this,Vo)&&ye(this,Vo).parent)}i&&bn(this,or,es(this,Ws,im).call(this,()=>{try{return kr(()=>{var u=Wn;u.b=this,u.f|=h1,i(ye(this,Sr),()=>d,()=>r)})}catch(u){return uc(u,ye(this,Vo).parent),null}}))};_c(()=>{var d;try{d=this.transform_error(e)}catch(u){uc(u,ye(this,Vo)&&ye(this,Vo).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(a,u=>uc(u,ye(this,Vo)&&ye(this,Vo).parent)):a(d)})};function DI(o,e,t,i){const n=Ng;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=Wn,a=AI(),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)}Tm()}}var f=Zk();if(t.length===0){d.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>kI(p))).then(p=>u([...e.map(n),...p])).catch(p=>uc(p,r)).finally(f)}d?d.then(()=>{a(),g(),Tm()}):g()}function AI(){var o=Wn,e=On,t=fo,i=on;return function(s=!0){Ga(o),Or(e),W0(t),s&&(o.f&Mr)===0&&(i==null||i.activate(),i==null||i.apply())}}function Tm(o=!0){Ga(null),Or(null),W0(null),o&&(on==null||on.deactivate())}function Zk(){var o=Wn,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 Ng(o){var e=go|so;return Wn!==null&&(Wn.f|=uf),{ctx:fo,deps:null,effects:null,equals:Nk,f:e,fn:o,reactions:null,rv:0,v:Js,wv:0,parent:Wn,ac:null}}const xx=Symbol("obsolete");function kI(o,e,t){let i=Wn;i===null&&O7();var n=void 0,s=Iu(Js),r=!On,a=new Set;return WI(()=>{var C,b;var d=Wn,u=Ik();n=u.promise;try{Promise.resolve(o()).then(u.resolve,y=>{y!==rb&&u.reject(y)}).finally(Tm)}catch(y){u.reject(y),Tm()}var f=on;if(r){if((d.f&df)!==0)var g=Zk();if((C=i.b)!=null&&C.is_rendered())(b=f.async_deriveds.get(d))==null||b.reject(xx);else for(const y of a.values())y.reject(xx);a.add(u),f.async_deriveds.set(d,u)}const p=(y,w=void 0)=>{g==null||g(),a.delete(u),w!==xx&&(f.activate(),w?(s.f|=vc,z0(s,w)):((s.f&vc)!==0&&(s.f^=vc),z0(s,y)),f.deactivate())};u.promise.then(p,y=>p(null,y||"unknown"))}),l9(()=>{for(const d of a)d.reject(xx)}),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=Ng(o);return h6(e),e}function s9(o){const e=Ng(o);return e.equals=Ok,e}function BI(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Yo(e[t])}}function o9(o){var e,t=Wn,i=o.parent;if(!kl&&i!==null&&o.v!==Js&&(i.f&(Mr|To))!==0)return aI(),o.v;Ga(i);try{o.f&=~Fu,BI(o),e=x6(o)}finally{Ga(t)}return e}function Xk(o){var e=o9(o);if(!o.equals(e)&&(o.wv=g6(),(!(on!=null&&on.is_fork)||o.deps===null)&&(on!==null?(on.capture(o,e,!0),ag==null||ag.capture(o,e,!0)):o.v=e,o.deps===null))){Hs(o,to);return}kl||(lo!==null?(a9()||on!=null&&on.is_fork)&&lo.set(o,e):t9(o))}function FI(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(rb),i.fn!==null&&(i.teardown=sb),i.ac=null,Og(i,0),u9(i))}function Yk(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&V0(e)}let Mm=new Set;const Md=new Map;let Qk=!1;function Iu(o,e){var t={f:0,v:o,reactions:null,equals:Nk,rv:0,wv:0};return t}function F(o,e){const t=Iu(o);return h6(t),t}function LI(o,e=!1,t=!0){const i=Iu(o);return e||(i.equals=Ok),i}function m(o,e,t=!1){On!==null&&(!ra||(On.f&Im)!==0)&&Hk()&&(On.f&(go|oa|r0|Im))!==0&&(Va===null||!Va.has(o))&&G7();let i=t?Li(e):e;return z0(o,i,em)}function z0(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&go)!==0){const n=o;(o.f&so)!==0&&o9(n),lo===null&&t9(n)}o.wv=g6(),Jk(o,so,t),Wn!==null&&(Wn.f&to)!==0&&(Wn.f&(aa|Wc))===0&&(wr===null?VI([o]):wr.push(o)),!i.is_fork&&Mm.size>0&&!Qk&&II()}return e}function II(){Qk=!1;for(const o of Mm){(o.f&to)!==0&&Hs(o,qa);let e;try{e=Hp(o)}catch{e=!0}e&&V0(o)}Mm.clear()}function c8(o,e=1){var t=c(o),i=e===1?t++:t--;return m(o,t),i}function cg(o){m(o,o.v+1)}function Jk(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&Im)!==0)Mm.add(r);else if((a&go)!==0){var u=r;lo==null||lo.delete(u),(a&Fu)===0&&(a&Tr&&(Wn===null||(Wn.f&Pm)===0)&&(r.f|=Fu),Jk(u,qa,t))}else if(d){var f=r;(a&oa)!==0&&qr!==null&&qr.add(f),t!==null?t.push(f):n9(f)}}}function Li(o){if(typeof o!="object"||o===null||Td in o)return o;const e=Lk(o);if(e!==B7&&e!==F7)return o;var t=new Map,i=e9(o),n=F(0),s=Od,r=a=>{if(Od===s)return a();var d=On,u=Od;Or(null),f8(s);var f=a();return Or(d),f8(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)&&U7();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),cg(n)}}else m(u,Js),cg(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=o0(a,d))!=null&&C.writable)&&(f=r(()=>{var b=Li(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||Wn!==null&&(!f||(p=o0(a,d))!=null&&p.writable)){u===void 0&&(u=r(()=>{var C=f?Li(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=o0(a,d))!=null&&M.writable)&&(g=r(()=>F(void 0)),m(g,Li(u)),t.set(d,g));else{p=g.v!==Js;var y=r(()=>Li(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)}cg(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(){q7()}})}function d8(o){try{if(o!==null&&typeof o=="object"&&Td in o)return o[Td]}catch{}return o}function PI(o,e){return Object.is(d8(o),d8(e))}var Rd,e6,t6,i6,n6;function TI(){if(Rd===void 0){Rd=window,e6=document,t6=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;i6=o0(e,"firstChild").get,n6=o0(e,"nextSibling").get,o8(o)&&(o[g1]=void 0,o[Qx]=null,o[p1]=void 0,o.__e=void 0),o8(t)&&(t[jf]=void 0)}}function bl(o=""){return document.createTextNode(o)}function Na(o){return i6.call(o)}function Op(o){return n6.call(o)}function _(o,e){return Na(o)}function Et(o,e=!1){{var t=Na(o);return t instanceof Comment&&t.data===""?Op(t):t}}function v(o,e=1,t=!1){let i=o;for(;e--;)i=Op(i);return i}function MI(o){o.textContent=""}function s6(){return!1}function o6(o,e,t){return e==null||e===Rk?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let u8=!1;function RI(){u8||(u8=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[Jx])==null||e.call(t)})},{capture:!0}))}function ab(o){var e=On,t=Wn;Or(null),Ga(null);try{return o()}finally{Or(e),Ga(t)}}function r9(o,e,t,i=t){o.addEventListener(e,()=>ab(t));const n=o[Jx];n?o[Jx]=()=>{n(),i(!0)}:o[Jx]=()=>i(!0),RI()}function NI(o){Wn===null&&(On===null&&V7(),z7()),kl&&W7()}function OI(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=Wn;t!==null&&(t.f&To)!==0&&(o|=To);var i={ctx:fo,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&O0)!==0)$h!==null?$h.push(i):Lu.ensure().schedule(i);else if(e!==null){try{V0(i)}catch(r){throw Yo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&uf)===0&&(n=n.first,(o&oa)!==0&&(o&H0)!==0&&n!==null&&(n.f|=H0))}if(n!==null&&(n.parent=t,t!==null&&OI(n,t),On!==null&&(On.f&go)!==0&&(o&Wc)===0)){var s=On;(s.effects??(s.effects=[])).push(n)}return i}function a9(){return On!==null&&!ra}function l9(o){const e=Ol(ob,null);return Hs(e,to),e.teardown=o,e}function Kn(o){NI();var e=Wn.f,t=!On&&(e&aa)!==0&&fo!==null&&!fo.i;if(t){var i=fo;(i.e??(i.e=[])).push(o)}else return r6(o)}function r6(o){return Ol(O0|T7,o)}function HI(o){Lu.ensure();const e=Ol(Wc|uf,o);return(t={})=>new Promise(i=>{t.outro?Nd(e,()=>{Yo(e),i(void 0)}):(Yo(e),i(void 0))})}function c9(o){return Ol(O0,o)}function WI(o){return Ol(r0|uf,o)}function lb(o,e=0){return Ol(ob|e,o)}function j(o,e=[],t=[],i=[]){DI(i,e,t,n=>{Ol(ob,()=>o(...n.map(c)))})}function d9(o,e=0){var t=Ol(oa|e,o);return t}function kr(o){return Ol(aa|uf,o)}function a6(o){var e=o.teardown;if(e!==null){const t=kl,i=On;h8(!0),Or(null);try{e.call(null)}finally{h8(t),Or(i)}}}function u9(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&ab(()=>{n.abort(rb)});var i=t.next;(t.f&Wc)!==0?t.parent=null:Yo(t,e),t=i}}function zI(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&aa)===0&&Yo(e),e=t}}function Yo(o,e=!0){var t=!1;(e||(o.f&P7)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(l6(o.nodes.start,o.nodes.end),t=!0),Hs(o,f1),u9(o,e&&!t),Og(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();a6(o),o.f^=f1,o.f|=Mr;var n=o.parent;n!==null&&n.first!==null&&c6(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function l6(o,e){for(;o!==null;){var t=o===e?null:Op(o);o.remove(),o=t}}function c6(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=[];d6(o,i,!0);var n=()=>{t&&Yo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function d6(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&H0)!==0||(n.f&aa)!==0&&(o.f&oa)!==0;d6(n,e,r?t:!1)}n=s}}}function Rm(o){u6(o,!0)}function u6(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&H0)!==0||(t.f&aa)!==0;u6(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 h9(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:Op(t);e.append(t),t=n}}let nm=!1,kl=!1;function h8(o){kl=o}let On=null,ra=!1;function Or(o){On=o}let Wn=null;function Ga(o){Wn=o}let Va=null;function h6(o){On!==null&&(Va??(Va=new Set)).add(o)}let jo=null,nr=0,wr=null;function VI(o){wr=o}let f6=1,yd=0,Od=yd;function f8(o){Od=o}function g6(){return++f6}function Hp(o){var e=o.f;if((e&so)!==0)return!0;if(e&go&&(o.f&=~Fu),(e&qa)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(Hp(s)&&Xk(s),s.wv>o.wv)return!0}(e&Tr)!==0&&lo===null&&Hs(o,to)}return!1}function p6(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&go)!==0?p6(s,e,!1):e===s&&(t?Hs(s,so):(s.f&to)!==0&&Hs(s,qa),n9(s))}}function x6(o){var y;var e=jo,t=nr,i=wr,n=On,s=Va,r=fo,a=ra,d=Od,u=o.f;jo=null,nr=0,wr=null,On=(u&(aa|Wc))===0?o:null,Va=null,W0(o.ctx),ra=!1,Od=++yd,o.ac!==null&&(ab(()=>{o.ac.abort(rb)}),o.ac=null);try{o.f|=Pm;var f=o.fn,g=f();o.f|=df;var p=o.deps,C=on==null?void 0:on.is_fork;if(jo!==null){var b;if(C||Og(o,nr),p!==null&&nr>0)for(p.length=nr+jo.length,b=0;b<jo.length;b++)p[nr+b]=jo[b];else o.deps=p=jo;if(a9()&&(o.f&Tr)!==0)for(b=nr;b<p.length;b++)((y=p[b]).reactions??(y.reactions=[])).push(o)}else!C&&p!==null&&nr<p.length&&(Og(o,nr),p.length=nr);if(Hk()&&wr!==null&&!ra&&p!==null&&(o.f&(go|qa|so))===0)for(b=0;b<wr.length;b++)p6(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 zk(w)}finally{o.f^=Pm,jo=e,nr=t,wr=i,On=n,Va=s,W0(r),ra=a,Od=d}}function jI(o,e){let t=e.reactions;if(t!==null){var i=D7.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&go)!==0&&(jo===null||!Lm.call(jo,e))){var s=e;(s.f&Tr)!==0&&(s.f^=Tr,s.f&=~Fu),s.v!==Js&&t9(s),FI(s),Og(s,0)}}function Og(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)jI(o,t[i])}function V0(o){var e=o.f;if((e&Mr)===0){Hs(o,to);var t=Wn,i=nm;Wn=o,nm=!0;try{(e&(oa|Pk))!==0?zI(o):u9(o),a6(o);var n=x6(o);o.teardown=typeof n=="function"?n:null,o.wv=f6;var s;Fk&&uI&&(o.f&so)!==0&&o.deps}finally{nm=i,Wn=t}}}async function hl(){await Promise.resolve(),mI()}function c(o){var e=o.f,t=(e&go)!==0;if(On!==null&&!ra){var i=Wn!==null&&(Wn.f&Mr)!==0;if(!i&&(Va===null||!Va.has(o))){var n=On.deps;if((On.f&Pm)!==0)o.rv<yd&&(o.rv=yd,jo===null&&n!==null&&n[nr]===o?nr++:jo===null?jo=[o]:jo.push(o));else{On.deps??(On.deps=[]),Lm.call(On.deps,o)||On.deps.push(o);var s=o.reactions;s===null?o.reactions=[On]:Lm.call(s,On)||s.push(On)}}}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||v6(r))&&(a=o9(r)),Md.set(r,a),a}var d=(r.f&Tr)===0&&!ra&&On!==null&&(nm||(On.f&Tr)!==0),u=(r.f&df)===0;Hp(r)&&(d&&(r.f|=Tr),Xk(r)),d&&!u&&(Yk(r),m6(r))}if(lo!=null&&lo.has(o))return lo.get(o);if((o.f&vc)!==0)throw o.v;return o.v}function m6(o){if(o.f|=Tr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&go)!==0&&(e.f&Tr)===0&&(Yk(e),m6(e))}function v6(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&go)!==0&&v6(e))return!0;return!1}function Hl(o){var e=ra;try{return ra=!0,o()}finally{ra=e}}const $I=["touchstart","touchmove"];function UI(o){return $I.includes(o)}const wd=Symbol("events"),_6=new Set,E1=new Set;function qI(o,e,t,i={}){function n(s){if(i.capture||y1.call(e,s),!s.cancelBubble)return ab(()=>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=qI(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&l9(()=>{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++)_6.add(o[e]);for(var t of E1)t(o)}let g8=null;function y1(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;g8=o;var r=0,a=g8===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){A7(o,"currentTarget",{configurable:!0,get(){return s||t}});var f=On,g=Wn;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 J2;const oC=((J2=globalThis==null?void 0:globalThis.window)==null?void 0:J2.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function GI(o){return(oC==null?void 0:oC.createHTML(o))??o}function b6(o){var e=o6("template");return e.innerHTML=GI(o.replaceAll("<!>","<!---->")),e.content}function Pu(o,e){var t=Wn;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function B(o,e){var t=(e&nI)!==0,i=(e&sI)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=b6(s?o:"<!>"+o),t||(n=Na(n)));var r=i||t6?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 KI(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=b6(n),a=Na(r);s=Na(a)}var d=s.cloneNode(!0);return Pu(d,d),d}}function C6(o,e){return KI(o,e,"svg")}function Co(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[jf]??(o[jf]=o.nodeValue))&&(o[jf]=t,o.nodeValue=`${t}`)}function ZI(o,e){return XI(o,e)}const mx=new Map;function XI(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){TI();var d=void 0,u=HI(()=>{var f=t??e.appendChild(bl());CI(f,{pending:()=>{}},C=>{js({});var b=fo;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=UI(y);for(const M of[e,document]){var A=mx.get(M);A===void 0&&(A=new Map,mx.set(M,A));var P=A.get(y);P===void 0?(M.addEventListener(y,y1,{passive:w}),A.set(y,1)):A.set(y,P+1)}}}};return p(nb(_6)),E1.add(p),()=>{var w;for(var C of g)for(const A of[e,document]){var b=mx.get(A),y=b.get(C);--y==0?(A.removeEventListener(C,y1),b.delete(C),b.size===0&&mx.delete(A)):b.set(C,y)}E1.delete(p),f!==t&&((w=f.parentNode)==null||w.removeChild(f))}});return YI.set(d,u),d}let YI=new WeakMap;var Xr,Ba,rr,Fd,vp,_p,qv;class QI{constructor(e,t=!0){kn(this,"anchor");_n(this,Xr,new Map);_n(this,Ba,new Map);_n(this,rr,new Map);_n(this,Fd,new Set);_n(this,vp,!0);_n(this,_p,e=>{if(ye(this,Xr).has(e)){var t=ye(this,Xr).get(e),i=ye(this,Ba).get(t);if(i)Rm(i),ye(this,Fd).delete(t);else{var n=ye(this,rr).get(t);n&&(Rm(n.effect),ye(this,Ba).set(t,n.effect),ye(this,rr).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,rr).get(r);a&&(Yo(a.effect),ye(this,rr).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();h9(r,u),u.append(bl()),ye(this,rr).set(s,{effect:r,fragment:u})}else Yo(r);ye(this,Fd).delete(s),ye(this,Ba).delete(s)};ye(this,vp)||!i?(ye(this,Fd).add(s),Nd(r,a,!1)):a()}}});_n(this,qv,e=>{ye(this,Xr).delete(e);const t=Array.from(ye(this,Xr).values());for(const[i,n]of ye(this,rr))t.includes(i)||(Yo(n.effect),ye(this,rr).delete(i))});this.anchor=e,bn(this,vp,t)}ensure(e,t){var i=on,n=s6();if(t&&!ye(this,Ba).has(e)&&!ye(this,rr).has(e))if(n){var s=document.createDocumentFragment(),r=bl();s.append(r),ye(this,rr).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,rr))a===e?i.unskip_effect(d.effect):i.skip_effect(d.effect);i.oncommit(ye(this,_p)),i.ondiscard(ye(this,qv))}else ye(this,_p).call(this,i)}}Xr=new WeakMap,Ba=new WeakMap,rr=new WeakMap,Fd=new WeakMap,vp=new WeakMap,_p=new WeakMap,qv=new WeakMap;function z(o,e,t=!1){var i=new QI(o),n=t?H0:0;function s(r,a){i.ensure(r,a)}d9(()=>{var r=!1;e((a,d=0)=>{r=!0,s(d,a)}),r||s(-1,null)},n)}function Hi(o,e){return e}function JI(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;w1(o,nb(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;MI(f),f.append(u),o.items.clear()}w1(o,e,!d)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function w1(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();h9(s,r)}else Yo(e[n],t)}}var p8;function ti(o,e,t,i,n,s=null){var r=o,a=new Map,d=(e&Mk)!==0;if(d){var u=o;r=u.appendChild(bl())}var f=null,g=s9(()=>{var M=t();return e9(M)?M:M==null?[]:nb(M)}),p,C=new Map,b=!0;function y(M){(P.effect.f&Mr)===0&&(P.pending.delete(M),P.fallback=f,eP(P,p,r,e,i),f!==null&&(p.length===0?(f.f&Ra)===0?Rm(f):(f.f^=Ra,qf(f,null,r)):Nd(f,()=>{f=null})))}function w(M){P.pending.delete(M)}var A=d9(()=>{p=c(g);for(var M=p.length,R=new Set,T=on,V=s6(),H=0;H<M;H+=1){var X=p[H],se=i(X,H),he=b?null:a.get(se);he?(he.v&&z0(he.v,X),he.i&&z0(he.i,H),V&&T.unskip_effect(he.e)):(he=tP(a,b?r:p8??(p8=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(p8??(p8=bl()))),f.f|=Ra)),M>R.size&&H7(),!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 Pf(o){for(;o!==null&&(o.f&aa)===0;)o=o.next;return o}function eP(o,e,t,i,n){var he,J,de,we,re,ae,De,Pe,xe;var s=(i&Y7)!==0,r=e.length,a=o.items,d=Pf(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 Ve of o.outrogroups)Ve.pending.delete(w),Ve.done.delete(w);if((w.f&To)!==0&&(Rm(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)qf(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),qf(w,P,t),f=w,p=[],C=[],d=Pf(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)qf(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),qf(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=Pf(d.next);if(d===null)continue}(w.f&Ra)===0&&p.push(w),f=w,d=Pf(w.next)}if(o.outrogroups!==null){for(const Ve of o.outrogroups)Ve.pending.size===0&&(w1(o,nb(Ve.done)),(re=o.outrogroups)==null||re.delete(Ve));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=Pf(d.next);var X=H.length;if(X>0){var se=(i&Mk)!==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()}JI(o,H,se)}}s&&_c(()=>{var Ve,ze;if(g!==void 0)for(w of g)(ze=(Ve=w.nodes)==null?void 0:Ve.a)==null||ze.apply()})}function tP(o,e,t,i,n,s,r,a){var d=(r&Z7)!==0?(r&Q7)===0?LI(t,!1,!1):Iu(t):null,u=(r&X7)!==0?Iu(n):null;return{v:d,i:u,e:kr(()=>(s(e,d??t,u??n,a),()=>{o.delete(i)}))}}function qf(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=Op(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=Wn;if(a!==(a=e()??"")){if(t){u.nodes=null,d.innerHTML=a,a!==""&&Pu(Na(d),d.lastChild);return}if(u.nodes!==null&&(l6(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?oI:n?rI:void 0,g=o6(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 E6(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=E6(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function iP(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=E6(o))&&(i&&(i+=" "),i+=e);return i}function dg(o){return typeof o=="object"?iP(o):o??""}const x8=[...`
3
+ \r\f \v\uFEFF`];function nP(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||x8.includes(i[r-1]))&&(a===i.length||x8.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function m8(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 rC(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function sP(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(rC)),n&&d.push(...Object.keys(n).map(rC));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=rC(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+=m8(i)),n&&(t+=m8(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[g1];if(r!==t||r===void 0){var a=nP(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[g1]=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 aC(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 Uo(o,e,t,i){var n=o[p1];if(n!==e){var s=sP(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[p1]=e}else i&&(Array.isArray(i)?(aC(o,t==null?void 0:t[0],i[0]),aC(o,t==null?void 0:t[1],i[1],"important")):aC(o,t,i));return i}function Nm(o,e,t=!1){if(o.multiple){if(e==null)return;if(!e9(e))return lI();for(var i of o.options)i.selected=e.includes(ug(i));return}for(i of o.options){var n=ug(i);if(PI(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function S1(o){var e=new MutationObserver(()=>{Nm(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),l9(()=>{e.disconnect()})}function Fs(o,e,t=e){var i=new WeakSet,n=!0;r9(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),ug);else{var d=o.querySelector(r)??o.querySelector("option:not([disabled])");a=d&&ug(d)}t(a),o.__value=a,on!==null&&i.add(on)}),c9(()=>{var s=e();if(o===document.activeElement){var r=on;if(i.has(r))return}if(Nm(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=ug(a),t(s))}o.__value=s,n=!1}),S1(o)}function ug(o){return"__value"in o?o.__value:o.value}const oP=Symbol("is custom element"),rP=Symbol("is html"),aP=N7?"progress":"PROGRESS";function D1(o,e){var t=f9(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==aP)||(o.value=e??"")}function Ko(o,e){var t=f9(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function ln(o,e,t,i){var n=f9(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[R7]=t),t==null?o.removeAttribute(e):typeof t!="string"&&lP(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function f9(o){return o[Qx]??(o[Qx]={[oP]:o.nodeName.includes("-"),[rP]:o.namespaceURI===Rk})}var v8=new Map;function lP(o){var e=o.getAttribute("is")||o.nodeName,t=v8.get(e);if(t)return t;v8.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=k7(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=Lk(n)}return t}function Vt(o,e,t=e){var i=new WeakSet;r9(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=lC(o)?cC(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(lC(o)?cC(o.value):o.value),on!==null&&i.add(on)),lb(()=>{var n=e();if(o===document.activeElement){var s=on;if(i.has(s))return}lC(o)&&n===cC(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function ys(o,e,t=e){r9(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),Hl(e)==null&&t(o.checked),lb(()=>{var i=e();o.checked=!!i})}function lC(o){var e=o.type;return e==="number"||e==="range"}function cC(o){return o===""?null:+o}var cc,m0,bp,Gv,y6;const Kv=class Kv{constructor(e){_n(this,Gv);_n(this,cc,new WeakMap);_n(this,m0);_n(this,bp);bn(this,bp,e)}observe(e,t){var i=ye(this,cc).get(e)||new Set;return i.add(t),ye(this,cc).set(e,i),es(this,Gv,y6).call(this).observe(e,ye(this,bp)),()=>{var n=ye(this,cc).get(e);n.delete(t),n.size===0&&(ye(this,cc).delete(e),ye(this,m0).unobserve(e))}}};cc=new WeakMap,m0=new WeakMap,bp=new WeakMap,Gv=new WeakSet,y6=function(){return ye(this,m0)??bn(this,m0,new ResizeObserver(e=>{for(var t of e){Kv.entries.set(t.target,t);for(var i of ye(this,cc).get(t.target)||[])i(t)}}))},kn(Kv,"entries",new WeakMap);let A1=Kv;var cP=new A1({box:"border-box"});function dP(o,e,t){var i=cP.observe(o,()=>t(o[e]));c9(()=>(Hl(()=>t(o[e])),i))}function dC(o,e){return o===e||(o==null?void 0:o[Td])===e}function gs(o={},e,t,i){var n=fo.r,s=Wn;return c9(()=>{var r,a;return lb(()=>{r=a,a=[],Hl(()=>{dC(t(...a),o)||(e(o,...a),r&&dC(t(...r),o)&&e(null,...r))})}),()=>{let d=s;for(;d!==n&&d.parent!==null&&d.parent.f&f1;)d=d.parent;const u=()=>{a&&dC(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&tI)!==0,r=(t&iI)!==0,a=i,d=!0,u=void 0,f=()=>r&&n?(u??(u=Ng(i)),c(u)):(d&&(d=!1,a=r?Hl(i):i),a);let g;if(s){var p=Td in o||M7 in o;g=((R=o0(o,e))==null?void 0:R.set)??(p&&e in o?T=>o[e]=T:void 0)}var C,b=!1;s?[C,b]=gI(()=>o[e]):C=o[e],C===void 0&&i!==void 0&&(C=f(),g&&($7(),g(C)));var y;if(y=()=>{var T=o[e];return T===void 0?f():(d=!0,T)},(t&eI)===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&J7)!==0?Ng:s9)(()=>(A=!1,y()));s&&c(P);var M=Wn;return(function(T,V){if(arguments.length>0){const H=V?c(P):s?Li(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){fo===null&&Tk(),Kn(()=>{const e=Hl(o);if(typeof e=="function")return e})}function Wp(o){fo===null&&Tk(),Xs(()=>()=>Hl(o))}const uP="5";var eA;typeof window<"u"&&((eA=window.__svelte??(window.__svelte={})).v??(eA.v=new Set)).add(uP);/*!-----------------------------------------------------------------------------
4
+ * Copyright (c) Microsoft Corporation. All rights reserved.
5
+ * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
6
+ * Released under the MIT license
7
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
8
+ *-----------------------------------------------------------------------------*/var hP=Object.defineProperty,fP=Object.getOwnPropertyDescriptor,gP=Object.getOwnPropertyNames,pP=Object.prototype.hasOwnProperty,xP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of gP(e))!pP.call(o,n)&&n!==t&&hP(o,n,{get:()=>e[n],enumerable:!(i=fP(e,n))||i.enumerable});return o},mP=(o,e,t)=>(xP(o,e,"default"),t),zp={};mP(zp,iA);var vP=class{constructor(e,t,i){this._onDidChange=new zp.Emitter,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},_P={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},bP={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},w6=new vP("json",_P,bP),CP=()=>S6().then(o=>o.getWorker());zp.languages.json={jsonDefaults:w6,getWorker:CP};function S6(){return tA(()=>import("./jsonMode-tUihOf0o.js"),__vite__mapDeps([0,1,2]))}zp.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});zp.languages.onLanguage("json",()=>{S6().then(o=>o.setupMode(w6))});/*!-----------------------------------------------------------------------------
9
+ * Copyright (c) Microsoft Corporation. All rights reserved.
10
+ * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
11
+ * Released under the MIT license
12
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
13
+ *-----------------------------------------------------------------------------*/var EP=Object.defineProperty,yP=Object.getOwnPropertyDescriptor,wP=Object.getOwnPropertyNames,SP=Object.prototype.hasOwnProperty,DP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of wP(e))!SP.call(o,n)&&n!==t&&EP(o,n,{get:()=>e[n],enumerable:!(i=yP(e,n))||i.enumerable});return o},AP=(o,e,t)=>(DP(o,e,"default"),t),kP="5.4.5",j0={};AP(j0,iA);var D6=(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))(D6||{}),A6=(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))(A6||{}),k6=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(k6||{}),B6=(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))(B6||{}),F6=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(F6||{}),L6=class{constructor(o,e,t,i,n){this._onDidChange=new j0.Emitter,this._onDidExtraLibsChange=new j0.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)}},BP=kP,I6={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},P6=new L6({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},I6),T6=new L6({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},I6),FP=()=>cb().then(o=>o.getTypeScriptWorker()),LP=()=>cb().then(o=>o.getJavaScriptWorker());j0.languages.typescript={ModuleKind:D6,JsxEmit:A6,NewLineKind:k6,ScriptTarget:B6,ModuleResolutionKind:F6,typescriptVersion:BP,typescriptDefaults:P6,javascriptDefaults:T6,getTypeScriptWorker:FP,getJavaScriptWorker:LP};function cb(){return tA(()=>import("./tsMode-CXqG4FL-.js"),__vite__mapDeps([3,1,2]))}j0.languages.onLanguage("typescript",()=>cb().then(o=>o.setupTypeScript(P6)));j0.languages.onLanguage("javascript",()=>cb().then(o=>o.setupJavaScript(T6)));class IP extends Do{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Di("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Gi.map,toggled:$e.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:$e.has("isInDiffEditor"),menu:{when:$e.has("isInDiffEditor"),id:ri.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(ns),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class M6 extends Do{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Di("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:$e.has("isInDiffEditor")})}run(e,...t){const i=e.get(ns),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class R6 extends Do{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Di("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:$e.has("isInDiffEditor")})}run(e,...t){const i=e.get(ns),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const Vp=Di("diffEditor","Diff Editor");class PP extends la{constructor(){super({id:"diffEditor.switchSide",title:Di("switchSide","Switch Side"),icon:Gi.arrowSwap,precondition:$e.has("isInDiffEditor"),f1:!0,category:Vp})}runEditorCommand(e,t,i){const n=hf(e);if(n instanceof Cp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class TP extends la{constructor(){super({id:"diffEditor.exitCompareMove",title:Di("exitCompareMove","Exit Compare Move"),icon:Gi.close,precondition:q.comparingMovedCode,f1:!1,category:Vp,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=hf(e);n instanceof Cp&&n.exitCompareMove()}}class MP extends la{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Di("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Gi.fold,precondition:$e.has("isInDiffEditor"),f1:!0,category:Vp})}runEditorCommand(e,t,...i){const n=hf(e);n instanceof Cp&&n.collapseAllUnchangedRegions()}}class RP extends la{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Di("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Gi.unfold,precondition:$e.has("isInDiffEditor"),f1:!0,category:Vp})}runEditorCommand(e,t,...i){const n=hf(e);n instanceof Cp&&n.showAllUnchangedRegions()}}class k1 extends Do{constructor(){super({id:"diffEditor.revert",title:Di("revert","Revert"),f1:!1,category:Vp})}run(e,t){const i=NP(e,t.originalUri,t.modifiedUri);i instanceof Cp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const N6=Di("accessibleDiffViewer","Accessible Diff Viewer"),Zv=class Zv extends Do{constructor(){super({id:Zv.id,title:Di("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:N6,precondition:$e.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=hf(e);t==null||t.accessibleDiffViewerNext()}};Zv.id="editor.action.accessibleDiffViewer.next";let Hg=Zv;const Xv=class Xv extends Do{constructor(){super({id:Xv.id,title:Di("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:N6,precondition:$e.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=hf(e);t==null||t.accessibleDiffViewerPrev()}};Xv.id="editor.action.accessibleDiffViewer.prev";let Om=Xv;function NP(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 hf(o){const t=o.get(bs).listDiffEditors(),i=nA();if(i)for(const n of t){const s=n.getContainerDomNode();if(OP(s,i))return n}return null}function OP(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}zn(IP);zn(M6);zn(R6);Rr.appendMenuItem(ri.EditorTitle,{command:{id:new R6().desc.id,title:S("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:$e.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:$e.has("isInDiffEditor")},order:11,group:"1_diff",when:$e.and(q.diffEditorRenderSideBySideInlineBreakpointReached,$e.has("isInDiffEditor"))});Rr.appendMenuItem(ri.EditorTitle,{command:{id:new M6().desc.id,title:S("showMoves","Show Moved Code Blocks"),icon:Gi.move,toggled:qF.create("config.diffEditor.experimental.showMoves",!0),precondition:$e.has("isInDiffEditor")},order:10,group:"1_diff",when:$e.has("isInDiffEditor")});zn(k1);for(const o of[{icon:Gi.arrowRight,key:q.diffEditorInlineMode.toNegated()},{icon:Gi.discard,key:q.diffEditorInlineMode}])Rr.appendMenuItem(ri.DiffEditorHunkToolbar,{command:{id:new k1().desc.id,title:S("revertHunk","Revert Block"),icon:o.icon},when:$e.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Rr.appendMenuItem(ri.DiffEditorSelectionToolbar,{command:{id:new k1().desc.id,title:S("revertSelection","Revert Selection"),icon:o.icon},when:$e.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"});zn(PP);zn(TP);zn(MP);zn(RP);Rr.appendMenuItem(ri.EditorTitle,{command:{id:Hg.id,title:S("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:$e.has("isInDiffEditor")},order:10,group:"2_diff",when:$e.and(q.accessibleDiffViewerVisible.negate(),$e.has("isInDiffEditor"))});Qn.registerCommandAlias("editor.action.diffReview.next",Hg.id);zn(Hg);Qn.registerCommandAlias("editor.action.diffReview.prev",Om.id);zn(Om);var HP=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},WP=function(o,e){return function(t,i){e(t,i,o)}},B1;const db=new Cn("selectionAnchorSet",!1);var Vd;let zc=(Vd=class{static get(e){return e.getContribution(B1.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=db.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(ji.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new ao().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(ji.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()}},B1=Vd,Vd.ID="editor.contrib.selectionAnchorController",Vd);zc=B1=HP([WP(1,Fn)],zc);class zP extends bt{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 VP extends bt{constructor(){super({id:"editor.action.goToSelectionAnchor",label:S("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:db})}async run(e,t){var i;(i=zc.get(t))==null||i.goToSelectionAnchor()}}class jP extends bt{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:S("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:db,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2089),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.selectFromAnchorToCursor()}}class $P extends bt{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:S("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:db,kbOpts:{kbExpr:q.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.cancelSelectionAnchor()}}dn(zc.ID,zc,4);Be(zP);Be(VP);Be(jP);Be($P);const UP=pi("editorOverviewRuler.bracketMatchForeground","#A0A0A0",S("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class qP extends bt{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 GP extends bt{constructor(){super({id:"editor.action.selectToBracket",label:S("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Di("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 KP extends bt{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 ZP{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 ji(r.lineNumber,r.column,r.lineNumber,r.column):new ji(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 ji(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(Ai.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 ZP(C,b,y)}}this._lastBracketsData=a,this._lastVersionId=i}};ic.ID="editor.contrib.bracketMatchingController",ic._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=xn.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:Bs(UP),position:Ha.Center}}),ic._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=xn.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Mu=ic;dn(Mu.ID,Mu,1);Be(GP);Be(qP);Be(KP);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 XP{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 ji(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new ji(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class O6 extends bt{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 XP(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class YP extends O6{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:S("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:q.writable})}}class QP extends O6{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:S("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:q.writable})}}Be(YP);Be(QP);class JP extends bt{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():Xb.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=Xb.leftPosition(i,f),p=Xb.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 Ep(y,b+C))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}Be(JP);const ub=(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 g9(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function eT(o,e,t){const i={id:ub(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class H6{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"),z6(Hm(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 Hm(e)}}function Hm(o){return o.toLowerCase()}function W6(o,e){return z6(Hm(o),e.map(Hm))}function z6(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 hb=Object.freeze({create:o=>sA(o.map(e=>e.toString())).join(`\r
14
+ `),split:o=>o.split(`\r
15
+ `),parse:o=>hb.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 is=wa;const _8={EDITORS:"CodeEditors",FILES:"CodeFiles"};class tT{}const iT={DragAndDropContribution:"workbench.contributions.dragAndDrop"};ca.add(iT.DragAndDropContribution,new tT);const Eg=class Eg{constructor(){}static getInstance(){return Eg.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};Eg.INSTANCE=new Eg;let F1=Eg;function V6(o){const e=new H6;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,g9(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,nT(n))}}return e}function nT(o){const e=o.path?Vn.parse(o.path):void 0;return eT(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const sT=Object.freeze([_8.EDITORS,_8.FILES,YC.RESOURCES,YC.INTERNAL_URI_LIST]);function j6(o,e=!1){const t=V6(o),i=t.get(YC.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(Vn.file(a).toString()):n.push(Vn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Zs.uriList,g9(hb.create(n)))}for(const n of sT)t.delete(n);return t}var p9=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},Wg=function(o,e){return function(t,i){e(t,i,o)}};class x9{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 yg=class yg extends x9{constructor(){super(...arguments),this.kind=yg.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}}};yg.id="text",yg.kind=new is("text.plain");let Ru=yg;class $6 extends x9{constructor(){super(...arguments),this.kind=new is("uri.absolute"),this.dropMimeTypes=[Zs.uriList],this.pasteMimeTypes=[Zs.uriList]}async getEdit(e,t){const i=await U6(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:d})=>a.scheme===bo.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 Wm=class extends x9{constructor(e){super(),this._workspaceContextService=e,this.kind=new is("uri.relative"),this.dropMimeTypes=[Zs.uriList],this.pasteMimeTypes=[Zs.uriList]}async getEdit(e,t){const i=await U6(e);if(!i.length||t.isCancellationRequested)return;const n=yl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?GF(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}}};Wm=p9([Wg(0,k0)],Wm);class oT{constructor(){this.kind=new is("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Zs.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var d;if(n.triggerKind!==QC.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 U6(o){const e=o.get(Zs.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of hb.parse(t))try{i.push({uri:Vn.parse(n),originalText:n})}catch{}return i}let L1=class extends Nt{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new Ru)),this._register(e.documentDropEditProvider.register("*",new $6)),this._register(e.documentDropEditProvider.register("*",new Wm(t)))}};L1=p9([Wg(0,ki),Wg(1,k0)],L1);let I1=class extends Nt{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Ru)),this._register(e.documentPasteEditProvider.register("*",new $6)),this._register(e.documentPasteEditProvider.register("*",new Wm(t))),this._register(e.documentPasteEditProvider.register("*",new oT))}};I1=p9([Wg(0,ki),Wg(1,k0)],I1);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 P1=br;class ff{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 jp)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let Po=class q6 extends ff{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new q6(this.value)}};class G6 extends ff{}class dr extends G6{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 gf?this._children[0]:void 0}clone(){const e=new dr(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class gf extends ff{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 gf;return this.options.forEach(e.appendChild,e),e}}class m9 extends ff{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 m9;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 ff{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 zg extends G6{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 zg(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function b8(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class jp extends ff{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof dr&&(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 b8([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof dr&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof zg&&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 jp;return this._children=this.children.map(t=>t.clone()),e}walk(e){b8(this.children,e)}}class Nu{constructor(){this._scanner=new P1,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 jp;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 dr&&(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 dr(d.index);g.transform=d.transform;for(const p of f){const C=p.clone();g.appendChild(C),C instanceof dr&&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 dr(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 dr(Number(t)):new zg(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 dr(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 gf;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 zg(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 m9;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 K6(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 KF(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 Z6(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 rT=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},aT=function(o,e){return function(t,i){e(t,i,o)}};const lT=xn.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:oA,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Yv=class Yv 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=gi(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=gi("span.icon");this.domNode.append(t),t.classList.add(...Tn.asClassNameArray(Gi.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 Yv.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)}};Yv.baseId="editor.widget.inlineProgressWidget";let T1=Yv,zm=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 Qo),this._currentWidget=this._register(new Qo),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=Dg(()=>{const a=Q.fromPositions(e);this._currentDecorations.set([{range:a,options:lT}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(T1,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()}};zm=rT([aT(2,nn)],zm);var cT=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},C8=function(o,e){return function(t,i){e(t,i,o)}},sm,Cc;let Mo=(Cc=class{static get(e){return e.getContribution(sm.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Qo,this._messageListeners=new Tt,this._mouseOverMessage=!1,this._editor=e,this._visible=sm.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(Gx(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=Gx(e)?ZF(e,{actionHandler:{callback:n=>{this.closeMessage(),XF(this._openerService,n,Gx(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new E8(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&&YF(nA(),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(E8.fadeOut(this._messageWidget.value))}},sm=Cc,Cc.ID="editor.contrib.messageController",Cc.MESSAGE_VISIBLE=new Cn("messageVisible",!1,S("messageVisible","Whether the editor is currently showing an inline message")),Cc);Mo=sm=cT([C8(1,Fn),C8(2,da)],Mo);const dT=Ao.bindToContribution(Mo.get);Ii(new dT({id:"leaveEditorMessage",precondition:Mo.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let E8=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)}};dn(Mo.ID,Mo,4);function uC(o,e){return e&&(o.stack||o.stacktrace)?S("stackTrace.format","{0}: {1}",w8(o),y8(o.stack)||y8(o.stacktrace)):w8(o)}function y8(o){return Array.isArray(o)?o.join(`
16
+ `):o}function w8(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 Vm(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=Vm(t[0],e);return t.length>1?S("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(rA(o))return o;if(o.detail){const t=o.detail;if(t.error)return uC(t.error,e);if(t.exception)return uC(t.exception,e)}return o.stack?uC(o,e):o.message?o.message:S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var X6=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},a0=function(o,e){return function(t,i){e(t,i,o)}},M1,jd;let R1=(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(ts(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(ts((()=>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=gi(".post-edit-widget"),this.button=this._register(new QF(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Bn(this.domNode,as.CLICK,()=>this.showSelector()))}getId(){return M1.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)=>JF({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},M1=jd,jd.baseId="editor.widget.postEditWidget",jd);R1=M1=X6([a0(7,of),a0(8,Fn),a0(9,Ds)],R1);let jm=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 Qo),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}':
17
+ {1}`,a.title,Vm(w)))}if(s.isCancellationRequested)return;const g=K6(r.uri,e,f),p=e[0],C=r.deltaDecorations([],[{range:p,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let b,y;try{b=await this._bulkEditService.apply(g,{editor:this._editor,token:s}),y=r.getDecorationRange(C[0])}catch(w){return u(w,S("applyError",`Error applying edit '{0}':
18
+ {1}`,a.title,Vm(w)))}finally{r.deltaDecorations(C,[])}s.isCancellationRequested||i&&b.isApplied&&t.allEdits.length>1&&this.show(y??p,t,d)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(R1,this._id,this._editor,this._visibleContext,this._showCommand,e,t,i))}clear(){this._currentWidget.clear()}tryShowSelector(){var e;(e=this._currentWidget.value)==null||e.showSelector()}};jm=X6([a0(4,nn),a0(5,N_),a0(6,xo)],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},_h=function(o,e){return function(t,i){e(t,i,o)}},gd;const Y6="editor.changePasteType",v9=new Cn("pasteWidgetVisible",!1,S("pasteWidgetVisible","Whether the paste widget is showing")),hC="application/vnd.code.copyMetadata";var $d;let Bl=($d=class extends Nt{static get(e){return e.getContribution(gd.ID)}constructor(e,t,i,n,s,r,a){super(),this._bulkEditService=i,this._clipboardService=n,this._languageFeaturesService=s,this._quickInputService=r,this._progressService=a,this._editor=e;const d=e.getContainerDomNode();this._register(Bn(d,"copy",u=>this.handleCopy(u))),this._register(Bn(d,"cut",u=>this.handleCopy(u))),this._register(Bn(d,"paste",u=>this.handlePaste(u),!0)),this._pasteProgressManager=this._register(new zm("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(jm,"pasteIntoEditor",e,v9,{id:Y6,label:S("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},Sw().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){var y,w,A,P;if(!this._editor.hasTextFocus()||((w=(y=this._clipboardService).clearInternalState)==null||w.call(y),!e.clipboardData||!this.isPasteAsEnabled()))return;const t=this._editor.getModel(),i=this._editor.getSelections();if(!t||!(i!=null&&i.length))return;const n=this._editor.getOption(37);let s=i;const r=i.length===1&&i[0].isEmpty();if(r){if(!n)return;s=[new Q(s[0].startLineNumber,1,s[0].startLineNumber,1+t.getLineLength(s[0].startLineNumber))]}const a=(A=this._editor._getViewModel())==null?void 0:A.getPlainTextToCopy(i,n,O_),u={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:r,mode:null},f=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(M=>!!M.prepareDocumentPaste);if(!f.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:u});return}const g=V6(e.clipboardData),p=f.flatMap(M=>M.copyMimeTypes??[]),C=ub();this.setCopyMetadata(e.clipboardData,{id:C,providerCopyMimeTypes:p,defaultPastePayload:u});const b=Us(async M=>{const R=yl(await Promise.all(f.map(async T=>{try{return await T.prepareDocumentPaste(t,s,g,M)}catch(V){console.error(V);return}})));R.reverse();for(const T of R)for(const[V,H]of T)g.replace(V,H);return g});(P=gd._currentCopyOperation)==null||P.dataTransferPromise.cancel(),gd._currentCopyOperation={handle:C,dataTransferPromise:b}}async handlePaste(e){var d,u,f;if(!e.clipboardData||!this._editor.hasTextFocus())return;(d=Mo.get(this._editor))==null||d.closeMessage(),(u=this._currentPasteOperation)==null||u.cancel(),this._currentPasteOperation=void 0;const t=this._editor.getModel(),i=this._editor.getSelections();if(!(i!=null&&i.length)||!t||this._editor.getOption(92)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const n=this.fetchCopyMetadata(e),s=j6(e.clipboardData);s.delete(hC);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],Zs.uriList],a=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(g=>{var C,b;const p=(C=this._pasteAsActionContext)==null?void 0:C.preferred;return p&&g.providedPasteEditKinds&&!this.providerMatchesPreference(g,p)?!1:(b=g.pasteMimeTypes)==null?void 0:b.some(y=>W6(y,r))});if(!a.length){(f=this._pasteAsActionContext)!=null&&f.preferred&&this.showPasteAsNoEditMessage(i,this._pasteAsActionContext.preferred);return}e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,a,i,s,n):this.doPasteInline(a,i,s,n,e)}showPasteAsNoEditMessage(e,t){var i;(i=Mo.get(this._editor))==null||i.showMessage(S("pasteAsError","No paste edits for '{0}' found",t instanceof is?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new B0(r,3,void 0),d=Us(async u=>{const f=this._editor;if(!f.hasModel())return;const g=f.getModel(),p=new Tt,C=p.add(new qs(u));p.add(a.token.onCancellationRequested(()=>C.cancel()));const b=C.token;try{if(await this.mergeInDataFromCopy(i,n,b),b.isCancellationRequested)return;const y=e.filter(P=>this.isSupportedPasteProvider(P,i));if(!y.length||y.length===1&&y[0]instanceof Ru)return this.applyDefaultPasteHandler(i,n,b,s);const w={triggerKind:QC.Automatic},A=await this.getPasteEdits(y,i,g,t,w,b);if(p.add(A),b.isCancellationRequested)return;if(A.edits.length===1&&A.edits[0].provider instanceof Ru)return this.applyDefaultPasteHandler(i,n,b,s);if(A.edits.length){const P=f.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:A.edits},P,(M,R)=>new Promise((T,V)=>{(async()=>{var H,X;try{const se=(X=(H=M.provider).resolveDocumentPasteEdit)==null?void 0:X.call(H,M,R),he=new H_,J=se&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),S("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([he.p,se]),{cancel:()=>(he.cancel(),V(new W_))},0);return J&&(M.additionalEdit=J.additionalEdit),T(M)}catch(se){return V(se)}})()}),b)}await this.applyDefaultPasteHandler(i,n,b,s)}finally{p.dispose(),this._currentPasteOperation===d&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),S("pasteIntoEditorProgress","Running paste handlers. Click to cancel and do basic paste"),d,{cancel:async()=>{try{if(d.cancel(),a.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(i,n,a.token,s)}finally{a.dispose()}}}).then(()=>{a.dispose()}),this._currentPasteOperation=d}showPasteAsPick(e,t,i,n,s){const r=Us(async a=>{const d=this._editor;if(!d.hasModel())return;const u=d.getModel(),f=new Tt,g=f.add(new B0(d,3,void 0,a));try{if(await this.mergeInDataFromCopy(n,s,g.token),g.token.isCancellationRequested)return;let p=t.filter(A=>this.isSupportedPasteProvider(A,n,e));e&&(p=p.filter(A=>this.providerMatchesPreference(A,e)));const C={triggerKind:QC.PasteAs,only:e&&e instanceof is?e:void 0};let b=f.add(await this.getPasteEdits(p,n,u,i,C,g.token));if(g.token.isCancellationRequested)return;if(e&&(b={edits:b.edits.filter(A=>e instanceof is?e.contains(A.kind):e.providerId===A.provider.id),dispose:b.dispose}),!b.edits.length){C.only&&this.showPasteAsNoEditMessage(i,C.only);return}let y;if(e)y=b.edits.at(0);else{const A=await this._quickInputService.pick(b.edits.map(P=>{var M;return{label:P.title,description:(M=P.kind)==null?void 0:M.value,edit:P}}),{placeHolder:S("pasteAsPickerPlaceholder","Select Paste Action")});y=A==null?void 0:A.edit}if(!y)return;const w=K6(u.uri,i,y);await this._bulkEditService.apply(w,{editor:this._editor})}finally{f.dispose(),this._currentPasteOperation===r&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:S("pasteAsProgress","Running paste handlers")},()=>r)}setCopyMetadata(e,t){e.setData(hC,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(hC);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=e3.getTextData(e.clipboardData);if(n)return{defaultPastePayload:{mode:n.mode,multicursorText:n.multicursorText??null,pasteOnNewLine:!!n.isFromEmptySelection}}}async mergeInDataFromCopy(e,t,i){var n;if(t!=null&&t.id&&((n=gd._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await gd._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(Zs.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(Zs.uriList,g9(hb.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new Tt,d=await yp(Promise.all(e.map(async f=>{var g,p;try{const C=await((g=f.provideDocumentPasteEdits)==null?void 0:g.call(f,i,n,t,s,r));return C&&a.add(C),(p=C==null?void 0:C.edits)==null?void 0:p.map(b=>({...b,provider:f}))}catch(C){qc(C)||console.error(C);return}})),r),u=yl(d??[]).flat().filter(f=>!s.only||s.only.contains(f.kind));return{edits:Z6(u),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(Zs.text)??e.get("text"),r=await(s==null?void 0:s.asString())??"";if(i.isCancellationRequested)return;const a={clipboardEvent:n,text:r,pasteOnNewLine:(t==null?void 0:t.defaultPastePayload.pasteOnNewLine)??!1,multicursorText:(t==null?void 0:t.defaultPastePayload.multicursorText)??null,mode:null};this._editor.trigger("keyboard","paste",a)}isSupportedPasteProvider(e,t,i){var n;return(n=e.pasteMimeTypes)!=null&&n.some(s=>t.matches(s))?!i||this.providerMatchesPreference(e,i):!1}providerMatchesPreference(e,t){return t instanceof is?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},gd=$d,$d.ID="editor.contrib.copyPasteActionController",$d);Bl=gd=uT([_h(1,nn),_h(2,N_),_h(3,rf),_h(4,ki),_h(5,Tl),_h(6,t3)],Bl);const Ou="9_cutcopypaste",hT=af||document.queryCommandSupported("cut"),Q6=af||document.queryCommandSupported("copy"),fT=typeof navigator.clipboard>"u"||i3?document.queryCommandSupported("paste"):!0;function _9(o){return o.register(),o}const gT=hT?_9(new Dw({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:af?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:ri.MenubarEditMenu,group:"2_ccp",title:S({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:ri.EditorContext,group:Ou,title:S("actions.clipboard.cutLabel","Cut"),when:q.writable,order:1},{menuId:ri.CommandPalette,group:"",title:S("actions.clipboard.cutLabel","Cut"),order:1},{menuId:ri.SimpleEditorContext,group:Ou,title:S("actions.clipboard.cutLabel","Cut"),when:q.writable,order:1}]})):void 0,pT=Q6?_9(new Dw({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:af?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:ri.MenubarEditMenu,group:"2_ccp",title:S({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:ri.EditorContext,group:Ou,title:S("actions.clipboard.copyLabel","Copy"),order:2},{menuId:ri.CommandPalette,group:"",title:S("actions.clipboard.copyLabel","Copy"),order:1},{menuId:ri.SimpleEditorContext,group:Ou,title:S("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;Rr.appendMenuItem(ri.MenubarEditMenu,{submenu:ri.MenubarCopy,title:Di("copy as","Copy As"),group:"2_ccp",order:3});Rr.appendMenuItem(ri.EditorContext,{submenu:ri.EditorContextCopy,title:Di("copy as","Copy As"),group:Ou,order:3});Rr.appendMenuItem(ri.EditorContext,{submenu:ri.EditorContextShare,title:Di("share","Share"),group:"11_share",order:-1,when:$e.and($e.notEquals("resourceScheme","output"),q.editorTextFocus)});Rr.appendMenuItem(ri.ExplorerContext,{submenu:ri.ExplorerContextShare,title:Di("share","Share"),group:"11_share",order:-1});const fC=fT?_9(new Dw({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:af?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:ri.MenubarEditMenu,group:"2_ccp",title:S({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:ri.EditorContext,group:Ou,title:S("actions.clipboard.pasteLabel","Paste"),when:q.writable,order:4},{menuId:ri.CommandPalette,group:"",title:S("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:ri.SimpleEditorContext,group:Ou,title:S("actions.clipboard.pasteLabel","Paste"),when:q.writable,order:4}]})):void 0;class xT extends bt{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:S("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(AS.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),AS.forceCopyWithSyntaxHighlighting=!1)}}function J6(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(bs).getFocusedCodeEditor();if(n&&n.hasTextFocus()){const s=n.getOption(37),r=n.getSelection();return r&&r.isEmpty()&&!s||n.getContainerDomNode().ownerDocument.execCommand(e),!0}return!1}),o.addImplementation(0,"generic-dom",(t,i)=>(Sw().execCommand(e),!0)))}J6(gT,"cut");J6(pT,"copy");fC&&(fC.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(bs),i=o.get(rf),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=Bl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():n3?(async()=>{const a=await i.readText();if(a!==""){const d=s3.INSTANCE.get(a);let u=!1,f=null,g=null;d&&(u=n.getOption(37)&&!!d.isFromEmptySelection,f=typeof d.multicursorText<"u"?d.multicursorText:null,g=d.mode),n.trigger("keyboard","paste",{text:a,pasteOnNewLine:u,multicursorText:f,mode:g})}})():!0:!1}),fC.addImplementation(0,"generic-dom",(o,e)=>(Sw().execCommand("paste"),!0)));Q6&&Be(xT);const Xn=new class{constructor(){this.QuickFix=new is("quickfix"),this.Refactor=new is("refactor"),this.RefactorExtract=this.Refactor.append("extract"),this.RefactorInline=this.Refactor.append("inline"),this.RefactorMove=this.Refactor.append("move"),this.RefactorRewrite=this.Refactor.append("rewrite"),this.Notebook=new is("notebook"),this.Source=new is("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var Ho;(function(o){o.Refactor="refactor",o.RefactorPreview="refactor preview",o.Lightbulb="lightbulb",o.Default="other (default)",o.SourceAction="source action",o.QuickFix="quick fix action",o.FixAll="fix all",o.OrganizeImports="organize imports",o.AutoFix="auto fix",o.QuickFixHover="quick fix hover window",o.OnSave="save participants",o.ProblemsView="problems view"})(Ho||(Ho={}));function mT(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>e5(e,t,o.include))||!o.includeSourceActions&&Xn.Source.contains(e))}function vT(o,e){const t=e.kind?new is(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>e5(t,i,o.include))||!o.includeSourceActions&&t&&Xn.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function e5(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class Pa{static fromUser(e,t){return!e||typeof e!="object"?new Pa(t.kind,t.apply,!1):new Pa(Pa.getKindFromUser(e,t.kind),Pa.getApplyFromUser(e,t.apply),Pa.getPreferredUser(e))}static getApplyFromUser(e,t){switch(typeof e.apply=="string"?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return typeof e.kind=="string"?new is(e.kind):t}static getPreferredUser(e){return typeof e.preferred=="boolean"?e.preferred:!1}constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}}class _T{constructor(e,t,i){this.action=e,this.provider=t,this.highlightRange=i}async resolve(e){var t;if((t=this.provider)!=null&&t.resolveCodeAction&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,e)}catch(n){_s(n)}i&&(this.action.edit=i.edit)}return this}}const t5="editor.action.codeAction",b9="editor.action.quickFix",i5="editor.action.autoFix",n5="editor.action.refactor",s5="editor.action.sourceAction",N1="editor.action.organizeImports",O1="editor.action.fixAll";class hg extends Nt{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:e},{action:t}){return e.isAI&&!t.isAI?1:!e.isAI&&t.isAI?-1:Zo(e.diagnostics)?Zo(t.diagnostics)?hg.codeActionsPreferredComparator(e,t):-1:Zo(t.diagnostics)?1:hg.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(hg.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&Xn.QuickFix.contains(new is(e.kind))&&!!e.isPreferred)}get hasAIFix(){return this.validActions.some(({action:e})=>!!e.isAI)}get allAIFixes(){return this.validActions.every(({action:e})=>!!e.isAI)}}const S8={actions:[],documentation:void 0};async function Uh(o,e,t,i,n,s){var y;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],Xn.Notebook]},d={only:(y=r.include)==null?void 0:y.value,trigger:i.type},u=new o3(e,s),f=i.type===2,g=bT(o,e,f?a:r),p=new Tt,C=g.map(async w=>{try{n.report(w);const A=await w.provideCodeActions(e,t,d,u.token);if(A&&p.add(A),u.token.isCancellationRequested)return S8;const P=((A==null?void 0:A.actions)||[]).filter(R=>R&&vT(r,R)),M=ET(w,P,r.include);return{actions:P.map(R=>new _T(R,w)),documentation:M}}catch(A){if(qc(A))throw A;return _s(A),S8}}),b=o.onDidChange(()=>{const w=o.all(e);ja(w,g)||u.cancel()});try{const w=await Promise.all(C),A=w.map(M=>M.actions).flat(),P=[...yl(w.map(M=>M.documentation)),...CT(o,e,i,A)];return new hg(A,P,p)}finally{b.dispose(),u.dispose()}}function bT(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>mT(t,new is(n))):!0)}function*CT(o,e,t,i){var n,s,r;if(e&&i.length)for(const a of o.all(e))a._getAdditionalMenuItems&&(yield*(r=a._getAdditionalMenuItems)==null?void 0:r.call(a,{trigger:t.type,only:(s=(n=t.filter)==null?void 0:n.include)==null?void 0:s.value},i.map(d=>d.action)))}function ET(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new is(n.kind),command:n.command}));if(t){let n;for(const s of i)s.kind.contains(t)&&(n?n.kind.contains(s.kind)&&(n=s):n=s);if(n)return n==null?void 0:n.command}for(const n of e)if(n.kind){for(const s of i)if(s.kind.contains(new is(n.kind)))return s.command}}var Sd;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(Sd||(Sd={}));async function yT(o,e,t,i,n=an.None){var u;const s=o.get(N_),r=o.get(zs),a=o.get(ua),d=o.get(xo);if(a.publicLog2("codeAction.applyCodeAction",{codeActionTitle:e.action.title,codeActionKind:e.action.kind,codeActionIsPreferred:!!e.action.isPreferred,reason:t}),await e.resolve(n),!n.isCancellationRequested&&!((u=e.action.edit)!=null&&u.edits.length&&!(await s.apply(e.action.edit,{editor:i==null?void 0:i.editor,label:e.action.title,quotableLabel:e.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:t!==Sd.OnSave,showPreview:i==null?void 0:i.preview})).isApplied)&&e.action.command)try{await r.executeCommand(e.action.command.id,...e.action.command.arguments||[])}catch(f){const g=wT(f);d.error(typeof g=="string"?g:S("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function wT(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}Qn.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof Vn))throw vl();const{codeActionProvider:s}=o.get(ki),r=o.get(mo).getModel(e);if(!r)throw vl();const a=ji.isISelection(t)?ji.liftSelection(t):Q.isIRange(t)?r.validateRange(t):void 0;if(!a)throw vl();const d=typeof i=="string"?new is(i):void 0,u=await Uh(s,r,a,{type:1,triggerAction:Ho.Default,filter:{includeSourceActions:!0,include:d}},fl.None,an.None),f=[],g=Math.min(u.validActions.length,typeof n=="number"?n:0);for(let p=0;p<g;p++)f.push(u.validActions[p].resolve(an.None));try{return await Promise.all(f),u.validActions.map(p=>p.action)}finally{setTimeout(()=>u.dispose(),100)}});var ST=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},DT=function(o,e){return function(t,i){e(t,i,o)}},H1,Ud;let W1=(Ud=class{constructor(e){this.keybindingService=e}getResolver(){const e=new Aw(()=>this.keybindingService.getKeybindings().filter(t=>H1.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===N1?i={kind:Xn.SourceOrganizeImports.value}:t.command===O1&&(i={kind:Xn.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...Pa.fromUser(i,{kind:is.None,apply:"never"})}}));return t=>{if(t.kind){const i=this.bestKeybindingForCodeAction(t,e.value);return i==null?void 0:i.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new is(e.kind);return t.filter(n=>n.kind.contains(i)).filter(n=>n.preferred?e.isPreferred:!0).reduceRight((n,s)=>n?n.kind.contains(s.kind)?s:n:s,void 0)}},H1=Ud,Ud.codeActionCommands=[n5,t5,s5,N1,O1],Ud);W1=H1=ST([DT(0,Ds)],W1);pi("symbolIcon.arrayForeground",Ts,S("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.booleanForeground",Ts,S("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},S("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.colorForeground",Ts,S("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.constantForeground",Ts,S("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},S("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},S("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},S("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.fileForeground",Ts,S("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.folderForeground",Ts,S("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},S("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.keyForeground",Ts,S("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.keywordForeground",Ts,S("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},S("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.moduleForeground",Ts,S("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.namespaceForeground",Ts,S("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.nullForeground",Ts,S("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.numberForeground",Ts,S("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.objectForeground",Ts,S("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.operatorForeground",Ts,S("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.packageForeground",Ts,S("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.propertyForeground",Ts,S("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.referenceForeground",Ts,S("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.snippetForeground",Ts,S("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.stringForeground",Ts,S("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.structForeground",Ts,S("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.textForeground",Ts,S("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.typeParameterForeground",Ts,S("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.unitForeground",Ts,S("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));pi("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const o5=Object.freeze({kind:is.Empty,title:S("codeAction.widget.id.more","More Actions...")}),AT=Object.freeze([{kind:Xn.QuickFix,title:S("codeAction.widget.id.quickfix","Quick Fix")},{kind:Xn.RefactorExtract,title:S("codeAction.widget.id.extract","Extract"),icon:Gi.wrench},{kind:Xn.RefactorInline,title:S("codeAction.widget.id.inline","Inline"),icon:Gi.wrench},{kind:Xn.RefactorRewrite,title:S("codeAction.widget.id.convert","Rewrite"),icon:Gi.wrench},{kind:Xn.RefactorMove,title:S("codeAction.widget.id.move","Move"),icon:Gi.wrench},{kind:Xn.SurroundWith,title:S("codeAction.widget.id.surround","Surround With"),icon:Gi.surroundWith},{kind:Xn.Source,title:S("codeAction.widget.id.source","Source Action"),icon:Gi.symbolFile},o5]);function kT(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:o5,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=AT.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new is(s.action.kind):is.None;for(const a of i)if(a.group.kind.contains(r)){a.actions.push(s);break}}const n=[];for(const s of i)if(s.actions.length){n.push({kind:"header",group:s.group});for(const r of s.actions){const a=s.group;n.push({kind:"action",item:r,group:r.action.isAI?{title:a.title,kind:a.kind,icon:Gi.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var BT=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},FT=function(o,e){return function(t,i){e(t,i,o)}},Mh;const D8=ms("gutter-lightbulb",Gi.lightBulb,S("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),A8=ms("gutter-lightbulb-auto-fix",Gi.lightbulbAutofix,S("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),k8=ms("gutter-lightbulb-sparkle",Gi.lightbulbSparkle,S("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),B8=ms("gutter-lightbulb-aifix-auto-fix",Gi.lightbulbSparkleAutofix,S("gutterLightbulbAIFixAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.")),F8=ms("gutter-lightbulb-sparkle-filled",Gi.sparkleFilled,S("gutterLightbulbSparkleFilledWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available."));var Gr;(function(o){o.Hidden={type:0};class e{constructor(i,n,s,r){this.actions=i,this.trigger=n,this.editorPosition=s,this.widgetPosition=r,this.type=1}}o.Showing=e})(Gr||(Gr={}));var pl;let Vg=(pl=class extends Nt{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new rn),this.onClick=this._onClick.event,this._state=Gr.Hidden,this._gutterState=Gr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+D8.id,"codicon-"+B8.id,"codicon-"+A8.id,"codicon-"+k8.id,"codicon-"+F8.id],this.gutterDecoration=Mh.GUTTER_DECORATION,this._domNode=gi("div.lightBulbWidget"),this._domNode.role="listbox",this._register(aA.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(i=>{const n=this._editor.getModel();(this.state.type!==1||!n||this.state.editorPosition.lineNumber>=n.getLineCount())&&this.hide(),(this.gutterState.type!==1||!n||this.gutterState.editorPosition.lineNumber>=n.getLineCount())&&this.gutterHide()})),this._register(r3(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=yo(this._domNode),r=this._editor.getOption(67);let a=Math.floor(r/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber<this.state.editorPosition.lineNumber&&(a+=r),this._onClick.fire({x:i.posx,y:n+s+a,actions:this.state.actions,trigger:this.state.trigger})})),this._register(Bn(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(Is.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(i5))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(b9))==null?void 0:n.getLabel())??void 0,this._updateLightBulbTitleAndIcon()})),this._register(this._editor.onMouseDown(async i=>{if(!i.target.element||!this.lightbulbClasses.some(d=>i.target.element&&i.target.element.classList.contains(d))||this.gutterState.type!==1)return;this._editor.focus();const{top:n,height:s}=yo(i.target.element),r=this._editor.getOption(67);let a=Math.floor(r/3);this.gutterState.widgetPosition.position!==null&&this.gutterState.widgetPosition.position.lineNumber<this.gutterState.editorPosition.lineNumber&&(a+=r),this._onClick.fire({x:i.event.posx,y:n+s+a,actions:this.gutterState.actions,trigger:this.gutterState.trigger})}))}dispose(){super.dispose(),this._editor.removeContentWidget(this),this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(e,t,i){if(e.validActions.length<=0)return this.gutterHide(),this.hide();if(!this._editor.hasTextFocus())return this.gutterHide(),this.hide();if(!this._editor.getOptions().get(65).enabled)return this.gutterHide(),this.hide();const r=this._editor.getModel();if(!r)return this.gutterHide(),this.hide();const{lineNumber:a,column:d}=r.validatePosition(i),u=r.getOptions().tabSize,f=this._editor.getOptions().get(50),g=r.getLineContent(a),p=kw(g,u),C=f.spaceWidth*p>22,b=T=>T>2&&this._editor.getTopForLineNumber(T)===this._editor.getTopForLineNumber(T-1),y=this._editor.getLineDecorations(a);let w=!1;if(y)for(const T of y){const V=T.options.glyphMarginClassName;if(V&&!this.lightbulbClasses.some(H=>V.includes(H))){w=!0;break}}let A=a,P=1;if(!C){const T=V=>{const H=r.getLineContent(V);return/^\s*$|^\s+/.test(H)||H.length<=P};if(a>1&&!b(a-1)){const V=r.getLineCount(),H=a===V,X=a>1&&T(a-1),se=!H&&T(a+1),he=T(a),J=!se&&!X;if(!se&&!X&&!w)return this.gutterState=new Gr.Showing(e,t,i,{position:{lineNumber:A,column:P},preference:Mh._posPref}),this.renderGutterLightbub(),this.hide();X||H||X&&!he?A-=1:(se||J&&he)&&(A+=1)}else if(a===1&&(a===r.getLineCount()||!T(a+1)&&!T(a)))if(this.gutterState=new Gr.Showing(e,t,i,{position:{lineNumber:A,column:P},preference:Mh._posPref}),w)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(a<r.getLineCount()&&!b(a+1))A+=1;else if(d*f.spaceWidth<22)return this.hide();P=/^\S\s*$/.test(r.getLineContent(A))?2:1}this.state=new Gr.Showing(e,t,i,{position:{lineNumber:A,column:P},preference:Mh._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const M=e.validActions,R=e.validActions[0].action.kind;if(M.length!==1||!R){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==Gr.Hidden&&(this.state=Gr.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==Gr.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=Gr.Hidden)}get state(){return this._state}set state(e){this._state=e,this._updateLightBulbTitleAndIcon()}get gutterState(){return this._gutterState}set gutterState(e){this._gutterState=e,this._updateGutterLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],this.state.type!==1)return;let e,t=!1;this.state.actions.allAIFixes?(e=Gi.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=Gi.lightbulbSparkleAutofix:e=Gi.lightbulbAutofix:this.state.actions.hasAIFix?e=Gi.lightbulbSparkle:e=Gi.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=Tn.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=F8,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=B8:e=A8:this.gutterState.actions.hasAIFix?e=k8:e=D8,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=xn.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Tn.asClassName(e),glyphMargin:{position:Cm.Left},stickiness:1});this.gutterDecoration=i}renderGutterLightbub(){const e=this._editor.getSelection();e&&(this._gutterDecorationID===void 0?this._addGutterDecoration(e.startLineNumber):this._updateGutterDecoration(this._gutterDecorationID,e.startLineNumber))}_addGutterDecoration(e){this._editor.changeDecorations(t=>{this._gutterDecorationID=t.addDecoration(new Q(e,0,e,0),this.gutterDecoration)})}_removeGutterDecoration(e){this._editor.changeDecorations(t=>{t.removeDecoration(e),this._gutterDecorationID=void 0})}_updateGutterDecoration(e,t){this._editor.changeDecorations(i=>{i.changeDecoration(e,new Q(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=S("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=S("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=S("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=S("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}},Mh=pl,pl.GUTTER_DECORATION=xn.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Tn.asClassName(Gi.lightBulb),glyphMargin:{position:Cm.Left},stickiness:1}),pl.ID="editor.contrib.lightbulbWidget",pl._posPref=[0],pl);Vg=Mh=BT([FT(1,Ds)],Vg);var r5=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},z1=function(o,e){return function(t,i){e(t,i,o)}};const a5="acceptSelectedCodeAction",l5="previewSelectedCodeAction";class LT{get templateId(){return"header"}renderTemplate(e){e.classList.add("group-header");const t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){var n;i.text.textContent=((n=e.group)==null?void 0:n.title)??""}disposeTemplate(e){}}let V1=class{get templateId(){return"action"}constructor(e,t){this._supportsPreview=e,this._keybindingService=t}renderTemplate(e){e.classList.add(this.templateId);const t=document.createElement("div");t.className="icon",e.append(t);const i=document.createElement("span");i.className="title",e.append(i);const n=new Bw(e,Fw);return{container:e,icon:t,text:i,keybinding:n}}renderElement(e,t,i){var r,a,d;if((r=e.group)!=null&&r.icon?(i.icon.className=Tn.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=Ld(e.group.icon.color.id))):(i.icon.className=Tn.asClassName(Gi.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=c5(e.label),i.keybinding.set(e.keybinding),a3(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(a5))==null?void 0:a.getLabel(),s=(d=this._keybindingService.lookupKeybinding(l5))==null?void 0:d.getLabel();i.container.classList.toggle("option-disabled",e.disabled),e.disabled?i.container.title=e.label:n&&s?this._supportsPreview&&e.canPreview?i.container.title=S({key:"label-preview",comment:['placeholders are keybindings, e.g "F2 to Apply, Shift+F2 to Preview"']},"{0} to Apply, {1} to Preview",n,s):i.container.title=S({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",n):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};V1=r5([z1(1,Ds)],V1);class IT extends UIEvent{constructor(){super("acceptSelectedAction")}}class L8 extends UIEvent{constructor(){super("previewSelectedAction")}}function PT(o){if(o.kind==="action")return o.label}let j1=class extends Nt{constructor(e,t,i,n,s,r){super(),this._delegate=n,this._contextViewService=s,this._keybindingService=r,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new qs),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const a={getHeight:d=>d.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:d=>d.kind};this._list=this._register(new Lw(e,this.domNode,a,[new V1(t,this._keybindingService),new LT],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:PT},accessibilityProvider:{getAriaLabel:d=>{if(d.kind==="action"){let u=d.label?c5(d==null?void 0:d.label):"";return d.disabled&&(u=S({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",u,d.disabled)),u}return null},getWidgetAriaLabel:()=>S({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:d=>d.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(l3),this._register(this._list.onMouseClick(d=>this.onListClick(d))),this._register(this._list.onMouseOver(d=>this.onListHover(d))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(d=>this.onListSelection(d))),this._allMenuItems=i,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&e.kind==="action"}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){const t=this._allMenuItems.filter(d=>d.kind==="header").length,n=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(n);let s=e;if(this._allMenuItems.length>=50)s=380;else{const d=this._allMenuItems.map((u,f)=>{const g=this.domNode.ownerDocument.getElementById(this._list.getElementID(f));if(g){g.style.width="auto";const p=g.getBoundingClientRect().width;return g.style.width="",p}return 0});s=Math.max(...d,e)}const a=Math.min(n,this.domNode.ownerDocument.body.clientHeight*.7);return this._list.layout(a,s),this.domNode.style.height=`${a}px`,this._list.domFocus(),s}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(e){const t=this._list.getFocus();if(t.length===0)return;const i=t[0],n=this._list.element(i);if(!this.focusCondition(n))return;const s=e?new L8:new IT;this._list.setSelection([i],s)}onListSelection(e){if(!e.elements.length)return;const t=e.elements[0];t.item&&this.focusCondition(t)?this._delegate.onSelect(t.item,e.browserEvent instanceof L8):this._list.setSelection([])}onFocus(){var n,s;const e=this._list.getFocus();if(e.length===0)return;const t=e[0],i=this._list.element(t);(s=(n=this._delegate).onFocus)==null||s.call(n,i.item)}async onListHover(e){const t=e.element;if(t&&t.item&&this.focusCondition(t)){if(this._delegate.onHover&&!t.disabled&&t.kind==="action"){const i=await this._delegate.onHover(t.item,this.cts.token);t.canPreview=i?i.canPreview:void 0}e.index&&this._list.splice(e.index,1,[t])}this._list.setFocus(typeof e.index=="number"?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};j1=r5([z1(4,z_),z1(5,Ds)],j1);function c5(o){return o.replace(/\r\n|\r|\n/g," ")}var TT=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},gC=function(o,e){return function(t,i){e(t,i,o)}};pi("actionBar.toggledBackground",Iw,S("actionBar.toggledBackground","Background color for toggled action items in action bar."));const Hu={Visible:new Cn("codeActionMenuVisible",!1,S("codeActionMenuVisible","Whether the action widget list is visible"))},Ju=Ml("actionWidgetService");let Wu=class extends Nt{get isVisible(){return Hu.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Qo)}show(e,t,i,n,s,r,a){const d=Hu.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance(j1,e,t,i,n);this._contextViewService.showContextView({getAnchor:()=>s,render:f=>(d.set(!0),this._renderWidget(f,u,a??[])),onHide:f=>{d.reset(),this._onWidgetClosed(f)}},r,!1)}acceptSelected(e){var t;(t=this._list.value)==null||t.acceptSelected(e)}focusPrevious(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusPrevious()}focusNext(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusNext()}hide(e){var t;(t=this._list.value)==null||t.hide(e),this._list.clear()}_renderWidget(e,t,i){var C;const n=document.createElement("div");if(n.classList.add("action-widget"),e.appendChild(n),this._list.value=t,this._list.value)n.appendChild(this._list.value.domNode);else throw new Error("List has no value");const s=new Tt,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(Bn(a,as.MOUSE_DOWN,b=>b.stopPropagation()));const d=document.createElement("div"),u=e.appendChild(d);u.classList.add("context-view-pointerBlock"),s.add(Bn(u,as.POINTER_MOVE,()=>u.remove())),s.add(Bn(u,as.MOUSE_DOWN,()=>u.remove()));let f=0;if(i.length){const b=this._createActionBar(".action-widget-action-bar",i);b&&(n.appendChild(b.getContainer().parentElement),s.add(b),f=b.getContainer().offsetWidth)}const g=(C=this._list.value)==null?void 0:C.layout(f);n.style.width=`${g}px`;const p=s.add(F0(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=gi(e),n=new Ag(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};Wu=TT([gC(0,z_),gC(1,Fn),gC(2,nn)],Wu);Rl(Ju,Wu,1);const $p=1100;zn(class extends Do{constructor(){super({id:"hideCodeActionWidget",title:Di("hideCodeActionWidget.title","Hide action widget"),precondition:Hu.Visible,keybinding:{weight:$p,primary:9,secondary:[1033]}})}run(o){o.get(Ju).hide(!0)}});zn(class extends Do{constructor(){super({id:"selectPrevCodeAction",title:Di("selectPrevCodeAction.title","Select previous action"),precondition:Hu.Visible,keybinding:{weight:$p,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.focusPrevious()}});zn(class extends Do{constructor(){super({id:"selectNextCodeAction",title:Di("selectNextCodeAction.title","Select next action"),precondition:Hu.Visible,keybinding:{weight:$p,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.focusNext()}});zn(class extends Do{constructor(){super({id:a5,title:Di("acceptSelected.title","Accept selected action"),precondition:Hu.Visible,keybinding:{weight:$p,primary:3,secondary:[2137]}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.acceptSelected()}});zn(class extends Do{constructor(){super({id:l5,title:Di("previewSelected.title","Preview selected action"),precondition:Hu.Visible,keybinding:{weight:$p,primary:2051}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.acceptSelected(!0)}});const d5=new Cn("supportedCodeAction",""),I8="_typescript.applyFixAllCodeAction";class MT extends Nt{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new wp),this._register(this._markerService.onMarkerChanged(s=>this._onMarkerChanges(s))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some(i=>Em(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Ho.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getSelection();if(e.type===1)return t;const i=this._editor.getOption(65).enabled;if(i!==Yb.Off){{if(i===Yb.On)return t;if(i===Yb.OnCode){if(!t.isEmpty())return t;const s=this._editor.getModel(),{lineNumber:r,column:a}=t.getPosition(),d=s.getLineContent(r);if(d.length===0)return;if(a===1){if(/\s/.test(d[0]))return}else if(a===s.getLineMaxColumn(r)){if(/\s/.test(d[d.length-1]))return}else if(/\s/.test(d[a-2])&&/\s/.test(d[a-1]))return}}return t}}}var vd;(function(o){o.Empty={type:0};class e{constructor(i,n,s){this.trigger=i,this.position=n,this._cancellablePromise=s,this.type=1,this.actions=s.catch(r=>{if(qc(r))return u5;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(vd||(vd={}));const u5=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class RT extends Nt{constructor(e,t,i,n,s,r,a){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=s,this._configurationService=r,this._telemetryService=a,this._codeActionOracle=this._register(new Qo),this._state=vd.Empty,this._onDidChangeState=this._register(new rn),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=d5.bindTo(n),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._register(this._editor.onDidChangeConfiguration(d=>{d.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(vd.Empty,!0))}_settingEnabledNearbyQuickfixes(){var t;const e=(t=this._editor)==null?void 0:t.getModel();return this._configurationService?this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:e==null?void 0:e.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(vd.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(92)){const t=this._registry.all(e).flatMap(i=>i.providedCodeActionKinds??[]);this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new MT(this._editor,this._markerService,i=>{var d;if(!i){this.setState(vd.Empty);return}const n=i.selection.getStartPosition(),s=Us(async u=>{var f,g,p,C,b,y,w,A,P,M;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===Ho.QuickFix||(g=(f=i.trigger.filter)==null?void 0:f.include)!=null&&g.contains(Xn.QuickFix))){const R=await Uh(this._registry,e,i.selection,i.trigger,fl.None,u),T=[...R.allActions];if(u.isCancellationRequested)return u5;const V=(p=R.validActions)==null?void 0:p.some(X=>X.action.kind?Xn.QuickFix.contains(new is(X.action.kind)):!1),H=this._markerService.read({resource:e.uri});if(V){for(const X of R.validActions)(b=(C=X.action.command)==null?void 0:C.arguments)!=null&&b.some(se=>typeof se=="string"&&se.includes(I8))&&(X.action.diagnostics=[...H.filter(se=>se.relatedInformation)]);return{validActions:R.validActions,allActions:T,documentation:R.documentation,hasAutoFix:R.hasAutoFix,hasAIFix:R.hasAIFix,allAIFixes:R.allAIFixes,dispose:()=>{R.dispose()}}}else if(!V&&H.length>0){const X=i.selection.getPosition();let se=X,he=Number.MAX_VALUE;const J=[...R.validActions];for(const we of H){const re=we.endColumn,ae=we.endLineNumber,De=we.startLineNumber;if(ae===X.lineNumber||De===X.lineNumber){se=new Ai(ae,re);const Pe={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(y=i.trigger.filter)!=null&&y.include?(w=i.trigger.filter)==null?void 0:w.include:Xn.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((A=i.trigger.context)==null?void 0:A.notAvailableMessage)||"",position:se}},xe=new ji(se.lineNumber,se.column,se.lineNumber,se.column),Ve=await Uh(this._registry,e,xe,Pe,fl.None,u);if(Ve.validActions.length!==0){for(const ze of Ve.validActions)(M=(P=ze.action.command)==null?void 0:P.arguments)!=null&&M.some(ve=>typeof ve=="string"&&ve.includes(I8))&&(ze.action.diagnostics=[...H.filter(ve=>ve.relatedInformation)]);R.allActions.length===0&&T.push(...Ve.allActions),Math.abs(X.column-re)<he?J.unshift(...Ve.validActions):J.push(...Ve.validActions)}he=Math.abs(X.column-re)}}const de=J.filter((we,re,ae)=>ae.findIndex(De=>De.action.title===we.action.title)===re);return de.sort((we,re)=>we.action.isPreferred&&!re.action.isPreferred?-1:!we.action.isPreferred&&re.action.isPreferred||we.action.isAI&&!re.action.isAI?1:!we.action.isAI&&re.action.isAI?-1:0),{validActions:de,allActions:T,documentation:R.documentation,hasAutoFix:R.hasAutoFix,hasAIFix:R.hasAIFix,allAIFixes:R.allAIFixes,dispose:()=>{R.dispose()}}}}if(i.trigger.type===1){const R=new Oo,T=await Uh(this._registry,e,i.selection,i.trigger,fl.None,u);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:T.validActions.length,duration:R.elapsed()}),T}return Uh(this._registry,e,i.selection,i.trigger,fl.None,u)});i.trigger.type===1&&((d=this._progressService)==null||d.showWhile(s,250));const r=new vd.Triggered(i.trigger,n,s);let a=!1;this._state.type===1&&(a=this._state.trigger.type===1&&r.type===1&&r.trigger.type===2&&this._state.position!==r.position),a?setTimeout(()=>{this.setState(r)},500):this.setState(r)},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:Ho.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;(t=this._codeActionOracle.value)==null||t.trigger(e)}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!this._disposed&&this._onDidChangeState.fire(e))}}var NT=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},va=function(o,e){return function(t,i){e(t,i,o)}},Rh;const OT="quickfix-edit-highlight";var Ec;let $0=(Ec=class extends Nt{static get(e){return e.getContribution(Rh.ID)}constructor(e,t,i,n,s,r,a,d,u,f,g){super(),this._commandService=a,this._configurationService=d,this._actionWidgetService=u,this._instantiationService=f,this._telemetryService=g,this._activeCodeActions=this._register(new Qo),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new RT(this._editor,s.codeActionProvider,t,i,r,d,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new Aw(()=>{const p=this._editor.getContribution(Vg.ID);return p&&this._register(p.onClick(C=>this.showCodeActionsFromLightbulb(C.actions,C))),p}),this._resolver=n.createInstance(W1),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&e.validActions.length===1){const i=e.validActions[0],n=i.action.command;n&&n.id==="inlineChat.start"&&n.arguments&&n.arguments.length>=1&&(n.arguments[0]={...n.arguments[0],autoSend:!1}),await this._applyCodeAction(i,!1,!1,Sd.FromAILightbulb);return}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,i){return this.showCodeActionList(t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,n){var r;if(!this._editor.hasModel())return;(r=Mo.get(this._editor))==null||r.closeMessage();const s=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:n,context:{notAvailableMessage:e,position:s}})}_trigger(e){return this._model.trigger(e)}async _applyCodeAction(e,t,i,n){try{await this._instantiationService.invokeFunction(yT,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Ho.QuickFix,filter:{}})}}hideLightBulbWidget(){var e,t;(e=this._lightBulbWidget.rawValue)==null||e.hide(),(t=this._lightBulbWidget.rawValue)==null||t.gutterHide()}async update(e){var n,s,r,a,d;if(e.type!==1){this.hideLightBulbWidget();return}let t;try{t=await e.actions}catch(u){Un(u);return}if(this._disposed)return;const i=this._editor.getSelection();if((i==null?void 0:i.startLineNumber)===e.position.lineNumber)if((n=this._lightBulbWidget.value)==null||n.update(t,e.trigger,e.position),e.trigger.type===1){if((s=e.trigger.filter)!=null&&s.include){const f=this.tryGetValidActionToApply(e.trigger,t);if(f){try{this.hideLightBulbWidget(),await this._applyCodeAction(f,!1,!1,Sd.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const g=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(g&&g.action.disabled){(r=Mo.get(this._editor))==null||r.showMessage(g.action.disabled,e.trigger.context.position),t.dispose();return}}}const u=!!((a=e.trigger.filter)!=null&&a.include);if(e.trigger.context&&(!t.allActions.length||!u&&!t.validActions.length)){(d=Mo.get(this._editor))==null||d.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=t,t.dispose();return}this._activeCodeActions.value=t,this.showCodeActionList(t,this.toCoords(e.position),{includeDisabledActions:u,fromLightbulb:!1})}else this._actionWidgetService.isVisible?t.dispose():this._activeCodeActions.value=t}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply==="first"&&t.validActions.length===0||e.autoApply==="ifSingle"&&t.allActions.length===1))return t.allActions.find(({action:i})=>i.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply==="first"&&t.validActions.length>0||e.autoApply==="ifSingle"&&t.validActions.length===1))return t.validActions[0]}async showCodeActionList(e,t,i){const n=this._editor.createDecorationsCollection(),s=this._editor.getDomNode();if(!s)return;const r=i.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!r.length)return;const a=Ai.isIPosition(t)?this.toCoords(t):t,d={onSelect:async(u,f)=>{this._applyCodeAction(u,!0,!!f,i.fromLightbulb?Sd.FromAILightbulb:Sd.FromCodeActions),this._actionWidgetService.hide(!1),n.clear()},onHide:u=>{var f;(f=this._editor)==null||f.focus(),n.clear()},onHover:async(u,f)=>{var C;if(f.isCancellationRequested)return;let g=!1;const p=u.action.kind;if(p){const b=new is(p);g=[Xn.RefactorExtract,Xn.RefactorInline,Xn.RefactorRewrite,Xn.RefactorMove,Xn.Source].some(w=>w.contains(b))}return{canPreview:g||!!((C=u.action.edit)!=null&&C.edits.length)}},onFocus:u=>{var f,g;if(u&&u.action){const p=u.action.ranges,C=u.action.diagnostics;if(n.clear(),p&&p.length>0){const b=C&&(C==null?void 0:C.length)>1?C.map(y=>({range:y,options:Rh.DECORATION})):p.map(y=>({range:y,options:Rh.DECORATION}));n.set(b)}else if(C&&C.length>0){const b=C.map(w=>({range:w,options:Rh.DECORATION}));n.set(b);const y=C[0];if(y.startLineNumber&&y.startColumn){const w=(g=(f=this._editor.getModel())==null?void 0:f.getWordAtPosition({lineNumber:y.startLineNumber,column:y.startColumn}))==null?void 0:g.word;L0(S("editingNewSelection","Context: {0} at line {1} and column {2}.",w,y.startLineNumber,y.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,kT(r,this._shouldShowHeaders(),this._resolver.getResolver()),d,a,s,this._getActionBarActions(e,t,i))}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=yo(this._editor.getDomNode()),n=i.left+t.left,s=i.top+t.top+t.height;return{x:n,y:s}}_shouldShowHeaders(){var t;const e=(t=this._editor)==null?void 0:t.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:e==null?void 0:e.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];const n=e.documentation.map(s=>({id:s.id,label:s.title,tooltip:s.tooltip??"",class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(s.id,...s.arguments??[])}));return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&n.push(this._showDisabled?{id:"hideMoreActions",label:S("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:S("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}},Rh=Ec,Ec.ID="editor.contrib.codeActionController",Ec.DECORATION=xn.register({description:"quickfix-highlight",className:OT}),Ec);$0=Rh=NT([va(1,Pw),va(2,Fn),va(3,nn),va(4,ki),va(5,Sp),va(6,zs),va(7,ns),va(8,Ju),va(9,nn),va(10,ua)],$0);V_((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(c3));const i=o.getColor(lA);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${kg(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function Up(o){return $e.regex(d5.keys()[0],new RegExp("(\\s|^)"+Bg(o.value)+"\\b"))}const C9={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:S("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:S("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[S("args.schema.apply.first","Always apply the first returned code action."),S("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),S("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:S("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function eh(o,e,t,i,n=Ho.Default){if(o.hasModel()){const s=$0.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class HT extends bt{constructor(){super({id:b9,label:S("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:$e.and(q.writable,q.hasCodeActionsProvider),kbOpts:{kbExpr:q.textInputFocus,primary:2137,weight:100}})}run(e,t){return eh(t,S("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,Ho.QuickFix)}}class WT extends Ao{constructor(){super({id:t5,precondition:$e.and(q.writable,q.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:C9}]}})}runEditorCommand(e,t,i){const n=Pa.fromUser(i,{kind:is.Empty,apply:"ifSingle"});return eh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?S("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):S("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?S("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):S("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}class zT extends bt{constructor(){super({id:n5,label:S("refactor.label","Refactor..."),alias:"Refactor...",precondition:$e.and(q.writable,q.hasCodeActionsProvider),kbOpts:{kbExpr:q.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:$e.and(q.writable,Up(Xn.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:C9}]}})}run(e,t,i){const n=Pa.fromUser(i,{kind:Xn.Refactor,apply:"never"});return eh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?S("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):S("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?S("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):S("editor.action.refactor.noneMessage","No refactorings available"),{include:Xn.Refactor.contains(n.kind)?n.kind:is.None,onlyIncludePreferredActions:n.preferred},n.apply,Ho.Refactor)}}class VT extends bt{constructor(){super({id:s5,label:S("source.label","Source Action..."),alias:"Source Action...",precondition:$e.and(q.writable,q.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:$e.and(q.writable,Up(Xn.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:C9}]}})}run(e,t,i){const n=Pa.fromUser(i,{kind:Xn.Source,apply:"never"});return eh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?S("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):S("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?S("editor.action.source.noneMessage.preferred","No preferred source actions available"):S("editor.action.source.noneMessage","No source actions available"),{include:Xn.Source.contains(n.kind)?n.kind:is.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,Ho.SourceAction)}}class jT extends bt{constructor(){super({id:N1,label:S("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:$e.and(q.writable,Up(Xn.SourceOrganizeImports)),kbOpts:{kbExpr:q.textInputFocus,primary:1581,weight:100}})}run(e,t){return eh(t,S("editor.action.organize.noneMessage","No organize imports action available"),{include:Xn.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Ho.OrganizeImports)}}class $T extends bt{constructor(){super({id:O1,label:S("fixAll.label","Fix All"),alias:"Fix All",precondition:$e.and(q.writable,Up(Xn.SourceFixAll))})}run(e,t){return eh(t,S("fixAll.noneMessage","No fix all action available"),{include:Xn.SourceFixAll,includeSourceActions:!0},"ifSingle",Ho.FixAll)}}class UT extends bt{constructor(){super({id:i5,label:S("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:$e.and(q.writable,Up(Xn.QuickFix)),kbOpts:{kbExpr:q.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return eh(t,S("editor.action.autoFix.noneMessage","No auto fixes available"),{include:Xn.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Ho.AutoFix)}}dn($0.ID,$0,3);dn(Vg.ID,Vg,4);Be(HT);Be(zT);Be(VT);Be(jT);Be(UT);Be($T);Ii(new WT);ca.as(Dp.Configuration).registerConfiguration({...j_,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:S("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});ca.as(Dp.Configuration).registerConfiguration({...j_,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:S("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});ca.as(Dp.Configuration).registerConfiguration({...j_,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:S("triggerOnFocusChange","Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.","`#editor.codeActionsOnSave#`","`#files.autoSave#`","`afterDelay`","`always`"),default:!1}}});class $1{constructor(){this.lenses=[],this._disposables=new Tt}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}async function h5(o,e,t){const i=o.ordered(e),n=new Map,s=new $1,r=i.map(async(a,d)=>{n.set(a,d);try{const u=await Promise.resolve(a.provideCodeLenses(e,t));u&&s.add(u,a)}catch(u){_s(u)}});return await Promise.all(r),s.lenses=s.lenses.sort((a,d)=>a.symbol.range.startLineNumber<d.symbol.range.startLineNumber?-1:a.symbol.range.startLineNumber>d.symbol.range.startLineNumber?1:n.get(a.provider)<n.get(d.provider)?-1:n.get(a.provider)>n.get(d.provider)?1:a.symbol.range.startColumn<d.symbol.range.startColumn?-1:a.symbol.range.startColumn>d.symbol.range.startColumn?1:0),s}Qn.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;In(Vn.isUri(t)),In(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(ki),s=o.get(mo).getModel(t);if(!s)throw vl();const r=[],a=new Tt;return h5(n,s,an.None).then(d=>{a.add(d);const u=[];for(const f of d.lenses)i==null||f.symbol.command?r.push(f.symbol):i-- >0&&f.provider.resolveCodeLens&&u.push(Promise.resolve(f.provider.resolveCodeLens(s,f.symbol,an.None)).then(g=>r.push(g||f.symbol)));return Promise.all(u)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var qT=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},GT=function(o,e){return function(t,i){e(t,i,o)}};const f5=Ml("ICodeLensCache");class P8{constructor(e,t){this.lineCount=e,this.data=t}}let U1=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Ap(20,.75);const t="codelens/cache";d3(u3,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=Is.filter(e.onWillSaveState,r=>r.reason===Tw.SHUTDOWN);Is.once(s)(r=>{e.store(i,this._serialize(),1,1)})}put(e,t){const i=t.lenses.map(r=>{var a;return{range:r.symbol.range,command:r.symbol.command&&{id:"",title:(a=r.symbol.command)==null?void 0:a.title}}}),n=new $1;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new P8(e.getLineCount(),n);this._cache.set(e.uri.toString(),s)}get(e){const t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){const e=Object.create(null);for(const[t,i]of this._cache){const n=new Set;for(const s of i.data.lenses)n.add(s.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...n.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const i in t){const n=t[i],s=[];for(const a of n.lines)s.push({range:new Q(a,1,a,11)});const r=new $1;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new P8(n.lineCount,r))}}catch{}}};U1=qT([GT(0,Gc)],U1);Rl(f5,U1,1);class KT{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){this._lastHeight===void 0?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}}const wg=class wg{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${wg._idPool++}`,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const i=[];let n=!1;for(let s=0;s<e.length;s++){const r=e[s];if(r&&(n=!0,r.command)){const a=h3(r.command.title.trim());if(r.command.id){const d=`c${wg._idPool++}`;i.push(gi("a",{id:d,title:r.command.tooltip,role:"button"},...a)),this._commands.set(d,r.command)}else i.push(gi("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(gi("span",void 0," | "))}}n?(ym(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):ym(this._domNode,gi("span",void 0,"no commands"))}getCommand(e){return e.parentElement===this._domNode?this._commands.get(e.id):void 0}getId(){return this._id}getDomNode(){return this._domNode}updatePosition(e){const t=this._editor.getModel().getLineFirstNonWhitespaceColumn(e);this._widgetPosition={position:{lineNumber:e,column:t},preference:[1]}}getPosition(){return this._widgetPosition||null}};wg._idPool=0;let q1=wg;class pC{constructor(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}addDecoration(e,t){this._addDecorations.push(e),this._addDecorationsCallbacks.push(t)}removeDecoration(e){this._removeDecorations.push(e)}commit(e){const t=e.deltaDecorations(this._removeDecorations,this._addDecorations);for(let i=0,n=t.length;i<n;i++)this._addDecorationsCallbacks[i](t[i])}}const T8=xn.register({collapseOnReplaceEdit:!0,description:"codelens"});class M8{constructor(e,t,i,n,s,r){this._isDisposed=!1,this._editor=t,this._data=e,this._decorationIds=[];let a;const d=[];this._data.forEach((u,f)=>{u.symbol.command&&d.push(u.symbol),i.addDecoration({range:u.symbol.range,options:T8},g=>this._decorationIds[f]=g),a?a=Q.plusRange(a,u.symbol.range):a=Q.lift(u.symbol.range)}),this._viewZone=new KT(a.startLineNumber-1,s,r),this._viewZoneId=n.addZone(this._viewZone),d.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(d,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new q1(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t==null||t.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),n=this._data[t].symbol;return!!(i&&Q.isEmpty(n.range)===i.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((i,n)=>{t.addDecoration({range:i.symbol.range,options:T8},s=>this._decorationIds[n]=s)})}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t<this._decorationIds.length;t++){const i=e.getDecorationRange(this._decorationIds[t]);i&&(this._data[t].symbol.range=i)}return this._data}updateCommands(e){this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(e,!0);for(let t=0;t<this._data.length;t++){const i=e[t];if(i){const{symbol:n}=this._data[t];n.command=i.command||n.command}}}getCommand(e){var t;return(t=this._contentWidget)==null?void 0:t.getCommand(e)}getLineNumber(){const e=this._editor.getModel().getDecorationRange(this._decorationIds[0]);return e?e.startLineNumber:-1}update(e){if(this.isValid()){const t=this._editor.getModel().getDecorationRange(this._decorationIds[0]);t&&(this._viewZone.afterLineNumber=t.startLineNumber-1,e.layoutZone(this._viewZoneId),this._contentWidget&&(this._contentWidget.updatePosition(t.startLineNumber),this._editor.layoutContentWidget(this._contentWidget)))}}}var ZT=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},Tf=function(o,e){return function(t,i){e(t,i,o)}},v0;let jg=(v0=class{constructor(e,t,i,n,s,r){this._editor=e,this._languageFeaturesService=t,this._commandService=n,this._notificationService=s,this._codeLensCache=r,this._disposables=new Tt,this._localToDispose=new Tt,this._lenses=[],this._oldCodeLensModels=new Tt,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new Ps(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{(a.hasChanged(50)||a.hasChanged(19)||a.hasChanged(18))&&this._updateLensStyle(),a.hasChanged(17)&&this._onModelChange()})),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var e;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),(e=this._currentCodeLensModel)==null||e.dispose()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(67)/this._editor.getOption(52));let t=this._editor.getOption(19);return(!t||t<5)&&(t=this._editor.getOption(52)*.9|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(18),n=this._editor.getOption(50),{style:s}=this._editor.getContainerDomNode();s.setProperty("--vscode-editorCodeLens-lineHeight",`${e}px`),s.setProperty("--vscode-editorCodeLens-fontSize",`${t}px`),s.setProperty("--vscode-editorCodeLens-fontFeatureSettings",n.fontFeatureSettings),i&&(s.setProperty("--vscode-editorCodeLens-fontFamily",i),s.setProperty("--vscode-editorCodeLens-fontFamilyDefault",Mw.fontFamily)),this._editor.changeViewZones(r=>{for(const a of this._lenses)a.updateHeight(e,r)})}_localDispose(){var e,t,i;(e=this._getCodeLensModelPromise)==null||e.cancel(),this._getCodeLensModelPromise=void 0,(t=this._resolveCodeLensesPromise)==null||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),(i=this._currentCodeLensModel)==null||i.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e||!this._editor.getOption(17)||e.isTooLargeForTokenization())return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e)){t&&Dg(()=>{const n=this._codeLensCache.get(e);t===n&&(this._codeLensCache.delete(e),this._onModelChange())},30*1e3,this._localToDispose);return}for(const n of this._languageFeaturesService.codeLensProvider.all(e))if(typeof n.onDidChange=="function"){const s=n.onDidChange(()=>i.schedule());this._localToDispose.add(s)}const i=new Ps(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=Us(r=>h5(this._languageFeaturesService.codeLensProvider,e,r)),this._getCodeLensModelPromise.then(r=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=r,this._codeLensCache.put(e,r);const a=this._provideCodeLensDebounce.update(e,Date.now()-n);i.delay=a,this._renderCodeLensSymbols(r),this._resolveCodeLensesInViewportSoon()},Un)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(ts(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{var n;this._editor.changeDecorations(s=>{this._editor.changeViewZones(r=>{const a=[];let d=-1;this._lenses.forEach(f=>{!f.isValid()||d===f.getLineNumber()?a.push(f):(f.update(r),d=f.getLineNumber())});const u=new pC;a.forEach(f=>{f.dispose(u,r),this._lenses.splice(this._lenses.indexOf(f),1)}),u.commit(s)})}),i.schedule(),this._resolveCodeLensesScheduler.cancel(),(n=this._resolveCodeLensesPromise)==null||n.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorText(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{i.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(n=>{n.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(ts(()=>{if(this._editor.getModel()){const n=I0.capture(this._editor);this._editor.changeDecorations(s=>{this._editor.changeViewZones(r=>{this._disposeAllLenses(s,r)})}),n.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(n=>{if(n.target.type!==9)return;let s=n.target.element;if((s==null?void 0:s.tagName)==="SPAN"&&(s=s.parentElement),(s==null?void 0:s.tagName)==="A")for(const r of this._lenses){const a=r.getCommand(s);if(a){this._commandService.executeCommand(a.id,...a.arguments||[]).catch(d=>this._notificationService.error(d));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new pC;for(const n of this._lenses)n.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),i=[];let n;for(const a of e.lenses){const d=a.symbol.range.startLineNumber;d<1||d>t||(n&&n[n.length-1].symbol.range.startLineNumber===d?n.push(a):(n=[a],i.push(n)))}if(!i.length&&!this._lenses.length)return;const s=I0.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(d=>{const u=new pC;let f=0,g=0;for(;g<i.length&&f<this._lenses.length;){const p=i[g][0].symbol.range.startLineNumber,C=this._lenses[f].getLineNumber();C<p?(this._lenses[f].dispose(u,d),this._lenses.splice(f,1)):C===p?(this._lenses[f].updateCodeLensSymbols(i[g],u),g++,f++):(this._lenses.splice(f,0,new M8(i[g],this._editor,u,d,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),f++,g++)}for(;f<this._lenses.length;)this._lenses[f].dispose(u,d),this._lenses.splice(f,1);for(;g<i.length;)this._lenses.push(new M8(i[g],this._editor,u,d,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),g++;u.commit(a)})}),s.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var r;(r=this._resolveCodeLensesPromise)==null||r.cancel(),this._resolveCodeLensesPromise=void 0;const e=this._editor.getModel();if(!e)return;const t=[],i=[];if(this._lenses.forEach(a=>{const d=a.computeIfNecessary(e);d&&(t.push(d),i.push(a))}),t.length===0)return;const n=Date.now(),s=Us(a=>{const d=t.map((u,f)=>{const g=new Array(u.length),p=u.map((C,b)=>!C.symbol.command&&typeof C.provider.resolveCodeLens=="function"?Promise.resolve(C.provider.resolveCodeLens(e,C.symbol,a)).then(y=>{g[b]=y},_s):(g[b]=C.symbol,Promise.resolve(void 0)));return Promise.all(p).then(()=>{!a.isCancellationRequested&&!i[f].isDisposed()&&i[f].updateCommands(g)})});return Promise.all(d)});this._resolveCodeLensesPromise=s,this._resolveCodeLensesPromise.then(()=>{const a=this._resolveCodeLensesDebounce.update(e,Date.now()-n);this._resolveCodeLensesScheduler.delay=a,this._currentCodeLensModel&&this._codeLensCache.put(e,this._currentCodeLensModel),this._oldCodeLensModels.clear(),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},a=>{Un(a),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){var e;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,(e=this._currentCodeLensModel)!=null&&e.isDisposed?void 0:this._currentCodeLensModel}},v0.ID="css.editor.codeLens",v0);jg=ZT([Tf(1,ki),Tf(2,fr),Tf(3,zs),Tf(4,xo),Tf(5,f5)],jg);dn(jg.ID,jg,1);Be(class extends bt{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:q.hasCodeLensProvider,label:S("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(e,t){if(!t.hasModel())return;const i=e.get(Tl),n=e.get(zs),s=e.get(xo),r=t.getSelection().positionLineNumber,a=t.getContribution(jg.ID);if(!a)return;const d=await a.getModel();if(!d)return;const u=[];for(const p of d.lenses)p.symbol.command&&p.symbol.range.startLineNumber===r&&u.push({label:p.symbol.command.title,command:p.symbol.command});if(u.length===0)return;const f=await i.pick(u,{canPickMany:!1,placeHolder:S("placeHolder","Select a command")});if(!f)return;let g=f.command;if(d.isDisposed){const p=await a.getModel(),C=p==null?void 0:p.lenses.find(b=>{var y;return b.symbol.range.startLineNumber===r&&((y=b.symbol.command)==null?void 0:y.title)===g.title});if(!C||!C.symbol.command)return;g=C.symbol.command}try{await n.executeCommand(g.id,...g.arguments||[])}catch(p){s.error(p)}}});var g5=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},G1=function(o,e){return function(t,i){e(t,i,o)}};let $g=class{constructor(e){this._editorWorkerService=e}async provideDocumentColors(e,t){return this._editorWorkerService.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,i){const n=t.range,s=t.color,r=s.alpha,a=new gn(new P0(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),d=r?gn.Format.CSS.formatRGB(a):gn.Format.CSS.formatRGBA(a),u=r?gn.Format.CSS.formatHSL(a):gn.Format.CSS.formatHSLA(a),f=r?gn.Format.CSS.formatHex(a):gn.Format.CSS.formatHexA(a),g=[];return g.push({label:d,textEdit:{range:n,text:d}}),g.push({label:u,textEdit:{range:n,text:u}}),g.push({label:f,textEdit:{range:n,text:f}}),g}};$g=g5([G1(0,Nl)],$g);let K1=class extends Nt{constructor(e,t){super(),this._register(e.colorProvider.register("*",new $g(t)))}};K1=g5([G1(0,ki),G1(1,Nl)],K1);lf(K1);async function p5(o,e,t,i=!0){return E9(new XT,o,e,t,i)}function x5(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class XT{constructor(){}async compute(e,t,i,n){const s=await e.provideDocumentColors(t,i);if(Array.isArray(s))for(const r of s)n.push({colorInfo:r,provider:e});return Array.isArray(s)}}class YT{constructor(){}async compute(e,t,i,n){const s=await e.provideDocumentColors(t,i);if(Array.isArray(s))for(const r of s)n.push({range:r.range,color:[r.color.red,r.color.green,r.color.blue,r.color.alpha]});return Array.isArray(s)}}class QT{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,an.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function E9(o,e,t,i,n){let s=!1,r;const a=[],d=e.ordered(t);for(let u=d.length-1;u>=0;u--){const f=d[u];if(f instanceof $g)r=f;else try{await o.compute(f,t,i,a)&&(s=!0)}catch(g){_s(g)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function m5(o,e){const{colorProvider:t}=o.get(ki),i=o.get(mo).getModel(e);if(!i)throw vl();const n=o.get(ns).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}Qn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof Vn))throw vl();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=m5(o,t);return E9(new YT,n,i,an.None,s)});Qn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof Vn)||!Array.isArray(t)||t.length!==4||!Q.isIRange(s))throw vl();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:d}=m5(o,n),[u,f,g,p]=t;return E9(new QT({range:s,color:{red:u,green:f,blue:g,alpha:p}}),a,r,an.None,d)});var JT=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},xC=function(o,e){return function(t,i){e(t,i,o)}},Z1;const v5=Object.create({});var yc;let U0=(yc=class extends Nt{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new Tt),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new cA(this._editor),this._decoratorLimitReporter=new eM,this._colorDecorationClassRefs=this._register(new Tt),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:Z1.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(e.onDidChangeModelLanguage(()=>this.updateColors())),this._register(i.colorProvider.onDidChange(()=>this.updateColors())),this._register(e.onDidChangeConfiguration(s=>{const r=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148);const a=r!==this._isColorDecoratorsEnabled||s.hasChanged(21),d=s.hasChanged(148);(a||d)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148),this.updateColors()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&typeof i=="object"){const n=i.colorDecorators;if(n&&n.enable!==void 0&&!n.enable)return n.enable}return this._editor.getOption(20)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const e=this._editor.getModel();!e||!this._languageFeaturesService.colorProvider.has(e)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new wp,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=Us(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new Oo(!1),n=await p5(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(t,i.elapsed()),n});try{const e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){Un(e)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map(i=>({range:{startLineNumber:i.colorInfo.range.startLineNumber,startColumn:i.colorInfo.range.startColumn,endLineNumber:i.colorInfo.range.endLineNumber,endColumn:i.colorInfo.range.endColumn},options:xn.EMPTY}));this._editor.changeDecorations(i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((n,s)=>this._colorDatas.set(n,e[s]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],i=this._editor.getOption(21);for(let s=0;s<e.length&&t.length<i;s++){const{red:r,green:a,blue:d,alpha:u}=e[s].colorInfo.color,f=new P0(Math.round(r*255),Math.round(a*255),Math.round(d*255),u),g=`rgba(${f.r}, ${f.g}, ${f.b}, ${f.a})`,p=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:g}));t.push({range:{startLineNumber:e[s].colorInfo.range.startLineNumber,startColumn:e[s].colorInfo.range.startColumn,endLineNumber:e[s].colorInfo.range.endLineNumber,endColumn:e[s].colorInfo.range.endColumn},options:{description:"colorDetector",before:{content:oA,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:v5}}})}const n=i<e.length?i:!1;this._decoratorLimitReporter.update(e.length,n),this._colorDecoratorIds.set(t)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(e){const t=this._editor.getModel();if(!t)return null;const i=t.getDecorationsInRange(Q.fromPositions(e,e)).filter(n=>this._colorDatas.has(n.id));return i.length===0?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}},Z1=yc,yc.ID="editor.contrib.colorDetector",yc.RECOMPUTE_TIME=1e3,yc);U0=Z1=JT([xC(1,ns),xC(2,ki),xC(3,fr)],U0);class eM{constructor(){this._onDidChange=new rn,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}dn(U0.ID,U0,1);class tM{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new rn,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new rn,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new rn,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let n=0;n<this.colorPresentations.length;n++)if(t.toLowerCase()===this.colorPresentations[n].label){i=n;break}if(i===-1){const n=t.split("(")[0].toLowerCase();for(let s=0;s<this.colorPresentations.length;s++)if(this.colorPresentations[s].label.toLowerCase().startsWith(n)){i=s;break}}i!==-1&&i!==this.presentationIndex&&(this.presentationIndex=i,this._onDidChangePresentation.fire(this.presentation))}flushColor(){this._onColorFlushed.fire(this._color)}}const Go=gi;class iM extends Nt{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Go(".colorpicker-header"),li(e,this._domNode),this._pickedColorNode=li(this._domNode,Go(".picked-color")),li(this._pickedColorNode,Go("span.codicon.codicon-color-mode")),this._pickedColorPresentation=li(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const s=S("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",s),this._originalColorNode=li(this._domNode,Go(".original-color")),this._originalColorNode.style.backgroundColor=gn.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(kS)||gn.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(kS)||gn.white})),this._register(Bn(this._pickedColorNode,as.CLICK,()=>this.model.selectNextColorPresentation())),this._register(Bn(this._originalColorNode,as.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=gn.Format.CSS.format(t.color)||"",this._pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new nM(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=gn.Format.CSS.format(e)||"",this._pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}class nM extends Nt{constructor(e){super(),this._onClicked=this._register(new rn),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),li(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),li(this._button,t),li(t,Go(".button"+Tn.asCSSSelector(ms("color-picker-close",Gi.close,S("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(Bn(this._button,as.CLICK,()=>{this._onClicked.fire()}))}}class sM extends Nt{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Go(".colorpicker-body"),li(e,this._domNode),this._saturationBox=new oM(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new rM(this._domNode,this.model,n),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new aM(this._domNode,this.model,n),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),n&&(this._insertButton=this._register(new lM(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new gn(new Kx(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new gn(new Kx(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new gn(new Kx(i===360?0:i,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}class oM extends Nt{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new rn,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new rn,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Go(".saturation-wrap"),li(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",li(this._domNode,this._canvas),this.selection=Go(".saturation-selection"),li(this._domNode,this.selection),this.layout(),this._register(Bn(this._domNode,as.POINTER_DOWN,n=>this.onPointerDown(n))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new dA);const t=yo(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,n=>this.onDidChangePosition(n.pageX-t.left,n.pageY-t.top),()=>null);const i=Bn(e.target.ownerDocument,as.POINTER_UP,()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(e,t){const i=Math.max(0,Math.min(1,e/this.width)),n=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,n),this._onDidChange.fire({s:i,v:n})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){const e=this.model.color.hsva,t=new gn(new Kx(e.h,1,1,1)),i=this._canvas.getContext("2d"),n=i.createLinearGradient(0,0,this._canvas.width,0);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),n.addColorStop(1,"rgba(255, 255, 255, 0)");const s=i.createLinearGradient(0,0,0,this._canvas.height);s.addColorStop(0,"rgba(0, 0, 0, 0)"),s.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=gn.Format.CSS.format(t),i.fill(),i.fillStyle=n,i.fill(),i.fillStyle=s,i.fill()}paintSelection(e,t){this.selection.style.left=`${e*this.width}px`,this.selection.style.top=`${this.height-t*this.height}px`}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const t=e.hsva;this.paintSelection(t.s,t.v)}}class _5 extends Nt{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new rn,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new rn,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=li(e,Go(".standalone-strip")),this.overlay=li(this.domNode,Go(".standalone-overlay"))):(this.domNode=li(e,Go(".strip")),this.overlay=li(this.domNode,Go(".overlay"))),this.slider=li(this.domNode,Go(".slider")),this.slider.style.top="0px",this._register(Bn(this.domNode,as.POINTER_DOWN,n=>this.onPointerDown(n))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){const t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._register(new dA),i=yo(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,s=>this.onDidChangeTop(s.pageY-i.top),()=>null);const n=Bn(e.target.ownerDocument,as.POINTER_UP,()=>{this._onColorFlushed.fire(),n.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(e){const t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=`${(1-e)*this.height}px`}}class rM extends _5{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);const{r:t,g:i,b:n}=e.rgba,s=new gn(new P0(t,i,n,1)),r=new gn(new P0(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class aM extends _5{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class lM extends Nt{constructor(e){super(),this._onClicked=this._register(new rn),this.onClicked=this._onClicked.event,this._button=li(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Bn(this._button,as.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class cM extends kp{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(f3.getInstance(Id(e)).onDidChange(()=>this.layout())),this._domNode=Go(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new iM(this._domNode,this.model,n,s)),this.body=this._register(new sM(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class mC{constructor(e,t,i,n){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=n,this.type=1}equals(e){return e.type===1&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return e.type===1&&t.lineNumber===this.range.startLineNumber}}class om{constructor(e,t,i,n,s,r){this.priority=e,this.owner=t,this.range=i,this.initialMousePosX=n,this.initialMousePosY=s,this.supportsMarkerHover=r,this.type=2}equals(e){return e.type===2&&this.owner===e.owner}canAdoptVisibleHover(e,t){return e.type===2&&this.owner===e.owner}}class zu{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const th=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var b5=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},C5=function(o,e){return function(t,i){e(t,i,o)}};class dM{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let Ug=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return sa.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=U0.get(this._editor);if(!n)return[];for(const s of t){if(!n.isColorDecoration(s))continue;const r=n.getColorData(s.range.getStartPosition());if(r)return[await E5(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=y5(this,this._editor,this._themeService,t,e);if(!i)return new zu([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new zu([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};Ug=b5([C5(1,Wr)],Ug);class uM{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let qg=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!U0.get(this._editor))return null;const s=await p5(i,this._editor.getModel(),an.None);let r=null,a=null;for(const g of s){const p=g.colorInfo;Q.containsRange(p.range,e.range)&&(r=p,a=g.provider)}const d=r??e,u=a??t,f=!!r;return{colorHover:await E5(this,this._editor.getModel(),d,u),foundInEditor:f}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new Q(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await rm(this._editor.getModel(),t,this._color,i,e),i=w5(this._editor,i,t))}renderHoverParts(e,t){return y5(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};qg=b5([C5(1,Wr)],qg);async function E5(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:d}=t.color,u=new P0(Math.round(s*255),Math.round(r*255),Math.round(a*255),d),f=new gn(u),g=await x5(e,t,i,an.None),p=new tM(f,[],0);return p.colorPresentations=g||[],p.guessColorPresentation(f,n),o instanceof Ug?new dM(o,Q.lift(t.range),p,i):new uM(o,Q.lift(t.range),p,i)}function y5(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new Zn(302,p))}const s=new Tt,r=i[0],a=e.getModel(),d=r.model,u=s.add(new cM(n.fragment,d,e.getOption(144),t,o instanceof qg));let f=!1,g=new Q(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof qg){const p=r.model.color;o.color=p,rm(a,d,p,g,r),s.add(d.onColorFlushed(C=>{o.color=C}))}else s.add(d.onColorFlushed(async p=>{await rm(a,d,p,g,r),f=!0,g=w5(e,g,d)}));return s.add(d.onDidChangeColor(p=>{rm(a,d,p,g,r)})),s.add(e.onDidChangeModelContent(p=>{f?f=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:u,disposables:s}}function w5(o,e,t){const i=[],n=t.presentation.textEdit??{range:e,text:t.presentation.label,forceMoveMarkers:!1};i.push(n),t.presentation.additionalTextEdits&&i.push(...t.presentation.additionalTextEdits);const s=Q.lift(n.range),r=o.getModel()._setTrackedRange(null,s,3);return o.executeEdits("colorpicker",i),o.pushUndoStop(),o.getModel()._getTrackedRange(r)??s}async function rm(o,e,t,i,n){const s=await x5(o,{range:i,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},n.provider,an.None);e.colorPresentations=s||[]}const S5="editor.action.showHover",hM="editor.action.showDefinitionPreviewHover",fM="editor.action.scrollUpHover",gM="editor.action.scrollDownHover",pM="editor.action.scrollLeftHover",xM="editor.action.scrollRightHover",mM="editor.action.pageUpHover",vM="editor.action.pageDownHover",_M="editor.action.goToTopHover",bM="editor.action.goToBottomHover",fb="editor.action.increaseHoverVerbosityLevel",CM=S({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),gb="editor.action.decreaseHoverVerbosityLevel",EM=S({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),D5="editor.action.inlineSuggest.commit",A5="editor.action.inlineSuggest.showPrevious",k5="editor.action.inlineSuggest.showNext";var y9=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},Br=function(o,e){return function(t,i){e(t,i,o)}},am;let X1=class extends Nt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=Hn(this,n=>{var d,u;const s=(d=this.model.read(n))==null?void 0:d.primaryGhostText.read(n);if(!this.alwaysShowToolbar.read(n)||!s||s.parts.length===0)return this.sessionPosition=void 0,null;const r=s.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==s.lineNumber&&(this.sessionPosition=void 0);const a=new Ai(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Bp((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=gA((u,f)=>{const g=f.add(this.instantiationService.createInstance(q0,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(g),f.add(ts(()=>e.removeContentWidget(g))),f.add(rs(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==_l.Explicit&&r.triggerExplicitly()})),g}),d=$_(this,(u,f)=>!!this.position.read(u)||!!f);s.add(rs(u=>{d.read(u)&&a.read(u)}))}))}};X1=y9([Br(2,nn)],X1);const yM=ms("inline-suggestion-hints-next",Gi.chevronRight,S("parameterHintsNextIcon","Icon for show next parameter hint.")),wM=ms("inline-suggestion-hints-previous",Gi.chevronLeft,S("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var wc;let q0=(wc=class extends Nt{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new T0(e,t,i,!0,()=>this._commandService.executeCommand(e)),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let r=t;return s&&(r=S({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,s.getLabel())),n.tooltip=r,n}constructor(e,t,i,n,s,r,a,d,u,f,g){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=n,this._suggestionCount=s,this._extraCommands=r,this._commandService=a,this.keybindingService=u,this._contextKeyService=f,this._menuService=g,this.id=`InlineSuggestionHintsContentWidget${am.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Fr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Fr("div@toolBar")]),this.previousAction=this.createCommandAction(A5,S("previous","Previous"),Tn.asClassName(wM)),this.availableSuggestionCountAction=new T0("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(k5,S("next","Next"),Tn.asClassName(yM)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(ri.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new Ps(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new Ps(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(d.createInstance(Y1,this.nodes.toolBar,ri.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,C)=>{if(p instanceof M0)return d.createInstance(DM,p,void 0);if(p===this.availableSuggestionCountAction){const b=new SM(void 0,p,{label:!0,icon:!1});return b.setClass("availableSuggestionCount"),b}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(p=>{am._dropDownVisible=p})),this._register(rs(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(rs(p=>{const C=this._suggestionCount.read(p),b=this._currentSuggestionIdx.read(p);C!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${b+1}/${C}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),C!==void 0&&C>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(rs(p=>{const b=this._extraCommands.read(p).map(y=>({class:void 0,id:y.id,enabled:!0,tooltip:y.tooltip||"",label:y.title,run:w=>this._commandService.executeCommand(y.id)}));for(const[y,w]of this.inlineCompletionsActionsMenus.getActions())for(const A of w)A instanceof M0&&b.push(A);b.length>0&&b.unshift(new Fg),this.toolBar.setAdditionalSecondaryActions(b)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},am=wc,wc._dropDownVisible=!1,wc.id=0,wc);q0=am=y9([Br(6,zs),Br(7,nn),Br(8,Ds),Br(9,Fn),Br(10,Zu)],q0);class SM extends JC{constructor(){super(...arguments),this._className=void 0}setClass(e){this._className=e}render(e){super.render(e),this._className&&e.classList.add(this._className)}updateTooltip(){}}let DM=class extends uA{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Fr("div.keybinding").root;this._register(new Bw(t,Fw,{disableTitle:!0,...hA})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},Y1=class extends fA{constructor(e,t,i,n,s,r,a,d,u){super(e,{resetMenu:t,...i},n,s,r,a,d,u),this.menuId=t,this.options2=i,this.menuService=n,this.contextKeyService=s,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,n,s,r,a,d,u;const e=[],t=[];Rw(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(s=(n=this.options2)==null?void 0:n.toolbarOptions)==null?void 0:s.primaryGroup,(a=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:a.shouldInlineSubmenu,(u=(d=this.options2)==null?void 0:d.toolbarOptions)==null?void 0:u.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){ja(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){ja(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};Y1=y9([Br(3,Zu),Br(4,Fn),Br(5,of),Br(6,Ds),Br(7,zs),Br(8,ua)],Y1);function pb(o,e,t){const i=yo(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let AM=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class B5 extends Nt{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new rn),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new Ps(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new Ps(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new Ps(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=g3(e=>this._computer.computeAsync(e)),(async()=>{try{for await(const e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(e){Un(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){this._state===3&&this._setState(4)}_fireResult(){if(this._state===1||this._state===2)return;const e=this._state===0,t=this._state===4;this._onResult.fire(new AM(this._result.slice(0),e,t))}start(e){if(e===0)this._state===0&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}class w9{constructor(){this._onDidWillResize=new rn,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new rn,this.onDidResize=this._onDidResize.event,this._sashListener=new Tt,this._size=new Zn(0,0),this._minSize=new Zn(0,0),this._maxSize=new Zn(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new Wh(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Wh(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Wh(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:BS.North}),this._southSash=new Wh(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:BS.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let e,t=0,i=0;this._sashListener.add(Is.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{e===void 0&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)})),this._sashListener.add(Is.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{e!==void 0&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(n=>{e&&(i=n.currentX-n.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(n=>{e&&(i=-(n.currentX-n.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(n=>{e&&(t=-(n.currentY-n.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(n=>{e&&(t=n.currentY-n.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(Is.any(this._eastSash.onDidReset,this._westSash.onDidReset)(n=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(Is.any(this._northSash.onDidReset,this._southSash.onDidReset)(n=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,i,n){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=n?3:0}layout(e=this.size.height,t=this.size.width){const{height:i,width:n}=this._minSize,{height:s,width:r}=this._maxSize;e=Math.max(i,Math.min(s,e)),t=Math.max(n,Math.min(r,t));const a=new Zn(t,e);Zn.equals(a,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=a,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}}const kM=30,BM=24;class FM extends Nt{constructor(e,t=new Zn(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new w9),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=Zn.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(i=>{this._resize(new Zn(i.dimension.width,i.dimension.height)),i.done&&(this._isResizing=!1)})),this._register(this._resizableNode.onDidWillResize(()=>{this._isResizing=!0}))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){var e;return(e=this._contentPosition)!=null&&e.position?Ai.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:yo(t).top+i.top-kM}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=yo(t),s=Fp(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-BM}_findPositionPreference(e,t){const i=Math.min(this._availableVerticalSpaceBelow(t)??1/0,e),n=Math.min(this._availableVerticalSpaceAbove(t)??1/0,e),s=Math.min(Math.max(n,i),e),r=Math.min(e,s);let a;return this._editor.getOption(60).above?a=r<=n?1:2:a=r<=i?2:1,a===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),a}_resize(e){this._resizableNode.layout(e.height,e.width)}}var LM=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},vx=function(o,e){return function(t,i){e(t,i,o)}},Ea;const R8=30,IM=6;var Sc;let Q1=(Sc=class extends FM{get isVisibleFromKeyboard(){var e;return((e=this._renderedHover)==null?void 0:e.source)===1}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(e,t,i,n,s){const r=e.getOption(67)+8,a=150,d=new Zn(a,r);super(e,d),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new pA),this._onDidResize=this._register(new rn),this.onDidResize=this._onDidResize.event,this._minimumSize=d,this._hoverVisibleKey=q.hoverVisible.bindTo(t),this._hoverFocusedKey=q.hoverFocused.bindTo(t),li(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(f=>{f.hasChanged(50)&&this._updateFont()}));const u=this._register(F0(this._resizableNode.domNode));this._register(u.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(u.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){var e;super.dispose(),(e=this._renderedHover)==null||e.dispose(),this._editor.removeContentWidget(this)}getId(){return Ea.ID}static _applyDimensions(e,t,i){const n=typeof t=="number"?`${t}px`:t,s=typeof i=="number"?`${i}px`:i;e.style.width=n,e.style.height=s}_setContentsDomNodeDimensions(e,t){const i=this._hover.contentsDomNode;return Ea._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return Ea._applyDimensions(i,e,t)}_setHoverWidgetDimensions(e,t){this._setContentsDomNodeDimensions(e,t),this._setContainerDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,i){const n=typeof t=="number"?`${t}px`:t,s=typeof i=="number"?`${i}px`:i;e.style.maxWidth=n,e.style.maxHeight=s}_setHoverWidgetMaxDimensions(e,t){Ea._applyMaxDimensions(this._hover.contentsDomNode,e,t),Ea._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth",typeof e=="number"?`${e}px`:e),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions("none","none");const t=e.width,i=e.height;this._setHoverWidgetDimensions(t,i)}_updateResizableNodeMaxDimensions(){const e=this._findMaximumRenderingWidth()??1/0,t=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new Zn(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){Ea._lastDimensions=new Zn(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){var t;const e=(t=this._renderedHover)==null?void 0:t.showAtPosition;if(e)return this._positionPreference===1?this._availableVerticalSpaceAbove(e):this._availableVerticalSpaceBelow(e)}_findMaximumRenderingHeight(){const e=this._findAvailableSpaceVertically();if(!e)return;let t=IM;return Array.from(this._hover.contentsDomNode.children).forEach(i=>{t+=i.clientHeight}),Math.min(e,t)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const e=Array.from(this._hover.contentsDomNode.children).some(t=>t.scrollWidth>t.clientWidth);return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),e}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;const e=this._isHoverTextOverflowing(),t=typeof this._contentWidth>"u"?0:this._contentWidth-2;return e||this._hover.containerDomNode.clientWidth<t?Fp(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth+2}isMouseGettingCloser(e,t){if(!this._renderedHover)return!1;if(this._renderedHover.initialMousePosX===void 0||this._renderedHover.initialMousePosY===void 0)return this._renderedHover.initialMousePosX=e,this._renderedHover.initialMousePosY=t,!1;const i=yo(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=N8(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=N8(e,t,i.left,i.top,i.width,i.height);return n>this._renderedHover.closestMouseDistance+4?!1:(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,n),!0)}_setRenderedHover(e){var t;(t=this._renderedHover)==null||t.dispose(),this._renderedHover=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){const{fontSize:e,lineHeight:t}=this._editor.getOption(50),i=this._hover.contentsDomNode;i.style.fontSize=`${e}px`,i.style.lineHeight=`${t/e}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(s=>this._editor.applyFontInfo(s))}_updateContent(e){const t=this._hover.contentsDomNode;t.style.paddingBottom="",t.textContent="",t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const e=Math.max(this._editor.getLayoutInfo().height/4,250,Ea._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,Ea._lastDimensions.width);this._setHoverWidgetMaxDimensions(t,e)}_render(e){this._setRenderedHover(e),this._updateFont(),this._updateContent(e.domNode),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){return this._renderedHover?{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[this._positionPreference??1]}:null}show(e){var r;if(!this._editor||!this._editor.hasModel())return;this._render(e);const t=zh(this._hover.containerDomNode),i=e.showAtPosition;this._positionPreference=this._findPositionPreference(t,i)??1,this.onContentsChanged(),e.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();const s=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&p3(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),((r=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))==null?void 0:r.getAriaLabel())??"");s&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+s)}hide(){if(!this._renderedHover)return;const e=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new Zn(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),e&&this._editor.focus()}_removeConstraintsRenderNormally(){const e=this._editor.getLayoutInfo();this._resizableNode.layout(e.height,e.width),this._setHoverWidgetDimensions("auto","auto")}setMinimumDimensions(e){this._minimumSize=new Zn(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const e=typeof this._contentWidth>"u"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new Zn(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=zh(e),i=yr(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=zh(e),i=yr(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=zh(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(s,this._renderedHover.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-R8})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+R8})}pageUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}},Ea=Sc,Sc.ID="editor.contrib.resizableContentHoverWidget",Sc._lastDimensions=new Zn(0,0),Sc);Q1=Ea=LM([vx(1,Fn),vx(2,ns),vx(3,U_),vx(4,Ds)],Q1);function N8(o,e,t,i,n,s){const r=t+n/2,a=i+s/2,d=Math.max(Math.abs(o-r)-n/2,0),u=Math.max(Math.abs(e-a)-s/2,0);return Math.sqrt(d*d+u*u)}class $m{get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}get source(){return this._source}set source(e){this._source=e}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(e){this._insistOnKeepingHoverVisible=e}constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(e,t){if(t.type!==1&&!t.supportsMarkerHover)return[];const i=e.getModel(),n=t.range.startLineNumber;if(n>i.getLineCount())return[];const s=i.getLineMaxColumn(n);return e.getLineDecorations(n).filter(r=>{if(r.options.isWholeLine)return!0;const a=r.range.startLineNumber===n?r.range.startColumn:1,d=r.range.endLineNumber===n?r.range.endColumn:s;if(r.options.showIfCollapsed){if(a>t.range.startColumn+1||t.range.endColumn-1>d)return!1}else if(a>t.range.startColumn||t.range.endColumn>d)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return sa.EMPTY;const i=$m._getLineDecorations(this._editor,t);return sa.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):sa.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=$m._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return yl(t)}}class F5{constructor(e,t,i){this.anchor=e,this.hoverParts=t,this.isComplete=i}filter(e){const t=this.hoverParts.filter(i=>i.isValidForHoverAnchor(e));return t.length===this.hoverParts.length?this:new PM(this,this.anchor,t,this.isComplete)}}class PM extends F5{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var TM=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},MM=function(o,e){return function(t,i){e(t,i,o)}};const O8=gi;let Um=class extends Nt{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=O8("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=li(this.hoverElement,O8("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(x3.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=li(this.actionsElement,e);return this._hasContent=!0,t}};Um=TM([MM(0,Ds)],Um);class RM{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function NM(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(_s);if(!(!s||!OM(s)))return new RM(o,s,e)}function S9(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,d)=>NM(a,d,e,t,i));return sa.fromPromises(r).coalesce()}function L5(o,e,t,i,n=!1){return S9(o,e,t,i,n).map(s=>s.hover).toPromise()}ko("_executeHoverProvider",(o,e,t)=>{const i=o.get(ki);return L5(i.hoverProvider,e,t,an.None)});ko("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(ki);return L5(i.hoverProvider,e,t,an.None,!0)});function OM(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var HM=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},dd=function(o,e){return function(t,i){e(t,i,o)}};const qh=gi,WM=ms("hover-increase-verbosity",Gi.add,S("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),zM=ms("hover-decrease-verbosity",Gi.remove,S("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class Ir{constructor(e,t,i,n,s,r=void 0){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=n,this.ordinal=s,this.source=r}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}class I5{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case cr.Increase:return this.hover.canIncreaseVerbosity??!1;case cr.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let Gg=class{constructor(e,t,i,n,s,r,a,d){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=n,this._languageFeaturesService=s,this._keybindingService=r,this._hoverService=a,this._commandService=d,this.hoverOrdinal=3}createLoadingMessage(e){return new Ir(this,e.range,[new ao().appendText(S("modesContentHover.loading","Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,s=i.getLineMaxColumn(n),r=[];let a=1e3;const d=i.getLineLength(n),u=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),f=this._editor.getOption(118),g=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:u});let p=!1;f>=0&&d>f&&e.range.startColumn>=f&&(p=!0,r.push(new Ir(this,e.range,[{value:S("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!p&&typeof g=="number"&&d>=g&&r.push(new Ir(this,e.range,[{value:S("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let C=!1;for(const b of t){const y=b.range.startLineNumber===n?b.range.startColumn:1,w=b.range.endLineNumber===n?b.range.endColumn:s,A=b.options.hoverMessage;if(!A||Lg(A))continue;b.options.beforeContentClassName&&(C=!0);const P=new Q(e.range.startLineNumber,y,e.range.startLineNumber,w);r.push(new Ir(this,P,xA(A),C,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return sa.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):sa.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return S9(e,t,s,n).filter(d=>!Lg(d.hover.contents)).map(d=>{const u=d.hover.range?Q.lift(d.hover.range):i.range,f=new I5(d.hover,d.provider,s);return new Ir(this,u,d.hover.contents,!1,d.ordinal,f)})}renderHoverParts(e,t){return this._renderedHoverParts=new VM(t,e.fragment,this,this._editor,this._languageService,this._openerService,this._commandService,this._keybindingService,this._hoverService,this._configurationService,e.onContentsChanged),this._renderedHoverParts}updateMarkdownHoverVerbosityLevel(e,t,i){var n;return Promise.resolve((n=this._renderedHoverParts)==null?void 0:n.updateMarkdownHoverPartVerbosityLevel(e,t,i))}};Gg=HM([dd(1,ha),dd(2,da),dd(3,ns),dd(4,ki),dd(5,Ds),dd(6,Lp),dd(7,zs)],Gg);class _x{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class VM{constructor(e,t,i,n,s,r,a,d,u,f,g){this._hoverParticipant=i,this._editor=n,this._languageService=s,this._openerService=r,this._commandService=a,this._keybindingService=d,this._hoverService=u,this._configurationService=f,this._onFinishedRendering=g,this._ongoingHoverOperations=new Map,this._disposables=new Tt,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(ts(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(Ip(n=>n.ordinal,q_)),e.map(n=>{const s=this._renderHoverPart(n,i);return t.appendChild(s.hoverElement),s})}_renderHoverPart(e,t){const i=this._renderMarkdownHover(e,t),n=i.hoverElement,s=e.source,r=new Tt;if(r.add(i),!s)return new _x(e,n,r);const a=s.supportsVerbosityAction(cr.Increase),d=s.supportsVerbosityAction(cr.Decrease);if(!a&&!d)return new _x(e,n,r);const u=qh("div.verbosity-actions");return n.prepend(u),r.add(this._renderHoverExpansionAction(u,cr.Increase,a)),r.add(this._renderHoverExpansionAction(u,cr.Decrease,d)),new _x(e,n,r)}_renderMarkdownHover(e,t){return P5(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new Tt,s=t===cr.Increase,r=li(e,qh(Tn.asCSSSelector(s?WM:zM)));r.tabIndex=0;const a=new m3("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,$M(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const d=()=>this._commandService.executeCommand(t===cr.Increase?fb:gb);return n.add(new v3(r,d)),n.add(new _3(r,d,[3,10])),n}async updateMarkdownHoverPartVerbosityLevel(e,t,i=!0){const n=this._editor.getModel();if(!n)return;const s=this._getRenderedHoverPartAtIndex(t),r=s==null?void 0:s.hoverPart.source;if(!s||!(r!=null&&r.supportsVerbosityAction(e)))return;const a=await this._fetchHover(r,n,e);if(!a)return;const d=new I5(a,r.hoverProvider,r.hoverPosition),u=s.hoverPart,f=new Ir(this._hoverParticipant,u.range,a.contents,u.isBeforeContent,u.ordinal,d),g=this._renderHoverPart(f,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(t,g,f),i&&this._focusOnHoverPartWithIndex(t),{hoverPart:f,hoverElement:g.hoverElement}}async _fetchHover(e,t,i){let n=i===cr.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new qs;this._ongoingHoverOperations.set(s,{verbosityDelta:n,tokenSource:a});const d={verbosityRequest:{verbosityDelta:n,previousHover:e.hover}};let u;try{u=await Promise.resolve(s.provideHover(t,e.hoverPosition,a.token,d))}catch(f){_s(f)}return a.dispose(),this._ongoingHoverOperations.delete(s),u}_replaceRenderedHoverPartAtIndex(e,t,i){if(e>=this.renderedHoverParts.length||e<0)return;const n=this.renderedHoverParts[e],s=n.hoverElement,r=t.hoverElement,a=Array.from(r.children);s.replaceChildren(...a);const d=new _x(i,s,t.disposables);s.focus(),n.dispose(),this.renderedHoverParts[e]=d}_focusOnHoverPartWithIndex(e){this.renderedHoverParts[e].hoverElement.focus()}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}}function jM(o,e,t,i,n){e.sort(Ip(r=>r.ordinal,q_));const s=[];for(const r of e)s.push(P5(t,r,i,n,o.onContentsChanged));return new zu(s)}function P5(o,e,t,i,n){const s=new Tt,r=qh("div.hover-row"),a=qh("div.hover-row-contents");r.appendChild(a);const d=e.contents;for(const f of d){if(Lg(f))continue;const g=qh("div.markdown-hover"),p=li(g,qh("div.hover-contents")),C=s.add(new cf({editor:o},t,i));s.add(C.onDidRenderAsync(()=>{p.className="hover-contents code-hover-contents",n()}));const b=s.add(C.render(f));p.appendChild(b.element),a.appendChild(g)}return{hoverPart:e,hoverElement:r,dispose(){s.dispose()}}}function $M(o,e){switch(e){case cr.Increase:{const t=o.lookupKeybinding(fb);return t?S("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):S("increaseVerbosity","Increase Hover Verbosity")}case cr.Decrease:{const t=o.lookupKeybinding(gb);return t?S("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):S("decreaseVerbosity","Decrease Hover Verbosity")}}}function J1(o,e){return!!o[e]}class vC{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=J1(e.event,t.triggerModifier),this.hasSideBySideModifier=J1(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class H8{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=J1(e,t.triggerModifier)}}class bx{constructor(e,t,i,n){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=n}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function W8(o){return o==="altKey"?$a?new bx(57,"metaKey",6,"altKey"):new bx(5,"ctrlKey",6,"altKey"):$a?new bx(6,"altKey",57,"metaKey"):new bx(6,"altKey",5,"ctrlKey")}class xb extends Nt{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new rn),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new rn),this.onExecute=this._onExecute.event,this._onCancel=this._register(new rn),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=(t==null?void 0:t.extractLineNumberFromMouseEvent)??(i=>i.target.position?i.target.position.lineNumber:0),this._opts=W8(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(i=>{if(i.hasChanged(78)){const n=W8(this._editor.getOption(78));if(this._opts.equals(n))return;this._opts=n,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(i=>this._onEditorMouseMove(new vC(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new vC(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new vC(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new H8(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new H8(i,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(i=>this._onDidChangeCursorSelection(i))),this._register(this._editor.onDidChangeModel(i=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(i=>{(i.scrollTopChanged||i.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){const t=this._extractLineNumberFromMouseEvent(e);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}class T5{constructor(e,t){this.range=e,this.direction=t}}class D9{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new D9(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}async resolve(e){if(typeof this.provider.resolveInlayHint=="function"){if(this._currentResolve)return await this._currentResolve,e.isCancellationRequested?void 0:this.resolve(e);this._isResolved||(this._currentResolve=this._doResolve(e).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){try{const t=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=(t==null?void 0:t.tooltip)??this.hint.tooltip,this.hint.label=(t==null?void 0:t.label)??this.hint.label,this.hint.textEdits=(t==null?void 0:t.textEdits)??this.hint.textEdits,this._isResolved=!0}catch(t){_s(t),this._isResolved=!1}}}const e0=class e0{static async create(e,t,i,n){const s=[],r=e.ordered(t).reverse().map(a=>i.map(async d=>{try{const u=await a.provideInlayHints(t,d,n);(u!=null&&u.hints.length||a.onDidChangeInlayHints)&&s.push([u??e0._emptyInlayHintList,a])}catch(u){_s(u)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new W_;return new e0(i,s,t)}constructor(e,t,i){this._disposables=new Tt,this.ranges=e,this.provider=new Set;const n=[];for(const[s,r]of t){this._disposables.add(s),this.provider.add(r);for(const a of s.hints){const d=i.validatePosition(a.position);let u="before";const f=e0._getRangeAtPosition(i,d);let g;f.getStartPosition().isBefore(d)?(g=Q.fromPositions(f.getStartPosition(),d),u="after"):(g=Q.fromPositions(d,f.getEndPosition()),u="before"),n.push(new D9(a,new T5(g,u),r))}}this.items=n.sort((s,r)=>Ai.compare(s.hint.position,r.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const i=t.lineNumber,n=e.getWordAtPosition(t);if(n)return new Q(i,n.startColumn,i,n.endColumn);e.tokenization.tokenizeIfCheap(i);const s=e.tokenization.getLineTokens(i),r=t.column-1,a=s.findTokenIndexAtOffset(r);let d=s.getStartOffset(a),u=s.getEndOffset(a);return u-d===1&&(d===r&&a>1?(d=s.getStartOffset(a-1),u=s.getEndOffset(a-1)):u===r&&a<s.getCount()-1&&(d=s.getStartOffset(a+1),u=s.getEndOffset(a+1))),new Q(i,d+1,i,u+1)}};e0._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let qm=e0;function UM(o){return Vn.from({scheme:bo.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var qM=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},tl=function(o,e){return function(t,i){e(t,i,o)}};let Hr=class extends b3{constructor(e,t,i,n,s,r,a,d,u,f,g,p,C){super(e,{...n.getRawOptions(),overflowWidgetsDomNode:n.getOverflowWidgetsDomNode()},i,s,r,a,d,u,f,g,p,C),this._parentEditor=n,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(n.onDidChangeConfiguration(b=>this._onParentConfigurationChanged(b)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){Nw(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Hr=qM([tl(4,nn),tl(5,bs),tl(6,zs),tl(7,Fn),tl(8,Wr),tl(9,xo),tl(10,U_),tl(11,Vs),tl(12,ki)],Hr);const z8=new gn(new P0(0,122,204)),GM={showArrow:!0,showFrame:!0,className:"",frameColor:z8,arrowColor:z8,keepEditorSelection:!1},KM="vs.editor.contrib.zoneWidget";class ZM{constructor(e,t,i,n,s,r,a,d){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=n,this.showInHiddenAreas=a,this.ordinal=d,this._onDomNodeTop=s,this._onComputedHeight=r}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class XM{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const Qv=class Qv{constructor(e){this._editor=e,this._ruleName=Qv._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),FS(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){FS(this._ruleName),y3(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px !important; margin-left: -${this._height}px; `)}show(e){e.column===1&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:Q.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};Qv._IdGenerator=new E3(".arrow-decoration-");let eE=Qv;class YM{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new Tt,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=C3(t),Nw(this.options,GM,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange(i=>{const n=this._getWidth(i);this.domNode.style.width=n+"px",this.domNode.style.left=this._getLeft(i)+"px",this._onWidth(n)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new eE(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){const e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&e.minimap.minimapLeft===0?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+"px"}_onViewZoneHeight(e){var t;if(this.domNode.style.height=`${e}px`,this.container){const i=e-this._decoratingElementsHeight();this.container.style.height=`${i}px`;const n=this.editor.getLayoutInfo();this._doLayout(i,this._getWidth(n))}(t=this._resizeSash)==null||t.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const i=Q.isIRange(e)?Q.lift(e):Q.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:xn.EMPTY}])}hide(){var e;this._viewZone&&(this.editor.changeViewZones(t=>{this._viewZone&&t.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),(e=this._arrow)==null||e.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const e=this.editor.getOption(67);let t=0;if(this.options.showArrow){const i=Math.round(e/3);t+=2*i}if(this.options.showFrame){const i=Math.round(e/9);t+=2*i}return t}_showImpl(e,t){const i=e.getStartPosition(),n=this.editor.getLayoutInfo(),s=this._getWidth(n);this.domNode.style.width=`${s}px`,this.domNode.style.left=this._getLeft(n)+"px";const r=document.createElement("div");r.style.overflow="hidden";const a=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const p=Math.max(12,this.editor.getLayoutInfo().height/a*.8);t=Math.min(t,p)}let d=0,u=0;if(this._arrow&&this.options.showArrow&&(d=Math.round(a/3),this._arrow.height=d,this._arrow.show(i)),this.options.showFrame&&(u=Math.round(a/9)),this.editor.changeViewZones(p=>{this._viewZone&&p.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new ZM(r,i.lineNumber,i.column,t,C=>this._onViewZoneTop(C),C=>this._onViewZoneHeight(C),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=p.addZone(this._viewZone),this._overlayWidget=new XM(KM+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const p=this.options.frameWidth?this.options.frameWidth:u;this.container.style.borderTopWidth=p+"px",this.container.style.borderBottomWidth=p+"px"}const f=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=d+"px",this.container.style.height=f+"px",this.container.style.overflow="hidden"),this._doLayout(f,s),this.options.keepEditorSelection||this.editor.setSelection(e);const g=this.editor.getModel();if(g){const p=g.validateRange(new Q(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(p,p.startLineNumber===g.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new Wh(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let e;this._disposables.add(this._resizeSash.onDidStart(t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{e=void 0})),this._disposables.add(this._resizeSash.onDidChange(t=>{if(e){const i=(t.currentY-e.startY)/this.editor.getOption(67),n=i<0?Math.ceil(i):Math.floor(i),s=e.heightInLines+n;s>5&&s<35&&this._relayout(s)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}}var M5=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},R5=function(o,e){return function(t,i){e(t,i,o)}};const N5=Ml("IPeekViewService");Rl(N5,class{constructor(){this._widgets=new Map}addExclusiveWidget(o,e){const t=this._widgets.get(o);t&&(t.listener.dispose(),t.widget.dispose());const i=()=>{const n=this._widgets.get(o);n&&n.widget===e&&(n.listener.dispose(),this._widgets.delete(o))};this._widgets.set(o,{widget:e,listener:e.onDidClose(i)})}},1);var wo;(function(o){o.inPeekEditor=new Cn("inReferenceSearchEditor",!0,S("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(wo||(wo={}));var _0;let Gm=(_0=class{constructor(e,t){e instanceof Hr&&wo.inPeekEditor.bindTo(t)}dispose(){}},_0.ID="editor.contrib.referenceController",_0);Gm=M5([R5(1,Fn)],Gm);dn(Gm.ID,Gm,0);function QM(o){const e=o.get(bs).getFocusedCodeEditor();return e instanceof Hr?e.getParentEditor():e}const JM={headerBackgroundColor:gn.white,primaryHeadingColor:gn.fromHex("#333333"),secondaryHeadingColor:gn.fromHex("#6c6c6cb3")};let Km=class extends YM{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new rn,this.onDidClose=this._onDidClose.event,Nw(this.options,JM,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){const t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();const e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass("peekview-widget"),this._headElement=gi(".head"),this._bodyElement=gi(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=gi(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),Sl(this._titleElement,"click",s=>this._onTitleClick(s))),li(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=gi("span.filename"),this._secondaryHeading=gi("span.dirname"),this._metaHeading=gi("span.meta"),li(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=gi(".peekview-actions");li(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new Ag(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new T0("peekview.close",S("label.close","Close"),Tn.asClassName(Gi.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:w3.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute("title",e),t?this._secondaryHeading.innerText=t:Wa(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,Lr(this._metaHeading)):$o(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0){this.dispose();return}const i=Math.ceil(this.editor.getOption(67)*1.2),n=Math.round(e-(i+2));this._doLayoutHead(i,t),this._doLayoutBody(n,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height=`${e}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height=`${e}px`)}};Km=M5([R5(2,nn)],Km);const eR=pi("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:gn.black,hcLight:gn.white},S("peekViewTitleBackground","Background color of the peek view title area.")),O5=pi("peekViewTitleLabel.foreground",{dark:gn.white,light:gn.black,hcDark:gn.white,hcLight:Pp},S("peekViewTitleForeground","Color of the peek view title.")),H5=pi("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},S("peekViewTitleInfoForeground","Color of the peek view title info.")),tR=pi("peekView.border",{dark:e1,light:e1,hcDark:wl,hcLight:wl},S("peekViewBorder","Color of the peek view borders and arrow.")),iR=pi("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:gn.black,hcLight:gn.white},S("peekViewResultsBackground","Background color of the peek view result list."));pi("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:gn.white,hcLight:Pp},S("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));pi("peekViewResult.fileForeground",{dark:gn.white,light:"#1E1E1E",hcDark:gn.white,hcLight:Pp},S("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));pi("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},S("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));pi("peekViewResult.selectionForeground",{dark:gn.white,light:"#6C6C6C",hcDark:gn.white,hcLight:Pp},S("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const W5=pi("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:gn.black,hcLight:gn.white},S("peekViewEditorBackground","Background color of the peek view editor."));pi("peekViewEditorGutter.background",W5,S("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));pi("peekViewEditorStickyScroll.background",W5,S("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));pi("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},S("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));pi("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},S("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));pi("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:Bu,hcLight:Bu},S("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class Vc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=S3.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){var t;const e=(t=this.parent.getPreview(this))==null?void 0:t.preview(this.range);return e?S({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"{0} in {1} on line {2} at column {3}",e.value,Ua(this.uri),this.range.startLineNumber,this.range.startColumn):S("aria.oneReference","in {0} on line {1} at column {2}",Ua(this.uri),this.range.startLineNumber,this.range.startColumn)}}class nR{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:n,startColumn:s,endLineNumber:r,endColumn:a}=e,d=i.getWordUntilPosition({lineNumber:n,column:s-t}),u=new Q(n,d.startColumn,n,s),f=new Q(r,a,r,1073741824),g=i.getValueInRange(u).replace(/^\s+/,""),p=i.getValueInRange(e),C=i.getValueInRange(f).replace(/\s+$/,"");return{value:g+p+C,highlight:{start:g.length,end:g.length+p.length}}}}class Kg{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new Nc}dispose(){co(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?S("aria.fileReferences.1","1 symbol in {0}, full path {1}",Ua(this.uri),this.uri.fsPath):S("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Ua(this.uri),this.uri.fsPath)}async resolve(e){if(this._previews.size!==0)return this;for(const t of this.children)if(!this._previews.has(t.uri))try{const i=await e.createModelReference(t.uri);this._previews.set(t.uri,new nR(i))}catch(i){Un(i)}return this}}class Ro{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new rn,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(Ro._compareReferences);let n;for(const s of e)if((!n||!LS.isEqual(n.uri,s.uri,!0))&&(n=new Kg(this,s.uri),this.groups.push(n)),n.children.length===0||Ro._compareReferences(s,n.children[n.children.length-1])!==0){const r=new Vc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){co(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new Ro(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?S("aria.result.0","No results found"):this.references.length===1?S("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?S("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):S("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let n=i.children.indexOf(e);const s=i.children.length,r=i.parent.groups.length;return r===1||t&&n+1<s||!t&&n>0?(t?n=(n+1)%s:n=(n+s-1)%s,i.children[n]):(n=i.parent.groups.indexOf(i),t?(n=(n+1)%r,i.parent.groups[n].children[0]):(n=(n+r-1)%r,i.parent.groups[n].children[i.parent.groups[n].children.length-1]))}nearestReference(e,t){const i=this.references.map((n,s)=>({idx:s,prefixLen:Tp(n.uri.toString(),e.toString()),offsetDist:Math.abs(n.range.startLineNumber-t.lineNumber)*100+Math.abs(n.range.startColumn-t.column)})).sort((n,s)=>n.prefixLen>s.prefixLen?-1:n.prefixLen<s.prefixLen?1:n.offsetDist<s.offsetDist?-1:n.offsetDist>s.offsetDist?1:0)[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(const i of this.references)if(i.uri.toString()===e.toString()&&Q.containsPosition(i.range,t))return i}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return LS.compare(e.uri,t.uri)||Q.compareRangesUsingStarts(e.range,t.range)}}var mb=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},vb=function(o,e){return function(t,i){e(t,i,o)}},tE;let iE=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof Ro||e instanceof Kg}getChildren(e){if(e instanceof Ro)return e.groups;if(e instanceof Kg)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};iE=mb([vb(0,fa)],iE);class sR{getHeight(){return 23}getTemplateId(e){return e instanceof Kg?Zm.id:Xm.id}}let nE=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof Vc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return Ua(e.uri)}};nE=mb([vb(0,Ds)],nE);class oR{getId(e){return e instanceof Vc?e.id:e.uri}}let sE=class extends Nt{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new mA(i,{supportHighlights:!0})),this.badge=new D3(li(i,gi(".count")),{},A3),e.appendChild(i)}set(e,t){const i=Ow(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const n=e.children.length;this.badge.setCount(n),n>1?this.badge.setTitleFormat(S("referencesCount","{0} references",n)):this.badge.setTitleFormat(S("referenceCount","{0} reference",n))}};sE=mb([vb(1,Ig)],sE);var qd;let Zm=(qd=class{constructor(e){this._instantiationService=e,this.templateId=tE.id}renderTemplate(e){return this._instantiationService.createInstance(sE,e)}renderElement(e,t,i){i.set(e.element,G_(e.filterData))}disposeTemplate(e){e.dispose()}},tE=qd,qd.id="FileReferencesRenderer",qd);Zm=tE=mb([vb(0,nn)],Zm);class rR extends Nt{constructor(e){super(),this.label=this._register(new k3(e))}set(e,t){var n;const i=(n=e.parent.getPreview(e))==null?void 0:n.preview(e.range);if(!i||!i.value)this.label.set(`${Ua(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!Pg.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,G_(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const Jv=class Jv{constructor(){this.templateId=Jv.id}renderTemplate(e){return new rR(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Jv.id="OneReferenceRenderer";let Xm=Jv;class aR{getWidgetAriaLabel(){return S("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var lR=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},bh=function(o,e){return function(t,i){e(t,i,o)}};const e_=class e_{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new Tt,this._callOnModelChange=new Tt,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const e=this._editor.getModel();if(e){for(const t of this._model.references)if(t.uri.toString()===e.uri.toString()){this._addDecorations(t.parent);return}}}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const t=[],i=[];for(let n=0,s=e.children.length;n<s;n++){const r=e.children[n];this._decorationIgnoreSet.has(r.id)||r.uri.toString()===this._editor.getModel().uri.toString()&&(t.push({range:r.range,options:e_.DecorationOptions}),i.push(n))}this._editor.changeDecorations(n=>{const s=n.deltaDecorations([],t);for(let r=0;r<s.length;r++)this._decorations.set(s[r],e.children[i[r]])})}_onDecorationChanged(){const e=[],t=this._editor.getModel();if(t){for(const[i,n]of this._decorations){const s=t.getDecorationRange(i);if(!s)continue;let r=!1;if(!Q.equalsRange(s,n.range)){if(Q.spansMultipleLines(s))r=!0;else{const a=n.range.endColumn-n.range.startColumn,d=s.endColumn-s.startColumn;a!==d&&(r=!0)}r?(this._decorationIgnoreSet.add(n.id),e.push(i)):n.range=s}}for(let i=0,n=e.length;i<n;i++)this._decorations.delete(e[i]);this._editor.removeDecorations(e)}}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]),this._decorations.clear()}};e_.DecorationOptions=xn.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let oE=e_;class cR{constructor(){this.ratio=.7,this.heightInLines=18}static fromJSON(e){let t,i;try{const n=JSON.parse(e);t=n.ratio,i=n.heightInLines}catch{}return{ratio:t||.7,heightInLines:i||18}}}class dR extends L3{}let rE=class extends Km{constructor(e,t,i,n,s,r,a,d,u){super(e,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},r),this._defaultTreeKeyboardSupport=t,this.layoutData=i,this._textModelResolverService=s,this._instantiationService=r,this._peekViewService=a,this._uriLabel=d,this._keybindingService=u,this._disposeOnNewModel=new Tt,this._callOnDispose=new Tt,this._onDidSelectReference=new rn,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new Zn(0,0),this._isClosing=!1,this._applyTheme(n.getColorTheme()),this._callOnDispose.add(n.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(e,this),this.create()}get isClosing(){return this._isClosing}dispose(){this._isClosing=!0,this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),co(this._preview),co(this._previewNotAvailableMessage),co(this._tree),co(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(tR)||gn.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(eR)||gn.transparent,primaryHeadingColor:e.getColor(O5),secondaryHeadingColor:e.getColor(H5)})}show(e){super.show(e,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(e){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:e.ctrlKey||e.metaKey||e.altKey?"side":"open",source:"title"})}_fillBody(e){this.setCssClass("reference-zone-widget"),this._messageContainer=li(e,gi("div.messages")),$o(this._messageContainer),this._splitView=new B3(e,{orientation:1}),this._previewContainer=li(e,gi("div.preview.inline"));const t={scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,alwaysConsumeMouseWheel:!0},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}};this._preview=this._instantiationService.createInstance(Hr,this._previewContainer,t,{},this.editor),$o(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(dc,S("missingPreviewMessage","no preview available"),Tg,dc.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=li(e,gi("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new aR,keyboardNavigationLabelProvider:this._instantiationService.createInstance(nE),identityProvider:new oR,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:iR}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(Sl(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(dR,"ReferencesWidget",this._treeContainer,new sR,[this._instantiationService.createInstance(Zm),this._instantiationService.createInstance(Xm)],this._instantiationService.createInstance(iE),i),this._splitView.addView({onDidChange:Is.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},IS.Distribute),this._splitView.addView({onDidChange:Is.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:s=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${s}px`,this._tree.layout(this._dim.height,s)}},IS.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const n=(s,r)=>{s instanceof Vc&&(r==="show"&&this._revealReference(s,!1),this._onDidSelectReference.fire({element:s,kind:r,source:"tree"}))};this._disposables.add(this._tree.onDidOpen(s=>{s.sideBySide?n(s.element,"side"):s.editorOptions.pinned?n(s.element,"goto"):n(s.element,"show")})),$o(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Zn(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=S("noResults","No results"),Lr(this._messageContainer),Promise.resolve(void 0)):($o(this._messageContainer),this._decorationsManager=new oE(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(e=>this._tree.rerender(e))),this._disposeOnNewModel.add(this._preview.onMouseDown(e=>{const{event:t,target:i}=e;if(t.detail!==2)return;const n=this._getFocusedReference();n&&this._onDidSelectReference.fire({element:{uri:n.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),Lr(this._treeContainer),Lr(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();if(e instanceof Vc)return e;if(e instanceof Kg&&e.children.length>0)return e.children[0]}async revealReference(e){await this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})}async _revealReference(e,t){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==bo.inMemory?this.setTitle(F3(e.uri),this._uriLabel.getUriLabel(Ow(e.uri))):this.setTitle(S("peekView.alternateTitle","References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent?this._tree.reveal(e):(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent),this._tree.reveal(e));const n=await i;if(!this._model){n.dispose();return}co(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=Q.lift(e.range).collapseToStart();this._previewModelReference=n,this._preview.setModel(s.textEditorModel),this._preview.setSelection(a),this._preview.revealRangeInCenter(a,r)}else this._preview.setModel(this._previewNotAvailableMessage),n.dispose()}};rE=lR([bh(3,Wr),bh(4,fa),bh(5,nn),bh(6,N5),bh(7,Ig),bh(8,Ds)],rE);var uR=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},Ch=function(o,e){return function(t,i){e(t,i,o)}},lm;const ih=new Cn("referenceSearchVisible",!1,S("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var Gd;let Vu=(Gd=class{static get(e){return e.getContribution(lm.ID)}constructor(e,t,i,n,s,r,a,d){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=s,this._instantiationService=r,this._storageService=a,this._configurationService=d,this._disposables=new Tt,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=ih.bindTo(i)}dispose(){var e,t;this._referenceSearchVisible.reset(),this._disposables.dispose(),(e=this._widget)==null||e.dispose(),(t=this._model)==null||t.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let n;if(this._widget&&(n=this._widget.position),this.closeWidget(),n&&e.containsPosition(n))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const s="peekViewLayout",r=cR.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(rE,this._editor,this._defaultTreeKeyboardSupport,r),this._widget.setTitle(S("labelLoading","Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget?(this._storageService.store(s,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(d=>{const{element:u,kind:f}=d;if(u)switch(f){case"open":(d.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(u,!1,!1);break;case"side":this.openReference(u,!0,!1);break;case"goto":i?this._gotoReference(u,!0):this.openReference(u,!1,!0);break}}));const a=++this._requestIdPool;t.then(d=>{var u;if(a!==this._requestIdPool||!this._widget){d.dispose();return}return(u=this._model)==null||u.dispose(),this._model=d,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(S("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const f=this._editor.getModel().uri,g=new Ai(e.startLineNumber,e.startColumn),p=this._model.nearestReference(f,g);if(p)return this._widget.setSelection(p).then(()=>{this._widget&&this._editor.getOption(87)==="editor"&&this._widget.focusOnPreviewEditor()})}})},d=>{this._notificationService.error(d)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const n=this._model.nextOrPreviousReference(i,e),s=this._editor.hasTextFocus(),r=this._widget.isPreviewEditorFocused();await this._widget.setSelection(n),await this._gotoReference(n,!1),s?this._editor.focus():this._widget&&r&&this._widget.focusOnPreviewEditor()}async revealReference(e){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(e)}closeWidget(e=!0){var t,i;(t=this._widget)==null||t.dispose(),(i=this._model)==null||i.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){var n;(n=this._widget)==null||n.hide(),this._ignoreModelChangeEvent=!0;const i=Q.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:i,selectionSource:"code.jump",pinned:t}},this._editor).then(s=>{if(this._ignoreModelChangeEvent=!1,!s||!this._widget){this.closeWidget();return}if(this._editor===s)this._widget.show(i),this._widget.focusOnReferenceTree();else{const r=lm.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,Us(d=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,Un(s)})}openReference(e,t,i){t||this.closeWidget();const{uri:n,range:s}=e;this._editorService.openCodeEditor({resource:n,options:{selection:s,selectionSource:"code.jump",pinned:i}},this._editor,t)}},lm=Gd,Gd.ID="editor.contrib.referencesController",Gd);Vu=lm=uR([Ch(2,Fn),Ch(3,bs),Ch(4,xo),Ch(5,nn),Ch(6,Gc),Ch(7,ns)],Vu);function nh(o,e){const t=QM(o);if(!t)return;const i=Vu.get(t);i&&e(i)}Ka.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:Ss(2089,60),when:$e.or(ih,wo.inPeekEditor),handler(o){nh(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Ka.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:$e.or(ih,wo.inPeekEditor),handler(o){nh(o,e=>{e.goToNextOrPreviousReference(!0)})}});Ka.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:$e.or(ih,wo.inPeekEditor),handler(o){nh(o,e=>{e.goToNextOrPreviousReference(!1)})}});Qn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");Qn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");Qn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");Qn.registerCommand("closeReferenceSearch",o=>nh(o,e=>e.closeWidget()));Ka.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:$e.and(wo.inPeekEditor,$e.not("config.editor.stablePeek"))});Ka.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:$e.and(ih,$e.not("config.editor.stablePeek"),$e.or(q.editorTextFocus,I3.negate()))});Ka.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:$e.and(ih,vA,_A.negate(),bA.negate()),handler(o){var i;const t=(i=o.get(Hw).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Vc&&nh(o,n=>n.revealReference(t[0]))}});Ka.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:$e.and(ih,vA,_A.negate(),bA.negate()),handler(o){var i;const t=(i=o.get(Hw).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Vc&&nh(o,n=>n.openReference(t[0],!0,!0))}});Qn.registerCommand("openReference",o=>{var i;const t=(i=o.get(Hw).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Vc&&nh(o,n=>n.openReference(t[0],!1,!0))});var z5=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},Gf=function(o,e){return function(t,i){e(t,i,o)}};const A9=new Cn("hasSymbols",!1,S("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),_b=Ml("ISymbolNavigationService");let aE=class{constructor(e,t,i,n){this._editorService=t,this._notificationService=i,this._keybindingService=n,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=A9.bindTo(e)}reset(){var e,t;this._ctxHasSymbols.reset(),(e=this._currentState)==null||e.dispose(),(t=this._currentMessage)==null||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1){this.reset();return}this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const i=new lE(this._editorService),n=i.onDidChange(s=>{if(this._ignoreEditorChange)return;const r=this._editorService.getActiveCodeEditor();if(!r)return;const a=r.getModel(),d=r.getPosition();if(!a||!d)return;let u=!1,f=!1;for(const g of t.references)if(Em(g.uri,a.uri))u=!0,f=f||Q.containsPosition(g.range,d);else if(u)break;(!u||!f)&&this.reset()});this._currentState=CA(i,n)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:Q.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var i;(i=this._currentMessage)==null||i.dispose();const e=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),t=e?S("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):S("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};aE=z5([Gf(0,Fn),Gf(1,bs),Gf(2,xo),Gf(3,Ds)],aE);Rl(_b,aE,1);Ii(new class extends Ao{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:A9,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(_b).revealNext(e)}});Ka.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:A9,primary:9,handler(o){o.get(_b).reset()}});let lE=class{constructor(e){this._listener=new Map,this._disposables=new Tt,this._onDidChange=new rn,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),co(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,CA(e.onDidChangeCursorPosition(t=>this._onDidChange.fire({editor:e})),e.onDidChangeModelContent(t=>this._onDidChange.fire({editor:e}))))}_onDidRemoveEditor(e){var t;(t=this._listener.get(e))==null||t.dispose(),this._listener.delete(e)}};lE=z5([Gf(0,bs)],lE);function cE(o,e){return e.uri.scheme===o.uri.scheme?!0:!P3(e.uri,bo.walkThroughSnippet,bo.vscodeChatCodeBlock,bo.vscodeChatCodeCompareBlock)}async function qp(o,e,t,i,n){const r=t.ordered(o,i).map(d=>Promise.resolve(n(d,o,e)).then(void 0,u=>{_s(u)})),a=await Promise.all(r);return yl(a.flat()).filter(d=>cE(o,d))}function Gp(o,e,t,i,n){return qp(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function k9(o,e,t,i,n){return qp(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function B9(o,e,t,i,n){return qp(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function F9(o,e,t,i,n){return qp(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function Kp(o,e,t,i,n,s){return qp(e,t,o,n,async(r,a,d)=>{var g,p;const u=(g=await r.provideReferences(a,d,{includeDeclaration:!0},s))==null?void 0:g.filter(C=>cE(a,C));if(!i||!u||u.length!==2)return u;const f=(p=await r.provideReferences(a,d,{includeDeclaration:!1},s))==null?void 0:p.filter(C=>cE(a,C));return f&&f.length===1?f:u})}async function Za(o){const e=await o(),t=new Ro(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}ko("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(ki),n=Gp(i.definitionProvider,e,t,!1,an.None);return Za(()=>n)});ko("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(ki),n=Gp(i.definitionProvider,e,t,!0,an.None);return Za(()=>n)});ko("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(ki),n=F9(i.typeDefinitionProvider,e,t,!1,an.None);return Za(()=>n)});ko("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(ki),n=F9(i.typeDefinitionProvider,e,t,!0,an.None);return Za(()=>n)});ko("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(ki),n=k9(i.declarationProvider,e,t,!1,an.None);return Za(()=>n)});ko("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(ki),n=k9(i.declarationProvider,e,t,!0,an.None);return Za(()=>n)});ko("_executeReferenceProvider",(o,e,t)=>{const i=o.get(ki),n=Kp(i.referenceProvider,e,t,!1,!1,an.None);return Za(()=>n)});ko("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(ki),n=Kp(i.referenceProvider,e,t,!1,!0,an.None);return Za(()=>n)});ko("_executeImplementationProvider",(o,e,t)=>{const i=o.get(ki),n=B9(i.implementationProvider,e,t,!1,an.None);return Za(()=>n)});ko("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(ki),n=B9(i.implementationProvider,e,t,!0,an.None);return Za(()=>n)});Rr.appendMenuItem(ri.EditorContext,{submenu:ri.EditorContextPeek,title:S("peek.submenu","Peek"),group:"navigation",order:100});class G0{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof G0||Ai.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const Cr=class Cr extends la{static all(){return Cr._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of ml.wrap(t.menu))(i.id===ri.EditorContext||i.id===ri.EditorContextPeek)&&(i.when=$e.and(e.precondition,i.when));return t}constructor(e,t){super(Cr._patchConfig(t)),this.configuration=e,Cr._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(xo),r=e.get(bs),a=e.get(Sp),d=e.get(_b),u=e.get(ki),f=e.get(nn),g=t.getModel(),p=t.getPosition(),C=G0.is(i)?i:new G0(g,p),b=new B0(t,5),y=yp(this._getLocationModel(u,C.model,C.position,b.token),b.token).then(async w=>{var M;if(!w||b.token.isCancellationRequested)return;Nr(w.ariaMessage);let A;if(w.referenceAt(g.uri,p)){const R=this._getAlternativeCommand(t);!Cr._activeAlternativeCommands.has(R)&&Cr._allSymbolNavigationCommands.has(R)&&(A=Cr._allSymbolNavigationCommands.get(R))}const P=w.references.length;if(P===0){if(!this.configuration.muteMessage){const R=g.getWordAtPosition(p);(M=Mo.get(t))==null||M.showMessage(this._getNoResultFoundMessage(R),p)}}else if(P===1&&A)Cr._activeAlternativeCommands.add(this.desc.id),f.invokeFunction(R=>A.runEditorCommand(R,t,i,n).finally(()=>{Cr._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(r,d,t,w,n)},w=>{s.error(w)}).finally(()=>{b.dispose()});return a.showWhile(y,250),y}async _onResult(e,t,i,n,s){const r=this._getGoToPreference(i);if(!(i instanceof Hr)&&(this.configuration.openInPeek||r==="peek"&&n.references.length>1))this._openInPeek(i,n,s);else{const a=n.firstReference(),d=n.references.length>1&&r==="gotoAndPeek",u=await this._openReference(i,e,a,this.configuration.openToSide,!d);d&&u?this._openInPeek(u,n,s):n.dispose(),r==="goto"&&t.put(a)}}async _openReference(e,t,i,n,s){let r;if(T3(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:Q.collapseToStart(r),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(a){if(s){const d=a.getModel(),u=a.createDecorationsCollection([{range:r,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===d&&u.clear()},350)}return a}}_openInPeek(e,t,i){const n=Vu.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),Us(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};Cr._allSymbolNavigationCommands=new Map,Cr._activeAlternativeCommands=new Set;let Fl=Cr;class Zp extends Fl{async _getLocationModel(e,t,i,n){return new Ro(await Gp(e.definitionProvider,t,i,!1,n),S("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?S("noResultWord","No definition found for '{0}'",e.word):S("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}var Dc;zn((Dc=class extends Zp{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Dc.id,title:{...Di("actions.goToDecl.label","Go to Definition"),mnemonicTitle:S({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:q.hasDefinitionProvider,keybinding:[{when:q.editorTextFocus,primary:70,weight:100},{when:$e.and(q.editorTextFocus,EA),primary:2118,weight:100}],menu:[{id:ri.EditorContext,group:"navigation",order:1.1},{id:ri.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Qn.registerCommandAlias("editor.action.goToDeclaration",Dc.id)}},Dc.id="editor.action.revealDefinition",Dc));var Ac;zn((Ac=class extends Zp{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:Ac.id,title:Di("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:$e.and(q.hasDefinitionProvider,q.isInEmbeddedEditor.toNegated()),keybinding:[{when:q.editorTextFocus,primary:Ss(2089,70),weight:100},{when:$e.and(q.editorTextFocus,EA),primary:Ss(2089,2118),weight:100}]}),Qn.registerCommandAlias("editor.action.openDeclarationToTheSide",Ac.id)}},Ac.id="editor.action.revealDefinitionAside",Ac));var kc;zn((kc=class extends Zp{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:kc.id,title:Di("actions.previewDecl.label","Peek Definition"),precondition:$e.and(q.hasDefinitionProvider,wo.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),keybinding:{when:q.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:ri.EditorContextPeek,group:"peek",order:2}}),Qn.registerCommandAlias("editor.action.previewDeclaration",kc.id)}},kc.id="editor.action.peekDefinition",kc));class V5 extends Fl{async _getLocationModel(e,t,i,n){return new Ro(await k9(e.declarationProvider,t,i,!1,n),S("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?S("decl.noResultWord","No declaration found for '{0}'",e.word):S("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}var Kd;zn((Kd=class extends V5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Kd.id,title:{...Di("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:S({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:$e.and(q.hasDeclarationProvider,q.isInEmbeddedEditor.toNegated()),menu:[{id:ri.EditorContext,group:"navigation",order:1.3},{id:ri.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?S("decl.noResultWord","No declaration found for '{0}'",e.word):S("decl.generic.noResults","No declaration found")}},Kd.id="editor.action.revealDeclaration",Kd));zn(class extends V5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:Di("actions.peekDecl.label","Peek Declaration"),precondition:$e.and(q.hasDeclarationProvider,wo.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),menu:{id:ri.EditorContextPeek,group:"peek",order:3}})}});class j5 extends Fl{async _getLocationModel(e,t,i,n){return new Ro(await F9(e.typeDefinitionProvider,t,i,!1,n),S("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?S("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):S("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}var Zd;zn((Zd=class extends j5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Zd.ID,title:{...Di("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:S({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:q.hasTypeDefinitionProvider,keybinding:{when:q.editorTextFocus,primary:0,weight:100},menu:[{id:ri.EditorContext,group:"navigation",order:1.4},{id:ri.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Zd.ID="editor.action.goToTypeDefinition",Zd));var Xd;zn((Xd=class extends j5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Xd.ID,title:Di("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:$e.and(q.hasTypeDefinitionProvider,wo.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),menu:{id:ri.EditorContextPeek,group:"peek",order:4}})}},Xd.ID="editor.action.peekTypeDefinition",Xd));class $5 extends Fl{async _getLocationModel(e,t,i,n){return new Ro(await B9(e.implementationProvider,t,i,!1,n),S("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?S("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):S("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}var Yd;zn((Yd=class extends $5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Yd.ID,title:{...Di("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:S({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:q.hasImplementationProvider,keybinding:{when:q.editorTextFocus,primary:2118,weight:100},menu:[{id:ri.EditorContext,group:"navigation",order:1.45},{id:ri.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Yd.ID="editor.action.goToImplementation",Yd));var Qd;zn((Qd=class extends $5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Qd.ID,title:Di("actions.peekImplementation.label","Peek Implementations"),precondition:$e.and(q.hasImplementationProvider,wo.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),keybinding:{when:q.editorTextFocus,primary:3142,weight:100},menu:{id:ri.EditorContextPeek,group:"peek",order:5}})}},Qd.ID="editor.action.peekImplementation",Qd));class U5 extends Fl{_getNoResultFoundMessage(e){return e?S("references.no","No references found for '{0}'",e.word):S("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}zn(class extends U5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...Di("goToReferences.label","Go to References"),mnemonicTitle:S({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:$e.and(q.hasReferenceProvider,wo.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),keybinding:{when:q.editorTextFocus,primary:1094,weight:100},menu:[{id:ri.EditorContext,group:"navigation",order:1.45},{id:ri.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new Ro(await Kp(e.referenceProvider,t,i,!0,!1,n),S("ref.title","References"))}});zn(class extends U5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:Di("references.action.label","Peek References"),precondition:$e.and(q.hasReferenceProvider,wo.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),menu:{id:ri.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new Ro(await Kp(e.referenceProvider,t,i,!1,!1,n),S("ref.title","References"))}});class hR extends Fl{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:Di("label.generic","Go to Any Symbol"),precondition:$e.and(wo.notInPeekEditor,q.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new Ro(this._references,S("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&S("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}Qn.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:Vn},{name:"position",description:"The position at which to start",constraint:Ai.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(o,e,t,i,n,s,r)=>{In(Vn.isUri(e)),In(Ai.isIPosition(t)),In(Array.isArray(i)),In(typeof n>"u"||typeof n=="string"),In(typeof r>"u"||typeof r=="boolean");const a=o.get(bs),d=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(yA(d))return d.setPosition(t),d.revealPositionInCenterIfOutsideViewport(t,0),d.invokeWithinContext(u=>{const f=new class extends hR{_getNoResultFoundMessage(g){return s||super._getNoResultFoundMessage(g)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);u.get(nn).invokeFunction(f.run.bind(f),d)})}});Qn.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:Vn},{name:"position",description:"The position at which to start",constraint:Ai.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(o,e,t,i,n)=>{o.get(zs).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});Qn.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{In(Vn.isUri(e)),In(Ai.isIPosition(t));const i=o.get(ki),n=o.get(bs);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!yA(s)||!s.hasModel())return;const r=Vu.get(s);if(!r)return;const a=Us(u=>Kp(i.referenceProvider,s.getModel(),Ai.lift(t),!1,!1,u).then(f=>new Ro(f,S("ref.title","References")))),d=new Q(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(d,a,!1))})}});Qn.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function fR(o,e,t,i){const n=o.get(fa),s=o.get(of),r=o.get(zs),a=o.get(nn),d=o.get(xo);if(await i.item.resolve(an.None),!i.part.location)return;const u=i.part.location,f=[],g=new Set(Rr.getMenuItems(ri.EditorContext).map(C=>M3(C)?C.command.id:ub()));for(const C of Fl.all())g.has(C.desc.id)&&f.push(new T0(C.desc.id,M0.label(C.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const b=await n.createModelReference(u.uri);try{const y=new G0(b.object.textEditorModel,Q.getStartPosition(u.range)),w=i.item.anchor.range;await a.invokeFunction(C.runEditorCommand.bind(C),e,y,w)}finally{b.dispose()}}));if(i.part.command){const{command:C}=i.part;f.push(new Fg),f.push(new T0(C.id,C.title,void 0,!0,async()=>{try{await r.executeCommand(C.id,...C.arguments??[])}catch(b){d.notify({severity:Ww.Error,source:i.item.provider.displayName,message:b})}}))}const p=e.getOption(128);s.showContextMenu({domForShadowRoot:p?e.getDomNode()??void 0:void 0,getAnchor:()=>{const C=yo(t);return{x:C.left,y:C.top+C.height+8}},getActions:()=>f,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function q5(o,e,t,i){const s=await o.get(fa).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,d=r.get(Fn),u=wo.inPeekEditor.getValue(d),f=!a&&t.getOption(89)&&!u;return new Zp({openToSide:a,openInPeek:f,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new G0(s.object.textEditorModel,Q.getStartPosition(i.range)),Q.lift(i.range))}),s.dispose()}var gR=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},Eh=function(o,e){return function(t,i){e(t,i,o)}},Nh;class Ym{constructor(){this._entries=new Ap(50)}get(e){const t=Ym._key(e);return this._entries.get(t)}set(e,t){const i=Ym._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const G5=Ml("IInlayHintsCache");Rl(G5,Ym,1);class dE{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return typeof e=="string"?{label:e}:e[this.index]}}class pR{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var xl;let Zg=(xl=class{static get(e){return e.getContribution(Nh.ID)??void 0}constructor(e,t,i,n,s,r,a){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=n,this._commandService=s,this._notificationService=r,this._instaService=a,this._disposables=new Tt,this._sessionDisposables=new Tt,this._decorationsMetadata=new Map,this._ruleFactory=new cA(this._editor),this._activeRenderMode=0,this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(d=>{d.hasChanged(142)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(142);if(e.enabled==="off")return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if(e.enabled==="on")this._activeRenderMode=0;else{let a,d;e.enabled==="onUnlessPressed"?(a=0,d=1):(a=1,d=0),this._activeRenderMode=a,this._sessionDisposables.add(R3.getInstance().event(u=>{if(!this._editor.hasModel())return;const f=u.altKey&&u.ctrlKey&&!(u.shiftKey||u.metaKey)?d:a;if(f!==this._activeRenderMode){this._activeRenderMode=f;const g=this._editor.getModel(),p=this._copyInlayHintsWithCurrentAnchor(g);this._updateHintsDecorators([g.getFullModelRange()],p),r.schedule(0)}}))}const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(ts(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new Ps(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new qs;const d=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const u=n.token,f=await qm.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),u);if(r.delay=this._debounceInfo.update(t,Date.now()-a),u.isCancellationRequested){f.dispose();return}for(const g of f.provider)typeof g.onDidChangeInlayHints=="function"&&!s.has(g)&&(s.add(g),this._sessionDisposables.add(g.onDidChangeInlayHints(()=>{r.isScheduled()||r.schedule()})));this._sessionDisposables.add(f),this._updateHintsDecorators(f.ranges,f.items),this._cacheHintsForFastRestore(t)}catch(u){Un(u)}finally{n.dispose(),d.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(ts(()=>n==null?void 0:n.dispose(!0))),r.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(a=>{(a.scrollTopChanged||!r.isScheduled())&&r.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(a=>{n==null||n.cancel();const d=Math.max(r.delay,1250);r.schedule(d)})),this._sessionDisposables.add(this._installDblClickGesture(()=>r.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new Tt,t=e.add(new xb(this._editor)),i=new Tt;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(n=>{const[s]=n,r=this._getInlayHintLabelPart(s),a=this._editor.getModel();if(!r||!a){i.clear();return}const d=new qs;i.add(ts(()=>d.dispose(!0))),r.item.resolve(d.token),this._activeInlayHintPart=r.part.command||r.part.location?new pR(r,s.hasTriggerModifier):void 0;const u=a.validatePosition(r.item.hint.position).lineNumber,f=new Q(u,1,u,a.getLineMaxColumn(u)),g=this._getInlineHintsForRange(f);this._updateHintsDecorators([f],g),i.add(ts(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([f],g)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(async n=>{const s=this._getInlayHintLabelPart(n);if(s){const r=s.part;r.location?this._instaService.invokeFunction(q5,n,this._editor,r.location):N3.is(r.command)&&await this._invokeCommand(r.command,s.item)}})),e}_getInlineHintsForRange(e){const t=new Set;for(const i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(async t=>{if(t.event.detail!==2)return;const i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),await i.item.resolve(an.None),Zo(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>cs.replace(Q.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!O3(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(fR,this._editor,e.event.target,t)})}_getInlayHintLabelPart(e){var i;if(e.target.type!==6)return;const t=(i=e.target.detail.injectedText)==null?void 0:i.options;if(t instanceof zw&&(t==null?void 0:t.attachedData)instanceof dE)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:Ww.Error,source:t.provider.displayName,message:i})}}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[i,n]of this._decorationsMetadata){if(t.has(n.item))continue;const s=e.getDecorationRange(i);if(s){const r=new T5(s,n.item.anchor.direction),a=n.item.with({anchor:r});t.set(n.item,a)}}return Array.from(t.values())}_getHintsRanges(){const t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),n=[];for(const s of i.sort(Q.compareRangesUsingStarts)){const r=t.validateRange(new Q(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!Q.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=Q.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var b,y;const i=[],n=(w,A,P,M,R)=>{const T={content:P,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:A.className,cursorStops:M,attachedData:R};i.push({item:w,classNameRef:A,decoration:{range:w.anchor.range,options:{description:"InlayHint",showIfCollapsed:w.anchor.range.isEmpty(),collapseOnReplaceEdit:!w.anchor.range.isEmpty(),stickiness:0,[w.anchor.direction]:this._activeRenderMode===0?T:void 0}}})},s=(w,A)=>{const P=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(w,P," ",A?Vh.Right:Vh.None)},{fontSize:r,fontFamily:a,padding:d,isUniform:u}=this._getLayoutInfo(),f="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(f,a);let g={line:0,totalLen:0};for(const w of t){if(g.line!==w.anchor.range.startLineNumber&&(g={line:w.anchor.range.startLineNumber,totalLen:0}),g.totalLen>Nh._MAX_LABEL_LEN)continue;w.hint.paddingLeft&&s(w,!1);const A=typeof w.hint.label=="string"?[{label:w.hint.label}]:w.hint.label;for(let P=0;P<A.length;P++){const M=A[P],R=P===0,T=P===A.length-1,V={fontSize:`${r}px`,fontFamily:`var(${f}), ${Mw.fontFamily}`,verticalAlign:u?"baseline":"middle",unicodeBidi:"isolate"};Zo(w.hint.textEdits)&&(V.cursor="default"),this._fillInColors(V,w.hint),(M.command||M.location)&&((b=this._activeInlayHintPart)==null?void 0:b.part.item)===w&&this._activeInlayHintPart.part.index===P&&(V.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(V.color=Bs(H3),V.cursor="pointer")),d&&(R&&T?(V.padding=`1px ${Math.max(1,r/4)|0}px`,V.borderRadius=`${r/4|0}px`):R?(V.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,V.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):T?(V.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,V.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):V.padding="1px 0 1px 0");let H=M.label;g.totalLen+=H.length;let X=!1;const se=g.totalLen-Nh._MAX_LABEL_LEN;if(se>0&&(H=H.slice(0,-se)+"…",X=!0),n(w,this._ruleFactory.createClassNameRef(V),xR(H),T&&!w.hint.paddingRight?Vh.Right:Vh.None,new dE(w,P)),X)break}if(w.hint.paddingRight&&s(w,!0),i.length>Nh._MAX_DECORATORS)break}const p=[];for(const[w,A]of this._decorationsMetadata){const P=(y=this._editor.getModel())==null?void 0:y.getDecorationRange(w);P&&e.some(M=>M.containsRange(P))&&(p.push(w),A.classNameRef.dispose(),this._decorationsMetadata.delete(w))}const C=I0.capture(this._editor);this._editor.changeDecorations(w=>{const A=w.deltaDecorations(p,i.map(P=>P.decoration));for(let P=0;P<A.length;P++){const M=i[P];this._decorationsMetadata.set(A[P],M)}}),C.restore(this._editor)}_fillInColors(e,t){t.kind===PS.Parameter?(e.backgroundColor=Bs(W3),e.color=Bs(z3)):t.kind===PS.Type?(e.backgroundColor=Bs(V3),e.color=Bs(j3)):(e.backgroundColor=Bs($3),e.color=Bs(U3))}_getLayoutInfo(){const e=this._editor.getOption(142),t=e.padding,i=this._editor.getOption(52),n=this._editor.getOption(49);let s=e.fontSize;(!s||s<5||s>i)&&(s=i);const r=e.fontFamily||n;return{fontSize:s,fontFamily:r,padding:t,isUniform:!t&&r===n&&s===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}},Nh=xl,xl.ID="editor.contrib.InlayHints",xl._MAX_DECORATORS=1500,xl._MAX_LABEL_LEN=43,xl);Zg=Nh=gR([Eh(1,ki),Eh(2,fr),Eh(3,G5),Eh(4,zs),Eh(5,xo),Eh(6,nn)],Zg);function xR(o){return o.replace(/[ \t]/g," ")}Qn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;In(Vn.isUri(t)),In(Q.isIRange(i));const{inlayHintsProvider:n}=o.get(ki),s=await o.get(fa).createModelReference(t);try{const r=await qm.create(n,s.object.textEditorModel,[Q.lift(i)],an.None),a=r.items.map(d=>d.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var mR=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},Zl=function(o,e){return function(t,i){e(t,i,o)}};class V8 extends om{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let Qm=class extends Gg{constructor(e,t,i,n,s,r,a,d,u){super(e,t,i,r,d,n,s,u),this._resolverService=a,this.hoverOrdinal=6}suggestHoverAnchor(e){var n;if(!Zg.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof zw&&i.attachedData instanceof dE?new V8(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof V8?new sa(async n=>{const{part:s}=e;if(await s.item.resolve(i),i.isCancellationRequested)return;let r;typeof s.item.hint.tooltip=="string"?r=new ao().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new Ir(this,e.range,[r],!1,0)),Zo(s.item.hint.textEdits)&&n.emitOne(new Ir(this,e.range,[new ao().appendText(S("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new ao().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new Ir(this,e.range,[a],!1,1)),s.part.location||s.part.command){let u;const g=this._editor.getOption(78)==="altKey"?$a?S("links.navigate.kb.meta.mac","cmd + click"):S("links.navigate.kb.meta","ctrl + click"):$a?S("links.navigate.kb.alt.mac","option + click"):S("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?u=new ao().appendText(S("hint.defAndCommand","Go to Definition ({0}), right click for more",g)):s.part.location?u=new ao().appendText(S("hint.def","Go to Definition ({0})",g)):s.part.command&&(u=new ao(`[${S("hint.cmd","Execute Command")}](${UM(s.part.command)} "${s.part.command.title}") (${g})`,{isTrusted:!0})),u&&n.emitOne(new Ir(this,e.range,[u],!1,1e4))}const d=await this._resolveInlayHintLabelPartHover(s,i);for await(const u of d)n.emitOne(u)}):sa.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return sa.EMPTY;const{uri:i,range:n}=e.part.location,s=await this._resolverService.createModelReference(i);try{const r=s.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(r)?S9(this._languageFeaturesService.hoverProvider,r,new Ai(n.startLineNumber,n.startColumn),t).filter(a=>!Lg(a.hover.contents)).map(a=>new Ir(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):sa.EMPTY}finally{s.dispose()}}};Qm=mR([Zl(1,ha),Zl(2,da),Zl(3,Ds),Zl(4,Lp),Zl(5,ns),Zl(6,fa),Zl(7,ki),Zl(8,zs)],Qm);class L9 extends Nt{constructor(e,t,i,n,s,r){super();const a=t.anchor,d=t.hoverParts;this._renderedHoverParts=this._register(new uE(e,i,d,r,s));const{showAtPosition:u,showAtSecondaryPosition:f}=L9.computeHoverPositions(e,a.range,d);this.shouldAppearBeforeContent=d.some(g=>g.isBeforeContent),this.showAtPosition=u,this.showAtSecondaryPosition=f,this.initialMousePosX=a.initialMousePosX,this.initialMousePosY=a.initialMousePosY,this.shouldFocus=n.shouldFocus,this.source=n.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}async updateHoverVerbosityLevel(e,t,i){this._renderedHoverParts.updateHoverVerbosityLevel(e,t,i)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(e,t,i){let n=1;if(e.hasModel()){const f=e._getViewModel(),g=f.coordinatesConverter,p=g.convertModelRangeToViewRange(t),C=f.getLineMinColumn(p.startLineNumber),b=new Ai(p.startLineNumber,C);n=g.convertViewPositionToModelPosition(b).column}const s=t.startLineNumber;let r=t.startColumn,a;for(const f of i){const g=f.range,p=g.startLineNumber===s,C=g.endLineNumber===s;if(p&&C){const y=g.startColumn,w=Math.min(r,y);r=Math.max(w,n)}f.forceShowAtRange&&(a=g)}let d,u;if(a){const f=a.getStartPosition();d=f,u=f}else d=t.getStartPosition(),u=new Ai(s,r);return{showAtPosition:d,showAtSecondaryPosition:u}}}class vR{constructor(e,t){this._statusBar=t,e.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}}const t_=class t_ extends Nt{constructor(e,t,i,n,s){super(),this._renderedParts=[],this._focusedHoverPartIndex=-1,this._context=s,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(t,i,s,n)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(e,i)),this._updateMarkdownAndColorParticipantInfo(t)}_createEditorDecorations(e,t){if(t.length===0)return Nt.None;let i=t[0].range;for(const s of t){const r=s.range;i=Q.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:t_._DECORATION_OPTIONS}]),ts(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new Um(n),r={fragment:this._fragment,statusBar:s,...i},a=new Tt;for(const u of e){const f=this._renderHoverPartsForParticipant(t,u,r);a.add(f);for(const g of f.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:u,hoverPart:g.hoverPart,hoverElement:g.hoverElement})}const d=this._renderStatusBar(this._fragment,s);return d&&(a.add(d),this._renderedParts.push({type:"statusBar",hoverElement:d.hoverElement,actions:d.actions})),ts(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new zu([])}_renderStatusBar(e,t){if(t.hasContent)return new vR(e,t)}_registerListenersOnRenderedParts(){const e=new Tt;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(Bn(n,as.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(Bn(n,as.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof Gg&&!(i instanceof Qm));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof Ug)}async updateHoverVerbosityLevel(e,t,i){if(!this._markdownHoverParticipant)return;const n=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,t);if(n===void 0)return;const s=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(e,n,i);s&&(this._renderedParts[t]={type:"hoverPart",participant:this._markdownHoverParticipant,hoverPart:s.hoverPart,hoverElement:s.hoverElement},this._context.onContentsChanged())}isColorPickerVisible(){var e;return((e=this._colorHoverParticipant)==null?void 0:e.isColorPickerVisible())??!1}_normalizedIndexToMarkdownHoverIndexRange(e,t){const i=this._renderedParts[t];if(!i||i.type!=="hoverPart"||!(i.participant===e))return;const s=this._renderedParts.findIndex(r=>r.type==="hoverPart"&&r.participant===e);if(s===-1)throw new R0;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};t_._DECORATION_OPTIONS=xn.register({description:"content-hover-highlight",className:"hoverHighlight"});let uE=t_;var _R=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},j8=function(o,e){return function(t,i){e(t,i,o)}};let hE=class extends Nt{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new rn),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(Q1,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new $m(this._editor,this._participants),this._hoverOperation=this._register(new B5(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of th.getAll()){const i=this._instantiationService.createInstance(t,this._editor);e.push(i)}return e.sort((t,i)=>t.hoverOrdinal-i.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach(t=>{var i;return(i=t.handleResize)==null?void 0:i.call(t)})})),e}_registerListeners(){this._register(this._hoverOperation.onResult(t=>{if(!this._computer.anchor)return;const i=t.hasLoadingMessage?this._addLoadingMessage(t.value):t.value;this._withResult(new F5(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(Sl(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(Sl(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(K_.onDidChange(()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)}))}_startShowingOrUpdateHover(e,t,i,n,s){if(!(this._contentHoverWidget.position&&this._currentResult))return e?(this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):!1;const a=this._editor.getOption(60).sticky,d=s&&this._contentHoverWidget.isMouseGettingCloser(s.event.posx,s.event.posy);return a&&d?(e&&this._startHoverOperationIfNecessary(e,t,i,n,!0),!0):e?this._currentResult.anchor.equals(e)?!0:e.canAdoptVisibleHover(this._currentResult.anchor,this._contentHoverWidget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,i,n,s){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=n,this._computer.source=i,this._computer.insistOnKeepingHoverVisible=s,this._hoverOperation.start(t))}_setCurrentResult(e){let t=e;if(this._currentResult===t)return;t&&t.hoverParts.length===0&&(t=null),this._currentResult=t,this._currentResult?this._showHover(this._currentResult):this._hideHover()}_addLoadingMessage(e){if(!this._computer.anchor)return e;for(const t of this._participants){if(!t.createLoadingMessage)continue;const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}return e}_withResult(e){if(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(e),!e.isComplete)return;const n=e.hoverParts.length===0,s=this._computer.insistOnKeepingHoverVisible;n&&s||this._setCurrentResult(e)}_showHover(e){const t=this._getHoverContext();this._renderedContentHover=new L9(this._editor,e,this._participants,this._computer,t,this._keybindingService),this._renderedContentHover.domNodeHasChildren?this._contentHoverWidget.show(this._renderedContentHover):this._renderedContentHover.dispose()}_hideHover(){this._contentHoverWidget.hide()}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._onContentsChanged.fire(),this._contentHoverWidget.onContentsChanged()},setMinimumDimensions:n=>{this._contentHoverWidget.setMinimumDimensions(n)}}}showsOrWillShow(e){if(this._contentHoverWidget.isResizing)return!0;const i=this._findHoverAnchorCandidates(e);if(!(i.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,e);const s=i[0];return this._startShowingOrUpdateHover(s,0,0,!1,e)}_findHoverAnchorCandidates(e){const t=[];for(const n of this._participants){if(!n.suggestHoverAnchor)continue;const s=n.suggestHoverAnchor(e);s&&t.push(s)}const i=e.target;switch(i.type){case 6:{t.push(new mC(0,i.range,e.event.posx,e.event.posy));break}case 7:{const n=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;if(!(!i.detail.isAfterLines&&typeof i.detail.horizontalDistanceToText=="number"&&i.detail.horizontalDistanceToText<n))break;t.push(new mC(0,i.range,e.event.posx,e.event.posy));break}}return t.sort((n,s)=>s.priority-n.priority),t}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!pb(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new mC(0,e,void 0,void 0),t,i,n,null)}async updateHoverVerbosityLevel(e,t,i){var n;(n=this._renderedContentHover)==null||n.updateHoverVerbosityLevel(e,t,i)}focusedHoverPartIndex(){var e;return((e=this._renderedContentHover)==null?void 0:e.focusedHoverPartIndex)??-1}containsNode(e){return e?this._contentHoverWidget.getDomNode().contains(e):!1}focus(){this._contentHoverWidget.focus()}scrollUp(){this._contentHoverWidget.scrollUp()}scrollDown(){this._contentHoverWidget.scrollDown()}scrollLeft(){this._contentHoverWidget.scrollLeft()}scrollRight(){this._contentHoverWidget.scrollRight()}pageUp(){this._contentHoverWidget.pageUp()}pageDown(){this._contentHoverWidget.pageDown()}goToTop(){this._contentHoverWidget.goToTop()}goToBottom(){this._contentHoverWidget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}getDomNode(){return this._contentHoverWidget.getDomNode()}get isColorPickerVisible(){var e;return((e=this._renderedContentHover)==null?void 0:e.isColorPickerVisible())??!1}get isVisibleFromKeyboard(){return this._contentHoverWidget.isVisibleFromKeyboard}get isVisible(){return this._contentHoverWidget.isVisible}get isFocused(){return this._contentHoverWidget.isFocused}get isResizing(){return this._contentHoverWidget.isResizing}get widget(){return this._contentHoverWidget}};hE=_R([j8(1,nn),j8(2,Ds)],hE);var bR=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},$8=function(o,e){return function(t,i){e(t,i,o)}},fE,Jd;let oo=(Jd=class extends Nt{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new rn),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Tt,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new Ps(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(fE.ID)}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0,!this._shouldNotHideCurrentHoverWidget(e)&&this._hideWidgets()}_shouldNotHideCurrentHoverWidget(e){return this._isMouseOnContentHoverWidget(e)||this._isContentWidgetResizing()}_isMouseOnContentHoverWidget(e){var i;const t=(i=this._contentWidget)==null?void 0:i.getDomNode();return t?pb(t,e.event.posx,e.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._shouldNotHideCurrentHoverWidget(e))||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky,i=(r,a)=>{const d=this._isMouseOnContentHoverWidget(r);return a&&d},n=r=>{var u;const a=this._isMouseOnContentHoverWidget(r),d=((u=this._contentWidget)==null?void 0:u.isColorPickerVisible)??!1;return a&&d},s=(r,a)=>{var d,u,f,g;return(a&&((u=this._contentWidget)==null?void 0:u.containsNode((d=r.event.browserEvent.view)==null?void 0:d.document.activeElement))&&!((g=(f=r.event.browserEvent.view)==null?void 0:f.getSelection())!=null&&g.isCollapsed))??!1};return i(e,t)||n(e)||s(e,t)}_onEditorMouseMove(e){var a,d,u,f;if(this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._mouseMoveEvent=e,(a=this._contentWidget)!=null&&a.isFocused||(d=this._contentWidget)!=null&&d.isResizing))return;const t=this._hoverSettings.sticky;if(t&&((u=this._contentWidget)!=null&&u.isVisibleFromKeyboard))return;if(this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}const n=this._hoverSettings.hidingDelay;if(((f=this._contentWidget)==null?void 0:f.isVisible)&&t&&n>0){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(n);return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){var d;if(!e)return;const i=(d=e.target.element)==null?void 0:d.classList.contains("colorpicker-color-decoration"),n=this._editor.getOption(149),s=this._hoverSettings.enabled,r=this._hoverState.activatedByDecoratorClick;if(i&&(n==="click"&&!r||n==="hover"&&!s||n==="clickAndHover"&&!s&&!r)||!i&&!s&&!r){this._hideWidgets();return}this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateContentWidget().showsOrWillShow(e)}_onKeyDown(e){var n;if(!this._editor.hasModel())return;const t=this._keybindingService.softDispatch(e,this._editor.getDomNode()),i=t.kind===1||t.kind===2&&(t.commandId===S5||t.commandId===fb||t.commandId===gb)&&((n=this._contentWidget)==null?void 0:n.isVisible);e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4||i||this._hideWidgets()}_hideWidgets(){var e,t;this._hoverState.mouseDown&&((e=this._contentWidget)!=null&&e.isColorPickerVisible)||q0.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(hE,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}showContentHover(e,t,i,n,s=!1){this._hoverState.activatedByDecoratorClick=s,this._getOrCreateContentWidget().startShowingAtRange(e,t,i,n)}_isContentWidgetResizing(){var e;return((e=this._contentWidget)==null?void 0:e.widget.isResizing)||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(e,t,i){this._getOrCreateContentWidget().updateHoverVerbosityLevel(e,t,i)}focus(){var e;(e=this._contentWidget)==null||e.focus()}scrollUp(){var e;(e=this._contentWidget)==null||e.scrollUp()}scrollDown(){var e;(e=this._contentWidget)==null||e.scrollDown()}scrollLeft(){var e;(e=this._contentWidget)==null||e.scrollLeft()}scrollRight(){var e;(e=this._contentWidget)==null||e.scrollRight()}pageUp(){var e;(e=this._contentWidget)==null||e.pageUp()}pageDown(){var e;(e=this._contentWidget)==null||e.pageDown()}goToTop(){var e;(e=this._contentWidget)==null||e.goToTop()}goToBottom(){var e;(e=this._contentWidget)==null||e.goToBottom()}get isColorPickerVisible(){var e;return(e=this._contentWidget)==null?void 0:e.isColorPickerVisible}get isHoverVisible(){var e;return(e=this._contentWidget)==null?void 0:e.isVisible}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._contentWidget)==null||e.dispose()}},fE=Jd,Jd.ID="editor.contrib.contentHover",Jd);oo=fE=bR([$8(1,nn),$8(2,Ds)],oo);const bS=class bS extends Nt{constructor(e){super(),this._editor=e,this._register(e.onMouseDown(t=>this.onMouseDown(t)))}dispose(){super.dispose()}onMouseDown(e){const t=this._editor.getOption(149);if(t!=="click"&&t!=="clickAndHover")return;const i=e.target;if(i.type!==6||!i.detail.injectedText||i.detail.injectedText.options.attachedData!==v5||!i.range)return;const n=this._editor.getContribution(oo.ID);if(n&&!n.isColorPickerVisible){const s=new Q(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};bS.ID="editor.contrib.colorContribution";let Jm=bS;dn(Jm.ID,Jm,2);th.register(Ug);var K5=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},Gh=function(o,e){return function(t,i){e(t,i,o)}},gE,pE,eu;let ju=(eu=class extends Nt{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=q.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=q.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){var e;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||(e=this._standaloneColorPickerWidget)==null||e.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(xE,this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused))}hide(){var e;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),(e=this._standaloneColorPickerWidget)==null||e.hide(),this._editor.focus()}insertColor(){var e;(e=this._standaloneColorPickerWidget)==null||e.updateEditor(),this.hide()}static get(e){return e.getContribution(gE.ID)}},gE=eu,eu.ID="editor.contrib.standaloneColorPickerController",eu);ju=gE=K5([Gh(1,Fn),Gh(2,nn)],ju);dn(ju.ID,ju,1);const U8=8,CR=22;var tu;let xE=(tu=class extends Nt{constructor(e,t,i,n,s,r,a){var g;super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._keybindingService=s,this._languageFeaturesService=r,this._editorWorkerService=a,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new rn),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(qg,this._editor),this._position=(g=this._editor._getViewModel())==null?void 0:g.getPrimaryCursorState().modelState.position;const d=this._editor.getSelection(),u=d?{startLineNumber:d.startLineNumber,startColumn:d.startColumn,endLineNumber:d.endLineNumber,endColumn:d.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},f=this._register(F0(this._body));this._register(f.onDidBlur(p=>{this.hide()})),this._register(f.onDidFocus(p=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(p=>{var b;const C=(b=p.target.element)==null?void 0:b.classList;C&&C.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(p=>{this._render(p.value,p.foundInEditor)})),this._start(u),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return pE.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const e=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:e?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(e){const t=await this._computeAsync(e);t&&this._onResult.fire(new ER(t.result,t.foundInEditor))}async _computeAsync(e){if(!this._editor.hasModel())return null;const t={range:e,color:{red:0,green:0,blue:0,alpha:1}},i=await this._standaloneColorPickerParticipant.createColorHover(t,new $g(this._editorWorkerService),this._languageFeaturesService.colorProvider);return i?{result:i.colorHover,foundInEditor:i.foundInEditor}:null}_render(e,t){const i=document.createDocumentFragment(),n=this._register(new Um(this._keybindingService)),s={fragment:i,statusBar:n,onContentsChanged:()=>{},hide:()=>this.hide()};this._colorHover=e;const r=this._standaloneColorPickerParticipant.renderHoverParts(s,[e]);if(!r)return;this._register(r.disposables);const a=r.colorPicker;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(i),a.layout();const d=a.body,u=d.saturationBox.domNode.clientWidth,f=d.domNode.clientWidth-u-CR-U8,g=a.body.enterButton;g==null||g.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,C=p.pickedColorNode;C.style.width=u+U8+"px";const b=p.originalColorNode;b.style.width=f+"px";const y=a.header.closeButton;y==null||y.onClicked(()=>{this.hide()}),t&&(g&&(g.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},pE=tu,tu.ID="editor.contrib.standaloneColorPickerWidget",tu);xE=pE=K5([Gh(3,nn),Gh(4,Ds),Gh(5,ki),Gh(6,Nl)],xE);class ER{constructor(e,t){this.value=e,this.foundInEditor=t}}class yR extends la{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...Di("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:S({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:ri.CommandPalette}],metadata:{description:Di("showOrFocusStandaloneColorPickerDescription","Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.")}})}runEditorCommand(e,t){var i;(i=ju.get(t))==null||i.showOrFocus()}}class wR extends bt{constructor(){super({id:"editor.action.hideColorPicker",label:S({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:q.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:Di("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=ju.get(t))==null||i.hide()}}class SR extends bt{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:S({key:"insertColorWithStandaloneColorPicker",comment:["Action that inserts color with standalone color picker"]},"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:q.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:Di("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=ju.get(t))==null||i.insertColor()}}Be(wR);Be(SR);zn(yR);class fc{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const n=t.length,s=e.length;if(i+n>s)return!1;for(let r=0;r<n;r++){const a=e.charCodeAt(i+r),d=t.charCodeAt(r);if(a!==d&&!(a>=65&&a<=90&&a+32===d)&&!(d>=65&&d<=90&&d+32===a))return!1}return!0}_createOperationsForBlockComment(e,t,i,n,s,r){const a=e.startLineNumber,d=e.startColumn,u=e.endLineNumber,f=e.endColumn,g=s.getLineContent(a),p=s.getLineContent(u);let C=g.lastIndexOf(t,d-1+t.length),b=p.indexOf(i,f-1-i.length);if(C!==-1&&b!==-1)if(a===u)g.substring(C+t.length,b).indexOf(i)>=0&&(C=-1,b=-1);else{const w=g.substring(C+t.length),A=p.substring(0,b);(w.indexOf(i)>=0||A.indexOf(i)>=0)&&(C=-1,b=-1)}let y;C!==-1&&b!==-1?(n&&C+t.length<g.length&&g.charCodeAt(C+t.length)===32&&(t=t+" "),n&&b>0&&p.charCodeAt(b-1)===32&&(i=" "+i,b-=1),y=fc._createRemoveBlockCommentOperations(new Q(a,C+t.length+1,u,b+1),t,i)):(y=fc._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=y.length===1?i:null);for(const w of y)r.addTrackedEditOperation(w.range,w.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return Q.isEmpty(e)?n.push(cs.delete(new Q(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(cs.delete(new Q(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(cs.delete(new Q(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return Q.isEmpty(e)?s.push(cs.replace(new Q(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(cs.insert(new Ai(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(cs.insert(new Ai(e.endLineNumber,e.endColumn),(n?" ":"")+i))),s}getEditOperations(e,t){const i=this._selection.startLineNumber,n=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const s=e.getLanguageIdAtPosition(i,n),r=this.languageConfigurationService.getLanguageConfiguration(s).comments;!r||!r.blockCommentStartToken||!r.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,r.blockCommentStartToken,r.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(i.length===2){const n=i[0],s=i[1];return new ji(n.range.endLineNumber,n.range.endColumn,s.range.startLineNumber,s.range.startColumn)}else{const n=i[0].range,s=this._usedEndToken?-this._usedEndToken.length-1:0;return new ji(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class sl{constructor(e,t,i,n,s,r,a){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=n,this._insertSpace=s,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=r,this._ignoreFirstLine=a||!1}static _gatherPreflightCommentStrings(e,t,i,n){e.tokenization.tokenizeIfCheap(t);const s=e.getLanguageIdAtPosition(t,1),r=n.getLanguageConfiguration(s).comments,a=r?r.lineCommentToken:null;if(!a)return null;const d=[];for(let u=0,f=i-t+1;u<f;u++)d[u]={ignore:!1,commentStr:a,commentStrOffset:0,commentStrLength:a.length};return d}static _analyzeLines(e,t,i,n,s,r,a,d){let u=!0,f;e===0?f=!0:e===1?f=!1:f=!0;for(let g=0,p=n.length;g<p;g++){const C=n[g],b=s+g;if(b===s&&a){C.ignore=!0;continue}const y=i.getLineContent(b),w=t1(y);if(w===-1){C.ignore=r,C.commentStrOffset=y.length;continue}if(u=!1,C.ignore=!1,C.commentStrOffset=w,f&&!fc._haystackHasNeedleAtOffset(y,C.commentStr,w)&&(e===0?f=!1:e===1||(C.ignore=!0)),f&&t){const A=w+C.commentStrLength;A<y.length&&y.charCodeAt(A)===32&&(C.commentStrLength+=1)}}if(e===0&&u){f=!1;for(let g=0,p=n.length;g<p;g++)n[g].ignore=!1}return{supported:!0,shouldRemoveComments:f,lines:n}}static _gatherPreflightData(e,t,i,n,s,r,a,d){const u=sl._gatherPreflightCommentStrings(i,n,s,d);return u===null?{supported:!1}:sl._analyzeLines(e,t,i,u,n,r,a,d)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=sl._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(sl._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new Ai(n.positionLineNumber,n.positionColumn);for(let a=0,d=s.length;a<d;a++)t.addEditOperation(s[a].range,s[a].text),Q.isEmpty(s[a].range)&&Q.getStartPosition(s[a].range).equals(r)&&e.getLineContent(r.lineNumber).length+1===r.column&&(this._deltaColumn=(s[a].text||"").length);this._selectionId=t.trackSelection(n)}_attemptRemoveBlockComment(e,t,i,n){let s=t.startLineNumber,r=t.endLineNumber;const a=n.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn);let d=e.getLineContent(s).lastIndexOf(i,a-1),u=e.getLineContent(r).indexOf(n,t.endColumn-1-i.length);return d!==-1&&u===-1&&(u=e.getLineContent(s).indexOf(n,d+i.length),r=s),d===-1&&u!==-1&&(d=e.getLineContent(r).lastIndexOf(i,u),s=r),t.isEmpty()&&(d===-1||u===-1)&&(d=e.getLineContent(s).indexOf(i),d!==-1&&(u=e.getLineContent(s).indexOf(n,d+i.length))),d!==-1&&e.getLineContent(s).charCodeAt(d+i.length)===32&&(i+=" "),u!==-1&&e.getLineContent(r).charCodeAt(u-1)===32&&(n=" "+n,u-=1),d!==-1&&u!==-1?fc._createRemoveBlockCommentOperations(new Q(s,d+i.length+1,r,u+1),i,n):null}_executeBlockComment(e,t,i){e.tokenization.tokenizeIfCheap(i.startLineNumber);const n=e.getLanguageIdAtPosition(i.startLineNumber,1),s=this.languageConfigurationService.getLanguageConfiguration(n).comments;if(!s||!s.blockCommentStartToken||!s.blockCommentEndToken)return;const r=s.blockCommentStartToken,a=s.blockCommentEndToken;let d=this._attemptRemoveBlockComment(e,i,r,a);if(!d){if(i.isEmpty()){const u=e.getLineContent(i.startLineNumber);let f=t1(u);f===-1&&(f=u.length),d=fc._createAddBlockCommentOperations(new Q(i.startLineNumber,f+1,i.startLineNumber,u.length+1),r,a,this._insertSpace)}else d=fc._createAddBlockCommentOperations(new Q(i.startLineNumber,e.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),r,a,this._insertSpace);d.length===1&&(this._deltaColumn=r.length+1)}this._selectionId=t.trackSelection(i);for(const u of d)t.addEditOperation(u.range,u.text)}getEditOperations(e,t){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){t.addEditOperation(new Q(i.startLineNumber,e.getLineMaxColumn(i.startLineNumber),i.startLineNumber+1,1),i.startLineNumber===e.getLineCount()?"":`
19
+ `),this._selectionId=t.trackSelection(i);return}i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._moveEndPositionDown=!0,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));const n=sl._gatherPreflightData(this._type,this._insertSpace,e,i.startLineNumber,i.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return n.supported?this._executeLineComments(e,t,n,i):this._executeBlockComment(e,t,i)}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),new ji(i.selectionStartLineNumber,i.selectionStartColumn+this._deltaColumn,i.positionLineNumber,i.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(e,t){const i=[];for(let n=0,s=e.length;n<s;n++){const r=e[n];r.ignore||i.push(cs.delete(new Q(t+n,r.commentStrOffset+1,t+n,r.commentStrOffset+r.commentStrLength+1)))}return i}_createAddLineCommentsOperations(e,t){const i=[],n=this._insertSpace?" ":"";for(let s=0,r=e.length;s<r;s++){const a=e[s];a.ignore||i.push(cs.insert(new Ai(t+s,a.commentStrOffset+1),a.commentStr+n))}return i}static nextVisibleColumn(e,t,i,n){return i?e+(t-e%t):e+n}static _normalizeInsertionPoint(e,t,i,n){let s=1073741824,r,a;for(let d=0,u=t.length;d<u;d++){if(t[d].ignore)continue;const f=e.getLineContent(i+d);let g=0;for(let p=0,C=t[d].commentStrOffset;g<s&&p<C;p++)g=sl.nextVisibleColumn(g,n,f.charCodeAt(p)===9,1);g<s&&(s=g)}s=Math.floor(s/n)*n;for(let d=0,u=t.length;d<u;d++){if(t[d].ignore)continue;const f=e.getLineContent(i+d);let g=0;for(r=0,a=t[d].commentStrOffset;g<s&&r<a;r++)g=sl.nextVisibleColumn(g,n,f.charCodeAt(r)===9,1);g>s?t[d].commentStrOffset=r-1:t[d].commentStrOffset=r}}}class I9 extends bt{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(Vs);if(!t.hasModel())return;const n=t.getModel(),s=[],r=n.getOptions(),a=t.getOption(23),d=t.getSelections().map((f,g)=>({selection:f,index:g,ignoreFirstLine:!1}));d.sort((f,g)=>Q.compareRangesUsingStarts(f.selection,g.selection));let u=d[0];for(let f=1;f<d.length;f++){const g=d[f];u.selection.endLineNumber===g.selection.startLineNumber&&(u.index<g.index?g.ignoreFirstLine=!0:(u.ignoreFirstLine=!0,u=g))}for(const f of d)s.push(new sl(i,f.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,f.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class DR extends I9{constructor(){super(0,{id:"editor.action.commentLine",label:S("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:ri.MenubarEditMenu,group:"5_insert",title:S({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class AR extends I9{constructor(){super(1,{id:"editor.action.addCommentLine",label:S("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2081),weight:100}})}}class kR extends I9{constructor(){super(2,{id:"editor.action.removeCommentLine",label:S("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2099),weight:100}})}}class BR extends bt{constructor(){super({id:"editor.action.blockComment",label:S("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:ri.MenubarEditMenu,group:"5_insert",title:S({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(Vs);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new fc(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}Be(DR);Be(AR);Be(kR);Be(BR);var FR=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},ud=function(o,e){return function(t,i){e(t,i,o)}},mE,iu;let K0=(iu=class{static get(e){return e.getContribution(mE.ID)}constructor(e,t,i,n,s,r,a,d){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=n,this._keybindingService=s,this._menuService=r,this._configurationService=a,this._workspaceContextService=d,this._toDispose=new Tt,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(u=>this._onContextMenu(u))),this._toDispose.add(this._editor.onMouseWheel(u=>{if(this._contextMenuIsBeingShownCount>0){const f=this._contextViewService.getContextViewElement(),g=u.srcElement;g.shadowRoot&&q3(f)===g.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(u=>{this._editor.getOption(24)&&u.keyCode===58&&(u.preventDefault(),u.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);return}if(e.target.type===12||e.target.type===6&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),e.target.type===11)return this._showScrollbarContextMenu(e.event);if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let i=!1;for(const n of this._editor.getSelections())if(n.containsPosition(e.target.position)){i=!0;break}i||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24)||!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],n=this._menuService.getMenuActions(t,this._contextKeyService,{arg:e.uri});for(const s of n){const[,r]=s;let a=0;for(const d of r)if(d instanceof G3){const u=this._getMenuActions(e,d.item.submenu);u.length>0&&(i.push(new TS(d.id,d.label,u)),a++)}else i.push(d),a++;a&&i.push(new Fg)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const i=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let n=t;if(!n){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const r=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),a=yo(this._editor.getDomNode()),d=a.left+r.left,u=a.top+r.top+r.height;n={x:d,y:u}}const s=this._editor.getOption(128)&&!i1;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:s?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,getAnchor:()=>n,getActions:()=>e,getActionViewItem:r=>{const a=this._keybindingFor(r);if(a)return new JC(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const d=r;return typeof d.getActionViewItem=="function"?d.getActionViewItem():new JC(r,r,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:r=>this._keybindingFor(r),onHide:r=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:i})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel()||K3(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const n=u=>({id:`menu-action-${++i}`,label:u.label,tooltip:"",class:void 0,enabled:typeof u.enabled>"u"?!0:u.enabled,checked:u.checked,run:u.run}),s=(u,f)=>new TS(`menu-action-${++i}`,u,f,void 0),r=(u,f,g,p,C)=>{if(!f)return n({label:u,enabled:f,run:()=>{}});const b=w=>()=>{this._configurationService.updateValue(g,w)},y=[];for(const w of C)y.push(n({label:w.label,checked:p===w.value,run:b(w.value)}));return s(u,y)},a=[];a.push(n({label:S("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new Fg),a.push(n({label:S("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(r(S("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:S("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:S("context.minimap.size.fill","Fill"),value:"fill"},{label:S("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(r(S("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:S("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:S("context.minimap.slider.always","Always"),value:"always"}]));const d=this._editor.getOption(128)&&!i1;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:d?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>a,onHide:u=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}},mE=iu,iu.ID="editor.contrib.contextmenu",iu);K0=mE=FR([ud(1,of),ud(2,z_),ud(3,Fn),ud(4,Ds),ud(5,Zu),ud(6,ns),ud(7,k0)],K0);class LR extends bt{constructor(){super({id:"editor.action.showContextMenu",label:S("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=K0.get(t))==null||i.showContextMenu()}}dn(K0.ID,K0,2);Be(LR);class _C{constructor(e){this.selections=e}equals(e){const t=this.selections.length,i=e.selections.length;if(t!==i)return!1;for(let n=0;n<t;n++)if(!this.selections[n].equalsSelection(e.selections[n]))return!1;return!0}}class bC{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const i_=class i_ extends Nt{static get(e){return e.getContribution(i_.ID)}constructor(e){super(),this._editor=e,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(e.onDidChangeModel(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;const i=new _C(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new bC(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new bC(new _C(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new bC(new _C(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}};i_.ID="editor.contrib.cursorUndoRedoController";let Z0=i_;class IR extends bt{constructor(){super({id:"cursorUndo",label:S("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=Z0.get(t))==null||n.cursorUndo()}}class PR extends bt{constructor(){super({id:"cursorRedo",label:S("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=Z0.get(t))==null||n.cursorRedo()}}dn(Z0.ID,Z0,0);Be(IR);Be(PR);class TR{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){const i=e.getValueInRange(this.selection);if(this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new Q(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new ji(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new ji(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber<this.selection.endLineNumber){this.targetSelection=new ji(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new ji(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column-this.selection.endColumn+this.selection.startColumn:this.targetPosition.column-this.selection.endColumn+this.selection.startColumn,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new ji(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn)}computeCursorState(e,t){return this.targetSelection}}function yh(o){return $a?o.altKey:o.ctrlKey}const nc=class nc extends Nt{constructor(e){super(),this._editor=e,this._dndDecorationIds=this._editor.createDecorationsCollection(),this._register(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._register(this._editor.onMouseUp(t=>this._onEditorMouseUp(t))),this._register(this._editor.onMouseDrag(t=>this._onEditorMouseDrag(t))),this._register(this._editor.onMouseDrop(t=>this._onEditorMouseDrop(t))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(t=>this.onEditorKeyDown(t))),this._register(this._editor.onKeyUp(t=>this.onEditorKeyUp(t))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){!this._editor.getOption(35)||this._editor.getOption(22)||(yh(e)&&(this._modifierPressed=!0),this._mouseDown&&yh(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(yh(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===nc.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){const t=e.target;if(this._dragSelection===null){const n=(this._editor.getSelections()||[]).filter(s=>t.position&&s.containsPosition(t.position));if(n.length===1)this._dragSelection=n[0];else return}yh(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new Ai(e.target.position.lineNumber,e.target.position.column);if(this._dragSelection===null){let i=null;if(e.event.shiftKey){const n=this._editor.getSelection();if(n){const{selectionStartLineNumber:s,selectionStartColumn:r}=n;i=[new ji(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new ji(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(yh(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(nc.ID,new TR(this._dragSelection,t,yh(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(e){this._dndDecorationIds.set([{range:new Q(e.lineNumber,e.column,e.lineNumber,e.column),options:nc._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return e.type===6||e.type===7}_hitMargin(e){return e.type===2||e.type===3||e.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}};nc.ID="editor.contrib.dragAndDrop",nc.TRIGGER_KEY_VALUE=$a?6:5,nc._DECORATION_OPTIONS=xn.register({description:"dnd-target",className:"dnd-target"});let ev=nc;dn(ev.ID,ev,2);dn(Bl.ID,Bl,0);lf(I1);Ii(new class extends Ao{constructor(){super({id:Y6,precondition:v9,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=Bl.get(e))==null?void 0:t.changePasteType()}});Ii(new class extends Ao{constructor(){super({id:"editor.hidePasteWidget",precondition:v9,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=Bl.get(e))==null||t.clearWidgets()}});var nu;Be((nu=class extends bt{constructor(){super({id:"editor.action.pasteAs",label:S("pasteAs","Paste As..."),alias:"Paste As...",precondition:q.writable,metadata:{description:"Paste as",args:[{name:"args",schema:nu.argsSchema}]}})}run(e,t,i){var s;let n=typeof(i==null?void 0:i.kind)=="string"?i.kind:void 0;return!n&&i&&(n=typeof i.id=="string"?i.id:void 0),(s=Bl.get(t))==null?void 0:s.pasteAs(n?new is(n):void 0)}},nu.argsSchema={type:"object",properties:{kind:{type:"string",description:S("pasteAs.kind","The kind of the paste edit to try applying. If not provided or there are multiple edits for this kind, the editor will show a picker.")}}},nu));Be(class extends bt{constructor(){super({id:"editor.action.pasteAsText",label:S("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:q.writable})}run(o,e){var t;return(t=Bl.get(e))==null?void 0:t.pasteAs({providerId:Ru.id})}});class MR{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class q8{constructor(e){this.identifier=e}}const Z5=Ml("treeViewsDndService");Rl(Z5,MR,1);var RR=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},Cx=function(o,e){return function(t,i){e(t,i,o)}},vE;const X5="editor.experimental.dropIntoEditor.defaultProvider",Y5="editor.changeDropType",P9=new Cn("dropWidgetVisible",!1,S("dropWidgetVisible","Whether the drop widget is showing"));var su;let X0=(su=class extends Nt{static get(e){return e.getContribution(vE.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=F1.getInstance(),this._dropProgressManager=this._register(t.createInstance(zm,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(jm,"dropIntoEditor",e,P9,{id:Y5,label:S("postDropWidgetTitle","Show drop options...")})),this._register(e.onDropIntoEditor(r=>this.onDropIntoEditor(e,r.position,r.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,i){var s;if(!i.dataTransfer||!e.hasModel())return;(s=this._currentOperation)==null||s.cancel(),e.focus(),e.setPosition(t);const n=Us(async r=>{const a=new Tt,d=a.add(new B0(e,1,void 0,r));try{const u=await this.extractDataTransferData(i);if(u.size===0||d.token.isCancellationRequested)return;const f=e.getModel();if(!f)return;const g=this._languageFeaturesService.documentDropEditProvider.ordered(f).filter(C=>C.dropMimeTypes?C.dropMimeTypes.some(b=>u.matches(b)):!0),p=a.add(await this.getDropEdits(g,f,t,u,d));if(d.token.isCancellationRequested)return;if(p.edits.length){const C=this.getInitialActiveEditIndex(f,p.edits),b=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([Q.fromPositions(t)],{activeEditIndex:C,allEdits:p.edits},b,async y=>y,r)}}finally{a.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,S("dropIntoEditorProgress","Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),this._currentOperation=n}async getDropEdits(e,t,i,n,s){const r=new Tt,a=await yp(Promise.all(e.map(async u=>{try{const f=await u.provideDocumentDropEdits(t,i,n,s.token);return f&&r.add(f),f==null?void 0:f.edits.map(g=>({...g,providerId:u.id}))}catch(f){console.error(f)}})),s.token),d=yl(a??[]).flat();return{edits:Z6(d),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(X5,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new is(s),a=t.findIndex(d=>r.value===d.providerId&&d.handledMimeType&&W6(n,[d.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new H6;const t=j6(e.dataTransfer);if(this.treeItemsTransfer.hasData(q8.prototype)){const i=this.treeItemsTransfer.getData(q8.prototype);if(Array.isArray(i))for(const n of i){const s=await this._treeViewsDragAndDropService.removeDragOperationTransfer(n.identifier);if(s)for(const[r,a]of s)t.replace(r,a)}}return t}},vE=su,su.ID="editor.contrib.dropIntoEditorController",su);X0=vE=RR([Cx(1,nn),Cx(2,ns),Cx(3,ki),Cx(4,Z5)],X0);dn(X0.ID,X0,2);lf(L1);Ii(new class extends Ao{constructor(){super({id:Y5,precondition:P9,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=X0.get(e))==null||i.changeDropType()}});Ii(new class extends Ao{constructor(){super({id:"editor.hideDropWidget",precondition:P9,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=X0.get(e))==null||i.clearWidgets()}});ca.as(Dp.Configuration).registerConfiguration({...j_,properties:{[X5]:{type:"object",scope:5,description:S("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});const no=class no{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const e=this._findScopeDecorationIds.map(t=>this._editor.getModel().getDecorationRange(t)).filter(t=>!!t);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){const t=e<this._decorations.length?this._decorations[e]:null;return t?this._editor.getModel().getDecorationRange(t):null}getCurrentMatchesPosition(e){const t=this._editor.getModel().getDecorationsInRange(e);for(const i of t){const n=i.options;if(n===no._FIND_MATCH_DECORATION||n===no._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(i.id)}return 0}setCurrentFindMatch(e){let t=null,i=0;if(e)for(let n=0,s=this._decorations.length;n<s;n++){const r=this._editor.getModel().getDecorationRange(this._decorations[n]);if(e.equalsRange(r)){t=this._decorations[n],i=n+1;break}}return(this._highlightedDecorationId!==null||t!==null)&&this._editor.changeDecorations(n=>{if(this._highlightedDecorationId!==null&&(n.changeDecorationOptions(this._highlightedDecorationId,no._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,no._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(n.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),t!==null){let s=this._editor.getModel().getDecorationRange(t);if(s.startLineNumber!==s.endLineNumber&&s.endColumn===1){const r=s.endLineNumber-1,a=this._editor.getModel().getLineMaxColumn(r);s=new Q(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,no._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=no._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=no._FIND_MATCH_NO_OVERVIEW_DECORATION;const a=this._editor.getModel().getLineCount(),u=this._editor.getLayoutInfo().height/a,f=Math.max(2,Math.ceil(3/u));let g=e[0].range.startLineNumber,p=e[0].range.endLineNumber;for(let C=1,b=e.length;C<b;C++){const y=e[C].range;p+f>=y.startLineNumber?y.endLineNumber>p&&(p=y.endLineNumber):(s.push({range:new Q(g,1,p,1),options:no._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),g=y.startLineNumber,p=y.endLineNumber)}s.push({range:new Q(g,1,p,1),options:no._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const r=new Array(e.length);for(let a=0,d=e.length;a<d;a++)r[a]={range:e[a].range,options:n};this._decorations=i.deltaDecorations(this._decorations,r),this._overviewRulerApproximateDecorations=i.deltaDecorations(this._overviewRulerApproximateDecorations,s),this._rangeHighlightDecorationId&&(i.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(a=>i.removeDecoration(a)),this._findScopeDecorationIds=[]),t!=null&&t.length&&(this._findScopeDecorationIds=t.map(a=>i.addDecoration(a,no._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],n=this._editor.getModel().getDecorationRange(i);if(!(!n||n.endLineNumber>e.lineNumber)){if(n.endLineNumber<e.lineNumber)return n;if(!(n.endColumn>e.column))return n}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,i=this._decorations.length;t<i;t++){const n=this._decorations[t],s=this._editor.getModel().getDecorationRange(n);if(!(!s||s.startLineNumber<e.lineNumber)){if(s.startLineNumber>e.lineNumber)return s;if(!(s.startColumn<e.column))return s}}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let e=[];return e=e.concat(this._decorations),e=e.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length&&e.push(...this._findScopeDecorationIds),this._rangeHighlightDecorationId&&e.push(this._rangeHighlightDecorationId),e}};no._CURRENT_FIND_MATCH_DECORATION=xn.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:Bs(Qb),position:Ha.Center},minimap:{color:Bs(MS),position:1}}),no._FIND_MATCH_DECORATION=xn.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:Bs(Qb),position:Ha.Center},minimap:{color:Bs(MS),position:1}}),no._FIND_MATCH_NO_OVERVIEW_DECORATION=xn.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),no._FIND_MATCH_ONLY_OVERVIEW_DECORATION=xn.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:Bs(Qb),position:Ha.Center}}),no._RANGE_HIGHLIGHT_DECORATION=xn.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),no._FIND_SCOPE_DECORATION=xn.register({description:"find-scope",className:"findScope",isWholeLine:!0});let _E=no;class NR{constructor(e,t,i){this._editorSelection=e,this._ranges=t,this._replaceStrings=i,this._trackedEditorSelectionId=null}getEditOperations(e,t){if(this._ranges.length>0){const i=[];for(let r=0;r<this._ranges.length;r++)i.push({range:this._ranges[r],text:this._replaceStrings[r]});i.sort((r,a)=>Q.compareRangesUsingStarts(r.range,a.range));const n=[];let s=i[0];for(let r=1;r<i.length;r++)s.range.endLineNumber===i[r].range.startLineNumber&&s.range.endColumn===i[r].range.startColumn?(s.range=s.range.plusRange(i[r].range),s.text=s.text+i[r].text):(n.push(s),s=i[r]);n.push(s);for(const r of n)t.addEditOperation(r.range,r.text)}this._trackedEditorSelectionId=t.trackSelection(this._editorSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._trackedEditorSelectionId)}}function Q5(o,e){if(o&&o[0]!==""){const t=G8(o,e,"-"),i=G8(o,e,"_");return t&&!i?K8(o,e,"-"):!t&&i?K8(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():Z3(o[0][0])&&e.length>0?e[0].toUpperCase()+e.substr(1):o[0][0].toUpperCase()!==o[0][0]&&e.length>0?e[0].toLowerCase()+e.substr(1):e}else return e}function G8(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function K8(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=Q5([n[a]],r)+t}),s.slice(0,-1)}class Z8{constructor(e){this.staticValue=e,this.kind=0}}class OR{constructor(e){this.pieces=e,this.kind=1}}class Y0{static fromStaticValue(e){return new Y0([Hd.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new Z8(""):e.length===1&&e[0].staticValue!==null?this._state=new Z8(e[0].staticValue):this._state=new OR(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?Q5(e,this._state.staticValue):this._state.staticValue;let i="";for(let n=0,s=this._state.pieces.length;n<s;n++){const r=this._state.pieces[n];if(r.staticValue!==null){i+=r.staticValue;continue}let a=Y0._substitute(r.matchIndex,e);if(r.caseOps!==null&&r.caseOps.length>0){const d=[],u=r.caseOps.length;let f=0;for(let g=0,p=a.length;g<p;g++){if(f>=u){d.push(a.slice(g));break}switch(r.caseOps[f]){case"U":d.push(a[g].toUpperCase());break;case"u":d.push(a[g].toUpperCase()),f++;break;case"L":d.push(a[g].toLowerCase());break;case"l":d.push(a[g].toLowerCase()),f++;break;default:d.push(a[g])}}a=d.join("")}i+=a}return i}static _substitute(e,t){if(t===null)return"";if(e===0)return t[0];let i="";for(;e>0;){if(e<t.length)return(t[e]||"")+i;i=String(e%10)+i,e=Math.floor(e/10)}return"$"+i}}class Hd{static staticValue(e){return new Hd(e,-1,null)}static caseOps(e,t){return new Hd(null,e,t)}constructor(e,t,i){this.staticValue=e,this.matchIndex=t,!i||i.length===0?this.caseOps=null:this.caseOps=i.slice(0)}}class HR{constructor(e){this._source=e,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=""}emitUnchanged(e){this._emitStatic(this._source.substring(this._lastCharIndex,e)),this._lastCharIndex=e}emitStatic(e,t){this._emitStatic(e),this._lastCharIndex=t}_emitStatic(e){e.length!==0&&(this._currentStaticPiece+=e)}emitMatchIndex(e,t,i){this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Hd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=Hd.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Hd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new Y0(this._result)}}function WR(o){if(!o||o.length===0)return new Y0(null);const e=[],t=new HR(o);for(let i=0,n=o.length;i<n;i++){const s=o.charCodeAt(i);if(s===92){if(i++,i>=n)break;const r=o.charCodeAt(i);switch(r){case 92:t.emitUnchanged(i-1),t.emitStatic("\\",i+1);break;case 110:t.emitUnchanged(i-1),t.emitStatic(`
20
+ `,i+1);break;case 116:t.emitUnchanged(i-1),t.emitStatic(" ",i+1);break;case 117:case 85:case 108:case 76:t.emitUnchanged(i-1),t.emitStatic("",i+1),e.push(String.fromCharCode(r));break}continue}if(s===36){if(i++,i>=n)break;const r=o.charCodeAt(i);if(r===36){t.emitUnchanged(i-1),t.emitStatic("$",i+1);continue}if(r===48||r===38){t.emitUnchanged(i-1),t.emitMatchIndex(0,i+1,e),e.length=0;continue}if(49<=r&&r<=57){let a=r-48;if(i+1<n){const d=o.charCodeAt(i+1);if(48<=d&&d<=57){i++,a=a*10+(d-48),t.emitUnchanged(i-2),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}t.emitUnchanged(i-1),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}}return t.finalize()}const Wl=new Cn("findWidgetVisible",!1);Wl.toNegated();const bb=new Cn("findInputFocussed",!1),T9=new Cn("replaceInputFocussed",!1),Ex={primary:545,mac:{primary:2593}},yx={primary:565,mac:{primary:2613}},wx={primary:560,mac:{primary:2608}},Sx={primary:554,mac:{primary:2602}},Dx={primary:558,mac:{primary:2606}},$n={StartFindAction:"actions.find",StartFindWithSelection:"actions.findWithSelection",StartFindWithArgs:"editor.actions.findWithArgs",NextMatchFindAction:"editor.action.nextMatchFindAction",PreviousMatchFindAction:"editor.action.previousMatchFindAction",GoToMatchFindAction:"editor.action.goToMatchFindAction",NextSelectionMatchFindAction:"editor.action.nextSelectionMatchFindAction",PreviousSelectionMatchFindAction:"editor.action.previousSelectionMatchFindAction",StartFindReplaceAction:"editor.action.startFindReplaceAction",CloseFindWidgetCommand:"closeFindWidget",ToggleCaseSensitiveCommand:"toggleFindCaseSensitive",ToggleWholeWordCommand:"toggleFindWholeWord",ToggleRegexCommand:"toggleFindRegex",ToggleSearchScopeCommand:"toggleFindInSelection",TogglePreserveCaseCommand:"togglePreserveCase",ReplaceOneAction:"editor.action.replaceOne",ReplaceAllAction:"editor.action.replaceAll",SelectAllMatchesAction:"editor.action.selectAllMatches"},gc=19999,zR=240;class fg{constructor(e,t){this._toDispose=new Tt,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new wp,this._decorations=new _E(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new Ps(()=>{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(i=>{(i.reason===3||i.reason===5||i.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(i=>{this._ignoreModelContentChanged||(i.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(i=>this._onStateChanged(i))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,co(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){this._isDisposed||this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)},zR)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;typeof t<"u"?t!==null&&(Array.isArray(t)?i=t:i=[t]):i=this._decorations.getFindScopes(),i!==null&&(i=i.map(a=>{if(a.startLineNumber!==a.endLineNumber){let d=a.endLineNumber;return a.endColumn===1&&(d=d-1),new Q(a.startLineNumber,1,d,this._editor.getModel().getLineMaxColumn(d))}return a}));const n=this._findMatches(i,!1,gc);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=wA(n.map(d=>d.range),d=>Q.compareRangesUsingStarts(d,s)>=0);r=a>0?a-1+1:r}this._state.changeMatchInfo(r,this._decorations.getCount(),void 0),e&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||n===1?(i===1?i=s.getLineCount():i--,n=s.getLineMaxColumn(i)):n--,new Ai(i,n)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const f=this._decorations.matchAfterPosition(e);f&&this._setCurrentFindMatch(f);return}if(this._decorations.getCount()<gc){let f=this._decorations.matchBeforePosition(e);f&&f.isEmpty()&&f.getStartPosition().equals(e)&&(e=this._prevSearchPosition(e),f=this._decorations.matchBeforePosition(e)),f&&this._setCurrentFindMatch(f);return}if(this._cannotFind())return;const i=this._decorations.getFindScope(),n=fg._getSearchRange(this._editor.getModel(),i);n.getEndPosition().isBefore(e)&&(e=n.getEndPosition()),e.isBefore(n.getStartPosition())&&(e=n.getEndPosition());const{lineNumber:s,column:r}=e,a=this._editor.getModel();let d=new Ai(s,r),u=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1);if(u&&u.range.isEmpty()&&u.range.getStartPosition().equals(d)&&(d=this._prevSearchPosition(d),u=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1)),!!u){if(!t&&!n.containsRange(u.range))return this._moveToPrevMatch(u.range.getStartPosition(),!0);this._setCurrentFindMatch(u.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||n===s.getLineMaxColumn(i)?(i===s.getLineCount()?i=1:i++,n=1):n++,new Ai(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<gc){let i=this._decorations.matchAfterPosition(e);i&&i.isEmpty()&&i.getStartPosition().equals(e)&&(e=this._nextSearchPosition(e),i=this._decorations.matchAfterPosition(e)),i&&this._setCurrentFindMatch(i);return}const t=this._getNextMatch(e,!1,!0);t&&this._setCurrentFindMatch(t.range)}_getNextMatch(e,t,i,n=!1){if(this._cannotFind())return null;const s=this._decorations.getFindScope(),r=fg._getSearchRange(this._editor.getModel(),s);r.getEndPosition().isBefore(e)&&(e=r.getStartPosition()),e.isBefore(r.getStartPosition())&&(e=r.getStartPosition());const{lineNumber:a,column:d}=e,u=this._editor.getModel();let f=new Ai(a,d),g=u.findNextMatch(this._state.searchString,f,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t);return i&&g&&g.range.isEmpty()&&g.range.getStartPosition().equals(f)&&(f=this._nextSearchPosition(f),g=u.findNextMatch(this._state.searchString,f,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t)),g?!n&&!r.containsRange(g.range)?this._getNextMatch(g.range.getEndPosition(),t,i,!0):g:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(e){const t=this._decorations.getDecorationRangeAt(e);t&&this._setCurrentFindMatch(t)}moveToMatch(e){this._moveToMatch(e)}_getReplacePattern(){return this._state.isRegex?WR(this._state.replaceString):Y0.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const e=this._getReplacePattern(),t=this._editor.getSelection(),i=this._getNextMatch(t.getStartPosition(),!0,!1);if(i)if(t.equalsRange(i.range)){const n=e.buildReplaceString(i.matches,this._state.preserveCase),s=new Ep(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new Ai(t.startLineNumber,t.startColumn+n.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(i.range)}_findMatches(e,t,i){const n=(e||[null]).map(s=>fg._getSearchRange(this._editor.getModel(),s));return this._editor.getModel().findMatches(this._state.searchString,n,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t,i)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();e===null&&this._state.matchesCount>=gc?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new X3(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let g="mu";i.ignoreCase&&(g+="i"),i.global&&(g+="g"),i=new RegExp(i.source,g)}const n=this._editor.getModel(),s=n.getValue(1),r=n.getFullModelRange(),a=this._getReplacePattern();let d;const u=this._state.preserveCase;a.hasReplacementPatterns||u?d=s.replace(i,function(){return a.buildReplaceString(arguments,u)}):d=s.replace(i,a.buildReplaceString(null,u));const f=new SA(r,d,this._editor.getSelection());this._executeEditorCommand("replaceAll",f)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),n=[];for(let r=0,a=i.length;r<a;r++)n[r]=t.buildReplaceString(i[r].matches,this._state.preserveCase);const s=new NR(this._editor.getSelection(),i.map(r=>r.range),n);this._executeEditorCommand("replaceAll",s)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let i=this._findMatches(e,!1,1073741824).map(s=>new ji(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn));const n=this._editor.getSelection();for(let s=0,r=i.length;s<r;s++)if(i[s].equalsRange(n)){i=[n].concat(i.slice(0,s)).concat(i.slice(s+1));break}this._editor.setSelections(i)}_executeEditorCommand(e,t){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(e,t),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}}const n_=class n_ extends kp{constructor(e,t,i){super(),this._hideSoon=this._register(new Ps(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const n={inputActiveOptionBorder:Ld(AA),inputActiveOptionForeground:Ld(DA),inputActiveOptionBackground:Ld(Iw)},s=this._register(n1());this.caseSensitive=this._register(new Y3({appendTitle:this._keybindingLabelFor($n.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverDelegate:s,...n})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new Q3({appendTitle:this._keybindingLabelFor($n.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverDelegate:s,...n})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new J3({appendTitle:this._keybindingLabelFor($n.ToggleRegexCommand),isChecked:this._state.isRegex,hoverDelegate:s,...n})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(r=>{let a=!1;r.isRegex&&(this.regex.checked=this._state.isRegex,a=!0),r.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,a=!0),r.matchCase&&(this.caseSensitive.checked=this._state.matchCase,a=!0),!this._state.isRevealed&&a&&this._revealTemporarily()})),this._register(Bn(this._domNode,as.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(Bn(this._domNode,"mouseover",r=>this._onMouseOver()))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return n_.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}};n_.ID="editor.contrib.findOptionsWidget";let bE=n_;function Ax(o,e){return o===1?!0:o===2?!1:e}class VR extends Nt{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return Ax(this._isRegexOverride,this._isRegex)}get wholeWord(){return Ax(this._wholeWordOverride,this._wholeWord)}get matchCase(){return Ax(this._matchCaseOverride,this._matchCase)}get preserveCase(){return Ax(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new rn),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,i){const n={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,n.matchesPosition=!0,s=!0),this._matchesCount!==t&&(this._matchesCount=t,n.matchesCount=!0,s=!0),typeof i<"u"&&(Q.equalsRange(this._currentMatch,i)||(this._currentMatch=i,n.currentMatch=!0,s=!0)),s&&this._onFindReplaceStateChange.fire(n)}change(e,t,i=!0){var f;const n={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;const r=this.isRegex,a=this.wholeWord,d=this.matchCase,u=this.preserveCase;typeof e.searchString<"u"&&this._searchString!==e.searchString&&(this._searchString=e.searchString,n.searchString=!0,s=!0),typeof e.replaceString<"u"&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,n.replaceString=!0,s=!0),typeof e.isRevealed<"u"&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,n.isRevealed=!0,s=!0),typeof e.isReplaceRevealed<"u"&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,n.isReplaceRevealed=!0,s=!0),typeof e.isRegex<"u"&&(this._isRegex=e.isRegex),typeof e.wholeWord<"u"&&(this._wholeWord=e.wholeWord),typeof e.matchCase<"u"&&(this._matchCase=e.matchCase),typeof e.preserveCase<"u"&&(this._preserveCase=e.preserveCase),typeof e.searchScope<"u"&&((f=e.searchScope)!=null&&f.every(g=>{var p;return(p=this._searchScope)==null?void 0:p.some(C=>!Q.equalsRange(C,g))})||(this._searchScope=e.searchScope,n.searchScope=!0,s=!0)),typeof e.loop<"u"&&this._loop!==e.loop&&(this._loop=e.loop,n.loop=!0,s=!0),typeof e.isSearching<"u"&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,n.isSearching=!0,s=!0),typeof e.filters<"u"&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,n.filters=!0,s=!0),this._isRegexOverride=typeof e.isRegexOverride<"u"?e.isRegexOverride:0,this._wholeWordOverride=typeof e.wholeWordOverride<"u"?e.wholeWordOverride:0,this._matchCaseOverride=typeof e.matchCaseOverride<"u"?e.matchCaseOverride:0,this._preserveCaseOverride=typeof e.preserveCaseOverride<"u"?e.preserveCaseOverride:0,r!==this.isRegex&&(s=!0,n.isRegex=!0),a!==this.wholeWord&&(s=!0,n.wholeWord=!0),d!==this.matchCase&&(s=!0,n.matchCase=!0),u!==this.preserveCase&&(s=!0,n.preserveCase=!0),s&&this._onFindReplaceStateChange.fire(n)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=gc}}const jR=S("defaultLabel","input"),$R=S("label.preserveCaseToggle","Preserve Case");class UR extends kA{constructor(e){super({icon:Gi.preserveCase,title:$R+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??Z_("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class qR extends kp{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new rn),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new rn),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new rn),this._onInput=this._register(new rn),this._onKeyUp=this._register(new rn),this._onPreserveCaseKeyDown=this._register(new rn),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||jR;const s=n.appendPreserveCaseLabel||"",r=n.history||[],a=!!n.flexibleHeight,d=!!n.flexibleWidth,u=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new e4(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:n.showHistoryHint,flexibleHeight:a,flexibleWidth:d,flexibleMaxHeight:u,inputBoxStyles:n.inputBoxStyles})),this.preserveCase=this._register(new UR({appendTitle:s,isChecked:!1,...n.toggleStyles})),this._register(this.preserveCase.onChange(p=>{this._onDidOptionChange.fire(p),!p&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(p=>{this._onPreserveCaseKeyDown.fire(p)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const f=[this.preserveCase.domNode];this.onkeydown(this.domNode,p=>{if(p.equals(15)||p.equals(17)||p.equals(9)){const C=f.indexOf(this.domNode.ownerDocument.activeElement);if(C>=0){let b=-1;p.equals(17)?b=(C+1)%f.length:p.equals(15)&&(C===0?b=f.length-1:b=C-1),p.equals(9)?(f[C].blur(),this.inputBox.focus()):b>=0&&f[b].focus(),wm.stop(p,!0)}}});const g=document.createElement("div");g.className="controls",g.style.display=this._showOptionButtons?"block":"none",g.appendChild(this.preserveCase.domNode),this.domNode.appendChild(g),e==null||e.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,p=>this._onKeyDown.fire(p)),this.onkeyup(this.inputBox.inputElement,p=>this._onKeyUp.fire(p)),this.oninput(this.inputBox.inputElement,p=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,p=>this._onMouseDown.fire(p))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){var e;(e=this.inputBox)==null||e.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var J5=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},eB=function(o,e){return function(t,i){e(t,i,o)}};const M9=new Cn("suggestWidgetVisible",!1,S("suggestWidgetVisible","Whether suggestion are visible")),R9="historyNavigationWidgetFocus",tB="historyNavigationForwardsEnabled",iB="historyNavigationBackwardsEnabled";let Cl;const kx=[];function nB(o,e){if(kx.includes(e))throw new Error("Cannot register the same widget multiple times");kx.push(e);const t=new Tt,i=new Cn(R9,!1).bindTo(o),n=new Cn(tB,!0).bindTo(o),s=new Cn(iB,!0).bindTo(o),r=()=>{i.set(!0),Cl=e},a=()=>{i.set(!1),Cl===e&&(Cl=void 0)};return i4(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(ts(()=>{kx.splice(kx.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let CE=class extends t4{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(nB(s,this.inputBox))}};CE=J5([eB(3,Fn)],CE);let EE=class extends qR{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(nB(r,this.inputBox))}};EE=J5([eB(3,Fn)],EE);Ka.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:$e.and($e.has(R9),$e.equals(iB,!0),$e.not("isComposing"),M9.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{Cl==null||Cl.showPreviousValue()}});Ka.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:$e.and($e.has(R9),$e.equals(tB,!0),$e.not("isComposing"),M9.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{Cl==null||Cl.showNextValue()}});function X8(o){var e,t;return((e=o.lookupKeybinding("history.showPrevious"))==null?void 0:e.getElectronAccelerator())==="Up"&&((t=o.lookupKeybinding("history.showNext"))==null?void 0:t.getElectronAccelerator())==="Down"}const Y8=ms("find-collapsed",Gi.chevronRight,S("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),Q8=ms("find-expanded",Gi.chevronDown,S("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),GR=ms("find-selection",Gi.selection,S("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),KR=ms("find-replace",Gi.replace,S("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),ZR=ms("find-replace-all",Gi.replaceAll,S("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),XR=ms("find-previous-match",Gi.arrowUp,S("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),YR=ms("find-next-match",Gi.arrowDown,S("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),QR=S("label.findDialog","Find / Replace"),JR=S("label.find","Find"),eN=S("placeholder.find","Find"),tN=S("label.previousMatchButton","Previous Match"),iN=S("label.nextMatchButton","Next Match"),nN=S("label.toggleSelectionFind","Find in Selection"),sN=S("label.closeButton","Close"),oN=S("label.replace","Replace"),rN=S("placeholder.replace","Replace"),aN=S("label.replaceButton","Replace"),lN=S("label.replaceAllButton","Replace All"),cN=S("label.toggleReplaceButton","Toggle Replace"),dN=S("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",gc),uN=S("label.matchesLocation","{0} of {1}"),J8=S("label.noResults","No results"),_a=419,hN=275,fN=hN-54;let Mf=69;const gN=33,eD="ctrlEnterReplaceAll.windows.donotask",tD=$a?256:2048;class CC{constructor(e){this.afterLineNumber=e,this.heightInPx=gN,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function iD(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function nD(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const s_=class s_ extends kp{constructor(e,t,i,n,s,r,a,d,u,f){super(),this._hoverService=f,this._cachedHeight=null,this._revealTimeouts=[],this._codeEditor=e,this._controller=t,this._state=i,this._contextViewProvider=n,this._keybindingService=s,this._contextKeyService=r,this._storageService=d,this._notificationService=u,this._ctrlEnterReplaceAllWarningPrompted=!!d.getBoolean(eD,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new Oc(500),this._register(ts(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(g=>this._onStateChanged(g))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(g=>{if(g.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),g.hasChanged(146)&&this._tryUpdateWidgetWidth(),g.hasChanged(2)&&this.updateAccessibilitySupport(),g.hasChanged(41)){const p=this._codeEditor.getOption(41).loop;this._state.change({loop:p},!1);const C=this._codeEditor.getOption(41).addExtraSpaceOnTop;C&&!this._viewZone&&(this._viewZone=new CC(0),this._showViewZone()),!C&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){const g=await this._controller.getGlobalBufferTerm();g&&g!==this._state.searchString&&(this._state.change({searchString:g},!1),this._findInput.select())}})),this._findInputFocused=bb.bindTo(r),this._findFocusTracker=this._register(F0(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=T9.bindTo(r),this._replaceFocusTracker=this._register(F0(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new CC(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(g=>{if(g.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return s_.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(92)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=yr(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){const t=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",t),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,Un)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=Mf+"px",this._state.matchesCount>=gc?this._matchesCount.title=dN:this._matchesCount.title="",(t=this._matchesCount.firstChild)==null||t.remove();let e;if(this._state.matchesCount>0){let i=String(this._state.matchesCount);this._state.matchesCount>=gc&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=Vw(uN,n,i)}else e=J8;this._matchesCount.appendChild(document.createTextNode(e)),Nr(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),Mf=Math.max(Mf,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===J8)return i===""?S("ariaSearchNoResultEmpty","{0} found",e):S("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=S("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),s=this._codeEditor.getModel();return s&&t.startLineNumber<=s.getLineCount()&&t.startLineNumber>=1?`${s.getLineContent(t.startLineNumber)}, ${n}`:n}return S("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(92);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const i=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=i;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const n=yo(i),s=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),r=n.left+(s?s.left:0),a=s?s.top:0;if(this._viewZone&&a<this._viewZone.heightInPx){e.endLineNumber>e.startLineNumber&&(t=!1);const d=n4(this._domNode).left;r>d&&(t=!1);const u=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());n.left+(u?u.left:0)>d&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(t=>{clearTimeout(t)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const i=this._viewZone;this._viewZoneId!==void 0||!i||this._codeEditor.changeViewZones(n=>{i.heightInPx=this._getHeight(),this._viewZoneId=n.addZone(i),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+i.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new CC(0));const i=this._viewZone;this._codeEditor.changeViewZones(n=>{if(this._viewZoneId!==void 0){const s=this._getHeight();if(s===i.heightInPx)return;const r=s-i.heightInPx;i.heightInPx=s,n.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+r);return}else{let s=this._getHeight();if(s-=this._codeEditor.getOption(84).top,s<=0)return;i.heightInPx=s,this._viewZoneId=n.addZone(i),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+s)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{this._viewZoneId!==void 0&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!this._domNode.isConnected)return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const i=e.width,n=e.minimap.minimapWidth;let s=!1,r=!1,a=!1;if(this._resized&&yr(this._domNode)>_a){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=yr(this._findInput.domNode);return}if(_a+28+n>=i&&(r=!0),_a+28+n-Mf>=i&&(a=!0),_a+28+n-Mf>=i+50&&(s=!0),this._domNode.classList.toggle("collapsed-find-widget",s),this._domNode.classList.toggle("narrow-find-widget",a),this._domNode.classList.toggle("reduced-find-widget",r),!a&&!s&&(this._domNode.style.maxWidth=`${i-28-n-15}px`),this._findInput.layout({collapsedFindWidget:s,narrowFindWidget:a,reducedFindWidget:r}),this._resized){const d=this._findInput.inputBox.element.clientWidth;d>0&&(this._replaceInput.width=d)}else this._isReplaceVisible&&(this._replaceInput.width=yr(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){const e=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===e?!1:(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const e=this._codeEditor.getSelections();e.map(t=>{t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1)));const i=this._state.currentMatch;return t.startLineNumber!==t.endLineNumber&&!Q.equalsRange(t,i)?t:null}).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(tD|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(`
21
+ `),e.preventDefault();return}if(e.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return iD(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return nD(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(tD|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{O_&&af&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(S("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(eD,!0,0,0)),this._replaceInput.inputBox.insertAtCursor(`
22
+ `),e.preventDefault();return}if(e.equals(2)){this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(1026)){this._findInput.focus(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return iD(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return nD(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){this._findInput=this._register(new CE(null,this._contextViewProvider,{width:fN,label:JR,placeholder:eN,appendCaseSensitiveLabel:this._keybindingLabelFor($n.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor($n.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor($n.ToggleRegexCommand),validation:f=>{if(f.length===0||!this._findInput.getRegex())return null;try{return new RegExp(f,"gu"),null}catch(g){return{content:g.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>X8(this._keybindingService),inputBoxStyles:NS,toggleStyles:RS},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(f=>this._onFindInputKeyDown(f))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(f=>{f.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),f.preventDefault())})),this._register(this._findInput.onRegexKeyDown(f=>{f.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),f.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(f=>{this._tryUpdateHeight()&&this._showViewZone()})),s4&&this._register(this._findInput.onMouseDown(f=>this._onFindInputMouseDown(f))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(n1());this._prevBtn=this._register(new wh({label:tN+this._keybindingLabelFor($n.PreviousMatchFindAction),icon:XR,hoverDelegate:i,onTrigger:()=>{jh(this._codeEditor.getAction($n.PreviousMatchFindAction)).run().then(void 0,Un)}},this._hoverService)),this._nextBtn=this._register(new wh({label:iN+this._keybindingLabelFor($n.NextMatchFindAction),icon:YR,hoverDelegate:i,onTrigger:()=>{jh(this._codeEditor.getAction($n.NextMatchFindAction)).run().then(void 0,Un)}},this._hoverService));const n=document.createElement("div");n.className="find-part",n.appendChild(this._findInput.domNode);const s=document.createElement("div");s.className="find-actions",n.appendChild(s),s.appendChild(this._matchesCount),s.appendChild(this._prevBtn.domNode),s.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new kA({icon:GR,title:nN+this._keybindingLabelFor($n.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:Ld(Iw),inputActiveOptionBorder:Ld(AA),inputActiveOptionForeground:Ld(DA)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let f=this._codeEditor.getSelections();f=f.map(g=>(g.endColumn===1&&g.endLineNumber>g.startLineNumber&&(g=g.setEndPosition(g.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(g.endLineNumber-1))),g.isEmpty()?null:g)).filter(g=>!!g),f.length&&this._state.change({searchScope:f},!0)}}else this._state.change({searchScope:null},!0)})),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new wh({label:sN+this._keybindingLabelFor($n.CloseFindWidgetCommand),icon:BA,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:f=>{f.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),f.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new EE(null,void 0,{label:oN,placeholder:rN,appendPreserveCaseLabel:this._keybindingLabelFor($n.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>X8(this._keybindingService),inputBoxStyles:NS,toggleStyles:RS},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(f=>this._onReplaceInputKeyDown(f))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(f=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(f=>{f.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),f.preventDefault())}));const r=this._register(n1());this._replaceBtn=this._register(new wh({label:aN+this._keybindingLabelFor($n.ReplaceOneAction),icon:KR,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:f=>{f.equals(1026)&&(this._closeBtn.focus(),f.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new wh({label:lN+this._keybindingLabelFor($n.ReplaceAllAction),icon:ZR,hoverDelegate:r,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const a=document.createElement("div");a.className="replace-part",a.appendChild(this._replaceInput.domNode);const d=document.createElement("div");d.className="replace-actions",a.appendChild(d),d.appendChild(this._replaceBtn.domNode),d.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new wh({label:cN,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=yr(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}},this._hoverService)),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=QR,this._domNode.role="dialog",this._domNode.style.width=`${_a}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(n),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(a),this._resizeSash=this._register(new Wh(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let u=_a;this._register(this._resizeSash.onDidStart(()=>{u=yr(this._domNode)})),this._register(this._resizeSash.onDidChange(f=>{this._resized=!0;const g=u+f.startX-f.currentX;if(g<_a)return;const p=parseFloat(o4(this._domNode).maxWidth)||0;g>p||(this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=yr(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const f=yr(this._domNode);if(f<_a)return;let g=_a;if(!this._resized||f===_a){const p=this._codeEditor.getLayoutInfo();g=p.width-28-p.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=yr(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};s_.ID="editor.contrib.findWidget";let yE=s_;class wh extends kp{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+Tn.asClassName(this._opts.icon)),this._domNode=document.createElement("div"),this._domNode.tabIndex=0,this._domNode.className=i,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this._register(t.setupManagedHover(e.hoverDelegate??Z_("element"),this._domNode,this._opts.label)),this.onclick(this._domNode,n=>{this._opts.onTrigger(),n.preventDefault()}),this.onkeydown(this._domNode,n=>{var s,r;if(n.equals(10)||n.equals(3)){this._opts.onTrigger(),n.preventDefault();return}(r=(s=this._opts).onKeyDown)==null||r.call(s,n)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...Tn.asClassNameArray(Y8)),this._domNode.classList.add(...Tn.asClassNameArray(Q8))):(this._domNode.classList.remove(...Tn.asClassNameArray(Q8)),this._domNode.classList.add(...Tn.asClassNameArray(Y8)))}}V_((o,e)=>{const t=o.getColor(lA);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${kg(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(r4);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${kg(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(wl);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(a4);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(l4);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});var sB=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},ar=function(o,e){return function(t,i){e(t,i,o)}},wE;const pN=524288;function SE(o,e="single",t=!1){if(!o.hasModel())return null;const i=o.getSelection();if(e==="single"&&i.startLineNumber===i.endLineNumber||e==="multiple"){if(i.isEmpty()){const n=o.getConfiguredWordAtPosition(i.getStartPosition());if(n&&t===!1)return n.word}else if(o.getModel().getValueLengthInRange(i)<pN)return o.getModel().getValueInRange(i)}return null}var ou;let So=(ou=class extends Nt{get editor(){return this._editor}static get(e){return e.getContribution(wE.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=Wl.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new Oc(500),this._state=this._register(new VR),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(a=>this._onStateChanged(a))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const a=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),a&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!bb.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let e=this._editor.getSelections();e=e.map(t=>(t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t)).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=Bg(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;const i={...t,isRevealed:!0};if(e.seedSearchStringFromSelection==="single"){const n=SE(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=Bg(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=SE(this._editor,e.seedSearchStringFromSelection);n&&(i.searchString=n)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){const n=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;n&&(i.searchString=n)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){const n=this._editor.getSelections();n.some(s=>!s.isEmpty())&&(i.searchScope=n)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new fg(this._editor,this._state))}start(e,t){return this._start(e,t)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}goToMatch(e){return this._model?(this._model.moveToMatch(e),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){var e;return this._model?(e=this._editor.getModel())!=null&&e.isTooLargeForHeapOperation()?(this._notificationService.warn(S("too.large.for.replaceall","The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(e){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}},wE=ou,ou.ID="editor.contrib.findController",ou);So=wE=sB([ar(1,Fn),ar(2,Gc),ar(3,rf),ar(4,xo),ar(5,Lp)],So);let DE=class extends So{constructor(e,t,i,n,s,r,a,d,u){super(e,i,a,d,r,u),this._contextViewService=t,this._keybindingService=n,this._themeService=s,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();const i=this._editor.getSelection();let n=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":n=!0;break;case"never":n=!1;break;case"multiline":{n=!!i&&i.startLineNumber!==i.endLineNumber;break}}e.updateSearchScope=e.updateSearchScope||n,await super._start(e,t),this._widget&&(e.shouldFocus===2?this._widget.focusReplaceInput():e.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new yE(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new bE(this._editor,this._state,this._keybindingService))}};DE=sB([ar(1,z_),ar(2,Fn),ar(3,Ds),ar(4,Wr),ar(5,xo),ar(6,Gc),ar(7,rf),ar(8,Lp)],DE);const xN=FA(new LA({id:$n.StartFindAction,label:S("startFindAction","Find"),alias:"Find",precondition:$e.or(q.focus,$e.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:ri.MenubarEditMenu,group:"3_find",title:S({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));xN.addImplementation(0,(o,e,t)=>{const i=So.get(e);return i?i.start({forceRevealReplace:!1,seedSearchStringFromSelection:e.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop}):!1});const mN={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},isRegex:{type:"boolean"},matchWholeWord:{type:"boolean"},isCaseSensitive:{type:"boolean"},preserveCase:{type:"boolean"},findInSelection:{type:"boolean"}}}}]};class vN extends bt{constructor(){super({id:$n.StartFindWithArgs,label:S("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:mN})}async run(e,t,i){const n=So.get(t);if(n){const s=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:i.replaceString!==void 0,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:n.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(i==null?void 0:i.findInSelection)||!1,loop:t.getOption(41).loop},s),n.setGlobalBufferTerm(n.getState().searchString)}}}class _N extends bt{constructor(){super({id:$n.StartFindWithSelection,label:S("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){const i=So.get(t);i&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),i.setGlobalBufferTerm(i.getState().searchString))}}class oB extends bt{async run(e,t){const i=So.get(t);i&&!this._run(i)&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:i.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class bN extends oB{constructor(){super({id:$n.NextMatchFindAction,label:S("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:q.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:$e.and(q.focus,bb),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class CN extends oB{constructor(){super({id:$n.PreviousMatchFindAction,label:S("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:q.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:$e.and(q.focus,bb),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class EN extends bt{constructor(){super({id:$n.GoToMatchFindAction,label:S("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Wl}),this._highlightDecorations=[]}run(e,t,i){const n=So.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(xo).notify({severity:Ww.Warning,message:S("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(Tl),a=new Tt,d=a.add(r.createInputBox());d.placeholder=S("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",s);const u=g=>{const p=parseInt(g);if(isNaN(p))return;const C=n.getState().matchesCount;if(p>0&&p<=C)return p-1;if(p<0&&p>=-C)return C+p},f=g=>{const p=u(g);if(typeof p=="number"){d.validationMessage=void 0,n.goToMatch(p);const C=n.getState().currentMatch;C&&this.addDecorations(t,C)}else d.validationMessage=S("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount),this.clearDecorations(t)};a.add(d.onDidChangeValue(g=>{f(g)})),a.add(d.onDidAccept(()=>{const g=u(d.value);typeof g=="number"?(n.goToMatch(g),d.hide()):d.validationMessage=S("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount)})),a.add(d.onDidHide(()=>{this.clearDecorations(t),a.dispose()})),d.show()}clearDecorations(e){e.changeDecorations(t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(i=>{this._highlightDecorations=i.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:Bs(IA),position:Ha.Full}}}])})}}class rB extends bt{async run(e,t){const i=So.get(t);if(!i)return;const n=SE(t,"single",!1);n&&i.setSearchString(n),this._run(i)||(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class yN extends rB{constructor(){super({id:$n.NextSelectionMatchFindAction,label:S("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class wN extends rB{constructor(){super({id:$n.PreviousSelectionMatchFindAction,label:S("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const SN=FA(new LA({id:$n.StartFindReplaceAction,label:S("startReplace","Replace"),alias:"Replace",precondition:$e.or(q.focus,$e.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:ri.MenubarEditMenu,group:"3_find",title:S({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));SN.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=So.get(e);if(!i)return!1;const n=e.getSelection(),s=i.isFindInputFocused(),r=!n.isEmpty()&&n.startLineNumber===n.endLineNumber&&e.getOption(41).seedSearchStringFromSelection!=="never"&&!s,a=s||r?2:1;return i.start({forceRevealReplace:!0,seedSearchStringFromSelection:r?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).seedSearchStringFromSelection!=="never",shouldFocus:a,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop})});dn(So.ID,DE,0);Be(vN);Be(_N);Be(bN);Be(CN);Be(EN);Be(yN);Be(wN);const ga=Ao.bindToContribution(So.get);Ii(new ga({id:$n.CloseFindWidgetCommand,precondition:Wl,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:$e.and(q.focus,$e.not("isComposing")),primary:9,secondary:[1033]}}));Ii(new ga({id:$n.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:q.focus,primary:Ex.primary,mac:Ex.mac,win:Ex.win,linux:Ex.linux}}));Ii(new ga({id:$n.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:q.focus,primary:yx.primary,mac:yx.mac,win:yx.win,linux:yx.linux}}));Ii(new ga({id:$n.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:q.focus,primary:wx.primary,mac:wx.mac,win:wx.win,linux:wx.linux}}));Ii(new ga({id:$n.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:q.focus,primary:Sx.primary,mac:Sx.mac,win:Sx.win,linux:Sx.linux}}));Ii(new ga({id:$n.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:q.focus,primary:Dx.primary,mac:Dx.mac,win:Dx.win,linux:Dx.linux}}));Ii(new ga({id:$n.ReplaceOneAction,precondition:Wl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:q.focus,primary:3094}}));Ii(new ga({id:$n.ReplaceOneAction,precondition:Wl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:$e.and(q.focus,T9),primary:3}}));Ii(new ga({id:$n.ReplaceAllAction,precondition:Wl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:q.focus,primary:2563}}));Ii(new ga({id:$n.ReplaceAllAction,precondition:Wl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:$e.and(q.focus,T9),primary:void 0,mac:{primary:2051}}}));Ii(new ga({id:$n.SelectAllMatchesAction,precondition:Wl,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:q.focus,primary:515}}));const DN={0:" ",1:"u",2:"r"},sD=65535,Qr=16777215,oD=4278190080;class EC{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,i=e%32;return(this._states[t]&1<<i)!==0}set(e,t){const i=e/32|0,n=e%32,s=this._states[i];t?this._states[i]=s|1<<n:this._states[i]=s&~(1<<n)}}class qo{constructor(e,t,i){if(e.length!==t.length||e.length>sD)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new EC(e.length),this._userDefinedStates=new EC(e.length),this._recoveredStates=new EC(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(i,n)=>{const s=e[e.length-1];return this.getStartLineNumber(s)<=i&&this.getEndLineNumber(s)>=n};for(let i=0,n=this._startIndexes.length;i<n;i++){const s=this._startIndexes[i],r=this._endIndexes[i];if(s>Qr||r>Qr)throw new Error("startLineNumber or endLineNumber must not exceed "+Qr);for(;e.length>0&&!t(s,r);)e.pop();const a=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=s+((a&255)<<24),this._endIndexes[i]=r+((a&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&Qr}getEndLineNumber(e){return this._endIndexes[e]&Qr}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){t===1?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):t===2?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let n=0;n<this._types.length;n++)this._types[n]===e&&(this.setCollapsed(n,t),i=!0);return i}toRegion(e){return new AN(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&oD)>>>24)+((this._endIndexes[e]&oD)>>>16);return t===sD?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(i===0)return-1;for(;t<i;){const n=Math.floor((t+i)/2);e<this.getStartLineNumber(n)?i=n:t=n+1}return t-1}findRange(e){let t=this.findIndex(e);if(t>=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);t!==-1;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;t<this.length;t++)e[t]=`[${DN[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Qr,endLineNumber:this._endIndexes[e]&Qr,type:this._types?this._types[e]:void 0,isCollapsed:this.isCollapsed(e),source:this.getSource(e)}}static fromFoldRanges(e){const t=e.length,i=new Uint32Array(t),n=new Uint32Array(t);let s=[],r=!1;for(let d=0;d<t;d++){const u=e[d];i[d]=u.startLineNumber,n[d]=u.endLineNumber,s.push(u.type),u.type&&(r=!0)}r||(s=void 0);const a=new qo(i,n,s);for(let d=0;d<t;d++)e[d].isCollapsed&&a.setCollapsed(d,!0),a.setSource(d,e[d].source);return a}static sanitizeAndMerge(e,t,i,n){i=i??Number.MAX_VALUE;const s=(w,A)=>Array.isArray(w)?(P=>P<A?w[P]:void 0):(P=>P<A?w.toFoldRange(P):void 0),r=s(e,e.length),a=s(t,t.length);let d=0,u=0,f=r(0),g=a(0);const p=[];let C,b=0;const y=[];for(;f||g;){let w;if(g&&(!f||f.startLineNumber>=g.startLineNumber))f&&f.startLineNumber===g.startLineNumber?(g.source===1?w=g:(w=f,w.isCollapsed=g.isCollapsed&&(f.endLineNumber===g.endLineNumber||!(n!=null&&n.startsInside(f.startLineNumber+1,f.endLineNumber+1))),w.source=0),f=r(++d)):(w=g,g.isCollapsed&&g.source===0&&(w.source=2)),g=a(++u);else{let A=u,P=g;for(;;){if(!P||P.startLineNumber>f.endLineNumber){w=f;break}if(P.source===1&&P.endLineNumber>f.endLineNumber)break;P=a(++A)}f=r(++d)}if(w){for(;C&&C.endLineNumber<w.startLineNumber;)C=p.pop();w.endLineNumber>w.startLineNumber&&w.startLineNumber>b&&w.endLineNumber<=i&&(!C||C.endLineNumber>=w.endLineNumber)&&(y.push(w),b=w.startLineNumber,C&&p.push(C),C=w)}}return y}}class AN{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}}class kN{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new rn,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new qo(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((i,n)=>i.regionIndex-n.regionIndex);const t={};this._decorationProvider.changeDecorations(i=>{let n=0,s=-1,r=-1;const a=d=>{for(;n<d;){const u=this._regions.getEndLineNumber(n),f=this._regions.isCollapsed(n);if(u<=s){const g=this.regions.getSource(n)!==0;i.changeDecorationOptions(this._editorDecorationIds[n],this._decorationProvider.getDecorationOption(f,u<=r,g))}f&&u>r&&(r=u),n++}};for(const d of e){const u=d.regionIndex,f=this._editorDecorationIds[u];if(f&&!t[f]){t[f]=!0,a(u);const g=!this._regions.isCollapsed(u);this._regions.setCollapsed(u,g),s=Math.max(s,this._regions.getEndLineNumber(u))}}a(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=n=>{for(const s of e)if(!(s.startLineNumber>n.endLineNumber||n.startLineNumber>s.endLineNumber))return!0;return!1};for(let n=0;n<this._regions.length;n++){const s=this._regions.toFoldRange(n);(s.source===0||!i(s))&&t.push(s)}this.updatePost(qo.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=qo.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(qo.fromFoldRanges(n))}updatePost(e){const t=[];let i=-1;for(let n=0,s=e.length;n<s;n++){const r=e.getStartLineNumber(n),a=e.getEndLineNumber(n),d=e.isCollapsed(n),u=e.getSource(n)!==0,f={startLineNumber:r,startColumn:this._textModel.getLineMaxColumn(r),endLineNumber:a,endColumn:this._textModel.getLineMaxColumn(a)+1};t.push({range:f,options:this._decorationProvider.getDecorationOption(d,a<=i,u)}),d&&a>i&&(i=a)}this._decorationProvider.changeDecorations(n=>this._editorDecorationIds=n.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e){const t=[];for(let i=0,n=this._regions.length;i<n;i++){let s=this.regions.isCollapsed(i);const r=this.regions.getSource(i);if(s||r!==0){const a=this._regions.toFoldRange(i),d=this._textModel.getDecorationRange(this._editorDecorationIds[i]);d&&(s&&(e!=null&&e.startsInside(d.startLineNumber+1,d.endLineNumber))&&(s=!1),t.push({startLineNumber:d.startLineNumber,endLineNumber:d.endLineNumber,type:a.type,isCollapsed:s,source:r}))}}return t}getMemento(){const e=this._currentFoldedOrManualRanges(),t=[],i=this._textModel.getLineCount();for(let n=0,s=e.length;n<s;n++){const r=e[n];if(r.startLineNumber>=r.endLineNumber||r.startLineNumber<1||r.endLineNumber>i)continue;const a=this._getLinesChecksum(r.startLineNumber+1,r.endLineNumber);t.push({startLineNumber:r.startLineNumber,endLineNumber:r.endLineNumber,isCollapsed:r.isCollapsed,source:r.source,checksum:a})}return t.length>0?t:void 0}applyMemento(e){if(!Array.isArray(e))return;const t=[],i=this._textModel.getLineCount();for(const s of e){if(s.startLineNumber>=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>i)continue;const r=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);(!s.checksum||r===s.checksum)&&t.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,type:void 0,isCollapsed:s.isCollapsed??!0,source:s.source??0})}const n=qo.sanitizeAndMerge(this._regions,t,i);this.updatePost(qo.fromFoldRanges(n))}_getLinesChecksum(e,t){return PA(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let n=this._regions.findRange(e),s=1;for(;n>=0;){const r=this._regions.toRegion(n);(!t||t(r,s))&&i.push(r),s++,n=r.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],n=e?e.regionIndex+1:0,s=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){const r=[];for(let a=n,d=this._regions.length;a<d;a++){const u=this._regions.toRegion(a);if(this._regions.getStartLineNumber(a)<s){for(;r.length>0&&!u.containedBy(r[r.length-1]);)r.pop();r.push(u),t(u,r.length)&&i.push(u)}else break}}else for(let r=n,a=this._regions.length;r<a;r++){const d=this._regions.toRegion(r);if(this._regions.getStartLineNumber(r)<s)(!t||t(d))&&i.push(d);else break}return i}}function N9(o,e,t){const i=[];for(const n of t){const s=o.getRegionAtLine(n);if(s){const r=!s.isCollapsed;if(i.push(s),e>1){const a=o.getRegionsInside(s,(d,u)=>d.isCollapsed!==r&&u<e);i.push(...a)}}}o.toggleCollapseState(i)}function pf(o,e,t=Number.MAX_VALUE,i){const n=[];if(i&&i.length>0)for(const s of i){const r=o.getRegionAtLine(s);if(r&&(r.isCollapsed!==e&&n.push(r),t>1)){const a=o.getRegionsInside(r,(d,u)=>d.isCollapsed!==e&&u<t);n.push(...a)}}else{const s=o.getRegionsInside(null,(r,a)=>r.isCollapsed!==e&&a<t);n.push(...s)}o.toggleCollapseState(n)}function aB(o,e,t,i){const n=[];for(const s of i){const r=o.getAllRegionsAtLine(s,(a,d)=>a.isCollapsed!==e&&d<=t);n.push(...r)}o.toggleCollapseState(n)}function BN(o,e,t){const i=[];for(const n of t){const s=o.getAllRegionsAtLine(n,r=>r.isCollapsed!==e);s.length>0&&i.push(s[0])}o.toggleCollapseState(i)}function FN(o,e,t,i){const n=(r,a)=>a===e&&r.isCollapsed!==t&&!i.some(d=>r.containsLine(d)),s=o.getRegionsInside(null,n);o.toggleCollapseState(s)}function lB(o,e,t){const i=[];for(const r of t){const a=o.getAllRegionsAtLine(r,void 0);a.length>0&&i.push(a[0])}const n=r=>i.every(a=>!a.containedBy(r)&&!r.containedBy(a))&&r.isCollapsed!==e,s=o.getRegionsInside(null,n);o.toggleCollapseState(s)}function O9(o,e,t){const i=o.textModel,n=o.regions,s=[];for(let r=n.length-1;r>=0;r--)if(t!==n.isCollapsed(r)){const a=n.getStartLineNumber(r);e.test(i.getLineContent(a))&&s.push(n.toRegion(r))}o.toggleCollapseState(s)}function H9(o,e,t){const i=o.regions,n=[];for(let s=i.length-1;s>=0;s--)t!==i.isCollapsed(s)&&e===i.getType(s)&&n.push(i.toRegion(s));o.toggleCollapseState(n)}function LN(o,e){let t=null;const i=e.getRegionAtLine(o);if(i!==null&&(t=i.startLineNumber,o===t)){const n=i.parentIndex;n!==-1?t=e.regions.getStartLineNumber(n):t=null}return t}function IN(o,e){let t=e.getRegionAtLine(o);if(t!==null&&t.startLineNumber===o){if(o!==t.startLineNumber)return t.startLineNumber;{const i=t.parentIndex;let n=0;for(i!==-1&&(n=e.regions.getStartLineNumber(t.parentIndex));t!==null;)if(t.regionIndex>0){if(t=e.regions.toRegion(t.regionIndex-1),t.startLineNumber<=n)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}}else if(e.regions.length>0)for(t=e.regions.toRegion(e.regions.length-1);t!==null;){if(t.startLineNumber<o)return t.startLineNumber;t.regionIndex>0?t=e.regions.toRegion(t.regionIndex-1):t=null}return null}function PN(o,e){let t=e.getRegionAtLine(o);if(t!==null&&t.startLineNumber===o){const i=t.parentIndex;let n=0;if(i!==-1)n=e.regions.getEndLineNumber(t.parentIndex);else{if(e.regions.length===0)return null;n=e.regions.getEndLineNumber(e.regions.length-1)}for(;t!==null;)if(t.regionIndex<e.regions.length){if(t=e.regions.toRegion(t.regionIndex+1),t.startLineNumber>=n)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}else if(e.regions.length>0)for(t=e.regions.toRegion(0);t!==null;){if(t.startLineNumber>o)return t.startLineNumber;t.regionIndex<e.regions.length?t=e.regions.toRegion(t.regionIndex+1):t=null}return null}class TN{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new rn,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange(t=>this.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(t=>t.range.endLineNumber!==t.range.startLineNumber||c4(t.text)[0]!==0))}updateHiddenRanges(){let e=!1;const t=[];let i=0,n=0,s=Number.MAX_VALUE,r=-1;const a=this._foldingModel.regions;for(;i<a.length;i++){if(!a.isCollapsed(i))continue;const d=a.getStartLineNumber(i)+1,u=a.getEndLineNumber(i);s<=d&&u<=r||(!e&&n<this._hiddenRanges.length&&this._hiddenRanges[n].startLineNumber===d&&this._hiddenRanges[n].endLineNumber===u?(t.push(this._hiddenRanges[n]),n++):(e=!0,t.push(new Q(d,1,u,1))),s=d,r=u)}(this._hasLineChanges||e||n<this._hiddenRanges.length)&&this.applyHiddenRanges(t)}applyHiddenRanges(e){this._hiddenRanges=e,this._hasLineChanges=!1,this._updateEventEmitter.fire(e)}hasRanges(){return this._hiddenRanges.length>0}isHidden(e){return rD(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!MN(r,n))&&(n=rD(this._hiddenRanges,r)),n?n.startLineNumber-1:null);for(let r=0,a=e.length;r<a;r++){let d=e[r];const u=s(d.startLineNumber);u&&(d=d.setStartPosition(u,i.getLineMaxColumn(u)),t=!0);const f=s(d.endLineNumber);f&&(d=d.setEndPosition(f,i.getLineMaxColumn(f)),t=!0),e[r]=d}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function MN(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function rD(o,e){const t=wA(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const RN=5e3,NN="indent";class W9{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=NN}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(WN(this.editorModel,i,n,this.foldingRangesLimit))}}let ON=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Qr||t>Qr)return;const n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const i=new Uint32Array(this._length),n=new Uint32Array(this._length);for(let s=this._length-1,r=0;s>=0;s--,r++)i[r]=this._startIndexes[s],n[r]=this._endIndexes[s];return new qo(i,n)}else{this._foldingRangesLimit.update(this._length,t);let i=0,n=this._indentOccurrences.length;for(let d=0;d<this._indentOccurrences.length;d++){const u=this._indentOccurrences[d];if(u){if(u+i>t){n=d;break}i+=u}}const s=e.getOptions().tabSize,r=new Uint32Array(t),a=new Uint32Array(t);for(let d=this._length-1,u=0;d>=0;d--){const f=this._startIndexes[d],g=e.getLineContent(f),p=kw(g,s);(p<n||p===n&&i++<t)&&(r[u]=f,a[u]=this._endIndexes[d],u++)}return new qo(r,a)}}};const HN={limit:RN,update:()=>{}};function WN(o,e,t,i=HN){const n=o.getOptions().tabSize,s=new ON(i);let r;t&&(r=new RegExp(`(${t.start.source})|(?:${t.end.source})`));const a=[],d=o.getLineCount()+1;a.push({indent:-1,endAbove:d,line:d});for(let u=o.getLineCount();u>0;u--){const f=o.getLineContent(u),g=kw(f,n);let p=a[a.length-1];if(g===-1){e&&(p.endAbove=u);continue}let C;if(r&&(C=f.match(r)))if(C[1]){let b=a.length-1;for(;b>0&&a[b].indent!==-2;)b--;if(b>0){a.length=b+1,p=a[b],s.insertFirst(u,p.line,g),p.line=u,p.indent=g,p.endAbove=u;continue}}else{a.push({indent:-2,endAbove:u,line:u});continue}if(p.indent>g){do a.pop(),p=a[a.length-1];while(p.indent>g);const b=p.endAbove-1;b-u>=1&&s.insertFirst(u,b,g)}p.indent===g?p.endAbove=u:a.push({indent:g,endAbove:u,line:u})}return s.toIndentRanges(o)}const zN=pi("editor.foldBackground",{light:za(OS,.3),dark:za(OS,.3),hcDark:null,hcLight:null},S("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);pi("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},S("collapsedTextColor","Color of the collapsed text after the first line of a folded range."));pi("editorGutter.foldingControlForeground",d4,S("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const tv=ms("folding-expanded",Gi.chevronDown,S("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),iv=ms("folding-collapsed",Gi.chevronRight,S("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),aD=ms("folding-manual-collapsed",iv,S("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),lD=ms("folding-manual-expanded",tv,S("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),yC={color:Bs(zN),position:1},Sh=S("linesCollapsed","Click to expand the range."),Bx=S("linesExpanded","Click to collapse the range."),vs=class vs{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?vs.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?vs.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:vs.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:vs.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?vs.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:vs.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?vs.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:vs.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?vs.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:vs.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?vs.MANUALLY_EXPANDED_VISUAL_DECORATION:vs.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};vs.COLLAPSED_VISUAL_DECORATION=xn.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Sh,firstLineDecorationClassName:Tn.asClassName(iv)}),vs.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=xn.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:yC,isWholeLine:!0,linesDecorationsTooltip:Sh,firstLineDecorationClassName:Tn.asClassName(iv)}),vs.MANUALLY_COLLAPSED_VISUAL_DECORATION=xn.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Sh,firstLineDecorationClassName:Tn.asClassName(aD)}),vs.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=xn.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:yC,isWholeLine:!0,linesDecorationsTooltip:Sh,firstLineDecorationClassName:Tn.asClassName(aD)}),vs.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=xn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Sh}),vs.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=xn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:yC,isWholeLine:!0,linesDecorationsTooltip:Sh}),vs.EXPANDED_VISUAL_DECORATION=xn.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Tn.asClassName(tv),linesDecorationsTooltip:Bx}),vs.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=xn.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Tn.asClassName(tv),linesDecorationsTooltip:Bx}),vs.MANUALLY_EXPANDED_VISUAL_DECORATION=xn.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Tn.asClassName(lD),linesDecorationsTooltip:Bx}),vs.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=xn.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Tn.asClassName(lD),linesDecorationsTooltip:Bx}),vs.NO_CONTROLS_EXPANDED_RANGE_DECORATION=xn.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),vs.HIDDEN_RANGE_DECORATION=xn.register({description:"folding-hidden-range-decoration",stickiness:1});let AE=vs;const VN={},jN="syntax";class z9{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=jN,this.disposables=new Tt,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return $N(this.providers,this.editorModel,e).then(t=>{var i;return t?qN(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function $N(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,VN,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);const d=e.getLineCount();for(const u of a)u.start>0&&u.end>u.start&&u.end<=d&&i.push({start:u.start,end:u.end,rank:r,kind:u.kind})}},_s));return Promise.all(n).then(s=>i)}class UN{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,n){if(e>Qr||t>Qr)return;const s=this._length;this._startIndexes[s]=e,this._endIndexes[s]=t,this._nestingLevels[s]=n,this._types[s]=i,this._length++,n<30&&(this._nestingLevelCounts[n]=(this._nestingLevelCounts[n]||0)+1)}toIndentRanges(){const e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let n=0;n<this._length;n++)t[n]=this._startIndexes[n],i[n]=this._endIndexes[n];return new qo(t,i,this._types)}else{this._foldingRangesLimit.update(this._length,e);let t=0,i=this._nestingLevelCounts.length;for(let a=0;a<this._nestingLevelCounts.length;a++){const d=this._nestingLevelCounts[a];if(d){if(d+t>e){i=a;break}t+=d}}const n=new Uint32Array(e),s=new Uint32Array(e),r=[];for(let a=0,d=0;a<this._length;a++){const u=this._nestingLevels[a];(u<i||u===i&&t++<e)&&(n[d]=this._startIndexes[a],s[d]=this._endIndexes[a],r[d]=this._types[a],d++)}return new qo(n,s,r)}}}function qN(o,e){const t=o.sort((r,a)=>{let d=r.start-a.start;return d===0&&(d=r.rank-a.rank),d}),i=new UN(e);let n;const s=[];for(const r of t)if(!n)n=r,i.add(r.start,r.end,r.kind&&r.kind.value,s.length);else if(r.start>n.start)if(r.end<=n.end)s.push(n),n=r,i.add(r.start,r.end,r.kind&&r.kind.value,s.length);else{if(r.start>n.end){do n=s.pop();while(n&&r.start>n.end);n&&s.push(n),n=r}i.add(r.start,r.end,r.kind&&r.kind.value,s.length)}return i.toIndentRanges()}var GN=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},Rf=function(o,e){return function(t,i){e(t,i,o)}},pd;const Qs=new Cn("foldingEnabled",!1);var ru;let jc=(ru=class extends Nt{static get(e){return e.getContribution(pd.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=pd._foldingRangeSelector)==null?void 0:n.call(pd,i,t))??i}constructor(e,t,i,n,s,r){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=r,this.localToDispose=this._register(new Tt),this.editor=e,this._foldingLimitReporter=new cB(e);const a=this.editor.getOptions();this._isEnabled=a.get(43),this._useFoldingProviders=a.get(44)!=="indentation",this._unfoldOnClickAfterEndOfLine=a.get(48),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=a.get(46),this.updateDebounceInfo=s.for(r.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new AE(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=Qs.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(d=>{if(d.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),d.hasChanged(47)&&this.onModelChanged(),d.hasChanged(111)||d.hasChanged(45)){const u=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=u.get(111),this.foldingDecorationProvider.showFoldingHighlights=u.get(45),this.triggerFoldingModelChanged()}d.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!=="indentation",this.onFoldingStrategyChanged()),d.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),d.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))})),this.onModelChanged()}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(!(!t||!this._isEnabled||t.isTooLargeForTokenization()||!this.hiddenRangeModel)&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();!this._isEnabled||!e||e.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new kN(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new TN(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Oc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new Ps(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(t=>this.onDidChangeModelContent(t))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(t=>this.onEditorMouseDown(t))),this.localToDispose.add(this.editor.onMouseUp(t=>this.onEditorMouseUp(t))),this.localToDispose.add({dispose:()=>{var t,i;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),(t=this.updateScheduler)==null||t.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,(i=this.rangeProvider)==null||i.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var e;(e=this.rangeProvider)==null||e.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;const t=new W9(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=pd.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new z9(e,i,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var t;(t=this.hiddenRangeModel)==null||t.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const e=this.foldingModel;if(!e)return null;const t=new Oo,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=Us(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const u=s.setCollapsedAllOfType(Mp.Imports.value,!0);u&&(r=I0.capture(this.editor),this._currentModelHasFoldedImports=u)}const a=this.editor.getSelections();e.update(s,KN(a)),r==null||r.restore(this.editor);const d=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=d)}return e})}).then(void 0,e=>(Un(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then(t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const n=[];for(const s of i){const r=s.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(r)&&n.push(...t.getAllRegionsAtLine(r,a=>a.isCollapsed&&r>a.startLineNumber))}n.length&&(t.toggleCollapseState(n),this.reveal(i[0].getPosition()))}}}).then(void 0,Un)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const n=e.target.detail,s=e.target.element.offsetLeft;if(n.offsetX-s<4)return;i=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const n=this.editor.getModel();if(n&&t.startColumn===n.getLineMaxColumn(t.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,n=this.mouseDownInfo.iconClicked,s=e.target.range;if(!s||s.startLineNumber!==i)return;if(n){if(e.target.type!==4)return}else{const a=this.editor.getModel();if(!a||s.startColumn!==a.getLineMaxColumn(i))return}const r=t.getRegionAtLine(i);if(r&&r.startLineNumber===i){const a=r.isCollapsed;if(n||a){const d=e.event.altKey;let u=[];if(d){const f=p=>!p.containedBy(r)&&!r.containedBy(p),g=t.getRegionsInside(null,f);for(const p of g)p.isCollapsed&&u.push(p);u.length===0&&(u=g)}else{const f=e.event.middleButton||e.event.shiftKey;if(f)for(const g of t.getRegionsInside(r))g.isCollapsed===a&&u.push(g);(a||!f||u.length===0)&&u.push(r)}t.toggleCollapseState(u),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}},pd=ru,ru.ID="editor.contrib.folding",ru);jc=pd=GN([Rf(1,Fn),Rf(2,Vs),Rf(3,xo),Rf(4,fr),Rf(5,ki)],jc);class cB{constructor(e){this.editor=e,this._onDidChange=new rn,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}class io extends bt{runEditorCommand(e,t,i){const n=e.get(Vs),s=jc.get(t);if(!s)return;const r=s.getFoldingModel();if(r)return this.reportTelemetry(e,t),r.then(a=>{if(a){this.invoke(s,a,t,i,n);const d=t.getSelection();d&&s.reveal(d.getStartPosition())}})}getSelectedLines(e){const t=e.getSelections();return t?t.map(i=>i.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(i=>i+1):this.getSelectedLines(t)}run(e,t){}}function KN(o){return!o||o.length===0?{startsInside:()=>!1}:{startsInside(e,t){for(const i of o){const n=i.startLineNumber;if(n>=e&&n<=t)return!0}return!1}}}function dB(o){if(!Vf(o)){if(!TA(o))return!1;const e=o;if(!Vf(e.levels)&&!HS(e.levels)||!Vf(e.direction)&&!rA(e.direction)||!Vf(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(HS)))return!1}return!0}class ZN extends io{constructor(){super({id:"editor.unfold",label:S("unfoldAction.label","Unfold"),alias:"Unfold",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument:
23
+ * 'levels': Number of levels to unfold. If not set, defaults to 1.
24
+ * 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
25
+ * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.
26
+ `,constraint:dB,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const s=n&&n.levels||1,r=this.getLineNumbers(n,i);n&&n.direction==="up"?aB(t,!1,s,r):pf(t,!1,s,r)}}class XN extends io{constructor(){super({id:"editor.unfoldRecursively",label:S("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2142),weight:100}})}invoke(e,t,i,n){pf(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class YN extends io{constructor(){super({id:"editor.fold",label:S("foldAction.label","Fold"),alias:"Fold",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:`Property-value pairs that can be passed through this argument:
27
+ * 'levels': Number of levels to fold.
28
+ * 'direction': If 'up', folds given number of levels up otherwise folds down.
29
+ * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.
30
+ If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
31
+ `,constraint:dB,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const s=this.getLineNumbers(n,i),r=n&&n.levels,a=n&&n.direction;typeof r!="number"&&typeof a!="string"?BN(t,!0,s):a==="up"?aB(t,!0,r||1,s):pf(t,!0,r||1,s)}}class QN extends io{constructor(){super({id:"editor.toggleFold",label:S("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);N9(t,1,n)}}class JN extends io{constructor(){super({id:"editor.foldRecursively",label:S("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);pf(t,!0,Number.MAX_VALUE,n)}}class eO extends io{constructor(){super({id:"editor.toggleFoldRecursively",label:S("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);N9(t,Number.MAX_VALUE,n)}}class tO extends io{constructor(){super({id:"editor.foldAllBlockComments",label:S("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())H9(t,Mp.Comment.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).comments;if(a&&a.blockCommentStartToken){const d=new RegExp("^\\s*"+Bg(a.blockCommentStartToken));O9(t,d,!0)}}}}class iO extends io{constructor(){super({id:"editor.foldAllMarkerRegions",label:S("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())H9(t,Mp.Region.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const d=new RegExp(a.markers.start);O9(t,d,!0)}}}}class nO extends io{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:S("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())H9(t,Mp.Region.value,!1);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const d=new RegExp(a.markers.start);O9(t,d,!1)}}}}class sO extends io{constructor(){super({id:"editor.foldAllExcept",label:S("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);lB(t,!0,n)}}class oO extends io{constructor(){super({id:"editor.unfoldAllExcept",label:S("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);lB(t,!1,n)}}class rO extends io{constructor(){super({id:"editor.foldAll",label:S("foldAllAction.label","Fold All"),alias:"Fold All",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2069),weight:100}})}invoke(e,t,i){pf(t,!0)}}class aO extends io{constructor(){super({id:"editor.unfoldAll",label:S("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2088),weight:100}})}invoke(e,t,i){pf(t,!1)}}const t0=class t0 extends io{getFoldingLevel(){return parseInt(this.id.substr(t0.ID_PREFIX.length))}invoke(e,t,i){FN(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};t0.ID_PREFIX="editor.foldLevel",t0.ID=e=>t0.ID_PREFIX+e;let nv=t0;class lO extends io{constructor(){super({id:"editor.gotoParentFold",label:S("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=LN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class cO extends io{constructor(){super({id:"editor.gotoPreviousFold",label:S("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=IN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class dO extends io{constructor(){super({id:"editor.gotoNextFold",label:S("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=PN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class uO extends io{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:S("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2135),weight:100}})}invoke(e,t,i){var r;const n=[],s=i.getSelections();if(s){for(const a of s){let d=a.endLineNumber;a.endColumn===1&&--d,d>a.startLineNumber&&(n.push({startLineNumber:a.startLineNumber,endLineNumber:d,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:a.startLineNumber,startColumn:1,endLineNumber:a.startLineNumber,endColumn:1}))}if(n.length>0){n.sort((d,u)=>d.startLineNumber-u.startLineNumber);const a=qo.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(qo.fromFoldRanges(a))}}}}class hO extends io{constructor(){super({id:"editor.removeManualFoldingRanges",label:S("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2137),weight:100}})}invoke(e,t,i){const n=i.getSelections();if(n){const s=[];for(const r of n){const{startLineNumber:a,endLineNumber:d}=r;s.push(d>=a?{startLineNumber:a,endLineNumber:d}:{endLineNumber:d,startLineNumber:a})}t.removeManualRanges(s),e.triggerFoldingModelChanged()}}}dn(jc.ID,jc,0);Be(ZN);Be(XN);Be(YN);Be(JN);Be(eO);Be(rO);Be(aO);Be(tO);Be(iO);Be(nO);Be(sO);Be(oO);Be(QN);Be(lO);Be(cO);Be(dO);Be(uO);Be(hO);for(let o=1;o<=7;o++)u4(new nv({id:nv.ID(o),label:S("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2048|21+o),weight:100}}));Qn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof Vn))throw vl();const i=o.get(ki),n=o.get(mo).getModel(t);if(!n)throw vl();const s=o.get(ns);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(Vs),a=s.getValue("editor.foldingStrategy",{resource:t}),d={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(C,b)=>{}},u=new W9(n,r,d);let f=u;if(a!=="indentation"){const C=jc.getFoldingRangeProviders(i,n);C.length&&(f=new z9(n,C,()=>{},d,u))}const g=await f.compute(an.None),p=[];try{if(g)for(let C=0;C<g.length;C++){const b=g.getType(C);p.push({start:g.getStartLineNumber(C),end:g.getEndLineNumber(C),kind:b?Mp.fromValue(b):void 0})}return p}finally{f.dispose()}});class fO extends bt{constructor(){super({id:"editor.action.fontZoomIn",label:S("EditorFontZoomIn.label","Increase Editor Font Size"),alias:"Increase Editor Font Size",precondition:void 0})}run(e,t){Mg.setZoomLevel(Mg.getZoomLevel()+1)}}class gO extends bt{constructor(){super({id:"editor.action.fontZoomOut",label:S("EditorFontZoomOut.label","Decrease Editor Font Size"),alias:"Decrease Editor Font Size",precondition:void 0})}run(e,t){Mg.setZoomLevel(Mg.getZoomLevel()-1)}}class pO extends bt{constructor(){super({id:"editor.action.fontZoomReset",label:S("EditorFontZoomReset.label","Reset Editor Font Size"),alias:"Reset Editor Font Size",precondition:void 0})}run(e,t){Mg.setZoomLevel(0)}}Be(fO);Be(gO);Be(pO);var uB=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},gg=function(o,e){return function(t,i){e(t,i,o)}},b0;let sv=(b0=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new Tt,this._sessionDisposables=new Tt,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(s=>{s.hasChanged(56)&&this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56)||!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new Sm;for(const n of t.autoFormatTriggerCharacters)i.add(n.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(n=>{const s=n.charCodeAt(n.length-1);i.has(s)&&this._trigger(String.fromCharCode(s))}))}_trigger(e){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),n=new qs,s=this._editor.onDidChangeModelContent(r=>{if(r.isFlush){n.cancel(),s.dispose();return}for(let a=0,d=r.changes.length;a<d;a++)if(r.changes[a].range.endLineNumber<=i.lineNumber){n.cancel(),s.dispose();return}});h4(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||Zo(r)&&(this._accessibilitySignalService.playSignal(RA.format,{userGesture:!1}),f4.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},b0.ID="editor.contrib.autoFormat",b0);sv=uB([gg(1,ki),gg(2,Nl),gg(3,MA)],sv);var C0;let ov=(C0=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new Tt,this._callOnModel=new Tt,this._callOnDispose.add(e.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(e.onDidChangeModel(()=>this._update())),this._callOnDispose.add(e.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:e})=>this._trigger(e)))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(NA,this.editor,e,2,fl.None,an.None,!1).catch(Un))}},C0.ID="editor.contrib.formatOnPaste",C0);ov=uB([gg(1,ki),gg(2,nn)],ov);class xO extends bt{constructor(){super({id:"editor.action.formatDocument",label:S("formatDocument.label","Format Document"),alias:"Format Document",precondition:$e.and(q.notInCompositeEditor,q.writable,q.hasDocumentFormattingProvider),kbOpts:{kbExpr:q.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(e,t){if(t.hasModel()){const i=e.get(nn);await e.get(Sp).showWhile(i.invokeFunction(g4,t,1,fl.None,an.None,!0),250)}}}class mO extends bt{constructor(){super({id:"editor.action.formatSelection",label:S("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:$e.and(q.writable,q.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2084),weight:100},contextMenuOpts:{when:q.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(nn),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new Q(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(Sp).showWhile(i.invokeFunction(NA,t,s,1,fl.None,an.None,!0),250)}}dn(sv.ID,sv,2);dn(ov.ID,ov,2);Be(xO);Be(mO);Qn.registerCommand("editor.action.format",async o=>{const e=o.get(bs).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(zs);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var vO=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},wC=function(o,e){return function(t,i){e(t,i,o)}};class Kh{remove(){var e;(e=this.parent)==null||e.children.delete(this.id)}static findId(e,t){let i;typeof e=="string"?i=`${t.id}/${e}`:(i=`${t.id}/${e.name}`,t.children.get(i)!==void 0&&(i=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let n=i;for(let s=0;t.children.get(n)!==void 0;s++)n=`${i}_${s}`;return n}static empty(e){return e.children.size===0}}class kE extends Kh{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class hB extends Kh{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class rl extends Kh{static create(e,t,i){const n=new qs(i),s=new rl(t.uri),r=e.ordered(t),a=r.map((u,f)=>{const g=Kh.findId(`provider_${f}`,s),p=new hB(g,s,u.displayName??"Unknown Outline Provider",f);return Promise.resolve(u.provideDocumentSymbols(t,n.token)).then(C=>{for(const b of C||[])rl._makeOutlineElement(b,p);return p},C=>(_s(C),p)).then(C=>{Kh.empty(C)?C.remove():s._groups.set(g,C)})}),d=e.onDidChange(()=>{const u=e.ordered(t);ja(u,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?rl.create(e,t,i):s._compact()).finally(()=>{n.dispose(),d.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=Kh.findId(e,t),n=new kE(i,t,e);if(e.children)for(const s of e.children)rl._makeOutlineElement(s,n);t.children.set(n.id,n)}constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let e=0;for(const[t,i]of this._groups)i.children.size===0?this._groups.delete(t):e+=1;if(e!==1)this.children=this._groups;else{const t=ml.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof kE?e.push(t.symbol):e.push(...ml.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>Q.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return rl._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>Ai.compare(Q.getStartPosition(i.range),Q.getStartPosition(n.range))||Ai.compare(Q.getEndPosition(n.range),Q.getEndPosition(i.range)))}static _flattenDocumentSymbols(e,t,i){for(const n of t)e.push({kind:n.kind,tags:n.tags,name:n.name,detail:n.detail,containerName:n.containerName||i,range:n.range,selectionRange:n.selectionRange,children:void 0}),n.children&&rl._flattenDocumentSymbols(e,n.children,n.name)}}const Xp=Ml("IOutlineModelService");let BE=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new Tt,this._cache=new Ap(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved(n=>{this._cache.delete(n.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){const i=this._languageFeaturesService.documentSymbolProvider,n=i.ordered(e);let s=this._cache.get(e.id);if(!s||s.versionId!==e.getVersionId()||!ja(s.provider,n)){const a=new qs;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:rl.create(i,e,a.token),model:void 0},this._cache.set(e.id,s);const d=Date.now();s.promise.then(u=>{s.model=u,this._debounceInformation.update(e,Date.now()-d)}).catch(u=>{this._cache.delete(e.id)})}if(s.model)return s.model;s.promiseCnt+=1;const r=t.onCancellationRequested(()=>{--s.promiseCnt===0&&(s.source.cancel(),this._cache.delete(e.id))});try{return await s.promise}finally{r.dispose()}}};BE=vO([wC(0,ki),wC(1,fr),wC(2,mo)],BE);Rl(Xp,BE,1);Qn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;In(Vn.isUri(t));const i=o.get(Xp),s=await o.get(fa).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,an.None)).getTopLevelSymbols()}finally{s.dispose()}});const Sa=class Sa extends Nt{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=Sa.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=Sa.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=Sa.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=Sa.suppressSuggestions.bindTo(this.contextKeyService),this._register(rs(i=>{const n=this.model.read(i),s=n==null?void 0:n.state.read(i),r=!!(s!=null&&s.inlineCompletion)&&(s==null?void 0:s.primaryGhostText)!==void 0&&!(s!=null&&s.primaryGhostText.isEmpty());this.inlineCompletionVisible.set(r),s!=null&&s.primaryGhostText&&(s!=null&&s.inlineCompletion)&&this.suppressSuggestions.set(s.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)})),this._register(rs(i=>{const n=this.model.read(i);let s=!1,r=!0;const a=n==null?void 0:n.primaryGhostText.read(i);if(n!=null&&n.selectedSuggestItem&&a&&a.parts.length>0){const{column:d,lines:u}=a.parts[0],f=u[0],g=n.textModel.getLineIndentColumn(a.lineNumber);if(d<=g){let C=t1(f);C===-1&&(C=f.length-1),s=C>0;const b=n.textModel.getOptions().tabSize;r=p4.visibleColumnFromColumn(f,C+1,b)<b}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};Sa.inlineSuggestionVisible=new Cn("inlineSuggestionVisible",!1,S("inlineSuggestionVisible","Whether an inline suggestion is visible")),Sa.inlineSuggestionHasIndentation=new Cn("inlineSuggestionHasIndentation",!1,S("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),Sa.inlineSuggestionHasIndentationLessThanTabSize=new Cn("inlineSuggestionHasIndentationLessThanTabSize",!0,S("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),Sa.suppressSuggestions=new Cn("inlineSuggestionSuppressSuggestions",void 0,S("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let No=Sa;function _O(o){const e=new Tt,t=e.add(OA());return e.add(rs(i=>{t.setStyle(o.read(i))})),e}class Xg{constructor(e,t){this.lineNumber=e,this.parts=t}equals(e){return this.lineNumber===e.lineNumber&&this.parts.length===e.parts.length&&this.parts.every((t,i)=>t.equals(e.parts[i]))}renderForScreenReader(e){if(this.parts.length===0)return"";const t=this.parts[this.parts.length-1],i=e.substr(0,t.column-1);return new HA([...this.parts.map(s=>new Dl(Q.fromPositions(new Ai(1,s.column)),s.lines.join(`
32
+ `)))]).applyToString(i).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>e.lines.length===0)}get lineCount(){return 1+this.parts.reduce((e,t)=>e+t.lines.length-1,0)}}class rv{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=X_(this.text)}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every((t,i)=>t===e.lines[i])}}class FE{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new rv(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=X_(this.text)}renderForScreenReader(e){return this.newLines.join(`
33
+ `)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(e=>e.lines.length===0)}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every((t,i)=>t===e.newLines[i])&&this.additionalReservedLineCount===e.additionalReservedLineCount}}function cD(o,e){return ja(o,e,fB)}function fB(o,e){return o===e?!0:!o||!e?!1:o instanceof Xg&&e instanceof Xg||o instanceof FE&&e instanceof FE?o.equals(e):!1}const bO=[];function CO(){return bO}class gB{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new R0(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new Q(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function pB(o,e){const t=new Tt,i=o.createDecorationsCollection();return t.add(x4({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function EO(o,e){return new Ai(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function dD(o,e){return new Ai(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var yO=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},wO=function(o,e){return function(t,i){e(t,i,o)}};const uD="ghost-text";let LE=class extends Nt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Xo(this,!1),this.currentTextModel=Io(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Hn(this,n=>{if(this.isDisposed.read(n))return;const s=this.currentTextModel.read(n);if(s!==this.model.targetTextModel.read(n))return;const r=this.model.ghostText.read(n);if(!r)return;const a=r instanceof FE?r.columnRange:void 0,d=[],u=[];function f(y,w){if(u.length>0){const A=u[u.length-1];w&&A.decorations.push(new Rg(A.content.length+1,A.content.length+1+y[0].length,w,0)),A.content+=y[0],y=y.slice(1)}for(const A of y)u.push({content:A,decorations:w?[new Rg(1,A.length+1,w,0)]:[]})}const g=s.getLineContent(r.lineNumber);let p,C=0;for(const y of r.parts){let w=y.lines;p===void 0?(d.push({column:y.column,text:w[0],preview:y.preview}),w=w.slice(1)):f([g.substring(C,y.column-1)],void 0),w.length>0&&(f(w,uD),p===void 0&&y.column<=g.length&&(p=y.column)),C=y.column-1}p!==void 0&&f([g.substring(C)],void 0);const b=p!==void 0?new gB(p,g.length+1):void 0;return{replacedRange:a,inlineTexts:d,additionalLines:u,hiddenRange:b,lineNumber:r.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s}}),this.decorations=Hn(this,n=>{const s=this.uiState.read(n);if(!s)return[];const r=[];s.replacedRange&&r.push({range:s.replacedRange.toRange(s.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),s.hiddenRange&&r.push({range:s.hiddenRange.toRange(s.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const a of s.inlineTexts)r.push({range:Q.fromPositions(new Ai(s.lineNumber,a.column)),options:{description:uD,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:Vh.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new SO(this.editor,this.languageService.languageIdCodec,Hn(n=>{const s=this.uiState.read(n);return s?{lineNumber:s.lineNumber,additionalLines:s.additionalLines,minReservedLineCount:s.additionalReservedLineCount,targetTextModel:s.targetTextModel}:void 0}))),this._register(ts(()=>{this.isDisposed.set(!0,void 0)})),this._register(pB(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};LE=yO([wO(2,ha)],LE);class SO extends Nt{get viewZoneId(){return this._viewZoneId}constructor(e,t,i){super(),this.editor=e,this.languageIdCodec=t,this.lines=i,this._viewZoneId=void 0,this.editorOptionsChanged=Pd("editorOptionChanged",Is.filter(this.editor.onDidChangeConfiguration,n=>n.hasChanged(33)||n.hasChanged(118)||n.hasChanged(100)||n.hasChanged(95)||n.hasChanged(51)||n.hasChanged(50)||n.hasChanged(67))),this._register(rs(n=>{const s=this.lines.read(n);this.editorOptionsChanged.read(n),s?this.updateLines(s.lineNumber,s.additionalLines,s.minReservedLineCount):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones(e=>{this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(e,t,i){const n=this.editor.getModel();if(!n)return;const{tabSize:s}=n.getOptions();this.editor.changeViewZones(r=>{this._viewZoneId&&(r.removeZone(this._viewZoneId),this._viewZoneId=void 0);const a=Math.max(t.length,i);if(a>0){const d=document.createElement("div");DO(d,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:d,afterColumnAffinity:1})}})}}function DO(o,e,t,i,n){const s=i.get(33),r=i.get(118),a="none",d=i.get(95),u=i.get(51),f=i.get(50),g=i.get(67),p=new zA(1e4);p.appendString('<div class="suggest-preview-text">');for(let y=0,w=t.length;y<w;y++){const A=t[y],P=A.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(y*g)),p.appendString('px;width:1000000px;">');const M=UA(P),R=m4(P),T=v4.createEmpty(P,n);VA(new jA(f.isMonospace&&!s,f.canUseHalfwidthRightwardsArrow,P,!1,M,R,0,T,A.decorations,e,0,f.spaceWidth,f.middotWidth,f.wsmiddotWidth,r,a,d,u!==_4.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),$A(o,f);const C=p.build(),b=hD?hD.createHTML(C):C;o.innerHTML=b}const hD=WA("editorGhostText",{createHTML:o=>o});function AO(o,e){const t=new y4,i=new C4(t,u=>e.getLanguageConfiguration(u)),n=new b4(new kO([o]),i),s=E4(n,[],void 0,!0);let r="";const a=o.getLineContent();function d(u,f){if(u.kind===2)if(d(u.openingBracket,f),f=Lf(f,u.openingBracket.length),u.child&&(d(u.child,f),f=Lf(f,u.child.length)),u.closingBracket)d(u.closingBracket,f),f=Lf(f,u.closingBracket.length);else{const p=i.getSingleLanguageBracketTokens(u.openingBracket.languageId).findClosingTokenText(u.openingBracket.bracketIds);r+=p}else if(u.kind!==3){if(u.kind===0||u.kind===1)r+=a.substring(WS(f),WS(Lf(f,u.length)));else if(u.kind===4)for(const g of u.children)d(g,f),f=Lf(f,g.length)}}return d(s,w4),r}class kO{constructor(e){this.lines=e,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}async function xB(o,e,t,i,n=an.None,s){const r=e instanceof Ai?LO(e,t):e,a=o.all(t),d=new S4;for(const A of a)A.groupId&&d.add(A.groupId,A);function u(A){if(!A.yieldsToGroupIds)return[];const P=[];for(const M of A.yieldsToGroupIds||[]){const R=d.get(M);for(const T of R)P.push(T)}return P}const f=new Map,g=new Set;function p(A,P){if(P=[...P,A],g.has(A))return P;g.add(A);try{const M=u(A);for(const R of M){const T=p(R,P);if(T)return T}}finally{g.delete(A)}}function C(A){const P=f.get(A);if(P)return P;const M=p(A,[]);M&&_s(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${M.map(T=>T.toString?T.toString():""+T).join(" -> ")}`));const R=new H_;return f.set(A,R.p),(async()=>{var T;if(!M){const V=u(A);for(const H of V){const X=await C(H);if(X&&X.items.length>0)return}}try{return e instanceof Ai?await A.provideInlineCompletions(t,e,i,n):await((T=A.provideInlineEdits)==null?void 0:T.call(A,t,e,i,n))}catch(V){_s(V);return}})().then(T=>R.complete(T),T=>R.error(T)),R.p}const b=await Promise.all(a.map(async A=>({provider:A,completions:await C(A)}))),y=new Map,w=[];for(const A of b){const P=A.completions;if(!P)continue;const M=new FO(P,A.provider);w.push(M);for(const R of P.items){const T=av.from(R,M,r,t,s);y.set(T.hash(),T)}}return new BO(Array.from(y.values()),new Set(y.keys()),w)}class BO{constructor(e,t,i){this.completions=e,this.hashs=t,this.providerResults=i}has(e){return this.hashs.has(e.hash())}dispose(){for(const e of this.providerResults)e.removeRef()}}class FO{constructor(e,t){this.inlineCompletions=e,this.provider=t,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,this.refCount===0&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class av{static from(e,t,i,n,s){let r,a,d=e.range?Q.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=fD(r,d.getStartPosition(),n,s);const u=r.length-e.insertText.length;u!==0&&(d=new Q(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn+u))}a=void 0}else if("snippet"in e.insertText){const u=e.insertText.snippet.length;if(s&&e.completeBracketPairs){e.insertText.snippet=fD(e.insertText.snippet,d.getStartPosition(),n,s);const g=e.insertText.snippet.length-u;g!==0&&(d=new Q(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn+g))}const f=new Nu().parse(e.insertText.snippet);f.children.length===1&&f.children[0]instanceof Po?(r=f.children[0].value,a=void 0):(r=f.toString(),a={snippet:e.insertText.snippet,range:d})}else D4(e.insertText);return new av(r,e.command,d,r,a,e.additionalTextEdits||CO(),e,t)}constructor(e,t,i,n,s,r,a,d){this.filterText=e,this.command=t,this.range=i,this.insertText=n,this.snippetInfo=s,this.additionalTextEdits=r,this.sourceInlineCompletion=a,this.source=d,e=e.replace(/\r\n|\r/g,`
34
+ `),n=e.replace(/\r\n|\r/g,`
35
+ `)}withRange(e){return new av(this.filterText,this.command,e,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}toSingleTextEdit(){return new Dl(this.range,this.insertText)}}function LO(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new Q(o.lineNumber,t.startColumn,o.lineNumber,i):Q.fromPositions(o,o.with(void 0,i))}function fD(o,e,t,i){const s=t.getLineContent(e.lineNumber).substring(0,e.column-1)+o,r=t.tokenization.tokenizeLineWithEdit(e,s.length-(e.column-1),o),a=r==null?void 0:r.sliceAndInflate(e.column-1,s.length,0);return a?AO(a,i):o}function Wd(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=Tp(n,o.text),r=Dm.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),d=Q.fromPositions(r,o.range.getEndPosition());return new Dl(d,a)}function mB(o,e){return o.text.startsWith(e.text)&&IO(o.range,e.range)}function gD(o,e,t,i,n=0){let s=Wd(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=eo(r).length;if(s.range.startColumn-1<=a){const b=eo(s.text).length,y=r.substring(s.range.startColumn-1,a),[w,A]=[s.range.getStartPosition(),s.range.getEndPosition()],P=w.column+y.length<=A.column?w.delta(0,y.length):A,M=Q.fromPositions(P,A),R=s.text.startsWith(y)?s.text.substring(y.length):s.text.substring(b);s=new Dl(M,R)}const u=e.getValueInRange(s.range),f=PO(u,s.text);if(!f)return;const g=s.range.startLineNumber,p=new Array;if(t==="prefix"){const b=f.filter(y=>y.originalLength===0);if(b.length>1||b.length===1&&b[0].originalStart!==u.length)return}const C=s.text.length-n;for(const b of f){const y=s.range.startColumn+b.originalStart+b.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===s.range.startLineNumber&&y<i.column||b.originalLength>0)return;if(b.modifiedLength===0)continue;const w=b.modifiedStart+b.modifiedLength,A=Math.max(b.modifiedStart,Math.min(w,C)),P=s.text.substring(b.modifiedStart,A),M=s.text.substring(A,Math.max(b.modifiedStart,w));P.length>0&&p.push(new rv(y,P,!1)),M.length>0&&p.push(new rv(y,M,!0))}return new Xg(g,p)}function IO(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let ba;function PO(o,e){if((ba==null?void 0:ba.originalValue)===o&&(ba==null?void 0:ba.newValue)===e)return ba==null?void 0:ba.changes;{let t=xD(o,e,!0);if(t){const i=pD(t);if(i>0){const n=xD(o,e,!1);n&&pD(n)<i&&(t=n)}}return ba={originalValue:o,newValue:e,changes:t},t}}function pD(o){let e=0;for(const t of o)e+=t.originalLength;return e}function xD(o,e,t){if(o.length>5e3||e.length>5e3)return;function i(u){let f=0;for(let g=0,p=u.length;g<p;g++){const C=u.charCodeAt(g);C>f&&(f=C)}return f}const n=Math.max(i(o),i(e));function s(u){if(u<0)throw new Error("unexpected");return n+u+1}function r(u){let f=0,g=0;const p=new Int32Array(u.length);for(let C=0,b=u.length;C<b;C++)if(t&&u[C]==="("){const y=g*100+f;p[C]=s(2*y),f++}else if(t&&u[C]===")"){f=Math.max(f-1,0);const y=g*100+f;p[C]=s(2*y+1),f===0&&g++}else p[C]=u.charCodeAt(C);return p}const a=r(o),d=r(e);return new A4({getElements:()=>a},{getElements:()=>d}).ComputeDiff(!1).changes}var TO=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},mD=function(o,e){return function(t,i){e(t,i,o)}};let IE=class extends Nt{constructor(e,t,i,n,s){super(),this.textModel=e,this.versionId=t,this._debounceValue=i,this.languageFeaturesService=n,this.languageConfigurationService=s,this._updateOperation=this._register(new Qo),this.inlineCompletions=s1("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=s1("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var f,g;const n=new RO(e,t,this.textModel.getVersionId()),s=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if((f=this._updateOperation.value)!=null&&f.request.satisfies(n))return this._updateOperation.value.promise;if((g=s.get())!=null&&g.request.satisfies(n))return Promise.resolve(!0);const r=!!this._updateOperation.value;this._updateOperation.clear();const a=new qs,d=(async()=>{if((r||t.triggerKind===_l.Automatic)&&await MO(this._debounceValue.get(this.textModel),a.token),a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const C=new Date,b=await xB(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,a.token,this.languageConfigurationService);if(a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const y=new Date;this._debounceValue.update(this.textModel,y.getTime()-C.getTime());const w=new OO(b,n,this.textModel,this.versionId);if(i){const A=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!b.has(A)&&w.prepend(i.inlineCompletion,A.range,!0)}return this._updateOperation.clear(),Xu(A=>{s.set(w,A)}),!0})(),u=new NO(n,a,d);return this._updateOperation.value=u,d}clear(e){this._updateOperation.clear(),this.inlineCompletions.set(void 0,e),this.suggestWidgetInlineCompletions.set(void 0,e)}clearSuggestWidgetInlineCompletions(e){var t;(t=this._updateOperation.value)!=null&&t.request.context.selectedSuggestionInfo&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,e)}cancelUpdate(){this._updateOperation.clear()}};IE=TO([mD(3,ki),mD(4,Vs)],IE);function MO(o,e){return new Promise(t=>{let i;const n=setTimeout(()=>{i&&i.dispose(),t()},o);e&&(i=e.onCancellationRequested(()=>{clearTimeout(n),i&&i.dispose(),t()}))})}class RO{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&k4(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,F4())&&(e.context.triggerKind===_l.Automatic||this.context.triggerKind===_l.Explicit)&&this.versionId===e.versionId}}class NO{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class OO{get inlineCompletions(){return this._inlineCompletions}constructor(e,t,i,n){this.inlineCompletionProviderResult=e,this.request=t,this._textModel=i,this._versionId=n,this._refCount=1,this._prependedInlineCompletionItems=[];const s=i.deltaDecorations([],e.completions.map(r=>({range:r.range,options:{description:"inline-completion-tracking-range"}})));this._inlineCompletions=e.completions.map((r,a)=>new vD(r,s[a],this._textModel,this._versionId))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,this._refCount===0){setTimeout(()=>{this._textModel.isDisposed()||this._textModel.deltaDecorations(this._inlineCompletions.map(e=>e.decorationId),[])},0),this.inlineCompletionProviderResult.dispose();for(const e of this._prependedInlineCompletionItems)e.source.removeRef()}}prepend(e,t,i){i&&e.source.addRef();const n=this._textModel.deltaDecorations([],[{range:t,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new vD(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class vD{get forwardStable(){return this.inlineCompletion.source.inlineCompletions.enableForwardStability??!1}constructor(e,t,i,n){this.inlineCompletion=e,this.decorationId=t,this._textModel=i,this._modelVersion=n,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._updatedRange=ul({owner:this,equalsFn:Q.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??SC)}toSingleTextEdit(e){return new Dl(this._updatedRange.read(e)??SC,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=Wd(this._toFilterTextReplacement(i),e),s=this._updatedRange.read(i);if(!s||!this.inlineCompletion.range.getStartPosition().equals(s.getStartPosition())||t.lineNumber!==n.range.startLineNumber)return!1;const r=e.getValueInRange(n.range,1),a=n.text,d=Math.max(0,t.column-n.range.startColumn);let u=a.substring(0,d),f=a.substring(d),g=r.substring(0,d),p=r.substring(d);const C=e.getLineIndentColumn(n.range.startLineNumber);return n.range.startColumn<=C&&(g=g.trimStart(),g.length===0&&(p=p.trimStart()),u=u.trimStart(),u.length===0&&(f=f.trimStart())),u.startsWith(g)&&!!B4(p,f)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&Dm.ofRange(i).isGreaterThanOrEqualTo(Dm.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new Dl(this._updatedRange.read(e)??SC,this.inlineCompletion.filterText)}}const SC=new Q(1,1,1,1),Ui={Visible:M9,HasFocusedSuggestion:new Cn("suggestWidgetHasFocusedSuggestion",!1,S("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new Cn("suggestWidgetDetailsVisible",!1,S("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new Cn("suggestWidgetMultipleSuggestions",!1,S("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new Cn("suggestionMakesTextEdit",!0,S("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new Cn("acceptSuggestionOnEnter",!0,S("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new Cn("suggestionHasInsertAndReplaceRange",!1,S("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new Cn("suggestionInsertMode",void 0,{type:"string",description:S("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new Cn("suggestionCanResolve",!1,S("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},bc=new ri("suggestWidgetStatusBar");class HO{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=Pg.Default,this.distance=0,this.textLabel=typeof t.label=="string"?t.label:(s=t.label)==null?void 0:s.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,Q.isIRange(t.range)?(this.editStart=new Ai(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Ai(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Ai(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||Q.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Ai(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Ai(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Ai(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||Q.spansMultipleLines(t.range.insert)||Q.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),typeof n.resolveCompletionItem!="function"&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration!==void 0?this._resolveDuration:-1}async resolve(e){if(!this._resolveCache){const t=e.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),i=new Oo(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{qc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const o_=class o_{constructor(e=2,t=new Set,i=new Set,n=new Map,s=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.providerItemsToReuse=n,this.showDeprecated=s}};o_.default=new o_;let Yg=o_;class WO{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function V9(o,e,t,i=Yg.default,n={triggerKind:0},s=an.None){const r=new Oo;t=t.clone();const a=e.getWordAtPosition(t),d=a?new Q(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):Q.fromPositions(t),u={replace:d,insert:d.setEndPosition(t.lineNumber,t.column)},f=[],g=new Tt,p=[];let C=!1;const b=(w,A,P)=>{var R;let M=!1;if(!A)return M;for(const T of A.suggestions)if(!i.kindFilter.has(T.kind)){if(!i.showDeprecated&&((R=T==null?void 0:T.tags)!=null&&R.includes(1)))continue;T.range||(T.range=u),T.sortText||(T.sortText=typeof T.label=="string"?T.label:T.label.label),!C&&T.insertTextRules&&T.insertTextRules&4&&(C=Nu.guessNeedsClipboard(T.insertText)),f.push(new HO(t,T,A,w)),M=!0}return qA(A)&&g.add(A),p.push({providerName:w._debugDisplayName??"unknown_provider",elapsedProvider:A.duration??-1,elapsedOverall:P.elapsed()}),M},y=(async()=>{})();for(const w of o.orderedGroups(e)){let A=!1;if(await Promise.all(w.map(async P=>{if(i.providerItemsToReuse.has(P)){const M=i.providerItemsToReuse.get(P);M.forEach(R=>f.push(R)),A=A||M.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(P)))try{const M=new Oo,R=await P.provideCompletionItems(e,t,n,s);A=b(P,R,M)||A}catch(M){_s(M)}})),A||s.isCancellationRequested)break}return await y,s.isCancellationRequested?(g.dispose(),Promise.reject(new W_)):new WO(f.sort(jO(i.snippetSortOrder)),C,{entries:p,elapsed:r.elapsed()},g)}function j9(o,e){if(o.sortTextLow&&e.sortTextLow){if(o.sortTextLow<e.sortTextLow)return-1;if(o.sortTextLow>e.sortTextLow)return 1}return o.textLabel<e.textLabel?-1:o.textLabel>e.textLabel?1:o.completion.kind-e.completion.kind}function zO(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return j9(o,e)}function VO(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return j9(o,e)}const Cb=new Map;Cb.set(0,zO);Cb.set(2,VO);Cb.set(1,j9);function jO(o){return Cb.get(o)}Qn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;In(Vn.isUri(t)),In(Ai.isIPosition(i)),In(typeof n=="string"||!n),In(typeof s=="number"||!s);const{completionProvider:r}=o.get(ki),a=await o.get(fa).createModelReference(t);try{const d={incomplete:!1,suggestions:[]},u=[],f=a.object.textEditorModel.validatePosition(i),g=await V9(r,a.object.textEditorModel,f,void 0,{triggerCharacter:n??void 0,triggerKind:n?1:0});for(const p of g.items)u.length<(s??0)&&u.push(p.resolve(an.None)),d.incomplete=d.incomplete||p.container.incomplete,d.suggestions.push(p.completion);try{return await Promise.all(u),d}finally{setTimeout(()=>g.disposable.dispose(),100)}}finally{a.dispose()}});function $O(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class Zh{static isAllOff(e){return e.other==="off"&&e.comments==="off"&&e.strings==="off"}static isAllOn(e){return e.other==="on"&&e.comments==="on"&&e.strings==="on"}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}}function _D(o,e=O_){return L4(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var UO=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},qO=function(o,e){return function(t,i){e(t,i,o)}};class bD{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const i=t.resolve(e);if(i!==void 0)return i}}}class CD{constructor(e,t,i,n){this._model=e,this._selection=t,this._selectionIdx=i,this._overtypingCapturer=n}resolve(e){const{name:t}=e;if(t==="SELECTION"||t==="TM_SELECTED_TEXT"){let i=this._model.getValueInRange(this._selection)||void 0,n=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){const s=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);s&&(i=s.value,n=s.multiline)}if(i&&n&&e.snippet){const s=this._model.getLineContent(this._selection.startLineNumber),r=eo(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(u=>u===e?!1:(u instanceof Po&&(a=eo(X_(u.value).pop())),!0));const d=Tp(a,r);i=i.replace(/(\r\n|\r|\n)(.*)/g,(u,f,g)=>`${f}${a.substr(d)}${g}`)}return i}else{if(t==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(t==="TM_CURRENT_WORD"){const i=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return i&&i.word||void 0}else{if(t==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(t==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);if(t==="CURSOR_INDEX")return String(this._selectionIdx);if(t==="CURSOR_NUMBER")return String(this._selectionIdx+1)}}}}class ED{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return og(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=og(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return I4(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(Ow(this._model.uri));if(t==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);if(t==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}class yD{constructor(e,t,i,n){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=i,this._spread=n}resolve(e){if(e.name!=="CLIPBOARD")return;const t=this._readClipboardText();if(t){if(this._spread){const i=t.split(/\r\n|\n|\r/).filter(n=>!P4(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let lv=class{constructor(e,t,i){this._model=e,this._selection=t,this._languageConfigurationService=i}resolve(e){const{name:t}=e,i=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),n=this._languageConfigurationService.getLanguageConfiguration(i).comments;if(n){if(t==="LINE_COMMENT")return n.lineCommentToken||void 0;if(t==="BLOCK_COMMENT_START")return n.blockCommentStartToken||void 0;if(t==="BLOCK_COMMENT_END")return n.blockCommentEndToken||void 0}}};lv=UO([qO(2,Vs)],lv);const Da=class Da{constructor(){this._date=new Date}resolve(e){const{name:t}=e;if(t==="CURRENT_YEAR")return String(this._date.getFullYear());if(t==="CURRENT_YEAR_SHORT")return String(this._date.getFullYear()).slice(-2);if(t==="CURRENT_MONTH")return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if(t==="CURRENT_DATE")return String(this._date.getDate().valueOf()).padStart(2,"0");if(t==="CURRENT_HOUR")return String(this._date.getHours().valueOf()).padStart(2,"0");if(t==="CURRENT_MINUTE")return String(this._date.getMinutes().valueOf()).padStart(2,"0");if(t==="CURRENT_SECOND")return String(this._date.getSeconds().valueOf()).padStart(2,"0");if(t==="CURRENT_DAY_NAME")return Da.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return Da.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return Da.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return Da.monthNamesShort[this._date.getMonth()];if(t==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3));if(t==="CURRENT_TIMEZONE_OFFSET"){const i=this._date.getTimezoneOffset(),n=i>0?"-":"+",s=Math.trunc(Math.abs(i/60)),r=s<10?"0"+s:s,a=Math.abs(i)-s*60,d=a<10?"0"+a:a;return n+r+":"+d}}};Da.dayNames=[S("Sunday","Sunday"),S("Monday","Monday"),S("Tuesday","Tuesday"),S("Wednesday","Wednesday"),S("Thursday","Thursday"),S("Friday","Friday"),S("Saturday","Saturday")],Da.dayNamesShort=[S("SundayShort","Sun"),S("MondayShort","Mon"),S("TuesdayShort","Tue"),S("WednesdayShort","Wed"),S("ThursdayShort","Thu"),S("FridayShort","Fri"),S("SaturdayShort","Sat")],Da.monthNames=[S("January","January"),S("February","February"),S("March","March"),S("April","April"),S("May","May"),S("June","June"),S("July","July"),S("August","August"),S("September","September"),S("October","October"),S("November","November"),S("December","December")],Da.monthNamesShort=[S("JanuaryShort","Jan"),S("FebruaryShort","Feb"),S("MarchShort","Mar"),S("AprilShort","Apr"),S("MayShort","May"),S("JuneShort","Jun"),S("JulyShort","Jul"),S("AugustShort","Aug"),S("SeptemberShort","Sep"),S("OctoberShort","Oct"),S("NovemberShort","Nov"),S("DecemberShort","Dec")];let cv=Da;class wD{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=T4(this._workspaceService.getWorkspace());if(!M4(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(zS(e))return og(e.uri.path);let t=og(e.configPath.path);return t.endsWith(VS)&&(t=t.substr(0,t.length-VS.length-1)),t}_resoveWorkspacePath(e){if(zS(e))return _D(e.uri.fsPath);const t=og(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?_D(i):"/"}}class SD{resolve(e){const{name:t}=e;if(t==="RANDOM")return Math.random().toString().slice(-6);if(t==="RANDOM_HEX")return Math.random().toString(16).slice(-6);if(t==="UUID")return ub()}}var GO=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},KO=function(o,e){return function(t,i){e(t,i,o)}},Ur;const Er=class Er{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=jS(t.placeholders,dr.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const e=this._editor.getModel();this._editor.changeDecorations(t=>{for(const i of this._snippet.placeholders){const n=this._snippet.offset(i),s=this._snippet.fullLen(i),r=Q.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?Er._decor.inactiveFinal:Er._decor.inactive,d=t.addDecoration(r,a);this._placeholderDecorations.set(i,d)}})}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const n=[];for(const s of this._placeholderGroups[this._placeholderGroupsIdx])if(s.transform){const r=this._placeholderDecorations.get(s),a=this._editor.getModel().getDecorationRange(r),d=this._editor.getModel().getValueInRange(a),u=s.transform.resolve(d).split(/\r\n|\r|\n/);for(let f=1;f<u.length;f++)u[f]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+u[f]);n.push(cs.replace(a,u.join(this._editor.getModel().getEOL())))}n.length>0&&this._editor.executeEdits("snippet.placeholderTransform",n)}let t=!1;e===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,t=!0):e===!1&&this._placeholderGroupsIdx>0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations(n=>{const s=new Set,r=[];for(const a of this._placeholderGroups[this._placeholderGroupsIdx]){const d=this._placeholderDecorations.get(a),u=this._editor.getModel().getDecorationRange(d);r.push(new ji(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(d,a.isFinalTabstop?Er._decor.activeFinal:Er._decor.active),s.add(a);for(const f of this._snippet.enclosingPlaceholders(a)){const g=this._placeholderDecorations.get(f);n.changeDecorationOptions(g,f.isFinalTabstop?Er._decor.activeFinal:Er._decor.active),s.add(f)}}for(const[a,d]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(d,a.isFinalTabstop?Er._decor.inactiveFinal:Er._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof dr){const i=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(i).isEmpty()&&t.toString().length>0)return!0}t=t.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0)return!0;if(this._snippet.placeholders.length===1){const[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){const e=new Map;for(const t of this._placeholderGroups){let i;for(const n of t){if(n.isFinalTabstop)break;i||(i=[],e.set(n.index,i));const s=this._placeholderDecorations.get(n),r=this._editor.getModel().getDecorationRange(s);if(!r){e.delete(n.index);break}i.push(r)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(e!=null&&e.choice))return;const t=this._placeholderDecorations.get(e);if(!t)return;const i=this._editor.getModel().getDecorationRange(t);if(i)return{range:i,choice:e.choice}}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof gf,!e)),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(i=>{for(const n of this._placeholderGroups[this._placeholderGroupsIdx]){const s=e.shift();console.assert(s._offset!==-1),console.assert(!s._placeholderDecorations);const r=s._snippet.placeholderInfo.last.index;for(const d of s._snippet.placeholderInfo.all)d.isFinalTabstop?d.index=n.index+(r+1)/this._nestingLevel:d.index=n.index+d.index/this._nestingLevel;this._snippet.replace(n,s._snippet.children);const a=this._placeholderDecorations.get(n);i.removeDecoration(a),this._placeholderDecorations.delete(n);for(const d of s._snippet.placeholders){const u=s._snippet.offset(d),f=s._snippet.fullLen(d),g=Q.fromPositions(t.getPositionAt(s._offset+u),t.getPositionAt(s._offset+u+f)),p=i.addDecoration(g,Er._decor.inactive);this._placeholderDecorations.set(d,p)}}this._placeholderGroups=jS(this._snippet.placeholders,dr.compareByIndex)})}};Er._decor={active:xn.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:xn.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:xn.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:xn.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let dv=Er;const DD={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let uv=Ur=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=eo(r,0,t.column-1);let d;return n.walk(u=>{if(!(u instanceof Po)||u.parent instanceof gf||s&&!s.has(u))return!0;const f=u.value.split(/\r\n|\r|\n/);if(i){const p=n.offset(u);if(p===0)f[0]=e.normalizeIndentation(f[0]);else{d=d??n.toString();const C=d.charCodeAt(p-1);(C===10||C===13)&&(f[0]=e.normalizeIndentation(a+f[0]))}for(let C=1;C<f.length;C++)f[C]=e.normalizeIndentation(a+f[C])}const g=f.join(e.getEOL());return g!==u.value&&(u.parent.replace(u,[new Po(g)]),d=void 0),!0}),a}static adjustSelection(e,t,i,n){if(i!==0||n!==0){const{positionLineNumber:s,positionColumn:r}=t,a=r-i,d=r+n,u=e.validateRange({startLineNumber:s,startColumn:a,endLineNumber:s,endColumn:d});t=ji.createWithDirection(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,i,n,s,r,a,d,u){const f=[],g=[];if(!e.hasModel())return{edits:f,snippets:g};const p=e.getModel(),C=e.invokeWithinContext(R=>R.get(k0)),b=e.invokeWithinContext(R=>new ED(R.get(Ig),p)),y=()=>a,w=p.getValueInRange(Ur.adjustSelection(p,e.getSelection(),i,0)),A=p.getValueInRange(Ur.adjustSelection(p,e.getSelection(),0,n)),P=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),M=e.getSelections().map((R,T)=>({selection:R,idx:T})).sort((R,T)=>Q.compareRangesUsingStarts(R.selection,T.selection));for(const{selection:R,idx:T}of M){let V=Ur.adjustSelection(p,R,i,0),H=Ur.adjustSelection(p,R,0,n);w!==p.getValueInRange(V)&&(V=R),A!==p.getValueInRange(H)&&(H=R);const X=R.setStartPosition(V.startLineNumber,V.startColumn).setEndPosition(H.endLineNumber,H.endColumn),se=new Nu().parse(t,!0,s),he=X.getStartPosition(),J=Ur.adjustWhitespace(p,he,r||T>0&&P!==p.getLineFirstNonWhitespaceColumn(R.positionLineNumber),se);se.resolveVariables(new bD([b,new yD(y,T,M.length,e.getOption(79)==="spread"),new CD(p,R,T,d),new lv(p,R,u),new cv,new wD(C),new SD])),f[T]=cs.replace(X,se.toString()),f[T].identifier={major:T,minor:0},f[T]._isTracked=!0,g[T]=new dv(e,se,J)}return{edits:f,snippets:g}}static createEditsAndSnippetsFromEdits(e,t,i,n,s,r,a){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const d=[],u=e.getModel(),f=new Nu,g=new jp,p=new bD([e.invokeWithinContext(b=>new ED(b.get(Ig),u)),new yD(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new CD(u,e.getSelection(),0,r),new lv(u,e.getSelection(),a),new cv,new wD(e.invokeWithinContext(b=>b.get(k0))),new SD]);t=t.sort((b,y)=>Q.compareRangesUsingStarts(b.range,y.range));let C=0;for(let b=0;b<t.length;b++){const{range:y,template:w}=t[b];if(b>0){const T=t[b-1].range,V=Q.fromPositions(T.getEndPosition(),y.getStartPosition()),H=new Po(u.getValueInRange(V));g.appendChild(H),C+=H.value.length}const A=f.parseFragment(w,g);Ur.adjustWhitespace(u,y.getStartPosition(),!0,g,new Set(A)),g.resolveVariables(p);const P=g.toString(),M=P.slice(C);C=P.length;const R=cs.replace(y,M);R.identifier={major:b,minor:0},R._isTracked=!0,d.push(R)}return f.ensureFinalTabstop(g,i,!0),{edits:d,snippets:[new dv(e,g,"")]}}constructor(e,t,i=DD,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){co(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:e,snippets:t}=typeof this._template=="string"?Ur.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):Ur.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=t,this._editor.executeEdits("snippet",e,i=>{const n=i.filter(s=>!!s.identifier);for(let s=0;s<t.length;s++)t[s].initialize(n[s].textChange);return this._snippets[0].hasPlaceholder?this._move(!0):n.map(s=>ji.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=DD){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=Ur.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",i,s=>{const r=s.filter(d=>!!d.identifier);for(let d=0;d<n.length;d++)n[d].initialize(r[d].textChange);const a=n[0].isTrivialSnippet;if(!a){for(const d of this._snippets)d.merge(n);console.assert(n.length===0)}return this._snippets[0].hasPlaceholder&&!a?this._move(void 0):r.map(d=>ji.fromPositions(d.range.getEndPosition()))})}next(){const e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){const e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}_move(e){const t=[];for(const i of this._snippets){const n=i.move(e);t.push(...n)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const e=this._editor.getSelections();if(e.length<this._snippets.length)return!1;const t=new Map;for(const i of this._snippets){const n=i.computePossibleSelections();if(t.size===0)for(const[s,r]of n){r.sort(Q.compareRangesUsingStarts);for(const a of e)if(r[0].containsRange(a)){t.set(s,[]);break}}if(t.size===0)return!1;t.forEach((s,r)=>{s.push(...n.get(r))})}e.sort(Q.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(Q.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};uv=Ur=GO([KO(3,Vs)],uv);var ZO=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},Fx=function(o,e){return function(t,i){e(t,i,o)}},Oh;const AD={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var Ta;let po=(Ta=class{static get(e){return e.getContribution(Oh.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new Tt,this._modelVersionId=-1,this._inSnippet=Oh.InSnippetMode.bindTo(n),this._hasNextTabstop=Oh.HasNextTabstop.bindTo(n),this._hasPrevTabstop=Oh.HasPrevTabstop.bindTo(n)}dispose(){var e;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),(e=this._session)==null||e.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,typeof t>"u"?AD:{...AD,...t})}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"<no_session>")}}_doInsert(e,t){var i;if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof e!="string"&&this.cancel(),this._session?(In(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new uv(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),(i=this._session)!=null&&i.hasChoice){const n={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(f,g)=>{if(!this._session||f!==this._editor.getModel()||!Ai.equals(this._editor.getPosition(),g))return;const{activeChoice:p}=this._session;if(!p||p.choice.options.length===0)return;const C=f.getValueInRange(p.range),b=!!p.choice.options.find(w=>w.value===C),y=[];for(let w=0;w<p.choice.options.length;w++){const A=p.choice.options[w];y.push({kind:13,label:A.value,insertText:A.value,sortText:"a".repeat(w+1),range:p.range,filterText:b?`${C}_${A.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:S("next","Go to next placeholder...")}})}return{suggestions:y}}},s=this._editor.getModel();let r,a=!1;const d=()=>{r==null||r.dispose(),a=!1},u=()=>{a||(r=this._languageFeaturesService.completionProvider.register({language:s.getLanguageId(),pattern:s.uri.fsPath,scheme:s.uri.scheme,exclusive:!0},n),this._snippetListener.add(r),a=!0)};this._choiceCompletions={provider:n,enable:u,disable:d}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(n=>n.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){var t;if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{activeChoice:e}=this._session;if(!e||!this._choiceCompletions){(t=this._choiceCompletions)==null||t.disable(),this._currentChoice=void 0;return}this._currentChoice!==e.choice&&(this._currentChoice=e.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{$O(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,(t=this._session)==null||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){var e;(e=this._session)==null||e.prev(),this._updateState()}next(){var e;(e=this._session)==null||e.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}},Oh=Ta,Ta.ID="snippetController2",Ta.InSnippetMode=new Cn("inSnippetMode",!1,S("inSnippetMode","Whether the editor in current in snippet mode")),Ta.HasNextTabstop=new Cn("hasNextTabstop",!1,S("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Ta.HasPrevTabstop=new Cn("hasPrevTabstop",!1,S("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Ta);po=Oh=ZO([Fx(1,Yu),Fx(2,ki),Fx(3,Fn),Fx(4,Vs)],po);dn(po.ID,po,4);const Eb=Ao.bindToContribution(po.get);Ii(new Eb({id:"jumpToNextSnippetPlaceholder",precondition:$e.and(po.InSnippetMode,po.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:q.textInputFocus,primary:2}}));Ii(new Eb({id:"jumpToPrevSnippetPlaceholder",precondition:$e.and(po.InSnippetMode,po.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:q.textInputFocus,primary:1026}}));Ii(new Eb({id:"leaveSnippet",precondition:po.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:q.textInputFocus,primary:9,secondary:[1033]}}));Ii(new Eb({id:"acceptSnippet",precondition:po.InSnippetMode,handler:o=>o.finish()}));var XO=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},DC=function(o,e){return function(t,i){e(t,i,o)}};let PE=class extends Nt{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,n,s,r,a,d,u,f,g,p){super(),this.textModel=e,this.selectedSuggestItem=t,this._textModelVersionId=i,this._positions=n,this._debounceValue=s,this._suggestPreviewEnabled=r,this._suggestPreviewMode=a,this._inlineSuggestMode=d,this._enabled=u,this._instantiationService=f,this._commandService=g,this._languageConfigurationService=p,this._source=this._register(this._instantiationService.createInstance(IE,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=Xo(this,!1),this._forceUpdateExplicitlySignal=jw(this),this._selectedInlineCompletionId=Xo(this,void 0),this._primaryPosition=Hn(this,b=>this._positions.read(b)[0]??new Ai(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([ol.Redo,ol.Undo,ol.AcceptWord]),this._fetchInlineCompletionsPromise=GA({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:_l.Automatic}),handleChange:(b,y)=>(b.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(b.change))?y.preserveCurrentCompletion=!0:b.didChange(this._forceUpdateExplicitlySignal)&&(y.inlineCompletionTriggerKind=_l.Explicit),!0)},(b,y)=>{if(this._forceUpdateExplicitlySignal.read(b),!(this._enabled.read(b)&&this.selectedSuggestItem.read(b)||this._isActive.read(b))){this._source.cancelUpdate();return}this._textModelVersionId.read(b);const A=this._source.suggestWidgetInlineCompletions.get(),P=this.selectedSuggestItem.read(b);if(A&&!P){const H=this._source.inlineCompletions.get();Xu(X=>{(!H||A.request.versionId>H.request.versionId)&&this._source.inlineCompletions.set(A.clone(),X),this._source.clearSuggestWidgetInlineCompletions(X)})}const M=this._primaryPosition.read(b),R={triggerKind:y.inlineCompletionTriggerKind,selectedSuggestionInfo:P==null?void 0:P.toSelectedSuggestionInfo()},T=this.selectedInlineCompletion.get(),V=y.preserveCurrentCompletion||T!=null&&T.forwardStable?T:void 0;return this._source.fetch(M,R,V)}),this._filteredInlineCompletionItems=ul({owner:this,equalsFn:o1()},b=>{const y=this._source.inlineCompletions.read(b);if(!y)return[];const w=this._primaryPosition.read(b);return y.inlineCompletions.filter(P=>P.isVisible(this.textModel,w,b))}),this.selectedInlineCompletionIndex=Hn(this,b=>{const y=this._selectedInlineCompletionId.read(b),w=this._filteredInlineCompletionItems.read(b),A=this._selectedInlineCompletionId===void 0?-1:w.findIndex(P=>P.semanticId===y);return A===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):A}),this.selectedInlineCompletion=Hn(this,b=>{const y=this._filteredInlineCompletionItems.read(b),w=this.selectedInlineCompletionIndex.read(b);return y[w]}),this.activeCommands=ul({owner:this,equalsFn:o1()},b=>{var y;return((y=this.selectedInlineCompletion.read(b))==null?void 0:y.inlineCompletion.source.inlineCompletions.commands)??[]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,b=>b==null?void 0:b.request.context.triggerKind),this.inlineCompletionsCount=Hn(this,b=>{if(this.lastTriggerKind.read(b)===_l.Explicit)return this._filteredInlineCompletionItems.read(b).length}),this.state=ul({owner:this,equalsFn:(b,y)=>!b||!y?b===y:cD(b.ghostTexts,y.ghostTexts)&&b.inlineCompletion===y.inlineCompletion&&b.suggestItem===y.suggestItem},b=>{const y=this.textModel,w=this.selectedSuggestItem.read(b);if(w){const A=Wd(w.toSingleTextEdit(),y),P=this._computeAugmentation(A,b);if(!this._suggestPreviewEnabled.read(b)&&!P)return;const R=(P==null?void 0:P.edit)??A,T=P?P.edit.text.length-A.text.length:0,V=this._suggestPreviewMode.read(b),H=this._positions.read(b),X=[R,...AC(this.textModel,H,R)],se=X.map((J,de)=>gD(J,y,V,H[de],T)).filter(Zx),he=se[0]??new Xg(R.range.endLineNumber,[]);return{edits:X,primaryGhostText:he,ghostTexts:se,inlineCompletion:P==null?void 0:P.completion,suggestItem:w}}else{if(!this._isActive.read(b))return;const A=this.selectedInlineCompletion.read(b);if(!A)return;const P=A.toSingleTextEdit(b),M=this._inlineSuggestMode.read(b),R=this._positions.read(b),T=[P,...AC(this.textModel,R,P)],V=T.map((H,X)=>gD(H,y,M,R[X],0)).filter(Zx);return V[0]?{edits:T,primaryGhostText:V[0],ghostTexts:V,inlineCompletion:A,suggestItem:void 0}:void 0}}),this.ghostTexts=ul({owner:this,equalsFn:cD},b=>{const y=this.state.read(b);if(y)return y.ghostTexts}),this.primaryGhostText=ul({owner:this,equalsFn:fB},b=>{const y=this.state.read(b);if(y)return y==null?void 0:y.primaryGhostText}),this._register(KA(this._fetchInlineCompletionsPromise));let C;this._register(rs(b=>{var A,P;const y=this.state.read(b),w=y==null?void 0:y.inlineCompletion;if((w==null?void 0:w.semanticId)!==(C==null?void 0:C.semanticId)&&(C=w,w)){const M=w.inlineCompletion,R=M.source;(P=(A=R.provider).handleItemDidShow)==null||P.call(A,R.inlineCompletions,M.sourceInlineCompletion,M.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?ol.Undo:e!=null&&e.isRedoing?ol.Redo:this.isAcceptingPartially?ol.AcceptWord:ol.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){Am(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){Am(e,t=>{this._isActive.set(!1,t),this._source.clear(t)})}_computeAugmentation(e,t){const i=this.textModel,n=this._source.suggestWidgetInlineCompletions.read(t),s=n?n.inlineCompletions:[this.selectedInlineCompletion.read(t)].filter(Zx);return R4(s,a=>{let d=a.toSingleTextEdit(t);return d=Wd(d,i,Q.fromPositions(d.range.getStartPosition(),e.range.getEndPosition())),mB(d,e)?{completion:a,edit:d}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){var n;if(e.getModel()!==this.textModel)throw new R0;const t=this.state.get();if(!t||t.primaryGhostText.isEmpty()||!t.inlineCompletion)return;const i=t.inlineCompletion.toInlineCompletion(void 0);if(i.command&&i.source.addRef(),e.pushUndoStop(),i.snippetInfo)e.executeEdits("inlineSuggestion.accept",[cs.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=po.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=kD(s).map(a=>ji.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>cs.replace(a.range,a.text)),...i.additionalTextEdits]),e.setSelections(r,"inlineCompletionAccept")}this.stop(),i.command&&(await this._commandService.executeCommand(i.command.id,...i.command.arguments||[]).then(void 0,_s),i.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,(t,i)=>{const n=this.textModel.getLanguageIdAtPosition(t.lineNumber,t.column),s=this._languageConfigurationService.getLanguageConfiguration(n),r=new RegExp(s.wordDefinition.source,s.wordDefinition.flags.replace("g","")),a=i.match(r);let d=0;a&&a.index!==void 0?a.index===0?d=a[0].length:d=a.index:d=i.length;const f=/\s+/g.exec(i);return f&&f.index!==void 0&&f.index+f[0].length<d&&(d=f.index+f[0].length),d},0)}async acceptNextLine(e){await this._acceptNext(e,(t,i)=>{const n=i.match(/\n/);return n&&n.index!==void 0?n.index+1:i.length},1)}async _acceptNext(e,t,i){if(e.getModel()!==this.textModel)throw new R0;const n=this.state.get();if(!n||n.primaryGhostText.isEmpty()||!n.inlineCompletion)return;const s=n.primaryGhostText,r=n.inlineCompletion.toInlineCompletion(void 0);if(r.snippetInfo||r.filterText!==r.insertText){await this.accept(e);return}const a=s.parts[0],d=new Ai(s.lineNumber,a.column),u=a.text,f=t(d,u);if(f===u.length&&s.parts.length===1){this.accept(e);return}const g=u.substring(0,f),p=this._positions.get(),C=p[0];r.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const b=Q.fromPositions(C,d),y=e.getModel().getValueInRange(b)+g,w=new Dl(b,y),A=[w,...AC(this.textModel,p,w)],P=kD(A).map(M=>ji.fromPositions(M));e.executeEdits("inlineSuggestion.accept",A.map(M=>cs.replace(M.range,M.text))),e.setSelections(P,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const b=Q.fromPositions(r.range.getStartPosition(),Dm.ofText(g).addToPosition(d)),y=e.getModel().getValueInRange(b,1);r.source.provider.handlePartialAccept(r.source.inlineCompletions,r.sourceInlineCompletion,y.length,{kind:i})}}finally{r.source.removeRef()}}handleSuggestAccepted(e){var s,r;const t=Wd(e.toSingleTextEdit(),this.textModel),i=this._computeAugmentation(t,void 0);if(!i)return;const n=i.completion.inlineCompletion;(r=(s=n.source.provider).handlePartialAccept)==null||r.call(s,n.source.inlineCompletions,n.sourceInlineCompletion,t.text.length,{kind:2})}};PE=XO([DC(9,nn),DC(10,zs),DC(11,Vs)],PE);var ol;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(ol||(ol={}));function AC(o,e,t){if(e.length===1)return[];const i=e[0],n=e.slice(1),s=t.range.getStartPosition(),r=t.range.getEndPosition(),a=o.getValueInRange(Q.fromPositions(i,r)),d=dD(i,s);if(d.lineNumber<1)return Un(new R0(`positionWithinTextEdit line number should be bigger than 0.
36
+ Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const u=YO(t.text,d);return n.map(f=>{const g=EO(dD(f,s),r),p=o.getValueInRange(Q.fromPositions(f,g)),C=Tp(a,p),b=Q.fromPositions(f,f.delta(0,C));return new Dl(b,u)})}function YO(o,e){let t="";const i=O4(o);for(let n=e.lineNumber-1;n<i.length;n++)t+=i[n].substring(n===e.lineNumber-1?e.column-1:0);return t}function kD(o){const e=N4.createSortPermutation(o,Ip(s=>s.range,Q.compareRangesUsingStarts)),i=new HA(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var QO=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},BD=function(o,e){return function(t,i){e(t,i,o)}},Kf;class $9{constructor(e){this.name=e}select(e,t,i){if(i.length===0)return 0;const n=i[0].score[0];for(let s=0;s<i.length;s++){const{score:r,completion:a}=i[s];if(r[0]!==n)break;if(a.preselect)return s}return 0}}class FD extends $9{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class JO extends $9{constructor(){super("recentlyUsed"),this._cache=new Ap(300,.66),this._seq=0}memorize(e,t,i){const n=`${e.getLanguageId()}/${i.textLabel}`;this._cache.set(n,{touch:this._seq++,type:i.completion.kind,insertText:i.completion.insertText})}select(e,t,i){if(i.length===0)return 0;const n=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(n))return super.select(e,t,i);const s=i[0].score[0];let r=-1,a=-1,d=-1;for(let u=0;u<i.length&&i[u].score[0]===s;u++){const f=`${e.getLanguageId()}/${i[u].textLabel}`,g=this._cache.peek(f);if(g&&g.touch>d&&g.type===i[u].completion.kind&&g.insertText===i[u].completion.insertText&&(d=g.touch,a=u),i[u].completion.preselect&&r===-1)return r=u}return a!==-1?a:r!==-1?r:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();const t=0;for(const[i,n]of e)n.touch=t,n.type=typeof n.type=="number"?n.type:$w.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class eH extends $9{constructor(){super("recentlyUsedByPrefix"),this._trie=H4.forStrings(),this._seq=0}memorize(e,t,i){const{word:n}=e.getWordUntilPosition(t),s=`${e.getLanguageId()}/${n}`;this._trie.set(s,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:n}=e.getWordUntilPosition(t);if(!n)return super.select(e,t,i);const s=`${e.getLanguageId()}/${n}`;let r=this._trie.get(s);if(r||(r=this._trie.findSubstr(s)),r)for(let a=0;a<i.length;a++){const{kind:d,insertText:u}=i[a].completion;if(d===r.type&&u===r.insertText)return a}return super.select(e,t,i)}toJSON(){const e=[];return this._trie.forEach((t,i)=>e.push([i,t])),e.sort((t,i)=>-(t[1].touch-i[1].touch)).forEach((t,i)=>t[1].touch=i),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type=typeof i.type=="number"?i.type:$w.fromString(i.type),this._trie.set(t,i)}}}var Bc;let TE=(Bc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new Tt,this._persistSoon=new Ps(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===Tw.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){var n;const i=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(((n=this._strategy)==null?void 0:n.name)!==i){this._saveState();const s=Kf._strategyCtors.get(i)||FD;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,d=this._storageService.get(`${Kf._storagePrefix}/${i}`,a);d&&this._strategy.fromJSON(JSON.parse(d))}catch{}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${Kf._storagePrefix}/${this._strategy.name}`,i,t,1)}}},Kf=Bc,Bc._strategyCtors=new Map([["recentlyUsedByPrefix",eH],["recentlyUsed",JO],["first",FD]]),Bc._storagePrefix="suggest/memories",Bc);TE=Kf=QO([BD(0,Gc),BD(1,ns)],TE);const yb=Ml("ISuggestMemories");Rl(yb,TE,1);var tH=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},iH=function(o,e){return function(t,i){e(t,i,o)}},ME,au;let hv=(au=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=ME.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(i=>i.hasChanged(124)&&this._update()),this._update()}dispose(){var e;this._configListener.dispose(),(e=this._selectionListener)==null||e.dispose(),this._ckAtEnd.reset()}_update(){const e=this._editor.getOption(124)==="on";if(this._enabled!==e)if(this._enabled=e,this._enabled){const t=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const i=this._editor.getModel(),n=this._editor.getSelection(),s=i.getWordAtPosition(n.getStartPosition());if(!s){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(s.endColumn===n.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}},ME=au,au.AtEnd=new Cn("atEndOfWord",!1),au);hv=ME=tH([iH(1,Fn)],hv);var nH=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},sH=function(o,e){return function(t,i){e(t,i,o)}},Zf,lu;let Q0=(lu=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=Zf.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),(e=this._listener)==null||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},i){if(e.items.length===0){this.reset();return}if(Zf._moveIndex(!0,e,t)===t){this.reset();return}this._acceptNext=i,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(e,t,i){let n=i;for(let s=t.items.length;s>0&&(n=(n+t.items.length+(e?1:-1))%t.items.length,!(n===i||!t.items[n].completion.additionalTextEdits));s--);return n}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=Zf._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},Zf=lu,lu.OtherSuggestions=new Cn("hasOtherSuggestions",!1),lu);Q0=Zf=nH([sH(1,Fn)],Q0);class oH{constructor(e,t,i,n){this._disposables=new Tt,this._disposables.add(i.onDidSuggest(s=>{s.completionModel.items.length===0&&this.reset()})),this._disposables.add(i.onDidCancel(s=>{this.reset()})),this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(s=>{if(this._active&&!t.isFrozen()&&i.state!==0){const r=s.charCodeAt(s.length-1);this._active.acceptCharacters.has(r)&&e.getOption(0)&&n(this._active.item)}}))}_onItem(e){if(!e||!Zo(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new Sm;for(const i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}const sr=class sr{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>sr._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>sr._bracketsLeftYield(a,0,e,n,r,s))}return i}static _bracketsRightYield(e,t,i,n,s){const r=new Map,a=Date.now();for(;;){if(t>=sr._maxRounds){e();break}if(!n){e();break}const d=i.bracketPairs.findNextBracket(n);if(!d){e();break}if(Date.now()-a>sr._maxDuration){setTimeout(()=>sr._bracketsRightYield(e,t+1,i,n,s));break}if(d.bracketInfo.isOpeningBracket){const f=d.bracketInfo.bracketText,g=r.has(f)?r.get(f):0;r.set(f,g+1)}else{const f=d.bracketInfo.getOpeningBrackets()[0].bracketText;let g=r.has(f)?r.get(f):0;if(g-=1,r.set(f,Math.max(0,g)),g<0){let p=s.get(f);p||(p=new ZA,s.set(f,p)),p.push(d.range)}}n=d.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,n,s,r){const a=new Map,d=Date.now();for(;;){if(t>=sr._maxRounds&&s.size===0){e();break}if(!n){e();break}const u=i.bracketPairs.findPrevBracket(n);if(!u){e();break}if(Date.now()-d>sr._maxDuration){setTimeout(()=>sr._bracketsLeftYield(e,t+1,i,n,s,r));break}if(u.bracketInfo.isOpeningBracket){const g=u.bracketInfo.bracketText;let p=a.has(g)?a.get(g):0;if(p-=1,a.set(g,Math.max(0,p)),p<0){const C=s.get(g);if(C){const b=C.shift();C.size===0&&s.delete(g);const y=Q.fromPositions(u.range.getEndPosition(),b.getStartPosition()),w=Q.fromPositions(u.range.getStartPosition(),b.getEndPosition());r.push({range:y}),r.push({range:w}),sr._addBracketLeading(i,w,r)}}}else{const g=u.bracketInfo.getOpeningBrackets()[0].bracketText,p=a.has(g)?a.get(g):0;a.set(g,p+1)}n=u.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const n=t.startLineNumber,s=e.getLineFirstNonWhitespaceColumn(n);s!==0&&s!==t.startColumn&&(i.push({range:Q.fromPositions(new Ai(n,s),t.getEndPosition())}),i.push({range:Q.fromPositions(new Ai(n,1),t.getEndPosition())}));const r=n-1;if(r>0){const a=e.getLineFirstNonWhitespaceColumn(r);a===t.startColumn&&a!==e.getLineLastNonWhitespaceColumn(r)&&(i.push({range:Q.fromPositions(new Ai(r,a),t.getEndPosition())}),i.push({range:Q.fromPositions(new Ai(r,1),t.getEndPosition())}))}}};sr._maxDuration=30,sr._maxRounds=2;let fv=sr;const Aa=class Aa{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return Aa.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return Aa.None;const[s]=await new fv().provideSelectionRanges(i,[n]);if(s.length===0)return Aa.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return Aa.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends Aa{distance(d,u){if(!n.equals(t.getPosition()))return 0;if(u.kind===17)return 2<<20;const f=typeof u.label=="string"?u.label:u.label.label,g=r[f];if(W4(g))return 2<<20;const p=km(g,Q.fromPositions(d),Q.compareRangesUsingStarts),C=p>=0?g[p]:g[Math.max(0,~p-1)];let b=s.length;for(const y of s){if(!Q.containsRange(y.range,C))break;b-=1}return b}}}};Aa.None=new class extends Aa{distance(){return 0}};let gv=Aa,LD=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class oc{constructor(e,t,i,n,s,r,a=XA.default,d=void 0){this.clipboardText=d,this._snippetCompareFn=oc._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=n,this._options=s,this._refilterKind=1,this._lineContext=i,this._fuzzyScoreOptions=a,r==="top"?this._snippetCompareFn=oc._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=oc._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){(this._lineContext.leadingLineContent!==e.leadingLineContent||this._lineContext.characterCountDelta!==e.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta<e.characterCountDelta&&this._filteredItems?2:1,this._lineContext=e)}get items(){return this._ensureCachedState(),this._filteredItems}getItemsByProvider(){return this._ensureCachedState(),this._itemsByProvider}getIncompleteProvider(){this._ensureCachedState();const e=new Set;for(const[t,i]of this.getItemsByProvider())i.length>0&&i[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:i}=this._lineContext;let n="",s="";const r=this._refilterKind===1?this._items:this._filteredItems,a=[],d=!this._options.filterGraceful||r.length>2e3?YA:z4;for(let u=0;u<r.length;u++){const f=r[u];if(f.isInvalid)continue;const g=this._itemsByProvider.get(f.provider);g?g.push(f):this._itemsByProvider.set(f.provider,[f]);const p=f.position.column-f.editStart.column,C=p+i-(f.position.column-this._column);if(n.length!==C&&(n=C===0?"":t.slice(-C),s=n.toLowerCase()),f.word=n,C===0)f.score=Pg.Default;else{let b=0;for(;b<p;){const y=n.charCodeAt(b);if(y===32||y===9)b+=1;else break}if(b>=C)f.score=Pg.Default;else if(typeof f.completion.filterText=="string"){const y=d(n,s,b,f.completion.filterText,f.filterTextLow,0,this._fuzzyScoreOptions);if(!y)continue;V4(f.completion.filterText,f.textLabel)===0?f.score=y:(f.score=j4(n,s,b,f.textLabel,f.labelLow,0),f.score[0]=y[0])}else{const y=d(n,s,b,f.textLabel,f.labelLow,0,this._fuzzyScoreOptions);if(!y)continue;f.score=y}}f.idx=u,f.distance=this._wordDistance.distance(f.position,f.completion),a.push(f),e.push(f.textLabel.length)}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?$4(e.length-.85,e,(u,f)=>u-f):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]<t.score[0]?1:e.distance<t.distance?-1:e.distance>t.distance?1:e.idx<t.idx?-1:e.idx>t.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return 1;if(t.completion.kind===27)return-1}return oc._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return-1;if(t.completion.kind===27)return 1}return oc._compareCompletionItems(e,t)}}var rH=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},Xl=function(o,e){return function(t,i){e(t,i,o)}},RE;class hd{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);const n=t.getWordAtPosition(i);return!(!n||n.endColumn!==i.column&&n.startColumn+1!==i.column||!isNaN(Number(n.word)))}constructor(e,t,i){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=i}}function aH(o,e,t){if(!e.getContextKeyValue(No.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(No.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function lH(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(No.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let pv=RE=class{constructor(e,t,i,n,s,r,a,d,u){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=n,this._logService=s,this._contextKeyService=r,this._configurationService=a,this._languageFeaturesService=d,this._envService=u,this._toDispose=new Tt,this._triggerCharacterListener=new Tt,this._triggerQuickSuggest=new wp,this._triggerState=void 0,this._completionDisposables=new Tt,this._onDidCancel=new rn,this._onDidTrigger=new rn,this._onDidSuggest=new rn,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new ji(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let f=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{f=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{f=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(g=>{f||this._onCursorChange(g)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!f&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){co(this._triggerCharacterListener),co([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(92)||!this._editor.hasModel()||!this._editor.getOption(122))return;const e=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const n of i.triggerCharacters||[]){let s=e.get(n);s||(s=new Set,e.set(n,s)),s.add(i)}const t=i=>{var r;if(!lH(this._editor,this._contextKeyService,this._configurationService)||hd.shouldAutoTrigger(this._editor))return;if(!i){const a=this._editor.getPosition();i=this._editor.getModel().getLineContent(a.lineNumber).substr(0,a.column-1)}let n="";q4(i.charCodeAt(i.length-1))?G4(i.charCodeAt(i.length-2))&&(n=i.substr(i.length-2)):n=i.charAt(i.length-1);const s=e.get(n);if(s){const a=new Map;if(this._completionModel)for(const[d,u]of this._completionModel.getItemsByProvider())s.has(d)||a.set(d,u);this.trigger({auto:!0,triggerKind:1,triggerCharacter:n,retrigger:!!this._completionModel,clipboardText:(r=this._completionModel)==null?void 0:r.clipboardText,completionOptions:{providerFilter:s,providerItemsToReuse:a}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){var t;this._triggerState!==void 0&&(this._triggerQuickSuggest.cancel(),(t=this._requestToken)==null||t.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!=="keyboard"&&e.source!=="deleteLeft"){this.cancel();return}this._triggerState===void 0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var e;Zh.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=po.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!hd.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const t=this._editor.getModel(),i=this._editor.getPosition(),n=this._editor.getOption(90);if(!Zh.isAllOff(n)){if(!Zh.isAllOn(n)){t.tokenization.tokenizeIfCheap(i.lineNumber);const s=t.tokenization.getLineTokens(i.lineNumber),r=s.getStandardTokenType(s.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if(Zh.valueFor(n,r)!=="on")return}aH(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){In(this._editor.hasModel()),In(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new hd(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var p,C,b;if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new hd(t,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:e.shy??!1,position:this._editor.getPosition()}),this._context=i;let n={triggerKind:e.triggerKind??0};e.triggerCharacter&&(n={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new qs;const s=this._editor.getOption(113);let r=1;switch(s){case"top":r=0;break;case"bottom":r=2;break}const{itemKind:a,showDeprecated:d}=RE.createSuggestFilter(this._editor),u=new Yg(r,((p=e.completionOptions)==null?void 0:p.kindFilter)??a,(C=e.completionOptions)==null?void 0:C.providerFilter,(b=e.completionOptions)==null?void 0:b.providerItemsToReuse,d),f=gv.create(this._editorWorkerService,this._editor),g=V9(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),u,n,this._requestToken.token);Promise.all([g,f]).then(async([y,w])=>{var T;if((T=this._requestToken)==null||T.dispose(),!this._editor.hasModel())return;let A=e==null?void 0:e.clipboardText;if(!A&&y.needsClipboard&&(A=await this._clipboardService.readText()),this._triggerState===void 0)return;const P=this._editor.getModel(),M=new hd(P,this._editor.getPosition(),e),R={...XA.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new oc(y.items,this._context.column,{leadingLineContent:M.leadingLineContent,characterCountDelta:M.column-this._context.column},w,this._editor.getOption(119),this._editor.getOption(113),R,A),this._completionDisposables.add(y.disposable),this._onNewContext(M),this._reportDurationsTelemetry(y.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const V of y.items)V.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${V.provider._debugDisplayName}`,V.completion)}).catch(Un)}_reportDurationsTelemetry(e){this._telemetryGate++%230===0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)})}static createSuggestFilter(e){const t=new Set;e.getOption(113)==="none"&&t.add(27);const n=e.getOption(119);return n.showMethods||t.add(0),n.showFunctions||t.add(1),n.showConstructors||t.add(2),n.showFields||t.add(3),n.showVariables||t.add(4),n.showClasses||t.add(5),n.showStructs||t.add(6),n.showInterfaces||t.add(7),n.showModules||t.add(8),n.showProperties||t.add(9),n.showEvents||t.add(10),n.showOperators||t.add(11),n.showUnits||t.add(12),n.showValues||t.add(13),n.showConstants||t.add(14),n.showEnums||t.add(15),n.showEnumMembers||t.add(16),n.showKeywords||t.add(17),n.showWords||t.add(18),n.showColors||t.add(19),n.showFiles||t.add(20),n.showReferences||t.add(21),n.showColors||t.add(22),n.showFolders||t.add(23),n.showTypeParameters||t.add(24),n.showSnippets||t.add(27),n.showUsers||t.add(25),n.showIssues||t.add(26),{itemKind:t,showDeprecated:n.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber){this.cancel();return}if(eo(e.leadingLineContent)!==eo(this._context.leadingLineContent)){this.cancel();return}if(e.column<this._context.column){e.leadingWord.word?this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0}):this.cancel();return}if(this._completionModel){if(e.leadingWord.word.length!==0&&e.leadingWord.startColumn>this._context.leadingWord.startColumn){if(hd.shouldAutoTrigger(this._editor)&&this._context){const i=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:i}})}return}if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&e.leadingWord.word.length!==0){const t=new Map,i=new Set;for(const[n,s]of this._completionModel.getItemsByProvider())s.length>0&&s[0].container.incomplete?i.add(n):t.set(n,s);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:i,providerItemsToReuse:t}})}else{const t=this._completionModel.lineContext;let i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){const n=hd.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(n&&this._context.leadingWord.endColumn<e.leadingWord.startColumn){this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});return}if(this._context.triggerOptions.auto){this.cancel();return}else if(this._completionModel.lineContext=t,i=this._completionModel.items.length>0,i&&e.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:i})}}}}};pv=RE=rH([Xl(1,Nl),Xl(2,rf),Xl(3,ua),Xl(4,Yu),Xl(5,Fn),Xl(6,ns),Xl(7,ki),Xl(8,U4)],pv);const r_=class r_{constructor(e,t){this._disposables=new Tt,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType(()=>{if(this._locked||!e.hasModel())return;const i=e.getSelections(),n=i.length;let s=!1;for(let a=0;a<n;a++)if(!i[a].isEmpty()){s=!0;break}if(!s){this._lastOvertyped.length!==0&&(this._lastOvertyped.length=0);return}this._lastOvertyped=[];const r=e.getModel();for(let a=0;a<n;a++){const d=i[a];if(r.getValueLengthInRange(d)>r_._maxSelectionLength)return;this._lastOvertyped[a]={value:r.getValueInRange(d),multiline:d.startLineNumber!==d.endLineNumber}}})),this._disposables.add(t.onDidTrigger(i=>{this._locked=!0})),this._disposables.add(t.onDidCancel(i=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e<this._lastOvertyped.length)return this._lastOvertyped[e]}dispose(){this._disposables.dispose()}};r_._maxSelectionLength=51200;let NE=r_;var cH=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},kC=function(o,e){return function(t,i){e(t,i,o)}};let OE=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new Tt,this.element=li(e,gi(".suggest-status-bar"));const r=(a=>a instanceof M0?i.createInstance(K4,a,{useComma:!0}):void 0);this._leftActions=new Ag(this.element,{actionViewItemProvider:r}),this._rightActions=new Ag(this.element,{actionViewItemProvider:r}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{const i=[],n=[];for(const[s,r]of e.getActions())s==="left"?i.push(...r):n.push(...r);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(n)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};OE=cH([kC(2,nn),kC(3,Zu),kC(4,Fn)],OE);var dH=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},uH=function(o,e){return function(t,i){e(t,i,o)}};function U9(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let HE=class{constructor(e,t){this._editor=e,this._onDidClose=new rn,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new rn,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new Tt,this._renderDisposeable=new Tt,this._borderWidth=1,this._size=new Zn(330,0),this.domNode=gi(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(cf,{editor:e}),this._body=gi(".body"),this._scrollbar=new QA(this._body,{alwaysConsumeMouseWheel:!0}),li(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=li(this._body,gi(".header")),this._close=li(this._header,gi("span"+Tn.asCSSSelector(Gi.close))),this._close.title=S("details.close","Close"),this._type=li(this._header,gi("p.type")),this._docs=li(this._body,gi("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(50)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(50),i=t.getMassagedFontFamily(),n=e.get(120)||t.fontSize,s=e.get(121)||t.lineHeight,r=t.fontWeight,a=`${n}px`,d=`${s}px`;this.domNode.style.fontSize=a,this.domNode.style.lineHeight=`${s/n}`,this.domNode.style.fontWeight=r,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=d,this._close.style.width=d}getLayoutInfo(){const e=this._editor.getOption(121)||this._editor.getOption(50).lineHeight,t=this._borderWidth,i=t*2;return{lineHeight:e,borderWidth:t,borderHeight:i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=S("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(e,t){var s;this._renderDisposeable.clear();let{detail:i,documentation:n}=e.completion;if(t){let r="";r+=`score: ${e.score[0]}
37
+ `,r+=`prefix: ${e.word??"(no prefix)"}
38
+ `,r+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel}
39
+ `,r+=`distance: ${e.distance} (localityBonus-setting)
40
+ `,r+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"}
41
+ `,r+=`commit_chars: ${(s=e.completion.commitCharacters)==null?void 0:s.join("")}
42
+ `,n=new ao().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!U9(e)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),i){const r=i.length>1e5?`${i.substr(0,1e5)}…`:i;this._type.textContent=r,this._type.title=r,Lr(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else Wa(this._type),this._type.title="",$o(this._type),this.domNode.classList.add("no-type");if(Wa(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),Wa(this._docs);const r=this._markdownRenderer.render(n);this._docs.appendChild(r.element),this._renderDisposeable.add(r),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=r=>{r.preventDefault(),r.stopPropagation()},this._close.onclick=r=>{r.preventDefault(),r.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get isEmpty(){return this.domNode.classList.contains("no-docs")}get size(){return this._size}layout(e,t){const i=new Zn(e,t);Zn.equals(i,this._size)||(this._size=i,Z4(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};HE=dH([uH(1,nn)],HE);class hH{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new Tt,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new w9,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let i,n,s=0,r=0;this._disposables.add(this._resizable.onDidWillResize(()=>{i=this._topLeft,n=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(a=>{if(i&&n){this.widget.layout(a.dimension.width,a.dimension.height);let d=!1;a.west&&(r=n.width-a.dimension.width,d=!0),a.north&&(s=n.height-a.dimension.height,d=!0),d&&this._applyTopLeft({top:i.top+s,left:i.left+r})}a.done&&(i=void 0,n=void 0,s=0,r=0,this._userSize=a.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{this._anchorBox&&this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||(this._editor.addOverlayWidget(this),this._added=!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){const i=e.getBoundingClientRect();this._anchorBox=i,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,t)}_placeAtAnchor(e,t,i){const n=Fp(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new Zn(220,2*s.lineHeight),a=e.top,d=(function(){const T=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),V=-s.borderWidth+e.left+e.width,H=new Zn(T,n.height-e.top-s.borderHeight-s.verticalPadding),X=H.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:V,fit:T-t.width,maxSizeTop:H,maxSizeBottom:X,minSize:r.with(Math.min(T,r.width))}})(),u=(function(){const T=e.left-s.borderWidth-s.horizontalPadding,V=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),H=new Zn(T,n.height-e.top-s.borderHeight-s.verticalPadding),X=H.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:V,fit:T-t.width,maxSizeTop:H,maxSizeBottom:X,minSize:r.with(Math.min(T,r.width))}})(),f=(function(){const T=e.left,V=-s.borderWidth+e.top+e.height,H=new Zn(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:V,left:T,fit:H.height-t.height,maxSizeBottom:H,maxSizeTop:H,minSize:r.with(H.width)}})(),g=[d,u,f],p=g.find(T=>T.fit>=0)??g.sort((T,V)=>V.fit-T.fit)[0],C=e.top+e.height-s.borderHeight;let b,y=t.height;const w=Math.max(p.maxSizeTop.height,p.maxSizeBottom.height);y>w&&(y=w);let A;i?y<=p.maxSizeTop.height?(b=!0,A=p.maxSizeTop):(b=!1,A=p.maxSizeBottom):y<=p.maxSizeBottom.height?(b=!1,A=p.maxSizeBottom):(b=!0,A=p.maxSizeTop);let{top:P,left:M}=p;!b&&y>e.height&&(P=C-y);const R=this._editor.getDomNode();if(R){const T=R.getBoundingClientRect();P-=T.top,M-=T.left}this._applyTopLeft({left:M,top:P}),this._resizable.enableSashes(!b,p===d,b,p!==d),this._resizable.minSize=p.minSize,this._resizable.maxSize=A,this._resizable.layout(y,Math.min(A.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var Oa;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(Oa||(Oa={}));const fH=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Lx(o,e,t,i,n){if(Tn.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(Vn.isUri(n))return[];const s=i===Oa.ROOT_FOLDER?["rootfolder-icon"]:i===Oa.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===bo.data)r=Bm.parseMetaData(t).get(Bm.META_DATA_LABEL);else{const a=t.path.match(fH);a?(r=Ix(a[2].toLowerCase()),a[1]&&s.push(`${Ix(a[1].toLowerCase())}-name-dir-icon`)):r=Ix(t.authority.toLowerCase())}if(i===Oa.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===Oa.FOLDER)s.push(`${r}-name-folder-icon`);else{if(r){if(s.push(`${r}-name-file-icon`),s.push("name-file-icon"),r.length<=255){const d=r.split(".");for(let u=1;u<d.length;u++)s.push(`${d.slice(u).join(".")}-ext-file-icon`)}s.push("ext-file-icon")}const a=gH(o,e,t);a&&s.push(`${Ix(a)}-lang-file-icon`)}}return s}function gH(o,e,t){if(!t)return null;let i=null;if(t.scheme===bo.data){const s=Bm.parseMetaData(t).get(Bm.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==Tg?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function Ix(o){return o.replace(/[\s]/g,"/")}var pH=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},BC=function(o,e){return function(t,i){e(t,i,o)}};function vB(o){return`suggest-aria-id:${o}`}const xH=ms("suggest-more-info",Gi.chevronRight,S("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var ta;const mH=new(ta=class{extract(e,t){if(e.textLabel.match(ta._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(ta._regexStrict))return t[0]=e.completion.detail,!0;if(e.completion.documentation){const i=typeof e.completion.documentation=="string"?e.completion.documentation:e.completion.documentation.value,n=ta._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},ta._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,ta._regexStrict=new RegExp(`^${ta._regexRelaxed.source}$`,"i"),ta);let WE=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new rn,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new Tt,i=e;i.classList.add("show-file-icons");const n=li(e,gi(".icon")),s=li(n,gi("span.colorspan")),r=li(e,gi(".contents")),a=li(r,gi(".main")),d=li(a,gi(".icon-label.codicon")),u=li(a,gi("span.left")),f=li(a,gi("span.right")),g=new mA(u,{supportHighlights:!0,supportIcons:!0});t.add(g);const p=li(u,gi("span.signature-label")),C=li(u,gi("span.qualifier-label")),b=li(f,gi("span.details-label")),y=li(f,gi("span.readMore"+Tn.asCSSSelector(xH)));return y.title=S("readMore","Read More"),{root:i,left:u,right:f,icon:n,colorspan:s,iconLabel:g,iconContainer:d,parametersLabel:p,qualifierLabel:C,detailsLabel:b,readMore:y,disposables:t,configureFont:()=>{const A=this._editor.getOptions(),P=A.get(50),M=P.getMassagedFontFamily(),R=P.fontFeatureSettings,T=A.get(120)||P.fontSize,V=A.get(121)||P.lineHeight,H=P.fontWeight,X=P.letterSpacing,se=`${T}px`,he=`${V}px`,J=`${X}px`;i.style.fontSize=se,i.style.fontWeight=H,i.style.letterSpacing=J,a.style.fontFamily=M,a.style.fontFeatureSettings=R,a.style.lineHeight=he,n.style.height=he,n.style.width=he,y.style.height=he,y.style.width=he}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=vB(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:G_(e.score)},r=[];if(n.kind===19&&mH.extract(e,r))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=r[0];else if(n.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const a=Lx(this._modelService,this._languageService,Vn.from({scheme:"fake",path:e.textLabel}),Oa.FILE),d=Lx(this._modelService,this._languageService,Vn.from({scheme:"fake",path:n.detail}),Oa.FILE);s.extraClasses=a.length>d.length?a:d}else n.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",s.extraClasses=[Lx(this._modelService,this._languageService,Vn.from({scheme:"fake",path:e.textLabel}),Oa.FOLDER),Lx(this._modelService,this._languageService,Vn.from({scheme:"fake",path:n.detail}),Oa.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...Tn.asClassNameArray($w.toIcon(n.kind))));n.tags&&n.tags.indexOf(1)>=0&&(s.extraClasses=(s.extraClasses||[]).concat(["deprecated"]),s.matches=[]),i.iconLabel.setLabel(e.textLabel,void 0,s),typeof n.label=="string"?(i.parametersLabel.textContent="",i.detailsLabel.textContent=FC(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=FC(n.label.detail||""),i.detailsLabel.textContent=FC(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?Lr(i.detailsLabel):$o(i.detailsLabel),U9(e)?(i.right.classList.add("can-expand-details"),Lr(i.readMore),i.readMore.onmousedown=a=>{a.stopPropagation(),a.preventDefault()},i.readMore.onclick=a=>{a.stopPropagation(),a.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),$o(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};WE=pH([BC(1,mo),BC(2,ha),BC(3,Wr)],WE);function FC(o){return o.replace(/\r\n|\r|\n/g,"")}var vH=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},Px=function(o,e){return function(t,i){e(t,i,o)}},Hh;pi("editorSuggestWidget.background",JA,S("editorSuggestWidgetBackground","Background color of the suggest widget."));pi("editorSuggestWidget.border",X4,S("editorSuggestWidgetBorder","Border color of the suggest widget."));const _H=pi("editorSuggestWidget.foreground",Pp,S("editorSuggestWidgetForeground","Foreground color of the suggest widget."));pi("editorSuggestWidget.selectedForeground",ek,S("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));pi("editorSuggestWidget.selectedIconForeground",Y4,S("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const bH=pi("editorSuggestWidget.selectedBackground",tk,S("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));pi("editorSuggestWidget.highlightForeground",ik,S("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));pi("editorSuggestWidget.focusHighlightForeground",Q4,S("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));pi("editorSuggestWidgetStatus.foreground",za(_H,.5),S("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class CH{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Hr}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(Zn.is(t))return Zn.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}var Fc;let zE=(Fc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Qo,this._pendingShowDetails=new Qo,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new wp,this._disposables=new Tt,this._onDidSelect=new $S,this._onDidFocus=new $S,this._onDidHide=new rn,this._onDidShow=new rn,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new rn,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new w9,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new EH(this,e),this._persistedSize=new CH(t,e);class r{constructor(C,b,y=!1,w=!1){this.persistedSize=C,this.currentSize=b,this.persistHeight=y,this.persistWidth=w}}let a;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),a=new r(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(p=>{var C,b;if(this._resize(p.dimension.width,p.dimension.height),a&&(a.persistHeight=a.persistHeight||!!p.north||!!p.south,a.persistWidth=a.persistWidth||!!p.east||!!p.west),!!p.done){if(a){const{itemHeight:y,defaultSize:w}=this.getLayoutInfo(),A=Math.round(y/2);let{width:P,height:M}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-M)<=A)&&(M=((C=a.persistedSize)==null?void 0:C.height)??w.height),(!a.persistWidth||Math.abs(a.currentSize.width-P)<=A)&&(P=((b=a.persistedSize)==null?void 0:b.width)??w.width),this._persistedSize.store(new Zn(P,M))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=li(this.element.domNode,gi(".message")),this._listElement=li(this.element.domNode,gi(".tree"));const d=this._disposables.add(s.createInstance(HE,this.editor));d.onDidClose(this.toggleDetails,this,this._disposables),this._details=new hH(d,this.editor);const u=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);u();const f=s.createInstance(WE,this.editor);this._disposables.add(f),this._disposables.add(f.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Lw("SuggestWidget",this._listElement,{getHeight:p=>this.getLayoutInfo().itemHeight,getTemplateId:p=>"suggestion"},[f],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>S("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:p=>{let C=p.textLabel;if(typeof p.completion.label!="string"){const{detail:A,description:P}=p.completion.label;A&&P?C=S("label.full","{0} {1}, {2}",C,A,P):A?C=S("label.detail","{0} {1}",C,A):P&&(C=S("label.desc","{0}, {1}",C,P))}if(!p.isResolved||!this._isDetailsVisible())return C;const{documentation:b,detail:y}=p.completion,w=Vw("{0}{1}",y||"",b?typeof b=="string"?b:b.value:"");return S("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",C,w)}}}),this._list.style(nk({listInactiveFocusBackground:bH,listInactiveFocusOutline:Bu})),this._status=s.createInstance(OE,this.element.domNode,bc);const g=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(119).showStatusBar);g(),this._disposables.add(n.onDidColorThemeChange(p=>this._onThemeChange(p))),this._onThemeChange(n.getColorTheme()),this._disposables.add(this._list.onMouseDown(p=>this._onListMouseDownOrTap(p))),this._disposables.add(this._list.onTap(p=>this._onListMouseDownOrTap(p))),this._disposables.add(this._list.onDidChangeSelection(p=>this._onListSelection(p))),this._disposables.add(this._list.onDidChangeFocus(p=>this._onListFocus(p))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(p=>{p.hasChanged(119)&&(g(),u()),this._completionModel&&(p.hasChanged(50)||p.hasChanged(120)||p.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=Ui.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Ui.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Ui.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Ui.HasFocusedSuggestion.bindTo(i),this._disposables.add(Sl(this._details.widget.domNode,"keydown",p=>{this._onDetailsKeydown.fire(p)})),this._disposables.add(this.editor.onMouseDown(p=>this._onEditorMouseDown(p)))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(e=this._loadingTimeout)==null||e.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(e){typeof e.element>"u"||typeof e.index>"u"||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=kg(e.type)?2:1}_onListFocus(e){var n;if(this._ignoreFocusEvents)return;if(!e.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const t=e.elements[0],i=e.indexes[0];t!==this._focusedItem&&((n=this._currentSuggestionDetails)==null||n.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=t,this._list.reveal(i),this._currentSuggestionDetails=Us(async s=>{const r=Dg(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),a=s.onCancellationRequested(()=>r.dispose());try{return await t.resolve(s)}finally{r.dispose(),a.dispose()}}),this._currentSuggestionDetails.then(()=>{i>=this._list.length||t!==this._list.element(i)||(this._ignoreFocusEvents=!0,this._list.splice(i,1,[t]),this._list.setFocus([i]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:vB(i)}))}).catch(Un)),this._onDidFocus.fire({item:t,index:i,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",e===4),this.element.domNode.classList.remove("message"),e){case 0:$o(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=Hh.LOADING_MESSAGE,$o(this._listElement,this._status.element),Lr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,L0(Hh.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=Hh.NO_SUGGESTIONS_MESSAGE,$o(this._listElement,this._status.element),Lr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,L0(Hh.NO_SUGGESTIONS_MESSAGE);break;case 3:$o(this._messageElement),Lr(this._listElement,this._status.element),this._show();break;case 4:$o(this._messageElement),Lr(this._listElement,this._status.element),this._show();break;case 5:$o(this._messageElement),Lr(this._listElement,this._status.element),this._details.show(),this._show();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(e,t){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=Dg(()=>this._setState(1),t)))}showSuggestions(e,t,i,n,s){var d,u;if(this._contentWidget.setPosition(this.editor.getPosition()),(d=this._loadingTimeout)==null||d.dispose(),(u=this._currentSuggestionDetails)==null||u.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&this._state!==2&&this._state!==0){this._setState(4);return}const r=this._completionModel.items.length,a=r===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(r>1),a){this._setState(n?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus(s?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=US(Id(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")})}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):this._state===3&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):(U9(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._pendingShowDetails.value=US(Id(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show(),e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add("shows-details")),this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var i;this._pendingLayout.clear(),this._pendingShowDetails.clear(),(i=this._loadingTimeout)==null||i.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const e=this._persistedSize.restore(),t=Math.ceil(this.getLayoutInfo().itemHeight*4.3);e&&e.height<t&&this._persistedSize.store(e.with(void 0,t))}isFrozen(){return this._state===4}_afterRender(e){if(e===null){this._isDetailsVisible()&&this._details.hide();return}this._state===2||this._state===1||(this._isDetailsVisible()&&!this._details.widget.isEmpty&&this._details.show(),this._positionDetails())}_layout(e){var r,a;if(!this.editor.hasModel()||!this.editor.getDomNode())return;const t=Fp(this.element.domNode.ownerDocument.body),i=this.getLayoutInfo();e||(e=i.defaultSize);let n=e.height,s=e.width;if(this._status.element.style.height=`${i.itemHeight}px`,this._state===2||this._state===1)n=i.itemHeight+i.borderHeight,s=i.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new Zn(s,n),this._contentWidget.setPreference(2);else{const d=t.width-i.borderHeight-2*i.horizontalPadding;s>d&&(s=d);const u=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:s,f=i.statusBarHeight+this._list.contentHeight+i.borderHeight,g=i.itemHeight+i.statusBarHeight,p=yo(this.editor.getDomNode()),C=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),b=p.top+C.top+C.height,y=Math.min(t.height-b-i.verticalPadding,f),w=p.top+C.top-i.verticalPadding,A=Math.min(w,f);let P=Math.min(Math.max(A,y)+i.borderHeight,f);n===((r=this._cappedHeight)==null?void 0:r.capped)&&(n=this._cappedHeight.wanted),n<g&&(n=g),n>P&&(n=P),n>y||this._forceRenderingAbove&&w>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),P=A):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),P=y),this.element.preferredSize=new Zn(u,i.defaultSize.height),this.element.maxSize=new Zn(d,P),this.element.minSize=new Zn(220,g),this._cappedHeight=n===f?{wanted:((a=this._cappedHeight)==null?void 0:a.wanted)??e.height,capped:n}:void 0}this._resize(s,n)}_resize(e,t){const{width:i,height:n}=this.element.maxSize;e=Math.min(i,e),t=Math.min(n,t);const{statusBarHeight:s}=this.getLayoutInfo();this._list.layout(t-s,e),this._listElement.style.height=`${t-s}px`,this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var e;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,((e=this._contentWidget.getPosition())==null?void 0:e.preference[0])===2)}getLayoutInfo(){const e=this.editor.getOption(50),t=J4(this.editor.getOption(121)||e.lineHeight,8,1e3),i=!this.editor.getOption(119).showStatusBar||this._state===2||this._state===1?0:t,n=this._details.widget.borderWidth,s=2*n;return{itemHeight:t,statusBarHeight:i,borderWidth:n,borderHeight:s,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new Zn(430,i+12*t+s)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(e){this._storageService.store("expandSuggestionDocs",e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}},Hh=Fc,Fc.LOADING_MESSAGE=S("suggestWidget.loading","Loading..."),Fc.NO_SUGGESTIONS_MESSAGE=S("suggestWidget.noSuggestions","No suggestions."),Fc);zE=Hh=vH([Px(1,Gc),Px(2,Fn),Px(3,Wr),Px(4,nn)],zE);class EH{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:i,horizontalPadding:n}=this._widget.getLayoutInfo();return new Zn(t+2*i+n,e+2*i)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}}var yH=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},Dh=function(o,e){return function(t,i){e(t,i,o)}},VE;class wH{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=xn.register({description:"suggest-line-suffix",stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){const n=e.getOffsetAt(t),s=e.getPositionAt(n+1);e.changeDecorations(r=>{this._marker&&r.removeDecoration(this._marker),this._marker=r.addDecoration(Q.fromPositions(t,s),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(e=>{e.removeDecoration(this._marker),this._marker=void 0})}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){const t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}else return this._model.getLineMaxColumn(e.lineNumber)-e.column}}var cu;let Pr=(cu=class{static get(e){return e.getContribution(VE.ID)}constructor(e,t,i,n,s,r,a){this._memoryService=t,this._commandService=i,this._contextKeyService=n,this._instantiationService=s,this._logService=r,this._telemetryService=a,this._lineSuffix=new Qo,this._toDispose=new Tt,this._selectors=new SH(g=>g.priority),this._onWillInsertSuggestItem=new rn,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(pv,this.editor),this._selectors.register({priority:0,select:(g,p,C)=>this._memoryService.select(g,p,C)});const d=Ui.InsertMode.bindTo(n);d.set(e.getOption(119).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>d.set(e.getOption(119).insertMode))),this.widget=this._toDispose.add(new Jb(Id(e.getDomNode()),()=>{const g=this._instantiationService.createInstance(zE,this.editor);this._toDispose.add(g),this._toDispose.add(g.onDidSelect(w=>this._insertSuggestion(w,0),this));const p=new oH(this.editor,g,this.model,w=>this._insertSuggestion(w,2));this._toDispose.add(p);const C=Ui.MakesTextEdit.bindTo(this._contextKeyService),b=Ui.HasInsertAndReplaceRange.bindTo(this._contextKeyService),y=Ui.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(ts(()=>{C.reset(),b.reset(),y.reset()})),this._toDispose.add(g.onDidFocus(({item:w})=>{const A=this.editor.getPosition(),P=w.editStart.column,M=A.column;let R=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!w.completion.additionalTextEdits&&!(w.completion.insertTextRules&4)&&M-P===w.completion.insertText.length&&(R=this.editor.getModel().getValueInRange({startLineNumber:A.lineNumber,startColumn:P,endLineNumber:A.lineNumber,endColumn:M})!==w.completion.insertText),C.set(R),b.set(!Ai.equals(w.editInsertEnd,w.editReplaceEnd)),y.set(!!w.provider.resolveCompletionItem||!!w.completion.documentation||w.completion.detail!==w.completion.label)})),this._toDispose.add(g.onDetailsKeyDown(w=>{if(w.toKeyCodeChord().equals(new qS(!0,!1,!1,!1,33))||$a&&w.toKeyCodeChord().equals(new qS(!1,!1,!1,!0,33))){w.stopPropagation();return}w.toKeyCodeChord().isModifierKey()||this.editor.focus()})),g})),this._overtypingCapturer=this._toDispose.add(new Jb(Id(e.getDomNode()),()=>this._toDispose.add(new NE(this.editor,this.model)))),this._alternatives=this._toDispose.add(new Jb(Id(e.getDomNode()),()=>this._toDispose.add(new Q0(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(hv,e)),this._toDispose.add(this.model.onDidTrigger(g=>{this.widget.value.showTriggered(g.auto,g.shy?250:50),this._lineSuffix.value=new wH(this.editor.getModel(),g.position)})),this._toDispose.add(this.model.onDidSuggest(g=>{if(g.triggerOptions.shy)return;let p=-1;for(const b of this._selectors.itemsOrderedByPriorityDesc)if(p=b.select(this.editor.getModel(),this.editor.getPosition(),g.completionModel.items),p!==-1)break;if(p===-1&&(p=0),this.model.state===0)return;let C=!1;if(g.triggerOptions.auto){const b=this.editor.getOption(119);b.selectionMode==="never"||b.selectionMode==="always"?C=b.selectionMode==="never":b.selectionMode==="whenTriggerCharacter"?C=g.triggerOptions.triggerKind!==1:b.selectionMode==="whenQuickSuggestion"&&(C=g.triggerOptions.triggerKind===1&&!g.triggerOptions.refilter)}this.widget.value.showSuggestions(g.completionModel,p,g.isFrozen,g.triggerOptions.auto,C)})),this._toDispose.add(this.model.onDidCancel(g=>{g.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const u=Ui.AcceptSuggestionsOnEnter.bindTo(n),f=()=>{const g=this.editor.getOption(1);u.set(g==="on"||g==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>f())),f()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const i=po.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const n=this.editor.getModel(),s=n.getAlternativeVersionId(),{item:r}=e,a=[],d=new qs;t&1||this.editor.pushUndoStop();const u=this.getOverwriteInfo(r,!!(t&8));this._memoryService.memorize(n,this.editor.getPosition(),r);const f=r.isResolved;let g=-1,p=-1;if(Array.isArray(r.completion.additionalTextEdits)){this.model.cancel();const b=I0.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(y=>{let w=Q.lift(y.range);if(w.startLineNumber===r.position.lineNumber&&w.startColumn>r.position.column){const A=this.editor.getPosition().column-r.position.column,P=A,M=Q.spansMultipleLines(w)?0:A;w=new Q(w.startLineNumber,w.startColumn+P,w.endLineNumber,w.endColumn+M)}return cs.replaceMove(w,y.text)})),b.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!f){const b=new Oo;let y;const w=n.onDidChangeContent(R=>{if(R.isFlush){d.cancel(),w.dispose();return}for(const T of R.changes){const V=Q.getEndPosition(T.range);(!y||Ai.isBefore(V,y))&&(y=V)}}),A=t;t|=2;let P=!1;const M=this.editor.onWillType(()=>{M.dispose(),P=!0,A&2||this.editor.pushUndoStop()});a.push(r.resolve(d.token).then(()=>{if(!r.completion.additionalTextEdits||d.token.isCancellationRequested)return;if(y&&r.completion.additionalTextEdits.some(T=>Ai.isBefore(y,Q.getStartPosition(T.range))))return!1;P&&this.editor.pushUndoStop();const R=I0.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(T=>cs.replaceMove(Q.lift(T.range),T.text))),R.restoreRelativeVerticalPositionOfCursor(this.editor),(P||!(A&2))&&this.editor.pushUndoStop(),!0}).then(R=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",b.elapsed(),R),p=R===!0?1:R===!1?0:-2}).finally(()=>{w.dispose(),M.dispose()}))}let{insertText:C}=r.completion;if(r.completion.insertTextRules&4||(C=Nu.escape(C)),this.model.cancel(),i.insert(C,{overwriteBefore:u.overwriteBefore,overwriteAfter:u.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(r.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),t&2||this.editor.pushUndoStop(),r.completion.command)if(r.completion.command.id===xv.id)this.model.trigger({auto:!0,retrigger:!0});else{const b=new Oo;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(y=>{r.completion.extensionId?_s(y):Un(y)}).finally(()=>{g=b.elapsed()}))}t&4&&this._alternatives.value.set(e,b=>{for(d.cancel();n.canUndo();){s!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(b,3|(t&8?8:0));break}}),this._alertCompletionItem(r),Promise.all(a).finally(()=>{this._reportSuggestionAcceptedTelemetry(r,n,f,g,p,e.index,e.model.items),this.model.clear(),d.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,n,s,r,a){var p;if(Math.floor(Math.random()*100)===0)return;const d=new Map;for(let C=0;C<Math.min(30,a.length);C++){const b=a[C].textLabel;d.has(b)?d.get(b).push(C):d.set(b,[C])}const u=d.get(e.textLabel),g=u&&u.length>1?u[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:((p=e.extensionId)==null?void 0:p.value)??"unknown",providerId:e.provider._debugDisplayName??"unknown",kind:e.completion.kind,basenameHash:PA(Ua(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:eL(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:g})}getOverwriteInfo(e,t){In(this.editor.hasModel());let i=this.editor.getOption(119).insertMode==="replace";t&&(i=!i);const n=e.position.column-e.editStart.column,s=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,r=this.editor.getPosition().column-e.position.column,a=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:n+r,overwriteAfter:s+a}}_alertCompletionItem(e){if(Zo(e.completion.additionalTextEdits)){const t=S("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);Nr(t)}}triggerSuggest(e,t,i){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:i?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},n=s=>{if(s.completion.insertTextRules&4||s.completion.additionalTextEdits)return!0;const r=this.editor.getPosition(),a=s.editStart.column,d=r.column;return d-a!==s.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:r.lineNumber,startColumn:a,endLineNumber:r.lineNumber,endColumn:d})!==s.completion.insertText};Is.once(this.model.onDidTrigger)(s=>{const r=[];Is.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{co(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(co(r),a.items.length===0){i();return}const d=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),a.items),u=a.items[d];if(!n(u)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:d,item:u,model:a},7)},void 0,r)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let n=0;e&&(n|=4),t&&(n|=8),this._insertSuggestion(i,n)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}},VE=cu,cu.ID="editor.contrib.suggestController",cu);Pr=VE=yH([Dh(1,yb),Dh(2,zs),Dh(3,Fn),Dh(4,nn),Dh(5,Yu),Dh(6,ua)],Pr);class SH{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(this._items.indexOf(e)!==-1)throw new Error("Value is already registered");return this._items.push(e),this._items.sort((t,i)=>this.prioritySelector(i)-this.prioritySelector(t)),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}const a_=class a_ extends bt{constructor(){super({id:a_.id,label:S("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:$e.and(q.writable,q.hasCompletionItemProvider,Ui.Visible.toNegated()),kbOpts:{kbExpr:q.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=Pr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};a_.id="editor.action.triggerSuggest";let xv=a_;dn(Pr.ID,Pr,2);Be(xv);const Jo=190,vo=Ao.bindToContribution(Pr.get);Ii(new vo({id:"acceptSelectedSuggestion",precondition:$e.and(Ui.Visible,Ui.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:$e.and(Ui.Visible,q.textInputFocus),weight:Jo},{primary:3,kbExpr:$e.and(Ui.Visible,q.textInputFocus,Ui.AcceptSuggestionsOnEnter,Ui.MakesTextEdit),weight:Jo}],menuOpts:[{menuId:bc,title:S("accept.insert","Insert"),group:"left",order:1,when:Ui.HasInsertAndReplaceRange.toNegated()},{menuId:bc,title:S("accept.insert","Insert"),group:"left",order:1,when:$e.and(Ui.HasInsertAndReplaceRange,Ui.InsertMode.isEqualTo("insert"))},{menuId:bc,title:S("accept.replace","Replace"),group:"left",order:1,when:$e.and(Ui.HasInsertAndReplaceRange,Ui.InsertMode.isEqualTo("replace"))}]}));Ii(new vo({id:"acceptAlternativeSelectedSuggestion",precondition:$e.and(Ui.Visible,q.textInputFocus,Ui.HasFocusedSuggestion),kbOpts:{weight:Jo,kbExpr:q.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:bc,group:"left",order:2,when:$e.and(Ui.HasInsertAndReplaceRange,Ui.InsertMode.isEqualTo("insert")),title:S("accept.replace","Replace")},{menuId:bc,group:"left",order:2,when:$e.and(Ui.HasInsertAndReplaceRange,Ui.InsertMode.isEqualTo("replace")),title:S("accept.insert","Insert")}]}));Qn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");Ii(new vo({id:"hideSuggestWidget",precondition:Ui.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:Jo,kbExpr:q.textInputFocus,primary:9,secondary:[1033]}}));Ii(new vo({id:"selectNextSuggestion",precondition:$e.and(Ui.Visible,$e.or(Ui.MultipleSuggestions,Ui.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:Jo,kbExpr:q.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Ii(new vo({id:"selectNextPageSuggestion",precondition:$e.and(Ui.Visible,$e.or(Ui.MultipleSuggestions,Ui.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:Jo,kbExpr:q.textInputFocus,primary:12,secondary:[2060]}}));Ii(new vo({id:"selectLastSuggestion",precondition:$e.and(Ui.Visible,$e.or(Ui.MultipleSuggestions,Ui.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Ii(new vo({id:"selectPrevSuggestion",precondition:$e.and(Ui.Visible,$e.or(Ui.MultipleSuggestions,Ui.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:Jo,kbExpr:q.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Ii(new vo({id:"selectPrevPageSuggestion",precondition:$e.and(Ui.Visible,$e.or(Ui.MultipleSuggestions,Ui.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:Jo,kbExpr:q.textInputFocus,primary:11,secondary:[2059]}}));Ii(new vo({id:"selectFirstSuggestion",precondition:$e.and(Ui.Visible,$e.or(Ui.MultipleSuggestions,Ui.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Ii(new vo({id:"focusSuggestion",precondition:$e.and(Ui.Visible,Ui.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:Jo,kbExpr:q.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Ii(new vo({id:"focusAndAcceptSuggestion",precondition:$e.and(Ui.Visible,Ui.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Ii(new vo({id:"toggleSuggestionDetails",precondition:$e.and(Ui.Visible,Ui.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:Jo,kbExpr:q.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:bc,group:"right",order:1,when:$e.and(Ui.DetailsVisible,Ui.CanResolve),title:S("detail.more","Show Less")},{menuId:bc,group:"right",order:1,when:$e.and(Ui.DetailsVisible.toNegated(),Ui.CanResolve),title:S("detail.less","Show More")}]}));Ii(new vo({id:"toggleExplainMode",precondition:Ui.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Ii(new vo({id:"toggleSuggestionFocus",precondition:Ui.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:Jo,kbExpr:q.textInputFocus,primary:2570,mac:{primary:778}}}));Ii(new vo({id:"insertBestCompletion",precondition:$e.and(q.textInputFocus,$e.equals("config.editor.tabCompletion","on"),hv.AtEnd,Ui.Visible.toNegated(),Q0.OtherSuggestions.toNegated(),po.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(TA(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:Jo,primary:2}}));Ii(new vo({id:"insertNextSuggestion",precondition:$e.and(q.textInputFocus,$e.equals("config.editor.tabCompletion","on"),Q0.OtherSuggestions,Ui.Visible.toNegated(),po.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:Jo,kbExpr:q.textInputFocus,primary:2}}));Ii(new vo({id:"insertPrevSuggestion",precondition:$e.and(q.textInputFocus,$e.equals("config.editor.tabCompletion","on"),Q0.OtherSuggestions,Ui.Visible.toNegated(),po.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:Jo,kbExpr:q.textInputFocus,primary:1026}}));Be(class extends bt{constructor(){super({id:"editor.action.resetSuggestSize",label:S("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(o,e){var t;(t=Pr.get(e))==null||t.resetWidgetSize()}});class DH extends Nt{get selectedItem(){return this._currentSuggestItemInfo}constructor(e,t,i){super(),this.editor=e,this.suggestControllerPreselector=t,this.onWillAccept=i,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new rn),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(e.onKeyDown(s=>{s.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(s=>{s.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const n=Pr.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(a,d,u)=>{const f=this.editor.getModel();if(!f)return-1;const g=this.suggestControllerPreselector(),p=g?Wd(g,f):void 0;if(!p)return-1;const C=Ai.lift(d),b=u.map((w,A)=>{const P=pg.fromSuggestion(n,f,C,w,this.isShiftKeyPressed),M=Wd(P.toSingleTextEdit(),f),R=mB(p,M);return{index:A,valid:R,prefixLength:M.text.length,suggestItem:w}}).filter(w=>w&&w.valid&&w.prefixLength>0),y=tL(b,Ip(w=>w.prefixLength,q_));return y?y.index:-1}}));let s=!1;const r=()=>{s||(s=!0,this._register(n.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(n.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(n.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(Is.once(n.model.onDidTrigger)(a=>{r()})),this._register(n.onWillInsertSuggestItem(a=>{const d=this.editor.getPosition(),u=this.editor.getModel();if(!d||!u)return;const f=pg.fromSuggestion(n,u,d,a.item,this.isShiftKeyPressed);this.onWillAccept(f)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!AH(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=Pr.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem(),i=this.editor.getPosition(),n=this.editor.getModel();if(!(!t||!i||!n))return pg.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=Pr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=Pr.get(this.editor);e==null||e.forceRenderingAbove()}}class pg{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const u=new Nu().parse(r);u.children.length<100&&uv.adjustWhitespace(t,i,!0,u),r=u.toString(),a=!0}const d=e.getOverwriteInfo(n,s);return new pg(Q.fromPositions(i.delta(0,-d.overwriteBefore),i.delta(0,Math.max(d.overwriteAfter,0))),r,n.completion.kind,a)}constructor(e,t,i,n){this.range=e,this.insertText=t,this.completionItemKind=i,this.isSnippetText=n}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new iL(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new Dl(this.range,this.insertText)}}function AH(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var kH=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},il=function(o,e){return function(t,i){e(t,i,o)}},jE,du;let hr=(du=class extends Nt{static get(e){return e.getContribution(jE.ID)}constructor(e,t,i,n,s,r,a,d,u,f){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=n,this._commandService=s,this._debounceService=r,this._languageFeaturesService=a,this._accessibilitySignalService=d,this._keybindingService=u,this._accessibilityService=f,this._editorObs=Ia(this.editor),this._positions=Hn(this,p=>{var C;return((C=this._editorObs.selections.read(p))==null?void 0:C.map(b=>b.getEndPosition()))??[new Ai(1,1)]}),this._suggestWidgetAdaptor=this._register(new DH(this.editor,()=>{var p,C;return this._editorObs.forceUpdate(),(C=(p=this.model.get())==null?void 0:p.selectedInlineCompletion.get())==null?void 0:C.toSingleTextEdit(void 0)},p=>this._editorObs.forceUpdate(C=>{var b;(b=this.model.get())==null||b.handleSuggestAccepted(p)}))),this._suggestWidgetSelectedItem=Io(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(C=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=Io(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=Io(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=Hn(this,p=>this._enabledInConfig.read(p)&&(!this._isScreenReaderEnabled.read(p)||!this._editorDictationInProgress.read(p))),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this.model=Hc(this,p=>{if(this._editorObs.isReadonly.read(p))return;const C=this._editorObs.model.read(p);return C?this._instantiationService.createInstance(PE,C,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,Io(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),Io(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),Io(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=Hn(this,p=>{const C=this.model.read(p);return(C==null?void 0:C.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=BH(this._ghostTexts,this._store),this._ghostTextWidgets=nL(this,this._stablizedGhostTexts,(p,C)=>C.add(this._instantiationService.createInstance(LE,this.editor,{ghostText:p,minReservedLineCount:gl(0),targetTextModel:this.model.map(b=>b==null?void 0:b.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=jw(this),this._fontFamily=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new No(this._contextKeyService,this.model)),this._register(GS(this._editorObs.onDidType,(p,C)=>{var b;this._enabled.get()&&((b=this.model.get())==null||b.trigger())})),this._register(this._commandService.onDidExecuteCommand(p=>{new Set([Xx.Tab.id,Xx.DeleteLeft.id,Xx.DeleteRight.id,D5,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(b=>{var y;(y=this.model.get())==null||y.trigger(b)})})),this._register(GS(this._editorObs.selections,(p,C)=>{var b;C.some(y=>y.reason===3||y.source==="api")&&((b=this.model.get())==null||b.stop())})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||q0.dropDownVisible||Xu(p=>{var C;(C=this.model.get())==null||C.stop(p)})})),this._register(rs(p=>{var b;const C=(b=this.model.read(p))==null?void 0:b.state.read(p);C!=null&&C.suggestItem?C.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(ts(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const g=$_(this,(p,C)=>{var w;const b=this.model.read(p),y=b==null?void 0:b.state.read(p);return this._suggestWidgetSelectedItem.get()?C:(w=y==null?void 0:y.inlineCompletion)==null?void 0:w.semanticId});this._register(sL(Hn(p=>(this._playAccessibilitySignal.read(p),g.read(p),{})),async(p,C,b)=>{const y=this.model.get(),w=y==null?void 0:y.state.get();if(!w||!y)return;const A=y.textModel.getLineContent(w.primaryGhostText.lineNumber);await Y_(50,r1(b)),await oL(this._suggestWidgetSelectedItem,Vf,()=>!1,r1(b)),await this._accessibilitySignalService.playSignal(RA.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(w.primaryGhostText.renderForScreenReader(A))})),this._register(new X1(this.editor,this.model,this._instantiationService)),this._register(_O(Hn(p=>{const C=this._fontFamily.read(p);return C===""||C==="default"?"":`
43
+ .monaco-editor .ghost-text-decoration,
44
+ .monaco-editor .ghost-text-decoration-preview,
45
+ .monaco-editor .ghost-text {
46
+ font-family: ${C};
47
+ }`}))),this._register(this._configurationService.onDidChangeConfiguration(p=>{p.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})})),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAccessibilitySignal(e){this._playAccessibilitySignal.trigger(e)}_provideScreenReaderUpdate(e){const t=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),i=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let n;!t&&i&&this.editor.getOption(150)&&(n=S("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),Nr(n?e+", "+n:e)}shouldShowHoverAt(e){var i;const t=(i=this.model.get())==null?void 0:i.primaryGhostText.get();return t?t.parts.some(n=>e.containsPosition(new Ai(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},jE=du,du.ID="editor.contrib.inlineCompletionsController",du);hr=jE=kH([il(1,nn),il(2,Fn),il(3,ns),il(4,zs),il(5,fr),il(6,ki),il(7,MA),il(8,Ds),il(9,U_)],hr);function BH(o,e){const t=Xo("result",[]),i=[];return e.add(rs(n=>{const s=o.read(n);Xu(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=Xo("item",s[a]));t.set([...i],r)}i.forEach((a,d)=>a.set(s[d],r))})})),t}const l_=class l_ extends bt{constructor(){super({id:l_.ID,label:S("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:$e.and(q.writable,No.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=hr.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};l_.ID=k5;let $E=l_;const c_=class c_ extends bt{constructor(){super({id:c_.ID,label:S("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:$e.and(q.writable,No.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=hr.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};c_.ID=A5;let UE=c_;class FH extends bt{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:S("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:q.writable})}async run(e,t){const i=hr.get(t);await sk(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n)),i==null||i.playAccessibilitySignal(n)})}}class LH extends bt{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:S("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:$e.and(q.writable,No.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:$e.and(q.writable,No.inlineSuggestionVisible)},menuOpts:[{menuId:ri.InlineSuggestionToolbar,title:S("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=hr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class IH extends bt{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:S("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:$e.and(q.writable,No.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:ri.InlineSuggestionToolbar,title:S("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=hr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class PH extends bt{constructor(){super({id:D5,label:S("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:No.inlineSuggestionVisible,menuOpts:[{menuId:ri.InlineSuggestionToolbar,title:S("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:$e.and(No.inlineSuggestionVisible,q.tabMovesFocus.toNegated(),No.inlineSuggestionHasIndentationLessThanTabSize,Ui.Visible.toNegated(),q.hoverFocused.toNegated())}})}async run(e,t){var n;const i=hr.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const d_=class d_ extends bt{constructor(){super({id:d_.ID,label:S("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:No.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=hr.get(t);Xu(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};d_.ID="editor.action.inlineSuggest.hide";let qE=d_;const u_=class u_ extends Do{constructor(){super({id:u_.ID,title:S("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:ri.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:$e.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(ns),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};u_.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let GE=u_;var TH=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},Nf=function(o,e){return function(t,i){e(t,i,o)}};class MH{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let KE=class{constructor(e,t,i,n,s,r){this._editor=e,this._languageService=t,this._openerService=i,this.accessibilityService=n,this._instantiationService=s,this._telemetryService=r,this.hoverOrdinal=4}suggestHoverAnchor(e){const t=hr.get(this._editor);if(!t)return null;const i=e.target;if(i.type===8){const n=i.detail;if(t.shouldShowHoverAtViewZone(n.viewZoneId))return new om(1e3,this,Q.fromPositions(this._editor.getModel().validatePosition(n.positionBefore||n.position)),e.event.posx,e.event.posy,!1)}return i.type===7&&t.shouldShowHoverAt(i.range)?new om(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new om(1e3,this,i.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if(this._editor.getOption(62).showToolbar!=="onHover")return[];const i=hr.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new MH(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new Tt,n=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&i.add(this.renderScreenReaderText(e,n));const s=n.controller.model.get(),r=this._instantiationService.createInstance(q0,this._editor,!1,gl(null),s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.activeCommands),a=r.getDomNode();e.fragment.appendChild(a),s.triggerExplicitly(),i.add(r);const d={hoverPart:n,hoverElement:a,dispose(){i.dispose()}};return new zu([d])}renderScreenReaderText(e,t){const i=new Tt,n=gi,s=n("div.hover-row.markdown-hover"),r=li(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new cf({editor:this._editor},this._languageService,this._openerService)),d=u=>{i.add(a.onDidRenderAsync(()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}));const f=S("inlineSuggestionFollows","Suggestion:"),g=i.add(a.render(new ao().appendText(f).appendCodeblock("text",u)));r.replaceChildren(g.element)};return i.add(rs(u=>{var g;const f=(g=t.controller.model.read(u))==null?void 0:g.primaryGhostText.read(u);if(f){const p=this._editor.getModel().getLineContent(f.lineNumber);d(f.renderForScreenReader(p))}else ym(r)})),e.fragment.appendChild(s),i}};KE=TH([Nf(1,ha),Nf(2,da),Nf(3,U_),Nf(4,nn),Nf(5,ua)],KE);class RH{}const wb=new class{constructor(){this._implementations=[]}register(e){return this._implementations.push(e),{dispose:()=>{const t=this._implementations.indexOf(e);t!==-1&&this._implementations.splice(t,1)}}}getImplementations(){return this._implementations}};dn(hr.ID,hr,3);Be(FH);Be($E);Be(UE);Be(LH);Be(IH);Be(PH);Be(qE);zn(GE);th.register(KE);wb.register(new RH);var NH=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},LC=function(o,e){return function(t,i){e(t,i,o)}},Xf,Lc;let Qg=(Lc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new Tt,this.toUnhookForKeyboard=new Tt,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new xb(e);this.toUnhook.add(s),this.toUnhook.add(s.onMouseMoveOrRelevantKeyDown(([r,a])=>{this.startFindDefinitionFromMouse(r,a??void 0)})),this.toUnhook.add(s.onExecute(r=>{this.isEnabled(r)&&this.gotoDefinition(r.target.position,r.hasSideBySideModifier).catch(a=>{Un(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(Xf.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(t=>{t&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(e,t){if(e.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const i=e.target.position;this.startFindDefinition(i)}async startFindDefinition(e){var r;this.toUnhookForKeyboard.clear();const t=e?(r=this.editor.getModel())==null?void 0:r.getWordAtPosition(e):null;if(!t){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===t.startColumn&&this.currentWordAtPosition.endColumn===t.endColumn&&this.currentWordAtPosition.word===t.word)return;this.currentWordAtPosition=t;const i=new ok(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Us(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){Un(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?Q.lift(n[0].originSelectionRange):new Q(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:d}of n)d&&(a=Q.plusRange(a,d));this.addDecoration(a,new ao().appendText(S("multipleResults","Click to show {0} definitions.",n.length)))}else{const a=n[0];if(!a.uri)return;this.textModelResolverService.createModelReference(a.uri).then(d=>{if(!d.object||!d.object.textEditorModel){d.dispose();return}const{object:{textEditorModel:u}}=d,{startLineNumber:f}=a.range;if(f<1||f>u.getLineCount()){d.dispose();return}const g=this.getPreviewValue(u,f,a),p=this.languageService.guessLanguageIdByFilepathOrFirstLine(u.uri);this.addDecoration(s,g?new ao().appendCodeblock(p||"",g):void 0),d.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=Xf.MAX_SOURCE_PREVIEW_LINES&&(n=this.getPreviewRangeBasedOnIndentation(e,t)),this.stripIndentationFromPreviewRange(e,t,n)}stripIndentationFromPreviewRange(e,t,i){let s=e.getLineFirstNonWhitespaceColumn(t);for(let a=t+1;a<i.endLineNumber;a++){const d=e.getLineFirstNonWhitespaceColumn(a);s=Math.min(s,d)}return e.getValueInRange(i).replace(new RegExp(`^\\s{${s-1}}`,"gm"),"").trim()}getPreviewRangeBasedOnIndentation(e,t){const i=e.getLineFirstNonWhitespaceColumn(t),n=Math.min(e.getLineCount(),t+Xf.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new Q(t,1,s+1,1)}addDecoration(e,t){const i={range:e,options:{description:"goto-definition-link",inlineClassName:"goto-definition-link",hoverMessage:t}};this.linkDecorations.set([i])}removeLinkDecorations(){this.linkDecorations.clear()}isEnabled(e,t){var i;return this.editor.hasModel()&&e.isLeftClick&&e.isNoneOrSingleMouseDown&&e.target.type===6&&!(((i=e.target.detail.injectedText)==null?void 0:i.options)instanceof zw)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?Gp(this.languageFeaturesService.definitionProvider,i,e,!1,t):Promise.resolve(null)}gotoDefinition(e,t){return this.editor.setPosition(e),this.editor.invokeWithinContext(i=>{const n=!t&&this.editor.getOption(89)&&!this.isInPeekEditor(i);return new Zp({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(Fn);return wo.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},Xf=Lc,Lc.ID="editor.contrib.gotodefinitionatposition",Lc.MAX_SOURCE_PREVIEW_LINES=8,Lc);Qg=Xf=NH([LC(1,fa),LC(2,ha),LC(3,ki)],Qg);dn(Qg.ID,Qg,2);var _B=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},mv=function(o,e){return function(t,i){e(t,i,o)}};class ID{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let ZE=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new rn,this.onDidChange=this._onDidChange.event,this._dispoables=new Tt,this._markers=[],this._nextIdx=-1,Vn.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),s=(a,d)=>{let u=KS(a.resource.toString(),d.resource.toString());return u===0&&(n==="position"?u=Q.compareRangesUsingStarts(a,d)||uo.compare(a.severity,d.severity):u=uo.compare(a.severity,d.severity)||Q.compareRangesUsingStarts(a,d)),u},r=()=>{this._markers=this._markerService.read({resource:Vn.isUri(e)?e:void 0,severities:uo.Error|uo.Warning|uo.Info}),typeof e=="function"&&(this._markers=this._markers.filter(a=>this._resourceFilter(a.resource))),this._markers.sort(s)};r(),this._dispoables.add(t.onMarkerChanged(a=>{(!this._resourceFilter||a.some(d=>this._resourceFilter(d)))&&(r(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e?!0:!this._resourceFilter||!e?!1:this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new ID(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let n=!1,s=this._markers.findIndex(r=>r.resource.toString()===e.uri.toString());s<0&&(s=km(this._markers,{resource:e.uri},(r,a)=>KS(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=Q.lift(this._markers[r]);if(a.isEmpty()){const d=e.getWordAtPosition(a.getStartPosition());d&&(a=new Q(a.startLineNumber,d.startColumn,a.startLineNumber,d.endColumn))}if(t&&(a.containsPosition(t)||t.isBeforeOrEqual(a.getStartPosition()))){this._nextIdx=r,n=!0;break}if(this._markers[r].resource.toString()!==e.uri.toString())break}n||(this._nextIdx=i?0:this._markers.length-1),this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(e,t,i){if(this._markers.length===0)return!1;const n=this._nextIdx;return this._nextIdx===-1?this._initIdx(t,i,e):e?this._nextIdx=(this._nextIdx+1)%this._markers.length:e||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),n!==this._nextIdx}find(e,t){let i=this._markers.findIndex(n=>n.resource.toString()===e.toString());if(!(i<0)){for(;i<this._markers.length;i++)if(Q.containsPosition(this._markers[i],t))return new ID(this._markers[i],i+1,this._markers.length)}}};ZE=_B([mv(1,Pw),mv(2,ns)],ZE);const bB=Ml("IMarkerNavigationService");let XE=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new ZA}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new ZE(e,this._markerService,this._configService)}};XE=_B([mv(0,Pw),mv(1,ns)],XE);Rl(bB,XE,1);var YE;(function(o){function e(t){switch(t){case fx.Ignore:return"severity-ignore "+Tn.asClassName(Gi.info);case fx.Info:return Tn.asClassName(Gi.info);case fx.Warning:return Tn.asClassName(Gi.warning);case fx.Error:return Tn.asClassName(Gi.error);default:return""}}o.className=e})(YE||(YE={}));var OH=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},Ah=function(o,e){return function(t,i){e(t,i,o)}},QE;class HH{constructor(e,t,i,n,s){this._openerService=n,this._labelService=s,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new Tt,this._editor=t;const r=document.createElement("div");r.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),r.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),r.appendChild(this._relatedBlock),this._disposables.add(Sl(this._relatedBlock,"click",a=>{a.preventDefault();const d=this._relatedDiagnostics.get(a.target);d&&i(d)})),this._scrollable=new hL(r,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(a=>{r.style.left=`-${a.scrollLeft}px`,r.style.top=`-${a.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){co(this._disposables)}update(e){const{source:t,message:i,relatedInformation:n,code:s}=e;let r=((t==null?void 0:t.length)||0)+2;s&&(typeof s=="string"?r+=s.length:r+=s.value.length);const a=X_(i);this._lines=a.length,this._longestLineLength=0;for(const p of a)this._longestLineLength=Math.max(p.length+r,this._longestLineLength);Wa(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let d=this._messageBlock;for(const p of a)d=document.createElement("div"),d.innerText=p,p===""&&(d.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(d);if(t||s){const p=document.createElement("span");if(p.classList.add("details"),d.appendChild(p),t){const C=document.createElement("span");C.innerText=t,C.classList.add("source"),p.appendChild(C)}if(s)if(typeof s=="string"){const C=document.createElement("span");C.innerText=`(${s})`,C.classList.add("code"),p.appendChild(C)}else{this._codeLink=gi("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=b=>{this._openerService.open(s.target,{allowCommands:!0}),b.preventDefault(),b.stopPropagation()};const C=li(this._codeLink,gi("span"));C.innerText=s.value,p.appendChild(this._codeLink)}}if(Wa(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),Zo(n)){const p=this._relatedBlock.appendChild(document.createElement("div"));p.style.paddingTop=`${Math.floor(this._editor.getOption(67)*.66)}px`,this._lines+=1;for(const C of n){const b=document.createElement("div"),y=document.createElement("a");y.classList.add("filename"),y.innerText=`${this._labelService.getUriBasenameLabel(C.resource)}(${C.startLineNumber}, ${C.startColumn}): `,y.title=this._labelService.getUriLabel(C.resource),this._relatedDiagnostics.set(y,C);const w=document.createElement("span");w.innerText=C.message,b.appendChild(y),b.appendChild(w),this._lines+=1,p.appendChild(b)}}const u=this._editor.getOption(50),f=Math.ceil(u.typicalFullwidthCharacterWidth*this._longestLineLength*.75),g=u.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:f,scrollHeight:g})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case uo.Error:t=S("Error","Error");break;case uo.Warning:t=S("Warning","Warning");break;case uo.Info:t=S("Info","Info");break;case uo.Hint:t=S("Hint","Hint");break}let i=S("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const n=this._editor.getModel();return n&&e.startLineNumber<=n.getLineCount()&&e.startLineNumber>=1&&(i=`${n.getLineContent(e.startLineNumber)}, ${i}`),i}}var uu;let Jg=(uu=class extends Km{constructor(e,t,i,n,s,r,a){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},s),this._themeService=t,this._openerService=i,this._menuService=n,this._contextKeyService=r,this._labelService=a,this._callOnDispose=new Tt,this._onDidSelectRelatedInformation=new rn,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=uo.Warning,this._backgroundColor=gn.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(jH);let t=JE,i=WH;this._severity===uo.Warning?(t=cm,i=zH):this._severity===uo.Info&&(t=ey,i=VH);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(O5),secondaryHeadingColor:e.getColor(H5)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(n=>this.editor.focus()));const t=[],i=this._menuService.getMenuActions(QE.TitleMenu,this._contextKeyService);Rw(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=li(e,gi(""))}_fillBody(e){this._parentContainer=e,e.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._message=new HH(this._container,this.editor,t=>this._onDidSelectRelatedInformation.fire(t),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const n=Q.lift(e),s=this.editor.getPosition(),r=s&&n.containsPosition(s)?s:n.getStartPosition();super.show(r,this.computeRequiredHeight());const a=this.editor.getModel();if(a){const d=i>1?S("problems","{0} of {1} problems",t,i):S("change","{0} of {1} problem",t,i);this.setTitle(Ua(a.uri),d)}this._icon.className=`codicon ${YE.className(uo.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(r,0),this.editor.focus()}updateMarker(e){this._container.classList.remove("stale"),this._message.update(e)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height=`${e}px`}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}},QE=uu,uu.TitleMenu=new ri("gotoErrorTitleMenu"),uu);Jg=QE=OH([Ah(1,Wr),Ah(2,da),Ah(3,Zu),Ah(4,nn),Ah(5,Fn),Ah(6,Ig)],Jg);const PD=Uw(aL,rL),TD=Uw(cL,lL),MD=Uw(e1,dL),JE=pi("editorMarkerNavigationError.background",{dark:PD,light:PD,hcDark:wl,hcLight:wl},S("editorMarkerNavigationError","Editor marker navigation widget error color.")),WH=pi("editorMarkerNavigationError.headerBackground",{dark:za(JE,.1),light:za(JE,.1),hcDark:null,hcLight:null},S("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),cm=pi("editorMarkerNavigationWarning.background",{dark:TD,light:TD,hcDark:wl,hcLight:wl},S("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),zH=pi("editorMarkerNavigationWarning.headerBackground",{dark:za(cm,.1),light:za(cm,.1),hcDark:"#0C141F",hcLight:za(cm,.2)},S("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),ey=pi("editorMarkerNavigationInfo.background",{dark:MD,light:MD,hcDark:wl,hcLight:wl},S("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),VH=pi("editorMarkerNavigationInfo.headerBackground",{dark:za(ey,.1),light:za(ey,.1),hcDark:null,hcLight:null},S("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),jH=pi("editorMarkerNavigation.background",uL,S("editorMarkerNavigationBackground","Editor marker navigation widget background."));var $H=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},Tx=function(o,e){return function(t,i){e(t,i,o)}},Yf,hu;let $u=(hu=class{static get(e){return e.getContribution(Yf.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new Tt,this._editor=e,this._widgetVisible=CB.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(Jg,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(i=>{var n,s,r;(!((n=this._model)!=null&&n.selected)||!Q.containsPosition((s=this._model)==null?void 0:s.selected.marker,i.position))&&((r=this._model)==null||r.resetIndex())})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const i=this._model.find(this._editor.getModel().uri,this._widget.position);i?this._widget.updateMarker(i.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(i=>{this._editorService.openCodeEditor({resource:i.resource,options:{pinned:!0,revealIfOpened:!0,selection:Q.lift(i).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){const t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new Ai(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){var i,n;if(this._editor.hasModel()){const s=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(s.move(e,this._editor.getModel(),this._editor.getPosition()),!s.selected)return;if(s.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const r=await this._editorService.openCodeEditor({resource:s.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:s.selected.marker}},this._editor);r&&((i=Yf.get(r))==null||i.close(),(n=Yf.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},Yf=hu,hu.ID="editor.contrib.markerController",hu);$u=Yf=$H([Tx(1,bB),Tx(2,Fn),Tx(3,bs),Tx(4,nn)],$u);class Sb extends bt{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=$u.get(t))==null||i.nagivate(this._next,this._multiFile))}}const bd=class bd extends Sb{constructor(){super(!0,!1,{id:bd.ID,label:bd.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:578,weight:100},menuOpts:{menuId:Jg.TitleMenu,title:bd.LABEL,icon:ms("marker-navigation-next",Gi.arrowDown,S("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};bd.ID="editor.action.marker.next",bd.LABEL=S("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let vv=bd;const Cd=class Cd extends Sb{constructor(){super(!1,!1,{id:Cd.ID,label:Cd.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:1602,weight:100},menuOpts:{menuId:Jg.TitleMenu,title:Cd.LABEL,icon:ms("marker-navigation-previous",Gi.arrowUp,S("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};Cd.ID="editor.action.marker.prev",Cd.LABEL=S("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let ty=Cd;class UH extends Sb{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:S("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:66,weight:100},menuOpts:{menuId:ri.MenubarGoMenu,title:S({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class qH extends Sb{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:S("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:1090,weight:100},menuOpts:{menuId:ri.MenubarGoMenu,title:S({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}dn($u.ID,$u,4);Be(vv);Be(ty);Be(UH);Be(qH);const CB=new Cn("markersNavigationVisible",!1),GH=Ao.bindToContribution($u.get);Ii(new GH({id:"closeMarkersNavigation",precondition:CB,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:q.focus,primary:9,secondary:[1033]}}));var Kr;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(Kr||(Kr={}));class KH extends bt{constructor(){super({id:S5,label:S({key:"showOrFocusHover",comment:["Label for action that will trigger the showing/focusing of a hover in the editor.","If the hover is not visible, it will show the hover.","This allows for users to show the hover without using the mouse."]},"Show or Focus Hover"),metadata:{description:Di("showOrFocusHoverDescription","Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position."),args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[Kr.NoAutoFocus,Kr.FocusIfVisible,Kr.AutoFocusImmediately],enumDescriptions:[S("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),S("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),S("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:Kr.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=oo.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=Kr.FocusIfVisible;Object.values(Kr).includes(s)?r=s:typeof s=="boolean"&&s&&(r=Kr.AutoFocusImmediately);const a=u=>{const f=t.getPosition(),g=new Q(f.lineNumber,f.column,f.lineNumber,f.column);n.showContentHover(g,1,1,u)},d=t.getOption(2)===2;n.isHoverVisible?r!==Kr.NoAutoFocus?n.focus():a(d):a(d||r===Kr.AutoFocusImmediately)}}class ZH extends bt{constructor(){super({id:hM,label:S({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0,metadata:{description:Di("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=oo.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new Q(n.lineNumber,n.column,n.lineNumber,n.column),r=Qg.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class XH extends bt{constructor(){super({id:fM,label:S({key:"scrollUpHover",comment:["Action that allows to scroll up in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:16,weight:100},metadata:{description:Di("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=oo.get(t);i&&i.scrollUp()}}class YH extends bt{constructor(){super({id:gM,label:S({key:"scrollDownHover",comment:["Action that allows to scroll down in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:18,weight:100},metadata:{description:Di("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=oo.get(t);i&&i.scrollDown()}}class QH extends bt{constructor(){super({id:pM,label:S({key:"scrollLeftHover",comment:["Action that allows to scroll left in the hover widget with the left arrow when the hover widget is focused."]},"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:15,weight:100},metadata:{description:Di("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=oo.get(t);i&&i.scrollLeft()}}class JH extends bt{constructor(){super({id:xM,label:S({key:"scrollRightHover",comment:["Action that allows to scroll right in the hover widget with the right arrow when the hover widget is focused."]},"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:17,weight:100},metadata:{description:Di("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=oo.get(t);i&&i.scrollRight()}}class eW extends bt{constructor(){super({id:mM,label:S({key:"pageUpHover",comment:["Action that allows to page up in the hover widget with the page up command when the hover widget is focused."]},"Page Up Hover"),alias:"Page Up Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:Di("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=oo.get(t);i&&i.pageUp()}}class tW extends bt{constructor(){super({id:vM,label:S({key:"pageDownHover",comment:["Action that allows to page down in the hover widget with the page down command when the hover widget is focused."]},"Page Down Hover"),alias:"Page Down Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:Di("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=oo.get(t);i&&i.pageDown()}}class iW extends bt{constructor(){super({id:_M,label:S({key:"goToTopHover",comment:["Action that allows to go to the top of the hover widget with the home command when the hover widget is focused."]},"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:Di("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=oo.get(t);i&&i.goToTop()}}class nW extends bt{constructor(){super({id:bM,label:S({key:"goToBottomHover",comment:["Action that allows to go to the bottom in the hover widget with the end command when the hover widget is focused."]},"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:Di("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=oo.get(t);i&&i.goToBottom()}}class sW extends bt{constructor(){super({id:fb,label:CM,alias:"Increase Hover Verbosity Level",precondition:q.hoverVisible})}run(e,t,i){const n=oo.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(cr.Increase,s,i==null?void 0:i.focus)}}class oW extends bt{constructor(){super({id:gb,label:EM,alias:"Decrease Hover Verbosity Level",precondition:q.hoverVisible})}run(e,t,i){var r;const n=oo.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=oo.get(t))==null||r.updateHoverVerbosityLevel(cr.Decrease,s,i==null?void 0:i.focus)}}var rW=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},IC=function(o,e){return function(t,i){e(t,i,o)}};const vr=gi;class aW{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const RD={type:1,filter:{include:Xn.QuickFix},triggerAction:Ho.QuickFixHover};let iy=class{constructor(e,t,i,n){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=n,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,s=i.getLineMaxColumn(n),r=[];for(const a of t){const d=a.range.startLineNumber===n?a.range.startColumn:1,u=a.range.endLineNumber===n?a.range.endColumn:s,f=this._markerDecorationsService.getMarker(i.uri,a);if(!f)continue;const g=new Q(e.range.startLineNumber,d,e.range.startLineNumber,u);r.push(new aW(this,g,f))}return r}renderHoverParts(e,t){if(!t.length)return new zu([]);const i=new Tt,n=[];t.forEach(r=>{const a=this._renderMarkerHover(r);e.fragment.appendChild(a.hoverElement),n.push(a)});const s=t.length===1?t[0]:t.sort((r,a)=>uo.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new zu(n)}_renderMarkerHover(e){const t=new Tt,i=vr("div.hover-row"),n=li(i,vr("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:d}=e.marker;this._editor.applyFontInfo(n);const u=li(n,vr("span"));if(u.style.whiteSpace="pre-wrap",u.innerText=r,s||a)if(a&&typeof a!="string"){const g=vr("span");if(s){const y=li(g,vr("span"));y.innerText=s}const p=li(g,vr("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(Bn(p,"click",y=>{this._openerService.open(a.target,{allowCommands:!0}),y.preventDefault(),y.stopPropagation()}));const C=li(p,vr("span"));C.innerText=a.value;const b=li(n,g);b.style.opacity="0.6",b.style.paddingLeft="6px"}else{const g=li(n,vr("span"));g.style.opacity="0.6",g.style.paddingLeft="6px",g.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(Zo(d))for(const{message:g,resource:p,startLineNumber:C,startColumn:b}of d){const y=li(n,vr("div"));y.style.marginTop="8px";const w=li(y,vr("a"));w.innerText=`${Ua(p)}(${C}, ${b}): `,w.style.cursor="pointer",t.add(Bn(w,"click",P=>{if(P.stopPropagation(),P.preventDefault(),this._openerService){const M={selection:{startLineNumber:C,startColumn:b}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:M}).catch(Un)}}));const A=li(y,vr("span"));A.innerText=g,this._editor.applyFontInfo(A)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===uo.Error||t.marker.severity===uo.Warning||t.marker.severity===uo.Info){const n=$u.get(this._editor);n&&e.statusBar.addAction({label:S("view problem","View Problem"),commandId:vv.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(vr("div"));this.recentMarkerCodeActionsInfo&&(ZS.makeKey(this.recentMarkerCodeActionsInfo.marker)===ZS.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=S("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?Nt.None:Dg(()=>n.textContent=S("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(ts(()=>r.cancel())),r.then(a=>{if(s.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:a.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){a.dispose(),n.textContent=S("noQuickFixes","No quick fixes available");return}n.style.display="none";let d=!1;i.add(ts(()=>{d||a.dispose()})),e.statusBar.addAction({label:S("quick fixes","Quick Fix..."),commandId:b9,run:u=>{d=!0;const f=$0.get(this._editor),g=yo(u);e.hide(),f==null||f.showCodeActions(RD,a,{x:g.left,y:g.top,width:g.width,height:g.height})}})},Un)}}getCodeActions(e){return Us(t=>Uh(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new Q(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),RD,fl.None,t))}};iy=rW([IC(1,fL),IC(2,da),IC(3,ki)],iy);class lW{get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}get lane(){return this._laneOrLine}set lane(e){this._laneOrLine=e}constructor(e){this._editor=e,this._lineNumber=-1,this._laneOrLine=Cm.Center}computeSync(){var s;const e=r=>({value:r}),t=this._editor.getLineDecorations(this._lineNumber),i=[],n=this._laneOrLine==="lineNo";if(!t)return i;for(const r of t){const a=((s=r.options.glyphMargin)==null?void 0:s.position)??Cm.Center;if(!n&&a!==this._laneOrLine)continue;const d=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!d||Lg(d)||i.push(...xA(d).map(e))}return i}}var cW=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},ND=function(o,e){return function(t,i){e(t,i,o)}},ny;const OD=gi;var fu;let sy=(fu=class extends Nt{constructor(e,t,i){super(),this._renderDisposeables=this._register(new Tt),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new pA),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new cf({editor:this._editor},t,i)),this._computer=new lW(this._editor),this._hoverOperation=this._register(new B5(this._editor,this._computer)),this._register(this._hoverOperation.onResult(n=>{this._withResult(n.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(50)&&this._updateFont()})),this._register(Sl(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return ny.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(t=>this._editor.applyFontInfo(t))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}showsOrWillShow(e){const t=e.target;return t.type===2&&t.detail.glyphMarginLane?(this._startShowingAt(t.position.lineNumber,t.detail.glyphMarginLane),!0):t.type===3?(this._startShowingAt(t.position.lineNumber,"lineNo"),!0):!1}_startShowingAt(e,t){this._computer.lineNumber===e&&this._computer.lane===t||(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._computer.lane=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();const i=document.createDocumentFragment();for(const n of t){const s=OD("div.hover-row.markdown-hover"),r=li(s,OD("div.hover-contents")),a=this._renderDisposeables.add(this._markdownRenderer.render(n.value));r.appendChild(a.element),i.appendChild(s)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),n=this._editor.getScrollTop(),s=this._editor.getOption(67),r=this._hover.containerDomNode.clientHeight,a=i-n-(r-s)/2,d=t.glyphMarginLeft+t.glyphMarginWidth+(this._computer.lane==="lineNo"?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${d}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(a),0)}px`}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!pb(t,e.x,e.y))&&this.hide()}},ny=fu,fu.ID="editor.contrib.modesGlyphHoverWidget",fu);sy=ny=cW([ND(1,ha),ND(2,da)],sy);var dW=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},uW=function(o,e){return function(t,i){e(t,i,o)}},E0;let _v=(E0=class extends Nt{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Tt,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new Ps(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0,!this._isMouseOnMarginHoverWidget(e)&&this._hideWidgets()}_isMouseOnMarginHoverWidget(e){var i;const t=(i=this._glyphWidget)==null?void 0:i.getDomNode();return t?pb(t,e.event.posx,e.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._isMouseOnMarginHoverWidget(e))||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky,i=this._isMouseOnMarginHoverWidget(e);return t&&i}_onEditorMouseMove(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._mouseMoveEvent=e,this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){!e||this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateGlyphWidget().showsOrWillShow(e)}_onKeyDown(e){this._editor.hasModel()&&(e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4||this._hideWidgets())}_hideWidgets(){var e;(e=this._glyphWidget)==null||e.hide()}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=this._instantiationService.createInstance(sy,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},E0.ID="editor.contrib.marginHover",E0);_v=dW([uW(1,nn)],_v);class hW{}class fW{}class gW{}dn(oo.ID,oo,2);dn(_v.ID,_v,2);Be(KH);Be(ZH);Be(XH);Be(YH);Be(QH);Be(JH);Be(eW);Be(tW);Be(iW);Be(nW);Be(sW);Be(oW);th.register(Gg);th.register(iy);V_((o,e)=>{const t=o.getColor(gL);t&&(e.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${t.transparent(.5)}; }`))});wb.register(new hW);wb.register(new fW);wb.register(new gW);function Lo(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function xg(o,e,t){o=o<0?0:o;let i="";if(!t){const n=Math.floor(o/e);o=o%e;for(let s=0;s<n;s++)i+=" "}for(let n=0;n<o;n++)i+=" ";return i}function EB(o,e,t,i){if(o.getLineCount()===1&&o.getLineMaxColumn(1)===1)return[];const n=e.getLanguageConfiguration(o.getLanguageId()).indentRulesSupport;if(!n)return[];const s=new pL(o,n,e);for(i=Math.min(i,o.getLineCount());t<=i&&s.shouldIgnore(t);)t++;if(t>i-1)return[];const{tabSize:r,indentSize:a,insertSpaces:d}=o.getOptions(),u=(y,w)=>(w=w||1,N0.shiftIndent(y,y.length+w,r,a,d)),f=(y,w)=>(w=w||1,N0.unshiftIndent(y,y.length+w,r,a,d)),g=[],p=o.getLineContent(t);let C=eo(p),b=C;s.shouldIncrease(t)?(b=u(b),C=u(C)):s.shouldIndentNextLine(t)&&(b=u(b)),t++;for(let y=t;y<=i;y++){if(pW(o,y))continue;const w=o.getLineContent(y),A=eo(w),P=b;s.shouldDecrease(y,P)&&(b=f(b),C=f(C)),A!==b&&g.push(cs.replaceMove(new ji(y,1,y,A.length+1),xL(b,a,d))),!s.shouldIgnore(y)&&(s.shouldIncrease(y,P)?(C=u(C),b=C):s.shouldIndentNextLine(y,P)?b=u(b):b=C)}return g}function pW(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var xW=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},mW=function(o,e){return function(t,i){e(t,i,o)}};const h_=class h_ extends bt{constructor(){super({id:h_.ID,label:S("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:q.writable,metadata:{description:Di("indentationToSpacesDescription","Convert the tab indentation to spaces.")}})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),s=t.getSelection();if(!s)return;const r=new EW(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};h_.ID="editor.action.indentationToSpaces";let oy=h_;const f_=class f_ extends bt{constructor(){super({id:f_.ID,label:S("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:q.writable,metadata:{description:Di("indentationToTabsDescription","Convert the spaces indentation to tabs.")}})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),s=t.getSelection();if(!s)return;const r=new yW(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};f_.ID="editor.action.indentationToTabs";let ry=f_;class q9 extends bt{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Tl),n=e.get(mo),s=t.getModel();if(!s)return;const r=n.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget),a=s.getOptions(),d=[1,2,3,4,5,6,7,8].map(f=>({id:f.toString(),label:f.toString(),description:f===r.tabSize&&f===a.tabSize?S("configuredTabSize","Configured Tab Size"):f===r.tabSize?S("defaultTabSize","Default Tab Size"):f===a.tabSize?S("currentTabSize","Current Tab Size"):void 0})),u=Math.min(s.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(d,{placeHolder:S({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:d[u]}).then(f=>{if(f&&s&&!s.isDisposed()){const g=parseInt(f.label,10);this.displaySizeOnly?s.updateOptions({tabSize:g}):s.updateOptions({tabSize:g,indentSize:g,insertSpaces:this.insertSpaces})}})},50)}}const g_=class g_ extends q9{constructor(){super(!1,!1,{id:g_.ID,label:S("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:Di("indentUsingTabsDescription","Use indentation with tabs.")}})}};g_.ID="editor.action.indentUsingTabs";let ay=g_;const p_=class p_ extends q9{constructor(){super(!0,!1,{id:p_.ID,label:S("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:Di("indentUsingSpacesDescription","Use indentation with spaces.")}})}};p_.ID="editor.action.indentUsingSpaces";let ly=p_;const x_=class x_ extends q9{constructor(){super(!0,!0,{id:x_.ID,label:S("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:Di("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};x_.ID="editor.action.changeTabDisplaySize";let cy=x_;const m_=class m_ extends bt{constructor(){super({id:m_.ID,label:S("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:Di("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(mo),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};m_.ID="editor.action.detectIndentation";let dy=m_;class vW extends bt{constructor(){super({id:"editor.action.reindentlines",label:S("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:q.writable,metadata:{description:Di("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(Vs),n=t.getModel();if(!n)return;const s=EB(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class _W extends bt{constructor(){super({id:"editor.action.reindentselectedlines",label:S("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:q.writable,metadata:{description:Di("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(Vs),n=t.getModel();if(!n)return;const s=t.getSelections();if(s===null)return;const r=[];for(const a of s){let d=a.startLineNumber,u=a.endLineNumber;if(d!==u&&a.endColumn===1&&u--,d===1){if(d===u)continue}else d--;const f=EB(n,i,d,u);r.push(...f)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class bW{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const i of e)i.range&&typeof i.text=="string"&&this._edits.push(i)}getEditOperations(e,t){for(const n of this._edits)t.addEditOperation(Q.lift(n.range),n.text);let i=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}var y0;let bv=(y0=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new Tt,this.callOnModel=new Tt,this.callOnDispose.add(e.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(e.onDidChangeModel(()=>this.update())),this.callOnDispose.add(e.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(this.editor.getOption(12)<4||this.editor.getOption(55))&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:e})=>{this.trigger(e)}))}trigger(e){const t=this.editor.getSelections();if(t===null||t.length>1)return;const i=this.editor.getModel();if(!i||this.rangeContainsOnlyWhitespaceCharacters(i,e)||CW(i,e)||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:r,indentSize:a,insertSpaces:d}=i.getOptions(),u=[],f={shiftIndent:b=>N0.shiftIndent(b,b.length+1,r,a,d),unshiftIndent:b=>N0.unshiftIndent(b,b.length+1,r,a,d)};let g=e.startLineNumber;for(;g<=e.endLineNumber;){if(this.shouldIgnoreLine(i,g)){g++;continue}break}if(g>e.endLineNumber)return;let p=i.getLineContent(g);if(!/\S/.test(p.substring(0,e.startColumn-1))){const b=rg(s,i,i.getLanguageId(),g,f,this._languageConfigurationService);if(b!==null){const y=eo(p),w=Lo(b,r),A=Lo(y,r);if(w!==A){const P=xg(w,r,d);u.push({range:new Q(g,1,g,y.length+1),text:P}),p=P+p.substring(y.length)}else{const P=rk(i,g,this._languageConfigurationService);if(P===0||P===8)return}}}const C=g;for(;g<e.endLineNumber;){if(!/\S/.test(i.getLineContent(g+1))){g++;continue}break}if(g!==e.endLineNumber){const y=rg(s,{tokenization:{getLineTokens:w=>i.tokenization.getLineTokens(w),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(w,A)=>i.getLanguageIdAtPosition(w,A)},getLineContent:w=>w===C?p:i.getLineContent(w)},i.getLanguageId(),g+1,f,this._languageConfigurationService);if(y!==null){const w=Lo(y,r),A=Lo(eo(i.getLineContent(g+1)),r);if(w!==A){const P=w-A;for(let M=g+1;M<=e.endLineNumber;M++){const R=i.getLineContent(M),T=eo(R),H=Lo(T,r)+P,X=xg(H,r,d);X!==T&&u.push({range:new Q(M,1,M,T.length+1),text:X})}}}}if(u.length>0){this.editor.pushUndoStop();const b=new bW(u,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",b),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(e,t){const i=s=>s.trim().length===0;let n=!0;if(t.startLineNumber===t.endLineNumber){const r=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);n=i(r)}else for(let s=t.startLineNumber;s<=t.endLineNumber;s++){const r=e.getLineContent(s);if(s===t.startLineNumber){const a=r.substring(t.startColumn-1);n=i(a)}else if(s===t.endLineNumber){const a=r.substring(0,t.endColumn-1);n=i(a)}else n=e.getLineFirstNonWhitespaceColumn(s)===0;if(!n)break}return n}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(i===0)return!0;const n=e.tokenization.getLineTokens(t);if(n.getCount()>0){const s=n.findTokenIndexAtOffset(i);if(s>=0&&n.getStandardTokenType(s)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}},y0.ID="editor.contrib.autoIndentOnPaste",y0);bv=xW([mW(1,Vs)],bv);function CW(o,e){const t=i=>mL(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function yB(o,e,t,i){if(o.getLineCount()===1&&o.getLineMaxColumn(1)===1)return;let n="";for(let r=0;r<t;r++)n+=" ";const s=new RegExp(n,"gi");for(let r=1,a=o.getLineCount();r<=a;r++){let d=o.getLineFirstNonWhitespaceColumn(r);if(d===0&&(d=o.getLineMaxColumn(r)),d===1)continue;const u=new Q(r,1,r,d),f=o.getValueInRange(u),g=i?f.replace(/\t/ig,n):f.replace(s," ");e.addEditOperation(u,g)}}class EW{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),yB(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class yW{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),yB(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}dn(bv.ID,bv,2);Be(oy);Be(ry);Be(ay);Be(ly);Be(cy);Be(dy);Be(vW);Be(_W);dn(Zg.ID,Zg,1);th.register(Qm);class wW{constructor(e,t,i){this._editRange=e,this._originalSelection=t,this._text=i}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const n=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new ji(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new ji(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var SW=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},DW=function(o,e){return function(t,i){e(t,i,o)}},dm,Ic;let J0=(Ic=class{static get(e){return e.getContribution(dm.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var d;(d=this.currentRequest)==null||d.cancel();const i=this.editor.getSelection(),n=this.editor.getModel();if(!n||!i)return;let s=i;if(s.startLineNumber!==s.endLineNumber)return;const r=new ok(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=Us(u=>this.editorWorkerService.navigateValueSet(a,s,t)),this.currentRequest.then(u=>{var b;if(!u||!u.range||!u.value||!r.validate(this.editor))return;const f=Q.lift(u.range);let g=u.range;const p=u.value.length-(s.endColumn-s.startColumn);g={startLineNumber:g.startLineNumber,startColumn:g.startColumn,endLineNumber:g.endLineNumber,endColumn:g.startColumn+u.value.length},p>1&&(s=new ji(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const C=new wW(f,s,u.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,C),this.editor.pushUndoStop(),this.decorations.set([{range:g,options:dm.DECORATION}]),(b=this.decorationRemover)==null||b.cancel(),this.decorationRemover=Y_(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(Un)}).catch(Un)):Promise.resolve(void 0)}},dm=Ic,Ic.ID="editor.contrib.inPlaceReplaceController",Ic.DECORATION=xn.register({description:"in-place-replace",className:"valueSetReplacement"}),Ic);J0=dm=SW([DW(1,Nl)],J0);class AW extends bt{constructor(){super({id:"editor.action.inPlaceReplace.up",label:S("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=J0.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class kW extends bt{constructor(){super({id:"editor.action.inPlaceReplace.down",label:S("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=J0.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}dn(J0.ID,J0,4);Be(AW);Be(kW);class BW extends bt{constructor(){super({id:"expandLineSelection",label:S("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:q.textInputFocus,primary:2090}})}run(e,t,i){if(i=i||{},!t.hasModel())return;const n=t._getViewModel();n.model.pushStackElement(),n.setCursorStates(i.source,3,qw.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}Be(BW);class FW{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=LW(e,this._cursors,this._trimInRegexesAndStrings);for(let n=0,s=i.length;n<s;n++){const r=i[n];t.addEditOperation(r.range,r.text)}this._selectionId=t.trackSelection(this._selection)}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}function LW(o,e,t){e.sort((a,d)=>a.lineNumber===d.lineNumber?a.column-d.column:a.lineNumber-d.lineNumber);for(let a=e.length-2;a>=0;a--)e[a].lineNumber===e[a+1].lineNumber&&e.splice(a,1);const i=[];let n=0,s=0;const r=e.length;for(let a=1,d=o.getLineCount();a<=d;a++){const u=o.getLineContent(a),f=u.length+1;let g=0;if(s<r&&e[s].lineNumber===a&&(g=e[s].column,s++,g===f)||u.length===0)continue;const p=Yx(u);let C=0;if(p===-1)C=1;else if(p!==u.length-1)C=p+2;else continue;if(!t){if(!o.tokenization.hasAccurateTokensForLine(a))continue;const b=o.tokenization.getLineTokens(a),y=b.getStandardTokenType(b.findTokenIndexAtOffset(C));if(y===2||y===3)continue}C=Math.max(g,C),i[n++]=cs.delete(new Q(a,C,a,f))}return i}class wB{constructor(e,t,i){this._selection=e,this._isCopyingDown=t,this._noop=i||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(e,t){let i=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._endLineNumberDelta=1,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));const n=[];for(let r=i.startLineNumber;r<=i.endLineNumber;r++)n.push(e.getLineContent(r));const s=n.join(`
48
+ `);s===""&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._noop?t.addEditOperation(new Q(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
49
+ `):this._isCopyingDown?t.addEditOperation(new Q(i.startLineNumber,1,i.startLineNumber,1),s+`
50
+ `):t.addEditOperation(new Q(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),`
51
+ `+s),this._selectionId=t.trackSelection(i),this._selectionDirection=this._selection.getDirection()}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let n=i.startLineNumber,s=i.startColumn,r=i.endLineNumber,a=i.endColumn;this._startLineNumberDelta!==0&&(n=n+this._startLineNumberDelta,s=1),this._endLineNumberDelta!==0&&(r=r+this._endLineNumberDelta,a=1),i=ji.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var IW=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},PW=function(o,e){return function(t,i){e(t,i,o)}};let uy=class{constructor(e,t,i,n){this._languageConfigurationService=n,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=()=>e.getLanguageId(),n=(g,p)=>e.getLanguageIdAtPosition(g,p),s=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===s){this._selectionId=t.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let r=this._selection;r.startLineNumber<r.endLineNumber&&r.endColumn===1&&(this._moveEndPositionDown=!0,r=r.setEndPosition(r.endLineNumber-1,e.getLineMaxColumn(r.endLineNumber-1)));const{tabSize:a,indentSize:d,insertSpaces:u}=e.getOptions(),f=this.buildIndentConverter(a,d,u);if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){const g=r.startLineNumber,p=this._isMovingDown?g+1:g-1;e.getLineMaxColumn(p)===1?t.addEditOperation(new Q(1,1,1,1),null):(t.addEditOperation(new Q(g,1,g,1),e.getLineContent(p)),t.addEditOperation(new Q(p,1,p,e.getLineMaxColumn(p)),null)),r=new ji(p,1,p,1)}else{let g,p;if(this._isMovingDown){g=r.endLineNumber+1,p=e.getLineContent(g),t.addEditOperation(new Q(g-1,e.getLineMaxColumn(g-1),g,e.getLineMaxColumn(g)),null);let C=p;if(this.shouldAutoIndent(e,r)){const b=this.matchEnterRule(e,f,a,g,r.startLineNumber-1);if(b!==null){const w=eo(e.getLineContent(g)),A=b+Lo(w,a);C=xg(A,a,u)+this.trimStart(p)}else{const w={tokenization:{getLineTokens:P=>P===r.startLineNumber?e.tokenization.getLineTokens(g):e.tokenization.getLineTokens(P),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:P=>P===r.startLineNumber?e.getLineContent(g):e.getLineContent(P)},A=rg(this._autoIndent,w,e.getLanguageIdAtPosition(g,1),r.startLineNumber,f,this._languageConfigurationService);if(A!==null){const P=eo(e.getLineContent(g)),M=Lo(A,a),R=Lo(P,a);M!==R&&(C=xg(M,a,u)+this.trimStart(p))}}t.addEditOperation(new Q(r.startLineNumber,1,r.startLineNumber,1),C+`
52
+ `);const y=this.matchEnterRuleMovingDown(e,f,a,r.startLineNumber,g,C);if(y!==null)y!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,y);else{const w={tokenization:{getLineTokens:P=>P===r.startLineNumber?e.tokenization.getLineTokens(g):P>=r.startLineNumber+1&&P<=r.endLineNumber+1?e.tokenization.getLineTokens(P-1):e.tokenization.getLineTokens(P),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:P=>P===r.startLineNumber?C:P>=r.startLineNumber+1&&P<=r.endLineNumber+1?e.getLineContent(P-1):e.getLineContent(P)},A=rg(this._autoIndent,w,e.getLanguageIdAtPosition(g,1),r.startLineNumber+1,f,this._languageConfigurationService);if(A!==null){const P=eo(e.getLineContent(r.startLineNumber)),M=Lo(A,a),R=Lo(P,a);if(M!==R){const T=M-R;this.getIndentEditsOfMovingBlock(e,t,r,a,u,T)}}}}else t.addEditOperation(new Q(r.startLineNumber,1,r.startLineNumber,1),C+`
53
+ `)}else if(g=r.startLineNumber-1,p=e.getLineContent(g),t.addEditOperation(new Q(g,1,g+1,1),null),t.addEditOperation(new Q(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
54
+ `+p),this.shouldAutoIndent(e,r)){const C={tokenization:{getLineTokens:y=>y===g?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(y),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:y=>y===g?e.getLineContent(r.startLineNumber):e.getLineContent(y)},b=this.matchEnterRule(e,f,a,r.startLineNumber,r.startLineNumber-2);if(b!==null)b!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,b);else{const y=rg(this._autoIndent,C,e.getLanguageIdAtPosition(r.startLineNumber,1),g,f,this._languageConfigurationService);if(y!==null){const w=eo(e.getLineContent(r.startLineNumber)),A=Lo(y,a),P=Lo(w,a);if(A!==P){const M=A-P;this.getIndentEditsOfMovingBlock(e,t,r,a,u,M)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>N0.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>N0.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===gx.None||s.indentAction===gx.Indent?r=s.indentation+s.appendText:s.indentAction===gx.IndentOutdent?r=s.indentation:s.indentAction===gx.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const d=eo(e.getLineContent(n));let u=eo(r);const f=rk(e,n,this._languageConfigurationService);f!==null&&f&2&&(u=t.unshiftIndent(u));const g=Lo(u,i),p=Lo(d,i);return g-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(Yx(r)>=0){const a=e.getLineMaxColumn(s),d=eC(this._autoIndent,e,new Q(s,a,s,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,d)}else{let a=n-1;for(;a>=1;){const f=e.getLineContent(a);if(Yx(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const d=e.getLineMaxColumn(a),u=eC(this._autoIndent,e,new Q(a,d,a,d),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,u)}}matchEnterRule(e,t,i,n,s,r){let a=s;for(;a>=1;){let f;if(a===s&&r!==void 0?f=r:f=e.getLineContent(a),Yx(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const d=e.getLineMaxColumn(a),u=eC(this._autoIndent,e,new Q(a,d,a,d),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,u)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1),n=e.getLanguageIdAtPosition(t.endLineNumber,1);return!(i!==n||this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport===null)}getIndentEditsOfMovingBlock(e,t,i,n,s,r){for(let a=i.startLineNumber;a<=i.endLineNumber;a++){const d=e.getLineContent(a),u=eo(d),g=Lo(u,n)+r,p=xg(g,n,s);p!==u&&(t.addEditOperation(new Q(a,1,a,u.length+1),p),a===i.endLineNumber&&i.endColumn<=u.length+1&&p===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber<i.endLineNumber&&(i=i.setEndPosition(i.endLineNumber,2)),i}};uy=IW([PW(3,Vs)],uy);const i0=class i0{static getCollator(){return i0._COLLATOR||(i0._COLLATOR=new Intl.Collator),i0._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=TW(e,this.selection,this.descending);i&&t.addEditOperation(i.range,i.text),this.selectionId=t.trackSelection(this.selection)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}static canRun(e,t,i){if(e===null)return!1;const n=SB(e,t,i);if(!n)return!1;for(let s=0,r=n.before.length;s<r;s++)if(n.before[s]!==n.after[s])return!0;return!1}};i0._COLLATOR=null;let ep=i0;function SB(o,e,t){const i=e.startLineNumber;let n=e.endLineNumber;if(e.endColumn===1&&n--,i>=n)return null;const s=[];for(let a=i;a<=n;a++)s.push(o.getLineContent(a));let r=s.slice(0);return r.sort(ep.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function TW(o,e,t){const i=SB(o,e,t);return i?cs.replace(new Q(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
55
+ `)):null}class DB extends bt{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map((r,a)=>({selection:r,index:a,ignore:!1}));i.sort((r,a)=>Q.compareRangesUsingStarts(r.selection,a.selection));let n=i[0];for(let r=1;r<i.length;r++){const a=i[r];n.selection.endLineNumber===a.selection.startLineNumber&&(n.index<a.index?a.ignore=!0:(n.ignore=!0,n=a))}const s=[];for(const r of i)s.push(new wB(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class MW extends DB{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:S("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:ri.MenubarSelectionMenu,group:"2_line",title:S({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class RW extends DB{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:S("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:ri.MenubarSelectionMenu,group:"2_line",title:S({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class NW extends bt{constructor(){super({id:"editor.action.duplicateSelection",label:S("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:q.writable,menuOpts:{menuId:ri.MenubarSelectionMenu,group:"2_line",title:S({key:"miDuplicateSelection",comment:["&& denotes a mnemonic"]},"&&Duplicate Selection"),order:5}})}run(e,t,i){if(!t.hasModel())return;const n=[],s=t.getSelections(),r=t.getModel();for(const a of s)if(a.isEmpty())n.push(new wB(a,!0));else{const d=new ji(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new vL(d,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class AB extends bt{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(Vs),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new uy(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class OW extends AB{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:S("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:ri.MenubarSelectionMenu,group:"2_line",title:S({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class HW extends AB{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:S("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:ri.MenubarSelectionMenu,group:"2_line",title:S({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class kB extends bt{constructor(e,t){super(t),this.descending=e}run(e,t){if(!t.hasModel())return;const i=t.getModel();let n=t.getSelections();n.length===1&&n[0].isEmpty()&&(n=[new ji(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!ep.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new ep(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class WW extends kB{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:S("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:q.writable})}}class zW extends kB{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:S("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:q.writable})}}class VW extends bt{constructor(){super({id:"editor.action.removeDuplicateLines",label:S("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:q.writable})}run(e,t){if(!t.hasModel())return;const i=t.getModel();if(i.getLineCount()===1&&i.getLineMaxColumn(1)===1)return;const n=[],s=[];let r=0,a=!0,d=t.getSelections();d.length===1&&d[0].isEmpty()&&(d=[new ji(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(const u of d){const f=new Set,g=[];for(let y=u.startLineNumber;y<=u.endLineNumber;y++){const w=i.getLineContent(y);f.has(w)||(g.push(w),f.add(w))}const p=new ji(u.startLineNumber,1,u.endLineNumber,i.getLineMaxColumn(u.endLineNumber)),C=u.startLineNumber-r,b=new ji(C,1,C+g.length-1,g[g.length-1].length);n.push(cs.replace(p,g.join(`
56
+ `))),s.push(b),r+=u.endLineNumber-u.startLineNumber+1-g.length}t.pushUndoStop(),t.executeEdits(this.id,n,a?s:void 0),t.pushUndoStop()}}const v_=class v_ extends bt{constructor(){super({id:v_.ID,label:S("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(f=>new Ai(f.positionLineNumber,f.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(ns),a=t.getModel(),d=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),u=new FW(s,n,d);t.pushUndoStop(),t.executeCommands(this.id,[u]),t.pushUndoStop()}};v_.ID="editor.action.trimTrailingWhitespace";let hy=v_;class jW extends bt{constructor(){super({id:"editor.action.deleteLines",label:S("lines.delete","Delete Line"),alias:"Delete Line",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),n=t.getModel();if(n.getLineCount()===1&&n.getLineMaxColumn(1)===1)return;let s=0;const r=[],a=[];for(let d=0,u=i.length;d<u;d++){const f=i[d];let g=f.startLineNumber,p=f.endLineNumber,C=1,b=n.getLineMaxColumn(p);p<n.getLineCount()?(p+=1,b=1):g>1&&(g-=1,C=n.getLineMaxColumn(g)),r.push(cs.replace(new ji(g,C,p,b),"")),a.push(new ji(g-s,f.positionColumn,g-s,f.positionColumn)),s+=f.endLineNumber-f.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,r,a),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map(s=>{let r=s.endLineNumber;return s.startLineNumber<s.endLineNumber&&s.endColumn===1&&(r-=1),{startLineNumber:s.startLineNumber,selectionStartColumn:s.selectionStartColumn,endLineNumber:r,positionColumn:s.positionColumn}});t.sort((s,r)=>s.startLineNumber===r.startLineNumber?s.endLineNumber-r.endLineNumber:s.startLineNumber-r.startLineNumber);const i=[];let n=t[0];for(let s=1;s<t.length;s++)n.endLineNumber+1>=t[s].startLineNumber?n.endLineNumber=t[s].endLineNumber:(i.push(n),n=t[s]);return i.push(n),i}}class $W extends bt{constructor(){super({id:"editor.action.indentLines",label:S("lines.indent","Indent Line"),alias:"Indent Line",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,_L.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class UW extends bt{constructor(){super({id:"editor.action.outdentLines",label:S("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2140,weight:100}})}run(e,t){Xx.Outdent.runEditorCommand(e,t,null)}}class qW extends bt{constructor(){super({id:"editor.action.insertLineBefore",label:S("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,ak.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class GW extends bt{constructor(){super({id:"editor.action.insertLineAfter",label:S("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,ak.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class BB extends bt{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),s=[];for(let d=0,u=n.length-1;d<u;d++){const f=n[d],g=n[d+1];Q.intersectRanges(f,g)===null?s.push(f):n[d+1]=Q.plusRange(f,g)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(d=>cs.replace(d,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class KW extends BB{constructor(){super({id:"deleteAllLeft",label:S("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];let s=0;return t.forEach(r=>{let a;if(r.endColumn===1&&s>0){const d=r.startLineNumber-s;a=new ji(d,r.startColumn,d,r.startColumn)}else a=new ji(r.startLineNumber,r.startColumn,r.startLineNumber,r.startColumn);s+=r.endLineNumber-r.startLineNumber,r.intersectRanges(e)?i=a:n.push(a)}),i&&n.unshift(i),n}_getRangesToDelete(e){const t=e.getSelections();if(t===null)return[];let i=t;const n=e.getModel();return n===null?[]:(i.sort(Q.compareRangesUsingStarts),i=i.map(s=>{if(s.isEmpty())if(s.startColumn===1){const r=Math.max(1,s.startLineNumber-1),a=s.startLineNumber===1?1:n.getLineLength(r)+1;return new Q(r,a,s.startLineNumber,1)}else return new Q(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new Q(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class ZW extends BB{constructor(){super({id:"deleteAllRight",label:S("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];for(let s=0,r=t.length,a=0;s<r;s++){const d=t[s],u=new ji(d.startLineNumber-a,d.startColumn,d.startLineNumber-a,d.startColumn);d.intersectRanges(e)?i=u:n.push(u)}return i&&n.unshift(i),n}_getRangesToDelete(e){const t=e.getModel();if(t===null)return[];const i=e.getSelections();if(i===null)return[];const n=i.map(s=>{if(s.isEmpty()){const r=t.getLineMaxColumn(s.startLineNumber);return s.startColumn===r?new Q(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new Q(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(Q.compareRangesUsingStarts),n}}class XW extends bt{constructor(){super({id:"editor.action.joinLines",label:S("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const i=t.getSelections();if(i===null)return;let n=t.getSelection();if(n===null)return;i.sort(Q.compareRangesUsingStarts);const s=[],r=i.reduce((p,C)=>p.isEmpty()?p.endLineNumber===C.startLineNumber?(n.equalsSelection(p)&&(n=C),C):C.startLineNumber>p.endLineNumber+1?(s.push(p),C):new ji(p.startLineNumber,p.startColumn,C.endLineNumber,C.endColumn):C.startLineNumber>p.endLineNumber?(s.push(p),C):new ji(p.startLineNumber,p.startColumn,C.endLineNumber,C.endColumn));s.push(r);const a=t.getModel();if(a===null)return;const d=[],u=[];let f=n,g=0;for(let p=0,C=s.length;p<C;p++){const b=s[p],y=b.startLineNumber,w=1;let A=0,P,M;const R=a.getLineLength(b.endLineNumber)-b.endColumn;if(b.isEmpty()||b.startLineNumber===b.endLineNumber){const H=b.getStartPosition();H.lineNumber<a.getLineCount()?(P=y+1,M=a.getLineMaxColumn(P)):(P=H.lineNumber,M=a.getLineMaxColumn(H.lineNumber))}else P=b.endLineNumber,M=a.getLineMaxColumn(P);let T=a.getLineContent(y);for(let H=y+1;H<=P;H++){const X=a.getLineContent(H),se=a.getLineFirstNonWhitespaceColumn(H);if(se>=1){let he=!0;T===""&&(he=!1),he&&(T.charAt(T.length-1)===" "||T.charAt(T.length-1)===" ")&&(he=!1,T=T.replace(/[\s\uFEFF\xA0]+$/g," "));const J=X.substr(se-1);T+=(he?" ":"")+J,he?A=J.length+1:A=J.length}else A=0}const V=new Q(y,w,P,M);if(!V.isEmpty()){let H;b.isEmpty()?(d.push(cs.replace(V,T)),H=new ji(V.startLineNumber-g,T.length-A+1,y-g,T.length-A+1)):b.startLineNumber===b.endLineNumber?(d.push(cs.replace(V,T)),H=new ji(b.startLineNumber-g,b.startColumn,b.endLineNumber-g,b.endColumn)):(d.push(cs.replace(V,T)),H=new ji(b.startLineNumber-g,b.startColumn,b.startLineNumber-g,T.length-R)),Q.intersectRanges(V,n)!==null?f=H:u.push(H)}g+=V.endLineNumber-V.startLineNumber}u.unshift(f),t.pushUndoStop(),t.executeEdits(this.id,d,u),t.pushUndoStop()}}class YW extends bt{constructor(){super({id:"editor.action.transpose",label:S("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:q.writable})}run(e,t){const i=t.getSelections();if(i===null)return;const n=t.getModel();if(n===null)return;const s=[];for(let r=0,a=i.length;r<a;r++){const d=i[r];if(!d.isEmpty())continue;const u=d.getStartPosition(),f=n.getLineMaxColumn(u.lineNumber);if(u.column>=f){if(u.lineNumber===n.getLineCount())continue;const g=new Q(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new Ep(new ji(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p))}else{const g=new Q(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new SA(g,p,new ji(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class sh extends bt{run(e,t){const i=t.getSelections();if(i===null)return;const n=t.getModel();if(n===null)return;const s=t.getOption(132),r=[];for(const a of i)if(a.isEmpty()){const d=a.getStartPosition(),u=t.getConfiguredWordAtPosition(d);if(!u)continue;const f=new Q(d.lineNumber,u.startColumn,d.lineNumber,u.endColumn),g=n.getValueInRange(f);r.push(cs.replace(f,this._modifyText(g,s)))}else{const d=n.getValueInRange(a);r.push(cs.replace(a,this._modifyText(d,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class QW extends sh{constructor(){super({id:"editor.action.transformToUppercase",label:S("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:q.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class JW extends sh{constructor(){super({id:"editor.action.transformToLowercase",label:S("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:q.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class El{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch{}}return this._actual}isSupported(){return this.get()!==null}}const __=class __ extends sh{constructor(){super({id:"editor.action.transformToTitlecase",label:S("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:q.writable})}_modifyText(e,t){const i=__.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};__.titleBoundary=new El("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let Cv=__;const n0=class n0 extends sh{constructor(){super({id:"editor.action.transformToSnakecase",label:S("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:q.writable})}_modifyText(e,t){const i=n0.caseBoundary.get(),n=n0.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};n0.caseBoundary=new El("(\\p{Ll})(\\p{Lu})","gmu"),n0.singleLetters=new El("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let mg=n0;const b_=class b_ extends sh{constructor(){super({id:"editor.action.transformToCamelcase",label:S("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:q.writable})}_modifyText(e,t){const i=b_.wordBoundary.get();if(!i)return e;const n=e.split(i);return n.shift()+n.map(r=>r.substring(0,1).toLocaleUpperCase()+r.substring(1)).join("")}};b_.wordBoundary=new El("[_\\s-]","gm");let Ev=b_;const s0=class s0 extends sh{constructor(){super({id:"editor.action.transformToPascalcase",label:S("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:q.writable})}_modifyText(e,t){const i=s0.wordBoundary.get(),n=s0.wordBoundaryToMaintain.get();return!i||!n?e:e.split(n).map(a=>a.split(i)).flat().map(a=>a.substring(0,1).toLocaleUpperCase()+a.substring(1)).join("")}};s0.wordBoundary=new El("[_\\s-]","gm"),s0.wordBoundaryToMaintain=new El("(?<=\\.)","gm");let yv=s0;const sc=class sc extends sh{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:S("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:q.writable})}_modifyText(e,t){const i=sc.caseBoundary.get(),n=sc.singleLetters.get(),s=sc.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};sc.caseBoundary=new El("(\\p{Ll})(\\p{Lu})","gmu"),sc.singleLetters=new El("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),sc.underscoreBoundary=new El("(\\S)(_)(\\S)","gm");let wv=sc;Be(MW);Be(RW);Be(NW);Be(OW);Be(HW);Be(WW);Be(zW);Be(VW);Be(hy);Be(jW);Be($W);Be(UW);Be(qW);Be(GW);Be(KW);Be(ZW);Be(XW);Be(YW);Be(QW);Be(JW);mg.caseBoundary.isSupported()&&mg.singleLetters.isSupported()&&Be(mg);Ev.wordBoundary.isSupported()&&Be(Ev);yv.wordBoundary.isSupported()&&Be(yv);Cv.titleBoundary.isSupported()&&Be(Cv);wv.isSupported()&&Be(wv);var ez=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},Mx=function(o,e){return function(t,i){e(t,i,o)}},um;const FB=new Cn("LinkedEditingInputVisible",!1),tz="linked-editing-decoration";var Pc;let ef=(Pc=class extends Nt{static get(e){return e.getContribution(um.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new Tt),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=FB.bindTo(t),this._debounceInformation=s.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new Tt),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(r=>{(r.hasChanged(70)||r.hasChanged(94))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(e){const t=this._editor.getModel(),i=t!==null&&(this._editor.getOption(70)||this._editor.getOption(94))&&this._providers.has(t);if(i===this._enabled&&!e||(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||t===null))return;this._localToDispose.add(Is.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new Oc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new Oc(0),a=d=>{this._rangeSyncTriggerPromise=r.trigger(()=>this._syncRanges(d))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{s()})),this._localToDispose.add(this._editor.onDidChangeModelContent(d=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const u=this._currentDecorations.getRange(0);if(u&&d.changes.every(f=>u.intersectRanges(f.range))){a(this._syncRangesToken);return}}s()})),this._localToDispose.add({dispose:()=>{n.dispose(),r.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||this._currentDecorations.length===0)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const n=t.getValueInRange(i);if(this._currentWordPattern){const r=n.match(this._currentWordPattern);if((r?r[0].length:0)!==n.length)return this.clearRanges()}const s=[];for(let r=1,a=this._currentDecorations.length;r<a;r++){const d=this._currentDecorations.getRange(r);if(d)if(d.startLineNumber!==d.endLineNumber)s.push({range:d,text:n});else{let u=t.getValueInRange(d),f=n,g=d.startColumn,p=d.endColumn;const C=Tp(u,f);g+=C,u=u.substr(C),f=f.substr(C);const b=bL(u,f);p-=b,u=u.substr(0,u.length-b),f=f.substr(0,f.length-b),(g!==p||f.length!==0)&&s.push({range:new Q(d.startLineNumber,g,d.endLineNumber,p),text:f})}}if(s.length!==0)try{this._editor.popUndoStop(),this._ignoreChangeEvent=!0;const r=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits("linkedEditing",s),this._editor._getViewModel().setPrevEditOperationType(r)}finally{this._ignoreChangeEvent=!1}}dispose(){this.clearRanges(),super.dispose()}clearRanges(){this._visibleContextKey.set(!1),this._currentDecorations.clear(),this._currentRequestCts&&(this._currentRequestCts.cancel(),this._currentRequestCts=null,this._currentRequestPosition=null)}async updateRanges(e=!1){if(!this._editor.hasModel()){this.clearRanges();return}const t=this._editor.getPosition();if(!this._enabled&&!e||this._editor.getSelections().length>1){this.clearRanges();return}const i=this._editor.getModel(),n=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===n){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const r=this._currentDecorations.getRange(0);if(r&&r.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=n;const s=this._currentRequestCts=new qs;try{const r=new Oo(!1),a=await LB(this._providers,i,t,s.token);if(this._debounceInformation.update(i,r.elapsed()),s!==this._currentRequestCts||(this._currentRequestCts=null,n!==i.getVersionId()))return;let d=[];a!=null&&a.ranges&&(d=a.ranges),this._currentWordPattern=(a==null?void 0:a.wordPattern)||this._languageWordPattern;let u=!1;for(let g=0,p=d.length;g<p;g++)if(Q.containsPosition(d[g],t)){if(u=!0,g!==0){const C=d[g];d.splice(g,1),d.unshift(C)}break}if(!u){this.clearRanges();return}const f=d.map(g=>({range:g,options:um.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(f),this._syncRangesToken++}catch(r){qc(r)||Un(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},um=Pc,Pc.ID="editor.contrib.linkedEditing",Pc.DECORATION=xn.register({description:"linked-editing",stickiness:0,className:tz}),Pc);ef=um=ez([Mx(1,Fn),Mx(2,ki),Mx(3,Vs),Mx(4,fr)],ef);class iz extends bt{constructor(){super({id:"editor.action.linkedEditing",label:S("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:$e.and(q.writable,q.hasRenameProvider),kbOpts:{kbExpr:q.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(bs),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return Vn.isUri(n)&&Ai.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(s),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},Un):super.runCommand(e,t)}run(e,t){const i=ef.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const nz=Ao.bindToContribution(ef.get);Ii(new nz({id:"cancelLinkedEditingInput",precondition:FB,handler:o=>o.clearRanges(),kbOpts:{kbExpr:q.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function LB(o,e,t,i){const n=o.ordered(e);return Gw(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){_s(r);return}}),s=>!!s&&Zo(s==null?void 0:s.ranges))}pi("editor.linkedEditingBackground",{dark:gn.fromHex("#f00").transparent(.3),light:gn.fromHex("#f00").transparent(.3),hcDark:gn.fromHex("#f00").transparent(.3),hcLight:gn.white},S("editorLinkedEditingBackground","Background color when the editor auto renames on type."));ko("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(ki);return LB(i,e,t,an.None)});dn(ef.ID,ef,1);Be(iz);let sz=class{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(e){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,e)).then(t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))}};class Sv{constructor(e){this._disposables=new Tt;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new sz(r,n));t=Sv._union(t,s),qA(i)&&this._disposables.add(i)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const i=[];let n,s,r,a;for(n=0,r=0,s=e.length,a=t.length;n<s&&r<a;){const d=e[n],u=t[r];if(Q.areIntersectingOrTouching(d.range,u.range)){n++;continue}Q.compareRangesUsingStarts(d.range,u.range)<0?(i.push(d),n++):(i.push(u),r++)}for(;n<s;n++)i.push(e[n]);for(;r<a;r++)i.push(t[r]);return i}}function IB(o,e,t){const i=[],n=o.ordered(e).reverse().map((s,r)=>Promise.resolve(s.provideLinks(e,t)).then(a=>{a&&(i[r]=[a,s])},_s));return Promise.all(n).then(()=>{const s=new Sv(yl(i));return t.isCancellationRequested?(s.dispose(),new Sv([])):s})}Qn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;In(t instanceof Vn),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(ki),s=o.get(mo).getModel(t);if(!s)return[];const r=await IB(n,s,an.None);if(!r)return[];for(let d=0;d<Math.min(i,r.links.length);d++)await r.links[d].resolve(an.None);const a=r.links.slice(0);return r.dispose(),a});var oz=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},Rx=function(o,e){return function(t,i){e(t,i,o)}},fy,gu;let tp=(gu=class extends Nt{static get(e){return e.getContribution(fy.ID)}constructor(e,t,i,n,s){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=n,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=s.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new Ps(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new xb(e));this._register(r.onMouseMoveOrRelevantKeyDown(([a,d])=>{this._onEditorMouseMove(a,d)})),this._register(r.onExecute(a=>{this.onEditorMouseUp(a)})),this._register(r.onCancel(a=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(a=>{a.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(a=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(a=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(a=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(a=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(71))return;const e=this.editor.getModel();if(!e.isTooLargeForSyncing()&&this.providers.has(e)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=Us(t=>IB(this.providers,e,t));try{const t=new Oo(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){Un(t)}finally{this.computePromise=null}}}updateDecorations(e){const t=this.editor.getOption(78)==="altKey",i=[],n=Object.keys(this.currentOccurrences);for(const r of n){const a=this.currentOccurrences[r];i.push(a.decorationId)}const s=[];if(e)for(const r of e)s.push(l0.decoration(r,t));this.editor.changeDecorations(r=>{const a=r.deltaDecorations(i,s);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let d=0,u=a.length;d<u;d++){const f=new l0(e[d],a[d]);this.currentOccurrences[f.decorationId]=f}})}_onEditorMouseMove(e,t){const i=this.editor.getOption(78)==="altKey";if(this.isEnabled(e,t)){this.cleanUpActiveLinkDecoration();const n=this.getLinkOccurrence(e.target.position);n&&this.editor.changeDecorations(s=>{n.activate(s,i),this.activeLinkDecorationId=n.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e=this.editor.getOption(78)==="altKey";if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(i=>{t.deactivate(i,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:n}=e;n.resolve(an.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===bo.file&&s.startsWith(`${bo.file}:`)){const a=Vn.parse(s);if(a.scheme===bo.file){const d=CL(a);let u=null;d.startsWith("/./")||d.startsWith("\\.\\")?u=`.${d.substr(1)}`:(d.startsWith("//./")||d.startsWith("\\\\.\\"))&&(u=`.${d.substr(2)}`),u&&(s=EL(r,u))}}}return this.openerService.open(s,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},s=>{const r=s instanceof Error?s.message:s;r==="invalid"?this.notificationService.warn(S("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):r==="missing"?this.notificationService.warn(S("missing.url","Failed to open this link because its target is missing.")):Un(s)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const i of t){const n=this.currentOccurrences[i.id];if(n)return n}return null}isEnabled(e,t){return!!(e.target.type===6&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&((e=this.activeLinksList)==null||e.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}},fy=gu,gu.ID="editor.linkDetector",gu);tp=fy=oz([Rx(1,da),Rx(2,xo),Rx(3,ki),Rx(4,fr)],tp);const HD={general:xn.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:xn.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class l0{static decoration(e,t){return{range:e.range,options:l0._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?HD.active:HD.general};return n.hoverMessage=rz(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,l0._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,l0._getOptions(this.link,t,!1))}}function rz(o,e){const t=o.url&&/^command:/i.test(o.url.toString()),i=o.tooltip?o.tooltip:t?S("links.navigate.executeCmd","Execute command"):S("links.navigate.follow","Follow link"),n=e?$a?S("links.navigate.kb.meta.mac","cmd + click"):S("links.navigate.kb.meta","ctrl + click"):$a?S("links.navigate.kb.alt.mac","option + click"):S("links.navigate.kb.alt","alt + click");if(o.url){let s="";if(/^command:/i.test(o.url.toString())){const a=o.url.toString().match(/^command:([^?#]+)/);if(a){const d=a[1];s=S("tooltip.explanation","Execute command {0}",d)}}return new ao("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new ao().appendText(`${i} (${n})`)}class az extends bt{constructor(){super({id:"editor.action.openLink",label:S("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=tp.get(t);if(!i||!t.hasModel())return;const n=t.getSelections();for(const s of n){const r=i.getLinkOccurrence(s.getEndPosition());r&&i.openLinkOccurrence(r,!1)}}}dn(tp.ID,tp,1);Be(az);const CS=class CS extends Nt{constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown(t=>{const i=this._editor.getOption(118);i>=0&&t.target.type===6&&t.target.position.column>=i&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}};CS.ID="editor.contrib.longLinesHelper";let Dv=CS;dn(Dv.ID,Dv,2);const lz=pi("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},S("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);pi("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},S("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0);pi("editor.wordHighlightTextBackground",lz,S("wordHighlightText","Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const cz=pi("editor.wordHighlightBorder",{light:null,dark:null,hcDark:Bu,hcLight:Bu},S("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));pi("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:Bu,hcLight:Bu},S("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));pi("editor.wordHighlightTextBorder",cz,S("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const dz=pi("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",S("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),uz=pi("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",S("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),hz=pi("editorOverviewRuler.wordHighlightTextForeground",lk,S("overviewRulerWordHighlightTextForeground","Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),fz=xn.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:Bs(uz),position:Ha.Center},minimap:{color:Bs(Q_),position:1}}),gz=xn.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:Bs(hz),position:Ha.Center},minimap:{color:Bs(Q_),position:1}}),pz=xn.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:Bs(lk),position:Ha.Center},minimap:{color:Bs(Q_),position:1}}),xz=xn.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),mz=xn.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:Bs(dz),position:Ha.Center},minimap:{color:Bs(Q_),position:1}});function vz(o){return o===Fm.Write?fz:o===Fm.Text?gz:mz}function _z(o){return o?xz:pz}V_((o,e)=>{const t=o.getColor(yL);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var bz=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},Cz=function(o,e){return function(t,i){e(t,i,o)}},gy;function Kc(o,e){const t=e.filter(i=>!o.find(n=>n.equals(i)));if(t.length>=1){const i=t.map(s=>`line ${s.viewState.position.lineNumber} column ${s.viewState.position.column}`).join(", "),n=t.length===1?S("cursorAdded","Cursor added: {0}",i):S("cursorsAdded","Cursors added: {0}",i);L0(n)}}class Ez extends bt{constructor(){super({id:"editor.action.insertCursorAbove",label:S("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:ri.MenubarSelectionMenu,group:"3_multi",title:S({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})}run(e,t,i){if(!t.hasModel())return;let n=!0;i&&i.logicalLine===!1&&(n=!1);const s=t._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const r=s.getCursorStates();s.setCursorStates(i.source,3,qw.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Kc(r,s.getCursorStates())}}class yz extends bt{constructor(){super({id:"editor.action.insertCursorBelow",label:S("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:ri.MenubarSelectionMenu,group:"3_multi",title:S({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})}run(e,t,i){if(!t.hasModel())return;let n=!0;i&&i.logicalLine===!1&&(n=!1);const s=t._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const r=s.getCursorStates();s.setCursorStates(i.source,3,qw.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Kc(r,s.getCursorStates())}}class wz extends bt{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:S("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:ri.MenubarSelectionMenu,group:"3_multi",title:S({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,i){if(!e.isEmpty()){for(let n=e.startLineNumber;n<e.endLineNumber;n++){const s=t.getLineMaxColumn(n);i.push(new ji(n,s,n,s))}e.endColumn>1&&i.push(new ji(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=t.getSelections(),s=t._getViewModel(),r=s.getCursorStates(),a=[];n.forEach(d=>this.getCursorsForSelection(d,i,a)),a.length>0&&t.setSelections(a),Kc(r,s.getCursorStates())}}class Sz extends bt{constructor(){super({id:"editor.action.addCursorsToBottom",label:S("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=t.getModel().getLineCount(),s=[];for(let d=i[0].startLineNumber;d<=n;d++)s.push(new ji(d,i[0].startColumn,d,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),Kc(a,r.getCursorStates())}}class Dz extends bt{constructor(){super({id:"editor.action.addCursorsToTop",label:S("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=[];for(let a=i[0].startLineNumber;a>=1;a--)n.push(new ji(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),Kc(r,s.getCursorStates())}}class Nx{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class ip{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new ip(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let n=!1,s,r;const a=e.getSelections();a.length===1&&a[0].isEmpty()?(n=!0,s=!0,r=!0):(s=i.wholeWord,r=i.matchCase);const d=e.getSelection();let u,f=null;if(d.isEmpty()){const g=e.getConfiguredWordAtPosition(d.getStartPosition());if(!g)return null;u=g.word,f=new ji(d.startLineNumber,g.startColumn,d.startLineNumber,g.endColumn)}else u=e.getModel().getValueInRange(d).replace(/\r\n/g,`
57
+ `);return new ip(e,t,n,u,s,r,f)}constructor(e,t,i,n,s,r,a){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=n,this.wholeWord=s,this.matchCase=r,this.currentMatch=a}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new Nx(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new Nx(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const n=this.currentMatch;return this.currentMatch=null,n}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new ji(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new Nx(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new Nx(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const n=this.currentMatch;return this.currentMatch=null,n}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new ji(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824)}}const C_=class C_ extends Nt{static get(e){return e.getContribution(C_.ID)}constructor(e){super(),this._sessionDispose=this._register(new Tt),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=ip.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(n=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(n=>{(n.matchCase||n.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new ji(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const n=e.getState().matchCase;if(!PB(this._editor.getModel(),t,n)){const r=this._editor.getModel(),a=[];for(let d=0,u=t.length;d<u;d++)a[d]=this._expandEmptyToWord(r,t[d]);this._editor.setSelections(a);return}}}this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(e){if(!this._editor.hasModel())return;let t=null;const i=e.getState();if(i.isRevealed&&i.searchString.length>0&&i.isRegex){const n=this._editor.getModel();i.searchScope?t=n.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824):t=n.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const n=this._editor.getSelection();for(let s=0,r=t.length;s<r;s++){const a=t[s];if(a.range.intersectRanges(n)){t[s]=t[0],t[0]=a;break}}this._setSelections(t.map(s=>new ji(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};C_.ID="editor.contrib.multiCursorController";let tf=C_;class xf extends bt{run(e,t){const i=tf.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=So.get(t);if(r)this._run(i,r);else{const a=e.get(nn).createInstance(So,t);this._run(i,a),a.dispose()}Kc(s,n.getCursorStates())}}}class Az extends xf{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:S("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:2082,weight:100},menuOpts:{menuId:ri.MenubarSelectionMenu,group:"3_multi",title:S({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class kz extends xf{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:S("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:ri.MenubarSelectionMenu,group:"3_multi",title:S({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class Bz extends xf{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:S("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:Ss(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class Fz extends xf{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:S("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}}class Lz extends xf{constructor(){super({id:"editor.action.selectHighlights",label:S("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:3114,weight:100},menuOpts:{menuId:ri.MenubarSelectionMenu,group:"3_multi",title:S({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class Iz extends xf{constructor(){super({id:"editor.action.changeAll",label:S("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:$e.and(q.writable,q.editorTextFocus),kbOpts:{kbExpr:q.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class Pz{constructor(e,t,i,n,s){this._model=e,this._searchText=t,this._matchCase=i,this._wordSeparators=n,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,s&&this._model===s._model&&this._searchText===s._searchText&&this._matchCase===s._matchCase&&this._wordSeparators===s._wordSeparators&&this._modelVersionId===s._modelVersionId&&(this._cachedFindMatches=s._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(e=>e.range),this._cachedFindMatches.sort(Q.compareRangesUsingStarts)),this._cachedFindMatches}}var pu;let Av=(pu=class extends Nt{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new Ps(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(n=>{this._isEnabled=e.getOption(109)})),this._register(e.onDidChangeCursorSelection(n=>{this._isEnabled&&(n.selection.isEmpty()?n.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(n=>{this._setState(null)})),this._register(e.onDidChangeModelContent(n=>{this._isEnabled&&this.updateSoon.schedule()}));const i=So.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(gy._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,i){if(!t||!i.hasModel())return null;const n=i.getSelection();if(n.startLineNumber!==n.endLineNumber)return null;const s=tf.get(i);if(!s)return null;const r=So.get(i);if(!r)return null;let a=s.getSession(r);if(!a){const f=i.getSelections();if(f.length>1){const p=r.getState().matchCase;if(!PB(i.getModel(),f,p))return null}a=ip.create(i,r)}if(!a||a.currentMatch||/^[ \t]+$/.test(a.searchText)||a.searchText.length>200)return null;const d=r.getState(),u=d.matchCase;if(d.isRevealed){let f=d.searchString;u||(f=f.toLowerCase());let g=a.searchText;if(u||(g=g.toLowerCase()),f===g&&a.matchCase===d.matchCase&&a.wholeWord===d.wholeWord&&!d.isRegex)return null}return new Pz(i.getModel(),a.searchText,a.matchCase,a.wholeWord?i.getOption(132):null,e)}_setState(e){if(this.state=e,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const i=this.state.findMatches(),n=this.editor.getSelections();n.sort(Q.compareRangesUsingStarts);const s=[];for(let u=0,f=0,g=i.length,p=n.length;u<g;){const C=i[u];if(f>=p)s.push(C),u++;else{const b=Q.compareRangesUsingStarts(C,n[f]);b<0?((n[f].isEmpty()||!Q.areIntersecting(C,n[f]))&&s.push(C),u++):(b>0||u++,f++)}}const r=this.editor.getOption(81)!=="off",a=this._languageFeaturesService.documentHighlightProvider.has(t)&&r,d=s.map(u=>({range:u,options:_z(a)}));this._decorations.set(d)}dispose(){this._setState(null),super.dispose()}},gy=pu,pu.ID="editor.contrib.selectionHighlighter",pu);Av=gy=bz([Cz(1,ki)],Av);function PB(o,e,t){const i=WD(o,e[0],!t);for(let n=1,s=e.length;n<s;n++){const r=e[n];if(r.isEmpty())return!1;const a=WD(o,r,!t);if(i!==a)return!1}return!0}function WD(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class Tz extends bt{constructor(){super({id:"editor.action.focusNextCursor",label:S("mutlicursor.focusNextCursor","Focus Next Cursor"),metadata:{description:S("mutlicursor.focusNextCursor.description","Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=Array.from(n.getCursorStates()),r=s.shift();r&&(s.push(r),n.setCursorStates(i.source,3,s),n.revealPrimaryCursor(i.source,!0),Kc(s,n.getCursorStates()))}}class Mz extends bt{constructor(){super({id:"editor.action.focusPreviousCursor",label:S("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),metadata:{description:S("mutlicursor.focusPreviousCursor.description","Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=Array.from(n.getCursorStates()),r=s.pop();r&&(s.unshift(r),n.setCursorStates(i.source,3,s),n.revealPrimaryCursor(i.source,!0),Kc(s,n.getCursorStates()))}}dn(tf.ID,tf,4);dn(Av.ID,Av,1);Be(Ez);Be(yz);Be(wz);Be(Az);Be(kz);Be(Bz);Be(Fz);Be(Lz);Be(Iz);Be(Sz);Be(Dz);Be(Tz);Be(Mz);const Rz="editor.action.inlineEdit.accept",Nz="editor.action.inlineEdit.reject",Oz="editor.action.inlineEdit.jumpTo",Hz="editor.action.inlineEdit.jumpBack";var Wz=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},zz=function(o,e){return function(t,i){e(t,i,o)}};const PC="inline-edit";let py=class extends Nt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Xo(this,!1),this.currentTextModel=Io(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Hn(this,n=>{var P;if(this.isDisposed.read(n))return;const s=this.currentTextModel.read(n);if(s!==this.model.targetTextModel.read(n))return;const r=this.model.ghostText.read(n);if(!r)return;let a=(P=this.model.range)==null?void 0:P.read(n);a&&a.startLineNumber===a.endLineNumber&&a.startColumn===a.endColumn&&(a=void 0);const d=(a?a.startLineNumber===a.endLineNumber:!0)&&r.parts.length===1&&r.parts[0].lines.length===1,u=r.parts.length===1&&r.parts[0].lines.every(M=>M.length===0),f=[],g=[];function p(M,R){if(g.length>0){const T=g[g.length-1];R&&T.decorations.push(new Rg(T.content.length+1,T.content.length+1+M[0].length,R,0)),T.content+=M[0],M=M.slice(1)}for(const T of M)g.push({content:T,decorations:R?[new Rg(1,T.length+1,R,0)]:[]})}const C=s.getLineContent(r.lineNumber);let b,y=0;if(!u&&(d||!a)){for(const M of r.parts){let R=M.lines;a&&!d&&(p(R,PC),R=[]),b===void 0?(f.push({column:M.column,text:R[0],preview:M.preview}),R=R.slice(1)):p([C.substring(y,M.column-1)],void 0),R.length>0&&(p(R,PC),b===void 0&&M.column<=C.length&&(b=M.column)),y=M.column-1}b!==void 0&&p([C.substring(y)],void 0)}const w=b!==void 0?new gB(b,C.length+1):void 0,A=d||!a?r.lineNumber:a.endLineNumber-1;return{inlineTexts:f,additionalLines:g,hiddenRange:w,lineNumber:A,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s,range:a,isSingleLine:d,isPureRemove:u}}),this.decorations=Hn(this,n=>{const s=this.uiState.read(n);if(!s)return[];const r=[];if(s.hiddenRange&&r.push({range:s.hiddenRange.toRange(s.lineNumber),options:{inlineClassName:"inline-edit-hidden",description:"inline-edit-hidden"}}),s.range){const a=[];if(s.isSingleLine)a.push(s.range);else if(!s.isPureRemove){const d=s.range.endLineNumber-s.range.startLineNumber;for(let u=0;u<d;u++){const f=s.range.startLineNumber+u,g=s.targetTextModel.getLineFirstNonWhitespaceColumn(f),p=s.targetTextModel.getLineLastNonWhitespaceColumn(f),C=new Q(f,g,f,p);a.push(C)}}for(const d of a)r.push({range:d,options:Kw})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new Q(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:Zw})}for(const a of s.inlineTexts)r.push({range:Q.fromPositions(new Ai(s.lineNumber,a.column)),options:{description:PC,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:Vh.Left},showIfCollapsed:!0}});return r}),this._register(ts(()=>{this.isDisposed.set(!0,void 0)})),this._register(pB(this.editor,this.decorations))}};py=Wz([zz(2,ha)],py);var G9=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},Fa=function(o,e){return function(t,i){e(t,i,o)}},hm;let xy=class extends Nt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=Hn(this,n=>{var d,u;const s=(d=this.model.read(n))==null?void 0:d.model.ghostText.read(n);if(!this.alwaysShowToolbar.read(n)||!s||s.parts.length===0)return this.sessionPosition=void 0,null;const r=s.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==s.lineNumber&&(this.sessionPosition=void 0);const a=new Ai(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Bp((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(my,this.editor,!0,this.position));e.addContentWidget(a),s.add(ts(()=>e.removeContentWidget(a)))}))}};xy=G9([Fa(2,nn)],xy);var Tc;let my=(Tc=class extends Nt{constructor(e,t,i,n,s,r){super(),this.editor=e,this.withBorder=t,this._position=i,this._contextKeyService=s,this._menuService=r,this.id=`InlineEditHintsContentWidget${hm.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Fr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[Fr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(ri.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(vy,this.nodes.toolBar,this.editor,ri.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,d)=>{if(a instanceof M0)return n.createInstance(Vz,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{hm._dropDownVisible=a})),this._register(rs(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(rs(a=>{const d=[];for(const[u,f]of this.inlineCompletionsActionsMenus.getActions())for(const g of f)g instanceof M0&&d.push(g);d.length>0&&d.unshift(new Fg),this.toolBar.setAdditionalSecondaryActions(d)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},hm=Tc,Tc._dropDownVisible=!1,Tc.id=0,Tc);my=hm=G9([Fa(3,nn),Fa(4,Fn),Fa(5,Zu)],my);class Vz extends uA{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Fr("div.keybinding").root;this._register(new Bw(t,Fw,{disableTitle:!0,...hA})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let vy=class extends fA{constructor(e,t,i,n,s,r,a,d,u,f){super(e,{resetMenu:i,...n},s,r,a,d,u,f),this.editor=t,this.menuId=i,this.options2=n,this.menuService=s,this.contextKeyService=r,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this._store.add(this.editor.onDidChangeCursorPosition(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,n,s,r,a,d,u;const e=[],t=[];Rw(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(s=(n=this.options2)==null?void 0:n.toolbarOptions)==null?void 0:s.primaryGroup,(a=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:a.shouldInlineSubmenu,(u=(d=this.options2)==null?void 0:d.toolbarOptions)==null?void 0:u.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){ja(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};vy=G9([Fa(4,Zu),Fa(5,Fn),Fa(6,of),Fa(7,Ds),Fa(8,zs),Fa(9,ua)],vy);var TB=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},fm=function(o,e){return function(t,i){e(t,i,o)}},Qf,_y;function*jz(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function TC(o){var i;const e=((i=o[0].match(/^\s*/))==null?void 0:i[0])??"",t=e.length;return{text:o.map(n=>n.replace(new RegExp("^"+e),"")),shift:t}}var xu;let by=(xu=class extends Nt{static _createUniqueUri(){return Vn.from({scheme:"inline-edit-widget",path:new Date().toString()+String(Qf._modelId++)})}constructor(e,t,i,n,s){super(),this._editor=e,this._model=t,this._instantiationService=i,this._diffProviderFactoryService=n,this._modelService=s,this._position=Hn(this,r=>{const a=this._model.read(r);if(!a||a.text.length===0||a.range.startLineNumber===a.range.endLineNumber&&!(a.range.startColumn===a.range.endColumn&&a.range.startColumn===1))return null;const d=this._editor.getModel();if(!d)return null;const u=Array.from(jz(a.range.startLineNumber,a.range.endLineNumber+1)),f=u.map(y=>d.getLineLastNonWhitespaceColumn(y)),g=Math.max(...f),p=u[f.indexOf(g)],C=new Ai(p,g);return{top:a.range.startLineNumber,left:C}}),this._text=Hn(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const d=TC(a.text.split(`
58
+ `));return{text:d.text.join(`
59
+ `),shift:d.shift}}),this._originalModel=Hc(()=>this._modelService.createModel("",null,Qf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Hc(()=>this._modelService.createModel("",null,Qf._createUniqueUri())).keepObserved(this._store),this._diff=Hn(this,r=>{var a,d;return(d=(a=this._diffPromise.read(r))==null?void 0:a.promiseResult.read(r))==null?void 0:d.data}),this._diffPromise=Hn(this,r=>{const a=this._model.read(r);if(!a)return;const d=this._editor.getModel();if(!d)return;const u=TC(d.getValueInRange(a.range).split(`
60
+ `)).text.join(`
61
+ `),f=TC(a.text.split(`
62
+ `)).text.join(`
63
+ `);this._originalModel.get().setValue(u),this._modifiedModel.get().setValue(f);const g=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return ck.fromFn(async()=>{const p=await g.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},an.None);if(!p.identical)return p.changes})}),this._register(Bp((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const u=a.add(this._instantiationService.createInstance(Cy,this._editor,this._position,this._text.map(f=>f.text),this._text.map(f=>f.shift),this._diff));e.addOverlayWidget(u),a.add(ts(()=>e.removeOverlayWidget(u)))}))}},Qf=xu,xu._modelId=0,xu);by=Qf=TB([fm(2,nn),fm(3,Xw),fm(4,mo)],by);var mu;let Cy=(mu=class extends Nt{constructor(e,t,i,n,s,r){var a;super(),this._editor=e,this._position=t,this._text=i,this._shift=n,this._diff=s,this._instantiationService=r,this.id=`InlineEditSideBySideContentWidget${_y.id++}`,this.allowEditorOverflow=!1,this._nodes=gi("div.inlineEditSideBySide",void 0),this._scrollChanged=Pd("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(Hr,this._nodes,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,scrollbar:{vertical:"hidden",horizontal:"hidden",alwaysConsumeMouseWheel:!1,handleMouseWheel:!1},readOnly:!0,wordWrap:"off",wordWrapOverride1:"off",wordWrapOverride2:"off",wrappingIndent:"none",wrappingStrategy:void 0},{contributions:[],isSimpleWidget:!0},this._editor)),this._previewEditorObs=Ia(this._previewEditor),this._editorObs=Ia(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(dc,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??Tg,dc.DEFAULT_CREATION_OPTIONS,null)),this._setText=Hn(d=>{const u=this._text.read(d);u&&this._previewTextModel.setValue(u)}).recomputeInitiallyAndOnChange(this._store),this._decorations=Hn(this,d=>{this._setText.read(d);const u=this._position.read(d);if(!u)return{org:[],mod:[]};const f=this._diff.read(d);if(!f)return{org:[],mod:[]};const g=[],p=[];if(f.length===1&&f[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const C=this._shift.get(),b=y=>new Q(y.startLineNumber+u.top-1,y.startColumn+C,y.endLineNumber+u.top-1,y.endColumn+C);for(const y of f)if(y.original.isEmpty||g.push({range:b(y.original.toInclusiveRange()),options:Zw}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:dk}),y.modified.isEmpty||y.original.isEmpty)y.original.isEmpty||g.push({range:b(y.original.toInclusiveRange()),options:uk}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:hk});else for(const w of y.innerChanges||[])y.original.contains(w.originalRange.startLineNumber)&&g.push({range:b(w.originalRange),options:w.originalRange.isEmpty()?fk:Kw}),y.modified.contains(w.modifiedRange.startLineNumber)&&p.push({range:w.modifiedRange,options:w.modifiedRange.isEmpty()?gk:pk});return{org:g,mod:p}}),this._originalDecorations=Hn(this,d=>this._decorations.read(d).org),this._modifiedDecorations=Hn(this,d=>this._decorations.read(d).mod),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register(rs(d=>{const u=this._previewEditorObs.contentWidth.read(d),f=this._text.read(d).split(`
64
+ `).length-1,g=this._editor.getOption(67)*f;u<=0||this._previewEditor.layout({height:g,width:u})})),this._register(rs(d=>{this._position.read(d),this._editor.layoutOverlayWidget(this)})),this._register(rs(d=>{this._scrollChanged.read(d),this._position.read(d)&&this._editor.layoutOverlayWidget(this)}))}getId(){return this.id}getDomNode(){return this._nodes}getPosition(){const e=this._position.get();if(!e)return null;const t=this._editor.getLayoutInfo(),i=this._editor.getScrolledVisiblePosition(new Ai(e.top,1));if(!i)return null;const n=i.top-1,s=this._editor.getOffsetForColumn(e.left.lineNumber,e.left.column);return{preference:{left:t.contentLeft+s+10,top:n}}}},_y=mu,mu.id=0,mu);Cy=_y=TB([fm(5,nn)],Cy);var $z=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},fd=function(o,e){return function(t,i){e(t,i,o)}},Jf,lr;let ho=(lr=class extends Nt{static get(e){return e.getContribution(Jf.ID)}constructor(e,t,i,n,s,r,a,d){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=n,this._commandService=s,this._configurationService=r,this._diffProviderFactoryService=a,this._modelService=d,this._isVisibleContext=Jf.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=Jf.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=Xo(this,void 0),this._currentWidget=Hc(this._currentEdit,b=>{const y=this._currentEdit.read(b);if(!y)return;const w=y.range.endLineNumber,A=y.range.endColumn,P=y.text.endsWith(`
65
+ `)&&!(y.range.startLineNumber===y.range.endLineNumber&&y.range.startColumn===y.range.endColumn)?y.text.slice(0,-1):y.text,M=new Xg(w,[new rv(A,P,!1)]),R=y.range.startLineNumber===y.range.endLineNumber&&M.parts.length===1&&M.parts[0].lines.length===1,T=y.text==="";return!R&&!T?void 0:this.instantiationService.createInstance(py,this.editor,{ghostText:gl(M),minReservedLineCount:gl(0),targetTextModel:gl(this.editor.getModel()??void 0),range:gl(y.range)})}),this._isAccepting=Xo(this,!1),this._enabled=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const u=Pd("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(rs(b=>{this._enabled.read(b)&&(u.read(b),!this._isAccepting.read(b)&&this.getInlineEdit(e,!0))}));const f=Io(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(rs(b=>{if(!this._enabled.read(b))return;const y=f.read(b);y&&this.checkCursorPosition(y)})),this._register(rs(b=>{const y=this._currentEdit.read(b);if(this._isCursorAtInlineEditContext.set(!1),!y){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const w=e.getPosition();w&&this.checkCursorPosition(w)}));const g=Pd("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(rs(async b=>{var y;this._enabled.read(b)&&(g.read(b),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((y=this._currentRequestCts)==null||y.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const p=Pd("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(rs(b=>{this._enabled.read(b)&&(p.read(b),this.getInlineEdit(e,!0))}));const C=this._register(OA());this._register(rs(b=>{const y=this._fontFamily.read(b);C.setStyle(y===""||y==="default"?"":`
66
+ .monaco-editor .inline-edit-decoration,
67
+ .monaco-editor .inline-edit-decoration-preview,
68
+ .monaco-editor .inline-edit {
69
+ font-family: ${y};
70
+ }`)})),this._register(new xy(this.editor,this._currentWidget,this.instantiationService)),this._register(new by(this.editor,this._currentEdit,this.instantiationService,this._diffProviderFactoryService,this._modelService))}checkCursorPosition(e){if(!this._currentEdit){this._isCursorAtInlineEditContext.set(!1);return}const t=this._currentEdit.get();if(!t){this._isCursorAtInlineEditContext.set(!1);return}this._isCursorAtInlineEditContext.set(Q.containsPosition(t.range,e))}validateInlineEdit(e,t){var i;if(t.text.includes(`
71
+ `)&&t.range.startLineNumber!==t.range.endLineNumber&&t.range.startColumn!==t.range.endColumn){if(t.range.startColumn!==1)return!1;const s=t.range.endLineNumber,r=t.range.endColumn,a=((i=e.getModel())==null?void 0:i.getLineLength(s))??0;if(r!==a+1)return!1}return!0}async fetchInlineEdit(e,t){this._currentRequestCts&&this._currentRequestCts.dispose(!0);const i=e.getModel();if(!i)return;const n=i.getVersionId(),s=this.languageFeaturesService.inlineEditProvider.all(i);if(s.length===0)return;const r=s[0];this._currentRequestCts=new qs;const a=this._currentRequestCts.token,d=t?XS.Automatic:XS.Invoke;if(t&&await Uz(50,a),a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)return;const f=await r.provideInlineEdit(i,{triggerKind:d},a);if(f&&!(a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)&&this.validateInlineEdit(e,f))return f}async getInlineEdit(e,t){this._isCursorAtInlineEditContext.set(!1),await this.clear();const i=await this.fetchInlineEdit(e,t);i&&this._currentEdit.set(i,void 0)}async trigger(){await this.getInlineEdit(this.editor,!1)}async jumpBack(){this._jumpBackPosition&&(this.editor.setPosition(this._jumpBackPosition),this.editor.revealPositionInCenterIfOutsideViewport(this._jumpBackPosition))}async accept(){this._isAccepting.set(!0,void 0);const e=this._currentEdit.get();if(!e)return;let t=e.text;e.text.startsWith(`
72
+ `)&&(t=e.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[cs.replace(Q.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,_s),this.freeEdit(e),Xu(i=>{this._currentEdit.set(void 0,i),this._isAccepting.set(!1,i)})}jumpToCurrent(){var i;this._jumpBackPosition=(i=this.editor.getSelection())==null?void 0:i.getStartPosition();const e=this._currentEdit.get();if(!e)return;const t=Ai.lift({lineNumber:e.range.startLineNumber,column:e.range.startColumn});this.editor.setPosition(t),this.editor.revealPositionInCenterIfOutsideViewport(t)}async clear(e=!0){const t=this._currentEdit.get();t&&(t!=null&&t.rejected)&&e&&await this._commandService.executeCommand(t.rejected.id,...t.rejected.arguments||[]).then(void 0,_s),t&&this.freeEdit(t),this._currentEdit.set(void 0,void 0)}freeEdit(e){const t=this.editor.getModel();if(!t)return;const i=this.languageFeaturesService.inlineEditProvider.all(t);i.length!==0&&i[0].freeInlineEdit(e)}},Jf=lr,lr.ID="editor.contrib.inlineEditController",lr.inlineEditVisibleKey="inlineEditVisible",lr.inlineEditVisibleContext=new Cn(lr.inlineEditVisibleKey,!1),lr.cursorAtInlineEditKey="cursorAtInlineEdit",lr.cursorAtInlineEditContext=new Cn(lr.cursorAtInlineEditKey,!1),lr);ho=Jf=$z([fd(1,nn),fd(2,Fn),fd(3,ki),fd(4,zs),fd(5,ns),fd(6,Xw),fd(7,mo)],ho);function Uz(o,e){return new Promise(t=>{let i;const n=setTimeout(()=>{i&&i.dispose(),t()},o);e&&(i=e.onCancellationRequested(()=>{clearTimeout(n),i&&i.dispose(),t()}))})}let qz=class extends bt{constructor(){super({id:Rz,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:$e.and(q.writable,ho.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:$e.and(q.writable,ho.inlineEditVisibleContext,ho.cursorAtInlineEditContext)}],menuOpts:[{menuId:ri.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=ho.get(t);await(i==null?void 0:i.accept())}};class Gz extends bt{constructor(){const e=$e.and(q.writable,$e.not(ho.inlineEditVisibleKey));super({id:"editor.action.inlineEdit.trigger",label:"Trigger Inline Edit",alias:"Trigger Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e}})}async run(e,t){const i=ho.get(t);i==null||i.trigger()}}class Kz extends bt{constructor(){const e=$e.and(q.writable,ho.inlineEditVisibleContext,$e.not(ho.cursorAtInlineEditKey));super({id:Oz,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:ri.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=ho.get(t);i==null||i.jumpToCurrent()}}class Zz extends bt{constructor(){const e=$e.and(q.writable,ho.cursorAtInlineEditContext);super({id:Hz,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:ri.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=ho.get(t);i==null||i.jumpBack()}}class Xz extends bt{constructor(){const e=$e.and(q.writable,ho.inlineEditVisibleContext);super({id:Nz,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:ri.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=ho.get(t);await(i==null?void 0:i.clear())}}Be(qz);Be(Xz);Be(Kz);Be(Zz);Be(Gz);dn(ho.ID,ho,3);const Yz="editor.action.inlineEdits.accept",Qz="editor.action.inlineEdits.showPrevious",Jz="editor.action.inlineEdits.showNext",nf=new Cn("inlineEditsVisible",!1,S("inlineEditsVisible","Whether an inline edit is visible")),eV=new Cn("inlineEditsIsPinned",!1,S("isPinned","Whether an inline edit is visible")),ES=class ES extends Nt{constructor(e){super(),this._editor=e,this._editorObs=Ia(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=ul({owner:this,equalsFn:xk},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=tV(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=gA((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=Fr("div.editorPlaceholder");i.add(rs(s=>{const r=this._state.read(s),a=(r==null?void 0:r.placeholder)!==void 0;n.root.style.display=a?"block":"none",n.root.innerText=(r==null?void 0:r.placeholder)??""})),i.add(rs(s=>{const r=this._editorObs.layoutInfo.read(s);n.root.style.left=`${r.contentLeft}px`,n.root.style.width=r.contentWidth-r.verticalScrollbarWidth+"px",n.root.style.top=`${this._editor.getTopForLineNumber(0)}px`})),i.add(rs(s=>{n.root.style.fontFamily=this._editorObs.getOption(49).read(s),n.root.style.fontSize=this._editorObs.getOption(52).read(s)+"px",n.root.style.lineHeight=this._editorObs.getOption(67).read(s)+"px"})),i.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:gl(0),position:gl(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};ES.ID="editor.contrib.placeholderText";let np=ES;function tV(o,e){return $_(o,(t,i)=>i===!0?!0:e(t))}var iV=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},nV=function(o,e){return function(t,i){e(t,i,o)}};class sV{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let Ey=class extends Nt{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=Ia(this._editor),this._elements=Fr("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[Fr("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[Fr("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),Fr("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),Fr("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),mh("svg",{style:{overflow:"visible",pointerEvents:"none"}},[mh("defs",[mh("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[mh("stop",{offset:"0%",class:"gradient-stop"}),mh("stop",{offset:"100%",class:"gradient-stop"})])]),mh("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(dc,"",Tg,dc.DEFAULT_CREATION_OPTIONS,null)),this._setText=Hn(r=>{const a=this._edit.read(r);a&&this._previewTextModel.setValue(a.newLines.join(`
73
+ `))}).recomputeInitiallyAndOnChange(this._store),this._promptTextModel=this._register(this._instantiationService.createInstance(dc,"",Tg,dc.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(Hr,this._elements.promptEditor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,placeholder:"Describe the change you want...",fontFamily:wL},{contributions:SL.getSomeEditorContributions([Pr.ID,np.ID,K0.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(Hr,this._elements.editor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0},{contributions:[]},this._editor)),this._previewEditorObs=Ia(this._previewEditor),this._decorations=Hn(this,r=>{var f;this._setText.read(r);const a=(f=this._edit.read(r))==null?void 0:f.changes;if(!a)return[];const d=[],u=[];if(a.length===1&&a[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const g of a)if(g.original.isEmpty||d.push({range:g.original.toInclusiveRange(),options:Zw}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:dk}),g.modified.isEmpty||g.original.isEmpty)g.original.isEmpty||d.push({range:g.original.toInclusiveRange(),options:uk}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:hk});else for(const p of g.innerChanges||[])g.original.contains(p.originalRange.startLineNumber)&&d.push({range:p.originalRange,options:p.originalRange.isEmpty()?fk:Kw}),g.modified.contains(p.modifiedRange.startLineNumber)&&u.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?gk:pk});return u}),this._layout1=Hn(this,r=>{const a=this._editor.getModel(),d=this._edit.read(r);if(!d)return null;const u=d.range;let f=0;for(let C=u.startLineNumber;C<u.endLineNumberExclusive;C++){const b=a.getLineMaxColumn(C),y=this._editor.getOffsetForColumn(C,b);f=Math.max(f,y)}return{left:this._editor.getLayoutInfo().contentLeft+f}}),this._layout=Hn(this,r=>{const a=this._edit.read(r);if(!a)return null;const d=a.range,u=this._editorObs.scrollLeft.read(r),f=this._layout1.read(r).left+20-u,g=this._editor.getTopForLineNumber(d.startLineNumber)-this._editorObs.scrollTop.read(r),p=this._editor.getTopForLineNumber(d.endLineNumberExclusive)-this._editorObs.scrollTop.read(r),C=new Xh(f,g),b=new Xh(f,p),y=p-g,w=50,A=this._editor.getOption(67)*a.newLines.length,P=y-A,M=new Xh(f+w,g+P/2),R=new Xh(f+w,p-P/2);return{topCode:C,bottomCode:b,codeHeight:y,topEdit:M,bottomEdit:R,editHeight:A}});const s=Hn(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(DL(this._elements.root,{display:Hn(this,r=>s.read(r)?"block":"none")})),this._register(AL(this._editor.getDomNode(),this._elements.root)),this._register(Ia(e).createOverlayWidget({domNode:this._elements.root,position:gl(null),allowEditorOverflow:!1,minContentWidthInPx:Hn(r=>{var u;const a=(u=this._layout1.read(r))==null?void 0:u.left;if(a===void 0)return 0;const d=this._previewEditorObs.contentWidth.read(r);return a+d})})),this._previewEditor.setModel(this._previewTextModel),this._register(this._previewEditorObs.setDecorations(this._decorations)),this._register(rs(r=>{const a=this._layout.read(r);if(!a)return;const{topCode:d,bottomCode:u,topEdit:f,bottomEdit:g,editHeight:p}=a,C=10,b=0,y=40,w=new rV().moveTo(d).lineTo(d.deltaX(C)).curveTo(d.deltaX(C+y),f.deltaX(-y-b),f.deltaX(-b)).lineTo(f).lineTo(g).lineTo(g.deltaX(-b)).curveTo(g.deltaX(-y-b),u.deltaX(C+y),u.deltaX(C)).lineTo(u).build();this._elements.path.setAttribute("d",w),this._elements.editorContainer.style.top=`${f.y}px`,this._elements.editorContainer.style.left=`${f.x}px`,this._elements.editorContainer.style.height=`${p}px`;const A=this._previewEditorObs.contentWidth.read(r);this._previewEditor.layout({height:p,width:A})})),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(aV(oV(this._userPrompt,r=>r??"",r=>r),Ia(this._promptEditor).value)),this._register(rs(r=>{const a=Ia(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};Ey=iV([nV(3,nn)],Ey);function oV(o,e,t){return mk(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class Xh{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new Xh(this.x+e,this.y)}}class rV{constructor(){this._data=""}moveTo(e){return this._data+=`M ${e.x} ${e.y} `,this}lineTo(e){return this._data+=`L ${e.x} ${e.y} `,this}curveTo(e,t,i){return this._data+=`C ${e.x} ${e.y} ${t.x} ${t.y} ${i.x} ${i.y} `,this}build(){return this._data}}function aV(o,e){const t=new Tt;return t.add(rs(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(rs(i=>{const n=e.read(i);o.set(n,void 0)})),t}var lV=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},MC=function(o,e){return function(t,i){e(t,i,o)}},eg,vu;let yy=(vu=class extends Nt{static _createUniqueUri(){return Vn.from({scheme:"inline-edits",path:new Date().toString()+String(eg._modelId++)})}constructor(e,t,i,n,s,r,a){super(),this.textModel=e,this._textModelVersionId=t,this._selection=i,this._debounceValue=n,this.languageFeaturesService=s,this._diffProviderFactoryService=r,this._modelService=a,this._forceUpdateExplicitlySignal=jw(this),this._selectedInlineCompletionId=Xo(this,void 0),this._isActive=Xo(this,!1),this._originalModel=Hc(()=>this._modelService.createModel("",null,eg._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Hc(()=>this._modelService.createModel("",null,eg._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new dV(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(d=>!!d),this.userPrompt=Xo(this,void 0),this.inlineEdit=Hn(this,d=>{var u,f;return(f=(u=this._inlineEdit.read(d))==null?void 0:u.promiseResult.read(d))==null?void 0:f.data}),this._inlineEdit=Hn(this,d=>{const u=this.selectedInlineEdit.read(d);if(!u)return;const f=u.inlineCompletion.range;if(u.inlineCompletion.insertText.trim()==="")return;let g=u.inlineCompletion.insertText.split(/\r\n|\r|\n/);function p(w){var P;const A=((P=w[0].match(/^\s*/))==null?void 0:P[0])??"";return w.map(M=>M.replace(new RegExp("^"+A),""))}g=p(g);let b=this.textModel.getValueInRange(f).split(/\r\n|\r|\n/);b=p(b),this._originalModel.get().setValue(b.join(`
74
+ `)),this._modifiedModel.get().setValue(g.join(`
75
+ `));const y=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return ck.fromFn(async()=>{const w=await y.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},an.None);if(!w.identical)return new sV(kL.fromRangeInclusive(f),p(g),w.changes)})}),this._fetchStore=this._register(new Tt),this._inlineEditsFetchResult=s1(this,void 0),this._inlineEdits=ul({owner:this,equalsFn:xk},d=>{var u;return((u=this._inlineEditsFetchResult.read(d))==null?void 0:u.completions.map(f=>new cV(f)))??[]}),this._fetchInlineEditsPromise=GA({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:_l.Automatic}),handleChange:(d,u)=>(d.didChange(this._forceUpdateExplicitlySignal)&&(u.inlineCompletionTriggerKind=_l.Explicit),!0)},async(d,u)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(d),this._textModelVersionId.read(d);function f(y,w){return w(y)}const g=this._pinnedRange.range.read(d)??f(this._selection.read(d),y=>y.isEmpty()?void 0:y);if(!g){this._inlineEditsFetchResult.set(void 0,void 0),this.userPrompt.set(void 0,void 0);return}const p={triggerKind:u.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(d)},C=r1(this._fetchStore);await Y_(200,C);const b=await xB(this.languageFeaturesService.inlineCompletionsProvider,g,this.textModel,p,C);C.isCancellationRequested||this._inlineEditsFetchResult.set(b,void 0)}),this._filteredInlineEditItems=ul({owner:this,equalsFn:o1()},d=>this._inlineEdits.read(d)),this.selectedInlineCompletionIndex=Hn(this,d=>{const u=this._selectedInlineCompletionId.read(d),f=this._filteredInlineEditItems.read(d),g=this._selectedInlineCompletionId===void 0?-1:f.findIndex(p=>p.semanticId===u);return g===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):g}),this.selectedInlineEdit=Hn(this,d=>{const u=this._filteredInlineEditItems.read(d),f=this.selectedInlineCompletionIndex.read(d);return u[f]}),this._register(KA(this._fetchInlineEditsPromise))}async triggerExplicitly(e){Am(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){Am(e,t=>{this.userPrompt.set(void 0,t),this._isActive.set(!1,t),this._inlineEditsFetchResult.set(void 0,t),this._pinnedRange.setRange(void 0,t)})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineEditItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){if(e.getModel()!==this.textModel)throw new R0;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},eg=vu,vu._modelId=0,vu);yy=eg=lV([MC(4,ki),MC(5,Xw),MC(6,mo)],yy);class cV{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class dV extends Nt{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Xo(this,[]),this.range=Hn(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(ts(()=>{this._textModel.deltaDecorations(this._decorations.get(),[])}))}setRange(e,t){this._decorations.set(this._textModel.deltaDecorations(this._decorations.get(),e?[{range:e,options:{description:"trackedRange"}}]:[]),t)}}var uV=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},Of=function(o,e){return function(t,i){e(t,i,o)}},wy,_u;let Ll=(_u=class extends Nt{static get(e){return e.getContribution(wy.ID)}constructor(e,t,i,n,s,r){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._debounceService=n,this._languageFeaturesService=s,this._configurationService=r,this._enabled=BL("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Ia(this.editor),this._selection=Hn(this,a=>this._editorObs.cursorSelection.read(a)??new ji(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=Hc(this,a=>{if(!this._enabled.read(a)||this._editorObs.isReadonly.read(a))return;const d=this._editorObs.model.read(a);return d?this._instantiationService.createInstance(a1(yy,a),d,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=$_(this,(a,d)=>{var u;return d||((u=this.model.read(a))==null?void 0:u.inlineEdit.read(a))!==void 0}),this._widget=Hc(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(a1(Ey,a),this.editor,this.model.map((d,u)=>d==null?void 0:d.inlineEdit.read(u)),hV(d=>{var u;return((u=this.model.read(d))==null?void 0:u.userPrompt)??Xo("empty","")}))}),this._register(YS(nf,this._contextKeyService,a=>{var d;return!!((d=this.model.read(a))!=null&&d.inlineEdit.read(a))})),this._register(YS(eV,this._contextKeyService,a=>{var d;return!!((d=this.model.read(a))!=null&&d.isPinned.read(a))})),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}},wy=_u,_u.ID="editor.contrib.inlineEditsController",_u);Ll=wy=uV([Of(1,nn),Of(2,Fn),Of(3,fr),Of(4,ki),Of(5,ns)],Ll);function hV(o){return mk(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function Yp(o){return{label:o.value,alias:o.original}}const E_=class E_ extends bt{constructor(){super({id:E_.ID,...Yp(Di("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:$e.and(q.writable,nf),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Ll.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};E_.ID=Jz;let Sy=E_;const y_=class y_ extends bt{constructor(){super({id:y_.ID,...Yp(Di("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:$e.and(q.writable,nf),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Ll.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};y_.ID=Qz;let Dy=y_;class fV extends bt{constructor(){super({id:"editor.action.inlineEdits.trigger",...Yp(Di("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:q.writable})}async run(e,t){const i=Ll.get(t);await sk(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class gV extends bt{constructor(){super({id:Yz,...Yp(Di("action.inlineEdits.accept","Accept Inline Edit")),precondition:nf,menuOpts:{menuId:ri.InlineEditsActions,title:S("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Gi.check},kbOpts:{primary:2058,weight:2e4,kbExpr:nf}})}async run(e,t){var n;t instanceof Hr&&(t=t.getParentEditor());const i=Ll.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const w_=class w_ extends bt{constructor(){super({id:w_.ID,...Yp(Di("action.inlineEdits.hide","Hide Inline Edit")),precondition:nf,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Ll.get(t);Xu(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};w_.ID="editor.action.inlineEdits.hide";let Ay=w_;dn(Ll.ID,Ll,3);Be(fV);Be(Sy);Be(Dy);Be(gV);Be(Ay);const Uu={Visible:new Cn("parameterHintsVisible",!1),MultipleSignatures:new Cn("parameterHintsMultipleSignatures",!1)};async function MB(o,e,t,i,n){const s=o.ordered(e);for(const r of s)try{const a=await r.provideSignatureHelp(e,t,n,i);if(a)return a}catch(a){_s(a)}}Qn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;In(Vn.isUri(t)),In(Ai.isIPosition(i)),In(typeof n=="string"||!n);const s=o.get(ki),r=await o.get(fa).createModelReference(t);try{const a=await MB(s.signatureHelpProvider,r.object.textEditorModel,Ai.lift(i),{triggerKind:mc.Invoke,isRetrigger:!1,triggerCharacter:n},an.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var tc;(function(o){o.Default={type:0};class e{constructor(n,s){this.request=n,this.previouslyActiveHints=s,this.type=2}}o.Pending=e;class t{constructor(n){this.hints=n,this.type=1}}o.Active=t})(tc||(tc={}));const S_=class S_ extends Nt{constructor(e,t,i=S_.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new rn),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=tc.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Qo),this.triggerChars=new Sm,this.retriggerChars=new Sm,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Oc(i),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(n=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(n=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(n=>this.onCursorChange(n))),this._register(this.editor.onDidChangeModelContent(n=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(n=>this.onDidType(n))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){this._state.type===2&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=tc.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const n=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(n),t).catch(Un)}next(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e===e-1,n=this.editor.getOption(86).cycle;if((e<2||i)&&!n){this.cancel();return}this.updateActiveSignature(i&&n?0:t+1)}previous(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t===0,n=this.editor.getOption(86).cycle;if((e<2||i)&&!n){this.cancel();return}this.updateActiveSignature(i&&n?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new tc.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){const t=this.state.type===1||this.state.type===2,i=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const n=this._pendingTriggers.reduce(pV);this._pendingTriggers=[];const s={triggerKind:n.triggerKind,triggerCharacter:n.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const r=this.editor.getModel(),a=this.editor.getPosition();this.state=new tc.Pending(Us(d=>MB(this.providers,r,a,s,d)),i);try{const d=await this.state.request;return e!==this.triggerId?(d==null||d.dispose(),!1):!d||!d.value.signatures||d.value.signatures.length===0?(d==null||d.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new tc.Active(d.value),this._lastSignatureHelpResult.value=d,this._onChangedHints.fire(this.state.hints),!0)}catch(d){return e===this.triggerId&&(this.state=tc.Default),Un(d),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const i of t.signatureHelpTriggerCharacters||[])if(i.length){const n=i.charCodeAt(0);this.triggerChars.add(n),this.retriggerChars.add(n)}for(const i of t.signatureHelpRetriggerCharacters||[])i.length&&this.retriggerChars.add(i.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:mc.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:mc.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:mc.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};S_.DEFAULT_DELAY=120;let ky=S_;function pV(o,e){switch(e.triggerKind){case mc.Invoke:return e;case mc.ContentChange:return o;case mc.TriggerCharacter:default:return e}}var xV=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},Ox=function(o,e){return function(t,i){e(t,i,o)}},By;const Wo=gi,mV=ms("parameter-hints-next",Gi.chevronDown,S("parameterHintsNextIcon","Icon for show next parameter hint.")),vV=ms("parameter-hints-previous",Gi.chevronUp,S("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var bu;let Fy=(bu=class extends Nt{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new Tt),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new cf({editor:e},s,n)),this.keyVisible=Uu.Visible.bindTo(i),this.keyMultipleSignatures=Uu.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=Wo(".editor-widget.parameter-hints-widget"),t=li(e,Wo(".phwrapper"));t.tabIndex=-1;const i=li(t,Wo(".controls")),n=li(i,Wo(".button"+Tn.asCSSSelector(vV))),s=li(i,Wo(".overloads")),r=li(i,Wo(".button"+Tn.asCSSSelector(mV)));this._register(Bn(n,"click",p=>{wm.stop(p),this.previous()})),this._register(Bn(r,"click",p=>{wm.stop(p),this.next()}));const a=Wo(".body"),d=new QA(a,{alwaysConsumeMouseWheel:!0});this._register(d),t.appendChild(d.getDomNode());const u=li(a,Wo(".signature")),f=li(a,Wo(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:u,overloads:s,docs:f,scrollbar:d},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(p=>{this.visible&&this.editor.layoutContentWidget(this)}));const g=()=>{if(!this.domNodes)return;const p=this.editor.getOption(50),C=this.domNodes.element;C.style.fontSize=`${p.fontSize}px`,C.style.lineHeight=`${p.lineHeight/p.fontSize}`,C.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",p.fontFamily),C.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",Mw.fontFamily)};g(),this._register(Is.chain(this.editor.onDidChangeConfiguration.bind(this.editor),p=>p.filter(C=>C.hasChanged(50)))(g)),this._register(this.editor.onDidLayoutChange(p=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{var e;(e=this.domNodes)==null||e.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){var e;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,(e=this.domNodes)==null||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){if(this.renderDisposeables.clear(),!this.domNodes)return;const t=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",t),this.keyMultipleSignatures.set(t),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const i=e.signatures[e.activeSignature];if(!i)return;const n=li(this.domNodes.signature,Wo(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const u=li(n,Wo("span"));u.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const u=Wo("span.documentation");if(typeof a.documentation=="string")u.textContent=a.documentation;else{const f=this.renderMarkdownDocs(a.documentation);u.appendChild(f.element)}li(this.domNodes.docs,Wo("p",{},u))}if(i.documentation!==void 0)if(typeof i.documentation=="string")li(this.domNodes.docs,Wo("p",{},i.documentation));else{const u=this.renderMarkdownDocs(i.documentation);li(this.domNodes.docs,u.element)}const d=this.hasDocs(i,a);if(this.domNodes.signature.classList.toggle("has-docs",d),this.domNodes.docs.classList.toggle("empty",!d),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,a){let u="";const f=i.parameters[r];Array.isArray(f.label)?u=i.label.substring(f.label[0],f.label[1]):u=f.label,f.documentation&&(u+=typeof f.documentation=="string"?`, ${f.documentation}`:`, ${f.documentation.value}`),i.documentation&&(u+=typeof i.documentation=="string"?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==u&&(Nr(S("hint","{0}, hint",u)),this.announcedLabel=u)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new Oo,i=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var s;(s=this.domNodes)==null||s.scrollbar.scanDomNode()}}));i.element.classList.add("markdown-docs");const n=t.elapsed();return n>300&&this.telemetryService.publicLog2("parameterHints.parseMarkdown",{renderDuration:n}),i}hasDocs(e,t){return!!(t&&typeof t.documentation=="string"&&jh(t.documentation).length>0||t&&typeof t.documentation=="object"&&jh(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&jh(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&jh(e.documentation.value).length>0)}renderParameters(e,t,i){const[n,s]=this.getParameterLabelOffsets(t,i),r=document.createElement("span");r.textContent=t.label.substring(0,n);const a=document.createElement("span");a.textContent=t.label.substring(n,s),a.className="parameter active";const d=document.createElement("span");d.textContent=t.label.substring(s),li(e,r,a,d)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const n=new RegExp(`(\\W|^)${Bg(i.label)}(?=\\W|$)`,"g");n.test(e.label);const s=n.lastIndex-i.label.length;return s>=0?[s,n.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return By.ID}updateMaxHeight(){if(!this.domNodes)return;const t=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}},By=bu,bu.ID="editor.widget.parameterHintsWidget",bu);Fy=By=xV([Ox(2,Fn),Ox(3,da),Ox(4,ha),Ox(5,ua)],Fy);pi("editorHoverWidget.highlightForeground",ik,S("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var _V=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},zD=function(o,e){return function(t,i){e(t,i,o)}},Ly,Cu;let sf=(Cu=class extends Nt{static get(e){return e.getContribution(Ly.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new ky(e,i.signatureHelpProvider)),this._register(this.model.onChangedHints(n=>{var s;n?(this.widget.value.show(),this.widget.value.render(n)):(s=this.widget.rawValue)==null||s.hide()})),this.widget=new Aw(()=>this._register(t.createInstance(Fy,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){var e;(e=this.widget.rawValue)==null||e.previous()}next(){var e;(e=this.widget.rawValue)==null||e.next()}trigger(e){this.model.trigger(e,0)}},Ly=Cu,Cu.ID="editor.controller.parameterHints",Cu);sf=Ly=_V([zD(1,nn),zD(2,ki)],sf);class bV extends bt{constructor(){super({id:"editor.action.triggerParameterHints",label:S("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:q.hasSignatureHelpProvider,kbOpts:{kbExpr:q.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=sf.get(t);i==null||i.trigger({triggerKind:mc.Invoke})}}dn(sf.ID,sf,2);Be(bV);const K9=175,Z9=Ao.bindToContribution(sf.get);Ii(new Z9({id:"closeParameterHints",precondition:Uu.Visible,handler:o=>o.cancel(),kbOpts:{weight:K9,kbExpr:q.focus,primary:9,secondary:[1033]}}));Ii(new Z9({id:"showPrevParameterHint",precondition:$e.and(Uu.Visible,Uu.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:K9,kbExpr:q.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));Ii(new Z9({id:"showNextParameterHint",precondition:$e.and(Uu.Visible,Uu.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:K9,kbExpr:q.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var CV=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},EV=function(o,e){return function(t,i){e(t,i,o)}};class yV{constructor(e){this.instantiationService=e}init(...e){}}function wV(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=Bp((n,s)=>{const r=a1(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function SV(o){return FL()?wV(o,Iy):o()}let Iy=class extends yV{constructor(e,t){super(t),this.init(e)}};Iy=CV([EV(1,nn)],Iy);dn(np.ID,SV(()=>np),0);pi("editor.placeholder.foreground",LL,S("placeholderForeground","Foreground color of the placeholder text in the editor."));var DV=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},Hx=function(o,e){return function(t,i){e(t,i,o)}};const mf=new Cn("renameInputVisible",!1,S("renameInputVisible","Whether the rename input widget is visible"));new Cn("renameInputFocused",!1,S("renameInputFocused","Whether the rename input widget is focused"));let Py=class{constructor(e,t,i,n,s,r){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=n,this._logService=r,this.allowEditorOverflow=!0,this._disposables=new Tt,this._visibleContextKey=mf.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new Oo,this._inputWithButton=new AV,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{a.hasChanged(50)&&this._updateFont()})),this._disposables.add(i.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputWithButton.domNode),this._renameCandidateListView=this._disposables.add(new X9(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:e=>{this._inputWithButton.input.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange(()=>{var e,t,i;((e=this._renameCandidateListView)==null?void 0:e.focusedCandidate)!==void 0&&(this._isEditingRenameCandidate=!0),this._timeBeforeFirstInputFieldEdit??(this._timeBeforeFirstInputFieldEdit=this._beforeFirstInputFieldEditSW.elapsed()),((t=this._renameCandidateProvidersCts)==null?void 0:t.token.isCancellationRequested)===!1&&this._renameCandidateProvidersCts.cancel(),(i=this._renameCandidateListView)==null||i.clearFocus()})),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(e){if(!this._domNode)return;const t=e.getColor(IL),i=e.getColor(PL);this._domNode.style.backgroundColor=String(e.getColor(JA)??""),this._domNode.style.boxShadow=t?` 0 0 8px 2px ${t}`:"",this._domNode.style.border=i?`1px solid ${i}`:"",this._domNode.style.color=String(e.getColor(TL)??"");const n=e.getColor(ML);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(QS)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(QS)??""),this._inputWithButton.domNode.style.borderWidth=n?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=n?"solid":"none",this._inputWithButton.domNode.style.borderColor=(n==null?void 0:n.toString())??"none"}_updateFont(){if(this._domNode===void 0)return;In(this._label!==void 0,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._inputWithButton.input);const e=this._editor.getOption(50);this._label.style.fontSize=`${this._computeLabelFontSize(e.fontSize)}px`}_computeLabelFontSize(e){return e*.8}getPosition(){if(!this._visible||!this._editor.hasModel()||!this._editor.getDomNode())return null;const e=Fp(this.getDomNode().ownerDocument.body),t=yo(this._editor.getDomNode()),i=this._getTopForPosition();this._nPxAvailableAbove=i+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;const n=this._editor.getOption(67),{totalHeight:s}=sp.getLayoutInfo({lineHeight:n}),r=this._nPxAvailableBelow>s*6?[2,1]:[1,2];return{position:this._position,preference:r}}beforeRender(){var i,n;const[e,t]=this._acceptKeybindings;return this._label.innerText=S({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",(i=this._keybindingService.lookupKeybinding(e))==null?void 0:i.getLabel(),(n=this._keybindingService.lookupKeybinding(t))==null?void 0:n.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(e===null){this.cancelInput(!0,"afterRender (because position is null)");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;In(this._renameCandidateListView),In(this._nPxAvailableAbove!==void 0),In(this._nPxAvailableBelow!==void 0);const t=zh(this._inputWithButton.domNode),i=zh(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:yr(this._inputWithButton.domNode)})}acceptInput(e){var t;this._trace("invoking acceptInput"),(t=this._currentAcceptInput)==null||t.call(this,e)}cancelInput(e,t){var i;(i=this._currentCancelInput)==null||i.call(this,e)}focusNextRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(e,t,i,n,s){const{start:r,end:a}=this._getSelection(e,t);this._renameCts=s;const d=new Tt;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,n===void 0?this._inputWithButton.button.style.display="none":(this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=n,this._requestRenameCandidates(t,!1),d.add(Bn(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),d.add(Bn(this._inputWithButton.button,as.KEY_DOWN,f=>{const g=new Yw(f);(g.equals(3)||g.equals(10))&&(g.stopPropagation(),g.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new Ai(e.startLineNumber,e.startColumn),this._currentName=t,this._inputWithButton.input.value=t,this._inputWithButton.input.setAttribute("selectionStart",r.toString()),this._inputWithButton.input.setAttribute("selectionEnd",a.toString()),this._inputWithButton.input.size=Math.max((e.endColumn-e.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),d.add(ts(()=>{this._renameCts=void 0,s.dispose(!0)})),d.add(ts(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),d.add(ts(()=>this._candidates.clear()));const u=new H_;return u.p.finally(()=>{d.dispose(),this._hide()}),this._currentCancelInput=f=>{var g;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(g=this._renameCandidateListView)==null||g.clearCandidates(),u.complete(f),!0},this._currentAcceptInput=f=>{this._trace("invoking _currentAcceptInput"),In(this._renameCandidateListView!==void 0);const g=this._renameCandidateListView.nCandidates;let p,C;const b=this._renameCandidateListView.focusedCandidate;if(b!==void 0?(this._trace("using new name from renameSuggestion"),p=b,C={k:"renameSuggestion"}):(this._trace("using new name from inputField"),p=this._inputWithButton.input.value,C=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),p===t||p.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),u.complete({newName:p,wantsPreview:i&&f,stats:{source:C,nRenameSuggestions:g,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},d.add(s.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),d.add(this._editor.onDidBlurEditorWidget(()=>{var f;return this.cancelInput(!((f=this._domNode)!=null&&f.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),u.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),In(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new qs;const i=t?l1.Invoke:l1.Automatic,n=this._requestRenameCandidatesOnce(i,this._renameCandidateProvidersCts.token);if(n.length===0){this._inputWithButton.setSparkleButton();return}t||(this._hadAutomaticRenameSuggestionsInvocation=!0),this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(n,e,this._renameCts.token)}}_getSelection(e,t){In(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!Q.isEmpty(i)&&!Q.spansMultipleLines(i)&&Q.containsRange(e,i)&&(n=Math.max(0,i.startColumn-e.startColumn),s=Math.min(e.endColumn,i.endColumn)-e.startColumn),{start:n,end:s}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute("selectionStart")),parseInt(this._inputWithButton.input.getAttribute("selectionEnd")))},100)}async _updateRenameCandidates(e,t,i){const n=(...u)=>this._trace("_updateRenameCandidates",...u);n("start");const s=await yp(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),s===void 0){n("returning early - received updateRenameCandidates results - undefined");return}const r=s.flatMap(u=>u.status==="fulfilled"&&Zx(u.value)?u.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=sA(r,u=>u.newSymbolName);n(`distinct candidates - ${a.length} candidates.`);const d=a.filter(({newSymbolName:u})=>u.trim().length>0&&u!==this._inputWithButton.input.value&&u!==t&&!this._candidates.has(u));if(n(`valid distinct candidates - ${r.length} candidates.`),d.forEach(u=>this._candidates.add(u.newSymbolName)),d.length<1){n("returning early - no valid distinct candidates");return}n("setting candidates"),this._renameCandidateListView.setCandidates(d),n("asking editor to re-layout"),this._editor.layoutContentWidget(this)}_hide(){this._trace("invoked _hide"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){const e=this._editor.getVisibleRanges();let t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace("RenameWidget",...e)}};Py=DV([Hx(2,Wr),Hx(3,Ds),Hx(4,Fn),Hx(5,Yu)],Py);class X9{constructor(e,t){this._disposables=new Tt,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),this._listContainer.className="rename-box rename-candidate-list-container",e.appendChild(this._listContainer),this._listWidget=X9._createListWidget(this._listContainer,this._candidateViewHeight,t.fontInfo),this._listWidget.onDidChangeFocus(i=>{i.elements.length===1&&t.onFocusChange(i.elements[0].newSymbolName)},this._disposables),this._listWidget.onDidChangeSelection(i=>{i.elements.length===1&&t.onSelectionChange()},this._disposables),this._disposables.add(this._listWidget.onDidBlur(i=>{this._listWidget.setFocus([])})),this._listWidget.style(nk({listInactiveFocusForeground:ek,listInactiveFocusBackground:tk}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:e,width:t}){this._availableHeight=e,this._minimumWidth=t}setCandidates(e){this._listWidget.splice(0,0,e);const t=this._pickListHeight(this._listWidget.length),i=this._pickListWidth(e);this._listWidget.layout(t,i),this._listContainer.style.height=`${t}px`,this._listContainer.style.width=`${i}px`,L0(S("renameSuggestionsReceivedAria","Received {0} rename suggestions",e.length))}clearCandidates(){this._listContainer.style.height="0px",this._listContainer.style.width="0px",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;const e=this._listWidget.getSelectedElements()[0];if(e!==void 0)return e.newSymbolName;const t=this._listWidget.getFocusedElements()[0];if(t!==void 0)return t.newSymbolName}focusNext(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();if(e.length===0)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;if(e[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;{this._listWidget.focusNext();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}focusPrevious(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();if(e.length===0){this._listWidget.focusLast();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}else{if(e[0]===0)return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:e}=sp.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){const t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(e){const t=Math.ceil(Math.max(...e.map(n=>n.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,i){const n=new class{getTemplateId(r){return"candidate"}getHeight(r){return t}},s=new class{constructor(){this.templateId="candidate"}renderTemplate(r){return new sp(r,i)}renderElement(r,a,d){d.populate(r)}disposeTemplate(r){r.dispose()}};return new Lw("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class AV{constructor(){this._onDidInputChange=new rn,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new Tt}get domNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="rename-input-with-button",this._domNode.style.display="flex",this._domNode.style.flexDirection="row",this._domNode.style.alignItems="center",this._inputNode=document.createElement("input"),this._inputNode.className="rename-input",this._inputNode.type="text",this._inputNode.style.border="none",this._inputNode.setAttribute("aria-label",S("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._inputNode),this._buttonNode=document.createElement("div"),this._buttonNode.className="rename-suggestions-button",this._buttonNode.setAttribute("tabindex","0"),this._buttonGenHoverText=S("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=S("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=RL().setupManagedHover(Z_("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(Bn(this.input,as.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(Bn(this.input,as.KEY_DOWN,e=>{const t=new Yw(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(Bn(this.input,as.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(Bn(this.input,as.FOCUS,()=>{this.domNode.style.outlineWidth="1px",this.domNode.style.outlineStyle="solid",this.domNode.style.outlineOffset="-1px",this.domNode.style.outlineColor="var(--vscode-focusBorder)"})),this._disposables.add(Bn(this.input,as.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return In(this._inputNode),this._inputNode}get button(){return In(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=c1(Gi.sparkle)),Wa(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute("aria-label","Generating new name suggestions"),(e=this._buttonHover)==null||e.update(this._buttonGenHoverText),this.input.focus()}setStopButton(){var e;this._buttonState="stop",this._stopIcon??(this._stopIcon=c1(Gi.primitiveSquare)),Wa(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute("aria-label","Cancel generating new name suggestions"),(e=this._buttonHover)==null||e.update(this._buttonCancelHoverText),this.input.focus()}dispose(){this._disposables.dispose()}}const Sg=class Sg{constructor(e,t){this._domNode=document.createElement("div"),this._domNode.className="rename-box rename-candidate",this._domNode.style.display="flex",this._domNode.style.columnGap="5px",this._domNode.style.alignItems="center",this._domNode.style.height=`${t.lineHeight}px`,this._domNode.style.padding=`${Sg._PADDING}px`;const i=document.createElement("div");i.style.display="flex",i.style.alignItems="center",i.style.width=i.style.height=`${t.lineHeight*.8}px`,this._domNode.appendChild(i),this._icon=c1(Gi.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),$A(this._label,t),this._domNode.appendChild(this._label),e.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){var i;const t=!!((i=e.tags)!=null&&i.includes(NL.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+Sg._PADDING*2}}dispose(){}};Sg._PADDING=2;let sp=Sg;var kV=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},Yl=function(o,e){return function(t,i){e(t,i,o)}},Ty;class Y9{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){const n=this._providers[this._providerRenameIdx];if(!n.resolveRenameLocation)break;const s=await n.resolveRenameLocation(this.model,this.position,e);if(s){if(s.rejectReason){t.push(s.rejectReason);continue}return s}}this._providerRenameIdx=0;const i=this.model.getWordAtPosition(this.position);return i?{range:new Q(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
76
+ `):void 0}:{range:Q.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join(`
77
+ `):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,i,n){const s=this._providers[t];if(!s)return{edits:[],rejectReason:i.join(`
78
+ `)};const r=await s.provideRenameEdits(this.model,this.position,e,n);if(r){if(r.rejectReason)return this._provideRenameEdits(e,t+1,i.concat(r.rejectReason),n)}else return this._provideRenameEdits(e,t+1,i.concat(S("no result","No result.")),n);return r}}async function BV(o,e,t,i){const n=new Y9(e,t,o),s=await n.resolveRenameLocation(an.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,an.None)}var Eu;let $c=(Eu=class{static get(e){return e.getContribution(Ty.ID)}constructor(e,t,i,n,s,r,a,d,u){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=s,this._logService=r,this._configService=a,this._languageFeaturesService=d,this._telemetryService=u,this._disposableStore=new Tt,this._cts=new qs,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Py,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var b,y;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new qs,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new Y9(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new B0(this.editor,5,void 0,this._cts.token);let s;try{e("resolving rename location");const w=i.resolveRenameLocation(n.token);this._progressService.showWhile(w,250),s=await w,e("resolved rename location")}catch(w){w instanceof W_?e("resolve rename location cancelled",JSON.stringify(w,null," ")):(e("resolve rename location failed",w instanceof Error?w:JSON.stringify(w,null," ")),(typeof w=="string"||Gx(w))&&((b=Mo.get(this.editor))==null||b.showMessage(w||S("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),t)));return}finally{n.dispose()}if(!s){e("returning early - no loc");return}if(s.rejectReason){e(`returning early - rejected with reason: ${s.rejectReason}`,s.rejectReason),(y=Mo.get(this.editor))==null||y.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new B0(this.editor,5,s.range,this._cts.token),a=this.editor.getModel(),d=this._languageFeaturesService.newSymbolNamesProvider.all(a),u=await Promise.all(d.map(async w=>[w,await w.supportsAutomaticNewSymbolNamesTriggerKind??!1])),f=(w,A)=>{let P=u.slice();return w===l1.Automatic&&(P=P.filter(([M,R])=>R)),P.map(([M])=>M.provideNewSymbolNames(a,s.range,w,A))};e("creating rename input field and awaiting its result");const g=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),p=await this._renameWidget.getInput(s.range,s.text,g,d.length>0?f:void 0,r);if(e("received response from rename input field"),d.length>0&&this._reportTelemetry(d.length,a.getLanguageId(),p),typeof p=="boolean"){e(`returning early - rename input field response - ${p}`),p&&this.editor.focus(),r.dispose();return}this.editor.focus(),e("requesting rename edits");const C=yp(i.provideRenameEdits(p.newName,r.token),r.token).then(async w=>{if(!w){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(w.rejectReason){e(`returning early - rejected with reason: ${w.rejectReason}`),this._notificationService.info(w.rejectReason);return}this.editor.setSelection(Q.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(w,{editor:this.editor,showPreview:p.wantsPreview,label:S("label","Renaming '{0}' to '{1}'",s==null?void 0:s.text,p.newName),code:"undoredo.rename",quotableLabel:S("quotableLabel","Renaming {0} to {1}",s==null?void 0:s.text,p.newName),respectAutoSaveConfig:!0}).then(A=>{e("edits applied"),A.ariaSummary&&Nr(S("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",s.text,p.newName,A.ariaSummary))}).catch(A=>{e(`error when applying edits ${JSON.stringify(A,null," ")}`),this._notificationService.error(S("rename.failedApply","Rename failed to apply edits")),this._logService.error(A)})},w=>{e("error when providing rename edits",JSON.stringify(w,null," ")),this._notificationService.error(S("rename.failed","Rename failed to compute edits")),this._logService.error(w)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(C,250),C}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,i){const n=typeof i=="boolean"?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:i.stats.source.k,nRenameSuggestions:i.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:i.stats.timeBeforeFirstInputFieldEdit,wantsPreview:i.wantsPreview,nRenameSuggestionsInvocations:i.stats.nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:i.stats.hadAutomaticRenameSuggestionsInvocation};this._telemetryService.publicLog2("renameInvokedEvent",n)}},Ty=Eu,Eu.ID="editor.contrib.renameController",Eu);$c=Ty=kV([Yl(1,nn),Yl(2,xo),Yl(3,N_),Yl(4,Sp),Yl(5,Yu),Yl(6,OL),Yl(7,ki),Yl(8,ua)],$c);class FV extends bt{constructor(){super({id:"editor.action.rename",label:S("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:$e.and(q.writable,q.hasRenameProvider),kbOpts:{kbExpr:q.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(bs),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return Vn.isUri(n)&&Ai.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(s),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},Un):super.runCommand(e,t)}run(e,t){const i=e.get(Yu),n=$c.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}dn($c.ID,$c,4);Be(FV);const Q9=Ao.bindToContribution($c.get);Ii(new Q9({id:"acceptRenameInput",precondition:mf,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:$e.and(q.focus,$e.not("isComposing")),primary:3}}));Ii(new Q9({id:"acceptRenameInputWithPreview",precondition:$e.and(mf,$e.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:$e.and(q.focus,$e.not("isComposing")),primary:2051}}));Ii(new Q9({id:"cancelRenameInput",precondition:mf,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:q.focus,primary:9,secondary:[1033]}}));zn(class extends Do{constructor(){super({id:"focusNextRenameSuggestion",title:{...Di("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:mf,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(bs).getFocusedCodeEditor();if(!t)return;const i=$c.get(t);i&&i.focusNextRenameSuggestion()}});zn(class extends Do{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...Di("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:mf,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(bs).getFocusedCodeEditor();if(!t)return;const i=$c.get(t);i&&i.focusPreviousRenameSuggestion()}});ko("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;In(typeof n=="string");const{renameProvider:s}=o.get(ki);return BV(s,e,t,n)});ko("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(ki),s=await new Y9(e,t,i).resolveRenameLocation(an.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});ca.as(Dp.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:S("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var LV=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},VD=function(o,e){return function(t,i){e(t,i,o)}},w0;let kv=(w0=class extends Nt{constructor(e,t,i){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(n=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(n=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(t.onDidChange(n=>{var r;const s=(r=this.editor.getModel())==null?void 0:r.getLanguageId();s&&n.affects(s)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(n=>{this.options&&!n.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(n=>{this.computeSectionHeaders.schedule()})),this._register(e.onDidChangeModelTokens(n=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)})),this.computeSectionHeaders=this._register(new Ps(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;const t=this.editor.getModel().getLanguageId();if(!t)return;const i=this.languageConfigurationService.getLanguageConfiguration(t).comments,n=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;if(!(!i&&!(n!=null&&n.markers)))return{foldingRules:n,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}}findSectionHeaders(){var i,n;if(!this.editor.hasModel()||!((i=this.options)!=null&&i.findMarkSectionHeaders)&&!((n=this.options)!=null&&n.findRegionSectionHeaders))return;const e=this.editor.getModel();if(e.isDisposed()||e.isTooLargeForSyncing())return;const t=e.getVersionId();this.editorWorkerService.findSectionHeaders(e.uri,this.options).then(s=>{e.isDisposed()||e.getVersionId()!==t||this.updateDecorations(s)})}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter(s=>{if(!s.shouldBeInComments)return!0;const r=t.validateRange(s.range),a=t.tokenization.getLineTokens(r.startLineNumber),d=a.findTokenIndexAtOffset(r.startColumn-1),u=a.getStandardTokenType(d);return a.getLanguageId(d)===t.getLanguageId()&&u===1}));const i=Object.values(this.currentOccurrences).map(s=>s.decorationId),n=e.map(s=>IV(s));this.editor.changeDecorations(s=>{const r=s.deltaDecorations(i,n);this.currentOccurrences={};for(let a=0,d=r.length;a<d;a++){const u={sectionHeader:e[a],decorationId:r[a]};this.currentOccurrences[u.decorationId]=u}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}},w0.ID="editor.sectionHeaderDetector",w0);kv=LV([VD(1,Vs),VD(2,Nl)],kv);function IV(o){return{range:o.range,options:xn.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}dn(kv.ID,kv,1);function PV(o){for(let e=0,t=o.length;e<t;e+=4){const i=o[e+0],n=o[e+1],s=o[e+2],r=o[e+3];o[e+0]=r,o[e+1]=s,o[e+2]=n,o[e+3]=i}}function TV(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return HL()||PV(e),WL.wrap(e)}function RB(o){const e=new Uint32Array(MV(o));let t=0;if(e[t++]=o.id,o.type==="full")e[t++]=1,e[t++]=o.data.length,e.set(o.data,t),t+=o.data.length;else{e[t++]=2,e[t++]=o.deltas.length;for(const i of o.deltas)e[t++]=i.start,e[t++]=i.deleteCount,i.data?(e[t++]=i.data.length,e.set(i.data,t),t+=i.data.length):e[t++]=0}return TV(e)}function MV(o){let e=0;if(e+=2,o.type==="full")e+=1+o.data.length;else{e+=1,e+=3*o.deltas.length;for(const t of o.deltas)t.data&&(e+=t.data.length)}return e}function Db(o){return o&&!!o.data}function NB(o){return o&&Array.isArray(o.edits)}class RV{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function OB(o,e){return o.has(e)}function NV(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function HB(o,e,t,i,n){const s=NV(o,e),r=await Promise.all(s.map(async a=>{let d,u=null;try{d=await a.provideDocumentSemanticTokens(e,a===t?i:null,n)}catch(f){u=f,d=null}return(!d||!Db(d)&&!NB(d))&&(d=null),new RV(a,d,u)}));for(const a of r){if(a.error)throw a.error;if(a.tokens)return a}return r.length>0?r[0]:null}function OV(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class HV{constructor(e,t){this.provider=e,this.tokens=t}}function WV(o,e){return o.has(e)}function WB(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function J9(o,e,t,i){const n=WB(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(d){_s(d),a=null}return(!a||!Db(a))&&(a=null),new HV(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}Qn.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;In(t instanceof Vn);const i=o.get(mo).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(ki),s=OV(n,i);return s?s[0].getLegend():o.get(zs).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});Qn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;In(t instanceof Vn);const i=o.get(mo).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(ki);if(!OB(n,i))return o.get(zs).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await HB(n,i,null,null,an.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!Db(a))return;const d=RB({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),d});Qn.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;In(t instanceof Vn);const n=o.get(mo).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(ki),r=WB(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!Q.isIRange(i))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const a=await J9(s,n,Q.lift(i),an.None);if(a)return a.provider.getLegend()});Qn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;In(t instanceof Vn),In(Q.isIRange(i));const n=o.get(mo).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(ki),r=await J9(s,n,Q.lift(i),an.None);if(!(!r||!r.tokens))return RB({id:0,type:"full",data:r.tokens.data})});const eS="editor.semanticHighlighting";function gm(o,e,t){var n;const i=(n=t.getValue(eS,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var zB=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},La=function(o,e){return function(t,i){e(t,i,o)}},ec;let My=class extends Nt{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=f=>{this._watchers[f.uri.toString()]=new Ry(f,e,i,s,r)},d=(f,g)=>{g.dispose(),delete this._watchers[f.uri.toString()]},u=()=>{for(const f of t.getModels()){const g=this._watchers[f.uri.toString()];gm(f,i,n)?g||a(f):g&&d(f,g)}};t.getModels().forEach(f=>{gm(f,i,n)&&a(f)}),this._register(t.onModelAdded(f=>{gm(f,i,n)&&a(f)})),this._register(t.onModelRemoved(f=>{const g=this._watchers[f.uri.toString()];g&&d(f,g)})),this._register(n.onDidChangeConfiguration(f=>{f.affectsConfiguration(eS)&&u()})),this._register(i.onDidColorThemeChange(u))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};My=zB([La(0,Qw),La(1,mo),La(2,Wr),La(3,ns),La(4,fr),La(5,ki)],My);var Mc;let Ry=(Mc=class extends Nt{constructor(e,t,i,n,s){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=s.documentSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentSemanticTokens",{min:ec.REQUEST_MIN_DELAY,max:ec.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new Ps(()=>this._fetchDocumentSemanticTokensNow(),ec.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const r=()=>{co(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const a of this._provider.all(e))typeof a.onDidChange=="function"&&this._documentProvidersChangeListeners.push(a.onDidChange(()=>{if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}))};r(),this._register(this._provider.onDidChange(()=>{r(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(i.onDidColorThemeChange(a=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),co(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!OB(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new qs,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=HB(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const s=[],r=this._model.onDidChangeContent(d=>{s.push(d)}),a=new Oo(!1);n.then(d=>{if(this._debounceInformation.update(this._model,a.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),!d)this._setDocumentSemanticTokens(null,null,null,s);else{const{provider:u,tokens:f}=d,g=this._semanticTokensStylingService.getStyling(u);this._setDocumentSemanticTokens(u,f||null,g,s)}},d=>{d&&(qc(d)||typeof d.message=="string"&&d.message.indexOf("busy")!==-1)||Un(d),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),(s.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,n,s){s=Math.min(s,i.length-n,e.length-t);for(let r=0;r<s;r++)i[n+r]=e[t+r]}_setDocumentSemanticTokens(e,t,i,n){const s=this._currentDocumentResponse,r=()=>{(n.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!i){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),r();return}if(NB(t)){if(!s){this._model.tokenization.setSemanticTokens(null,!0);return}if(t.edits.length===0)t={resultId:t.resultId,data:s.data};else{let a=0;for(const p of t.edits)a+=(p.data?p.data.length:0)-p.deleteCount;const d=s.data,u=new Uint32Array(d.length+a);let f=d.length,g=u.length;for(let p=t.edits.length-1;p>=0;p--){const C=t.edits[p];if(C.start>d.length){i.warnInvalidEditStart(s.resultId,t.resultId,p,C.start,d.length),this._model.tokenization.setSemanticTokens(null,!0);return}const b=f-(C.start+C.deleteCount);b>0&&(ec._copy(d,f-b,u,g-b,b),g-=b),C.data&&(ec._copy(C.data,0,u,g-C.data.length,C.data.length),g-=C.data.length),f=C.start}f>0&&ec._copy(d,0,u,0,f),t={resultId:t.resultId,data:u}}}if(Db(t)){this._currentDocumentResponse=new zV(e,t.resultId,t.data);const a=vk(t,i,this._model.getLanguageId());if(n.length>0)for(const d of n)for(const u of a)for(const f of d.changes)u.applyEdit(f.range,f.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}},ec=Mc,Mc.REQUEST_MIN_DELAY=300,Mc.REQUEST_MAX_DELAY=2e3,Mc);Ry=ec=zB([La(1,Qw),La(2,Wr),La(3,fr),La(4,ki)],Ry);class zV{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}lf(My);var VV=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},Hf=function(o,e){return function(t,i){e(t,i,o)}},S0;let Bv=(S0=class extends Nt{constructor(e,t,i,n,s,r){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=n,this._editor=e,this._provider=r.documentRangeSemanticTokensProvider,this._debounceInformation=s.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new Ps(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const a=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{a()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),a()})),this._register(this._editor.onDidChangeModelContent(d=>{this._cancelAll(),a()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),a()})),this._register(this._configurationService.onDidChangeConfiguration(d=>{d.affectsConfiguration(eS)&&(this._cancelAll(),a())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),a()})),a()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;t<i;t++)if(this._outstandingRequests[t]===e){this._outstandingRequests.splice(t,1);return}}_tokenizeViewportNow(){if(!this._editor.hasModel())return;const e=this._editor.getModel();if(e.tokenization.hasCompleteSemanticTokens())return;if(!gm(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!WV(this._provider,e)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}const t=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(t.map(i=>this._requestRange(e,i)))}_requestRange(e,t){const i=e.getVersionId(),n=Us(r=>Promise.resolve(J9(this._provider,e,t,r))),s=new Oo(!1);return n.then(r=>{if(this._debounceInformation.update(e,s.elapsed()),!r||!r.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:a,tokens:d}=r,u=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,vk(d,u,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},S0.ID="editor.contrib.viewportSemanticTokens",S0);Bv=VV([Hf(1,Qw),Hf(2,Wr),Hf(3,ns),Hf(4,fr),Hf(5,ki)],Bv);dn(Bv.ID,Bv,1);class jV{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s),this.selectSubwords&&this._addInWordRanges(s,e,n),this._addWordRanges(s,e,n),this._addWhitespaceLine(s,e,n),s.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const n=t.getWordAtPosition(i);if(!n)return;const{word:s,startColumn:r}=n,a=i.column-r;let d=a,u=a,f=0;for(;d>=0;d--){const g=s.charCodeAt(d);if(d!==a&&(g===95||g===45))break;if(JS(g)&&e8(f))break;f=g}for(d+=1;u<s.length;u++){const g=s.charCodeAt(u);if(e8(g)&&JS(f))break;if(g===95||g===45)break;f=g}d<u&&e.push({range:new Q(i.lineNumber,r+d,i.lineNumber,r+u)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new Q(i.lineNumber,n.startColumn,i.lineNumber,n.endColumn)})}_addWhitespaceLine(e,t,i){t.getLineLength(i.lineNumber)>0&&t.getLineFirstNonWhitespaceColumn(i.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(i.lineNumber)===0&&e.push({range:new Q(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var $V=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},UV=function(o,e){return function(t,i){e(t,i,o)}},Ny;class tS{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new tS(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var yu;let op=(yu=class{static get(e){return e.getContribution(Ny.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;(e=this._selectionListener)==null||e.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||await jB(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),an.None).then(s=>{var r;if(!(!Zo(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!ja(this._editor.getSelections(),t,(a,d)=>a.equalsSelection(d)))){for(let a=0;a<s.length;a++)s[a]=s[a].filter(d=>d.containsPosition(t[a].getStartPosition())&&d.containsPosition(t[a].getEndPosition())),s[a].unshift(t[a]);this._state=s.map(a=>new tS(0,a)),(r=this._selectionListener)==null||r.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var a;this._ignoreSelection||((a=this._selectionListener)==null||a.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(s=>s.mov(e));const n=this._state.map(s=>ji.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},Ny=yu,yu.ID="editor.contrib.smartSelectController",yu);op=Ny=$V([UV(1,ki)],op);class VB extends bt{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=op.get(t);i&&await i.run(this._forward)}}class qV extends VB{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:S("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:ri.MenubarSelectionMenu,group:"1_basic",title:S({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}Qn.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class GV extends VB{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:S("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:ri.MenubarSelectionMenu,group:"1_basic",title:S({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}dn(op.ID,op,4);Be(qV);Be(GV);async function jB(o,e,t,i,n){const s=o.all(e).concat(new jV(i.selectSubwords));s.length===1&&s.unshift(new fv);const r=[],a=[];for(const d of s)r.push(Promise.resolve(d.provideSelectionRanges(e,t,n)).then(u=>{if(Zo(u)&&u.length===t.length)for(let f=0;f<t.length;f++){a[f]||(a[f]=[]);for(const g of u[f])Q.isIRange(g.range)&&Q.containsPosition(g.range,t[f])&&a[f].push(Q.lift(g.range))}},_s));return await Promise.all(r),a.map(d=>{if(d.length===0)return[];d.sort((p,C)=>Ai.isBefore(p.getStartPosition(),C.getStartPosition())?1:Ai.isBefore(C.getStartPosition(),p.getStartPosition())||Ai.isBefore(p.getEndPosition(),C.getEndPosition())?-1:Ai.isBefore(C.getEndPosition(),p.getEndPosition())?1:0);const u=[];let f;for(const p of d)(!f||Q.containsRange(p,f)&&!Q.equalsRange(p,f))&&(u.push(p),f=p);if(!i.selectLeadingAndTrailingWhitespace)return u;const g=[u[0]];for(let p=1;p<u.length;p++){const C=u[p-1],b=u[p];if(b.startLineNumber!==C.startLineNumber||b.endLineNumber!==C.endLineNumber){const y=new Q(C.startLineNumber,e.getLineFirstNonWhitespaceColumn(C.startLineNumber),C.endLineNumber,e.getLineLastNonWhitespaceColumn(C.endLineNumber));y.containsRange(C)&&!y.equalsRange(C)&&b.containsRange(y)&&!b.equalsRange(y)&&g.push(y);const w=new Q(C.startLineNumber,1,C.endLineNumber,e.getLineMaxColumn(C.endLineNumber));w.containsRange(C)&&!w.equalsRange(y)&&b.containsRange(w)&&!b.equalsRange(w)&&g.push(w)}g.push(b)}return g})}Qn.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;In(Vn.isUri(t));const n=o.get(ki).selectionRangeProvider,s=await o.get(fa).createModelReference(t);try{return jB(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},an.None)}finally{s.dispose()}});const KV=Object.freeze({View:Di("view","View"),Help:Di("help","Help"),Test:Di("test","Test"),File:Di("file","File"),Preferences:Di("preferences","Preferences"),Developer:Di({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class vg{constructor(e,t,i,n=null){this.startLineNumbers=e,this.endLineNumbers=t,this.lastLineRelativePosition=i,this.showEndForLine=n}equals(e){return!!e&&this.lastLineRelativePosition===e.lastLineRelativePosition&&this.showEndForLine===e.showEndForLine&&ja(this.startLineNumbers,e.startLineNumbers)&&ja(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new vg([],[],0)}}const jD=WA("stickyScrollViewLayer",{createHTML:o=>o}),RC="data-sticky-line-index",$D="data-sticky-is-line",ZV="data-sticky-is-line-number",UD="data-sticky-is-folding-icon";class XV extends Nt{constructor(e){super(),this._editor=e,this._foldingIconStore=new Tt,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof Hr),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(116).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(116)&&t(),i.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))})),this._register(this._editor.onDidScrollChange(i=>{i.scrollLeftChanged&&t(),i.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange(i=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,i){if(i===void 0&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const n=this._isWidgetHeightZero(e),s=n?void 0:e,r=n?0:this._findLineToRebuildWidgetFrom(e,i);this._renderRootNode(s,t,r),this._previousState=e}_isWidgetHeightZero(e){if(!e)return!0;const t=e.startLineNumbers.length*this._lineHeight+e.lastLineRelativePosition;if(t>0){this._lastLineRelativePosition=e.lastLineRelativePosition;const i=[...e.startLineNumbers];e.showEndForLine!==null&&(i[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];return t===0}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(t!==void 0)return t;const i=this._previousState,n=e.startLineNumbers.findIndex(s=>!i.startLineNumbers.includes(s));return n===-1?0:n}_updateWidgetWidth(){const e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-e.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${e.width-e.verticalScrollbarWidth}px`}_clearStickyLinesFromLine(e){this._foldingIconStore.clear();for(let t=e;t<this._renderedStickyLines.length;t++){const i=this._renderedStickyLines[t];i.lineNumberDomNode.remove(),i.lineDomNode.remove()}this._renderedStickyLines=this._renderedStickyLines.slice(0,e),this._rootDomNode.style.display="none"}_useFoldingOpacityTransition(e){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${e?.5:0}s`)}_setFoldingIconsVisibility(e){for(const t of this._renderedStickyLines){const i=t.foldingIcon;i&&i.setVisible(e?!0:i.isCollapsed)}}async _renderRootNode(e,t,i){if(this._clearStickyLinesFromLine(i),!e)return;for(const a of this._renderedStickyLines)this._updateTopAndZIndexOfStickyLine(a);const n=this._editor.getLayoutInfo(),s=this._lineNumbers.slice(i);for(const[a,d]of s.entries()){const u=this._renderChildNode(a+i,d,t,n);u&&(this._linesDomNode.appendChild(u.lineDomNode),this._lineNumbersDomNode.appendChild(u.lineNumberDomNode),this._renderedStickyLines.push(u))}t&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin));const r=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${r}px`,this._linesDomNodeScrollable.style.height=`${r}px`,this._rootDomNode.style.height=`${r}px`,this._rootDomNode.style.marginLeft="0px",this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(a=>a.scrollWidth))+n.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){this._editor.getOption(111)==="mouseover"&&(this._foldingIconStore.add(Bn(this._lineNumbersDomNode,as.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(Bn(this._lineNumbersDomNode,as.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,i,n){const s=this._editor._getViewModel();if(!s)return;const r=s.coordinatesConverter.convertModelPositionToViewPosition(new Ai(t,1)).lineNumber,a=s.getViewLineRenderingData(r),d=this._editor.getOption(68);let u;try{u=Rg.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{u=[]}const f=new jA(!0,!0,a.content,a.continuesWithWrappedLine,a.isBasicASCII,a.containsRTL,0,a.tokens,u,a.tabSize,a.startVisibleColumn,1,1,1,500,"none",!0,!0,null),g=new zA(2e3),p=VA(f,g);let C;jD?C=jD.createHTML(g.build()):C=g.build();const b=document.createElement("span");b.setAttribute(RC,String(e)),b.setAttribute($D,""),b.setAttribute("role","listitem"),b.tabIndex=0,b.className="sticky-line-content",b.classList.add(`stickyLine${t}`),b.style.lineHeight=`${this._lineHeight}px`,b.innerHTML=C;const y=document.createElement("span");y.setAttribute(RC,String(e)),y.setAttribute(ZV,""),y.className="sticky-line-number",y.style.lineHeight=`${this._lineHeight}px`;const w=n.contentLeft;y.style.width=`${w}px`;const A=document.createElement("span");d.renderType===1||d.renderType===3&&t%10===0?A.innerText=t.toString():d.renderType===2&&(A.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),A.className="sticky-line-number-inner",A.style.lineHeight=`${this._lineHeight}px`,A.style.width=`${n.lineNumbersWidth}px`,A.style.paddingLeft=`${n.lineNumbersLeft}px`,y.appendChild(A);const P=this._renderFoldingIconForLine(i,t);P&&y.appendChild(P.domNode),this._editor.applyFontInfo(b),this._editor.applyFontInfo(A),y.style.lineHeight=`${this._lineHeight}px`,b.style.lineHeight=`${this._lineHeight}px`,y.style.height=`${this._lineHeight}px`,b.style.height=`${this._lineHeight}px`;const M=new YV(e,t,b,y,P,p.characterMapping,b.scrollWidth);return this._updateTopAndZIndexOfStickyLine(M)}_updateTopAndZIndexOfStickyLine(e){var f;const t=e.index,i=e.lineDomNode,n=e.lineNumberDomNode,s=t===this._lineNumbers.length-1,r="0",a="1";i.style.zIndex=s?r:a,n.style.zIndex=s?r:a;const d=`${t*this._lineHeight+this._lastLineRelativePosition+((f=e.foldingIcon)!=null&&f.isCollapsed?1:0)}px`,u=`${t*this._lineHeight}px`;return i.style.top=s?d:u,n.style.top=s?d:u,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(111);if(!e||i==="never")return;const n=e.regions,s=n.findRange(t),r=n.getStartLineNumber(s);if(!(t===r))return;const d=n.isCollapsed(s),u=new QV(d,r,n.getEndLineNumber(s),this._lineHeight);return u.setVisible(this._isOnGlyphMargin?!0:d||i==="always"),u.domNode.setAttribute(UD,""),u}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e<this._renderedStickyLines.length&&this._renderedStickyLines[e].lineDomNode.focus()}getEditorPositionFromNode(e){if(!e||e.children.length>0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=zL(t.characterMapping,e,0);return new Ai(t.lineNumber,i)}getLineNumberFromChildDomNode(e){var t;return((t=this._getRenderedStickyLineFromChildDomNode(e))==null?void 0:t.lineNumber)??null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return t===null||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,RC);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,$D)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,UD)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class YV{constructor(e,t,i,n,s,r,a){this.index=e,this.lineNumber=t,this.lineDomNode=i,this.lineNumberDomNode=n,this.foldingIcon=s,this.characterMapping=r,this.scrollWidth=a}}class QV{constructor(e,t,i,n){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=i,this.dimension=n,this.domNode=document.createElement("div"),this.domNode.style.width=`${n}px`,this.domNode.style.height=`${n}px`,this.domNode.className=Tn.asClassName(e?iv:tv)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class _g{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class Fv{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class $B{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var Ab=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},rp=function(o,e){return function(t,i){e(t,i,o)}},bg;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(bg||(bg={}));var pc;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(pc||(pc={}));let Oy=class extends Nt{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Oc(300)),this._updateOperation=this._register(new Tt),this._editor.getOption(116).defaultModel){case bg.OUTLINE_MODEL:this._modelProviders.push(new Hy(this._editor,n));case bg.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new zy(this._editor,t,n));case bg.INDENTATION_MODEL:this._modelProviders.push(new Wy(this._editor,i));break}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(const t of this._modelProviders){const{statusPromise:i,modelPromise:n}=t.computeStickyModel(e);this._modelPromise=n;const s=await i;if(this._modelPromise!==n)return null;switch(s){case pc.CANCELED:return this._updateOperation.clear(),null;case pc.VALID:return t.stickyModel}}return null}).catch(t=>(Un(t),null))}};Oy=Ab([rp(2,nn),rp(3,ki)],Oy);class UB extends Nt{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,pc.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=Us(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?pc.CANCELED:(this._stickyModel=this.createStickyModel(e,i),pc.VALID):this._invalid()).then(void 0,i=>(Un(i),pc.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let Hy=class extends UB{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return rl.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){var r;const{stickyOutlineElement:i,providerID:n}=this._stickyModelFromOutlineModel(t,(r=this._stickyModel)==null?void 0:r.outlineProviderId),s=this._editor.getModel();return new $B(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(ml.first(e.children.values())instanceof hB){const a=ml.find(e.children.values(),d=>d.id===t);if(a)i=a.children;else{let d="",u=-1,f;for(const[g,p]of e.children.entries()){const C=this._findSumOfRangesOfGroup(p);C>u&&(f=p,u=C,d=p.id)}t=d,i=f.children}}else i=e.children;const n=[],s=Array.from(i.values()).sort((a,d)=>{const u=new _g(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),f=new _g(d.symbol.range.startLineNumber,d.symbol.range.endLineNumber);return this._comparator(u,f)});for(const a of s)n.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new Fv(void 0,n,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const i=[];for(const s of e.children.values())if(s.symbol.selectionRange.startLineNumber!==s.symbol.range.endLineNumber)if(s.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(s,s.symbol.selectionRange.startLineNumber));else for(const r of s.children.values())i.push(this._stickyModelFromOutlineElement(r,s.symbol.selectionRange.startLineNumber));i.sort((s,r)=>this._comparator(s.range,r.range));const n=new _g(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new Fv(n,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof kE?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};Hy=Ab([rp(1,ki)],Hy);class qB extends UB{constructor(e){super(e),this._foldingLimitReporter=new cB(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new $B(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new Fv(void 0,[],void 0);for(let s=0;s<t;s++){const r=e.getParentIndex(s);let a;r!==-1?a=i[r]:a=n;const d=new Fv(new _g(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(d),i.push(d)}return n}}let Wy=class extends qB{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new W9(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};Wy=Ab([rp(1,Vs)],Wy);let zy=class extends qB{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=jc.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new z9(e.getModel(),n,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){var t;return((t=this.provider)==null?void 0:t.compute(e))??null}};zy=Ab([rp(2,ki)],zy);var JV=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},qD=function(o,e){return function(t,i){e(t,i,o)}};class ej{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let Vy=class extends Nt{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new rn),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new Tt),this._updateSoon=this._register(new Ps(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(116)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(116).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(ts(()=>{var t;(t=this._stickyModelProvider)==null||t.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){var e;return(e=this._model)==null?void 0:e.version}updateStickyModelProvider(){var t;(t=this._stickyModelProvider)==null||t.dispose(),this._stickyModelProvider=null;const e=this._editor;e.hasModel()&&(this._stickyModelProvider=new Oy(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new qs,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return e===-1?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,n,s){if(t.children.length===0)return;let r=s;const a=[];for(let f=0;f<t.children.length;f++){const g=t.children[f];g.range&&a.push(g.range.startLineNumber)}const d=this.updateIndex(km(a,e.startLineNumber,(f,g)=>f-g)),u=this.updateIndex(km(a,e.startLineNumber+n,(f,g)=>f-g));for(let f=d;f<=u;f++){const g=t.children[f];if(!g)return;if(g.range){const p=g.range.startLineNumber,C=g.range.endLineNumber;e.startLineNumber<=C+1&&p-1<=e.endLineNumber&&p!==r&&(r=p,i.push(new ej(p,C-1,n+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,g,i,n+1,p))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,g,i,n,s)}}getCandidateStickyLinesIntersecting(e){var n,s;if(!((n=this._model)!=null&&n.element))return[];let t=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,-1);const i=(s=this._editor._getViewModel())==null?void 0:s.getHiddenAreas();if(i)for(const r of i)t=t.filter(a=>!(a.startLineNumber>=r.startLineNumber&&a.endLineNumber<=r.endLineNumber+1));return t}};Vy=JV([qD(1,ki),qD(2,Vs)],Vy);var tj=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},kh=function(o,e){return function(t,i){e(t,i,o)}},jy,wu;let Il=(wu=class extends Nt{constructor(e,t,i,n,s,r,a){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=n,this._contextKeyService=a,this._sessionStore=new Tt,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._stickyScrollWidget=new XV(this._editor),this._stickyLineCandidateProvider=new Vy(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=vg.Empty,this._onDidResize(),this._readConfiguration();const d=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(f=>{this._readConfigurationChange(f)})),this._register(Bn(d,as.CONTEXT_MENU,async f=>{this._onContextMenu(Id(d),f)})),this._stickyScrollFocusedContextKey=q.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=q.stickyScrollVisible.bindTo(this._contextKeyService);const u=this._register(F0(d));this._register(u.onDidBlur(f=>{this._positionRevealed===!1&&d.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(u.onDidFocus(f=>{this.focus()})),this._registerMouseListeners(),this._register(Bn(d,as.MOUSE_DOWN,f=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(jy.ID)}_disposeFocusStickyScrollStore(){var e;this._stickyScrollFocusedContextKey.set(!1),(e=this._focusDisposableStore)==null||e.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new Tt,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1&&this._focusNav(!0)}focusPrevious(){this._focusedStickyElementIndex>0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(Q.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new Tt),t=this._register(new xb(this._editor,{extractLineNumberFromMouseEvent:s=>{const r=this._stickyScrollWidget.getEditorPositionFromNode(s.target.element);return r?r.lineNumber:0}})),i=s=>{if(!this._editor.hasModel()||s.target.type!==12||s.target.detail!==this._stickyScrollWidget.getId())return null;const r=s.target.element;if(!r||r.innerText!==r.innerHTML)return null;const a=this._stickyScrollWidget.getEditorPositionFromNode(r);return a?{range:new Q(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(Sl(n,as.CLICK,s=>{if(s.ctrlKey||s.altKey||s.metaKey||!s.leftButton)return;if(s.shiftKey){const u=this._stickyScrollWidget.getLineIndexFromChildDomNode(s.target);if(u===null)return;const f=new Ai(this._endLineNumbers[u],1);this._revealLineInCenterIfOutsideViewport(f);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(s.target)){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);this._toggleFoldingRegionForLine(u);return}if(!this._stickyScrollWidget.isInStickyLine(s.target))return;let d=this._stickyScrollWidget.getEditorPositionFromNode(s.target);if(!d){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);if(u===null)return;d=new Ai(u,1)}this._revealPosition(d)})),this._register(Sl(n,as.MOUSE_MOVE,s=>{if(s.shiftKey){const r=this._stickyScrollWidget.getLineIndexFromChildDomNode(s.target);if(r===null||this._showEndForLine!==null&&this._showEndForLine===r)return;this._showEndForLine=r,this._renderStickyScroll();return}this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(Bn(n,as.MOUSE_LEAVE,s=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([s,r])=>{const a=i(s);if(!a||!s.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}const{range:d,textElement:u}=a;if(!d.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=d,e.clear();else if(u.style.textDecoration==="underline")return;const f=new qs;e.add(ts(()=>f.dispose(!0)));let g;Gp(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Ai(d.startLineNumber,d.startColumn+1),!1,f.token).then((p=>{if(!f.token.isCancellationRequested)if(p.length!==0){this._candidateDefinitionsLength=p.length;const C=u;g!==C?(e.clear(),g=C,g.style.textDecoration="underline",e.add(ts(()=>{g.style.textDecoration="none"}))):g||(g=C,g.style.textDecoration="underline",e.add(ts(()=>{g.style.textDecoration="none"})))}else e.clear()}))})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async s=>{if(s.target.type!==12||s.target.detail!==this._stickyScrollWidget.getId())return;const r=this._stickyScrollWidget.getEditorPositionFromNode(s.target.element);r&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:r.lineNumber,column:1})),this._instaService.invokeFunction(q5,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new VL(e,t);this._contextMenuService.showContextMenu({menuId:ri.StickyScrollContext,getAnchor:()=>i})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||e===null)return;const t=this._stickyScrollWidget.getRenderedStickyLine(e),i=t==null?void 0:t.foldingIcon;if(!i)return;N9(this._foldingModel,Number.MAX_VALUE,[e]),i.isCollapsed=!i.isCollapsed;const n=(i.isCollapsed?this._editor.getTopForLineNumber(i.foldingEndLine):this._editor.getTopForLineNumber(i.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(n),this._renderStickyScroll(e)}_readConfiguration(){const e=this._editor.getOption(116);if(e.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),this._enabled=!1;return}else e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(i=>{i.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(i=>this._onTokensChange(i))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(68).renderType===2&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>{this._showEndForLine=void 0,this._renderStickyScroll(0)}))}_readConfigurationChange(e){(e.hasChanged(116)||e.hasChanged(73)||e.hasChanged(67)||e.hasChanged(111)||e.hasChanged(68))&&this._readConfiguration(),e.hasChanged(68)&&this._renderStickyScroll(0)}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const i of t)for(const n of e.ranges)if(i>=n.fromLineNumber&&i<=n.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){const t=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(t*.25)}async _renderStickyScroll(e){const t=this._editor.getModel();if(!t||t.isTooLargeForTokenization()){this._resetState();return}const i=this._updateAndGetMinRebuildFromLine(e),n=this._stickyLineCandidateProvider.getVersionId();if(n===void 0||n===t.getVersionId())if(!this._focused)await this._updateState(i);else if(this._focusedStickyElementIndex===-1)await this._updateState(i),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const r=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];await this._updateState(i),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(r)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}_updateAndGetMinRebuildFromLine(e){if(e!==void 0){const t=this._minRebuildFromLine!==void 0?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(e,t)}return this._minRebuildFromLine}async _updateState(e){var i;this._minRebuildFromLine=void 0,this._foldingModel=await((i=jc.get(this._editor))==null?void 0:i.getFoldingModel())??void 0,this._widgetState=this.findScrollWidgetState();const t=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(t),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=vg.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(116).maxLineCount),i=this._editor.getScrollTop();let n=0;const s=[],r=[],a=this._editor.getVisibleRanges();if(a.length!==0){const d=new _g(a[0].startLineNumber,a[a.length-1].endLineNumber),u=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(d);for(const f of u){const g=f.startLineNumber,p=f.endLineNumber,C=f.nestingDepth;if(p-g>0){const b=(C-1)*e,y=C*e,w=this._editor.getBottomForLineNumber(g)-i,A=this._editor.getTopForLineNumber(p)-i,P=this._editor.getBottomForLineNumber(p)-i;if(b>A&&b<=P){s.push(g),r.push(p+1),n=P-y;break}else y>w&&y<=P&&(s.push(g),r.push(p+1));if(s.length===t)break}}}return this._endLineNumbers=r,new vg(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},jy=wu,wu.ID="store.contrib.stickyScrollController",wu);Il=jy=tj([kh(1,of),kh(2,ki),kh(3,nn),kh(4,Vs),kh(5,fr),kh(6,Fn)],Il);class ij extends Do{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...Di("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:S({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:Di("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:KV.View,toggled:{condition:$e.equals("config.editor.stickyScroll.enabled",!0),title:S("stickyScroll","Sticky Scroll"),mnemonicTitle:S({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:ri.CommandPalette},{id:ri.MenubarAppearanceMenu,group:"4_editor",order:3},{id:ri.StickyScrollContext}]})}async run(e){const t=e.get(ns),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const kb=100;class nj extends la{constructor(){super({id:"editor.action.focusStickyScroll",title:{...Di("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:S({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:$e.and($e.has("config.editor.stickyScroll.enabled"),q.stickyScrollVisible),menu:[{id:ri.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focus()}}class sj extends la{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:Di("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:kb,primary:18}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusNext()}}class oj extends la{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:Di("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:kb,primary:16}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusPrevious()}}class rj extends la{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:Di("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:kb,primary:3}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.goToFocused()}}class aj extends la{constructor(){super({id:"editor.action.selectEditor",title:Di("selectEditor.title","Select Editor"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:kb,primary:9}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.selectEditor()}}dn(Il.ID,Il,1);zn(ij);zn(nj);zn(oj);zn(sj);zn(rj);zn(aj);var GB=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},tg=function(o,e){return function(t,i){e(t,i,o)}};class lj{constructor(e,t,i,n,s,r){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=n,this.command=s,this.completion=r}}let $y=class extends jL{constructor(e,t,i,n,s,r){super(s.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=n,this._suggestMemoryService=r}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn<i.endColumn&&this.completionModel.getIncompleteProvider().size===0}get items(){const e=[],{items:t}=this.completionModel,i=this._suggestMemoryService.select(this.model,{lineNumber:this.line,column:this.word.endColumn+this.completionModel.lineContext.characterCountDelta},t),n=ml.slice(t,i),s=ml.slice(t,0,i);let r=5;for(const a of ml.concat(n,s)){if(a.score===Pg.Default)continue;const d=new Q(a.editStart.lineNumber,a.editStart.column,a.editInsertEnd.lineNumber,a.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),u=a.completion.insertTextRules&&a.completion.insertTextRules&4?{snippet:a.completion.insertText}:a.completion.insertText;e.push(new lj(d,u,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(an.None)}return e}};$y=GB([tg(5,yb)],$y);let Uy=class extends Nt{constructor(e,t,i,n){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=i,this._editorService=n,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,i,n){var C;if(i.selectedSuggestionInfo)return;let s;for(const b of this._editorService.listCodeEditors())if(b.getModel()===e){s=b;break}if(!s)return;const r=s.getOption(90);if(Zh.isAllOff(r))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const a=e.tokenization.getLineTokens(t.lineNumber),d=a.getStandardTokenType(a.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(Zh.valueFor(r,d)!=="inline")return;let u=e.getWordAtPosition(t),f;if(u!=null&&u.word||(f=this._getTriggerCharacterInfo(e,t)),!(u!=null&&u.word)&&!f||(u||(u=e.getWordUntilPosition(t)),u.endColumn!==t.column))return;let g;const p=e.getValueInRange(new Q(t.lineNumber,1,t.lineNumber,t.column));if(!f&&((C=this._lastResult)!=null&&C.canBeReused(e,t.lineNumber,u))){const b=new LD(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=b,this._lastResult.acquire(),g=this._lastResult}else{const b=await V9(this._languageFeatureService.completionProvider,e,t,new Yg(void 0,pv.createSuggestFilter(s).itemKind,f==null?void 0:f.providers),f&&{triggerKind:1,triggerCharacter:f.ch},n);let y;b.needsClipboard&&(y=await this._clipboardService.readText());const w=new oc(b.items,t.column,new LD(p,0),gv.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},y);g=new $y(e,t.lineNumber,u,w,b,this._suggestMemoryService)}return this._lastResult=g,g}handleItemDidShow(e,t){t.completion.resolve(an.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(Q.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),n=new Set;for(const r of this._languageFeatureService.completionProvider.all(e))(s=r.triggerCharacters)!=null&&s.includes(i)&&n.add(r);if(n.size!==0)return{providers:n,ch:i}}};Uy=GB([tg(0,ki),tg(1,rf),tg(2,yb),tg(3,bs)],Uy);lf(Uy);class cj extends bt{constructor(){super({id:"editor.action.forceRetokenize",label:S("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const n=new Oo;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}Be(cj);const D_=class D_ extends Do{constructor(){super({id:D_.ID,title:Di({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:Di("tabMovesFocusDescriptions","Determines whether the tab key moves focus around the workbench or inserts the tab character in the current editor. This is also called tab trapping, tab navigation, or tab focus mode.")},f1:!0})}run(){const t=!t8.getTabFocusMode();t8.setTabFocusMode(t),t?Nr(S("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):Nr(S("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};D_.ID="editor.action.toggleTabFocusMode";let qy=D_;zn(qy);var dj=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},GD=function(o,e){return function(t,i){e(t,i,o)}};let Gy=class extends Nt{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=e}constructor(e,t,i={},n,s){super(),this._link=t,this._hoverService=n,this._enabled=!0,this.el=li(e,gi("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??Z_("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new tC(this.el,"click")),a=this._register(new tC(this.el,"keypress")),d=Is.chain(a.event,g=>g.map(p=>new Yw(p)).filter(p=>p.keyCode===3)),u=this._register(new tC(this.el,$L.Tap)).event;this._register(aA.addTarget(this.el));const f=Is.any(r.event,d,u);this._register(f(g=>{this.enabled&&(wm.stop(g,!0),i!=null&&i.opener?i.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e??"":!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};Gy=dj([GD(3,Lp),GD(4,da)],Gy);var KB=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},ZB=function(o,e){return function(t,i){e(t,i,o)}};const uj=26;let Ky=class extends Nt{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Zy))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{var t;this.hide(),(t=e.onClose)==null||t.call(e)}}),this._editor.setBanner(this.banner.element,uj)}};Ky=KB([ZB(1,nn)],Ky);let Zy=class extends Nt{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(cf,{}),this.element=gi("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){if(e.ariaLabel)return e.ariaLabel;if(typeof e.message=="string")return e.message}getBannerMessage(e){if(typeof e=="string"){const t=gi("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Wa(this.element)}show(e){Wa(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=li(this.element,gi("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(gi(`div${Tn.asCSSSelector(e.icon)}`));const n=li(this.element,gi("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=li(this.element,gi("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(Gy,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=li(this.element,gi("div.action-container"));this.actionBar=this._register(new Ag(s)),this.actionBar.push(this._register(new T0("banner.close","Close Banner",Tn.asClassName(BA),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Zy=KB([ZB(0,nn)],Zy);var iS=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)}};const hj=ms("extensions-warning-message",Gi.warning,S("warningIcon","Icon shown with a warning message in the extensions editor."));var D0;let ap=(D0=class extends Nt{constructor(e,t,i,n){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=s=>{if(s&&s.hasMore){if(this._bannerClosed)return;const r=Math.max(s.ambiguousCharacterCount,s.nonBasicAsciiCharacterCount,s.invisibleCharacterCount);let a;if(s.nonBasicAsciiCharacterCount>=r)a={message:S("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new cp};else if(s.ambiguousCharacterCount>=r)a={message:S("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new qu};else if(s.invisibleCharacterCount>=r)a={message:S("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new lp};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:hj,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(Ky,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(126),this._register(i.onDidChangeTrust(s=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(s=>{s.hasChanged(126)&&(this._options=e.getOption(126),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const e=fj(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(i=>i===!1))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(i=>i.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(i=>i==="_os"?new Intl.NumberFormat().resolvedOptions().locale:i==="_vscode"?UL:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new Xy(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new gj(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},D0.ID="editor.contrib.unicodeHighlighter",D0);ap=iS([c0(1,Nl),c0(2,qL),c0(3,nn)],ap);function fj(o,e){return{nonBasicASCII:e.nonBasicASCII===iC?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===iC?!o:e.includeComments,includeStrings:e.includeStrings===iC?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let Xy=class extends Nt{constructor(e,t,i,n){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=n,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Ps(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed()||this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const n of t.ranges)i.push({range:n,options:Lv.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!_k(t,e))return null;const i=t.getValueInRange(e.range);return{reason:YB(i,this._options),inComment:Ck(t,e),inString:bk(t,e)}}};Xy=iS([c0(3,Nl)],Xy);class gj extends Nt{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Ps(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const n of e){const s=Ek.computeUnicodeHighlights(this._model,this._options,n);for(const r of s.ranges)i.ranges.push(r);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||s.hasMore}if(!i.hasMore)for(const n of i.ranges)t.push({range:n,options:Lv.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return _k(t,e)?{reason:YB(i,this._options),inComment:Ck(t,e),inString:bk(t,e)}:null}}const XB=S("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let Yy=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),n=this._editor.getContribution(ap.ID);if(!n)return[];const s=[],r=new Set;let a=300;for(const d of t){const u=n.getDecorationInfo(d);if(!u)continue;const g=i.getValueInRange(d.range).codePointAt(0),p=NC(g);let C;switch(u.reason.kind){case 0:{UA(u.reason.confusableWith)?C=S("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",p,NC(u.reason.confusableWith.codePointAt(0))):C=S("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",p,NC(u.reason.confusableWith.codePointAt(0)));break}case 1:C=S("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",p);break;case 2:C=S("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",p);break}if(r.has(C))continue;r.add(C);const b={codePoint:g,reason:u.reason,inComment:u.inComment,inString:u.inString},y=S("unicodeHighlight.adjustSettings","Adjust settings"),w=`command:${Iv.ID}?${encodeURIComponent(JSON.stringify(b))}`,A=new ao("",!0).appendMarkdown(C).appendText(" ").appendLink(w,y,XB);s.push(new Ir(this,d.range,[A],!1,a++))}return s}renderHoverParts(e,t){return jM(e,t,this._editor,this._languageService,this._openerService)}};Yy=iS([c0(1,ha),c0(2,da)],Yy);function Qy(o){return`U+${o.toString(16).padStart(4,"0")}`}function NC(o){let e=`\`${Qy(o)}\``;return yk.isInvisibleCharacter(o)||(e+=` "${`${pj(o)}`}"`),e}function pj(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function YB(o,e){return Ek.computeUnicodeHighlightReason(o,e)}const A_=class A_{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i=`${e}${t}`;let n=this.map.get(i);return n||(n=xn.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,n)),n}};A_.instance=new A_;let Lv=A_;class xj extends bt{constructor(){super({id:qu.ID,label:S("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e==null?void 0:e.get(ns);n&&this.runAction(n)}async runAction(e){await e.updateValue(Al.includeComments,!1,2)}}class mj extends bt{constructor(){super({id:qu.ID,label:S("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e==null?void 0:e.get(ns);n&&this.runAction(n)}async runAction(e){await e.updateValue(Al.includeStrings,!1,2)}}const k_=class k_ extends bt{constructor(){super({id:k_.ID,label:S("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(ns);n&&this.runAction(n)}async runAction(e){await e.updateValue(Al.ambiguousCharacters,!1,2)}};k_.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let qu=k_;const B_=class B_ extends bt{constructor(){super({id:B_.ID,label:S("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(ns);n&&this.runAction(n)}async runAction(e){await e.updateValue(Al.invisibleCharacters,!1,2)}};B_.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let lp=B_;const F_=class F_ extends bt{constructor(){super({id:F_.ID,label:S("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(ns);n&&this.runAction(n)}async runAction(e){await e.updateValue(Al.nonBasicASCII,!1,2)}};F_.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let cp=F_;const L_=class L_ extends bt{constructor(){super({id:L_.ID,label:S("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,i){const{codePoint:n,reason:s,inString:r,inComment:a}=i,d=String.fromCodePoint(n),u=e.get(Tl),f=e.get(ns);function g(b){return yk.isInvisibleCharacter(b)?S("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",Qy(b)):S("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${Qy(b)} "${d}"`)}const p=[];if(s.kind===0)for(const b of s.notAmbiguousInLocales)p.push({label:S("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',b),run:async()=>{_j(f,[b])}});if(p.push({label:g(n),run:()=>vj(f,[n])}),a){const b=new xj;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(r){const b=new mj;p.push({label:b.label,run:async()=>b.runAction(f)})}if(s.kind===0){const b=new qu;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(s.kind===1){const b=new lp;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(s.kind===2){const b=new cp;p.push({label:b.label,run:async()=>b.runAction(f)})}else bj(s);const C=await u.pick(p,{title:XB});C&&await C.run()}};L_.ID="editor.action.unicodeHighlight.showExcludeOptions";let Iv=L_;async function vj(o,e){const t=o.getValue(Al.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(Al.allowedCharacters,i,2)}async function _j(o,e){var n;const t=(n=o.inspect(Al.allowedLocales).user)==null?void 0:n.value;let i;typeof t=="object"&&t?i=Object.assign({},t):i={};for(const s of e)i[s]=!0;await o.updateValue(Al.allowedLocales,i,2)}function bj(o){throw new Error(`Unexpected value: ${o}`)}Be(qu);Be(lp);Be(cp);Be(Iv);dn(ap.ID,ap,1);th.register(Yy);var Cj=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},KD=function(o,e){return function(t,i){e(t,i,o)}};const QB="ignoreUnusualLineTerminators";function Ej(o,e,t){o.setModelProperty(e.uri,QB,t)}function yj(o,e){return o.getModelProperty(e.uri,QB)}var A0;let Pv=(A0=class extends Nt{constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(127),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(127)&&(this._config=this._editor.getOption(127),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(n=>{n.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config==="off"||!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||yj(this._codeEditorService,e)===!0||this._editor.getOption(92))return;if(this._config==="auto"){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=await this._dialogService.confirm({title:S("unusualLineTerminators.title","Unusual Line Terminators"),message:S("unusualLineTerminators.message","Detected unusual line terminators"),detail:S("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",Ua(e.uri)),primaryButton:S({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:S("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){Ej(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},A0.ID="editor.contrib.unusualLineTerminatorsDetector",A0);Pv=Cj([KD(1,Jw),KD(2,bs)],Pv);dn(Pv.ID,Pv,1);var wj=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},Sj=function(o,e){return function(t,i){e(t,i,o)}};class ZD{constructor(){this.selector={language:"*"}}provideDocumentHighlights(e,t,i){const n=[],s=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});return s?e.isDisposed()?void 0:e.findMatches(s.word,!0,!1,!0,i8,!1).map(a=>({range:a.range,kind:Fm.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new Nc,r=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!r)return Promise.resolve(s);for(const a of[e,...i]){if(a.isDisposed())continue;const u=a.findMatches(r.word,!0,!1,!0,i8,!1).map(f=>({range:f.range,kind:Fm.Text}));u&&s.set(a.uri,u)}return s}}let Jy=class extends Nt{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new ZD)),this._register(e.multiDocumentHighlightProvider.register("*",new ZD))}};Jy=wj([Sj(0,ki)],Jy);var JB=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},pm=function(o,e){return function(t,i){e(t,i,o)}},fs,ew;const nS=new Cn("hasWordHighlights",!1);function eF(o,e,t,i){const n=o.ordered(e);return Gw(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,_s)),s=>s!=null).then(s=>{if(s){const r=new Nc;return r.set(e.uri,s),r}return new Nc})}function Dj(o,e,t,i,n,s){const r=o.ordered(e);return Gw(r.map(a=>()=>{const d=s.filter(u=>KL(u)).filter(u=>ZL(a.selector,u.uri,u.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,d,n)).then(void 0,_s)}),a=>a!=null)}class tF{constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=Us(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new Q(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const n=t.startLineNumber,s=t.startColumn,r=t.endColumn,a=this._getCurrentWordRange(e,t);let d=!!(this._wordRange&&this._wordRange.equalsRange(a));for(let u=0,f=i.length;!d&&u<f;u++){const g=i.getRange(u);g&&g.startLineNumber===n&&g.startColumn<=s&&g.endColumn>=r&&(d=!0)}return d}cancel(){this.result.cancel()}}class Aj extends tF{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return eF(this._providers,e,t.getPosition(),n).then(s=>s||new Nc)}}class kj extends tF{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return Dj(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new Nc)}}function Bj(o,e,t,i,n){return new Aj(e,t,n,o)}function Fj(o,e,t,i,n,s){return new kj(e,t,n,o,s)}ko("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(ki),n=await eF(i.documentHighlightProvider,e,t,an.None);return n==null?void 0:n.get(e.uri)});var Rc;let tw=(Rc=class{constructor(e,t,i,n,s){this.toUnhook=new Tt,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Nc,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new Oc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=nS.bindTo(n),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(r=>{this._ignorePositionChangeEvent||this.occurrencesHighlight!=="off"&&this.runDelayer.trigger(()=>{this._onPositionChanged(r)})})),this.toUnhook.add(e.onDidFocusEditorText(r=>{this.occurrencesHighlight!=="off"&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}))})),this.toUnhook.add(e.onDidChangeModelContent(r=>{GL(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():fs.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(r=>{var d,u;const a=this.editor.getOption(81);if(this.occurrencesHighlight!==a)switch(this.occurrencesHighlight=a,a){case"off":this._stopAll();break;case"singleFile":this._stopAll((u=(d=fs.query)==null?void 0:d.modelInfo)==null?void 0:u.model);break;case"multiFile":fs.query&&this._run(!0);break;default:console.warn("Unknown occurrencesHighlight setting value:",a);break}})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,fs.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(Q.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),i=(e.findIndex(s=>s.containsPosition(this.editor.getPosition()))+1)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const s=this._getWord();if(s){const r=this.editor.getModel().getLineContent(n.startLineNumber);Nr(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),i=(e.findIndex(s=>s.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const s=this._getWord();if(s){const r=this.editor.getModel().getLineContent(n.startLineNumber);Nr(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=fs.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),fs.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(e){const t=this.codeEditorService.listCodeEditors(),i=[];for(const n of t){if(!n.hasModel()||Em(n.getModel().uri,e==null?void 0:e.uri))continue;const s=fs.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=Uc.get(n);r!=null&&r.wordHighlighter&&r.wordHighlighter.decorations.length>0&&(r.wordHighlighter.decorations.clear(),r.wordHighlighter.workerRequest=null,r.wordHighlighter._hasWordHighlights.set(!1))}for(const n of i)fs.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==bo.vscodeNotebookCell&&((i=(t=fs.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==bo.vscodeNotebookCell?(fs.query=null,this._run()):(n=fs.query)!=null&&n.modelInfo&&(fs.query.modelInfo=null)),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(e){this._removeAllDecorations(e),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){var t;if(this.occurrencesHighlight==="off"){this._stopAll();return}if(e.reason!==3&&((t=this.editor.getModel())==null?void 0:t.uri.scheme)!==bo.vscodeNotebookCell){this._stopAll();return}this._run()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:i})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===bo.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const d=a.getModel();d&&d!==e&&d.uri.scheme===bo.vscodeNotebookCell&&s.push(d)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!wk(s))continue;const r=s.getModel();r&&e===r.modified&&i.push(r.modified)}if(i.length)return i;if(this.occurrencesHighlight==="singleFile")return[];for(const s of n){const r=s.getModel();r&&r!==e&&i.push(r)}return i}_run(e){var n,s;let t;if(this.editor.hasTextFocus()){const r=this.editor.getSelection();if(!r||r.startLineNumber!==r.endLineNumber){fs.query=null,this._stopAll();return}const a=r.startColumn,d=r.endColumn,u=this._getWord();if(!u||u.startColumn>a||u.endColumn<d){fs.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),fs.query={modelInfo:{model:this.model,selection:r},word:u}}else if(!fs.query){this._stopAll();return}if(this.lastCursorPositionChangeTime=new Date().getTime(),t)this.workerRequestCompleted&&this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else if(Em(this.editor.getModel().uri,(n=fs.query.modelInfo)==null?void 0:n.model.uri)){if(!e){const d=this.decorations.getRanges();for(const u of d)if(u.containsPosition(this.editor.getPosition()))return}this._stopAll(e?this.model:void 0);const r=++this.workerRequestTokenId;this.workerRequestCompleted=!1;const a=this.getOtherModelsToHighlight(this.editor.getModel());if(!fs.query||!fs.query.modelInfo||fs.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(fs.query.modelInfo.model,fs.query.modelInfo.selection,fs.query.word,a),(s=this.workerRequest)==null||s.result.then(d=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=d||[],this._beginRenderDecorations())},Un)}}computeWithModel(e,t,i,n){return n.length?Fj(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):Bj(this.providers,e,t,i,this.editor.getOption(132))}_beginRenderDecorations(){const e=new Date().getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},t-e)}renderDecorations(){var t,i,n;this.renderDecorationsTimer=-1;const e=this.codeEditorService.listCodeEditors();for(const s of e){const r=Uc.get(s);if(!r)continue;const a=[],d=(t=s.getModel())==null?void 0:t.uri;if(d&&this.workerRequestValue.has(d)){const u=fs.storedDecorationIDs.get(d),f=this.workerRequestValue.get(d);if(f)for(const p of f)p.range&&a.push({range:p.range,options:vz(p.kind)});let g=[];s.changeDecorations(p=>{g=p.deltaDecorations(u??[],a)}),fs.storedDecorationIDs=fs.storedDecorationIDs.set(d,g),a.length>0&&((i=r.wordHighlighter)==null||i.decorations.set(a),(n=r.wordHighlighter)==null||n._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}},fs=Rc,Rc.storedDecorationIDs=new Nc,Rc.query=null,Rc);tw=fs=JB([pm(4,bs)],tw);var Su;let Uc=(Su=class extends Nt{static get(e){return e.getContribution(ew.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new tw(e,i.documentHighlightProvider,i.multiDocumentHighlightProvider,t,n))};this._register(e.onDidChangeModel(r=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),s()})),s()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){var e;(e=this._wordHighlighter)==null||e.moveNext()}moveBack(){var e;(e=this._wordHighlighter)==null||e.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}},ew=Su,Su.ID="editor.contrib.wordHighlighter",Su);Uc=ew=JB([pm(1,Fn),pm(2,ki),pm(3,bs)],Uc);class iF extends bt{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Uc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class Lj extends iF{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:S("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:nS,kbOpts:{kbExpr:q.editorTextFocus,primary:65,weight:100}})}}class Ij extends iF{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:S("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:nS,kbOpts:{kbExpr:q.editorTextFocus,primary:1089,weight:100}})}}class Pj extends bt{constructor(){super({id:"editor.action.wordHighlight.trigger",label:S("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=Uc.get(t);n&&n.restoreViewState(!0)}}dn(Uc.ID,Uc,0);Be(Lj);Be(Ij);Be(Pj);lf(Jy);class Bb extends Ao{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Qu(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,d=r.map(u=>{const f=new Ai(u.positionLineNumber,u.positionColumn),g=this._move(n,s,f,this._wordNavigationType,a);return this._moveTo(u,g,this._inSelectionMode)});if(s.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,d.map(u=>XL.fromModelSelection(u))),d.length===1){const u=new Ai(d[0].positionLineNumber,d[0].positionColumn);t.revealPosition(u,0)}}_moveTo(e,t,i){return i?new ji(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new ji(t.lineNumber,t.column,t.lineNumber,t.column)}}class Zc extends Bb{_move(e,t,i,n,s){return Rp.moveWordLeft(e,t,i,n,s)}}class Xc extends Bb{_move(e,t,i,n,s){return Rp.moveWordRight(e,t,i,n)}}class Tj extends Zc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class Mj extends Zc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class Rj extends Zc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:$e.and(q.textInputFocus,(e=$e.and(J_,eb))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class Nj extends Zc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class Oj extends Zc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class Hj extends Zc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:$e.and(q.textInputFocus,(e=$e.and(J_,eb))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class Wj extends Zc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(tb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class zj extends Zc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(tb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Vj extends Xc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class jj extends Xc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:$e.and(q.textInputFocus,(e=$e.and(J_,eb))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class $j extends Xc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class Uj extends Xc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class qj extends Xc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:$e.and(q.textInputFocus,(e=$e.and(J_,eb))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class Gj extends Xc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class Kj extends Xc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(tb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Zj extends Xc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(tb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Fb extends Ao{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(Vs);if(!t.hasModel())return;const s=Qu(t.getOption(132),t.getOption(131)),r=t.getModel(),a=t.getSelections(),d=t.getOption(6),u=t.getOption(11),f=n.getLanguageConfiguration(r.getLanguageId()).getAutoClosingPairs(),g=t._getViewModel(),p=a.map(C=>{const b=this._delete({wordSeparators:s,model:r,selection:C,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:d,autoClosingQuotes:u,autoClosingPairs:f,autoClosedCharacters:g.getCursorAutoClosedCharacters()},this._wordNavigationType);return new Ep(b,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class sS extends Fb{_delete(e,t){const i=Rp.deleteWordLeft(e,t);return i||new Q(1,1,1,1)}}class oS extends Fb{_delete(e,t){const i=Rp.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new Q(n,s,n,s)}}class Xj extends sS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:q.writable})}}class Yj extends sS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:q.writable})}}class Qj extends sS{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class Jj extends oS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:q.writable})}}class e$ extends oS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:q.writable})}}class t$ extends oS{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class i$ extends bt{constructor(){super({id:"deleteInsideWord",precondition:q.writable,label:S("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=Qu(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(d=>{const u=Rp.deleteInsideWord(n,s,d);return new Ep(u,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}Ii(new Tj);Ii(new Mj);Ii(new Rj);Ii(new Nj);Ii(new Oj);Ii(new Hj);Ii(new Vj);Ii(new jj);Ii(new $j);Ii(new Uj);Ii(new qj);Ii(new Gj);Ii(new Wj);Ii(new zj);Ii(new Kj);Ii(new Zj);Ii(new Xj);Ii(new Yj);Ii(new Qj);Ii(new Jj);Ii(new e$);Ii(new t$);Be(i$);class n$ extends Fb{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=ib.deleteWordPartLeft(e);return i||new Q(1,1,1,1)}}class s$ extends Fb{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=ib.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new Q(n,s,n,s)}}class nF extends Bb{_move(e,t,i,n,s){return ib.moveWordPartLeft(e,t,i,s)}}class o$ extends nF{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}Qn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class r$ extends nF{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}Qn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class sF extends Bb{_move(e,t,i,n,s){return ib.moveWordPartRight(e,t,i)}}class a$ extends sF{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class l$ extends sF{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}Ii(new n$);Ii(new s$);Ii(new o$);Ii(new r$);Ii(new a$);Ii(new l$);const yS=class yS extends Nt{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=Mo.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new ao(S("editor.simple.readonly","Cannot edit in read-only input")):t=new ao(S("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};yS.ID="editor.contrib.readOnlyMessageController";let Tv=yS;dn(Tv.ID,Tv,2);var c$=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},XD=function(o,e){return function(t,i){e(t,i,o)}};let iw=class extends Nt{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Xo(this,void 0);const n=Pd("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=Pd("_textModel.onDidChangeContent",Is.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(Bp(async(r,a)=>{n.read(r),s.read(r);const d=a.add(new JL),u=await this._outlineModelService.getOrCreate(this._textModel,d.token);a.isDisposed||this._currentModel.set(u,void 0)}))}getBreadcrumbItems(e,t){const i=this._currentModel.read(t);if(!i)return[];const n=i.asListOfDocumentSymbols().filter(s=>e.contains(s.range.startLineNumber)&&!e.contains(s.range.endLineNumber));return n.sort(QL(Ip(s=>s.range.endLineNumber-s.range.startLineNumber,q_))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};iw=c$([XD(1,ki),XD(2,Xp)],iw);YL.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(iw,o));const wS=class wS extends Nt{constructor(e){super(),this.editor=e,this.widget=null,i1&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new nw(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};wS.ID="editor.contrib.iPadShowKeyboard";let Mv=wS;const I_=class I_ extends Nt{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Bn(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(Bn(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return I_.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};I_.ID="editor.contrib.ShowKeyboardWidget";let nw=I_;dn(Mv.ID,Mv,3);var d$=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},YD=function(o,e){return function(t,i){e(t,i,o)}},sw,Du;let dp=(Du=class extends Nt{static get(e){return e.getContribution(sw.ID)}constructor(e,t,i){super(),this._editor=e,this._languageService=i,this._widget=null,this._register(this._editor.onDidChangeModel(n=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(n=>this.stop())),this._register(K_.onDidChange(n=>this.stop())),this._register(this._editor.onKeyUp(n=>n.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new ow(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},sw=Du,Du.ID="editor.contrib.inspectTokens",Du);dp=sw=d$([YD(1,Sk),YD(2,ha)],dp);class u$ extends bt{constructor(){super({id:"editor.action.inspectTokens",label:n7.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=dp.get(t);i==null||i.launch()}}function h$(o){let e="";for(let t=0,i=o.length;t<i;t++){const n=o.charCodeAt(t);switch(n){case 9:e+="→";break;case 32:e+="·";break;default:e+=String.fromCharCode(n)}}return e}function f$(o,e){const t=K_.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>e7,tokenize:(n,s,r)=>i7(e,r),tokenizeEncoded:(n,s,r)=>t7(i,r)}}const P_=class P_ extends Nt{constructor(e,t){super(),this.allowEditorOverflow=!0,this._editor=e,this._languageService=t,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=f$(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(i=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return P_._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let d=t.tokens1.length-1;d>=0;d--){const u=t.tokens1[d];if(e.column-1>=u.offset){i=d;break}}let n=0;for(let d=t.tokens2.length>>>1;d>=0;d--)if(e.column-1>=t.tokens2[d<<1]){n=d;break}const s=this._model.getLineContent(e.lineNumber);let r="";if(i<t.tokens1.length){const d=t.tokens1[i].offset,u=i+1<t.tokens1.length?t.tokens1[i+1].offset:s.length;r=s.substring(d,u)}ym(this._domNode,gi("h2.tm-token",void 0,h$(r),gi("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),li(this._domNode,gi("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;li(this._domNode,gi("table.tm-metadata-table",void 0,gi("tbody",void 0,gi("tr",void 0,gi("td.tm-metadata-key",void 0,"language"),gi("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),gi("tr",void 0,gi("td.tm-metadata-key",void 0,"token type"),gi("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),gi("tr",void 0,gi("td.tm-metadata-key",void 0,"font style"),gi("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),gi("tr",void 0,gi("td.tm-metadata-key",void 0,"foreground"),gi("td.tm-metadata-value",void 0,`${a?gn.Format.CSS.formatHex(a.foreground):"-?-"}`)),gi("tr",void 0,gi("td.tm-metadata-key",void 0,"background"),gi("td.tm-metadata-value",void 0,`${a?gn.Format.CSS.formatHex(a.background):"-?-"}`))))),li(this._domNode,gi("hr.tokens-inspect-separator")),i<t.tokens1.length&&li(this._domNode,gi("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=K_.getColorMap(),i=If.getLanguageId(e),n=If.getTokenType(e),s=If.getFontStyle(e),r=If.getForeground(e),a=If.getBackground(e);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(i),tokenType:n,fontStyle:s,foreground:t[r],background:t[a]}}_tokenTypeToString(e){switch(e){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 3:return"RegEx";default:return"??"}}_fontStyleToString(e){let t="";return e&1&&(t+="italic "),e&2&&(t+="bold "),e&4&&(t+="underline "),e&8&&(t+="strikethrough "),t.length===0&&(t="---"),t}_getTokensAtLine(e){const t=this._getStateBeforeLine(e),i=this._tokenizationSupport.tokenize(this._model.getLineContent(e),!0,t),n=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(e),!0,t);return{startState:t,tokens1:i.tokens,tokens2:n.tokens,endState:i.endState}}_getStateBeforeLine(e){let t=this._tokenizationSupport.getInitialState();for(let i=1;i<e;i++)t=this._tokenizationSupport.tokenize(this._model.getLineContent(i),!0,t).endState;return t}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}};P_._ID="editor.contrib.inspectTokensWidget";let ow=P_;dn(dp.ID,dp,4);Be(u$);var g$=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},QD=function(o,e){return function(t,i){e(t,i,o)}},ig,Au;let rw=(Au=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=ca.as(Np.Quickaccess)}provide(e){const t=new Tt;return t.add(e.onDidAccept(()=>{const[i]=e.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(i=>{const n=this.registry.getQuickAccessProvider(i.substr(ig.PREFIX.length));n&&n.prefix&&n.prefix!==ig.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==ig.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort((t,i)=>t.prefix.localeCompare(i.prefix)).flatMap(t=>this.createPicks(t))}createPicks(e){return e.helpEntries.map(t=>{const i=t.prefix||e.prefix,n=i||"…";return{prefix:i,label:n,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:S("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},ig=Au,Au.PREFIX="?",Au);rw=ig=g$([QD(0,Tl),QD(1,Ds)],rw);ca.as(Np.Quickaccess).registerQuickAccessProvider({ctor:rw,prefix:"",helpEntries:[{description:s7.helpQuickAccessActionLabel}]});class oF{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new Tt;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new Qo);return s.value=this.doProvide(e,t,i),n.add(this.onDidActiveTextEditorControlChange(()=>{s.value=void 0,s.value=this.doProvide(e,t)})),n}doProvide(e,t,i){const n=new Tt,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=Dk(s);if(a){let d=s.saveViewState()??void 0;n.add(a.onDidChangeCursorPosition(()=>{d=s.saveViewState()??void 0})),r.restoreViewState=()=>{d&&s===this.activeTextEditorControl&&s.restoreViewState(d)},n.add(Ak(t.onCancellationRequested)(()=>{var u;return(u=r.restoreViewState)==null?void 0:u.call(r)}))}n.add(ts(()=>this.clearDecorations(s))),n.add(this.provideWithTextEditor(r,e,t,i))}else n.add(this.provideWithoutTextEditor(e,t));return n}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,"code.jump"),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();const i=e.getModel();i&&"getLineContent"in i&&L0(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return wk(e)?(t=e.getModel())==null?void 0:t.modified:e.getModel()}addDecorations(e,t){e.changeDecorations(i=>{const n=[];this.rangeHighlightDecorationId&&(n.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),n.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const s=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:Bs(IA),position:Ha.Full}}}],[r,a]=i.deltaDecorations(n,s);this.rangeHighlightDecorationId={rangeHighlightId:r,overviewRulerDecorationId:a}})}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations(i=>{i.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}const T_=class T_ extends oF{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=S("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,Nt.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new Tt;s.add(t.onDidAccept(d=>{const[u]=t.selectedItems;if(u){if(!this.isValidLineNumber(n,u.lineNumber))return;this.gotoLocation(e,{range:this.toRange(u.lineNumber,u.column),keyMods:t.keyMods,preserveFocus:d.inBackground}),d.inBackground||t.hide()}}));const r=()=>{const d=this.parsePosition(n,t.value.trim().substr(T_.PREFIX.length)),u=this.getPickLabel(n,d.lineNumber,d.column);if(t.items=[{lineNumber:d.lineNumber,column:d.column,label:u}],t.ariaLabel=u,!this.isValidLineNumber(n,d.lineNumber)){this.clearDecorations(n);return}const f=this.toRange(d.lineNumber,d.column);n.revealRangeInCenter(f,0),this.addDecorations(n,f)};r(),s.add(t.onDidChangeValue(()=>r()));const a=Dk(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(ts(()=>a.updateOptions({lineNumbers:"relative"})))),s}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const i=t.split(/,|:|#/).map(s=>parseInt(s,10)).filter(s=>!isNaN(s)),n=this.lineCount(e)+1;return{lineNumber:i[0]>0?i[0]:n+i[0],column:i[1]}}getPickLabel(e,t,i){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,i)?S("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):S("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},s=this.lineCount(e);return s>1?S("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,s):S("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",n.lineNumber,n.column)}isValidLineNumber(e,t){return!t||typeof t!="number"?!1:t>0&&t<=this.lineCount(e)}isValidColumn(e,t,i){if(!i||typeof i!="number")return!1;const n=this.getModel(e);if(!n)return!1;const s={lineNumber:t,column:i};return n.validatePosition(s).equals(s)}lineCount(e){var t;return((t=this.getModel(e))==null?void 0:t.getLineCount())??0}};T_.PREFIX=":";let aw=T_;var p$=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},x$=function(o,e){return function(t,i){e(t,i,o)}};let up=class extends aw{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=Is.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};up=p$([x$(0,bs)],up);var ku;let rF=(ku=class extends bt{constructor(){super({id:ku.ID,label:kk.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Tl).quickAccess.show(up.PREFIX)}},ku.ID="editor.action.gotoLine",ku);Be(rF);ca.as(Np.Quickaccess).registerQuickAccessProvider({ctor:up,prefix:up.PREFIX,helpEntries:[{description:kk.gotoLineActionLabel,commandId:rF.ID}]});const aF=[void 0,[]];function OC(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?m$(o,n.values,t,i):lF(o,e,t,i)}function m$(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,d]=lF(o,r,t,i);if(typeof a!="number")return aF;n+=a,s.push(...d)}return[n,v$(s)]}function lF(o,e,t,i){const n=YA(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],G_(n)]:aF}function v$(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!_$(i,n)?(i=n,t.push(n)):(i.start=Math.min(i.start,n.start),i.end=Math.max(i.end,n.end));return t}function _$(o,e){return!(o.end<e.start||e.end<o.start)}function JD(o){return o.startsWith('"')&&o.endsWith('"')}const cF=" ";function lw(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=e2(o),s=t.indexOf(d1)>=0,r=JD(o);let a;const d=o.split(cF);if(d.length>1)for(const u of d){const f=JD(u),{pathNormalized:g,normalized:p,normalizedLowercase:C}=e2(u);p&&(a||(a=[]),a.push({original:u,originalLowercase:u.toLowerCase(),pathNormalized:g,normalized:p,normalizedLowercase:C,expectContiguousMatch:f}))}return{original:o,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:n,values:a,containsPathSeparator:s,expectContiguousMatch:r}}function e2(o){let e;O_?e=o.replace(/\//g,d1):e=o.replace(/\\/g,d1);const t=o7(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function t2(o){return Array.isArray(o)?lw(o.map(e=>e.original).join(cF)):lw(o.original)}var b$=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},i2=function(o,e){return function(t,i){e(t,i,o)}},xm,ia;let zd=(ia=class extends oF{constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,S("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),Nt.None}provideWithTextEditor(e,t,i,n){const s=e.editor,r=this.getModel(s);return r?this._languageFeaturesService.documentSymbolProvider.has(r)?this.doProvideWithEditorSymbols(e,r,t,i,n):this.doProvideWithoutEditorSymbols(e,r,t,i):Nt.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new Tt;return this.provideLabelPick(i,S("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),(async()=>!await this.waitForLanguageSymbolRegistry(t,s)||n.isCancellationRequested||s.add(this.doProvideWithEditorSymbols(e,t,i,n)))(),s}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}async waitForLanguageSymbolRegistry(e,t){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;const i=new H_,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(ts(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var g;const r=e.editor,a=new Tt;a.add(i.onDidAccept(p=>{var b;const[C]=i.selectedItems;C&&C.range&&(this.gotoLocation(e,{range:C.range.selection,keyMods:i.keyMods,preserveFocus:p.inBackground}),(b=s==null?void 0:s.handleAccept)==null||b.call(s,C),p.inBackground||i.hide())})),a.add(i.onDidTriggerItemButton(({item:p})=>{p&&p.range&&(this.gotoLocation(e,{range:p.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())}));const d=this.getDocumentSymbols(t,n);let u;const f=async p=>{u==null||u.dispose(!0),i.busy=!1,u=new qs(n),i.busy=!0;try{const C=lw(i.value.substr(xm.PREFIX.length).trim()),b=await this.doGetSymbolPicks(d,C,void 0,u.token,t);if(n.isCancellationRequested)return;if(b.length>0){if(i.items=b,p&&C.original.length===0){const y=c7(b,w=>!!(w.type!=="separator"&&w.range&&Q.containsPosition(w.range.decoration,p)));y&&(i.activeItems=[y])}}else C.original.length>0?this.provideLabelPick(i,S("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,S("noSymbolResults","No editor symbols"))}finally{n.isCancellationRequested||(i.busy=!1)}};return a.add(i.onDidChangeValue(()=>f(void 0))),f((g=r.getSelection())==null?void 0:g.getPosition()),a.add(i.onDidChangeActive(()=>{const[p]=i.activeItems;p&&p.range&&(r.revealRangeInCenter(p.range.selection,0),this.addDecorations(r,p.range.decoration))})),a}async doGetSymbolPicks(e,t,i,n,s){var w,A;const r=await e;if(n.isCancellationRequested)return[];const a=t.original.indexOf(xm.SCOPE_PREFIX)===0,d=a?1:0;let u,f;t.values&&t.values.length>1?(u=t2(t.values[0]),f=t2(t.values.slice(1))):u=t;let g;const p=(A=(w=this.options)==null?void 0:w.openSideBySideDirection)==null?void 0:A.call(w);p&&(g=[{iconClass:p==="right"?Tn.asClassName(Gi.splitHorizontal):Tn.asClassName(Gi.splitVertical),tooltip:p==="right"?S("openToSide","Open to the Side"):S("openToBottom","Open to the Bottom")}]);const C=[];for(let P=0;P<r.length;P++){const M=r[P],R=r7(M.name),T=`$(${a7.toIcon(M.kind).id}) ${R}`,V=T.length-R.length;let H=M.containerName;i!=null&&i.extraContainerLabel&&(H?H=`${i.extraContainerLabel} • ${H}`:H=i.extraContainerLabel);let X,se,he,J;if(t.original.length>d){let we=!1;if(u!==t&&([X,se]=OC(T,{...t,values:void 0},d,V),typeof X=="number"&&(we=!0)),typeof X!="number"&&([X,se]=OC(T,u,d,V),typeof X!="number"))continue;if(!we&&f){if(H&&f.original.length>0&&([he,J]=OC(H,f)),typeof he!="number")continue;typeof X=="number"&&(X+=he)}}const de=M.tags&&M.tags.indexOf(1)>=0;C.push({index:P,kind:M.kind,score:X,label:T,ariaLabel:l7(M.name,M.kind),description:H,highlights:de?void 0:{label:se,description:J},range:{selection:Q.collapseToStart(M.selectionRange),decoration:M.range},uri:s.uri,symbolName:R,strikethrough:de,buttons:g})}const b=C.sort((P,M)=>a?this.compareByKindAndScore(P,M):this.compareByScore(P,M));let y=[];if(a){let T=function(){M&&typeof P=="number"&&R>0&&(M.label=Vw(WC[P]||HC,R))},P,M,R=0;for(const V of b)P!==V.kind?(T(),P=V.kind,R=1,M={type:"separator"},y.push(M)):R++,y.push(V);T()}else b.length>0&&(y=[{label:S("symbols","symbols ({0})",C.length),type:"separator"},...b]);return y}compareByScore(e,t){if(typeof e.score!="number"&&typeof t.score=="number")return 1;if(typeof e.score=="number"&&typeof t.score!="number")return-1;if(typeof e.score=="number"&&typeof t.score=="number"){if(e.score>t.score)return-1;if(e.score<t.score)return 1}return e.index<t.index?-1:e.index>t.index?1:0}compareByKindAndScore(e,t){const i=WC[e.kind]||HC,n=WC[t.kind]||HC,s=i.localeCompare(n);return s===0?this.compareByScore(e,t):s}async getDocumentSymbols(e,t){const i=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()}},xm=ia,ia.PREFIX="@",ia.SCOPE_PREFIX=":",ia.PREFIX_BY_CATEGORY=`${ia.PREFIX}${ia.SCOPE_PREFIX}`,ia);zd=xm=b$([i2(0,ki),i2(1,Xp)],zd);const HC=S("property","properties ({0})"),WC={5:S("method","methods ({0})"),11:S("function","functions ({0})"),8:S("_constructor","constructors ({0})"),12:S("variable","variables ({0})"),4:S("class","classes ({0})"),22:S("struct","structs ({0})"),23:S("event","events ({0})"),24:S("operator","operators ({0})"),10:S("interface","interfaces ({0})"),2:S("namespace","namespaces ({0})"),3:S("package","packages ({0})"),25:S("typeParameter","type parameters ({0})"),1:S("modules","modules ({0})"),6:S("property","properties ({0})"),9:S("enum","enumerations ({0})"),21:S("enumMember","enumeration members ({0})"),14:S("string","strings ({0})"),0:S("file","files ({0})"),17:S("array","arrays ({0})"),15:S("number","numbers ({0})"),16:S("boolean","booleans ({0})"),18:S("object","objects ({0})"),19:S("key","keys ({0})"),7:S("field","fields ({0})"),13:S("constant","constants ({0})")};var C$=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},zC=function(o,e){return function(t,i){e(t,i,o)}};let cw=class extends zd{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=Is.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};cw=C$([zC(0,bs),zC(1,ki),zC(2,Xp)],cw);const M_=class M_ extends bt{constructor(){super({id:M_.ID,label:u1.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:q.hasDocumentSymbolProvider,kbOpts:{kbExpr:q.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Tl).quickAccess.show(zd.PREFIX,{itemActivation:d7.NONE})}};M_.ID="editor.action.quickOutline";let Rv=M_;Be(Rv);ca.as(Np.Quickaccess).registerQuickAccessProvider({ctor:cw,prefix:zd.PREFIX,helpEntries:[{description:u1.quickOutlineActionLabel,prefix:zd.PREFIX,commandId:Rv.ID},{description:u1.quickOutlineByCategoryActionLabel,prefix:zd.PREFIX_BY_CATEGORY}]});function E$(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class Cg{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){const i=this.computeEmbedding(e),n=new Map,s=[];for(const[r,a]of this.documents){if(t.isCancellationRequested)return[];for(const d of a.chunks){const u=this.computeSimilarityScore(d,i,n);u>0&&s.push({key:r,score:u})}}return s}static termFrequencies(e){return E$(Cg.splitTerms(e))}static*splitTerms(e){const t=i=>i.toLowerCase();for(const[i]of e.matchAll(new RegExp("\\b\\p{Letter}[\\p{Letter}\\d]{2,}\\b","gu"))){yield t(i);const n=i.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(n.length>1)for(const s of n)s.length>2&&new RegExp("\\p{Letter}{3,}","gu").test(s)&&(yield t(s))}}updateDocuments(e){for(const{key:t}of e)this.deleteDocument(t);for(const t of e){const i=[];for(const n of t.textChunks){const s=Cg.termFrequencies(n);for(const r of s.keys())this.chunkOccurrences.set(r,(this.chunkOccurrences.get(r)??0)+1);i.push({text:n,tf:s})}this.chunkCount+=i.length,this.documents.set(t.key,{chunks:i})}return this}deleteDocument(e){const t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(const i of t.chunks)for(const n of i.tf.keys()){const s=this.chunkOccurrences.get(n);if(typeof s=="number"){const r=s-1;r<=0?this.chunkOccurrences.delete(n):this.chunkOccurrences.set(n,r)}}}}computeSimilarityScore(e,t,i){let n=0;for(const[s,r]of Object.entries(t)){const a=e.tf.get(s);if(!a)continue;let d=i.get(s);typeof d!="number"&&(d=this.computeIdf(s),i.set(s,d));const u=a*d;n+=u*r}return n}computeEmbedding(e){const t=Cg.termFrequencies(e);return this.computeTfidf(t)}computeIdf(e){const t=this.chunkOccurrences.get(e)??0;return t>0?Math.log((this.chunkCount+1)/t):0}computeTfidf(e){const t=Object.create(null);for(const[i,n]of e){const s=this.computeIdf(i);s>0&&(t[i]=n*s)}return t}}function y$(o){var i;const e=o.slice(0);e.sort((n,s)=>s.score-n.score);const t=((i=e[0])==null?void 0:i.score)??0;if(t>0)for(const n of e)n.score/=t;return e}var Yh;(function(o){o[o.NO_ACTION=0]="NO_ACTION",o[o.CLOSE_PICKER=1]="CLOSE_PICKER",o[o.REFRESH_PICKER=2]="REFRESH_PICKER",o[o.REMOVE_ITEM=3]="REMOVE_ITEM"})(Yh||(Yh={}));function VC(o){return Array.isArray(o.items)}function n2(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class w$ extends Nt{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var u;const n=new Tt;e.canAcceptInBackground=!!((u=this.options)!=null&&u.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new Qo),a=async()=>{var w;const f=r.value=new Tt;s==null||s.dispose(!0),e.busy=!1,s=new qs(t);const g=s.token;let p=e.value.substring(this.prefix.length);(w=this.options)!=null&&w.shouldSkipTrimPickFilter||(p=p.trim());const C=this._getPicks(p,f,g,i),b=(A,P)=>{var T;let M,R;if(VC(A)?(M=A.items,R=A.active):M=A,M.length===0){if(P)return!1;(p.length>0||e.hideInput)&&((T=this.options)!=null&&T.noResultsPick)&&(u7(this.options.noResultsPick)?M=[this.options.noResultsPick(p)]:M=[this.options.noResultsPick])}return e.items=M,R&&(e.activeItems=[R]),!0},y=async A=>{let P=!1,M=!1;await Promise.all([(async()=>{typeof A.mergeDelay=="number"&&(await Y_(A.mergeDelay),g.isCancellationRequested)||M||(P=b(A.picks,!0))})(),(async()=>{e.busy=!0;try{const R=await A.additionalPicks;if(g.isCancellationRequested)return;let T,V;VC(A.picks)?(T=A.picks.items,V=A.picks.active):T=A.picks;let H,X;if(VC(R)?(H=R.items,X=R.active):H=R,H.length>0||!P){let se;if(!V&&!X){const he=e.activeItems[0];he&&T.indexOf(he)!==-1&&(se=he)}b({items:[...T,...H],active:V||X||se})}}finally{g.isCancellationRequested||(e.busy=!1),M=!0}})()])};if(C!==null)if(n2(C))await y(C);else if(!(C instanceof Promise))b(C);else{e.busy=!0;try{const A=await C;if(g.isCancellationRequested)return;n2(A)?await y(A):b(A)}finally{g.isCancellationRequested||(e.busy=!1)}}};n.add(e.onDidChangeValue(()=>a())),a(),n.add(e.onDidAccept(f=>{var p;if(i!=null&&i.handleAccept){f.inBackground||e.hide(),(p=i.handleAccept)==null||p.call(i,e.activeItems[0]);return}const[g]=e.selectedItems;typeof(g==null?void 0:g.accept)=="function"&&(f.inBackground||e.hide(),g.accept(e.keyMods,f))}));const d=async(f,g)=>{var C;if(typeof g.trigger!="function")return;const p=((C=g.buttons)==null?void 0:C.indexOf(f))??-1;if(p>=0){const b=g.trigger(p,e.keyMods),y=typeof b=="number"?b:await b;if(t.isCancellationRequested)return;switch(y){case Yh.NO_ACTION:break;case Yh.CLOSE_PICKER:e.hide();break;case Yh.REFRESH_PICKER:a();break;case Yh.REMOVE_ITEM:{const w=e.items.indexOf(g);if(w!==-1){const A=e.items.slice(),P=A.splice(w,1),M=e.activeItems.filter(T=>T!==P[0]),R=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=A,M&&(e.activeItems=M),e.keepScrollPosition=R}break}}}};return n.add(e.onDidTriggerItemButton(({button:f,item:g})=>d(f,g))),n.add(e.onDidTriggerSeparatorButton(({button:f,separator:g})=>d(f,g))),n}}var dF=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},rc=function(o,e){return function(t,i){e(t,i,o)}},xd,Es,Ma;let dw=(Ma=class extends w${constructor(e,t,i,n,s,r){super(xd.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(uw)),this.options=e}async _getPicks(e,t,i,n){var C,b;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=Ak(()=>{const y=new Cg;y.updateDocuments(s.map(A=>({key:A.commandId,textChunks:[this.getTfIdfChunk(A)]})));const w=y.calculateScores(e,i);return y$(w).filter(A=>A.score>xd.TFIDF_THRESHOLD).slice(0,xd.TFIDF_MAX_RESULTS)}),a=[];for(const y of s){const w=xd.WORD_FILTER(e,y.label)??void 0,A=y.commandAlias?xd.WORD_FILTER(e,y.commandAlias)??void 0:void 0;if(w||A)y.highlights={label:w,detail:this.options.showAlias?A:void 0},a.push(y);else if(e===y.commandId)a.push(y);else if(e.length>=3){const P=r();if(i.isCancellationRequested)return[];const M=P.find(R=>R.key===y.commandId);M&&(y.tfIdfScore=M.score,a.push(y))}}const d=new Map;for(const y of a){const w=d.get(y.label);w?(y.description=y.commandId,w.description=w.commandId):d.set(y.label,y)}a.sort((y,w)=>{if(y.tfIdfScore&&w.tfIdfScore)return y.tfIdfScore===w.tfIdfScore?y.label.localeCompare(w.label):w.tfIdfScore-y.tfIdfScore;if(y.tfIdfScore)return 1;if(w.tfIdfScore)return-1;const A=this.commandsHistory.peek(y.commandId),P=this.commandsHistory.peek(w.commandId);if(A&&P)return A>P?-1:1;if(A)return-1;if(P)return 1;if(this.options.suggestedCommandIds){const M=this.options.suggestedCommandIds.has(y.commandId),R=this.options.suggestedCommandIds.has(w.commandId);if(M&&R)return 0;if(M)return-1;if(R)return 1}return y.label.localeCompare(w.label)});const u=[];let f=!1,g=!0,p=!!this.options.suggestedCommandIds;for(let y=0;y<a.length;y++){const w=a[y];y===0&&this.commandsHistory.peek(w.commandId)&&(u.push({type:"separator",label:S("recentlyUsed","recently used")}),f=!0),g&&w.tfIdfScore!==void 0&&(u.push({type:"separator",label:S("suggested","similar commands")}),g=!1),p&&w.tfIdfScore===void 0&&!this.commandsHistory.peek(w.commandId)&&((C=this.options.suggestedCommandIds)!=null&&C.has(w.commandId))&&(u.push({type:"separator",label:S("commonlyUsed","commonly used")}),f=!0,p=!1),f&&w.tfIdfScore===void 0&&!this.commandsHistory.peek(w.commandId)&&!((b=this.options.suggestedCommandIds)!=null&&b.has(w.commandId))&&(u.push({type:"separator",label:S("morecCommands","other commands")}),f=!1),u.push(this.toCommandPick(w,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:u,additionalPicks:(async()=>{var A;const y=await this.getAdditionalCommandPicks(s,a,e,i);if(i.isCancellationRequested)return[];const w=y.map(P=>this.toCommandPick(P,n));return g&&((A=w[0])==null?void 0:A.type)!=="separator"&&w.unshift({type:"separator",label:S("suggested","similar commands")}),w})()}:u}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?S("commandPickAriaLabelWithKeybinding","{0}, {1}",e.label,i.getAriaLabel()):e.label;return{...e,ariaLabel:n,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:i,accept:async()=>{var s;this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:(t==null?void 0:t.from)??"quick open"});try{(s=e.args)!=null&&s.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(r){qc(r)||this.dialogService.error(S("canNotRun","Command '{0}' resulted in an error",e.label),Vm(r))}}}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:i}){let n=e;return t&&t!==e&&(n+=` - ${t}`),i&&i.value!==e&&(n+=` - ${i.value===i.original?i.value:`${i.value} (${i.original})`}`),n}},xd=Ma,Ma.PREFIX=">",Ma.TFIDF_THRESHOLD=.5,Ma.TFIDF_MAX_RESULTS=5,Ma.WORD_FILTER=h7(p7,g7,f7),Ma);dw=xd=dF([rc(1,nn),rc(2,Ds),rc(3,zs),rc(4,ua),rc(5,Jw)],dw);var na;let uw=(na=class extends Nt{constructor(e,t,i){super(),this.storageService=e,this.configurationService=t,this.logService=i,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>this.updateConfiguration(e))),this._register(this.storageService.onWillSaveState(e=>{e.reason===Tw.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Es.getConfiguredCommandHistoryLength(this.configurationService),Es.cache&&Es.cache.limit!==this.configuredCommandsHistoryLength&&(Es.cache.limit=this.configuredCommandsHistoryLength,Es.hasChanges=!0))}load(){const e=this.storageService.get(Es.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=Es.cache=new Ap(this.configuredCommandsHistoryLength,1);if(t){let n;t.usesLRU?n=t.entries:n=t.entries.sort((s,r)=>s.value-r.value),n.forEach(s=>i.set(s.key,s.value))}Es.counter=this.storageService.getNumber(Es.PREF_KEY_COUNTER,0,Es.counter)}push(e){Es.cache&&(Es.cache.set(e,Es.counter++),Es.hasChanges=!0)}peek(e){var t;return(t=Es.cache)==null?void 0:t.peek(e)}saveState(){if(!Es.cache||!Es.hasChanges)return;const e={usesLRU:!0,entries:[]};Es.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(Es.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(Es.PREF_KEY_COUNTER,Es.counter,0,0),Es.hasChanges=!1}static getConfiguredCommandHistoryLength(e){var n,s;const i=(s=(n=e.getValue().workbench)==null?void 0:n.commandPalette)==null?void 0:s.history;return typeof i=="number"?i:Es.DEFAULT_COMMANDS_HISTORY_LENGTH}},Es=na,na.DEFAULT_COMMANDS_HISTORY_LENGTH=50,na.PREF_KEY_CACHE="commandPalette.mru.cache",na.PREF_KEY_COUNTER="commandPalette.mru.counter",na.counter=1,na.hasChanges=!1,na);uw=Es=dF([rc(0,Gc),rc(1,ns),rc(2,Yu)],uw);class S$ extends dw{constructor(e,t,i,n,s,r){super(e,t,i,n,s,r)}getCodeEditorCommandPicks(){var i;const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const n of e.getSupportedActions()){let s;(i=n.metadata)!=null&&i.description&&(x7(n.metadata.description)?s=n.metadata.description:s={original:n.metadata.description,value:n.metadata.description}),t.push({commandId:n.id,commandAlias:n.alias,commandDescription:s,label:m7(n.label)||n.id})}return t}}var D$=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},Bh=function(o,e){return function(t,i){e(t,i,o)}};let hp=class extends S${get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(e,t,i,n,s,r){super({showAlias:!1},e,i,n,s,r),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};hp=D$([Bh(0,nn),Bh(1,bs),Bh(2,Ds),Bh(3,zs),Bh(4,ua),Bh(5,Jw)],hp);const R_=class R_ extends bt{constructor(){super({id:R_.ID,label:Bk.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(Tl).quickAccess.show(hp.PREFIX)}};R_.ID="editor.action.quickCommand";let Nv=R_;Be(Nv);ca.as(Np.Quickaccess).registerQuickAccessProvider({ctor:hp,prefix:hp.PREFIX,helpEntries:[{description:Bk.quickCommandHelp,commandId:Nv.ID}]});var A$=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},Fh=function(o,e){return function(t,i){e(t,i,o)}};let hw=class extends Vu{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};hw=A$([Fh(1,Fn),Fh(2,bs),Fh(3,xo),Fh(4,nn),Fh(5,Gc),Fh(6,ns)],hw);dn(Vu.ID,hw,4);class k$ extends bt{constructor(){super({id:"editor.action.toggleHighContrast",label:v7.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(Sk),n=i.getColorTheme();kg(n.type)?(i.setTheme(this._originalThemeName||(n8(n.type)?_7:b7)),this._originalThemeName=null):(i.setTheme(n8(n.type)?C7:E7),this._originalThemeName=n.themeName)}}Be(k$);let fw=null;function B$(o){fw=o}function F$(o={}){return{"Content-Type":"application/json",...o}}async function qt(o,e,t){const i=await fetch(e,{method:o,headers:F$(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw fw&&fw(),new Error("Unauthorized");if(!i.ok){const n=await i.json().catch(()=>({error:i.statusText}));throw new Error(n.error??i.statusText)}return i.json()}async function L$(){return await(await fetch("/she/auth/mode")).json()}async function I$(o){const e=await fetch("/she/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:o})});if(!e.ok){const t=await e.json().catch(()=>({error:e.statusText}));throw new Error(t.error??"Login failed")}}async function P$(){await fetch("/she/auth/logout",{method:"POST"})}async function T$(o,e,t,i){const n=await fetch("/she/auth/setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:o,password:e,proxyHeader:t,proxyLogoutUrl:i})});if(!n.ok){const s=await n.json().catch(()=>({error:n.statusText}));throw new Error(s.error??"Setup failed")}}function M$(){return qt("GET","/she/scripts/tree")}function Wx(o){return qt("GET",`/she/scripts/${o}`)}function Ql(o,e){return qt("PUT",`/she/scripts/${o}`,{content:e})}function s2(o,e={}){const t=new URLSearchParams({q:o});return e.regex&&t.set("regex","true"),e.caseSensitive&&t.set("caseSensitive","true"),e.mode&&t.set("mode",e.mode),qt("GET",`/she/scripts/search?${t}`)}function zx(o){return qt("DELETE",`/she/scripts/${o}`)}function o2(o,e){return qt("POST",`/she/scripts/${o}/rename`,{newPath:e})}function R$(o){return qt("POST","/she/scripts/mkdir",{path:o})}function N$(){return qt("GET","/she/git/status")}function Qh(){return qt("GET","/she/status")}function uF(){return qt("POST","/she/restart")}function O$(){return qt("POST","/she/update")}function H$(){return qt("POST","/she/check-update")}function W$(o,e){return qt("POST","/she/git/commit",{path:o,message:e})}function r2(o,e){return qt("POST","/she/git/commit",{files:o,message:e})}function a2(o){return qt("POST","/she/git/commit",{message:o})}function Vx(o){return qt("POST","/she/git/push",{remote:o})}function z$(o,e){return qt("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function V$(o,e){return qt("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function Pl(){return qt("GET","/she/config")}function fp(o){return qt("PUT","/she/config",o)}function hF(){return qt("GET","/she/db/docs")}function j$(o){return qt("GET",`/she/db/docs/${o}`)}function l2(o,e){return qt("PUT",`/she/db/docs/${o}`,e)}function $$(o){return qt("DELETE",`/she/db/docs/${o}`)}function fF(){return qt("GET","/she/db/views")}function U$(o){return qt("GET",`/she/db/views/${o}`)}function c2(o,e){return qt("PUT",`/she/db/views/${o}`,e)}function q$(o){return qt("DELETE",`/she/db/views/${o}`)}function G$(){return qt("GET","/she/deps")}function K$(o){return qt("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function Z$(o,e){return qt("POST","/she/deps/install",{name:o,version:null})}function X$(o){return qt("POST","/she/deps/remove",{name:o})}function Y$(o){return qt("POST","/she/deps/update",{name:o})}function gF(){return qt("GET","/she/deps/outdated")}function Q$(){return qt("POST","/she/deps/check-outdated")}function J$(){return qt("GET","/she/ai/conversations")}function d2(o){return qt("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function eU(o,e,t){return qt("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function tU(o){return qt("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function jC(o){return qt("GET",`/she/db/views/${o}/result`)}function rS(){return qt("GET","/she/matter/devices")}function mm(o){return qt("GET",`/she/matter/devices/${o}`)}function iU(o){return qt("POST","/she/matter/commission",o)}function nU(o){return qt("DELETE",`/she/matter/devices/${o}`)}function sU(o,e,t,i,n){return qt("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function pF(){return qt("GET","/she/mqtt/state")}function u2(o,e,t=!1,i=0){return qt("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function xF(){return qt("GET","/she/ai/config")}function mF(){return qt("GET","/she/ai/models")}function gw(o){return qt("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function vF(o){return qt("POST","/she/ai/prompt",o)}async function _F(o,e,t,i){const s=await fetch("/she/ai/chat/stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o),signal:t});if(!s.ok){const u=await s.json().catch(()=>({error:s.statusText}));throw new Error(u.error??s.statusText)}const r=s.body.getReader(),a=new TextDecoder;let d="";try{for(;;){const{done:u,value:f}=await r.read();if(u)break;d+=a.decode(f,{stream:!0});const g=d.split(`
79
+ `);d=g.pop()??"";for(const p of g){if(!p.startsWith("data: "))continue;const C=p.slice(6).trim();if(C==="[DONE]")return;try{const b=JSON.parse(C);if(b.error)throw new Error(b.error);if(b.type==="tool_call"||b.type==="tool_result"){i==null||i({type:b.type,name:b.name??"",args:b.args,content:b.content});continue}b.token&&e(b.token)}catch(b){if(b instanceof SyntaxError)continue;throw b}}}}finally{r.releaseLock()}}function Lb(){return qt("GET","/she/broker/status")}function oU(){return qt("GET","/she/broker/local/check")}function rU(){return qt("GET","/she/broker/ip-addresses")}function aS(){return qt("GET","/she/broker/config")}function aU(o=500){return qt("GET",`/she/broker/logs?limit=${o}`)}function bF(o){return qt("PUT","/she/broker/config",o)}function CF(){return qt("POST","/she/broker/reload")}function lU(){return qt("POST","/she/broker/restart")}function cU(){return qt("POST","/she/broker/wizard/deactivate")}function dU(){return qt("POST","/she/broker/wizard/reinit")}function uU(){return qt("GET","/she/broker/wizard/diagnose")}function hU(){return qt("GET","/she/broker/users")}function fU(o,e){return qt("POST","/she/broker/users",{username:o,password:e})}function gU(o){return qt("DELETE",`/she/broker/users/${encodeURIComponent(o)}`)}function pU(o,e){return qt("PUT",`/she/broker/users/${encodeURIComponent(o)}/password`,{password:e})}function xU(o,e){return qt("POST",`/she/broker/users/${encodeURIComponent(o)}/roles`,{rolename:e})}function mU(o,e){return qt("DELETE",`/she/broker/users/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function EF(){return qt("GET","/she/broker/roles")}function vU(o){return qt("POST","/she/broker/roles",{rolename:o})}function _U(o){return qt("DELETE",`/she/broker/roles/${encodeURIComponent(o)}`)}function bU(o,e){return qt("POST",`/she/broker/roles/${encodeURIComponent(o)}/acls`,e)}function CU(o,e,t){return qt("DELETE",`/she/broker/roles/${encodeURIComponent(o)}/acls`,{acltype:e,topic:t})}function EU(){return qt("GET","/she/broker/groups")}function yU(o){return qt("POST","/she/broker/groups",{groupname:o})}function wU(o){return qt("DELETE",`/she/broker/groups/${encodeURIComponent(o)}`)}function h2(o,e){return qt("POST",`/she/broker/groups/${encodeURIComponent(o)}/clients`,{username:e})}function f2(o,e){return qt("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/clients/${encodeURIComponent(e)}`)}function SU(o,e){return qt("POST",`/she/broker/groups/${encodeURIComponent(o)}/roles`,{rolename:e})}function DU(o,e){return qt("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function AU(){return qt("GET","/she/broker/acl-defaults")}function kU(o){return qt("PUT","/she/broker/acl-defaults",{acls:o})}function BU(o){return qt("GET",`/she/broker/acl-check?${new URLSearchParams({topic:o})}`)}function FU(){return qt("GET","/she/broker/anonymous-group")}function LU(o){return qt("PUT","/she/broker/anonymous-group",{groupname:o})}function IU(){return qt("GET","/she/broker/ca/server")}function PU(o){return qt("POST","/she/broker/ca/server/generate",o)}function TU(o){return qt("POST","/she/broker/ca/server/csr",o)}function $C(o){return qt("POST","/she/broker/ca/server/import",o)}function MU(){return qt("GET","/she/broker/ca/trusted")}function RU(o){return qt("POST","/she/broker/ca/trusted",{pem:o})}function NU(o){return qt("DELETE",`/she/broker/ca/trusted/${encodeURIComponent(o)}`)}function OU(o){return qt("GET",`/she/broker/fs/complete?path=${encodeURIComponent(o)}`)}function HU(o){return qt("POST","/she/broker/ca/server/pathlink",o)}function WU(o){return qt("POST","/she/broker/ca/trusted/addpath",{path:o})}const zU=2e3,vm=[],VU=500,_m=[];function yF(){return vm.slice()}function jU(){return _m.slice()}let xc=null;const Ov=new Set,Jh=new Map;let pw=null;function gp(){let o=Ov.size;for(const e of Jh.values())o+=e.size;return o}function $U(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function lS(){if(xc)return;const o=$U(),e=new WebSocket(o);xc=e,e.onmessage=t=>{try{const i=JSON.parse(t.data);if(i.type==="log"){const s={level:i.level,msg:i.msg,ts:i.ts};vm.length>=zU&&vm.shift(),vm.push(s),Ov.forEach(r=>r(s))}if(i.type==="brokerLog"){const s={level:i.level,msg:i.msg,ts:i.ts};_m.length>=VU&&_m.shift(),_m.push(s)}const n=Jh.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{xc===e&&(xc=null),gp()>0&&(pw=setTimeout(lS,3e3))},e.onerror=()=>{e.close()}}function wF(){pw&&clearTimeout(pw),xc==null||xc.close(),xc=null}function cS(o){return Ov.add(o),gp()===1&&lS(),()=>{Ov.delete(o),gp()===0&&wF()}}function ur(o,e){return Jh.has(o)||Jh.set(o,new Set),Jh.get(o).add(e),gp()===1&&lS(),()=>{var t;(t=Jh.get(o))==null||t.delete(e),gp()===0&&wF()}}var UU=B('<button class="cancel svelte-1eh8v5n">Cancel</button>'),qU=B('<div class="backdrop svelte-1eh8v5n" role="presentation"></div> <div class="dialog svelte-1eh8v5n" role="dialog" aria-modal="true"><p class="svelte-1eh8v5n"> </p> <div class="actions svelte-1eh8v5n"><!> <button> </button></div></div>',1);function Yc(o,e){js(e,!0);let t=F(!1),i=F(""),n=F("Confirm"),s=F(!1),r=F(!1),a=null;function d(y,w){return m(i,y,!0),m(n,(w==null?void 0:w.confirm)??(w!=null&&w.alert?"OK":"Confirm"),!0),m(s,(w==null?void 0:w.danger)??!1,!0),m(r,(w==null?void 0:w.alert)??!1,!0),m(t,!0),new Promise(A=>a=A)}function u(y){m(t,!1),a==null||a(y),a=null}function f(y){c(t)&&(y.key==="Escape"&&u(!1),y.key==="Enter"&&u(!0))}var g={show:d},p=ws();xs("keydown",Rd,f);var C=Et(p);{var b=y=>{var w=qU(),A=Et(w),P=v(A,2),M=_(P),R=_(M),T=v(M,2),V=_(T);{var H=J=>{var de=UU();U("click",de,()=>u(!1)),D(J,de)};z(V,J=>{c(r)||J(H)})}var X=v(V,2);let se;var he=_(X);j(()=>{W(R,c(i)),se=Ft(X,1,"svelte-1eh8v5n",null,se,{danger:c(s)}),W(he,c(n))}),U("click",A,()=>u(!1)),U("click",X,()=>u(!0)),D(y,w)};z(C,y=>{c(t)&&y(b)})}return D(o,p),$s(g)}Ys(["click"]);var GU=B('<div class="backdrop svelte-1vi95tb" role="presentation"></div> <div class="dialog svelte-1vi95tb" role="dialog" aria-modal="true"><p class="svelte-1vi95tb"> </p> <input class="svelte-1vi95tb"/> <div class="actions svelte-1vi95tb"><button class="cancel svelte-1vi95tb">Cancel</button> <button class="svelte-1vi95tb"> </button></div></div>',1);function KU(o,e){js(e,!0);let t=F(!1),i=F(""),n=F(""),s=F("OK"),r=F(""),a=null,d=F(void 0);function u(A,P){return m(i,A,!0),m(n,(P==null?void 0:P.placeholder)??"",!0),m(s,(P==null?void 0:P.confirm)??"OK",!0),m(r,(P==null?void 0:P.initial)??"",!0),m(t,!0),setTimeout(()=>{if(c(d)){c(d).focus();const M=c(d).value.length;c(d).setSelectionRange(M,M)}},0),new Promise(M=>a=M)}function f(){const A=c(r).trim();A&&(m(t,!1),a==null||a(A),a=null,m(r,""))}function g(){m(t,!1),a==null||a(null),a=null,m(r,"")}function p(A){c(t)&&A.key==="Escape"&&(A.stopPropagation(),g())}var C={show:u},b=ws();xs("keydown",Rd,p);var y=Et(b);{var w=A=>{var P=GU(),M=Et(P),R=v(M,2),T=_(R),V=_(T),H=v(T,2);gs(H,de=>m(d,de),()=>c(d));var X=v(H,2),se=_(X),he=v(se,2),J=_(he);j(de=>{W(V,c(i)),ln(H,"placeholder",c(n)),he.disabled=de,W(J,c(s))},[()=>!c(r).trim()]),U("click",M,g),U("keydown",H,de=>{de.key==="Enter"&&(de.preventDefault(),f())}),Vt(H,()=>c(r),de=>m(r,de)),U("click",se,g),U("click",he,f),D(A,P)};z(y,A=>{c(t)&&A(w)})}return D(o,b),$s(C)}Ys(["click","keydown"]);function dS(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var UC,g2;function ZU(){if(g2)return UC;g2=1;function o(K){return K instanceof Map?K.clear=K.delete=K.set=function(){throw new Error("map is read-only")}:K instanceof Set&&(K.add=K.clear=K.delete=function(){throw new Error("set is read-only")}),Object.freeze(K),Object.getOwnPropertyNames(K).forEach(Ae=>{const Xe=K[Ae],st=typeof Xe;(st==="object"||st==="function")&&!Object.isFrozen(Xe)&&o(Xe)}),K}class e{constructor(Ae){Ae.data===void 0&&(Ae.data={}),this.data=Ae.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(K){return K.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function i(K,...Ae){const Xe=Object.create(null);for(const st in K)Xe[st]=K[st];return Ae.forEach(function(st){for(const Kt in st)Xe[Kt]=st[Kt]}),Xe}const n="</span>",s=K=>!!K.scope,r=(K,{prefix:Ae})=>{if(K.startsWith("language:"))return K.replace("language:","language-");if(K.includes(".")){const Xe=K.split(".");return[`${Ae}${Xe.shift()}`,...Xe.map((st,Kt)=>`${st}${"_".repeat(Kt+1)}`)].join(" ")}return`${Ae}${K}`};class a{constructor(Ae,Xe){this.buffer="",this.classPrefix=Xe.classPrefix,Ae.walk(this)}addText(Ae){this.buffer+=t(Ae)}openNode(Ae){if(!s(Ae))return;const Xe=r(Ae.scope,{prefix:this.classPrefix});this.span(Xe)}closeNode(Ae){s(Ae)&&(this.buffer+=n)}value(){return this.buffer}span(Ae){this.buffer+=`<span class="${Ae}">`}}const d=(K={})=>{const Ae={children:[]};return Object.assign(Ae,K),Ae};class u{constructor(){this.rootNode=d(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(Ae){this.top.children.push(Ae)}openNode(Ae){const Xe=d({scope:Ae});this.add(Xe),this.stack.push(Xe)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(Ae){return this.constructor._walk(Ae,this.rootNode)}static _walk(Ae,Xe){return typeof Xe=="string"?Ae.addText(Xe):Xe.children&&(Ae.openNode(Xe),Xe.children.forEach(st=>this._walk(Ae,st)),Ae.closeNode(Xe)),Ae}static _collapse(Ae){typeof Ae!="string"&&Ae.children&&(Ae.children.every(Xe=>typeof Xe=="string")?Ae.children=[Ae.children.join("")]:Ae.children.forEach(Xe=>{u._collapse(Xe)}))}}class f extends u{constructor(Ae){super(),this.options=Ae}addText(Ae){Ae!==""&&this.add(Ae)}startScope(Ae){this.openNode(Ae)}endScope(){this.closeNode()}__addSublanguage(Ae,Xe){const st=Ae.root;Xe&&(st.scope=`language:${Xe}`),this.add(st)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function g(K){return K?typeof K=="string"?K:K.source:null}function p(K){return y("(?=",K,")")}function C(K){return y("(?:",K,")*")}function b(K){return y("(?:",K,")?")}function y(...K){return K.map(Xe=>g(Xe)).join("")}function w(K){const Ae=K[K.length-1];return typeof Ae=="object"&&Ae.constructor===Object?(K.splice(K.length-1,1),Ae):{}}function A(...K){return"("+(w(K).capture?"":"?:")+K.map(st=>g(st)).join("|")+")"}function P(K){return new RegExp(K.toString()+"|").exec("").length-1}function M(K,Ae){const Xe=K&&K.exec(Ae);return Xe&&Xe.index===0}const R=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function T(K,{joinWith:Ae}){let Xe=0;return K.map(st=>{Xe+=1;const Kt=Xe;let si=g(st),xt="";for(;si.length>0;){const dt=R.exec(si);if(!dt){xt+=si;break}xt+=si.substring(0,dt.index),si=si.substring(dt.index+dt[0].length),dt[0][0]==="\\"&&dt[1]?xt+="\\"+String(Number(dt[1])+Kt):(xt+=dt[0],dt[0]==="("&&Xe++)}return xt}).map(st=>`(${st})`).join(Ae)}const V=/\b\B/,H="[a-zA-Z]\\w*",X="[a-zA-Z_]\\w*",se="\\b\\d+(\\.\\d+)?",he="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",J="\\b(0b[01]+)",de="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",we=(K={})=>{const Ae=/^#![ ]*\//;return K.binary&&(K.begin=y(Ae,/.*\b/,K.binary,/\b.*/)),i({scope:"meta",begin:Ae,end:/$/,relevance:0,"on:begin":(Xe,st)=>{Xe.index!==0&&st.ignoreMatch()}},K)},re={begin:"\\\\[\\s\\S]",relevance:0},ae={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[re]},De={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[re]},Pe={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},xe=function(K,Ae,Xe={}){const st=i({scope:"comment",begin:K,end:Ae,contains:[]},Xe);st.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const Kt=A("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return st.contains.push({begin:y(/[ ]+/,"(",Kt,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),st},Ve=xe("//","$"),ze=xe("/\\*","\\*/"),ve=xe("#","$"),ht={scope:"number",begin:se,relevance:0},Mt={scope:"number",begin:he,relevance:0},ot={scope:"number",begin:J,relevance:0},yt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[re,{begin:/\[/,end:/\]/,relevance:0,contains:[re]}]},Ce={scope:"title",begin:H,relevance:0},Rt={scope:"title",begin:X,relevance:0},ai={begin:"\\.\\s*"+X,relevance:0};var nt=Object.freeze({__proto__:null,APOS_STRING_MODE:ae,BACKSLASH_ESCAPE:re,BINARY_NUMBER_MODE:ot,BINARY_NUMBER_RE:J,COMMENT:xe,C_BLOCK_COMMENT_MODE:ze,C_LINE_COMMENT_MODE:Ve,C_NUMBER_MODE:Mt,C_NUMBER_RE:he,END_SAME_AS_BEGIN:function(K){return Object.assign(K,{"on:begin":(Ae,Xe)=>{Xe.data._beginMatch=Ae[1]},"on:end":(Ae,Xe)=>{Xe.data._beginMatch!==Ae[1]&&Xe.ignoreMatch()}})},HASH_COMMENT_MODE:ve,IDENT_RE:H,MATCH_NOTHING_RE:V,METHOD_GUARD:ai,NUMBER_MODE:ht,NUMBER_RE:se,PHRASAL_WORDS_MODE:Pe,QUOTE_STRING_MODE:De,REGEXP_MODE:yt,RE_STARTERS_RE:de,SHEBANG:we,TITLE_MODE:Ce,UNDERSCORE_IDENT_RE:X,UNDERSCORE_TITLE_MODE:Rt});function Dt(K,Ae){K.input[K.index-1]==="."&&Ae.ignoreMatch()}function Jt(K,Ae){K.className!==void 0&&(K.scope=K.className,delete K.className)}function di(K,Ae){Ae&&K.beginKeywords&&(K.begin="\\b("+K.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",K.__beforeBegin=Dt,K.keywords=K.keywords||K.beginKeywords,delete K.beginKeywords,K.relevance===void 0&&(K.relevance=0))}function ci(K,Ae){Array.isArray(K.illegal)&&(K.illegal=A(...K.illegal))}function xi(K,Ae){if(K.match){if(K.begin||K.end)throw new Error("begin & end are not supported with match");K.begin=K.match,delete K.match}}function _i(K,Ae){K.relevance===void 0&&(K.relevance=1)}const Ke=(K,Ae)=>{if(!K.beforeMatch)return;if(K.starts)throw new Error("beforeMatch cannot be used with starts");const Xe=Object.assign({},K);Object.keys(K).forEach(st=>{delete K[st]}),K.keywords=Xe.keywords,K.begin=y(Xe.beforeMatch,p(Xe.begin)),K.starts={relevance:0,contains:[Object.assign(Xe,{endsParent:!0})]},K.relevance=0,delete Xe.beforeMatch},Ee=["of","and","for","in","not","or","if","then","parent","list","value"],ii="keyword";function bi(K,Ae,Xe=ii){const st=Object.create(null);return typeof K=="string"?Kt(Xe,K.split(" ")):Array.isArray(K)?Kt(Xe,K):Object.keys(K).forEach(function(si){Object.assign(st,bi(K[si],Ae,si))}),st;function Kt(si,xt){Ae&&(xt=xt.map(dt=>dt.toLowerCase())),xt.forEach(function(dt){const Y=dt.split("|");st[Y[0]]=[si,ni(Y[0],Y[1])]})}}function ni(K,Ae){return Ae?Number(Ae):$i(K)?0:1}function $i(K){return Ee.includes(K.toLowerCase())}const Zi={},wi=K=>{console.error(K)},yn=(K,...Ae)=>{console.log(`WARN: ${K}`,...Ae)},un=(K,Ae)=>{Zi[`${K}/${Ae}`]||(console.log(`Deprecated as of ${K}. ${Ae}`),Zi[`${K}/${Ae}`]=!0)},cn=new Error;function fn(K,Ae,{key:Xe}){let st=0;const Kt=K[Xe],si={},xt={};for(let dt=1;dt<=Ae.length;dt++)xt[dt+st]=Kt[dt],si[dt+st]=!0,st+=P(Ae[dt-1]);K[Xe]=xt,K[Xe]._emit=si,K[Xe]._multi=!0}function ft(K){if(Array.isArray(K.begin)){if(K.skip||K.excludeBegin||K.returnBegin)throw wi("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),cn;if(typeof K.beginScope!="object"||K.beginScope===null)throw wi("beginScope must be object"),cn;fn(K,K.begin,{key:"beginScope"}),K.begin=T(K.begin,{joinWith:""})}}function Gt(K){if(Array.isArray(K.end)){if(K.skip||K.excludeEnd||K.returnEnd)throw wi("skip, excludeEnd, returnEnd not compatible with endScope: {}"),cn;if(typeof K.endScope!="object"||K.endScope===null)throw wi("endScope must be object"),cn;fn(K,K.end,{key:"endScope"}),K.end=T(K.end,{joinWith:""})}}function Pi(K){K.scope&&typeof K.scope=="object"&&K.scope!==null&&(K.beginScope=K.scope,delete K.scope)}function qi(K){Pi(K),typeof K.beginScope=="string"&&(K.beginScope={_wrap:K.beginScope}),typeof K.endScope=="string"&&(K.endScope={_wrap:K.endScope}),ft(K),Gt(K)}function Ci(K){function Ae(xt,dt){return new RegExp(g(xt),"m"+(K.case_insensitive?"i":"")+(K.unicodeRegex?"u":"")+(dt?"g":""))}class Xe{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(dt,Y){Y.position=this.position++,this.matchIndexes[this.matchAt]=Y,this.regexes.push([Y,dt]),this.matchAt+=P(dt)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const dt=this.regexes.map(Y=>Y[1]);this.matcherRe=Ae(T(dt,{joinWith:"|"}),!0),this.lastIndex=0}exec(dt){this.matcherRe.lastIndex=this.lastIndex;const Y=this.matcherRe.exec(dt);if(!Y)return null;const Te=Y.findIndex((ke,It)=>It>0&&ke!==void 0),Ye=this.matchIndexes[Te];return Y.splice(0,Te),Object.assign(Y,Ye)}}class st{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(dt){if(this.multiRegexes[dt])return this.multiRegexes[dt];const Y=new Xe;return this.rules.slice(dt).forEach(([Te,Ye])=>Y.addRule(Te,Ye)),Y.compile(),this.multiRegexes[dt]=Y,Y}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(dt,Y){this.rules.push([dt,Y]),Y.type==="begin"&&this.count++}exec(dt){const Y=this.getMatcher(this.regexIndex);Y.lastIndex=this.lastIndex;let Te=Y.exec(dt);if(this.resumingScanAtSamePosition()&&!(Te&&Te.index===this.lastIndex)){const Ye=this.getMatcher(0);Ye.lastIndex=this.lastIndex+1,Te=Ye.exec(dt)}return Te&&(this.regexIndex+=Te.position+1,this.regexIndex===this.count&&this.considerAll()),Te}}function Kt(xt){const dt=new st;return xt.contains.forEach(Y=>dt.addRule(Y.begin,{rule:Y,type:"begin"})),xt.terminatorEnd&&dt.addRule(xt.terminatorEnd,{type:"end"}),xt.illegal&&dt.addRule(xt.illegal,{type:"illegal"}),dt}function si(xt,dt){const Y=xt;if(xt.isCompiled)return Y;[Jt,xi,qi,Ke].forEach(Ye=>Ye(xt,dt)),K.compilerExtensions.forEach(Ye=>Ye(xt,dt)),xt.__beforeBegin=null,[di,ci,_i].forEach(Ye=>Ye(xt,dt)),xt.isCompiled=!0;let Te=null;return typeof xt.keywords=="object"&&xt.keywords.$pattern&&(xt.keywords=Object.assign({},xt.keywords),Te=xt.keywords.$pattern,delete xt.keywords.$pattern),Te=Te||/\w+/,xt.keywords&&(xt.keywords=bi(xt.keywords,K.case_insensitive)),Y.keywordPatternRe=Ae(Te,!0),dt&&(xt.begin||(xt.begin=/\B|\b/),Y.beginRe=Ae(Y.begin),!xt.end&&!xt.endsWithParent&&(xt.end=/\B|\b/),xt.end&&(Y.endRe=Ae(Y.end)),Y.terminatorEnd=g(Y.end)||"",xt.endsWithParent&&dt.terminatorEnd&&(Y.terminatorEnd+=(xt.end?"|":"")+dt.terminatorEnd)),xt.illegal&&(Y.illegalRe=Ae(xt.illegal)),xt.contains||(xt.contains=[]),xt.contains=[].concat(...xt.contains.map(function(Ye){return Vi(Ye==="self"?xt:Ye)})),xt.contains.forEach(function(Ye){si(Ye,Y)}),xt.starts&&si(xt.starts,dt),Y.matcher=Kt(Y),Y}if(K.compilerExtensions||(K.compilerExtensions=[]),K.contains&&K.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return K.classNameAliases=i(K.classNameAliases||{}),si(K)}function Wi(K){return K?K.endsWithParent||Wi(K.starts):!1}function Vi(K){return K.variants&&!K.cachedVariants&&(K.cachedVariants=K.variants.map(function(Ae){return i(K,{variants:null},Ae)})),K.cachedVariants?K.cachedVariants:Wi(K)?i(K,{starts:K.starts?i(K.starts):null}):Object.isFrozen(K)?i(K):K}var Qi="11.11.1";class Si extends Error{constructor(Ae,Xe){super(Ae),this.name="HTMLInjectionError",this.html=Xe}}const it=t,At=i,Oi=Symbol("nomatch"),Ti=7,Bi=function(K){const Ae=Object.create(null),Xe=Object.create(null),st=[];let Kt=!0;const si="Could not find the language '{}', did you forget to load/include a language module?",xt={disableAutodetect:!0,name:"Plain text",contains:[]};let dt={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function Y(I){return dt.noHighlightRe.test(I)}function Te(I){let N=I.className+" ";N+=I.parentNode?I.parentNode.className:"";const $=dt.languageDetectRe.exec(N);if($){const oe=ei($[1]);return oe||(yn(si.replace("{}",$[1])),yn("Falling back to no-highlight mode for this block.",I)),oe?$[1]:"no-highlight"}return N.split(/\s+/).find(oe=>Y(oe)||ei(oe))}function Ye(I,N,$){let oe="",ie="";typeof N=="object"?(oe=I,$=N.ignoreIllegals,ie=N.language):(un("10.7.0","highlight(lang, code, ...args) has been deprecated."),un("10.7.0",`Please use highlight(code, options) instead.
80
+ https://github.com/highlightjs/highlight.js/issues/2277`),ie=I,oe=N),$===void 0&&($=!0);const ne={code:oe,language:ie};Ht("before:highlight",ne);const le=ne.result?ne.result:ke(ne.language,ne.code,$);return le.code=ne.code,Ht("after:highlight",le),le}function ke(I,N,$,oe){const ie=Object.create(null);function ne(ge,Oe){return ge.keywords[Oe]}function le(){if(!Ie.keywords){Re.addText(Ne);return}let ge=0;Ie.keywordPatternRe.lastIndex=0;let Oe=Ie.keywordPatternRe.exec(Ne),_t="";for(;Oe;){_t+=Ne.substring(ge,Oe.index);const jt=He.case_insensitive?Oe[0].toLowerCase():Oe[0],Ct=ne(Ie,jt);if(Ct){const[Ni,Mi]=Ct;if(Re.addText(_t),_t="",ie[jt]=(ie[jt]||0)+1,ie[jt]<=Ti&&(Ue+=Mi),Ni.startsWith("_"))_t+=Oe[0];else{const Ji=He.classNameAliases[Ni]||Ni;_e(Oe[0],Ji)}}else _t+=Oe[0];ge=Ie.keywordPatternRe.lastIndex,Oe=Ie.keywordPatternRe.exec(Ne)}_t+=Ne.substring(ge),Re.addText(_t)}function tt(){if(Ne==="")return;let ge=null;if(typeof Ie.subLanguage=="string"){if(!Ae[Ie.subLanguage]){Re.addText(Ne);return}ge=ke(Ie.subLanguage,Ne,!0,pe[Ie.subLanguage]),pe[Ie.subLanguage]=ge._top}else ge=$t(Ne,Ie.subLanguage.length?Ie.subLanguage:null);Ie.relevance>0&&(Ue+=ge.relevance),Re.__addSublanguage(ge._emitter,ge.language)}function Fe(){Ie.subLanguage!=null?tt():le(),Ne=""}function _e(ge,Oe){ge!==""&&(Re.startScope(Oe),Re.addText(ge),Re.endScope())}function Ze(ge,Oe){let _t=1;const jt=Oe.length-1;for(;_t<=jt;){if(!ge._emit[_t]){_t++;continue}const Ct=He.classNameAliases[ge[_t]]||ge[_t],Ni=Oe[_t];Ct?_e(Ni,Ct):(Ne=Ni,le(),Ne=""),_t++}}function Me(ge,Oe){return ge.scope&&typeof ge.scope=="string"&&Re.openNode(He.classNameAliases[ge.scope]||ge.scope),ge.beginScope&&(ge.beginScope._wrap?(_e(Ne,He.classNameAliases[ge.beginScope._wrap]||ge.beginScope._wrap),Ne=""):ge.beginScope._multi&&(Ze(ge.beginScope,Oe),Ne="")),Ie=Object.create(ge,{parent:{value:Ie}}),Ie}function lt(ge,Oe,_t){let jt=M(ge.endRe,_t);if(jt){if(ge["on:end"]){const Ct=new e(ge);ge["on:end"](Oe,Ct),Ct.isMatchIgnored&&(jt=!1)}if(jt){for(;ge.endsParent&&ge.parent;)ge=ge.parent;return ge}}if(ge.endsWithParent)return lt(ge.parent,Oe,_t)}function Xt(ge){return Ie.matcher.regexIndex===0?(Ne+=ge[0],1):(vt=!0,0)}function Z(ge){const Oe=ge[0],_t=ge.rule,jt=new e(_t),Ct=[_t.__beforeBegin,_t["on:begin"]];for(const Ni of Ct)if(Ni&&(Ni(ge,jt),jt.isMatchIgnored))return Xt(Oe);return _t.skip?Ne+=Oe:(_t.excludeBegin&&(Ne+=Oe),Fe(),!_t.returnBegin&&!_t.excludeBegin&&(Ne=Oe)),Me(_t,ge),_t.returnBegin?0:Oe.length}function ce(ge){const Oe=ge[0],_t=N.substring(ge.index),jt=lt(Ie,ge,_t);if(!jt)return Oi;const Ct=Ie;Ie.endScope&&Ie.endScope._wrap?(Fe(),_e(Oe,Ie.endScope._wrap)):Ie.endScope&&Ie.endScope._multi?(Fe(),Ze(Ie.endScope,ge)):Ct.skip?Ne+=Oe:(Ct.returnEnd||Ct.excludeEnd||(Ne+=Oe),Fe(),Ct.excludeEnd&&(Ne=Oe));do Ie.scope&&Re.closeNode(),!Ie.skip&&!Ie.subLanguage&&(Ue+=Ie.relevance),Ie=Ie.parent;while(Ie!==jt.parent);return jt.starts&&Me(jt.starts,ge),Ct.returnEnd?0:Oe.length}function je(){const ge=[];for(let Oe=Ie;Oe!==He;Oe=Oe.parent)Oe.scope&&ge.unshift(Oe.scope);ge.forEach(Oe=>Re.openNode(Oe))}let mt={};function Le(ge,Oe){const _t=Oe&&Oe[0];if(Ne+=ge,_t==null)return Fe(),0;if(mt.type==="begin"&&Oe.type==="end"&&mt.index===Oe.index&&_t===""){if(Ne+=N.slice(Oe.index,Oe.index+1),!Kt){const jt=new Error(`0 width match regex (${I})`);throw jt.languageName=I,jt.badRule=mt.rule,jt}return 1}if(mt=Oe,Oe.type==="begin")return Z(Oe);if(Oe.type==="illegal"&&!$){const jt=new Error('Illegal lexeme "'+_t+'" for mode "'+(Ie.scope||"<unnamed>")+'"');throw jt.mode=Ie,jt}else if(Oe.type==="end"){const jt=ce(Oe);if(jt!==Oi)return jt}if(Oe.type==="illegal"&&_t==="")return Ne+=`
81
+ `,1;if(qe>1e5&&qe>Oe.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Ne+=_t,_t.length}const He=ei(I);if(!He)throw wi(si.replace("{}",I)),new Error('Unknown language: "'+I+'"');const St=Ci(He);let gt="",Ie=oe||St;const pe={},Re=new dt.__emitter(dt);je();let Ne="",Ue=0,rt=0,qe=0,vt=!1;try{if(He.__emitTokens)He.__emitTokens(N,Re);else{for(Ie.matcher.considerAll();;){qe++,vt?vt=!1:Ie.matcher.considerAll(),Ie.matcher.lastIndex=rt;const ge=Ie.matcher.exec(N);if(!ge)break;const Oe=N.substring(rt,ge.index),_t=Le(Oe,ge);rt=ge.index+_t}Le(N.substring(rt))}return Re.finalize(),gt=Re.toHTML(),{language:I,value:gt,relevance:Ue,illegal:!1,_emitter:Re,_top:Ie}}catch(ge){if(ge.message&&ge.message.includes("Illegal"))return{language:I,value:it(N),illegal:!0,relevance:0,_illegalBy:{message:ge.message,index:rt,context:N.slice(rt-100,rt+100),mode:ge.mode,resultSoFar:gt},_emitter:Re};if(Kt)return{language:I,value:it(N),illegal:!1,relevance:0,errorRaised:ge,_emitter:Re,_top:Ie};throw ge}}function It(I){const N={value:it(I),illegal:!1,relevance:0,_top:xt,_emitter:new dt.__emitter(dt)};return N._emitter.addText(I),N}function $t(I,N){N=N||dt.languages||Object.keys(Ae);const $=It(I),oe=N.filter(ei).filter(et).map(Fe=>ke(Fe,I,!1));oe.unshift($);const ie=oe.sort((Fe,_e)=>{if(Fe.relevance!==_e.relevance)return _e.relevance-Fe.relevance;if(Fe.language&&_e.language){if(ei(Fe.language).supersetOf===_e.language)return 1;if(ei(_e.language).supersetOf===Fe.language)return-1}return 0}),[ne,le]=ie,tt=ne;return tt.secondBest=le,tt}function te(I,N,$){const oe=N&&Xe[N]||$;I.classList.add("hljs"),I.classList.add(`language-${oe}`)}function Je(I){let N=null;const $=Te(I);if(Y($))return;if(Ht("before:highlightElement",{el:I,language:$}),I.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",I);return}if(I.children.length>0&&(dt.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(I)),dt.throwUnescapedHTML))throw new Si("One of your code blocks includes unescaped HTML.",I.innerHTML);N=I;const oe=N.textContent,ie=$?Ye(oe,{language:$,ignoreIllegals:!0}):$t(oe);I.innerHTML=ie.value,I.dataset.highlighted="yes",te(I,$,ie.language),I.result={language:ie.language,re:ie.relevance,relevance:ie.relevance},ie.secondBest&&(I.secondBest={language:ie.secondBest.language,relevance:ie.secondBest.relevance}),Ht("after:highlightElement",{el:I,result:ie,text:oe})}function Pt(I){dt=At(dt,I)}const Bt=()=>{Qe(),un("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Ot(){Qe(),un("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Se=!1;function Qe(){function I(){Qe()}if(document.readyState==="loading"){Se||window.addEventListener("DOMContentLoaded",I,!1),Se=!0;return}document.querySelectorAll(dt.cssSelector).forEach(Je)}function Yt(I,N){let $=null;try{$=N(K)}catch(oe){if(wi("Language definition for '{}' could not be registered.".replace("{}",I)),Kt)wi(oe);else throw oe;$=xt}$.name||($.name=I),Ae[I]=$,$.rawDefinition=N.bind(null,K),$.aliases&&fe($.aliases,{languageName:I})}function Zt(I){delete Ae[I];for(const N of Object.keys(Xe))Xe[N]===I&&delete Xe[N]}function mi(){return Object.keys(Ae)}function ei(I){return I=(I||"").toLowerCase(),Ae[I]||Ae[Xe[I]]}function fe(I,{languageName:N}){typeof I=="string"&&(I=[I]),I.forEach($=>{Xe[$.toLowerCase()]=N})}function et(I){const N=ei(I);return N&&!N.disableAutodetect}function at(I){I["before:highlightBlock"]&&!I["before:highlightElement"]&&(I["before:highlightElement"]=N=>{I["before:highlightBlock"](Object.assign({block:N.el},N))}),I["after:highlightBlock"]&&!I["after:highlightElement"]&&(I["after:highlightElement"]=N=>{I["after:highlightBlock"](Object.assign({block:N.el},N))})}function ct(I){at(I),st.push(I)}function Ut(I){const N=st.indexOf(I);N!==-1&&st.splice(N,1)}function Ht(I,N){const $=I;st.forEach(function(oe){oe[$]&&oe[$](N)})}function Ei(I){return un("10.7.0","highlightBlock will be removed entirely in v12.0"),un("10.7.0","Please use highlightElement now."),Je(I)}Object.assign(K,{highlight:Ye,highlightAuto:$t,highlightAll:Qe,highlightElement:Je,highlightBlock:Ei,configure:Pt,initHighlighting:Bt,initHighlightingOnLoad:Ot,registerLanguage:Yt,unregisterLanguage:Zt,listLanguages:mi,getLanguage:ei,registerAliases:fe,autoDetection:et,inherit:At,addPlugin:ct,removePlugin:Ut}),K.debugMode=function(){Kt=!1},K.safeMode=function(){Kt=!0},K.versionString=Qi,K.regex={concat:y,lookahead:p,either:A,optional:b,anyNumberOfTimes:C};for(const I in nt)typeof nt[I]=="object"&&o(nt[I]);return Object.assign(K,nt),K},Ri=Bi({});return Ri.newInstance=()=>Bi({}),UC=Ri,Ri.HighlightJS=Ri,Ri.default=Ri,UC}var XU=ZU();const Hv=dS(XU),p2="[A-Za-z$_][0-9A-Za-z$_]*",YU=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],QU=["true","false","null","undefined","NaN","Infinity"],SF=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],DF=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],AF=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],JU=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],eq=[].concat(AF,SF,DF);function kF(o){const e=o.regex,t=(xe,{after:Ve})=>{const ze="</"+xe[0].slice(1);return xe.input.indexOf(ze,Ve)!==-1},i=p2,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(xe,Ve)=>{const ze=xe[0].length+xe.index,ve=xe.input[ze];if(ve==="<"||ve===","){Ve.ignoreMatch();return}ve===">"&&(t(xe,{after:ze})||Ve.ignoreMatch());let ht;const Mt=xe.input.substring(ze);if(ht=Mt.match(/^\s*=/)){Ve.ignoreMatch();return}if((ht=Mt.match(/^\s+extends\s+/))&&ht.index===0){Ve.ignoreMatch();return}}},a={$pattern:p2,keyword:YU,literal:QU,built_in:eq,"variable.language":JU},d="[0-9](_?[0-9])*",u=`\\.(${d})`,f="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${f})((${u})|\\.)?|(${u}))[eE][+-]?(${d})\\b`},{begin:`\\b(${f})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},C={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"css"}},y={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},w={className:"string",begin:"`",end:"`",contains:[o.BACKSLASH_ESCAPE,p]},P={className:"comment",variants:[o.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),o.C_BLOCK_COMMENT_MODE,o.C_LINE_COMMENT_MODE]},M=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,C,b,y,w,{match:/\$\d+/},g];p.contains=M.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(M)});const R=[].concat(P,p.contains),T=R.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(R)}]),V={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:T},H={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},X={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...SF,...DF]}},se={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},he={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[V],illegal:/%/},J={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function de(xe){return e.concat("(?!",xe.join("|"),")")}const we={match:e.concat(/\b/,de([...AF,"super","import"].map(xe=>`${xe}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},re={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ae={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},V]},De="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Pe={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(De)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[V]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:T,CLASS_REFERENCE:X},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),se,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,C,b,y,w,P,{match:/\$\d+/},g,X,{scope:"attr",match:i+e.lookahead(":"),relevance:0},Pe,{begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[P,o.REGEXP_MODE,{className:"function",begin:De,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:T}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:n.begin,end:n.end},{match:s},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},he,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[V,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},re,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[V]},we,J,H,ae,{match:/\$[(.]/}]}}function uS(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var oh=uS();function BF(o){oh=o}var _d={exec:()=>null};function Lh(o){let e=[];return t=>{let i=Math.max(0,Math.min(3,t-1)),n=e[i];return n||(n=o(i),e[i]=n),n}}function Yn(o,e=""){let t=typeof o=="string"?o:o.source,i={replace:(n,s)=>{let r=typeof s=="string"?s:s.source;return r=r.replace(Eo.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var tq=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),Eo={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:o=>new RegExp(`^( {0,3}${o})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:Lh(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Lh(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:Lh(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:Lh(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:Lh(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:Lh(o=>new RegExp(`^ {0,${o}}>`))},iq=/^(?:[ \t]*(?:\n|$))+/,nq=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,sq=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Qp=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,oq=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hS=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,FF=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,LF=Yn(FF).replace(/bull/g,hS).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),rq=Yn(FF).replace(/bull/g,hS).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),fS=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,aq=/^[^\n]+/,gS=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,lq=Yn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",gS).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),cq=Yn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,hS).getRegex(),Ib="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",pS=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,dq=Yn("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",pS).replace("tag",Ib).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),IF=Yn(fS).replace("hr",Qp).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ib).getRegex(),uq=Yn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",IF).getRegex(),xS={blockquote:uq,code:nq,def:lq,fences:sq,heading:oq,hr:Qp,html:dq,lheading:LF,list:cq,newline:iq,paragraph:IF,table:_d,text:aq},x2=Yn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Qp).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ib).getRegex(),hq={...xS,lheading:rq,table:x2,paragraph:Yn(fS).replace("hr",Qp).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",x2).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ib).getRegex()},fq={...xS,html:Yn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",pS).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:_d,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Yn(fS).replace("hr",Qp).replace("heading",` *#{1,6} *[^
82
+ ]`).replace("lheading",LF).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},gq=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,pq=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,PF=/^( {2,}|\\)\n(?!\s*$)/,xq=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,vf=/[\p{P}\p{S}]/u,Pb=/[\s\p{P}\p{S}]/u,mS=/[^\s\p{P}\p{S}]/u,mq=Yn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Pb).getRegex(),TF=/(?!~)[\p{P}\p{S}]/u,vq=/(?!~)[\s\p{P}\p{S}]/u,_q=/(?:[^\s\p{P}\p{S}]|~)/u,bq=Yn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",tq?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),MF=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Cq=Yn(MF,"u").replace(/punct/g,vf).getRegex(),Eq=Yn(MF,"u").replace(/punct/g,TF).getRegex(),RF="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",yq=Yn(RF,"gu").replace(/notPunctSpace/g,mS).replace(/punctSpace/g,Pb).replace(/punct/g,vf).getRegex(),wq=Yn(RF,"gu").replace(/notPunctSpace/g,_q).replace(/punctSpace/g,vq).replace(/punct/g,TF).getRegex(),Sq=Yn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,mS).replace(/punctSpace/g,Pb).replace(/punct/g,vf).getRegex(),Dq=Yn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,vf).getRegex(),Aq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",kq=Yn(Aq,"gu").replace(/notPunctSpace/g,mS).replace(/punctSpace/g,Pb).replace(/punct/g,vf).getRegex(),Bq=Yn(/\\(punct)/,"gu").replace(/punct/g,vf).getRegex(),Fq=Yn(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Lq=Yn(pS).replace("(?:-->|$)","-->").getRegex(),Iq=Yn("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Lq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Wv=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Pq=Yn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Wv).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),NF=Yn(/^!?\[(label)\]\[(ref)\]/).replace("label",Wv).replace("ref",gS).getRegex(),OF=Yn(/^!?\[(ref)\](?:\[\])?/).replace("ref",gS).getRegex(),Tq=Yn("reflink|nolink(?!\\()","g").replace("reflink",NF).replace("nolink",OF).getRegex(),m2=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,vS={_backpedal:_d,anyPunctuation:Bq,autolink:Fq,blockSkip:bq,br:PF,code:pq,del:_d,delLDelim:_d,delRDelim:_d,emStrongLDelim:Cq,emStrongRDelimAst:yq,emStrongRDelimUnd:Sq,escape:gq,link:Pq,nolink:OF,punctuation:mq,reflink:NF,reflinkSearch:Tq,tag:Iq,text:xq,url:_d},Mq={...vS,link:Yn(/^!?\[(label)\]\((.*?)\)/).replace("label",Wv).getRegex(),reflink:Yn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Wv).getRegex()},xw={...vS,emStrongRDelimAst:wq,emStrongLDelim:Eq,delLDelim:Dq,delRDelim:kq,url:Yn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",m2).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:Yn(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",m2).getRegex()},Rq={...xw,br:Yn(PF).replace("{2,}","*").getRegex(),text:Yn(xw.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},jx={normal:xS,gfm:hq,pedantic:fq},Wf={normal:vS,gfm:xw,breaks:Rq,pedantic:Mq},Nq={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},v2=o=>Nq[o];function ya(o,e){if(e){if(Eo.escapeTest.test(o))return o.replace(Eo.escapeReplace,v2)}else if(Eo.escapeTestNoEncode.test(o))return o.replace(Eo.escapeReplaceNoEncode,v2);return o}function _2(o){try{o=encodeURI(o).replace(Eo.percentDecode,"%")}catch{return null}return o}function b2(o,e){var s;let t=o.replace(Eo.findPipe,(r,a,d)=>{let u=!1,f=a;for(;--f>=0&&d[f]==="\\";)u=!u;return u?"|":" |"}),i=t.split(Eo.splitPipe),n=0;if(i[0].trim()||i.shift(),i.length>0&&!((s=i.at(-1))!=null&&s.trim())&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length<e;)i.push("");for(;n<i.length;n++)i[n]=i[n].trim().replace(Eo.slashPipe,"|");return i}function Jl(o,e,t){let i=o.length;if(i===0)return"";let n=0;for(;n<i&&o.charAt(i-n-1)===e;)n++;return o.slice(0,i-n)}function C2(o){let e=o.split(`
83
+ `),t=e.length-1;for(;t>=0&&Eo.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
84
+ `)}function Oq(o,e){if(o.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<o.length;i++)if(o[i]==="\\")i++;else if(o[i]===e[0])t++;else if(o[i]===e[1]&&(t--,t<0))return i;return t>0?-2:-1}function Hq(o,e=0){let t=e,i="";for(let n of o)if(n===" "){let s=4-t%4;i+=" ".repeat(s),t+=s}else i+=n,t++;return i}function E2(o,e,t,i,n){let s=e.href,r=e.title||null,a=o[1].replace(n.other.outputLinkReplace,"$1");i.state.inLink=!0;let d={type:o[0].charAt(0)==="!"?"image":"link",raw:t,href:s,title:r,text:a,tokens:i.inlineTokens(a)};return i.state.inLink=!1,d}function Wq(o,e,t){let i=o.match(t.other.indentCodeCompensation);if(i===null)return e;let n=i[1];return e.split(`
85
+ `).map(s=>{let r=s.match(t.other.beginningSpace);if(r===null)return s;let[a]=r;return a.length>=n.length?s.slice(n.length):s}).join(`
86
+ `)}var zv=class{constructor(o){kn(this,"options");kn(this,"rules");kn(this,"lexer");this.options=o||oh}space(o){let e=this.rules.block.newline.exec(o);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(o){let e=this.rules.block.code.exec(o);if(e){let t=this.options.pedantic?e[0]:C2(e[0]),i=t.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t,codeBlockStyle:"indented",text:i}}}fences(o){let e=this.rules.block.fences.exec(o);if(e){let t=e[0],i=Wq(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:i}}}heading(o){let e=this.rules.block.heading.exec(o);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let i=Jl(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:Jl(e[0],`
87
+ `),depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(o){let e=this.rules.block.hr.exec(o);if(e)return{type:"hr",raw:Jl(e[0],`
88
+ `)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=Jl(e[0],`
89
+ `).split(`
90
+ `),i="",n="",s=[];for(;t.length>0;){let r=!1,a=[],d;for(d=0;d<t.length;d++)if(this.rules.other.blockquoteStart.test(t[d]))a.push(t[d]),r=!0;else if(!r)a.push(t[d]);else break;t=t.slice(d);let u=a.join(`
91
+ `),f=u.replace(this.rules.other.blockquoteSetextReplace,`
92
+ $1`).replace(this.rules.other.blockquoteSetextReplace2,"");i=i?`${i}
93
+ ${u}`:u,n=n?`${n}
94
+ ${f}`:f;let g=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(f,s,!0),this.lexer.state.top=g,t.length===0)break;let p=s.at(-1);if((p==null?void 0:p.type)==="code")break;if((p==null?void 0:p.type)==="blockquote"){let C=p,b=C.raw+`
95
+ `+t.join(`
96
+ `),y=this.blockquote(b);s[s.length-1]=y,i=i.substring(0,i.length-C.raw.length)+y.raw,n=n.substring(0,n.length-C.text.length)+y.text;break}else if((p==null?void 0:p.type)==="list"){let C=p,b=C.raw+`
97
+ `+t.join(`
98
+ `),y=this.list(b);s[s.length-1]=y,i=i.substring(0,i.length-p.raw.length)+y.raw,n=n.substring(0,n.length-C.raw.length)+y.raw,t=b.substring(s.at(-1).raw.length).split(`
99
+ `);continue}}return{type:"blockquote",raw:i,tokens:s,text:n}}}list(o){let e=this.rules.block.list.exec(o);if(e){let t=e[1].trim(),i=t.length>1,n={type:"list",raw:"",ordered:i,start:i?+t.slice(0,-1):"",loose:!1,items:[]};t=i?`\\d{1,9}\\${t.slice(-1)}`:`\\${t}`,this.options.pedantic&&(t=i?t:"[*+-]");let s=this.rules.other.listItemRegex(t),r=!1;for(;o;){let d=!1,u="",f="";if(!(e=s.exec(o))||this.rules.block.hr.test(o))break;u=e[0],o=o.substring(u.length);let g=Hq(e[2].split(`
100
+ `,1)[0],e[1].length),p=o.split(`
101
+ `,1)[0],C=!g.trim(),b=0;if(this.options.pedantic?(b=2,f=g.trimStart()):C?b=e[1].length+1:(b=g.search(this.rules.other.nonSpaceChar),b=b>4?1:b,f=g.slice(b),b+=e[1].length),C&&this.rules.other.blankLine.test(p)&&(u+=p+`
102
+ `,o=o.substring(p.length+1),d=!0),!d){let y=this.rules.other.nextBulletRegex(b),w=this.rules.other.hrRegex(b),A=this.rules.other.fencesBeginRegex(b),P=this.rules.other.headingBeginRegex(b),M=this.rules.other.htmlBeginRegex(b),R=this.rules.other.blockquoteBeginRegex(b);for(;o;){let T=o.split(`
103
+ `,1)[0],V;if(p=T,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),V=p):V=p.replace(this.rules.other.tabCharGlobal," "),A.test(p)||P.test(p)||M.test(p)||R.test(p)||y.test(p)||w.test(p))break;if(V.search(this.rules.other.nonSpaceChar)>=b||!p.trim())f+=`
104
+ `+V.slice(b);else{if(C||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||A.test(g)||P.test(g)||w.test(g))break;f+=`
105
+ `+p}C=!p.trim(),u+=T+`
106
+ `,o=o.substring(T.length+1),g=V.slice(b)}}n.loose||(r?n.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(r=!0)),n.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(f),loose:!1,text:f,tokens:[]}),n.raw+=u}let a=n.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;n.raw=n.raw.trimEnd();for(let d of n.items){this.lexer.state.top=!1,d.tokens=this.lexer.blockTokens(d.text,[]);let u=d.tokens[0];if(d.task&&((u==null?void 0:u.type)==="text"||(u==null?void 0:u.type)==="paragraph")){d.text=d.text.replace(this.rules.other.listReplaceTask,""),u.raw=u.raw.replace(this.rules.other.listReplaceTask,""),u.text=u.text.replace(this.rules.other.listReplaceTask,"");for(let g=this.lexer.inlineQueue.length-1;g>=0;g--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[g].src)){this.lexer.inlineQueue[g].src=this.lexer.inlineQueue[g].src.replace(this.rules.other.listReplaceTask,"");break}let f=this.rules.other.listTaskCheckbox.exec(d.raw);if(f){let g={type:"checkbox",raw:f[0]+" ",checked:f[0]!=="[ ]"};d.checked=g.checked,n.loose?d.tokens[0]&&["paragraph","text"].includes(d.tokens[0].type)&&"tokens"in d.tokens[0]&&d.tokens[0].tokens?(d.tokens[0].raw=g.raw+d.tokens[0].raw,d.tokens[0].text=g.raw+d.tokens[0].text,d.tokens[0].tokens.unshift(g)):d.tokens.unshift({type:"paragraph",raw:g.raw,text:g.raw,tokens:[g]}):d.tokens.unshift(g)}}else d.task&&(d.task=!1);if(!n.loose){let f=d.tokens.filter(p=>p.type==="space"),g=f.length>0&&f.some(p=>this.rules.other.anyLine.test(p.raw));n.loose=g}}if(n.loose)for(let d of n.items){d.loose=!0;for(let u of d.tokens)u.type==="text"&&(u.type="paragraph")}return n}}html(o){let e=this.rules.block.html.exec(o);if(e){let t=C2(e[0]);return{type:"html",block:!0,raw:t,pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:t}}}def(o){let e=this.rules.block.def.exec(o);if(e){let t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:Jl(e[0],`
107
+ `),href:i,title:n}}}table(o){var r;let e=this.rules.block.table.exec(o);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let t=b2(e[1]),i=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),n=(r=e[3])!=null&&r.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
108
+ `):[],s={type:"table",raw:Jl(e[0],`
109
+ `),header:[],align:[],rows:[]};if(t.length===i.length){for(let a of i)this.rules.other.tableAlignRight.test(a)?s.align.push("right"):this.rules.other.tableAlignCenter.test(a)?s.align.push("center"):this.rules.other.tableAlignLeft.test(a)?s.align.push("left"):s.align.push(null);for(let a=0;a<t.length;a++)s.header.push({text:t[a],tokens:this.lexer.inline(t[a]),header:!0,align:s.align[a]});for(let a of n)s.rows.push(b2(a,s.header.length).map((d,u)=>({text:d,tokens:this.lexer.inline(d),header:!1,align:s.align[u]})));return s}}lheading(o){let e=this.rules.block.lheading.exec(o);if(e){let t=e[1].trim();return{type:"heading",raw:Jl(e[0],`
110
+ `),depth:e[2].charAt(0)==="="?1:2,text:t,tokens:this.lexer.inline(t)}}}paragraph(o){let e=this.rules.block.paragraph.exec(o);if(e){let t=e[1].charAt(e[1].length-1)===`
111
+ `?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(o){let e=this.rules.block.text.exec(o);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(o){let e=this.rules.inline.escape.exec(o);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(o){let e=this.rules.inline.tag.exec(o);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(o){let e=this.rules.inline.link.exec(o);if(e){let t=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let s=Jl(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=Oq(e[2],"()");if(s===-2)return;if(s>-1){let r=(e[0].indexOf("!")===0?5:4)+e[1].length+s;e[2]=e[2].substring(0,s),e[0]=e[0].substring(0,r).trim(),e[3]=""}}let i=e[2],n="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],n=s[3])}else n=e[3]?e[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(t)?i=i.slice(1):i=i.slice(1,-1)),E2(e,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:n&&n.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(o,e){let t;if((t=this.rules.inline.reflink.exec(o))||(t=this.rules.inline.nolink.exec(o))){let i=(t[2]||t[1]).replace(this.rules.other.multipleSpaceGlobal," "),n=e[i.toLowerCase()];if(!n){let s=t[0].charAt(0);return{type:"text",raw:s,text:s}}return E2(t,n,t[0],this.lexer,this.rules)}}emStrong(o,e,t=""){let i=this.rules.inline.emStrongLDelim.exec(o);if(!(!i||!i[1]&&!i[2]&&!i[3]&&!i[4]||i[4]&&t.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[3])||!t||this.rules.inline.punctuation.exec(t))){let n=[...i[0]].length-1,s,r,a=n,d=0,u=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,e=e.slice(-1*o.length+n);(i=u.exec(e))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(r=[...s].length,i[3]||i[4]){a+=r;continue}else if((i[5]||i[6])&&n%3&&!((n+r)%3)){d+=r;continue}if(a-=r,a>0)continue;r=Math.min(r,r+a+d);let f=[...i[0]][0].length,g=o.slice(0,n+i.index+f+r);if(Math.min(n,r)%2){let C=g.slice(1,-1);return{type:"em",raw:g,text:C,tokens:this.lexer.inlineTokens(C)}}let p=g.slice(2,-2);return{type:"strong",raw:g,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(o){let e=this.rules.inline.code.exec(o);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(t),n=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return i&&n&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:e[0],text:t}}}br(o){let e=this.rules.inline.br.exec(o);if(e)return{type:"br",raw:e[0]}}del(o,e,t=""){let i=this.rules.inline.delLDelim.exec(o);if(i&&(!i[1]||!t||this.rules.inline.punctuation.exec(t))){let n=[...i[0]].length-1,s,r,a=n,d=this.rules.inline.delRDelim;for(d.lastIndex=0,e=e.slice(-1*o.length+n);(i=d.exec(e))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s||(r=[...s].length,r!==n))continue;if(i[3]||i[4]){a+=r;continue}if(a-=r,a>0)continue;r=Math.min(r,r+a);let u=[...i[0]][0].length,f=o.slice(0,n+i.index+u+r),g=f.slice(n,-n);return{type:"del",raw:f,text:g,tokens:this.lexer.inlineTokens(g)}}}}autolink(o){let e=this.rules.inline.autolink.exec(o);if(e){let t,i;return e[2]==="@"?(t=e[1],i="mailto:"+t):(t=e[1],i=t),{type:"link",raw:e[0],text:t,href:i,tokens:[{type:"text",raw:t,text:t}]}}}url(o){var t;let e;if(e=this.rules.inline.url.exec(o)){let i,n;if(e[2]==="@")i=e[0],n="mailto:"+i;else{let s;do s=e[0],e[0]=((t=this.rules.inline._backpedal.exec(e[0]))==null?void 0:t[0])??"";while(s!==e[0]);i=e[0],e[1]==="www."?n="http://"+e[0]:n=e[0]}return{type:"link",raw:e[0],text:i,href:n,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(o){let e=this.rules.inline.text.exec(o);if(e){let t=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:t}}}},Jr=class mw{constructor(e){kn(this,"tokens");kn(this,"options");kn(this,"state");kn(this,"inlineQueue");kn(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||oh,this.options.tokenizer=this.options.tokenizer||new zv,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:Eo,block:jx.normal,inline:Wf.normal};this.options.pedantic?(t.block=jx.pedantic,t.inline=Wf.pedantic):this.options.gfm&&(t.block=jx.gfm,this.options.breaks?t.inline=Wf.breaks:t.inline=Wf.gfm),this.tokenizer.rules=t}static get rules(){return{block:jx,inline:Wf}}static lex(e,t){return new mw(t).lex(e)}static lexInline(e,t){return new mw(t).inlineTokens(e)}lex(e){e=e.replace(Eo.carriageReturn,`
112
+ `),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){var s,r,a;this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(Eo.tabCharGlobal," ").replace(Eo.spaceLine,""));let n=1/0;for(;e;){if(e.length<n)n=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let d;if((r=(s=this.options.extensions)==null?void 0:s.block)!=null&&r.some(f=>(d=f.call({lexer:this},e,t))?(e=e.substring(d.raw.length),t.push(d),!0):!1))continue;if(d=this.tokenizer.space(e)){e=e.substring(d.raw.length);let f=t.at(-1);d.raw.length===1&&f!==void 0?f.raw+=`
113
+ `:t.push(d);continue}if(d=this.tokenizer.code(e)){e=e.substring(d.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="paragraph"||(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
114
+ `)?"":`
115
+ `)+d.raw,f.text+=`
116
+ `+d.text,this.inlineQueue.at(-1).src=f.text):t.push(d);continue}if(d=this.tokenizer.fences(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.heading(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.hr(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.blockquote(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.list(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.html(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.def(e)){e=e.substring(d.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="paragraph"||(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
117
+ `)?"":`
118
+ `)+d.raw,f.text+=`
119
+ `+d.raw,this.inlineQueue.at(-1).src=f.text):this.tokens.links[d.tag]||(this.tokens.links[d.tag]={href:d.href,title:d.title},t.push(d));continue}if(d=this.tokenizer.table(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.lheading(e)){e=e.substring(d.raw.length),t.push(d);continue}let u=e;if((a=this.options.extensions)!=null&&a.startBlock){let f=1/0,g=e.slice(1),p;this.options.extensions.startBlock.forEach(C=>{p=C.call({lexer:this},g),typeof p=="number"&&p>=0&&(f=Math.min(f,p))}),f<1/0&&f>=0&&(u=e.substring(0,f+1))}if(this.state.top&&(d=this.tokenizer.paragraph(u))){let f=t.at(-1);i&&(f==null?void 0:f.type)==="paragraph"?(f.raw+=(f.raw.endsWith(`
120
+ `)?"":`
121
+ `)+d.raw,f.text+=`
122
+ `+d.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):t.push(d),i=u.length!==e.length,e=e.substring(d.raw.length);continue}if(d=this.tokenizer.text(e)){e=e.substring(d.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
123
+ `)?"":`
124
+ `)+d.raw,f.text+=`
125
+ `+d.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):t.push(d);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){var u,f,g,p,C;this.tokenizer.lexer=this;let i=e,n=null;if(this.tokens.links){let b=Object.keys(this.tokens.links);if(b.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(i))!==null;)b.includes(n[0].slice(n[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(n=this.tokenizer.rules.inline.anyPunctuation.exec(i))!==null;)i=i.slice(0,n.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let s;for(;(n=this.tokenizer.rules.inline.blockSkip.exec(i))!==null;)s=n[2]?n[2].length:0,i=i.slice(0,n.index+s)+"["+"a".repeat(n[0].length-s-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);i=((f=(u=this.options.hooks)==null?void 0:u.emStrongMask)==null?void 0:f.call({lexer:this},i))??i;let r=!1,a="",d=1/0;for(;e;){if(e.length<d)d=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(a=""),r=!1;let b;if((p=(g=this.options.extensions)==null?void 0:g.inline)!=null&&p.some(w=>(b=w.call({lexer:this},e,t))?(e=e.substring(b.raw.length),t.push(b),!0):!1))continue;if(b=this.tokenizer.escape(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.tag(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.link(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(b.raw.length);let w=t.at(-1);b.type==="text"&&(w==null?void 0:w.type)==="text"?(w.raw+=b.raw,w.text+=b.text):t.push(b);continue}if(b=this.tokenizer.emStrong(e,i,a)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.codespan(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.br(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.del(e,i,a)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.autolink(e)){e=e.substring(b.raw.length),t.push(b);continue}if(!this.state.inLink&&(b=this.tokenizer.url(e))){e=e.substring(b.raw.length),t.push(b);continue}let y=e;if((C=this.options.extensions)!=null&&C.startInline){let w=1/0,A=e.slice(1),P;this.options.extensions.startInline.forEach(M=>{P=M.call({lexer:this},A),typeof P=="number"&&P>=0&&(w=Math.min(w,P))}),w<1/0&&w>=0&&(y=e.substring(0,w+1))}if(b=this.tokenizer.inlineText(y)){e=e.substring(b.raw.length),b.raw.slice(-1)!=="_"&&(a=b.raw.slice(-1)),r=!0;let w=t.at(-1);(w==null?void 0:w.type)==="text"?(w.raw+=b.raw,w.text+=b.text):t.push(b);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t="Infinite loop on byte: "+e;if(this.options.silent)console.error(t);else throw new Error(t)}},Vv=class{constructor(o){kn(this,"options");kn(this,"parser");this.options=o||oh}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(Eo.notSpaceStart))==null?void 0:s[0],n=o.replace(Eo.endingNewline,"")+`
126
+ `;return i?'<pre><code class="language-'+ya(i)+'">'+(t?n:ya(n,!0))+`</code></pre>
127
+ `:"<pre><code>"+(t?n:ya(n,!0))+`</code></pre>
128
+ `}blockquote({tokens:o}){return`<blockquote>
129
+ ${this.parser.parse(o)}</blockquote>
130
+ `}html({text:o}){return o}def(o){return""}heading({tokens:o,depth:e}){return`<h${e}>${this.parser.parseInline(o)}</h${e}>
131
+ `}hr(o){return`<hr>
132
+ `}list(o){let e=o.ordered,t=o.start,i="";for(let r=0;r<o.items.length;r++){let a=o.items[r];i+=this.listitem(a)}let n=e?"ol":"ul",s=e&&t!==1?' start="'+t+'"':"";return"<"+n+s+`>
133
+ `+i+"</"+n+`>
134
+ `}listitem(o){return`<li>${this.parser.parse(o.tokens)}</li>
135
+ `}checkbox({checked:o}){return"<input "+(o?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:o}){return`<p>${this.parser.parseInline(o)}</p>
136
+ `}table(o){let e="",t="";for(let n=0;n<o.header.length;n++)t+=this.tablecell(o.header[n]);e+=this.tablerow({text:t});let i="";for(let n=0;n<o.rows.length;n++){let s=o.rows[n];t="";for(let r=0;r<s.length;r++)t+=this.tablecell(s[r]);i+=this.tablerow({text:t})}return i&&(i=`<tbody>${i}</tbody>`),`<table>
137
+ <thead>
138
+ `+e+`</thead>
139
+ `+i+`</table>
140
+ `}tablerow({text:o}){return`<tr>
141
+ ${o}</tr>
142
+ `}tablecell(o){let e=this.parser.parseInline(o.tokens),t=o.header?"th":"td";return(o.align?`<${t} align="${o.align}">`:`<${t}>`)+e+`</${t}>
143
+ `}strong({tokens:o}){return`<strong>${this.parser.parseInline(o)}</strong>`}em({tokens:o}){return`<em>${this.parser.parseInline(o)}</em>`}codespan({text:o}){return`<code>${ya(o,!0)}</code>`}br(o){return"<br>"}del({tokens:o}){return`<del>${this.parser.parseInline(o)}</del>`}link({href:o,title:e,tokens:t}){let i=this.parser.parseInline(t),n=_2(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+ya(e)+'"'),s+=">"+i+"</a>",s}image({href:o,title:e,text:t,tokens:i}){i&&(t=this.parser.parseInline(i,this.parser.textRenderer));let n=_2(o);if(n===null)return ya(t);o=n;let s=`<img src="${o}" alt="${ya(t)}"`;return e&&(s+=` title="${ya(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:ya(o.text)}},_S=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},ea=class vw{constructor(e){kn(this,"options");kn(this,"renderer");kn(this,"textRenderer");this.options=e||oh,this.options.renderer=this.options.renderer||new Vv,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new _S}static parse(e,t){return new vw(t).parse(e)}static parseInline(e,t){return new vw(t).parseInline(e)}parse(e){var i,n;this.renderer.parser=this;let t="";for(let s=0;s<e.length;s++){let r=e[s];if((n=(i=this.options.extensions)==null?void 0:i.renderers)!=null&&n[r.type]){let d=r,u=this.options.extensions.renderers[d.type].call({parser:this},d);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(d.type)){t+=u||"";continue}}let a=r;switch(a.type){case"space":{t+=this.renderer.space(a);break}case"hr":{t+=this.renderer.hr(a);break}case"heading":{t+=this.renderer.heading(a);break}case"code":{t+=this.renderer.code(a);break}case"table":{t+=this.renderer.table(a);break}case"blockquote":{t+=this.renderer.blockquote(a);break}case"list":{t+=this.renderer.list(a);break}case"checkbox":{t+=this.renderer.checkbox(a);break}case"html":{t+=this.renderer.html(a);break}case"def":{t+=this.renderer.def(a);break}case"paragraph":{t+=this.renderer.paragraph(a);break}case"text":{t+=this.renderer.text(a);break}default:{let d='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(d),"";throw new Error(d)}}}return t}parseInline(e,t=this.renderer){var n,s;this.renderer.parser=this;let i="";for(let r=0;r<e.length;r++){let a=e[r];if((s=(n=this.options.extensions)==null?void 0:n.renderers)!=null&&s[a.type]){let u=this.options.extensions.renderers[a.type].call({parser:this},a);if(u!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){i+=u||"";continue}}let d=a;switch(d.type){case"escape":{i+=t.text(d);break}case"html":{i+=t.html(d);break}case"link":{i+=t.link(d);break}case"image":{i+=t.image(d);break}case"checkbox":{i+=t.checkbox(d);break}case"strong":{i+=t.strong(d);break}case"em":{i+=t.em(d);break}case"codespan":{i+=t.codespan(d);break}case"br":{i+=t.br(d);break}case"del":{i+=t.del(d);break}case"text":{i+=t.text(d);break}default:{let u='Token with "'+d.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return i}},qx,ng=(qx=class{constructor(o){kn(this,"options");kn(this,"block");this.options=o||oh}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?Jr.lex:Jr.lexInline}provideParser(o=this.block){return o?ea.parse:ea.parseInline}},kn(qx,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),kn(qx,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),qx),zq=class{constructor(...o){kn(this,"defaults",uS());kn(this,"options",this.setOptions);kn(this,"parse",this.parseMarkdown(!0));kn(this,"parseInline",this.parseMarkdown(!1));kn(this,"Parser",ea);kn(this,"Renderer",Vv);kn(this,"TextRenderer",_S);kn(this,"Lexer",Jr);kn(this,"Tokenizer",zv);kn(this,"Hooks",ng);this.use(...o)}walkTokens(o,e){var i,n;let t=[];for(let s of o)switch(t=t.concat(e.call(this,s)),s.type){case"table":{let r=s;for(let a of r.header)t=t.concat(this.walkTokens(a.tokens,e));for(let a of r.rows)for(let d of a)t=t.concat(this.walkTokens(d.tokens,e));break}case"list":{let r=s;t=t.concat(this.walkTokens(r.items,e));break}default:{let r=s;(n=(i=this.defaults.extensions)==null?void 0:i.childTokens)!=null&&n[r.type]?this.defaults.extensions.childTokens[r.type].forEach(a=>{let d=r[a].flat(1/0);t=t.concat(this.walkTokens(d,e))}):r.tokens&&(t=t.concat(this.walkTokens(r.tokens,e)))}}return t}use(...o){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return o.forEach(t=>{let i={...t};if(i.async=this.defaults.async||i.async||!1,t.extensions&&(t.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let s=e.renderers[n.name];s?e.renderers[n.name]=function(...r){let a=n.renderer.apply(this,r);return a===!1&&(a=s.apply(this,r)),a}:e.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=e[n.level];s?s.unshift(n.tokenizer):e[n.level]=[n.tokenizer],n.start&&(n.level==="block"?e.startBlock?e.startBlock.push(n.start):e.startBlock=[n.start]:n.level==="inline"&&(e.startInline?e.startInline.push(n.start):e.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(e.childTokens[n.name]=n.childTokens)}),i.extensions=e),t.renderer){let n=this.defaults.renderer||new Vv(this.defaults);for(let s in t.renderer){if(!(s in n))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let r=s,a=t.renderer[r],d=n[r];n[r]=(...u)=>{let f=a.apply(n,u);return f===!1&&(f=d.apply(n,u)),f||""}}i.renderer=n}if(t.tokenizer){let n=this.defaults.tokenizer||new zv(this.defaults);for(let s in t.tokenizer){if(!(s in n))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let r=s,a=t.tokenizer[r],d=n[r];n[r]=(...u)=>{let f=a.apply(n,u);return f===!1&&(f=d.apply(n,u)),f}}i.tokenizer=n}if(t.hooks){let n=this.defaults.hooks||new ng;for(let s in t.hooks){if(!(s in n))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let r=s,a=t.hooks[r],d=n[r];ng.passThroughHooks.has(s)?n[r]=u=>{if(this.defaults.async&&ng.passThroughHooksRespectAsync.has(s))return(async()=>{let g=await a.call(n,u);return d.call(n,g)})();let f=a.call(n,u);return d.call(n,f)}:n[r]=(...u)=>{if(this.defaults.async)return(async()=>{let g=await a.apply(n,u);return g===!1&&(g=await d.apply(n,u)),g})();let f=a.apply(n,u);return f===!1&&(f=d.apply(n,u)),f}}i.hooks=n}if(t.walkTokens){let n=this.defaults.walkTokens,s=t.walkTokens;i.walkTokens=function(r){let a=[];return a.push(s.call(this,r)),n&&(a=a.concat(n.call(this,r))),a}}this.defaults={...this.defaults,...i}}),this}setOptions(o){return this.defaults={...this.defaults,...o},this}lexer(o,e){return Jr.lex(o,e??this.defaults)}parser(o,e){return ea.parse(o,e??this.defaults)}parseMarkdown(o){return(e,t)=>{let i={...t},n={...this.defaults,...i},s=this.onError(!!n.silent,!!n.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(n.hooks&&(n.hooks.options=n,n.hooks.block=o),n.async)return(async()=>{let r=n.hooks?await n.hooks.preprocess(e):e,a=await(n.hooks?await n.hooks.provideLexer(o):o?Jr.lex:Jr.lexInline)(r,n),d=n.hooks?await n.hooks.processAllTokens(a):a;n.walkTokens&&await Promise.all(this.walkTokens(d,n.walkTokens));let u=await(n.hooks?await n.hooks.provideParser(o):o?ea.parse:ea.parseInline)(d,n);return n.hooks?await n.hooks.postprocess(u):u})().catch(s);try{n.hooks&&(e=n.hooks.preprocess(e));let r=(n.hooks?n.hooks.provideLexer(o):o?Jr.lex:Jr.lexInline)(e,n);n.hooks&&(r=n.hooks.processAllTokens(r)),n.walkTokens&&this.walkTokens(r,n.walkTokens);let a=(n.hooks?n.hooks.provideParser(o):o?ea.parse:ea.parseInline)(r,n);return n.hooks&&(a=n.hooks.postprocess(a)),a}catch(r){return s(r)}}}onError(o,e){return t=>{if(t.message+=`
144
+ Please report this to https://github.com/markedjs/marked.`,o){let i="<p>An error occurred:</p><pre>"+ya(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Gu=new zq;function ss(o,e){return Gu.parse(o,e)}ss.options=ss.setOptions=function(o){return Gu.setOptions(o),ss.defaults=Gu.defaults,BF(ss.defaults),ss};ss.getDefaults=uS;ss.defaults=oh;ss.use=function(...o){return Gu.use(...o),ss.defaults=Gu.defaults,BF(ss.defaults),ss};ss.walkTokens=function(o,e){return Gu.walkTokens(o,e)};ss.parseInline=Gu.parseInline;ss.Parser=ea;ss.parser=ea.parse;ss.Renderer=Vv;ss.TextRenderer=_S;ss.Lexer=Jr;ss.lexer=Jr.lex;ss.Tokenizer=zv;ss.Hooks=ng;ss.parse=ss;ss.options;ss.setOptions;ss.use;ss.walkTokens;ss.parseInline;ea.parse;Jr.lex;var Vq=B('<span class="chat-model svelte-10ayso4"><!></span>'),jq=B('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),$q=B('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),Uq=B('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),qq=B('<ul class="history-list svelte-10ayso4"></ul>'),Gq=B('<div class="history-panel svelte-10ayso4"><div class="history-hdr svelte-10ayso4"><span class="svelte-10ayso4">Conversations</span> <button class="new-conv-btn svelte-10ayso4">+ New</button></div> <!></div>'),Kq=B('<div class="unconfigured svelte-10ayso4">Configure an AI provider in the <strong class="svelte-10ayso4">Config</strong> tab to use the AI assistant.</div>'),Zq=B('Chatting in context of <code class="svelte-10ayso4"> </code>',1),Xq=B('<button class="chip svelte-10ayso4"> </button>'),Yq=B('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),Qq=B('<div class="msg-content user-text svelte-10ayso4"> </div>'),y2=B('<span class="tool-args svelte-10ayso4"> </span>'),w2=B('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),S2=B('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),D2=B('<div class="tool-events svelte-10ayso4"></div>'),A2=B('<div class="text-block svelte-10ayso4"></div>'),Jq=B('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),eG=B('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),tG=B('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),iG=B('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),nG=B('<button class="expand-btn svelte-10ayso4"> </button>'),sG=B('<div class="code-block svelte-10ayso4"><div class="code-header svelte-10ayso4"><span class="code-lang svelte-10ayso4"> </span> <div class="code-actions svelte-10ayso4"><button class="svelte-10ayso4">Copy</button> <!></div></div> <div><pre class="svelte-10ayso4"><code class="hljs svelte-10ayso4"></code></pre> <!></div></div>'),oG=B('<!> <div class="msg-content svelte-10ayso4"></div>',1),rG=B("<div><!></div>"),aG=B('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),lG=B('<div class="code-block svelte-10ayso4"><div class="code-header svelte-10ayso4"><span class="code-lang svelte-10ayso4"> </span></div> <pre class="svelte-10ayso4"><code class="hljs svelte-10ayso4"></code></pre></div>'),cG=B('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),dG=B('<div class="chat-error svelte-10ayso4"> </div>'),uG=B('<span class="ctx-indicator svelte-10ayso4"><svg width="12" height="12" viewBox="0 0 12 12" class="svelte-10ayso4"><circle cx="6" cy="6" r="5" fill="none" stroke="var(--border-sub)" stroke-width="2" class="svelte-10ayso4"></circle><circle cx="6" cy="6" r="5" fill="none" stroke-width="2" stroke-dashoffset="7.85" stroke-linecap="round" class="svelte-10ayso4"></circle></svg></span>'),hG=B('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),fG=B('<span class="file-chip svelte-10ayso4"><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4" title="Remove from context">×</button></span>'),gG=B('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),pG=B('<button class="send-btn svelte-10ayso4">↑</button>'),xG=B('<option class="svelte-10ayso4"> </option>'),mG=B('<select class="model-select svelte-10ayso4"></select>'),vG=B('<span class="model-name svelte-10ayso4"> </span>'),_G=B('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),bG=B('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),CG=B('<p class="info-status svelte-10ayso4">Loading…</p>'),EG=B('<p class="info-status info-err svelte-10ayso4"> </p>'),yG=B('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),wG=B('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),SG=B('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),DG=B('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),AG=B('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),kG=B('<div class="running-model svelte-10ayso4"> </div>'),BG=B('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),FG=B('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),LG=B('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),IG=B('<div class="info-overlay svelte-10ayso4"><div class="info-popup svelte-10ayso4"><div class="info-popup-header svelte-10ayso4"><span class="svelte-10ayso4"> </span> <button title="Close" class="svelte-10ayso4">✕</button></div> <div class="info-popup-body svelte-10ayso4"><!></div></div></div>'),PG=B('<div class="chat-panel svelte-10ayso4"><div class="chat-header svelte-10ayso4"><span class="chat-title svelte-10ayso4">AI Assistant</span> <!> <button title="Conversation history"><svg width="13" height="13" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="svelte-10ayso4"><circle cx="8" cy="8" r="6" class="svelte-10ayso4"></circle><polyline points="8,5 8,8 10,10" class="svelte-10ayso4"></polyline></svg></button> <!></div> <!> <div class="messages svelte-10ayso4"><!> <!> <!> <!> <!></div> <!> <div class="context-row svelte-10ayso4"><label title="Include she API reference in context" class="svelte-10ayso4"><input type="checkbox" class="svelte-10ayso4"/><span class="checkmark svelte-10ayso4"></span> she API</label> <label title="Let the AI query MQTT state, sheDB documents and Matter devices on demand. Disables real-time streaming." class="svelte-10ayso4"><input type="checkbox" class="svelte-10ayso4"/><span class="checkmark svelte-10ayso4"></span> 😎 Agent</label> <span class="req-size svelte-10ayso4"> <!></span></div> <div class="files-row svelte-10ayso4"><!> <!> <button class="add-file-btn svelte-10ayso4" title="Attach file to context">+</button> <input type="file" multiple="" class="file-input-hidden svelte-10ayso4"/></div> <div><div><textarea rows="3" class="svelte-10ayso4"></textarea></div> <!></div> <!></div> <!>',1);function TG(o,e){js(e,!0),Hv.registerLanguage("javascript",kF),ss.use({breaks:!0,gfm:!0});let t=Tu(e,"currentScript",3,null),i=Tu(e,"extraFiles",31,()=>Li([])),n=F(Li([])),s=F(null),r=F(""),a=F(!1),d=F(""),u=F(null);const f="she:conversationId";function g(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=F(Li(localStorage.getItem(f)??g())),C=F(Li([])),b=F(!1);Kn(()=>{localStorage.setItem(f,c(p))});let y=F(Li([])),w=F(Li(localStorage.getItem("she:selectedModel")??"")),A=F(null);const P=Lt(()=>{var Z;return c(A)!==null&&((Z=t())==null?void 0:Z.path)===c(A)});let M=F(Li(new Set)),R=F(!1),T=F(null),V=F(!1),H=F(""),X=F(0),se=null,he=F(0);const J=["[core] reticulating splines…","[io] calibrating the flux capacitor…","[net] pinging the oracle (no response)…","[gpu] overclocking the neurons…","[fs] loading sarcasm module v4.2…","[mem] defragmenting the embedding space…","[sched] running gradient descent into madness…","[net] synchronizing with the hive mind…","[model] tickling the transformer…","[io] consulting rubber duck debugger…","[core] solving P=NP as a warmup…","[gpu] burning GPU cycles for warmth…","[mem] compressing knowledge into tensors…","[net] asking my inner voice (busy)…","[fs] mining opinions from the void…","[core] summoning attention heads…","[io] tokenizing the vibes…","[sched] hallucinating thoughtfully…","[net] traversing the knowledge graph…","[model] manifesting an answer…"];let de=F(!0),we=F(!0),re=F(!0),ae=F(!1),De,Pe=F(Li([])),xe,Ve;const ze=Lt(()=>({apiref:c(de),tools:c(we)})),ve=Lt(()=>{var Z;return((Z=c(u))==null?void 0:Z.configured)??!1}),ht=Lt(()=>{var Z;return c(ve)||!!((Z=c(u))!=null&&Z.provider)&&!!c(w)}),Mt=Lt(()=>c(X)+new TextEncoder().encode(c(r)).length),ot=Lt(()=>c(re)?t():null);Kn(()=>{var ce;const Z=(ce=t())==null?void 0:ce.path;m(re,!0),c(A)!==null&&Z!==c(A)&&m(A,null)}),Kn(()=>{var mt;if(!c(P))return;const Z=c(n).at(-1);if(!Z||Z.role!=="assistant")return;const je=Ce(Z.content).find(Le=>Le.type==="code"&&xi(Le.lang));if(je){const Le=_i(je.text);(mt=e.onApply)==null||mt.call(e,Le?Le.code:je.text)}});async function yt(){try{const Z=await xF();m(u,Z,!0),Z.configured&&!c(w)&&m(w,Z.model,!0)}catch{}}Kn(()=>(window.addEventListener("she:config-changed",yt),()=>window.removeEventListener("she:config-changed",yt))),Kn(()=>{c(w)&&localStorage.setItem("she:selectedModel",c(w))}),Kn(()=>{var Z;(Z=c(u))!=null&&Z.provider&&mF().then(ce=>{m(y,ce.models,!0),!c(w)&&ce.models.length>0&&m(w,ce.models[0],!0)}).catch(()=>{})}),Kn(()=>{c(w),m(T,null),m(H,"")}),Kn(()=>{var ce,je;if(((ce=c(u))==null?void 0:ce.provider)!=="ollama")return;const Z=c(w)||((je=c(u))==null?void 0:je.model);!Z||c(T)||gw(Z).then(mt=>{m(T,mt,!0)}).catch(()=>{})}),Kn(()=>{if(!c(a))return;m(he,Math.floor(Math.random()*J.length),!0);const Z=setInterval(()=>{m(he,(c(he)+1)%J.length)},1e4);return()=>clearInterval(Z)}),Kn(()=>{var Z;Ve&&(c(n).length+(((Z=c(s))==null?void 0:Z.length)??0),requestAnimationFrame(()=>{Ve&&(Ve.scrollTop=Ve.scrollHeight)}))}),Kn(()=>{const Z=c(ze),ce=c(ot),je=i();c(ht)&&vF({context:Z,currentScript:ce??null,extraFiles:je.length>0?je:void 0}).then(mt=>{m(X,new TextEncoder().encode(mt.prompt).length,!0)}).catch(()=>{})});function Ce(Z){const ce=Z.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
145
+ $2
146
+ `),je=[],mt=/```(\w*)\n([\s\S]*?)```/g;let Le=0,He;for(;(He=mt.exec(ce))!==null;)He.index>Le&&je.push({type:"text",text:ce.slice(Le,He.index)}),je.push({type:"code",lang:He[1]||"text",text:He[2].trimEnd()}),Le=He.index+He[0].length;return Le<ce.length&&je.push({type:"text",text:ce.slice(Le)}),je}const Rt=15;function ai(Z){return Z.split(`
147
+ `).length>Rt}function Ge(Z){const ce=new Set(c(M));ce.has(Z)?ce.delete(Z):ce.add(Z),m(M,ce,!0)}function nt(Z,ce){if(xi(ce))try{return Hv.highlight(Z,{language:"javascript"}).value}catch{}return Z.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Dt(Z){return ss.parse(Z)}function Jt(Z){const ce=Z.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
148
+ $2
149
+ `),je=[],mt=/```(\w*)\n([\s\S]*?)```/g;let Le=0,He;for(;(He=mt.exec(ce))!==null;)He.index>Le&&je.push({type:"text",text:ce.slice(Le,He.index)}),je.push({type:"code",lang:He[1]||"text",text:He[2].trimEnd()}),Le=He.index+He[0].length;const St=ce.slice(Le),gt=St.match(/```(\w*)\n([\s\S]*)$/);return gt?(gt.index>0&&je.push({type:"text",text:St.slice(0,gt.index)}),je.push({type:"code",lang:gt[1]||"text",text:gt[2]})):St&&je.push({type:"text",text:St}),je}function di(Z){navigator.clipboard.writeText(Z).catch(()=>{})}function ci(Z,ce=!1){var je;ce&&t()&&m(A,t().path,!0),(je=e.onApply)==null||je.call(e,Z)}function xi(Z){return!Z||Z==="js"||Z==="javascript"}function _i(Z){const ce=Z.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return ce?{filename:ce[1],code:Z.slice(ce[0].length)}:null}function Ke(Z){return Z>=1e9?`${(Z/1e9).toFixed(1)} GB`:Z>=1e6?`${(Z/1e6).toFixed(0)} MB`:Z>=1024?`${(Z/1024).toFixed(1)} kB`:`${Z} B`}async function Ee(){if(m(R,!0),!(c(T)||c(V))){m(V,!0),m(H,"");try{m(T,await gw(c(w)||c(u).model),!0)}catch(Z){m(H,Z.message,!0)}m(V,!1)}}function ii(Z){const ce=Z.match(/\.([^.]+)$/);return ce?ce[1].toUpperCase():"?"}function bi(Z){switch(Z){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return Z}}function ni(Z){i(i().filter((ce,je)=>je!==Z))}function $i(){De.click()}async function Zi(Z){if(!(!Z||Z.length===0))for(const ce of Array.from(Z)){const je=await ce.text();i([...i(),{name:ce.name,content:je}])}}function wi(Z){const ce=Z.target;Zi(ce.files),ce.value=""}function yn(Z){var ce;Z.preventDefault(),m(ae,!1),Zi(((ce=Z.dataTransfer)==null?void 0:ce.files)??null)}function un(Z){var ce;(ce=Z.dataTransfer)!=null&&ce.types.includes("Files")&&(Z.preventDefault(),m(ae,!0))}function cn(){m(ae,!1)}async function fn(){try{m(C,await J$(),!0)}catch{}}async function ft(){var ce;if(c(n).length===0)return;const Z=((ce=c(n).find(je=>je.role==="user"))==null?void 0:ce.content.slice(0,80))??c(p);try{await eU(c(p),Z,c(n)),await fn()}catch{}}async function Gt(Z){try{const ce=await d2(Z);m(n,ce.messages,!0),m(p,Z,!0),m(b,!1),m(d,"")}catch{}}async function Pi(Z){try{await tU(Z),await fn(),Z===c(p)&&qi()}catch{}}function qi(){m(n,[],!0),m(d,""),m(p,g(),!0),m(b,!1)}Xs(async()=>{yt();try{const Z=await d2(c(p));m(n,Z.messages,!0)}catch{}await fn()});async function Ci(){const Z=c(r).trim();if(!Z||c(a))return;m(r,""),m(d,""),m(a,!0);const ce={role:"user",content:Z};m(n,[...c(n),ce],!0),se=new AbortController,m(Pe,[],!0);try{await _F({messages:c(n),currentScript:c(ot),context:c(ze),modelOverride:c(w)||void 0,extraFiles:i().length>0?i():void 0},je=>{m(s,(c(s)??"")+je)},se.signal,je=>{m(Pe,[...c(Pe),je],!0)}),m(n,[...c(n),{role:"assistant",content:c(s)??"",toolEvents:c(Pe).length>0?[...c(Pe)]:void 0}],!0),m(Pe,[],!0)}catch(je){if(je.name==="AbortError"){const mt=c(s);mt&&mt.trim()&&m(n,[...c(n),{role:"assistant",content:mt+`
150
+
151
+ *[stopped]*`,toolEvents:c(Pe).length>0?[...c(Pe)]:void 0}],!0)}else m(d,je.message,!0)}finally{se=null,m(s,null),m(Pe,[],!0),m(a,!1),ft()}}function Wi(){se==null||se.abort()}function Vi(Z){Z.key==="Enter"&&!Z.shiftKey&&(Z.preventDefault(),Ci())}function Qi(){qi()}const Si=["Explain what this script does","Add error handling","Add a 30-minute schedule before sunrise","Write a new script that forwards MQTT topic A to topic B","Write a new script that turns lights on at sunset"];function it(Z){m(r,Z,!0),xe==null||xe.focus()}var At=PG(),Oi=Et(At),Ti=_(Oi),Bi=v(_(Ti),2);{var Ri=Z=>{var ce=Vq(),je=_(ce);{var mt=St=>{var gt=Co();j(()=>W(gt,`${c(u).provider??""} · ${(c(w)||c(u).model)??""}`)),D(St,gt)},Le=St=>{var gt=Co();j(()=>W(gt,`${c(u).provider??""} · pick a model below`)),D(St,gt)},He=St=>{var gt=Co("Not configured");D(St,gt)};z(je,St=>{c(ht)?St(mt):c(u).provider?St(Le,1):St(He,-1)})}j(()=>ln(ce,"title",`Provider: ${c(u).provider??""}`)),D(Z,ce)};z(Bi,Z=>{c(u)&&Z(Ri)})}var K=v(Bi,2);let Ae;var Xe=v(K,2);{var st=Z=>{var ce=jq();U("click",ce,Qi),D(Z,ce)};z(Xe,Z=>{c(n).length>0&&Z(st)})}var Kt=v(Ti,2);{var si=Z=>{var ce=Gq(),je=_(ce),mt=v(_(je),2),Le=v(je,2);{var He=gt=>{var Ie=$q();D(gt,Ie)},St=gt=>{var Ie=qq();ti(Ie,21,()=>c(C),pe=>pe.id,(pe,Re)=>{var Ne=Uq();let Ue;var rt=_(Ne),qe=_(rt),vt=v(rt,2);j(()=>{Ue=Ft(Ne,1,"history-item svelte-10ayso4",null,Ue,{"history-active":c(Re).id===c(p)}),ln(rt,"title",c(Re).id),W(qe,c(Re).title||c(Re).id)}),U("click",rt,()=>Gt(c(Re).id)),U("click",vt,()=>Pi(c(Re).id)),D(pe,Ne)}),D(gt,Ie)};z(Le,gt=>{c(C).length===0?gt(He):gt(St,-1)})}U("click",mt,qi),D(Z,ce)};z(Kt,Z=>{c(b)&&Z(si)})}var xt=v(Kt,2),dt=_(xt);{var Y=Z=>{var ce=Kq();D(Z,ce)},Te=Z=>{var ce=Yq(),je=_(ce),mt=_(je);{var Le=gt=>{var Ie=Zq(),pe=v(Et(Ie)),Re=_(pe);j(Ne=>W(Re,Ne),[()=>t().path.split("/").pop()]),D(gt,Ie)},He=gt=>{var Ie=Co("No script open. Ask a general she scripting question.");D(gt,Ie)};z(mt,gt=>{t()?gt(Le):gt(He,-1)})}var St=v(je,2);ti(St,17,()=>Si,Hi,(gt,Ie)=>{var pe=Xq(),Re=_(pe);j(()=>W(Re,c(Ie))),U("click",pe,()=>it(c(Ie))),D(gt,pe)}),D(Z,ce)};z(dt,Z=>{c(ve)?c(n).length===0&&c(s)===null&&Z(Te,1):Z(Y)})}var Ye=v(dt,2);ti(Ye,17,()=>c(n),Hi,(Z,ce,je)=>{var mt=rG(),Le=_(mt);{var He=gt=>{var Ie=Qq(),pe=_(Ie);j(()=>W(pe,c(ce).content)),D(gt,Ie)},St=gt=>{const Ie=Lt(()=>Ce(c(ce).content));var pe=oG(),Re=Et(pe);{var Ne=rt=>{var qe=D2();ti(qe,21,()=>c(ce).toolEvents,Hi,(vt,ge)=>{var Oe=ws(),_t=Et(Oe);{var jt=Ni=>{var Mi=w2(),Ji=v(_(Mi),2),Fi=_(Ji),ui=v(Ji,2);{var zt=Wt=>{var oi=y2(),vi=_(oi);j(tn=>W(vi,tn),[()=>Object.entries(c(ge).args).map(([tn,Xi])=>`${tn}=${JSON.stringify(Xi)}`).join(", ")]),D(Wt,oi)},kt=Lt(()=>c(ge).args&&Object.keys(c(ge).args).length>0);z(ui,Wt=>{c(kt)&&Wt(zt)})}j(Wt=>W(Fi,Wt),[()=>c(ge).name.replace(/_/g," ")]),D(Ni,Mi)},Ct=Ni=>{var Mi=S2(),Ji=v(_(Mi),2),Fi=_(Ji);j(ui=>W(Fi,ui),[()=>c(ge).name.replace(/_/g," ")]),D(Ni,Mi)};z(_t,Ni=>{c(ge).type==="tool_call"?Ni(jt):Ni(Ct,-1)})}D(vt,Oe)}),D(rt,qe)};z(Re,rt=>{var qe;(qe=c(ce).toolEvents)!=null&&qe.length&&rt(Ne)})}var Ue=v(Re,2);ti(Ue,21,()=>c(Ie),Hi,(rt,qe,vt)=>{var ge=ws(),Oe=Et(ge);{var _t=Ct=>{var Ni=A2();hc(Ni,()=>Dt(c(qe).text),!0),D(Ct,Ni)},jt=Ct=>{const Ni=Lt(()=>xi(c(qe).lang)?_i(c(qe).text):null),Mi=Lt(()=>c(Ni)?c(Ni).code:c(qe).text),Ji=Lt(()=>`${je}:${vt}`),Fi=Lt(()=>ai(c(Mi))),ui=Lt(()=>c(M).has(c(Ji)));var zt=sG(),kt=_(zt),Wt=_(kt),oi=_(Wt),vi=v(Wt,2),tn=_(vi),Xi=v(tn,2);{var Ln=Jn=>{var Ms=Jq();U("click",Ms,()=>e.onCreateFile(c(Ni).filename,c(Ni).code)),D(Jn,Ms)},Ki=Jn=>{var Ms=iG(),er=Et(Ms),zr=v(er,2);{var Xa=gr=>{var Vr=eG();D(gr,Vr)},zl=gr=>{var Vr=tG();U("click",Vr,()=>ci(c(qe).text,!0)),D(gr,Vr)};z(zr,gr=>{c(P)?gr(Xa):gr(zl,-1)})}U("click",er,()=>ci(c(qe).text)),D(Jn,Ms)},An=Lt(()=>xi(c(qe).lang)&&t());z(Xi,Jn=>{c(Ni)&&e.onCreateFile?Jn(Ln):c(An)&&Jn(Ki,1)})}var qn=v(kt,2);let Mn;var os=_(qn),zi=_(os);hc(zi,()=>nt(c(Mi),c(qe).lang??""),!0);var Gs=v(os,2);{var Nn=Jn=>{var Ms=nG(),er=_(Ms);j(()=>W(er,c(ui)?"▲ collapse":"▼ expand")),U("click",Ms,()=>Ge(c(Ji))),D(Jn,Ms)};z(Gs,Jn=>{c(Fi)&&Jn(Nn)})}j(()=>{W(oi,c(Ni)?`new: ${c(Ni).filename}`:c(qe).lang),Mn=Ft(qn,1,"code-body svelte-10ayso4",null,Mn,{collapsed:c(Fi)&&!c(ui)})}),U("click",tn,()=>di(c(Mi))),D(Ct,zt)};z(Oe,Ct=>{c(qe).type==="text"?Ct(_t):Ct(jt,-1)})}D(rt,ge)}),D(gt,pe)};z(Le,gt=>{c(ce).role==="user"?gt(He):gt(St,-1)})}j(()=>Ft(mt,1,`message ${c(ce).role??""}`,"svelte-10ayso4")),D(Z,mt)});var ke=v(Ye,2);{var It=Z=>{var ce=D2();ti(ce,21,()=>c(Pe),Hi,(je,mt)=>{var Le=ws(),He=Et(Le);{var St=Ie=>{var pe=w2(),Re=v(_(pe),2),Ne=_(Re),Ue=v(Re,2);{var rt=vt=>{var ge=y2(),Oe=_(ge);j(_t=>W(Oe,_t),[()=>Object.entries(c(mt).args).map(([_t,jt])=>`${_t}=${JSON.stringify(jt)}`).join(", ")]),D(vt,ge)},qe=Lt(()=>c(mt).args&&Object.keys(c(mt).args).length>0);z(Ue,vt=>{c(qe)&&vt(rt)})}j(vt=>W(Ne,vt),[()=>c(mt).name.replace(/_/g," ")]),D(Ie,pe)},gt=Ie=>{var pe=S2(),Re=v(_(pe),2),Ne=_(Re);j(Ue=>W(Ne,Ue),[()=>c(mt).name.replace(/_/g," ")]),D(Ie,pe)};z(He,Ie=>{c(mt).type==="tool_call"?Ie(St):Ie(gt,-1)})}D(je,Le)}),D(Z,ce)};z(ke,Z=>{c(Pe).length>0&&Z(It)})}var $t=v(ke,2);{var te=Z=>{var ce=aG(),je=_(ce),mt=_(je),Le=_(mt);j(()=>W(Le,J[c(he)])),D(Z,ce)};z($t,Z=>{c(a)&&c(s)===null&&c(Pe).length===0&&Z(te)})}var Je=v($t,2);{var Pt=Z=>{var ce=cG(),je=_(ce);ti(je,21,()=>Jt(c(s)),Hi,(mt,Le)=>{var He=ws(),St=Et(He);{var gt=pe=>{var Re=A2();hc(Re,()=>Dt(c(Le).text),!0),D(pe,Re)},Ie=pe=>{var Re=lG(),Ne=_(Re),Ue=_(Ne),rt=_(Ue),qe=v(Ne,2),vt=_(qe);hc(vt,()=>nt(c(Le).text,c(Le).lang??""),!0),j(()=>W(rt,c(Le).lang)),D(pe,Re)};z(St,pe=>{c(Le).type==="text"?pe(gt):pe(Ie,-1)})}D(mt,He)}),D(Z,ce)};z(Je,Z=>{c(s)!==null&&Z(Pt)})}gs(xt,Z=>Ve=Z,()=>Ve);var Bt=v(xt,2);{var Ot=Z=>{var ce=dG(),je=_(ce);j(()=>W(je,c(d))),D(Z,ce)};z(Bt,Z=>{c(d)&&Z(Ot)})}var Se=v(Bt,2),Qe=_(Se),Yt=_(Qe),Zt=v(Qe,2),mi=_(Zt),ei=v(Zt,2),fe=_(ei),et=v(fe);{var at=Z=>{const ce=Lt(()=>Math.min(100,Math.round(c(Mt)/4/c(T).contextLength*100)));var je=uG(),mt=_(je),Le=v(_(mt));j((He,St)=>{ln(je,"title",`~${c(ce)??""}% of ${He??""} token context window used`),ln(Le,"stroke",c(ce)>80?"var(--fg-err)":c(ce)>50?"var(--fg-warn)":"var(--fg-ok)"),ln(Le,"stroke-dasharray",`${St??""} 31.4`)},[()=>c(T).contextLength.toLocaleString(),()=>(c(ce)/100*31.4).toFixed(1)]),D(Z,je)};z(et,Z=>{var ce;(ce=c(T))!=null&&ce.contextLength&&Z(at)})}var ct=v(Se,2),Ut=_(ct);{var Ht=Z=>{const ce=Lt(()=>ii(t().path.split("/").pop()??t().path));var je=hG();let mt;var Le=_(je),He=_(Le),St=v(Le,2),gt=_(St),Ie=v(St,2),pe=_(Ie);j((Re,Ne)=>{mt=Ft(je,1,"file-chip svelte-10ayso4",null,mt,{inactive:!c(re)}),Ft(Le,1,`badge badge-${Re??""}`,"svelte-10ayso4"),W(He,Ne),W(gt,t().path),ln(Ie,"title",c(re)?"Remove from context":"Re-add to context"),W(pe,c(re)?"×":"+")},[()=>c(ce).toLowerCase(),()=>bi(c(ce))]),U("click",Ie,()=>m(re,!c(re))),D(Z,je)};z(Ut,Z=>{t()&&Z(Ht)})}var Ei=v(Ut,2);ti(Ei,17,i,Hi,(Z,ce,je)=>{const mt=Lt(()=>ii(c(ce).name));var Le=fG(),He=_(Le),St=_(He),gt=v(He,2),Ie=_(gt),pe=v(gt,2);j((Re,Ne)=>{Ft(He,1,`badge badge-${Re??""}`,"svelte-10ayso4"),W(St,Ne),W(Ie,c(ce).name)},[()=>c(mt).toLowerCase(),()=>bi(c(mt))]),U("click",pe,()=>ni(je)),D(Z,Le)});var I=v(Ei,2),N=v(I,2);gs(N,Z=>De=Z,()=>De);var $=v(ct,2);let oe;var ie=_($);let ne;var le=_(ie);gs(le,Z=>xe=Z,()=>xe);var tt=v(ie,2);{var Fe=Z=>{var ce=gG();U("click",ce,Wi),D(Z,ce)},_e=Z=>{var ce=pG();j(je=>ce.disabled=je,[()=>!c(r).trim()||!c(ht)]),U("click",ce,Ci),D(Z,ce)};z(tt,Z=>{c(a)?Z(Fe):Z(_e,-1)})}var Ze=v($,2);{var Me=Z=>{var ce=bG(),je=_(ce),mt=_(je),Le=v(je,2);{var He=pe=>{var Re=mG();ti(Re,21,()=>c(y),Hi,(Ne,Ue)=>{var rt=xG(),qe=_(rt),vt={};j(()=>{W(qe,c(Ue)),vt!==(vt=c(Ue))&&(rt.value=(rt.__value=c(Ue))??"")}),D(Ne,rt)}),j(()=>Re.disabled=c(a)),Fs(Re,()=>c(w),Ne=>m(w,Ne)),D(pe,Re)},St=pe=>{var Re=vG(),Ne=_(Re);j(()=>W(Ne,c(w)||c(u).model)),D(pe,Re)};z(Le,pe=>{c(y).length>0?pe(He):pe(St,-1)})}var gt=v(Le,2);{var Ie=pe=>{var Re=_G();U("click",Re,Ee),D(pe,Re)};z(gt,pe=>{c(u).provider==="ollama"&&pe(Ie)})}j(()=>W(mt,c(u).provider)),D(Z,ce)};z(Ze,Z=>{var ce;(ce=c(u))!=null&&ce.provider&&(c(ve)||c(y).length>0)&&Z(Me)})}var lt=v(Oi,2);{var Xt=Z=>{var ce=IG(),je=_(ce),mt=_(je),Le=_(mt),He=_(Le),St=v(Le,2),gt=v(mt,2),Ie=_(gt);{var pe=Ue=>{var rt=CG();D(Ue,rt)},Re=Ue=>{var rt=EG(),qe=_(rt);j(()=>W(qe,c(H))),D(Ue,rt)},Ne=Ue=>{var rt=LG(),qe=_(rt);{var vt=kt=>{var Wt=yG(),oi=v(Et(Wt)),vi=_(oi);j(()=>W(vi,c(T).version)),D(kt,Wt)};z(qe,kt=>{c(T).version&&kt(vt)})}var ge=v(qe,2);{var Oe=kt=>{var Wt=wG(),oi=v(Et(Wt)),vi=_(oi);j(()=>W(vi,c(T).details.family)),D(kt,Wt)};z(ge,kt=>{var Wt;(Wt=c(T).details)!=null&&Wt.family&&kt(Oe)})}var _t=v(ge,2);{var jt=kt=>{var Wt=SG(),oi=v(Et(Wt)),vi=_(oi);j(()=>W(vi,c(T).details.parameter_size)),D(kt,Wt)};z(_t,kt=>{var Wt;(Wt=c(T).details)!=null&&Wt.parameter_size&&kt(jt)})}var Ct=v(_t,2);{var Ni=kt=>{var Wt=DG(),oi=v(Et(Wt)),vi=_(oi);j(()=>W(vi,c(T).details.quantization_level)),D(kt,Wt)};z(Ct,kt=>{var Wt;(Wt=c(T).details)!=null&&Wt.quantization_level&&kt(Ni)})}var Mi=v(Ct,2);{var Ji=kt=>{var Wt=AG(),oi=v(Et(Wt)),vi=_(oi);j(()=>W(vi,c(T).details.format)),D(kt,Wt)};z(Mi,kt=>{var Wt;(Wt=c(T).details)!=null&&Wt.format&&kt(Ji)})}var Fi=v(Mi,2);{var ui=kt=>{var Wt=BG(),oi=v(Et(Wt),2);ti(oi,21,()=>c(T).running,Hi,(vi,tn)=>{var Xi=kG(),Ln=_(Xi);j(Ki=>W(Ln,`${c(tn).name??""} · ${Ki??""} VRAM`),[()=>Ke(c(tn).size_vram)]),D(vi,Xi)}),D(kt,Wt)},zt=kt=>{var Wt=FG();D(kt,Wt)};z(Fi,kt=>{c(T).running&&c(T).running.length>0?kt(ui):c(T).running!==null&&kt(zt,1)})}D(Ue,rt)};z(Ie,Ue=>{c(V)?Ue(pe):c(H)?Ue(Re,1):c(T)&&Ue(Ne,2)})}j(()=>{var Ue;return W(He,`Ollama · ${(c(w)||((Ue=c(u))==null?void 0:Ue.model))??""}`)}),U("click",ce,()=>m(R,!1)),U("click",je,Ue=>Ue.stopPropagation()),U("click",St,()=>m(R,!1)),D(Z,ce)};z(lt,Z=>{c(R)&&Z(Xt)})}j(Z=>{Ae=Ft(K,1,"icon-hdr-btn svelte-10ayso4",null,Ae,{active:c(b)}),W(fe,Z),oe=Ft($,1,"input-row svelte-10ayso4",null,oe,{"drag-over":c(ae)}),ne=Ft(ie,1,"textarea-wrap svelte-10ayso4",null,ne,{loading:c(a)}),ln(le,"placeholder",c(ht)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":c(ve)?"Select a model above to start chatting":"AI not configured"),le.disabled=c(a)||!c(ht)},[()=>Ke(c(Mt))]),U("click",K,()=>m(b,!c(b))),ys(Yt,()=>c(de),Z=>m(de,Z)),ys(mi,()=>c(we),Z=>m(we,Z)),U("click",I,$i),U("change",N,wi),xs("dragover",$,un),xs("dragleave",$,cn),xs("drop",$,yn),U("keydown",le,Vi),Vt(le,()=>c(r),Z=>m(r,Z)),D(o,At),$s()}Ys(["click","change","keydown"]);const MG={OnOff:["onOff","globalSceneControl","onTime","offWaitTime"],LevelControl:["currentLevel","remainingTime","minLevel","maxLevel","currentFrequency","onOffTransitionTime","onLevel"],ColorControl:["currentHue","currentSaturation","remainingTime","currentX","currentY","colorTemperatureMireds","colorMode","colorTempPhysicalMinMireds","colorTempPhysicalMaxMireds"],BasicInformation:["vendorName","vendorId","productName","productId","nodeLabel","location","softwareVersion","softwareVersionString","serialNumber"],Identify:["identifyTime","identifyType"],Groups:["nameSupport"],OccupancySensing:["occupancy","occupancySensorType"],IlluminanceMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue","tolerance","lightSensorType"],TemperatureMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue","tolerance"],RelativeHumidityMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue","tolerance"],PressureMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue"],Thermostat:["localTemperature","outdoorTemperature","occupiedCoolingSetpoint","occupiedHeatingSetpoint","unoccupiedCoolingSetpoint","unoccupiedHeatingSetpoint","minHeatSetpointLimit","maxHeatSetpointLimit","systemMode","thermostatRunningMode","occupancy"],DoorLock:["lockState","lockType","actuatorEnabled","doorState"],WindowCovering:["type","currentPositionLiftPercent100ths","currentPositionTiltPercent100ths","operationalStatus","targetPositionLiftPercent100ths","targetPositionTiltPercent100ths","endProductType","mode"],FanControl:["fanMode","fanModeSequence","percentSetting","percentCurrent","speedMax","speedSetting","speedCurrent"],Descriptor:["deviceTypeList","serverList","clientList","partsList"],PowerSource:["status","order","description","wiredCurrentType","wiredMaximumCurrent","batteryVoltage","batteryPercentRemaining","batChargeLevel"],Switch:["numberOfPositions","currentPosition","multiPressMax"],BooleanState:["stateValue"],FlowMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue"]},RG={OnOff:["on","off","toggle"],LevelControl:["moveToLevel","move","step","stop","moveToLevelWithOnOff","moveWithOnOff","stepWithOnOff","stopWithOnOff"],ColorControl:["moveToHue","moveHue","stepHue","moveToSaturation","moveSaturation","stepSaturation","moveToHueAndSaturation","moveToColor","moveColor","stepColor","moveToColorTemperature","moveColorTemperature","stepColorTemperature"],Identify:["identify","triggerEffect"],Groups:["addGroup","viewGroup","getGroupMembership","removeGroup","removeAllGroups","addGroupIfIdentifying"],Thermostat:["setpointRaiseLower","setWeeklySchedule","getWeeklySchedule","clearWeeklySchedule"],DoorLock:["lockDoor","unlockDoor","unlockWithTimeout"],WindowCovering:["upOrOpen","downOrClose","stopMotion","goToLiftValue","goToLiftPercentage","goToTiltValue","goToTiltPercentage"],FanControl:[]};let _w=[],bw=[],Cw=[];const jv=new Map;let HF=[];const Ew=new Map,yw=new Map;async function k2(){try{_w=(await pF()).map(e=>e.topic)}catch{}}async function B2(){try{const[o,e]=await Promise.all([hF(),fF()]);bw=o,Cw=e}catch{}}async function F2(){try{const o=await rS();HF=o.map(e=>e.nodeId),Ew.clear(),yw.clear();for(const e of o)e.name&&(Ew.set(e.nodeId,e.name),yw.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!jv.has(e.nodeId))try{jv.set(e.nodeId,await mm(e.nodeId))}catch{}}))}catch{}}function NG(o){const e=/(?:she\.mqtt\.(?:sub|pub|get|set|link|age|getProp|or|and|max|min|timer)|she\.(?:getValue|setValue|getProp))\s*\([^)]*?['"]([^'"]*)\s*$/,t=o.match(e);if(t)return{type:"mqtt",prefix:t[1]};const i=/she\.db\.sub\s*\([^)]*?['"]([^'"]*)\s*$/,n=o.match(i);if(n)return{type:"db",prefix:n[1],includeViews:!0};const s=/she\.db\.(?:get|set|extend|delete|prop|query)\s*\([^)]*?['"]([^'"]*)\s*$/,r=o.match(s);if(r)return{type:"db",prefix:r[1],includeViews:!1};const a=/she\.matter\.(?:sub|get|send|on)\s*\(\s*(.*)\s*$/,d=o.match(a);if(d){const u=d[1],f=OG(u),g=HG(u);if(f===0)return{type:"matter-nodeId",prefix:g};if(f===1){const p=Ih(u,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(f===2){const p=Ih(u,0),C=L2(u,1)??Ih(u,1);if(p&&C!==null)return{type:"matter-cluster",nodeId:p,endpointId:C}}if(f>=3){const p=Ih(u,0),C=L2(u,1)??Ih(u,1),b=Ih(u,2),y=/she\.matter\.send\s*\(/.test(o);if(p&&C!==null&&b)return{type:"matter-attr",nodeId:p,endpointId:C,cluster:b,isSend:y}}}return null}function OG(o){let e=0,t=0,i=!1,n="";for(const s of o){if(i){s===n&&(i=!1);continue}if(s==='"'||s==="'"){i=!0,n=s;continue}if(s==="("||s==="["||s==="{"){e++;continue}if(s===")"||s==="]"||s==="}"){e--;continue}s===","&&e===0&&t++}return t}function HG(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function Ih(o,e){var s;const i=(s=WF(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function L2(o,e){var s;const i=(s=WF(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function WF(o){const e=[];let t="",i=0,n=!1,s="";for(const r of o){if(n){r===s&&(n=!1),t+=r;continue}if(r==='"'||r==="'"){n=!0,s=r,t+=r;continue}if(r==="("||r==="["||r==="{"){i++,t+=r;continue}if(r===")"||r==="]"||r==="}"){i--,t+=r;continue}if(r===","&&i===0){e.push(t),t="";continue}t+=r}return e.push(t),e}const Ku=md.CompletionItemKind;function WG(o,e){return(e?_w.filter(i=>i.startsWith(e)):_w).map(i=>({label:i,kind:Ku.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function zG(o,e,t){const i=t?[...bw,...Cw]:bw;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:Ku.Value,insertText:s,range:o,detail:Cw.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function VG(o,e){return HF.map(t=>{const i=Ew.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:Ku.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function zF(o){return yw.get(o)??o}function jG(o,e){if(typeof e=="number")return o.endpoints.find(i=>i.endpointId===e);const t=parseInt(e,10);return isNaN(t)?o.endpoints.find(i=>i.name===e):o.endpoints.find(i=>i.endpointId===t)}function $G(o,e){const t=jv.get(zF(e));return t?t.endpoints.map(i=>{const n=i.name??String(i.endpointId),s=i.clusters.map(r=>r.name).join(", ");return{label:n,kind:Ku.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function UG(o,e,t){const i=jv.get(zF(e));if(!i)return[];const n=jG(i,t);return n?n.clusters.map(s=>({label:s.name,kind:Ku.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function qG(o,e,t){return(t?RG[e]??[]:MG[e]??[]).map(n=>({label:n,kind:t?Ku.Function:Ku.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let I2=!1;function GG(){I2||(I2=!0,k2(),B2(),F2(),setInterval(k2,15e3),setInterval(B2,1e4),setInterval(F2,6e4),md.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=NG(t);if(!i)return null;const n=o.getWordUntilPosition(e),s=Math.max(t.lastIndexOf("'"),t.lastIndexOf('"')),r=s>=0?s+2:n.startColumn,a={startLineNumber:e.lineNumber,endLineNumber:e.lineNumber,startColumn:r,endColumn:e.column};switch(i.type){case"mqtt":return{suggestions:WG(a,i.prefix)};case"db":return{suggestions:zG(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:VG(a,i.prefix)};case"matter-endpointId":return{suggestions:$G(a,i.nodeId)};case"matter-cluster":return{suggestions:UG(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:qG(a,i.cluster,i.isSend)};default:return null}}}))}var KG=B('<button class="svelte-1pyfjii">New file here</button> <button class="svelte-1pyfjii">New subfolder here</button> <hr class="svelte-1pyfjii"/> <button class="svelte-1pyfjii">Rename folder…</button> <button class="danger svelte-1pyfjii">Delete folder…</button>',1),ZG=B('<button class="svelte-1pyfjii">Show git history</button>'),XG=B('<button class="svelte-1pyfjii">Open</button> <button class="svelte-1pyfjii">Rename…</button> <button class="svelte-1pyfjii">Add to AI context</button> <!> <hr class="svelte-1pyfjii"/> <button class="danger svelte-1pyfjii">Delete</button>',1),YG=B('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),QG=B('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),P2=B('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),JG=B('<ul class="tree-children svelte-1pyfjii"></ul>'),eK=B('<li class="tree-dir svelte-1pyfjii"><div role="treeitem" tabindex="-1" draggable="true"><button>›</button> <span role="button" tabindex="0"> </span> <!> <label class="lib-label svelte-1pyfjii" title="Library directory — files here are not auto-loaded as scripts"><input type="checkbox" class="svelte-1pyfjii"/> <span class="lib-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 3h8a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H3V3z"></path><line x1="3" y1="12" x2="13" y2="12"></line><line x1="6" y1="3" x2="6" y2="12"></line></svg></label> <label class="dis-label svelte-1pyfjii" title="Disable — scripts in this folder will not be executed"><input type="checkbox" class="svelte-1pyfjii"/> <span class="dis-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="6"></circle><line x1="3.8" y1="12.2" x2="12.2" y2="3.8"></line></svg></label></div> <!></li>'),tK=B('<span class="dirty-dot svelte-1pyfjii">●</span>'),iK=B('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),nK=B('<span class="err-dot svelte-1pyfjii">●</span>'),sK=B('<label><input type="checkbox" class="svelte-1pyfjii"/> <span class="dis-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="6"></circle><line x1="3.8" y1="12.2" x2="12.2" y2="3.8"></line></svg></label>'),oK=B('<span class="dis-spacer svelte-1pyfjii"></span>'),rK=B('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),aK=B('<div class="err svelte-1pyfjii"> </div>'),lK=B('<button title="Case sensitive">Aa</button> <button title="Use regex">.*</button> <button title="Replace">⇄</button>',1),cK=B('<div class="search-input-row svelte-1pyfjii"><input placeholder="Replace with…" class="svelte-1pyfjii"/> <button class="svelte-1pyfjii"> </button></div>'),dK=B('<div class="search-status svelte-1pyfjii">Searching…</div>'),uK=B('<div class="search-status search-err svelte-1pyfjii"> </div>'),hK=B('<div class="search-status svelte-1pyfjii">No results.</div>'),fK=B('<div class="search-status search-trunc svelte-1pyfjii">Showing first 500 matches.</div>'),gK=B('<button class="search-match-row svelte-1pyfjii"><span class="search-lnum svelte-1pyfjii"> </span> <span class="search-preview svelte-1pyfjii"> </span></button>'),pK=B('<div class="search-file-group svelte-1pyfjii"><button class="search-file-btn svelte-1pyfjii"><span class="search-fname svelte-1pyfjii"> </span> <span class="search-fcount svelte-1pyfjii"> </span></button> <!></div>'),qC=B("<!> <!>",1),xK=B('<div class="search-status svelte-1pyfjii">No files found.</div>'),mK=B('<div class="search-status search-trunc svelte-1pyfjii">Showing first 200 results.</div>'),vK=B('<button class="search-match-row search-file-result svelte-1pyfjii"><span class="search-preview svelte-1pyfjii"> </span></button>'),_K=B('<label class="replace-item svelte-1pyfjii"><input type="checkbox"/> <span class="replace-item-path svelte-1pyfjii"> </span> <span class="replace-item-n svelte-1pyfjii"> </span></label>'),bK=B('<div class="replace-confirm svelte-1pyfjii"><div class="replace-confirm-hdr svelte-1pyfjii"><span> </span> <div class="replace-confirm-btns svelte-1pyfjii"><button class="svelte-1pyfjii">Apply</button> <button class="svelte-1pyfjii">Cancel</button></div></div> <div class="replace-confirm-list svelte-1pyfjii"></div></div>'),CK=B('<div class="search-panel svelte-1pyfjii"><div class="search-mode-bar svelte-1pyfjii"><button>Text</button> <button>Files</button> <button class="search-close-btn svelte-1pyfjii" title="Close">×</button></div> <div class="search-input-row svelte-1pyfjii"><input class="svelte-1pyfjii"/> <!></div> <!> <div class="search-results svelte-1pyfjii"><!></div> <!></div>'),EK=B('<div class="history-empty svelte-1pyfjii">Loading…</div>'),yK=B('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),wK=B('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),SK=B('<button class="history-load-more svelte-1pyfjii"> </button>'),DK=B('<div class="history-panel svelte-1pyfjii"><div class="history-resize-handle svelte-1pyfjii" role="separator"></div> <div class="history-hdr svelte-1pyfjii"><span class="history-title svelte-1pyfjii"> </span> <button class="history-close svelte-1pyfjii">✕</button></div> <div class="history-body svelte-1pyfjii"><!></div></div>'),AK=B('<span class="tab-dirty svelte-1pyfjii">●</span>'),kK=B('<div role="tab" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),BK=B('<div class="tab-bar-wrap svelte-1pyfjii"><button class="tab-scroll-btn svelte-1pyfjii" aria-label="Scroll tabs left">‹</button> <div class="tab-bar svelte-1pyfjii" role="tablist"></div> <button class="tab-scroll-btn svelte-1pyfjii" aria-label="Scroll tabs right">›</button></div>'),FK=B('<li class="changes-item svelte-1pyfjii"><input type="checkbox" class="changes-check svelte-1pyfjii"/> <span class="changes-status svelte-1pyfjii"> </span> <span class="changes-file svelte-1pyfjii"> </span></li>'),LK=B('<div class="changes-err svelte-1pyfjii"> </div>'),IK=B('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii">Uncommitted changes</div> <ul class="changes-list svelte-1pyfjii"></ul> <div class="changes-commit-row svelte-1pyfjii"><input class="changes-msg-input svelte-1pyfjii" type="text" placeholder="Commit message…"/> <button class="changes-commit-btn svelte-1pyfjii"> </button></div> <!></div>',1),PK=B('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),TK=B('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii"> </div> <div class="changes-commit-row svelte-1pyfjii"><button class="changes-commit-btn svelte-1pyfjii">Push</button></div></div>',1),MK=B('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),RK=B('<span class="git-behind svelte-1pyfjii"> </span>'),NK=B('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),OK=B('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><button class="svelte-1pyfjii">Save</button> <button class="svelte-1pyfjii">Save &amp; Commit</button></div>',1),HK=B('<button class="danger svelte-1pyfjii">Delete</button>'),WK=B(`<div class="welcome svelte-1pyfjii"><div class="welcome-inner svelte-1pyfjii"><div class="welcome-logo svelte-1pyfjii">she</div> <p class="welcome-sub svelte-1pyfjii">Smart Home Engine — a scriptable smart home automation engine</p> <div class="welcome-hint svelte-1pyfjii"><strong>Quick start:</strong> click <kbd class="svelte-1pyfjii">+ File</kbd> in the sidebar to create your first script,
152
+ or click an existing file to open it. Scripts run in a sandboxed VM with access to the <code class="svelte-1pyfjii">she</code> object for MQTT, scheduling, and more.</div> <div class="welcome-links svelte-1pyfjii"><a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-1pyfjii">GitHub</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/sandbox-api.md" target="_blank" rel="noopener" class="svelte-1pyfjii">API reference</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/README.md#documentation" target="_blank" rel="noopener" class="svelte-1pyfjii">Documentation</a></div> <div class="welcome-shortcuts svelte-1pyfjii"><div class="welcome-shortcuts-title svelte-1pyfjii">Keyboard shortcuts</div> <div class="welcome-shortcuts-grid svelte-1pyfjii"><span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">S</kbd></span><span class="svelte-1pyfjii">Save</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">F</kbd></span><span class="svelte-1pyfjii">Find</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">H</kbd></span><span class="svelte-1pyfjii">Find &amp; Replace</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">G</kbd></span><span class="svelte-1pyfjii">Go to line</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Undo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Shift</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Redo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">/</kbd></span><span class="svelte-1pyfjii">Toggle comment</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Alt</kbd><kbd class="svelte-1pyfjii">↑ / ↓</kbd></span><span class="svelte-1pyfjii">Move line up / down</span></div></div></div></div>`),zK=B('<button class="svelte-1pyfjii">Always accept in this session</button>'),VK=B('<button class="svelte-1pyfjii">Disable auto-accept</button>'),jK=B('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),$K=B('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Proposed changes — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><div class="split-wrap svelte-1pyfjii"><div class="split-btn accept-split svelte-1pyfjii"><button class="split-main svelte-1pyfjii"> </button> <button class="split-arrow svelte-1pyfjii" aria-label="Accept options">▾</button></div> <!></div> <button class="discard-btn svelte-1pyfjii">Discard</button></div></div> <div class="diff-container svelte-1pyfjii"></div></div>'),UK=B('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),qK=B('<div class="diff-container svelte-1pyfjii"></div>'),GK=B('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Commit <code> </code> → current — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><button class="discard-btn svelte-1pyfjii">Close</button></div></div> <!></div>'),KK=B('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),ZK=B('<span class="log-file svelte-1pyfjii"> </span>'),XK=B("<option> </option>"),YK=B('<select class="log-filter-level svelte-1pyfjii"></select> <input class="log-filter-text svelte-1pyfjii" type="search" placeholder="Filter…"/> <label class="log-filter-regex svelte-1pyfjii" title="Interpret filter as a regular expression"><input type="checkbox" class="svelte-1pyfjii"/> <span class="log-filter-checkmark svelte-1pyfjii"></span> Regex</label> <button class="log-clear svelte-1pyfjii">Clear</button>',1),QK=B('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),JK=B('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),eZ=B('<div class="log-body svelte-1pyfjii"><!> <!></div>'),tZ=B('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),iZ=B('<!> <!> <!> <!> <div class="layout svelte-1pyfjii"><aside class="svelte-1pyfjii"><div class="toolbar svelte-1pyfjii"><button title="New script" class="svelte-1pyfjii">+ File</button> <button title="New folder" class="svelte-1pyfjii">+ Folder</button> <button title="Find in files / Find files (Ctrl+Shift+F)">&#x2315;</button> <button title="Refresh" class="refresh svelte-1pyfjii">↻</button></div> <!> <!> <ul class="tree svelte-1pyfjii"><li role="presentation"></li> <!></ul> <!></aside> <div class="sidebar-resize-handle svelte-1pyfjii" role="separator"></div> <div class="editor-area svelte-1pyfjii"><!> <div class="editor-toolbar svelte-1pyfjii"><span class="filename svelte-1pyfjii"> </span> <!> <div class="split-wrap svelte-1pyfjii"><div class="split-btn svelte-1pyfjii"><button class="split-main svelte-1pyfjii"> </button> <button class="split-arrow svelte-1pyfjii" aria-label="Save options">▾</button></div> <!></div> <!> <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></div> <div class="editor-body svelte-1pyfjii"><div class="editor-left svelte-1pyfjii"><div class="editor-stack svelte-1pyfjii"><div class="editor-container svelte-1pyfjii"></div> <!> <!> <!></div> <div><!> <div class="log-header svelte-1pyfjii"><button class="log-toggle svelte-1pyfjii"> <!></button> <!></div> <!></div></div> <!></div></div></div>',1);function nZ(o,e){js(e,!0);let t=F(Li([])),i=F(Li({})),n=F(null),s=F(null),r=F(null),a=F(null),d=F(Li([])),u=F(null),f=F(!1),g=F(""),p=F(!1),C=F(!0),b=F(null),y=F(!1),w=F(!1),A=F(null),P=F(Li([])),M=F(!1),R=F(30),T=F(void 0),V=null,H=null,X=null,se=F(!1),he=F(""),J=F(!1),de=F(void 0),we=F(Li(new Set));const re=new Set;let ae=F(Li(new Set)),De=F(Li([])),Pe=F(!1),xe=F("text"),Ve=F(""),ze=F(!1),ve=F(!1),ht=F(!1),Mt=F(""),ot=F(Li([])),yt=F(Li([])),Ce=F(!1),Rt=F(!1),ai=F(""),Ge=F(void 0),nt=F(Li([])),Dt=F(!1),Jt=F(!1),di=null,ci=F(void 0),xi=F(!1),_i=F(!1),Ke=null;function Ee(){c(ci)&&(m(xi,c(ci).scrollLeft>0),m(_i,c(ci).scrollLeft+c(ci).clientWidth<c(ci).scrollWidth-1))}function ii(G){var ue;(ue=c(ci))==null||ue.scrollBy({left:G*200,behavior:"smooth"})}function bi(G="text"){m(Pe,!0),m(xe,G,!0),hl().then(()=>{var ue;return(ue=c(Ge))==null?void 0:ue.focus()})}function ni(){m(Pe,!1),m(Ve,""),m(ot,[],!0),m(yt,[],!0),m(Ce,!1),m(ai,""),m(ht,!1),m(Dt,!1)}function $i(){di&&clearTimeout(di),di=setTimeout(Zi,300)}async function Zi(){const G=c(Ve).trim();if(!G){m(ot,[],!0),m(yt,[],!0),m(Ce,!1),m(ai,"");return}m(Rt,!0),m(ai,"");try{if(c(xe)==="files"){const ue=await s2(G,{mode:"files"});m(yt,ue.results,!0),m(Ce,ue.truncated,!0)}else{const ue=await s2(G,{regex:c(ve),caseSensitive:c(ze)});m(ot,ue.results,!0),m(Ce,ue.truncated,!0)}}catch(ue){m(ai,ue.message||"Search failed",!0)}finally{m(Rt,!1)}}async function wi(G,ue){await St(G),At&&(At.revealLineInCenter(ue.line),At.setPosition({lineNumber:ue.line,column:ue.col}),At.focus())}function yn(G){return G.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async function un(){if(!c(Ve).trim()||!c(ot).length)return;m(Jt,!0);const G=[],ue="g"+(c(ze)?"":"i");for(const ut of c(ot))try{const pt=await Wx(ut.path),We=c(ve)?new RegExp(c(Ve),ue):new RegExp(yn(c(Ve)),ue),Qt=pt.content.replace(We,c(Mt));Qt!==pt.content&&G.push({path:ut.path,checked:!0,original:pt.content,replaced:Qt,changes:ut.matches.length})}catch{}m(nt,G,!0),m(Jt,!1),m(Dt,!0)}async function cn(){for(const G of c(nt).filter(ue=>ue.checked))try{await Ql(G.path,G.replaced);const ue=c(d).find(ut=>ut.path===G.path);ue!=null&&ue.model&&(ue.model.setValue(G.replaced),ue.savedContent=G.replaced,ue.dirty=!1)}catch{}m(Dt,!1),await Zi()}function fn(G){G.ctrlKey&&G.shiftKey&&G.key==="F"&&(G.preventDefault(),c(Pe)&&c(xe)==="text"?ni():bi("text"))}Kn(()=>{c(ci)&&(Ke==null||Ke.disconnect(),Ke=new ResizeObserver(Ee),Ke.observe(c(ci)),Ee())});let ft=F("all"),Gt=F(""),Pi=F(!1);const qi=["all","debug","info","warn","error"],Ci={debug:0,info:1,warn:2,error:3};function Wi(G){if(c(ft)!=="all"&&Ci[G.level]<Ci[c(ft)])return!1;if(!c(Gt))return!0;if(c(Pi))try{return new RegExp(c(Gt),"i").test(G.msg)}catch{}return G.msg.toLowerCase().includes(c(Gt).toLowerCase())}let Vi=F(null);function Qi(G){const ue=G.currentTarget.getBoundingClientRect();m(Vi,{x:ue.left,y:ue.top},!0)}function Si(){m(Vi,null)}let it,At,Oi,Ti=!1,Bi=null,Ri=null,K=!1,Ae=!1,Xe=F(!1),st=F(null),Kt=F(!1),si=F(!1),xt=F(void 0),dt=null,Y=null,Te=null,Ye=F(Li(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),ke=F(Li(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),It=F(Li(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),$t=F(Li(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),te=!1,Je=0,Pt=0,Bt=!1,Ot=0,Se=0,Qe=!1,Yt=0,Zt=0,mi=!1,ei=0,fe=0;const et=Lt(()=>{var G;return c(u)&&c(le)?{path:c(u),content:((G=c(le).model)==null?void 0:G.getValue())??c(le).savedContent}:null}),at=Lt(()=>{var G;return new Set(((G=c(b))==null?void 0:G.changes.map(ue=>ue.file))??[])}),ct=Lt(()=>{const G=new Set;for(const ue of c(at)){const ut=ue.split("/");for(let pt=1;pt<ut.length;pt++)G.add(ut.slice(0,pt).join("/"))}return G});let Ut=F(!1),Ht=F(!1),Ei=F(""),I=F(!1),N=F(""),$=F(Li(new Set));async function oe(){var G;if(!(!c(Ei).trim()||c($).size===0)){m(I,!0),m(N,"");try{const ue=c(b).changes.filter(ut=>c($).has(ut.file)).map(ut=>ut.file);if(ue.length===c(b).changes.length?await a2(c(Ei).trim()):await r2(ue,c(Ei).trim()),c(w))try{await Vx()}catch{}m(Ei,""),await pe(),(G=c(b))!=null&&G.changes.length?m($,new Set(c(b).changes.map(ut=>ut.file)),!0):m(Ut,!1)}catch(ue){m(N,ue.message,!0)}finally{m(I,!1)}}}let ie,ne,le=Lt(()=>c(d).find(G=>G.path===c(u))??null);const tt="she-tabs",Fe="she-active-tab",_e="she-log-open",Ze="she-chat-open";let Me=Tu(e,"active",3,!0);Kn(()=>{Ae&&(localStorage.setItem(tt,JSON.stringify(c(d).map(G=>G.path))),c(u)?localStorage.setItem(Fe,c(u)):localStorage.removeItem(Fe))}),Kn(()=>{Ae&&localStorage.setItem(Ze,String(c(Xe)))}),Kn(()=>{Me()&&At&&At.layout()});const lt=`
153
+ declare const she: {
154
+ log(...args: any[]): void;
155
+ info(...args: any[]): void;
156
+ debug(...args: any[]): void;
157
+ warn(...args: any[]): void;
158
+ error(...args: any[]): void;
159
+ now(): number;
160
+ /** Schedule with a cron string, Date, node-schedule literal, array of any of those,
161
+ * or a suncalc event name ('sunrise', 'sunset', 'dawn', 'dusk', …) for solar scheduling.
162
+ * opts.shift (seconds) offsets solar events; opts.random adds a random delay. */
163
+ schedule(pattern: string | Date | object | (string | Date | object)[], opts?: { shift?: number; random?: number }, cb?: () => void): void;
164
+ mqtt: {
165
+ sub(topic: string | string[], opts?: any, cb?: (topic: string, val: any, obj: any, prev: any, msg: any) => void): void;
166
+ pub(topic: string | string[], payload: any, opts?: { qos?: number; retain?: boolean }): void;
167
+ get(topic: string): any;
168
+ getProp(topic: string, ...prop: string[]): any;
169
+ link(source: string | string[], target: string | string[], value?: any): void;
170
+ age(topic: string): number;
171
+ or(srcs: string[], target: string | ((topic: string | null, val: 0 | 1) => void)): void;
172
+ and(srcs: string[], target: string | ((topic: string | null, val: 0 | 1) => void)): void;
173
+ max(srcs: string[], target: string | ((topic: string | null, val: number) => void)): void;
174
+ min(srcs: string[], target: string | ((topic: string | null, val: number) => void)): void;
175
+ timer(src: string | string[], ms: number, target: string | ((topic: string | null, val: 0 | 1) => void)): void;
176
+ };
177
+ http: {
178
+ fetch(url: string, opts?: RequestInit): Promise<any>;
179
+ sub(path: string, callback: (body: any, req: { params: any; query: any; headers: any }) => any): void;
180
+ };
181
+ api: {
182
+ get(path: string, handler: (req: any) => any): void;
183
+ post(path: string, handler: (req: any, body: any) => any): void;
184
+ put(path: string, handler: (req: any, body: any) => any): void;
185
+ delete(path: string, handler: (req: any) => any): void;
186
+ };
187
+ db: {
188
+ get(id: string): any;
189
+ set(id: string, doc: object): void;
190
+ extend(id: string, partial: object): void;
191
+ delete(id: string): void;
192
+ prop(id: string, method: 'set' | 'create' | 'del', prop: string, val?: any): void;
193
+ sub(pattern: string, callback: (id: string, doc: any) => void): void;
194
+ query(filter: string | null, mapFn: Function, reduceFn?: Function): any[];
195
+ };
196
+ matter: {
197
+ sub(nodeId: string, endpointId: number, cluster: string, attr: string, cb: (val: any, old: any) => void): number;
198
+ unsub(listenerId: number): void;
199
+ get(nodeId: string, endpointId: number, cluster: string, attr: string): Promise<any>;
200
+ send(nodeId: string, endpointId: number, cluster: string, command: string, args?: object): Promise<any>;
201
+ on(nodeId: string, endpointId: number, cluster: string, event: string, cb: (val: any) => void): number;
202
+ };
203
+ influx: {
204
+ query(fluxQuery: string): Promise<any[]>;
205
+ write(measurement: string, fields: object, tags?: object, timestamp?: number | Date): Promise<void>;
206
+ getLast(topic: string, n: number): Promise<Array<{ ts: number; val: any }>>;
207
+ getRange(topic: string, from: number | string | Date, to: number | string | Date): Promise<Array<{ ts: number; val: any }>>;
208
+ };
209
+ elastic: {
210
+ search(index: string, query: object): Promise<{ hits: any[]; total: number }>;
211
+ get(index: string, id: string): Promise<object | null>;
212
+ index(index: string, doc: object, id?: string): Promise<{ id: string }>;
213
+ find(index: string, field: string, text: string, size?: number): Promise<any[]>;
214
+ };
215
+ };
216
+ `;function Xt(G){c(d).some(ue=>ue.dirty)&&G.preventDefault()}Xs(async()=>{var pt;window.addEventListener("beforeunload",Xt),m(C,localStorage.getItem(_e)!=="false"),m(Xe,localStorage.getItem(Ze)==="true"),md.typescript.javascriptDefaults.addExtraLib(lt,"she-api.d.ts"),md.typescript.javascriptDefaults.setCompilerOptions({target:md.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),md.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),GG(),Oi=_r.createModel("","javascript"),At=_r.create(it,{model:Oi,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),At.addCommand(s8.CtrlCmd|s8.Shift|y7.KeyF,()=>{c(Pe)&&c(xe)==="text"?ni():bi("text")}),At.onDidChangeModelContent(()=>{if(Ti)return;const We=c(d).find(Qt=>Qt.path===c(u));We&&(We.dirty=At.getValue()!==We.savedContent),Nn&&clearTimeout(Nn),Nn=setTimeout(Jn,600)}),Bi=cS(We=>{const Qt=We.msg.match(/^([^:\n]+\.js):\s/);if(!Qt)return;const hi=Qt[1];if(We.level==="error")re.add(hi),c(we).has(hi)||m(we,new Set([...c(we),hi]),!0);else if(re.has(hi)){re.delete(hi);const en=new Set(c(we));en.delete(hi),m(we,en,!0)}const sn=c(d).find(en=>en.path===hi);sn&&(sn.logEntries=[...sn.logEntries.slice(-199),We],sn.path===c(u)&&c(C)&&c(de)&&hl().then(()=>{c(de)&&(c(de).scrollTop=c(de).scrollHeight)}))}),Ri=ur("script:running",We=>{const Qt=We.path;if(We.running)m(ae,new Set([...c(ae),Qt]),!0);else{const hi=new Set(c(ae));hi.delete(Qt),m(ae,hi,!0)}}),await Z(),pe();try{const We=await Pl();typeof We.gitAutoCommit=="boolean"&&m(y,We.gitAutoCommit,!0),typeof We.gitAutoPush=="boolean"&&m(w,We.gitAutoPush,!0)}catch{}try{const We=await getDaemonStatus();m(ae,new Set(We.runningScripts??[]),!0)}catch{}const G=JSON.parse(localStorage.getItem(tt)??"[]"),ue=localStorage.getItem(Fe);for(const We of G)await He(We,!1);const ut=ue&&c(d).some(We=>We.path===ue)?ue:((pt=c(d)[0])==null?void 0:pt.path)??null;ut&&await gt(ut),Ae=!0}),Wp(()=>{var G;window.removeEventListener("beforeunload",Xt),Ke==null||Ke.disconnect(),Nn&&clearTimeout(Nn),Bi==null||Bi(),Ri==null||Ri();for(const ue of c(d))(G=ue.model)==null||G.dispose();Oi==null||Oi.dispose(),At==null||At.dispose()});async function Z(){try{if(m(t,await M$(),!0),!K){let ue=function(ut){for(const pt of ut)pt.type==="dir"&&(G[pt.path]=!0,pt.children&&ue(pt.children))};K=!0;const G={};ue(c(t)),m(i,G,!0)}m(g,"")}catch(G){m(g,G.message,!0)}}function ce(G){c(i)[G]=!c(i)[G]}function je(G){switch(G){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return G}}async function mt(G,ue){try{ue?await Ql(`${G}/.shelib`,""):await zx(`${G}/.shelib`),await Z(),await Re("all",ue?`lib ${G}`:`unlib ${G}`)}catch(ut){m(g,ut.message,!0)}}async function Le(G,ue){const ut=G.split("/").pop(),pt=G.includes("/")?G.slice(0,G.lastIndexOf("/")):"",We=pt?`${pt}/.shedisable-${ut}`:`.shedisable-${ut}`;try{ue?await Ql(We,""):await zx(We),await Z(),await Re("all",ue?`disable ${G}`:`enable ${G}`)}catch(Qt){m(g,Qt.message,!0)}}async function He(G,ue=!0){var ut;if(c(d).some(pt=>pt.path===G)){ue&&await gt(G);return}try{const{content:pt}=await Wx(G),We=w7.parse(`file:///she-scripts/${encodeURIComponent(G)}`);(ut=_r.getModel(We))==null||ut.dispose();const Qt=_r.createModel(pt,Gs(G),We);m(d,[...c(d),{path:G,dirty:!1,savedContent:pt,model:Qt,logEntries:[]}],!0),ue&&await gt(G)}catch(pt){m(g,pt.message,!0)}}async function St(G){await He(G,!0)}async function gt(G){var ut,pt;const ue=c(d).find(We=>We.path===G);ue!=null&&ue.model&&(Ct(),m(st,null),m(u,G,!0),Ti=!0,At.setModel(ue.model),Ti=!1,Jn(),await hl(),(pt=(ut=c(ci))==null?void 0:ut.querySelector(`[data-tab-path="${CSS.escape(G)}"]`))==null||pt.scrollIntoView({inline:"nearest",block:"nearest"}),Ee())}async function Ie(G){var pt;const ue=c(d).find(We=>We.path===G);if(!ue||ue.dirty&&!await ie.show(`Discard unsaved changes to ${G}?`,{confirm:"Discard"}))return;const ut=c(d).findIndex(We=>We.path===G);if((pt=ue.model)==null||pt.dispose(),m(d,c(d).filter(We=>We.path!==G),!0),c(u)===G){const We=c(d)[ut]??c(d)[ut-1]??null;We?await gt(We.path):(m(u,null),At.setModel(Oi))}}async function pe(){try{m(b,await N$(),!0)}catch{m(b,null)}}async function Re(G,ue){if(c(b))try{if(G==="all"?await a2(ue):await r2(G,ue),c(w))try{await Vx()}catch{}await pe()}catch{}}async function Ne(){if(!c(u))return;const G=c(d).find(ue=>ue.path===c(u));if(G){m(f,!0);try{const ue=At.getValue();await Ql(c(u),ue),G.savedContent=ue,G.dirty=!1,m(g,""),c(y)?await Re([c(u)],`update ${c(u)}`):pe()}catch(ue){m(g,ue.message,!0)}finally{m(f,!1)}}}async function Ue(){if(!c(u)||(await Ne(),c(g)))return;const G=await ne.show("Commit message:",{initial:`update ${c(u)}`,placeholder:"Update script",confirm:"Commit"});if(G)try{if(await W$(c(u),G),c(w))try{await Vx()}catch{}pe()}catch(ue){m(g,"Git: "+ue.message)}}async function rt(){m(p,!1);try{await Vx(),await pe(),m(g,"")}catch(G){m(g,"Git push: "+G.message)}}function qe(G){const ue=Date.now()-new Date(G).getTime(),ut=Math.floor(ue/1e3);if(ut<60)return"just now";const pt=Math.floor(ut/60);if(pt<60)return`${pt}m ago`;const We=Math.floor(pt/60);if(We<24)return`${We}h ago`;const Qt=Math.floor(We/24);if(Qt<30)return`${Qt}d ago`;const hi=Math.floor(Qt/30);return hi<12?`${hi}mo ago`:`${Math.floor(hi/12)}y ago`}async function vt(G){Fi(),m(A,G,!0),m(P,[],!0),m(R,30),await ge()}async function ge(){if(c(A)){m(M,!0);try{m(P,await z$(c(A).path,c(R)),!0)}catch{}finally{m(M,!1)}}}async function Oe(){m(R,c(R)+30),await ge()}function _t(){m(A,null),m(P,[],!0),Ct()}async function jt(G){if(!c(A))return;Ct(),await St(c(A).path);let ue;try{ue=await V$(G.hash,c(A).path)}catch{return}if(m(he,G.hash,!0),m(J,ue.binary,!0),m(se,!0),ue.binary||ue.content===null)return;let ut="";const pt=c(d).find(Qt=>Qt.path===c(A).path);if(pt!=null&&pt.model)ut=pt.model.getValue();else try{ut=(await Wx(c(A).path)).content}catch{}if(await hl(),!c(T))return;const We=Gs(c(A).path);H=_r.createModel(ue.content,We),X=_r.createModel(ut,We),V=_r.createDiffEditor(c(T),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),V.setModel({original:H,modified:X})}function Ct(){m(se,!1),m(J,!1),V==null||V.dispose(),V=null,H==null||H.dispose(),H=null,X==null||X.dispose(),X=null}async function Ni(){const G=c(n)?`${c(n)}/`:"",ue=await ne.show("New script name:",{placeholder:G?`${G}myscript.js`:"myscript.js",initial:G,confirm:"Create"});if(!ue)return;const ut=ue.endsWith(".js")?`/* global she */
217
+ 'use strict';
218
+
219
+ `:"";await Ql(ue,ut),await Z(),await He(ue,!0)}async function Mi(){const G=c(n)?`${c(n)}/`:"",ue=await ne.show("New folder name:",{placeholder:G?`${G}subfolder`:"myfolder",initial:G,confirm:"Create"});ue&&(await R$(ue),c(i)[ue]=!0,await Z())}function Ji(G,ue){G.preventDefault(),m(s,{x:G.clientX,y:G.clientY,entry:ue},!0)}function Fi(){m(s,null)}async function ui(G){Fi(),m(n,G,!0),c(i)[G]=!0,await Ni()}async function zt(G){Fi(),m(n,G,!0),await Mi()}async function kt(G){Fi();const ue=G.path.includes("/")?G.path.slice(0,G.path.lastIndexOf("/")+1):"",ut=await ne.show(G.type==="dir"?"Rename folder:":"Rename script:",{initial:G.name,placeholder:G.name,confirm:"Rename"});if(!ut||ut===G.name)return;const pt=ue+ut;try{await o2(G.path,pt);const We=c(d).find(Qt=>Qt.path===G.path);We&&(We.path=pt,c(u)===G.path&&m(u,pt)),await Z(),await Re("all",`rename ${G.path} → ${pt}`)}catch(We){m(g,We.message,!0)}}function Wt(G){if(!G.children)return 0;let ue=0;for(const ut of G.children)ue++,ut.type==="dir"&&(ue+=Wt(ut));return ue}async function oi(G){Fi();let ue=`Delete ${G.type==="dir"?"folder":"file"} "${G.path}"?`;if(G.type==="dir"){const ut=Wt(G);ut>0&&(ue+=` This will also delete ${ut} item${ut===1?"":"s"} inside.`)}if(await ie.show(ue,{confirm:"Delete",danger:!0})){if(G.type==="dir")for(const ut of[...c(d)])ut.path.startsWith(G.path+"/")&&await Ie(ut.path);else await Ie(G.path);await zx(G.path),await Z(),await Re("all",`delete ${G.path}`)}}async function vi(G){Fi();const{content:ue}=await Wx(G.path);c(De).some(ut=>ut.name===G.path)||m(De,[...c(De),{name:G.path,content:ue}],!0),m(Xe,!0)}function tn(G,ue){var ut;m(r,ue,!0),(ut=G.dataTransfer)==null||ut.setData("text/plain",ue)}function Xi(G,ue){if(G.preventDefault(),c(r)&&(c(r)===ue||ue.startsWith(c(r)+"/"))){G.dataTransfer&&(G.dataTransfer.dropEffect="none"),m(a,null);return}G.dataTransfer&&(G.dataTransfer.dropEffect="move"),m(a,ue,!0)}function Ln(){m(a,null)}async function Ki(G,ue){var hi,sn,en;G.preventDefault(),m(a,null);const ut=Array.from(((hi=G.dataTransfer)==null?void 0:hi.items)??[]).filter(hn=>hn.kind==="file");if(ut.length>0&&!c(r)){for(const hn of ut){const wn=(sn=hn.webkitGetAsEntry)==null?void 0:sn.call(hn);wn&&await An(wn,ue,!0)}await Z();return}const pt=c(r)??((en=G.dataTransfer)==null?void 0:en.getData("text/plain"));if(m(r,null),!pt||pt===ue||ue.startsWith(pt+"/"))return;const We=pt.split("/").pop(),Qt=ue?`${ue}/${We}`:We;if(Qt!==pt)try{await o2(pt,Qt);for(const hn of c(d))if(hn.path===pt)c(u)===pt&&m(u,Qt,!0),hn.path=Qt;else if(hn.path.startsWith(pt+"/")){const wn=Qt+hn.path.slice(pt.length);c(u)===hn.path&&m(u,wn),hn.path=wn}await Z(),await Re("all",`rename ${pt} → ${Qt}`)}catch(hn){m(g,hn.message,!0)}}async function An(G,ue,ut){if(G.isFile){const We=await(await new Promise((hi,sn)=>G.file(hi,sn))).text(),Qt=ue?`${ue}/${G.name}`:G.name;await Ql(Qt,We),ut&&G.name.endsWith(".js")&&await Le(Qt,!0)}else if(G.isDirectory){const pt=G.createReader();let We=[],Qt;do Qt=await new Promise((hi,sn)=>pt.readEntries(hi,sn)),We=[...We,...Qt];while(Qt.length>0);for(const hi of We)await An(hi,ue?`${ue}/${G.name}`:G.name,!1);if(ut){const hi=ue?`${ue}/${G.name}`:G.name;await Le(hi,!0)}}}async function qn(){if(!c(u)||!await ie.show(`Delete ${c(u)}?`,{confirm:"Delete",danger:!0}))return;const G=c(u);await Ie(G),await zx(G),await Z(),await Re("all",`delete ${G}`)}function Mn(){c(le)&&(c(le).logEntries=[])}function os(){m(C,!c(C)),localStorage.setItem(_e,String(c(C)))}function zi(G){return new Date(G).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Gs(G){var pt;const ue=((pt=G.split(".").pop())==null?void 0:pt.toLowerCase())??"";return{js:"javascript",mjs:"javascript",cjs:"javascript",ts:"typescript",tsx:"typescript",json:"json",jsonc:"json",md:"markdown",markdown:"markdown",yaml:"yaml",yml:"yaml",sh:"shell",bash:"shell",css:"css",html:"html",xml:"xml",ini:"ini",toml:"ini"}[ue]??"plaintext"}let Nn=null;async function Jn(){const G=c(d).find(ut=>ut.path===c(u));if(!(G!=null&&G.model))return;const ue=G.model;try{const Qt=(await(await(await md.typescript.getJavaScriptWorker())(ue.uri)).getSyntacticDiagnostics(ue.uri.toString())).map(hi=>{const sn=ue.getPositionAt(hi.start??0),en=ue.getPositionAt((hi.start??0)+(hi.length??0));return{severity:S7.Error,startLineNumber:sn.lineNumber,startColumn:sn.column,endLineNumber:en.lineNumber,endColumn:en.column,message:typeof hi.messageText=="string"?hi.messageText:JSON.stringify(hi.messageText),source:"she-syntax"}});if(_r.setModelMarkers(ue,"she-syntax",Qt),c(u)){if(Qt.length>0)re.add(c(u)),c(we).has(c(u))||m(we,new Set([...c(we),c(u)]),!0);else if(re.has(c(u))){re.delete(c(u));const hi=new Set(c(we));hi.delete(c(u)),m(we,hi,!0)}}}catch{}}function Ms(G){te=!0,Je=G.clientX,Pt=c(Ye),G.preventDefault()}function er(G){Bt=!0,Ot=G.clientY,Se=c(ke),G.preventDefault()}function zr(G){Qe=!0,Yt=G.clientX,Zt=c(It),G.preventDefault()}function Xa(G){mi=!0,ei=G.clientY,fe=c($t),G.preventDefault()}function zl(G){te&&m(Ye,Math.max(140,Math.min(500,Pt+G.clientX-Je)),!0),Bt&&m(ke,Math.max(60,Math.min(500,Se-(G.clientY-Ot))),!0),Qe&&m(It,Math.max(200,Math.min(700,Zt-(G.clientX-Yt))),!0),mi&&m($t,Math.max(80,Math.min(600,fe-(G.clientY-ei))),!0)}function gr(){te&&(te=!1,localStorage.setItem("she-scripts-sidebar-width",String(c(Ye)))),Bt&&(Bt=!1,localStorage.setItem("she-scripts-log-height",String(c(ke)))),Qe&&(Qe=!1,localStorage.setItem("she-scripts-chat-width",String(c(It)))),mi&&(mi=!1,localStorage.setItem("she-scripts-history-height",String(c($t))))}function Vr(G){(G.ctrlKey||G.metaKey)&&G.key==="s"&&(G.preventDefault(),Ne()),G.key==="Escape"&&(m(p,!1),m(s,null),m(Ht,!1))}async function Qc(G,ue){const ut=await ne.show("Save new script as:",{placeholder:"myscript.js",initial:G,confirm:"Create"});if(ut)try{await Ql(ut,ue),await Z(),await He(ut,!0)}catch(pt){m(g,pt.message,!0)}}async function Ls(G){var ut,pt;if(c(Kt)&&c(u)){m(st,G,!0),await ro();return}if(m(st,G,!0),await hl(),!c(xt))return;Y==null||Y.dispose(),Te==null||Te.dispose(),dt==null||dt.dispose();const ue=((pt=(ut=c(le))==null?void 0:ut.model)==null?void 0:pt.getValue())??"";Y=_r.createModel(ue,"javascript"),Te=_r.createModel(G,"javascript"),dt=_r.createDiffEditor(c(xt),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),dt.setModel({original:Y,modified:Te})}Kn(()=>{c(u),m(Kt,!1),m(si,!1)});async function ro(){if(c(st)===null||!c(u))return;const G=c(st);m(st,null);const ue=c(d).find(ut=>ut.path===c(u));ue!=null&&ue.model&&(Ti=!0,ue.model.setValue(G),Ti=!1,ue.dirty=!1,ue.savedContent=G);try{await Ql(c(u),G),m(g,""),c(y)?await Re([c(u)],`update ${c(u)}`):pe()}catch(ut){m(g,ut.message,!0)}Vl()}function rh(){m(st,null),Vl()}function Vl(){dt==null||dt.dispose(),dt=null,Y==null||Y.dispose(),Y=null,Te==null||Te.dispose(),Te=null}var tr=iZ();xs("keydown",Rd,Vr),xs("mousemove",Rd,zl),xs("mouseup",Rd,gr);var Jc=Et(tr);gs(Yc(Jc,{}),G=>ie=G,()=>ie);var jl=v(Jc,2);gs(KU(jl,{}),G=>ne=G,()=>ne);var Ya=v(jl,2);{var _f=G=>{var ue=YG(),ut=Et(ue),pt=v(ut,2);let We;var Qt=_(pt);{var hi=en=>{var hn=KG(),wn=Et(hn),mn=v(wn,2),Sn=v(mn,4),En=v(Sn,2);U("click",wn,()=>ui(c(s).entry.path)),U("click",mn,()=>zt(c(s).entry.path)),U("click",Sn,()=>kt(c(s).entry)),U("click",En,()=>oi(c(s).entry)),D(en,hn)},sn=en=>{var hn=XG(),wn=Et(hn),mn=v(wn,2),Sn=v(mn,2),En=v(Sn,2);{var Dn=vn=>{var jn=ZG();U("click",jn,()=>vt(c(s).entry)),D(vn,jn)};z(En,vn=>{c(b)&&vn(Dn)})}var us=v(En,4);U("click",wn,()=>St(c(s).entry.path)),U("click",mn,()=>kt(c(s).entry)),U("click",Sn,()=>vi(c(s).entry)),U("click",us,()=>oi(c(s).entry)),D(en,hn)};z(Qt,en=>{c(s).entry.type==="dir"?en(hi):en(sn,-1)})}j(()=>We=Uo(pt,"",We,{left:`${c(s).x??""}px`,top:`${c(s).y??""}px`})),U("click",ut,Fi),U("contextmenu",ut,en=>{en.preventDefault(),Fi()}),D(G,ue)};z(Ya,G=>{c(s)&&G(_f)})}var ed=v(Ya,2);{var ah=G=>{var ue=QG();let ut;j(()=>ut=Uo(ue,"",ut,{left:`${c(Vi).x??""}px`,top:`${c(Vi).y-4}px`})),D(G,ue)};z(ed,G=>{c(Vi)&&G(ah)})}var td=v(ed,2),id=_(td);let $l;{const G=(pt,We=sb,Qt)=>{let hi=s9(()=>I7(Qt==null?void 0:Qt(),!1));var sn=ws(),en=Et(sn);{var hn=mn=>{var Sn=eK(),En=_(Sn);let Dn;var us=_(En);let vn;var jn=v(us,2);let Rs;var _o=_(jn),Ns=v(jn,2);{var As=x=>{var E=P2();D(x,E)},hs=Lt(()=>c(at).has(We().path)||c(ct).has(We().path));z(Ns,x=>{c(hs)&&x(As)})}var ls=v(Ns,2),Ks=_(ls),Pn=v(ls,2),ps=_(Pn),l=v(En,2);{var h=x=>{var E=JG();ti(E,21,()=>We().children,k=>k.path,(k,O)=>{G(k,()=>c(O),()=>We().disabled||c(hi))}),D(x,E)};z(l,x=>{c(i)[We().path]&&We().children&&x(h)})}j(()=>{Dn=Ft(En,1,"dir-row svelte-1pyfjii",null,Dn,{"dir-selected":c(n)===We().path,"drag-target":c(a)===We().path}),ln(En,"aria-selected",c(n)===We().path),vn=Ft(us,1,"chevron svelte-1pyfjii",null,vn,{open:c(i)[We().path]}),Rs=Ft(jn,1,"dir-name svelte-1pyfjii",null,Rs,{lib:We().lib}),W(_o,We().name),Ko(Ks,We().lib),Ko(ps,We().disabled)}),xs("dragstart",En,x=>tn(x,We().path)),xs("dragover",En,x=>Xi(x,We().path)),xs("dragleave",En,Ln),xs("drop",En,x=>Ki(x,We().path)),U("contextmenu",En,x=>Ji(x,We())),U("click",us,()=>ce(We().path)),U("click",jn,()=>{m(n,We().path,!0),c(i)[We().path]=!0}),U("keydown",jn,x=>x.key==="Enter"&&m(n,We().path,!0)),xs("mouseenter",ls,Qi),xs("mouseleave",ls,Si),U("change",Ks,()=>mt(We().path,!We().lib)),U("change",ps,()=>Le(We().path,!We().disabled)),D(mn,Sn)},wn=mn=>{const Sn=Lt(()=>c(we).has(We().path)),En=Lt(()=>c(at).has(We().path)),Dn=Lt(()=>c(d).some(yi=>yi.path===We().path&&yi.dirty)),us=Lt(()=>(We().name.split(".").pop()??"txt").toUpperCase()),vn=Lt(()=>We().name.endsWith(".js"));var jn=rK();let Rs;var _o=_(jn),Ns=_(_o);let As;var hs=_(Ns);let ls;var Ks=_(hs),Pn=v(hs,2),ps=_(Pn),l=v(Pn,2);{var h=yi=>{var pn=P2();D(yi,pn)};z(l,yi=>{c(En)&&yi(h)})}var x=v(l);{var E=yi=>{var pn=tK();D(yi,pn)};z(x,yi=>{c(Dn)&&yi(E)})}var k=v(x,2);{var O=yi=>{var pn=iK();D(yi,pn)},ee=Lt(()=>c(vn)&&c(ae).has(We().path)&&!c(Sn));z(k,yi=>{c(ee)&&yi(O)})}var me=v(k,2);{var be=yi=>{var pn=nK();D(yi,pn)};z(me,yi=>{c(Sn)&&yi(be)})}var wt=v(Ns,2);{var fi=yi=>{var pn=sK();let Rn;var Cs=_(pn);j(()=>{Rn=Ft(pn,1,"dis-label svelte-1pyfjii",null,Rn,{"dis-locked":c(hi)}),ln(pn,"title",c(hi)?"Disabled by parent directory":"Disable — this script will not be executed"),Ko(Cs,We().disabled),Cs.disabled=c(hi)}),U("change",Cs,()=>Le(We().path,!We().disabled)),D(yi,pn)},Yi=yi=>{var pn=oK();D(yi,pn)};z(wt,yi=>{c(vn)?yi(fi):yi(Yi,-1)})}j((yi,pn,Rn)=>{Rs=Ft(jn,1,"tree-file svelte-1pyfjii",null,Rs,yi),As=Ft(Ns,1,"svelte-1pyfjii",null,As,{lib:We().lib,dis:We().disabled,err:c(Sn)}),ls=Ft(hs,1,`badge badge-${pn??""}`,"svelte-1pyfjii",ls,{"badge-shelib":We().lib}),W(Ks,Rn),W(ps,We().name)},[()=>({active:c(d).some(yi=>yi.path===We().path),"active-tab":We().path===c(u)}),()=>c(us).toLowerCase(),()=>je(c(us))]),xs("dragstart",jn,yi=>tn(yi,We().path)),U("contextmenu",jn,yi=>Ji(yi,We())),U("click",Ns,()=>St(We().path)),D(mn,jn)};z(en,mn=>{We().type==="dir"?mn(hn):mn(wn,-1)})}D(pt,sn)};var pa=_(id),bf=_(pa),Cf=v(bf,2),Ul=v(Cf,2);let ue;var Qa=v(Ul,2),Jp=v(pa,2);{var nd=pt=>{var We=aK(),Qt=_(We);j(()=>W(Qt,c(g))),D(pt,We)};z(Jp,pt=>{c(g)&&pt(nd)})}var Bo=v(Jp,2);{var ex=pt=>{var We=CK(),Qt=_(We),hi=_(Qt);let sn;var en=v(hi,2);let hn;var wn=v(en,2),mn=v(Qt,2),Sn=_(mn);gs(Sn,Pn=>m(Ge,Pn),()=>c(Ge));var En=v(Sn,2);{var Dn=Pn=>{var ps=lK(),l=Et(ps);let h;var x=v(l,2);let E;var k=v(x,2);let O;j(()=>{h=Ft(l,1,"svelte-1pyfjii",null,h,{active:c(ze)}),E=Ft(x,1,"svelte-1pyfjii",null,E,{active:c(ve)}),O=Ft(k,1,"svelte-1pyfjii",null,O,{active:c(ht)})}),U("click",l,()=>{m(ze,!c(ze)),$i()}),U("click",x,()=>{m(ve,!c(ve)),$i()}),U("click",k,()=>m(ht,!c(ht))),D(Pn,ps)};z(En,Pn=>{c(xe)==="text"&&Pn(Dn)})}var us=v(mn,2);{var vn=Pn=>{var ps=cK(),l=_(ps),h=v(l,2),x=_(h);j(E=>{h.disabled=E,W(x,c(Jt)?"…":"Preview")},[()=>!c(Ve).trim()||c(ot).length===0||c(Jt)]),Vt(l,()=>c(Mt),E=>m(Mt,E)),U("click",h,un),D(Pn,ps)};z(us,Pn=>{c(xe)==="text"&&c(ht)&&Pn(vn)})}var jn=v(us,2),Rs=_(jn);{var _o=Pn=>{var ps=dK();D(Pn,ps)},Ns=Pn=>{var ps=uK(),l=_(ps);j(()=>W(l,c(ai))),D(Pn,ps)},As=Pn=>{var ps=ws(),l=Et(ps);{var h=E=>{var k=ws(),O=Et(k);{var ee=be=>{var wt=hK();D(be,wt)},me=be=>{var wt=qC(),fi=Et(wt);{var Yi=pn=>{var Rn=fK();D(pn,Rn)};z(fi,pn=>{c(Ce)&&pn(Yi)})}var yi=v(fi,2);ti(yi,17,()=>c(ot),Hi,(pn,Rn)=>{var Cs=pK(),Os=_(Cs),$r=_(Os),zb=_($r),Vb=v($r,2),jb=_(Vb),hx=v(Os,2);ti(hx,17,()=>c(Rn).matches,Hi,($b,xh)=>{var ks=gK(),cd=_(ks),Ub=_(cd),qb=v(cd,2),Gb=_(qb);j(()=>{W(Ub,c(xh).line),W(Gb,c(xh).preview)}),U("click",ks,()=>wi(c(Rn).path,c(xh))),D($b,ks)}),j(()=>{W(zb,c(Rn).path),W(jb,c(Rn).matches.length)}),U("click",Os,()=>St(c(Rn).path)),D(pn,Cs)}),D(be,wt)};z(O,be=>{c(ot).length===0?be(ee):be(me,-1)})}D(E,k)},x=E=>{var k=ws(),O=Et(k);{var ee=be=>{var wt=xK();D(be,wt)},me=be=>{var wt=qC(),fi=Et(wt);{var Yi=pn=>{var Rn=mK();D(pn,Rn)};z(fi,pn=>{c(Ce)&&pn(Yi)})}var yi=v(fi,2);ti(yi,17,()=>c(yt),Hi,(pn,Rn)=>{var Cs=vK(),Os=_(Cs),$r=_(Os);j(()=>W($r,c(Rn))),U("click",Cs,()=>St(c(Rn))),D(pn,Cs)}),D(be,wt)};z(O,be=>{c(yt).length===0?be(ee):be(me,-1)})}D(E,k)};z(l,E=>{c(xe)==="text"?E(h):E(x,-1)})}D(Pn,ps)},hs=Lt(()=>c(Ve).trim());z(Rs,Pn=>{c(Rt)?Pn(_o):c(ai)?Pn(Ns,1):c(hs)&&Pn(As,2)})}var ls=v(jn,2);{var Ks=Pn=>{var ps=bK(),l=_(ps),h=_(l),x=_(h),E=v(h,2),k=_(E),O=v(k,2),ee=v(l,2);ti(ee,21,()=>c(nt),Hi,(me,be,wt)=>{var fi=_K(),Yi=_(fi),yi=v(Yi,2),pn=_(yi),Rn=v(yi,2),Cs=_(Rn);j(()=>{W(pn,c(be).path),W(Cs,`${c(be).changes??""}×`)}),ys(Yi,()=>c(be).checked,Os=>c(be).checked=Os),D(me,fi)}),j((me,be)=>{W(x,`Replace in ${me??""} file(s)`),k.disabled=be},[()=>c(nt).filter(me=>me.checked).length,()=>c(nt).filter(me=>me.checked).length===0]),U("click",k,cn),U("click",O,()=>m(Dt,!1)),D(Pn,ps)};z(ls,Pn=>{c(Dt)&&Pn(Ks)})}j(()=>{sn=Ft(hi,1,"svelte-1pyfjii",null,sn,{active:c(xe)==="text"}),hn=Ft(en,1,"svelte-1pyfjii",null,hn,{active:c(xe)==="files"}),ln(Sn,"placeholder",c(xe)==="text"?"Find in files…":"Find files…")}),U("click",hi,()=>{m(xe,"text"),$i()}),U("click",en,()=>{m(xe,"files"),$i()}),U("click",wn,ni),U("input",Sn,$i),U("keydown",Sn,Pn=>Pn.key==="Escape"&&ni()),Vt(Sn,()=>c(Ve),Pn=>m(Ve,Pn)),D(pt,We)};z(Bo,pt=>{c(Pe)&&pt(ex)})}var Ef=v(Bo,2),sd=_(Ef);let ut;var yf=v(sd,2);ti(yf,17,()=>c(t),pt=>pt.path,(pt,We)=>{G(pt,()=>c(We))});var wf=v(Ef,2);{var Tb=pt=>{var We=DK();let Qt;var hi=_(We),sn=v(hi,2),en=_(sn),hn=_(en),wn=v(en,2),mn=v(sn,2),Sn=_(mn);{var En=vn=>{var jn=EK();D(vn,jn)},Dn=vn=>{var jn=yK();D(vn,jn)},us=vn=>{var jn=qC(),Rs=Et(jn);ti(Rs,17,()=>c(P),As=>As.hash,(As,hs)=>{var ls=wK(),Ks=_(ls),Pn=_(Ks),ps=v(Ks,2),l=_(ps);j((h,x)=>{W(Pn,c(hs).subject),W(l,`${h??""} · ${x??""}`)},[()=>c(hs).hash.slice(0,7),()=>qe(c(hs).date)]),U("click",ls,()=>jt(c(hs))),D(As,ls)});var _o=v(Rs,2);{var Ns=As=>{var hs=SK(),ls=_(hs);j(()=>{hs.disabled=c(M),W(ls,c(M)?"Loading…":"Load more")}),U("click",hs,Oe),D(As,hs)};z(_o,As=>{c(P).length>=c(R)&&As(Ns)})}D(vn,jn)};z(Sn,vn=>{c(M)&&c(P).length===0?vn(En):c(P).length===0?vn(Dn,1):vn(us,-1)})}j(()=>{Qt=Uo(We,"",Qt,{height:`${c($t)??""}px`}),ln(en,"title",c(A).path),W(hn,`History: ${c(A).name??""}`)}),U("mousedown",hi,Xa),U("click",wn,_t),D(pt,We)};z(wf,pt=>{c(A)&&pt(Tb)})}j(()=>{ue=Ft(Ul,1,"search-toggle svelte-1pyfjii",null,ue,{active:c(Pe)}),ut=Ft(sd,1,"tree-root-drop svelte-1pyfjii",null,ut,{"drag-target":c(a)===""})}),U("click",bf,Ni),U("click",Cf,Mi),U("click",Ul,()=>c(Pe)?ni():bi("text")),U("click",Qa,Z),xs("dragover",sd,pt=>Xi(pt,"")),xs("dragleave",sd,Ln),xs("drop",sd,pt=>Ki(pt,""))}var tx=v(id,2),ix=v(tx,2),nx=_(ix);{var ir=G=>{var ue=BK(),ut=_(ue),pt=v(ut,2);ti(pt,21,()=>c(d),Qt=>Qt.path,(Qt,hi)=>{var sn=kK();let en;var hn=_(sn),wn=_(hn),mn=v(hn,2);{var Sn=Dn=>{var us=AK();D(Dn,us)};z(mn,Dn=>{c(hi).dirty&&Dn(Sn)})}var En=v(mn,2);j(Dn=>{en=Ft(sn,1,"tab svelte-1pyfjii",null,en,{active:c(hi).path===c(u)}),ln(sn,"data-tab-path",c(hi).path),W(wn,Dn)},[()=>c(hi).path.split("/").pop()]),U("click",sn,()=>gt(c(hi).path)),U("keydown",sn,Dn=>Dn.key==="Enter"&&gt(c(hi).path)),U("click",En,Dn=>{Dn.stopPropagation(),Ie(c(hi).path)}),D(Qt,sn)}),gs(pt,Qt=>m(ci,Qt),()=>c(ci));var We=v(pt,2);j(()=>{ut.disabled=!c(xi),We.disabled=!c(_i)}),U("click",ut,()=>ii(-1)),xs("scroll",pt,Ee),xs("wheel",pt,Qt=>{Qt.preventDefault(),c(ci).scrollLeft+=Qt.deltaY,Ee()}),U("click",We,()=>ii(1)),D(G,ue)};z(nx,G=>{c(d).length>0&&G(ir)})}var Ja=v(nx,2),sx=_(Ja),jr=_(sx),ox=v(sx,2);{var ql=G=>{var ue=NK(),ut=_(ue),pt=_(ut),We=v(ut,2);{var Qt=wn=>{var mn=PK(),Sn=_(mn),En=_(Sn),Dn=v(Sn,2);{var us=vn=>{var jn=IK(),Rs=Et(jn),_o=v(Rs,2),Ns=v(_(_o),2);ti(Ns,21,()=>c(b).changes,Hi,(l,h)=>{var x=FK(),E=_(x),k=v(E,2),O=_(k),ee=v(k,2),me=_(ee);j(be=>{Ko(E,be),W(O,c(h).status),W(me,c(h).file)},[()=>c($).has(c(h).file)]),U("change",E,()=>{const be=new Set(c($));be.has(c(h).file)?be.delete(c(h).file):be.add(c(h).file),m($,be,!0)}),D(l,x)});var As=v(Ns,2),hs=_(As),ls=v(hs,2),Ks=_(ls),Pn=v(As,2);{var ps=l=>{var h=LK(),x=_(h);j(()=>W(x,c(N))),D(l,h)};z(Pn,l=>{c(N)&&l(ps)})}j(l=>{var h;ls.disabled=l,W(Ks,c(I)?"…":c($).size===((h=c(b))==null?void 0:h.changes.length)?"Commit all":`Commit ${c($).size}`)},[()=>!c(Ei).trim()||c(I)||c($).size===0]),U("click",Rs,()=>m(Ut,!1)),U("keydown",hs,l=>l.key==="Enter"&&oe()),Vt(hs,()=>c(Ei),l=>m(Ei,l)),U("click",ls,oe),D(vn,jn)};z(Dn,vn=>{c(Ut)&&vn(us)})}j(()=>{ln(Sn,"title",`${c(b).changes.length??""} uncommitted change(s) — click to view`),W(En,`✎${c(b).changes.length??""}`)}),U("click",Sn,()=>{c(Ut)||m($,new Set(c(b).changes.map(vn=>vn.file)),!0),m(Ut,!c(Ut)),m(N,"")}),D(wn,mn)};z(We,wn=>{c(b).changes.length>0&&wn(Qt)})}var hi=v(We,2);{var sn=wn=>{var mn=MK(),Sn=_(mn),En=_(Sn),Dn=v(Sn,2);{var us=vn=>{var jn=TK(),Rs=Et(jn),_o=v(Rs,2),Ns=_(_o),As=_(Ns),hs=v(Ns,2),ls=_(hs);j(()=>W(As,`${c(b).ahead??""} unpushed commit(s)`)),U("click",Rs,()=>m(Ht,!1)),U("click",ls,()=>{m(Ht,!1),rt()}),D(vn,jn)};z(Dn,vn=>{c(Ht)&&vn(us)})}j(()=>{ln(Sn,"title",`${c(b).ahead??""} commit(s) ahead of upstream — click to push`),W(En,`↑${c(b).ahead??""}`)}),U("click",Sn,()=>m(Ht,!c(Ht))),D(wn,mn)};z(hi,wn=>{c(b).ahead>0&&wn(sn)})}var en=v(hi,2);{var hn=wn=>{var mn=RK(),Sn=_(mn);j(()=>{ln(mn,"title",`${c(b).behind??""} commit(s) behind upstream`),W(Sn,`↓${c(b).behind??""}`)}),D(wn,mn)};z(en,wn=>{c(b).behind>0&&wn(hn)})}j(()=>{ln(ut,"title",`Branch: ${c(b).branch??""}`),W(pt,`⎇ ${c(b).branch??""}`)}),D(G,ue)};z(ox,G=>{c(b)&&G(ql)})}var rx=v(ox,2),Gl=_(rx),od=_(Gl),lh=_(od),ax=v(od,2),xa=v(Gl,2);{var ch=G=>{var ue=OK(),ut=Et(ue),pt=v(ut,2),We=_(pt),Qt=v(We,2);U("click",ut,()=>m(p,!1)),U("click",We,()=>{m(p,!1),Ne()}),U("click",Qt,()=>{m(p,!1),Ue()}),D(G,ue)};z(xa,G=>{c(p)&&G(ch)})}var lx=v(rx,2);{var Sf=G=>{var ue=HK();U("click",ue,qn),D(G,ue)};z(lx,G=>{c(u)&&G(Sf)})}var Df=v(lx,2);let pr;var Mb=v(Ja,2),el=_(Mb),cx=_(el),xr=_(cx);gs(xr,G=>it=G,()=>it);var rd=v(xr,2);{var dx=G=>{var ue=WK();D(G,ue)};z(rd,G=>{c(u)||G(dx)})}var dh=v(rd,2);{var uh=G=>{var ue=$K(),ut=_(ue),pt=_(ut),We=v(_(pt)),Qt=_(We),hi=v(pt,2),sn=_(hi),en=_(sn),hn=_(en),wn=_(hn),mn=v(hn,2),Sn=v(en,2);{var En=vn=>{var jn=jK(),Rs=Et(jn),_o=v(Rs,2),Ns=_(_o);{var As=ls=>{var Ks=zK();U("click",Ks,()=>{m(si,!1),m(Kt,!0),ro()}),D(ls,Ks)},hs=ls=>{var Ks=VK();U("click",Ks,()=>{m(si,!1),m(Kt,!1)}),D(ls,Ks)};z(Ns,ls=>{c(Kt)?ls(hs,-1):ls(As)})}U("click",Rs,()=>m(si,!1)),D(vn,jn)};z(Sn,vn=>{c(si)&&vn(En)})}var Dn=v(sn,2),us=v(ut,2);gs(us,vn=>m(xt,vn),()=>c(xt)),j(vn=>{W(Qt,vn),W(wn,c(Kt)?"Auto-accept ✓":"Accept")},[()=>{var vn;return(vn=c(u))==null?void 0:vn.split("/").pop()}]),U("click",hn,ro),U("click",mn,()=>m(si,!c(si))),U("click",Dn,rh),D(G,ue)};z(dh,G=>{c(st)!==null&&G(uh)})}var Af=v(dh,2);{var hh=G=>{var ue=GK(),ut=_(ue),pt=_(ut),We=v(_(pt)),Qt=_(We),hi=v(We,2),sn=_(hi),en=v(pt,2),hn=_(en),wn=v(ut,2);{var mn=En=>{var Dn=UK();D(En,Dn)},Sn=En=>{var Dn=qK();gs(Dn,us=>m(T,us),()=>c(T)),D(En,Dn)};z(wn,En=>{c(J)?En(mn):En(Sn,-1)})}j(En=>{var Dn;W(Qt,En),W(sn,(Dn=c(A))==null?void 0:Dn.name)},[()=>c(he).slice(0,7)]),U("click",hn,Ct),D(G,ue)};z(Af,G=>{c(se)&&G(hh)})}var ma=v(cx,2);let ad,fh;var kf=_(ma);{var Rb=G=>{var ue=KK();U("mousedown",ue,er),D(G,ue)};z(kf,G=>{c(C)&&G(Rb)})}var ld=v(kf,2),Bf=_(ld),Ff=_(Bf),Nb=v(Ff);{var ux=G=>{var ue=ZK(),ut=_(ue);j(pt=>W(ut,`— ${pt??""}`),[()=>c(u).split("/").pop()]),D(G,ue)};z(Nb,G=>{c(u)&&G(ux)})}var Ob=v(Bf,2);{var mr=G=>{var ue=YK(),ut=Et(ue);ti(ut,21,()=>qi,Hi,(sn,en)=>{var hn=XK(),wn=_(hn),mn={};j(()=>{W(wn,c(en)),mn!==(mn=c(en))&&(hn.value=(hn.__value=c(en))??"")}),D(sn,hn)});var pt=v(ut,2),We=v(pt,2),Qt=_(We),hi=v(We,2);Fs(ut,()=>c(ft),sn=>m(ft,sn)),Vt(pt,()=>c(Gt),sn=>m(Gt,sn)),ys(Qt,()=>c(Pi),sn=>m(Pi,sn)),U("click",hi,Mn),D(G,ue)};z(Ob,G=>{c(C)&&G(mr)})}var gh=v(ld,2);{var Hb=G=>{var ue=eZ(),ut=_(ue);ti(ut,17,()=>{var Qt;return(((Qt=c(le))==null?void 0:Qt.logEntries)??[]).filter(Wi)},Qt=>Qt.ts+Qt.msg,(Qt,hi)=>{var sn=QK(),en=_(sn),hn=_(en),wn=v(en,2),mn=_(wn),Sn=v(wn,2),En=_(Sn);j((Dn,us)=>{Ft(sn,1,`log-line ${c(hi).level??""}`,"svelte-1pyfjii"),W(hn,Dn),W(mn,us),W(En,c(hi).msg)},[()=>zi(c(hi).ts),()=>c(hi).level.toUpperCase()]),D(Qt,sn)});var pt=v(ut,2);{var We=Qt=>{var hi=JK();D(Qt,hi)};z(pt,Qt=>{var hi;(((hi=c(le))==null?void 0:hi.logEntries.length)??0)===0&&Qt(We)})}gs(ue,Qt=>m(de,Qt),()=>c(de)),D(G,ue)};z(gh,G=>{c(C)&&G(Hb)})}var ph=v(el,2);{var Wb=G=>{var ue=tZ(),ut=Et(ue),pt=v(ut,2);let We;var Qt=_(pt);TG(Qt,{get currentScript(){return c(et)},onApply:Ls,onCreateFile:Qc,get extraFiles(){return c(De)},set extraFiles(hi){m(De,hi,!0)}}),j(()=>We=Uo(pt,"",We,{width:`${c(It)??""}px`})),U("mousedown",ut,zr),D(G,ue)};z(ph,G=>{c(Xe)&&G(Wb)})}j(()=>{var G;$l=Uo(id,"",$l,{width:`${c(Ye)??""}px`}),W(jr,c(u)??"No file selected"),od.disabled=!((G=c(le))!=null&&G.dirty)||c(f),W(lh,c(f)?"Saving…":"Save"),ax.disabled=!c(u),pr=Ft(Df,1,"ai-toggle svelte-1pyfjii",null,pr,{"ai-open":c(Xe)}),ln(Df,"title",c(Xe)?"Close AI assistant":"Open AI assistant"),ad=Ft(ma,1,"log-panel svelte-1pyfjii",null,ad,{collapsed:!c(C)}),fh=Uo(ma,"",fh,{height:c(C)?`${c(ke)}px`:"26px"}),W(Ff,`${c(C)?"▾":"▸"} Script Log `)}),U("keydown",td,fn),U("mousedown",tx,Ms),U("click",od,Ne),U("click",ax,()=>m(p,!c(p))),U("click",Df,()=>m(Xe,!c(Xe))),U("click",Bf,os),D(o,tr),$s()}Ys(["click","contextmenu","keydown","change","input","mousedown"]);const VF="she-theme";function sZ(){return localStorage.getItem(VF)??"dark"}function oZ(o){localStorage.setItem(VF,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o)}var sg={exports:{}};/* @preserve
220
+ * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com
221
+ * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
222
+ */var rZ=sg.exports,T2;function aZ(){return T2||(T2=1,(function(o,e){(function(t,i){i(e)})(rZ,(function(t){var i="1.9.4";function n(l){var h,x,E,k;for(x=1,E=arguments.length;x<E;x++){k=arguments[x];for(h in k)l[h]=k[h]}return l}var s=Object.create||(function(){function l(){}return function(h){return l.prototype=h,new l}})();function r(l,h){var x=Array.prototype.slice;if(l.bind)return l.bind.apply(l,x.call(arguments,1));var E=x.call(arguments,2);return function(){return l.apply(h,E.length?E.concat(x.call(arguments)):arguments)}}var a=0;function d(l){return"_leaflet_id"in l||(l._leaflet_id=++a),l._leaflet_id}function u(l,h,x){var E,k,O,ee;return ee=function(){E=!1,k&&(O.apply(x,k),k=!1)},O=function(){E?k=arguments:(l.apply(x,arguments),setTimeout(ee,h),E=!0)},O}function f(l,h,x){var E=h[1],k=h[0],O=E-k;return l===E&&x?l:((l-k)%O+O)%O+k}function g(){return!1}function p(l,h){if(h===!1)return l;var x=Math.pow(10,h===void 0?6:h);return Math.round(l*x)/x}function C(l){return l.trim?l.trim():l.replace(/^\s+|\s+$/g,"")}function b(l){return C(l).split(/\s+/)}function y(l,h){Object.prototype.hasOwnProperty.call(l,"options")||(l.options=l.options?s(l.options):{});for(var x in h)l.options[x]=h[x];return l.options}function w(l,h,x){var E=[];for(var k in l)E.push(encodeURIComponent(x?k.toUpperCase():k)+"="+encodeURIComponent(l[k]));return(!h||h.indexOf("?")===-1?"?":"&")+E.join("&")}var A=/\{ *([\w_ -]+) *\}/g;function P(l,h){return l.replace(A,function(x,E){var k=h[E];if(k===void 0)throw new Error("No value provided for variable "+x);return typeof k=="function"&&(k=k(h)),k})}var M=Array.isArray||function(l){return Object.prototype.toString.call(l)==="[object Array]"};function R(l,h){for(var x=0;x<l.length;x++)if(l[x]===h)return x;return-1}var T="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function V(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var H=0;function X(l){var h=+new Date,x=Math.max(0,16-(h-H));return H=h+x,window.setTimeout(l,x)}var se=window.requestAnimationFrame||V("RequestAnimationFrame")||X,he=window.cancelAnimationFrame||V("CancelAnimationFrame")||V("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function J(l,h,x){if(x&&se===X)l.call(h);else return se.call(window,r(l,h))}function de(l){l&&he.call(window,l)}var we={__proto__:null,extend:n,create:s,bind:r,get lastId(){return a},stamp:d,throttle:u,wrapNum:f,falseFn:g,formatNum:p,trim:C,splitWords:b,setOptions:y,getParamString:w,template:P,isArray:M,indexOf:R,emptyImageUrl:T,requestFn:se,cancelFn:he,requestAnimFrame:J,cancelAnimFrame:de};function re(){}re.extend=function(l){var h=function(){y(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},x=h.__super__=this.prototype,E=s(x);E.constructor=h,h.prototype=E;for(var k in this)Object.prototype.hasOwnProperty.call(this,k)&&k!=="prototype"&&k!=="__super__"&&(h[k]=this[k]);return l.statics&&n(h,l.statics),l.includes&&(ae(l.includes),n.apply(null,[E].concat(l.includes))),n(E,l),delete E.statics,delete E.includes,E.options&&(E.options=x.options?s(x.options):{},n(E.options,l.options)),E._initHooks=[],E.callInitHooks=function(){if(!this._initHooksCalled){x.callInitHooks&&x.callInitHooks.call(this),this._initHooksCalled=!0;for(var O=0,ee=E._initHooks.length;O<ee;O++)E._initHooks[O].call(this)}},h},re.include=function(l){var h=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=h,this.mergeOptions(l.options)),this},re.mergeOptions=function(l){return n(this.prototype.options,l),this},re.addInitHook=function(l){var h=Array.prototype.slice.call(arguments,1),x=typeof l=="function"?l:function(){this[l].apply(this,h)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(x),this};function ae(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=M(l)?l:[l];for(var h=0;h<l.length;h++)l[h]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",new Error().stack)}}var De={on:function(l,h,x){if(typeof l=="object")for(var E in l)this._on(E,l[E],h);else{l=b(l);for(var k=0,O=l.length;k<O;k++)this._on(l[k],h,x)}return this},off:function(l,h,x){if(!arguments.length)delete this._events;else if(typeof l=="object")for(var E in l)this._off(E,l[E],h);else{l=b(l);for(var k=arguments.length===1,O=0,ee=l.length;O<ee;O++)k?this._off(l[O]):this._off(l[O],h,x)}return this},_on:function(l,h,x,E){if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}if(this._listens(l,h,x)===!1){x===this&&(x=void 0);var k={fn:h,ctx:x};E&&(k.once=!0),this._events=this._events||{},this._events[l]=this._events[l]||[],this._events[l].push(k)}},_off:function(l,h,x){var E,k,O;if(this._events&&(E=this._events[l],!!E)){if(arguments.length===1){if(this._firingCount)for(k=0,O=E.length;k<O;k++)E[k].fn=g;delete this._events[l];return}if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}var ee=this._listens(l,h,x);if(ee!==!1){var me=E[ee];this._firingCount&&(me.fn=g,this._events[l]=E=E.slice()),E.splice(ee,1)}}},fire:function(l,h,x){if(!this.listens(l,x))return this;var E=n({},h,{type:l,target:this,sourceTarget:h&&h.sourceTarget||this});if(this._events){var k=this._events[l];if(k){this._firingCount=this._firingCount+1||1;for(var O=0,ee=k.length;O<ee;O++){var me=k[O],be=me.fn;me.once&&this.off(l,be,me.ctx),be.call(me.ctx||this,E)}this._firingCount--}}return x&&this._propagateEvent(E),this},listens:function(l,h,x,E){typeof l!="string"&&console.warn('"string" type argument expected');var k=h;typeof h!="function"&&(E=!!h,k=void 0,x=void 0);var O=this._events&&this._events[l];if(O&&O.length&&this._listens(l,k,x)!==!1)return!0;if(E){for(var ee in this._eventParents)if(this._eventParents[ee].listens(l,h,x,E))return!0}return!1},_listens:function(l,h,x){if(!this._events)return!1;var E=this._events[l]||[];if(!h)return!!E.length;x===this&&(x=void 0);for(var k=0,O=E.length;k<O;k++)if(E[k].fn===h&&E[k].ctx===x)return k;return!1},once:function(l,h,x){if(typeof l=="object")for(var E in l)this._on(E,l[E],h,!0);else{l=b(l);for(var k=0,O=l.length;k<O;k++)this._on(l[k],h,x,!0)}return this},addEventParent:function(l){return this._eventParents=this._eventParents||{},this._eventParents[d(l)]=l,this},removeEventParent:function(l){return this._eventParents&&delete this._eventParents[d(l)],this},_propagateEvent:function(l){for(var h in this._eventParents)this._eventParents[h].fire(l.type,n({layer:l.target,propagatedFrom:l.target},l),!0)}};De.addEventListener=De.on,De.removeEventListener=De.clearAllEventListeners=De.off,De.addOneTimeEventListener=De.once,De.fireEvent=De.fire,De.hasEventListeners=De.listens;var Pe=re.extend(De);function xe(l,h,x){this.x=x?Math.round(l):l,this.y=x?Math.round(h):h}var Ve=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};xe.prototype={clone:function(){return new xe(this.x,this.y)},add:function(l){return this.clone()._add(ze(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(ze(l))},_subtract:function(l){return this.x-=l.x,this.y-=l.y,this},divideBy:function(l){return this.clone()._divideBy(l)},_divideBy:function(l){return this.x/=l,this.y/=l,this},multiplyBy:function(l){return this.clone()._multiplyBy(l)},_multiplyBy:function(l){return this.x*=l,this.y*=l,this},scaleBy:function(l){return new xe(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new xe(this.x/l.x,this.y/l.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=Ve(this.x),this.y=Ve(this.y),this},distanceTo:function(l){l=ze(l);var h=l.x-this.x,x=l.y-this.y;return Math.sqrt(h*h+x*x)},equals:function(l){return l=ze(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=ze(l),Math.abs(l.x)<=Math.abs(this.x)&&Math.abs(l.y)<=Math.abs(this.y)},toString:function(){return"Point("+p(this.x)+", "+p(this.y)+")"}};function ze(l,h,x){return l instanceof xe?l:M(l)?new xe(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new xe(l.x,l.y):new xe(l,h,x)}function ve(l,h){if(l)for(var x=h?[l,h]:l,E=0,k=x.length;E<k;E++)this.extend(x[E])}ve.prototype={extend:function(l){var h,x;if(!l)return this;if(l instanceof xe||typeof l[0]=="number"||"x"in l)h=x=ze(l);else if(l=ht(l),h=l.min,x=l.max,!h||!x)return this;return!this.min&&!this.max?(this.min=h.clone(),this.max=x.clone()):(this.min.x=Math.min(h.x,this.min.x),this.max.x=Math.max(x.x,this.max.x),this.min.y=Math.min(h.y,this.min.y),this.max.y=Math.max(x.y,this.max.y)),this},getCenter:function(l){return ze((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return ze(this.min.x,this.max.y)},getTopRight:function(){return ze(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(l){var h,x;return typeof l[0]=="number"||l instanceof xe?l=ze(l):l=ht(l),l instanceof ve?(h=l.min,x=l.max):h=x=l,h.x>=this.min.x&&x.x<=this.max.x&&h.y>=this.min.y&&x.y<=this.max.y},intersects:function(l){l=ht(l);var h=this.min,x=this.max,E=l.min,k=l.max,O=k.x>=h.x&&E.x<=x.x,ee=k.y>=h.y&&E.y<=x.y;return O&&ee},overlaps:function(l){l=ht(l);var h=this.min,x=this.max,E=l.min,k=l.max,O=k.x>h.x&&E.x<x.x,ee=k.y>h.y&&E.y<x.y;return O&&ee},isValid:function(){return!!(this.min&&this.max)},pad:function(l){var h=this.min,x=this.max,E=Math.abs(h.x-x.x)*l,k=Math.abs(h.y-x.y)*l;return ht(ze(h.x-E,h.y-k),ze(x.x+E,x.y+k))},equals:function(l){return l?(l=ht(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function ht(l,h){return!l||l instanceof ve?l:new ve(l,h)}function Mt(l,h){if(l)for(var x=h?[l,h]:l,E=0,k=x.length;E<k;E++)this.extend(x[E])}Mt.prototype={extend:function(l){var h=this._southWest,x=this._northEast,E,k;if(l instanceof yt)E=l,k=l;else if(l instanceof Mt){if(E=l._southWest,k=l._northEast,!E||!k)return this}else return l?this.extend(Ce(l)||ot(l)):this;return!h&&!x?(this._southWest=new yt(E.lat,E.lng),this._northEast=new yt(k.lat,k.lng)):(h.lat=Math.min(E.lat,h.lat),h.lng=Math.min(E.lng,h.lng),x.lat=Math.max(k.lat,x.lat),x.lng=Math.max(k.lng,x.lng)),this},pad:function(l){var h=this._southWest,x=this._northEast,E=Math.abs(h.lat-x.lat)*l,k=Math.abs(h.lng-x.lng)*l;return new Mt(new yt(h.lat-E,h.lng-k),new yt(x.lat+E,x.lng+k))},getCenter:function(){return new yt((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new yt(this.getNorth(),this.getWest())},getSouthEast:function(){return new yt(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(l){typeof l[0]=="number"||l instanceof yt||"lat"in l?l=Ce(l):l=ot(l);var h=this._southWest,x=this._northEast,E,k;return l instanceof Mt?(E=l.getSouthWest(),k=l.getNorthEast()):E=k=l,E.lat>=h.lat&&k.lat<=x.lat&&E.lng>=h.lng&&k.lng<=x.lng},intersects:function(l){l=ot(l);var h=this._southWest,x=this._northEast,E=l.getSouthWest(),k=l.getNorthEast(),O=k.lat>=h.lat&&E.lat<=x.lat,ee=k.lng>=h.lng&&E.lng<=x.lng;return O&&ee},overlaps:function(l){l=ot(l);var h=this._southWest,x=this._northEast,E=l.getSouthWest(),k=l.getNorthEast(),O=k.lat>h.lat&&E.lat<x.lat,ee=k.lng>h.lng&&E.lng<x.lng;return O&&ee},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,h){return l?(l=ot(l),this._southWest.equals(l.getSouthWest(),h)&&this._northEast.equals(l.getNorthEast(),h)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function ot(l,h){return l instanceof Mt?l:new Mt(l,h)}function yt(l,h,x){if(isNaN(l)||isNaN(h))throw new Error("Invalid LatLng object: ("+l+", "+h+")");this.lat=+l,this.lng=+h,x!==void 0&&(this.alt=+x)}yt.prototype={equals:function(l,h){if(!l)return!1;l=Ce(l);var x=Math.max(Math.abs(this.lat-l.lat),Math.abs(this.lng-l.lng));return x<=(h===void 0?1e-9:h)},toString:function(l){return"LatLng("+p(this.lat,l)+", "+p(this.lng,l)+")"},distanceTo:function(l){return ai.distance(this,Ce(l))},wrap:function(){return ai.wrapLatLng(this)},toBounds:function(l){var h=180*l/40075017,x=h/Math.cos(Math.PI/180*this.lat);return ot([this.lat-h,this.lng-x],[this.lat+h,this.lng+x])},clone:function(){return new yt(this.lat,this.lng,this.alt)}};function Ce(l,h,x){return l instanceof yt?l:M(l)&&typeof l[0]!="object"?l.length===3?new yt(l[0],l[1],l[2]):l.length===2?new yt(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new yt(l.lat,"lng"in l?l.lng:l.lon,l.alt):h===void 0?null:new yt(l,h,x)}var Rt={latLngToPoint:function(l,h){var x=this.projection.project(l),E=this.scale(h);return this.transformation._transform(x,E)},pointToLatLng:function(l,h){var x=this.scale(h),E=this.transformation.untransform(l,x);return this.projection.unproject(E)},project:function(l){return this.projection.project(l)},unproject:function(l){return this.projection.unproject(l)},scale:function(l){return 256*Math.pow(2,l)},zoom:function(l){return Math.log(l/256)/Math.LN2},getProjectedBounds:function(l){if(this.infinite)return null;var h=this.projection.bounds,x=this.scale(l),E=this.transformation.transform(h.min,x),k=this.transformation.transform(h.max,x);return new ve(E,k)},infinite:!1,wrapLatLng:function(l){var h=this.wrapLng?f(l.lng,this.wrapLng,!0):l.lng,x=this.wrapLat?f(l.lat,this.wrapLat,!0):l.lat,E=l.alt;return new yt(x,h,E)},wrapLatLngBounds:function(l){var h=l.getCenter(),x=this.wrapLatLng(h),E=h.lat-x.lat,k=h.lng-x.lng;if(E===0&&k===0)return l;var O=l.getSouthWest(),ee=l.getNorthEast(),me=new yt(O.lat-E,O.lng-k),be=new yt(ee.lat-E,ee.lng-k);return new Mt(me,be)}},ai=n({},Rt,{wrapLng:[-180,180],R:6371e3,distance:function(l,h){var x=Math.PI/180,E=l.lat*x,k=h.lat*x,O=Math.sin((h.lat-l.lat)*x/2),ee=Math.sin((h.lng-l.lng)*x/2),me=O*O+Math.cos(E)*Math.cos(k)*ee*ee,be=2*Math.atan2(Math.sqrt(me),Math.sqrt(1-me));return this.R*be}}),Ge=6378137,nt={R:Ge,MAX_LATITUDE:85.0511287798,project:function(l){var h=Math.PI/180,x=this.MAX_LATITUDE,E=Math.max(Math.min(x,l.lat),-x),k=Math.sin(E*h);return new xe(this.R*l.lng*h,this.R*Math.log((1+k)/(1-k))/2)},unproject:function(l){var h=180/Math.PI;return new yt((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*h,l.x*h/this.R)},bounds:(function(){var l=Ge*Math.PI;return new ve([-l,-l],[l,l])})()};function Dt(l,h,x,E){if(M(l)){this._a=l[0],this._b=l[1],this._c=l[2],this._d=l[3];return}this._a=l,this._b=h,this._c=x,this._d=E}Dt.prototype={transform:function(l,h){return this._transform(l.clone(),h)},_transform:function(l,h){return h=h||1,l.x=h*(this._a*l.x+this._b),l.y=h*(this._c*l.y+this._d),l},untransform:function(l,h){return h=h||1,new xe((l.x/h-this._b)/this._a,(l.y/h-this._d)/this._c)}};function Jt(l,h,x,E){return new Dt(l,h,x,E)}var di=n({},ai,{code:"EPSG:3857",projection:nt,transformation:(function(){var l=.5/(Math.PI*nt.R);return Jt(l,.5,-l,.5)})()}),ci=n({},di,{code:"EPSG:900913"});function xi(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function _i(l,h){var x="",E,k,O,ee,me,be;for(E=0,O=l.length;E<O;E++){for(me=l[E],k=0,ee=me.length;k<ee;k++)be=me[k],x+=(k?"L":"M")+be.x+" "+be.y;x+=h?ke.svg?"z":"x":""}return x||"M0 0"}var Ke=document.documentElement.style,Ee="ActiveXObject"in window,ii=Ee&&!document.addEventListener,bi="msLaunchUri"in navigator&&!("documentMode"in document),ni=Ye("webkit"),$i=Ye("android"),Zi=Ye("android 2")||Ye("android 3"),wi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),yn=$i&&Ye("Google")&&wi<537&&!("AudioNode"in window),un=!!window.opera,cn=!bi&&Ye("chrome"),fn=Ye("gecko")&&!ni&&!un&&!Ee,ft=!cn&&Ye("safari"),Gt=Ye("phantom"),Pi="OTransition"in Ke,qi=navigator.platform.indexOf("Win")===0,Ci=Ee&&"transition"in Ke,Wi="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Zi,Vi="MozPerspective"in Ke,Qi=!window.L_DISABLE_3D&&(Ci||Wi||Vi)&&!Pi&&!Gt,Si=typeof orientation<"u"||Ye("mobile"),it=Si&&ni,At=Si&&Wi,Oi=!window.PointerEvent&&window.MSPointerEvent,Ti=!!(window.PointerEvent||Oi),Bi="ontouchstart"in window||!!window.TouchEvent,Ri=!window.L_NO_TOUCH&&(Bi||Ti),K=Si&&un,Ae=Si&&fn,Xe=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,st=(function(){var l=!1;try{var h=Object.defineProperty({},"passive",{get:function(){l=!0}});window.addEventListener("testPassiveEventSupport",g,h),window.removeEventListener("testPassiveEventSupport",g,h)}catch{}return l})(),Kt=(function(){return!!document.createElement("canvas").getContext})(),si=!!(document.createElementNS&&xi("svg").createSVGRect),xt=!!si&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),dt=!si&&(function(){try{var l=document.createElement("div");l.innerHTML='<v:shape adj="1"/>';var h=l.firstChild;return h.style.behavior="url(#default#VML)",h&&typeof h.adj=="object"}catch{return!1}})(),Y=navigator.platform.indexOf("Mac")===0,Te=navigator.platform.indexOf("Linux")===0;function Ye(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var ke={ie:Ee,ielt9:ii,edge:bi,webkit:ni,android:$i,android23:Zi,androidStock:yn,opera:un,chrome:cn,gecko:fn,safari:ft,phantom:Gt,opera12:Pi,win:qi,ie3d:Ci,webkit3d:Wi,gecko3d:Vi,any3d:Qi,mobile:Si,mobileWebkit:it,mobileWebkit3d:At,msPointer:Oi,pointer:Ti,touch:Ri,touchNative:Bi,mobileOpera:K,mobileGecko:Ae,retina:Xe,passiveEvents:st,canvas:Kt,svg:si,vml:dt,inlineSvg:xt,mac:Y,linux:Te},It=ke.msPointer?"MSPointerDown":"pointerdown",$t=ke.msPointer?"MSPointerMove":"pointermove",te=ke.msPointer?"MSPointerUp":"pointerup",Je=ke.msPointer?"MSPointerCancel":"pointercancel",Pt={touchstart:It,touchmove:$t,touchend:te,touchcancel:Je},Bt={touchstart:at,touchmove:et,touchend:et,touchcancel:et},Ot={},Se=!1;function Qe(l,h,x){return h==="touchstart"&&fe(),Bt[h]?(x=Bt[h].bind(this,x),l.addEventListener(Pt[h],x,!1),x):(console.warn("wrong event specified:",h),g)}function Yt(l,h,x){if(!Pt[h]){console.warn("wrong event specified:",h);return}l.removeEventListener(Pt[h],x,!1)}function Zt(l){Ot[l.pointerId]=l}function mi(l){Ot[l.pointerId]&&(Ot[l.pointerId]=l)}function ei(l){delete Ot[l.pointerId]}function fe(){Se||(document.addEventListener(It,Zt,!0),document.addEventListener($t,mi,!0),document.addEventListener(te,ei,!0),document.addEventListener(Je,ei,!0),Se=!0)}function et(l,h){if(h.pointerType!==(h.MSPOINTER_TYPE_MOUSE||"mouse")){h.touches=[];for(var x in Ot)h.touches.push(Ot[x]);h.changedTouches=[h],l(h)}}function at(l,h){h.MSPOINTER_TYPE_TOUCH&&h.pointerType===h.MSPOINTER_TYPE_TOUCH&&vi(h),et(l,h)}function ct(l){var h={},x,E;for(E in l)x=l[E],h[E]=x&&x.bind?x.bind(l):x;return l=h,h.type="dblclick",h.detail=2,h.isTrusted=!1,h._simulated=!0,h}var Ut=200;function Ht(l,h){l.addEventListener("dblclick",h);var x=0,E;function k(O){if(O.detail!==1){E=O.detail;return}if(!(O.pointerType==="mouse"||O.sourceCapabilities&&!O.sourceCapabilities.firesTouchEvents)){var ee=Xi(O);if(!(ee.some(function(be){return be instanceof HTMLLabelElement&&be.attributes.for})&&!ee.some(function(be){return be instanceof HTMLInputElement||be instanceof HTMLSelectElement}))){var me=Date.now();me-x<=Ut?(E++,E===2&&h(ct(O))):E=1,x=me}}}return l.addEventListener("click",k),{dblclick:h,simDblclick:k}}function Ei(l,h){l.removeEventListener("dblclick",h.dblclick),l.removeEventListener("click",h.simDblclick)}var I=mt(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),N=mt(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),$=N==="webkitTransition"||N==="OTransition"?N+"End":"transitionend";function oe(l){return typeof l=="string"?document.getElementById(l):l}function ie(l,h){var x=l.style[h]||l.currentStyle&&l.currentStyle[h];if((!x||x==="auto")&&document.defaultView){var E=document.defaultView.getComputedStyle(l,null);x=E?E[h]:null}return x==="auto"?null:x}function ne(l,h,x){var E=document.createElement(l);return E.className=h||"",x&&x.appendChild(E),E}function le(l){var h=l.parentNode;h&&h.removeChild(l)}function tt(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function Fe(l){var h=l.parentNode;h&&h.lastChild!==l&&h.appendChild(l)}function _e(l){var h=l.parentNode;h&&h.firstChild!==l&&h.insertBefore(l,h.firstChild)}function Ze(l,h){if(l.classList!==void 0)return l.classList.contains(h);var x=Z(l);return x.length>0&&new RegExp("(^|\\s)"+h+"(\\s|$)").test(x)}function Me(l,h){if(l.classList!==void 0)for(var x=b(h),E=0,k=x.length;E<k;E++)l.classList.add(x[E]);else if(!Ze(l,h)){var O=Z(l);Xt(l,(O?O+" ":"")+h)}}function lt(l,h){l.classList!==void 0?l.classList.remove(h):Xt(l,C((" "+Z(l)+" ").replace(" "+h+" "," ")))}function Xt(l,h){l.className.baseVal===void 0?l.className=h:l.className.baseVal=h}function Z(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function ce(l,h){"opacity"in l.style?l.style.opacity=h:"filter"in l.style&&je(l,h)}function je(l,h){var x=!1,E="DXImageTransform.Microsoft.Alpha";try{x=l.filters.item(E)}catch{if(h===1)return}h=Math.round(h*100),x?(x.Enabled=h!==100,x.Opacity=h):l.style.filter+=" progid:"+E+"(opacity="+h+")"}function mt(l){for(var h=document.documentElement.style,x=0;x<l.length;x++)if(l[x]in h)return l[x];return!1}function Le(l,h,x){var E=h||new xe(0,0);l.style[I]=(ke.ie3d?"translate("+E.x+"px,"+E.y+"px)":"translate3d("+E.x+"px,"+E.y+"px,0)")+(x?" scale("+x+")":"")}function He(l,h){l._leaflet_pos=h,ke.any3d?Le(l,h):(l.style.left=h.x+"px",l.style.top=h.y+"px")}function St(l){return l._leaflet_pos||new xe(0,0)}var gt,Ie,pe;if("onselectstart"in document)gt=function(){Ct(window,"selectstart",vi)},Ie=function(){Mi(window,"selectstart",vi)};else{var Re=mt(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);gt=function(){if(Re){var l=document.documentElement.style;pe=l[Re],l[Re]="none"}},Ie=function(){Re&&(document.documentElement.style[Re]=pe,pe=void 0)}}function Ne(){Ct(window,"dragstart",vi)}function Ue(){Mi(window,"dragstart",vi)}var rt,qe;function vt(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(ge(),rt=l,qe=l.style.outlineStyle,l.style.outlineStyle="none",Ct(window,"keydown",ge))}function ge(){rt&&(rt.style.outlineStyle=qe,rt=void 0,qe=void 0,Mi(window,"keydown",ge))}function Oe(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function _t(l){var h=l.getBoundingClientRect();return{x:h.width/l.offsetWidth||1,y:h.height/l.offsetHeight||1,boundingClientRect:h}}var jt={__proto__:null,TRANSFORM:I,TRANSITION:N,TRANSITION_END:$,get:oe,getStyle:ie,create:ne,remove:le,empty:tt,toFront:Fe,toBack:_e,hasClass:Ze,addClass:Me,removeClass:lt,setClass:Xt,getClass:Z,setOpacity:ce,testProp:mt,setTransform:Le,setPosition:He,getPosition:St,get disableTextSelection(){return gt},get enableTextSelection(){return Ie},disableImageDrag:Ne,enableImageDrag:Ue,preventOutline:vt,restoreOutline:ge,getSizedParentNode:Oe,getScale:_t};function Ct(l,h,x,E){if(h&&typeof h=="object")for(var k in h)ui(l,k,h[k],x);else{h=b(h);for(var O=0,ee=h.length;O<ee;O++)ui(l,h[O],x,E)}return this}var Ni="_leaflet_events";function Mi(l,h,x,E){if(arguments.length===1)Ji(l),delete l[Ni];else if(h&&typeof h=="object")for(var k in h)zt(l,k,h[k],x);else if(h=b(h),arguments.length===2)Ji(l,function(me){return R(h,me)!==-1});else for(var O=0,ee=h.length;O<ee;O++)zt(l,h[O],x,E);return this}function Ji(l,h){for(var x in l[Ni]){var E=x.split(/\d/)[0];(!h||h(E))&&zt(l,E,null,null,x)}}var Fi={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function ui(l,h,x,E){var k=h+d(x)+(E?"_"+d(E):"");if(l[Ni]&&l[Ni][k])return this;var O=function(me){return x.call(E||l,me||window.event)},ee=O;!ke.touchNative&&ke.pointer&&h.indexOf("touch")===0?O=Qe(l,h,O):ke.touch&&h==="dblclick"?O=Ht(l,O):"addEventListener"in l?h==="touchstart"||h==="touchmove"||h==="wheel"||h==="mousewheel"?l.addEventListener(Fi[h]||h,O,ke.passiveEvents?{passive:!1}:!1):h==="mouseenter"||h==="mouseleave"?(O=function(me){me=me||window.event,qn(l,me)&&ee(me)},l.addEventListener(Fi[h],O,!1)):l.addEventListener(h,ee,!1):l.attachEvent("on"+h,O),l[Ni]=l[Ni]||{},l[Ni][k]=O}function zt(l,h,x,E,k){k=k||h+d(x)+(E?"_"+d(E):"");var O=l[Ni]&&l[Ni][k];if(!O)return this;!ke.touchNative&&ke.pointer&&h.indexOf("touch")===0?Yt(l,h,O):ke.touch&&h==="dblclick"?Ei(l,O):"removeEventListener"in l?l.removeEventListener(Fi[h]||h,O,!1):l.detachEvent("on"+h,O),l[Ni][k]=null}function kt(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function Wt(l){return ui(l,"wheel",kt),this}function oi(l){return Ct(l,"mousedown touchstart dblclick contextmenu",kt),l._leaflet_disable_click=!0,this}function vi(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function tn(l){return vi(l),kt(l),this}function Xi(l){if(l.composedPath)return l.composedPath();for(var h=[],x=l.target;x;)h.push(x),x=x.parentNode;return h}function Ln(l,h){if(!h)return new xe(l.clientX,l.clientY);var x=_t(h),E=x.boundingClientRect;return new xe((l.clientX-E.left)/x.x-h.clientLeft,(l.clientY-E.top)/x.y-h.clientTop)}var Ki=ke.linux&&ke.chrome?window.devicePixelRatio:ke.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function An(l){return ke.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/Ki:l.deltaY&&l.deltaMode===1?-l.deltaY*20:l.deltaY&&l.deltaMode===2?-l.deltaY*60:l.deltaX||l.deltaZ?0:l.wheelDelta?(l.wheelDeltaY||l.wheelDelta)/2:l.detail&&Math.abs(l.detail)<32765?-l.detail*20:l.detail?l.detail/-32765*60:0}function qn(l,h){var x=h.relatedTarget;if(!x)return!0;try{for(;x&&x!==l;)x=x.parentNode}catch{return!1}return x!==l}var Mn={__proto__:null,on:Ct,off:Mi,stopPropagation:kt,disableScrollPropagation:Wt,disableClickPropagation:oi,preventDefault:vi,stop:tn,getPropagationPath:Xi,getMousePosition:Ln,getWheelDelta:An,isExternalTarget:qn,addListener:Ct,removeListener:Mi},os=Pe.extend({run:function(l,h,x,E){this.stop(),this._el=l,this._inProgress=!0,this._duration=x||.25,this._easeOutPower=1/Math.max(E||.5,.2),this._startPos=St(l),this._offset=h.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=J(this._animate,this),this._step()},_step:function(l){var h=+new Date-this._startTime,x=this._duration*1e3;h<x?this._runFrame(this._easeOut(h/x),l):(this._runFrame(1),this._complete())},_runFrame:function(l,h){var x=this._startPos.add(this._offset.multiplyBy(l));h&&x._round(),He(this._el,x),this.fire("step")},_complete:function(){de(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),zi=Pe.extend({options:{crs:di,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(l,h){h=y(this,h),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(l),this._initLayout(),this._onResize=r(this._onResize,this),this._initEvents(),h.maxBounds&&this.setMaxBounds(h.maxBounds),h.zoom!==void 0&&(this._zoom=this._limitZoom(h.zoom)),h.center&&h.zoom!==void 0&&this.setView(Ce(h.center),h.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=N&&ke.any3d&&!ke.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Ct(this._proxy,$,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(l,h,x){if(h=h===void 0?this._zoom:this._limitZoom(h),l=this._limitCenter(Ce(l),h,this.options.maxBounds),x=x||{},this._stop(),this._loaded&&!x.reset&&x!==!0){x.animate!==void 0&&(x.zoom=n({animate:x.animate},x.zoom),x.pan=n({animate:x.animate,duration:x.duration},x.pan));var E=this._zoom!==h?this._tryAnimatedZoom&&this._tryAnimatedZoom(l,h,x.zoom):this._tryAnimatedPan(l,x.pan);if(E)return clearTimeout(this._sizeTimer),this}return this._resetView(l,h,x.pan&&x.pan.noMoveStart),this},setZoom:function(l,h){return this._loaded?this.setView(this.getCenter(),l,{zoom:h}):(this._zoom=l,this)},zoomIn:function(l,h){return l=l||(ke.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,h)},zoomOut:function(l,h){return l=l||(ke.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,h)},setZoomAround:function(l,h,x){var E=this.getZoomScale(h),k=this.getSize().divideBy(2),O=l instanceof xe?l:this.latLngToContainerPoint(l),ee=O.subtract(k).multiplyBy(1-1/E),me=this.containerPointToLatLng(k.add(ee));return this.setView(me,h,{zoom:x})},_getBoundsCenterZoom:function(l,h){h=h||{},l=l.getBounds?l.getBounds():ot(l);var x=ze(h.paddingTopLeft||h.padding||[0,0]),E=ze(h.paddingBottomRight||h.padding||[0,0]),k=this.getBoundsZoom(l,!1,x.add(E));if(k=typeof h.maxZoom=="number"?Math.min(h.maxZoom,k):k,k===1/0)return{center:l.getCenter(),zoom:k};var O=E.subtract(x).divideBy(2),ee=this.project(l.getSouthWest(),k),me=this.project(l.getNorthEast(),k),be=this.unproject(ee.add(me).divideBy(2).add(O),k);return{center:be,zoom:k}},fitBounds:function(l,h){if(l=ot(l),!l.isValid())throw new Error("Bounds are not valid.");var x=this._getBoundsCenterZoom(l,h);return this.setView(x.center,x.zoom,h)},fitWorld:function(l){return this.fitBounds([[-90,-180],[90,180]],l)},panTo:function(l,h){return this.setView(l,this._zoom,{pan:h})},panBy:function(l,h){if(l=ze(l).round(),h=h||{},!l.x&&!l.y)return this.fire("moveend");if(h.animate!==!0&&!this.getSize().contains(l))return this._resetView(this.unproject(this.project(this.getCenter()).add(l)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new os,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),h.noMoveStart||this.fire("movestart"),h.animate!==!1){Me(this._mapPane,"leaflet-pan-anim");var x=this._getMapPanePos().subtract(l).round();this._panAnim.run(this._mapPane,x,h.duration||.25,h.easeLinearity)}else this._rawPanBy(l),this.fire("move").fire("moveend");return this},flyTo:function(l,h,x){if(x=x||{},x.animate===!1||!ke.any3d)return this.setView(l,h,x);this._stop();var E=this.project(this.getCenter()),k=this.project(l),O=this.getSize(),ee=this._zoom;l=Ce(l),h=h===void 0?ee:h;var me=Math.max(O.x,O.y),be=me*this.getZoomScale(ee,h),wt=k.distanceTo(E)||1,fi=1.42,Yi=fi*fi;function yi(ks){var cd=ks?-1:1,Ub=ks?be:me,qb=be*be-me*me+cd*Yi*Yi*wt*wt,Gb=2*Ub*Yi*wt,Kb=qb/Gb,SS=Math.sqrt(Kb*Kb+1)-Kb,jF=SS<1e-9?-18:Math.log(SS);return jF}function pn(ks){return(Math.exp(ks)-Math.exp(-ks))/2}function Rn(ks){return(Math.exp(ks)+Math.exp(-ks))/2}function Cs(ks){return pn(ks)/Rn(ks)}var Os=yi(0);function $r(ks){return me*(Rn(Os)/Rn(Os+fi*ks))}function zb(ks){return me*(Rn(Os)*Cs(Os+fi*ks)-pn(Os))/Yi}function Vb(ks){return 1-Math.pow(1-ks,1.5)}var jb=Date.now(),hx=(yi(1)-Os)/fi,$b=x.duration?1e3*x.duration:1e3*hx*.8;function xh(){var ks=(Date.now()-jb)/$b,cd=Vb(ks)*hx;ks<=1?(this._flyToFrame=J(xh,this),this._move(this.unproject(E.add(k.subtract(E).multiplyBy(zb(cd)/wt)),ee),this.getScaleZoom(me/$r(cd),ee),{flyTo:!0})):this._move(l,h)._moveEnd(!0)}return this._moveStart(!0,x.noMoveStart),xh.call(this),this},flyToBounds:function(l,h){var x=this._getBoundsCenterZoom(l,h);return this.flyTo(x.center,x.zoom,h)},setMaxBounds:function(l){return l=ot(l),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),l.isValid()?(this.options.maxBounds=l,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(l){var h=this.options.minZoom;return this.options.minZoom=l,this._loaded&&h!==l&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(l):this},setMaxZoom:function(l){var h=this.options.maxZoom;return this.options.maxZoom=l,this._loaded&&h!==l&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(l):this},panInsideBounds:function(l,h){this._enforcingBounds=!0;var x=this.getCenter(),E=this._limitCenter(x,this._zoom,ot(l));return x.equals(E)||this.panTo(E,h),this._enforcingBounds=!1,this},panInside:function(l,h){h=h||{};var x=ze(h.paddingTopLeft||h.padding||[0,0]),E=ze(h.paddingBottomRight||h.padding||[0,0]),k=this.project(this.getCenter()),O=this.project(l),ee=this.getPixelBounds(),me=ht([ee.min.add(x),ee.max.subtract(E)]),be=me.getSize();if(!me.contains(O)){this._enforcingBounds=!0;var wt=O.subtract(me.getCenter()),fi=me.extend(O).getSize().subtract(be);k.x+=wt.x<0?-fi.x:fi.x,k.y+=wt.y<0?-fi.y:fi.y,this.panTo(this.unproject(k),h),this._enforcingBounds=!1}return this},invalidateSize:function(l){if(!this._loaded)return this;l=n({animate:!1,pan:!0},l===!0?{animate:!0}:l);var h=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var x=this.getSize(),E=h.divideBy(2).round(),k=x.divideBy(2).round(),O=E.subtract(k);return!O.x&&!O.y?this:(l.animate&&l.pan?this.panBy(O):(l.pan&&this._rawPanBy(O),this.fire("move"),l.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(r(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:h,newSize:x}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(l){if(l=this._locateOptions=n({timeout:1e4,watch:!1},l),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var h=r(this._handleGeolocationResponse,this),x=r(this._handleGeolocationError,this);return l.watch?this._locationWatchId=navigator.geolocation.watchPosition(h,x,l):navigator.geolocation.getCurrentPosition(h,x,l),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(l){if(this._container._leaflet_id){var h=l.code,x=l.message||(h===1?"permission denied":h===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:h,message:"Geolocation error: "+x+"."})}},_handleGeolocationResponse:function(l){if(this._container._leaflet_id){var h=l.coords.latitude,x=l.coords.longitude,E=new yt(h,x),k=E.toBounds(l.coords.accuracy*2),O=this._locateOptions;if(O.setView){var ee=this.getBoundsZoom(k);this.setView(E,O.maxZoom?Math.min(ee,O.maxZoom):ee)}var me={latlng:E,bounds:k,timestamp:l.timestamp};for(var be in l.coords)typeof l.coords[be]=="number"&&(me[be]=l.coords[be]);this.fire("locationfound",me)}},addHandler:function(l,h){if(!h)return this;var x=this[l]=new h(this);return this._handlers.push(x),this.options[l]&&x.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),le(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(de(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var l;for(l in this._layers)this._layers[l].remove();for(l in this._panes)le(this._panes[l]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(l,h){var x="leaflet-pane"+(l?" leaflet-"+l.replace("Pane","")+"-pane":""),E=ne("div",x,h||this._mapPane);return l&&(this._panes[l]=E),E},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var l=this.getPixelBounds(),h=this.unproject(l.getBottomLeft()),x=this.unproject(l.getTopRight());return new Mt(h,x)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(l,h,x){l=ot(l),x=ze(x||[0,0]);var E=this.getZoom()||0,k=this.getMinZoom(),O=this.getMaxZoom(),ee=l.getNorthWest(),me=l.getSouthEast(),be=this.getSize().subtract(x),wt=ht(this.project(me,E),this.project(ee,E)).getSize(),fi=ke.any3d?this.options.zoomSnap:1,Yi=be.x/wt.x,yi=be.y/wt.y,pn=h?Math.max(Yi,yi):Math.min(Yi,yi);return E=this.getScaleZoom(pn,E),fi&&(E=Math.round(E/(fi/100))*(fi/100),E=h?Math.ceil(E/fi)*fi:Math.floor(E/fi)*fi),Math.max(k,Math.min(O,E))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new xe(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(l,h){var x=this._getTopLeftPoint(l,h);return new ve(x,x.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(l){return this.options.crs.getProjectedBounds(l===void 0?this.getZoom():l)},getPane:function(l){return typeof l=="string"?this._panes[l]:l},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(l,h){var x=this.options.crs;return h=h===void 0?this._zoom:h,x.scale(l)/x.scale(h)},getScaleZoom:function(l,h){var x=this.options.crs;h=h===void 0?this._zoom:h;var E=x.zoom(l*x.scale(h));return isNaN(E)?1/0:E},project:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.latLngToPoint(Ce(l),h)},unproject:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.pointToLatLng(ze(l),h)},layerPointToLatLng:function(l){var h=ze(l).add(this.getPixelOrigin());return this.unproject(h)},latLngToLayerPoint:function(l){var h=this.project(Ce(l))._round();return h._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(Ce(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(ot(l))},distance:function(l,h){return this.options.crs.distance(Ce(l),Ce(h))},containerPointToLayerPoint:function(l){return ze(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return ze(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var h=this.containerPointToLayerPoint(ze(l));return this.layerPointToLatLng(h)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Ce(l)))},mouseEventToContainerPoint:function(l){return Ln(l,this._container)},mouseEventToLayerPoint:function(l){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(l))},mouseEventToLatLng:function(l){return this.layerPointToLatLng(this.mouseEventToLayerPoint(l))},_initContainer:function(l){var h=this._container=oe(l);if(h){if(h._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Ct(h,"scroll",this._onScroll,this),this._containerId=d(h)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&ke.any3d,Me(l,"leaflet-container"+(ke.touch?" leaflet-touch":"")+(ke.retina?" leaflet-retina":"")+(ke.ielt9?" leaflet-oldie":"")+(ke.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var h=ie(l,"position");h!=="absolute"&&h!=="relative"&&h!=="fixed"&&h!=="sticky"&&(l.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var l=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),He(this._mapPane,new xe(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Me(l.markerPane,"leaflet-zoom-hide"),Me(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,h,x){He(this._mapPane,new xe(0,0));var E=!this._loaded;this._loaded=!0,h=this._limitZoom(h),this.fire("viewprereset");var k=this._zoom!==h;this._moveStart(k,x)._move(l,h)._moveEnd(k),this.fire("viewreset"),E&&this.fire("load")},_moveStart:function(l,h){return l&&this.fire("zoomstart"),h||this.fire("movestart"),this},_move:function(l,h,x,E){h===void 0&&(h=this._zoom);var k=this._zoom!==h;return this._zoom=h,this._lastCenter=l,this._pixelOrigin=this._getNewPixelOrigin(l),E?x&&x.pinch&&this.fire("zoom",x):((k||x&&x.pinch)&&this.fire("zoom",x),this.fire("move",x)),this},_moveEnd:function(l){return l&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return de(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){He(this._mapPane,this._getMapPanePos().subtract(l))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(l){this._targets={},this._targets[d(this._container)]=this;var h=l?Mi:Ct;h(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&h(window,"resize",this._onResize,this),ke.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){de(this._resizeRequest),this._resizeRequest=J(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var l=this._getMapPanePos();Math.max(Math.abs(l.x),Math.abs(l.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(l,h){for(var x=[],E,k=h==="mouseout"||h==="mouseover",O=l.target||l.srcElement,ee=!1;O;){if(E=this._targets[d(O)],E&&(h==="click"||h==="preclick")&&this._draggableMoved(E)){ee=!0;break}if(E&&E.listens(h,!0)&&(k&&!qn(O,l)||(x.push(E),k))||O===this._container)break;O=O.parentNode}return!x.length&&!ee&&!k&&this.listens(h,!0)&&(x=[this]),x},_isClickDisabled:function(l){for(;l&&l!==this._container;){if(l._leaflet_disable_click)return!0;l=l.parentNode}},_handleDOMEvent:function(l){var h=l.target||l.srcElement;if(!(!this._loaded||h._leaflet_disable_events||l.type==="click"&&this._isClickDisabled(h))){var x=l.type;x==="mousedown"&&vt(h),this._fireDOMEvent(l,x)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(l,h,x){if(l.type==="click"){var E=n({},l);E.type="preclick",this._fireDOMEvent(E,E.type,x)}var k=this._findEventTargets(l,h);if(x){for(var O=[],ee=0;ee<x.length;ee++)x[ee].listens(h,!0)&&O.push(x[ee]);k=O.concat(k)}if(k.length){h==="contextmenu"&&vi(l);var me=k[0],be={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var wt=me.getLatLng&&(!me._radius||me._radius<=10);be.containerPoint=wt?this.latLngToContainerPoint(me.getLatLng()):this.mouseEventToContainerPoint(l),be.layerPoint=this.containerPointToLayerPoint(be.containerPoint),be.latlng=wt?me.getLatLng():this.layerPointToLatLng(be.layerPoint)}for(ee=0;ee<k.length;ee++)if(k[ee].fire(h,be,!0),be.originalEvent._stopped||k[ee].options.bubblingMouseEvents===!1&&R(this._mouseEvents,h)!==-1)return}},_draggableMoved:function(l){return l=l.dragging&&l.dragging.enabled()?l:this,l.dragging&&l.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var l=0,h=this._handlers.length;l<h;l++)this._handlers[l].disable()},whenReady:function(l,h){return this._loaded?l.call(h||this,{target:this}):this.on("load",l,h),this},_getMapPanePos:function(){return St(this._mapPane)||new xe(0,0)},_moved:function(){var l=this._getMapPanePos();return l&&!l.equals([0,0])},_getTopLeftPoint:function(l,h){var x=l&&h!==void 0?this._getNewPixelOrigin(l,h):this.getPixelOrigin();return x.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(l,h){var x=this.getSize()._divideBy(2);return this.project(l,h)._subtract(x)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(l,h,x){var E=this._getNewPixelOrigin(x,h);return this.project(l,h)._subtract(E)},_latLngBoundsToNewLayerBounds:function(l,h,x){var E=this._getNewPixelOrigin(x,h);return ht([this.project(l.getSouthWest(),h)._subtract(E),this.project(l.getNorthWest(),h)._subtract(E),this.project(l.getSouthEast(),h)._subtract(E),this.project(l.getNorthEast(),h)._subtract(E)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(l){return this.latLngToLayerPoint(l).subtract(this._getCenterLayerPoint())},_limitCenter:function(l,h,x){if(!x)return l;var E=this.project(l,h),k=this.getSize().divideBy(2),O=new ve(E.subtract(k),E.add(k)),ee=this._getBoundsOffset(O,x,h);return Math.abs(ee.x)<=1&&Math.abs(ee.y)<=1?l:this.unproject(E.add(ee),h)},_limitOffset:function(l,h){if(!h)return l;var x=this.getPixelBounds(),E=new ve(x.min.add(l),x.max.add(l));return l.add(this._getBoundsOffset(E,h))},_getBoundsOffset:function(l,h,x){var E=ht(this.project(h.getNorthEast(),x),this.project(h.getSouthWest(),x)),k=E.min.subtract(l.min),O=E.max.subtract(l.max),ee=this._rebound(k.x,-O.x),me=this._rebound(k.y,-O.y);return new xe(ee,me)},_rebound:function(l,h){return l+h>0?Math.round(l-h)/2:Math.max(0,Math.ceil(l))-Math.max(0,Math.floor(h))},_limitZoom:function(l){var h=this.getMinZoom(),x=this.getMaxZoom(),E=ke.any3d?this.options.zoomSnap:1;return E&&(l=Math.round(l/E)*E),Math.max(h,Math.min(x,l))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){lt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(l,h){var x=this._getCenterOffset(l)._trunc();return(h&&h.animate)!==!0&&!this.getSize().contains(x)?!1:(this.panBy(x,h),!0)},_createAnimProxy:function(){var l=this._proxy=ne("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(h){var x=I,E=this._proxy.style[x];Le(this._proxy,this.project(h.center,h.zoom),this.getZoomScale(h.zoom,1)),E===this._proxy.style[x]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){le(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),h=this.getZoom();Le(this._proxy,this.project(l,h),this.getZoomScale(h,1))},_catchTransitionEnd:function(l){this._animatingZoom&&l.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(l,h,x){if(this._animatingZoom)return!0;if(x=x||{},!this._zoomAnimated||x.animate===!1||this._nothingToAnimate()||Math.abs(h-this._zoom)>this.options.zoomAnimationThreshold)return!1;var E=this.getZoomScale(h),k=this._getCenterOffset(l)._divideBy(1-1/E);return x.animate!==!0&&!this.getSize().contains(k)?!1:(J(function(){this._moveStart(!0,x.noMoveStart||!1)._animateZoom(l,h,!0)},this),!0)},_animateZoom:function(l,h,x,E){this._mapPane&&(x&&(this._animatingZoom=!0,this._animateToCenter=l,this._animateToZoom=h,Me(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:l,zoom:h,noUpdate:E}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(r(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&lt(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Gs(l,h){return new zi(l,h)}var Nn=re.extend({options:{position:"topright"},initialize:function(l){y(this,l)},getPosition:function(){return this.options.position},setPosition:function(l){var h=this._map;return h&&h.removeControl(this),this.options.position=l,h&&h.addControl(this),this},getContainer:function(){return this._container},addTo:function(l){this.remove(),this._map=l;var h=this._container=this.onAdd(l),x=this.getPosition(),E=l._controlCorners[x];return Me(h,"leaflet-control"),x.indexOf("bottom")!==-1?E.insertBefore(h,E.firstChild):E.appendChild(h),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(le(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(l){this._map&&l&&l.screenX>0&&l.screenY>0&&this._map.getContainer().focus()}}),Jn=function(l){return new Nn(l)};zi.include({addControl:function(l){return l.addTo(this),this},removeControl:function(l){return l.remove(),this},_initControlPos:function(){var l=this._controlCorners={},h="leaflet-",x=this._controlContainer=ne("div",h+"control-container",this._container);function E(k,O){var ee=h+k+" "+h+O;l[k+O]=ne("div",ee,x)}E("top","left"),E("top","right"),E("bottom","left"),E("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)le(this._controlCorners[l]);le(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ms=Nn.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(l,h,x,E){return x<E?-1:E<x?1:0}},initialize:function(l,h,x){y(this,x),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var E in l)this._addLayer(l[E],E);for(E in h)this._addLayer(h[E],E,!0)},onAdd:function(l){this._initLayout(),this._update(),this._map=l,l.on("zoomend",this._checkDisabledLayers,this);for(var h=0;h<this._layers.length;h++)this._layers[h].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(l){return Nn.prototype.addTo.call(this,l),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var l=0;l<this._layers.length;l++)this._layers[l].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(l,h){return this._addLayer(l,h),this._map?this._update():this},addOverlay:function(l,h){return this._addLayer(l,h,!0),this._map?this._update():this},removeLayer:function(l){l.off("add remove",this._onLayerChange,this);var h=this._getLayer(d(l));return h&&this._layers.splice(this._layers.indexOf(h),1),this._map?this._update():this},expand:function(){Me(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var l=this._map.getSize().y-(this._container.offsetTop+50);return l<this._section.clientHeight?(Me(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):lt(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return lt(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",h=this._container=ne("div",l),x=this.options.collapsed;h.setAttribute("aria-haspopup",!0),oi(h),Wt(h);var E=this._section=ne("section",l+"-list");x&&(this._map.on("click",this.collapse,this),Ct(h,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var k=this._layersLink=ne("a",l+"-toggle",h);k.href="#",k.title="Layers",k.setAttribute("role","button"),Ct(k,{keydown:function(O){O.keyCode===13&&this._expandSafely()},click:function(O){vi(O),this._expandSafely()}},this),x||this.expand(),this._baseLayersList=ne("div",l+"-base",E),this._separator=ne("div",l+"-separator",E),this._overlaysList=ne("div",l+"-overlays",E),h.appendChild(E)},_getLayer:function(l){for(var h=0;h<this._layers.length;h++)if(this._layers[h]&&d(this._layers[h].layer)===l)return this._layers[h]},_addLayer:function(l,h,x){this._map&&l.on("add remove",this._onLayerChange,this),this._layers.push({layer:l,name:h,overlay:x}),this.options.sortLayers&&this._layers.sort(r(function(E,k){return this.options.sortFunction(E.layer,k.layer,E.name,k.name)},this)),this.options.autoZIndex&&l.setZIndex&&(this._lastZIndex++,l.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;tt(this._baseLayersList),tt(this._overlaysList),this._layerControlInputs=[];var l,h,x,E,k=0;for(x=0;x<this._layers.length;x++)E=this._layers[x],this._addItem(E),h=h||E.overlay,l=l||!E.overlay,k+=E.overlay?0:1;return this.options.hideSingleBase&&(l=l&&k>1,this._baseLayersList.style.display=l?"":"none"),this._separator.style.display=h&&l?"":"none",this},_onLayerChange:function(l){this._handlingClick||this._update();var h=this._getLayer(d(l.target)),x=h.overlay?l.type==="add"?"overlayadd":"overlayremove":l.type==="add"?"baselayerchange":null;x&&this._map.fire(x,h)},_createRadioElement:function(l,h){var x='<input type="radio" class="leaflet-control-layers-selector" name="'+l+'"'+(h?' checked="checked"':"")+"/>",E=document.createElement("div");return E.innerHTML=x,E.firstChild},_addItem:function(l){var h=document.createElement("label"),x=this._map.hasLayer(l.layer),E;l.overlay?(E=document.createElement("input"),E.type="checkbox",E.className="leaflet-control-layers-selector",E.defaultChecked=x):E=this._createRadioElement("leaflet-base-layers_"+d(this),x),this._layerControlInputs.push(E),E.layerId=d(l.layer),Ct(E,"click",this._onInputClick,this);var k=document.createElement("span");k.innerHTML=" "+l.name;var O=document.createElement("span");h.appendChild(O),O.appendChild(E),O.appendChild(k);var ee=l.overlay?this._overlaysList:this._baseLayersList;return ee.appendChild(h),this._checkDisabledLayers(),h},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,h,x,E=[],k=[];this._handlingClick=!0;for(var O=l.length-1;O>=0;O--)h=l[O],x=this._getLayer(h.layerId).layer,h.checked?E.push(x):h.checked||k.push(x);for(O=0;O<k.length;O++)this._map.hasLayer(k[O])&&this._map.removeLayer(k[O]);for(O=0;O<E.length;O++)this._map.hasLayer(E[O])||this._map.addLayer(E[O]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var l=this._layerControlInputs,h,x,E=this._map.getZoom(),k=l.length-1;k>=0;k--)h=l[k],x=this._getLayer(h.layerId).layer,h.disabled=x.options.minZoom!==void 0&&E<x.options.minZoom||x.options.maxZoom!==void 0&&E>x.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var l=this._section;this._preventClick=!0,Ct(l,"click",vi),this.expand();var h=this;setTimeout(function(){Mi(l,"click",vi),h._preventClick=!1})}}),er=function(l,h,x){return new Ms(l,h,x)},zr=Nn.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">&#x2212;</span>',zoomOutTitle:"Zoom out"},onAdd:function(l){var h="leaflet-control-zoom",x=ne("div",h+" leaflet-bar"),E=this.options;return this._zoomInButton=this._createButton(E.zoomInText,E.zoomInTitle,h+"-in",x,this._zoomIn),this._zoomOutButton=this._createButton(E.zoomOutText,E.zoomOutTitle,h+"-out",x,this._zoomOut),this._updateDisabled(),l.on("zoomend zoomlevelschange",this._updateDisabled,this),x},onRemove:function(l){l.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(l){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(l.shiftKey?3:1))},_zoomOut:function(l){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(l.shiftKey?3:1))},_createButton:function(l,h,x,E,k){var O=ne("a",x,E);return O.innerHTML=l,O.href="#",O.title=h,O.setAttribute("role","button"),O.setAttribute("aria-label",h),oi(O),Ct(O,"click",tn),Ct(O,"click",k,this),Ct(O,"click",this._refocusOnMap,this),O},_updateDisabled:function(){var l=this._map,h="leaflet-disabled";lt(this._zoomInButton,h),lt(this._zoomOutButton,h),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(Me(this._zoomOutButton,h),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(Me(this._zoomInButton,h),this._zoomInButton.setAttribute("aria-disabled","true"))}});zi.mergeOptions({zoomControl:!0}),zi.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new zr,this.addControl(this.zoomControl))});var Xa=function(l){return new zr(l)},zl=Nn.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var h="leaflet-control-scale",x=ne("div",h),E=this.options;return this._addScales(E,h+"-line",x),l.on(E.updateWhenIdle?"moveend":"move",this._update,this),l.whenReady(this._update,this),x},onRemove:function(l){l.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(l,h,x){l.metric&&(this._mScale=ne("div",h,x)),l.imperial&&(this._iScale=ne("div",h,x))},_update:function(){var l=this._map,h=l.getSize().y/2,x=l.distance(l.containerPointToLatLng([0,h]),l.containerPointToLatLng([this.options.maxWidth,h]));this._updateScales(x)},_updateScales:function(l){this.options.metric&&l&&this._updateMetric(l),this.options.imperial&&l&&this._updateImperial(l)},_updateMetric:function(l){var h=this._getRoundNum(l),x=h<1e3?h+" m":h/1e3+" km";this._updateScale(this._mScale,x,h/l)},_updateImperial:function(l){var h=l*3.2808399,x,E,k;h>5280?(x=h/5280,E=this._getRoundNum(x),this._updateScale(this._iScale,E+" mi",E/x)):(k=this._getRoundNum(h),this._updateScale(this._iScale,k+" ft",k/h))},_updateScale:function(l,h,x){l.style.width=Math.round(this.options.maxWidth*x)+"px",l.innerHTML=h},_getRoundNum:function(l){var h=Math.pow(10,(Math.floor(l)+"").length-1),x=l/h;return x=x>=10?10:x>=5?5:x>=3?3:x>=2?2:1,h*x}}),gr=function(l){return new zl(l)},Vr='<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg>',Qc=Nn.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(ke.inlineSvg?Vr+" ":"")+"Leaflet</a>"},initialize:function(l){y(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=ne("div","leaflet-control-attribution"),oi(this._container);for(var h in l._layers)l._layers[h].getAttribution&&this.addAttribution(l._layers[h].getAttribution());return this._update(),l.on("layeradd",this._addAttribution,this),this._container},onRemove:function(l){l.off("layeradd",this._addAttribution,this)},_addAttribution:function(l){l.layer.getAttribution&&(this.addAttribution(l.layer.getAttribution()),l.layer.once("remove",function(){this.removeAttribution(l.layer.getAttribution())},this))},setPrefix:function(l){return this.options.prefix=l,this._update(),this},addAttribution:function(l){return l?(this._attributions[l]||(this._attributions[l]=0),this._attributions[l]++,this._update(),this):this},removeAttribution:function(l){return l?(this._attributions[l]&&(this._attributions[l]--,this._update()),this):this},_update:function(){if(this._map){var l=[];for(var h in this._attributions)this._attributions[h]&&l.push(h);var x=[];this.options.prefix&&x.push(this.options.prefix),l.length&&x.push(l.join(", ")),this._container.innerHTML=x.join(' <span aria-hidden="true">|</span> ')}}});zi.mergeOptions({attributionControl:!0}),zi.addInitHook(function(){this.options.attributionControl&&new Qc().addTo(this)});var Ls=function(l){return new Qc(l)};Nn.Layers=Ms,Nn.Zoom=zr,Nn.Scale=zl,Nn.Attribution=Qc,Jn.layers=er,Jn.zoom=Xa,Jn.scale=gr,Jn.attribution=Ls;var ro=re.extend({initialize:function(l){this._map=l},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});ro.addTo=function(l,h){return l.addHandler(h,this),this};var rh={Events:De},Vl=ke.touch?"touchstart mousedown":"mousedown",tr=Pe.extend({options:{clickTolerance:3},initialize:function(l,h,x,E){y(this,E),this._element=l,this._dragStartTarget=h||l,this._preventOutline=x},enable:function(){this._enabled||(Ct(this._dragStartTarget,Vl,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(tr._dragging===this&&this.finishDrag(!0),Mi(this._dragStartTarget,Vl,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!Ze(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){tr._dragging===this&&this.finishDrag();return}if(!(tr._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(tr._dragging=this,this._preventOutline&&vt(this._element),Ne(),gt(),!this._moving)){this.fire("down");var h=l.touches?l.touches[0]:l,x=Oe(this._element);this._startPoint=new xe(h.clientX,h.clientY),this._startPos=St(this._element),this._parentScale=_t(x);var E=l.type==="mousedown";Ct(document,E?"mousemove":"touchmove",this._onMove,this),Ct(document,E?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(l){if(this._enabled){if(l.touches&&l.touches.length>1){this._moved=!0;return}var h=l.touches&&l.touches.length===1?l.touches[0]:l,x=new xe(h.clientX,h.clientY)._subtract(this._startPoint);!x.x&&!x.y||Math.abs(x.x)+Math.abs(x.y)<this.options.clickTolerance||(x.x/=this._parentScale.x,x.y/=this._parentScale.y,vi(l),this._moved||(this.fire("dragstart"),this._moved=!0,Me(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),Me(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(x),this._moving=!0,this._lastEvent=l,this._updatePosition())}},_updatePosition:function(){var l={originalEvent:this._lastEvent};this.fire("predrag",l),He(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){lt(document.body,"leaflet-dragging"),this._lastTarget&&(lt(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Mi(document,"mousemove touchmove",this._onMove,this),Mi(document,"mouseup touchend touchcancel",this._onUp,this),Ue(),Ie();var h=this._moved&&this._moving;this._moving=!1,tr._dragging=!1,h&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function Jc(l,h,x){var E,k=[1,4,2,8],O,ee,me,be,wt,fi,Yi,yi;for(O=0,fi=l.length;O<fi;O++)l[O]._code=Qa(l[O],h);for(me=0;me<4;me++){for(Yi=k[me],E=[],O=0,fi=l.length,ee=fi-1;O<fi;ee=O++)be=l[O],wt=l[ee],be._code&Yi?wt._code&Yi||(yi=Ul(wt,be,Yi,h,x),yi._code=Qa(yi,h),E.push(yi)):(wt._code&Yi&&(yi=Ul(wt,be,Yi,h,x),yi._code=Qa(yi,h),E.push(yi)),E.push(be));l=E}return l}function jl(l,h){var x,E,k,O,ee,me,be,wt,fi;if(!l||l.length===0)throw new Error("latlngs not passed");Bo(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Yi=Ce([0,0]),yi=ot(l),pn=yi.getNorthWest().distanceTo(yi.getSouthWest())*yi.getNorthEast().distanceTo(yi.getNorthWest());pn<1700&&(Yi=Ya(l));var Rn=l.length,Cs=[];for(x=0;x<Rn;x++){var Os=Ce(l[x]);Cs.push(h.project(Ce([Os.lat-Yi.lat,Os.lng-Yi.lng])))}for(me=be=wt=0,x=0,E=Rn-1;x<Rn;E=x++)k=Cs[x],O=Cs[E],ee=k.y*O.x-O.y*k.x,be+=(k.x+O.x)*ee,wt+=(k.y+O.y)*ee,me+=ee*3;me===0?fi=Cs[0]:fi=[be/me,wt/me];var $r=h.unproject(ze(fi));return Ce([$r.lat+Yi.lat,$r.lng+Yi.lng])}function Ya(l){for(var h=0,x=0,E=0,k=0;k<l.length;k++){var O=Ce(l[k]);h+=O.lat,x+=O.lng,E++}return Ce([h/E,x/E])}var _f={__proto__:null,clipPolygon:Jc,polygonCenter:jl,centroid:Ya};function ed(l,h){if(!h||!l.length)return l.slice();var x=h*h;return l=pa(l,x),l=id(l,x),l}function ah(l,h,x){return Math.sqrt(nd(l,h,x,!0))}function td(l,h,x){return nd(l,h,x)}function id(l,h){var x=l.length,E=typeof Uint8Array<"u"?Uint8Array:Array,k=new E(x);k[0]=k[x-1]=1,$l(l,k,h,0,x-1);var O,ee=[];for(O=0;O<x;O++)k[O]&&ee.push(l[O]);return ee}function $l(l,h,x,E,k){var O=0,ee,me,be;for(me=E+1;me<=k-1;me++)be=nd(l[me],l[E],l[k],!0),be>O&&(ee=me,O=be);O>x&&(h[ee]=1,$l(l,h,x,E,ee),$l(l,h,x,ee,k))}function pa(l,h){for(var x=[l[0]],E=1,k=0,O=l.length;E<O;E++)Jp(l[E],l[k])>h&&(x.push(l[E]),k=E);return k<O-1&&x.push(l[O-1]),x}var bf;function Cf(l,h,x,E,k){var O=E?bf:Qa(l,x),ee=Qa(h,x),me,be,wt;for(bf=ee;;){if(!(O|ee))return[l,h];if(O&ee)return!1;me=O||ee,be=Ul(l,h,me,x,k),wt=Qa(be,x),me===O?(l=be,O=wt):(h=be,ee=wt)}}function Ul(l,h,x,E,k){var O=h.x-l.x,ee=h.y-l.y,me=E.min,be=E.max,wt,fi;return x&8?(wt=l.x+O*(be.y-l.y)/ee,fi=be.y):x&4?(wt=l.x+O*(me.y-l.y)/ee,fi=me.y):x&2?(wt=be.x,fi=l.y+ee*(be.x-l.x)/O):x&1&&(wt=me.x,fi=l.y+ee*(me.x-l.x)/O),new xe(wt,fi,k)}function Qa(l,h){var x=0;return l.x<h.min.x?x|=1:l.x>h.max.x&&(x|=2),l.y<h.min.y?x|=4:l.y>h.max.y&&(x|=8),x}function Jp(l,h){var x=h.x-l.x,E=h.y-l.y;return x*x+E*E}function nd(l,h,x,E){var k=h.x,O=h.y,ee=x.x-k,me=x.y-O,be=ee*ee+me*me,wt;return be>0&&(wt=((l.x-k)*ee+(l.y-O)*me)/be,wt>1?(k=x.x,O=x.y):wt>0&&(k+=ee*wt,O+=me*wt)),ee=l.x-k,me=l.y-O,E?ee*ee+me*me:new xe(k,O)}function Bo(l){return!M(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function ex(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Bo(l)}function Ef(l,h){var x,E,k,O,ee,me,be,wt;if(!l||l.length===0)throw new Error("latlngs not passed");Bo(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var fi=Ce([0,0]),Yi=ot(l),yi=Yi.getNorthWest().distanceTo(Yi.getSouthWest())*Yi.getNorthEast().distanceTo(Yi.getNorthWest());yi<1700&&(fi=Ya(l));var pn=l.length,Rn=[];for(x=0;x<pn;x++){var Cs=Ce(l[x]);Rn.push(h.project(Ce([Cs.lat-fi.lat,Cs.lng-fi.lng])))}for(x=0,E=0;x<pn-1;x++)E+=Rn[x].distanceTo(Rn[x+1])/2;if(E===0)wt=Rn[0];else for(x=0,O=0;x<pn-1;x++)if(ee=Rn[x],me=Rn[x+1],k=ee.distanceTo(me),O+=k,O>E){be=(O-E)/k,wt=[me.x-be*(me.x-ee.x),me.y-be*(me.y-ee.y)];break}var Os=h.unproject(ze(wt));return Ce([Os.lat+fi.lat,Os.lng+fi.lng])}var sd={__proto__:null,simplify:ed,pointToSegmentDistance:ah,closestPointOnSegment:td,clipSegment:Cf,_getEdgeIntersection:Ul,_getBitCode:Qa,_sqClosestPointOnSegment:nd,isFlat:Bo,_flat:ex,polylineCenter:Ef},yf={project:function(l){return new xe(l.lng,l.lat)},unproject:function(l){return new yt(l.y,l.x)},bounds:new ve([-180,-90],[180,90])},wf={R:6378137,R_MINOR:6356752314245179e-9,bounds:new ve([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(l){var h=Math.PI/180,x=this.R,E=l.lat*h,k=this.R_MINOR/x,O=Math.sqrt(1-k*k),ee=O*Math.sin(E),me=Math.tan(Math.PI/4-E/2)/Math.pow((1-ee)/(1+ee),O/2);return E=-x*Math.log(Math.max(me,1e-10)),new xe(l.lng*h*x,E)},unproject:function(l){for(var h=180/Math.PI,x=this.R,E=this.R_MINOR/x,k=Math.sqrt(1-E*E),O=Math.exp(-l.y/x),ee=Math.PI/2-2*Math.atan(O),me=0,be=.1,wt;me<15&&Math.abs(be)>1e-7;me++)wt=k*Math.sin(ee),wt=Math.pow((1-wt)/(1+wt),k/2),be=Math.PI/2-2*Math.atan(O*wt)-ee,ee+=be;return new yt(ee*h,l.x*h/x)}},Tb={__proto__:null,LonLat:yf,Mercator:wf,SphericalMercator:nt},tx=n({},ai,{code:"EPSG:3395",projection:wf,transformation:(function(){var l=.5/(Math.PI*wf.R);return Jt(l,.5,-l,.5)})()}),ix=n({},ai,{code:"EPSG:4326",projection:yf,transformation:Jt(1/180,1,-1/180,.5)}),nx=n({},Rt,{projection:yf,transformation:Jt(1,0,-1,0),scale:function(l){return Math.pow(2,l)},zoom:function(l){return Math.log(l)/Math.LN2},distance:function(l,h){var x=h.lng-l.lng,E=h.lat-l.lat;return Math.sqrt(x*x+E*E)},infinite:!0});Rt.Earth=ai,Rt.EPSG3395=tx,Rt.EPSG3857=di,Rt.EPSG900913=ci,Rt.EPSG4326=ix,Rt.Simple=nx;var ir=Pe.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(l){return l.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(l){return l&&l.removeLayer(this),this},getPane:function(l){return this._map.getPane(l?this.options[l]||l:this.options.pane)},addInteractiveTarget:function(l){return this._map._targets[d(l)]=this,this},removeInteractiveTarget:function(l){return delete this._map._targets[d(l)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(l){var h=l.target;if(h.hasLayer(this)){if(this._map=h,this._zoomAnimated=h._zoomAnimated,this.getEvents){var x=this.getEvents();h.on(x,this),this.once("remove",function(){h.off(x,this)},this)}this.onAdd(h),this.fire("add"),h.fire("layeradd",{layer:this})}}});zi.include({addLayer:function(l){if(!l._layerAdd)throw new Error("The provided object is not a Layer.");var h=d(l);return this._layers[h]?this:(this._layers[h]=l,l._mapToAdd=this,l.beforeAdd&&l.beforeAdd(this),this.whenReady(l._layerAdd,l),this)},removeLayer:function(l){var h=d(l);return this._layers[h]?(this._loaded&&l.onRemove(this),delete this._layers[h],this._loaded&&(this.fire("layerremove",{layer:l}),l.fire("remove")),l._map=l._mapToAdd=null,this):this},hasLayer:function(l){return d(l)in this._layers},eachLayer:function(l,h){for(var x in this._layers)l.call(h,this._layers[x]);return this},_addLayers:function(l){l=l?M(l)?l:[l]:[];for(var h=0,x=l.length;h<x;h++)this.addLayer(l[h])},_addZoomLimit:function(l){(!isNaN(l.options.maxZoom)||!isNaN(l.options.minZoom))&&(this._zoomBoundLayers[d(l)]=l,this._updateZoomLevels())},_removeZoomLimit:function(l){var h=d(l);this._zoomBoundLayers[h]&&(delete this._zoomBoundLayers[h],this._updateZoomLevels())},_updateZoomLevels:function(){var l=1/0,h=-1/0,x=this._getZoomSpan();for(var E in this._zoomBoundLayers){var k=this._zoomBoundLayers[E].options;l=k.minZoom===void 0?l:Math.min(l,k.minZoom),h=k.maxZoom===void 0?h:Math.max(h,k.maxZoom)}this._layersMaxZoom=h===-1/0?void 0:h,this._layersMinZoom=l===1/0?void 0:l,x!==this._getZoomSpan()&&this.fire("zoomlevelschange"),this.options.maxZoom===void 0&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var Ja=ir.extend({initialize:function(l,h){y(this,h),this._layers={};var x,E;if(l)for(x=0,E=l.length;x<E;x++)this.addLayer(l[x])},addLayer:function(l){var h=this.getLayerId(l);return this._layers[h]=l,this._map&&this._map.addLayer(l),this},removeLayer:function(l){var h=l in this._layers?l:this.getLayerId(l);return this._map&&this._layers[h]&&this._map.removeLayer(this._layers[h]),delete this._layers[h],this},hasLayer:function(l){var h=typeof l=="number"?l:this.getLayerId(l);return h in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(l){var h=Array.prototype.slice.call(arguments,1),x,E;for(x in this._layers)E=this._layers[x],E[l]&&E[l].apply(E,h);return this},onAdd:function(l){this.eachLayer(l.addLayer,l)},onRemove:function(l){this.eachLayer(l.removeLayer,l)},eachLayer:function(l,h){for(var x in this._layers)l.call(h,this._layers[x]);return this},getLayer:function(l){return this._layers[l]},getLayers:function(){var l=[];return this.eachLayer(l.push,l),l},setZIndex:function(l){return this.invoke("setZIndex",l)},getLayerId:function(l){return d(l)}}),sx=function(l,h){return new Ja(l,h)},jr=Ja.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),Ja.prototype.addLayer.call(this,l),this.fire("layeradd",{layer:l}))},removeLayer:function(l){return this.hasLayer(l)?(l in this._layers&&(l=this._layers[l]),l.removeEventParent(this),Ja.prototype.removeLayer.call(this,l),this.fire("layerremove",{layer:l})):this},setStyle:function(l){return this.invoke("setStyle",l)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var l=new Mt;for(var h in this._layers){var x=this._layers[h];l.extend(x.getBounds?x.getBounds():x.getLatLng())}return l}}),ox=function(l,h){return new jr(l,h)},ql=re.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(l){y(this,l)},createIcon:function(l){return this._createIcon("icon",l)},createShadow:function(l){return this._createIcon("shadow",l)},_createIcon:function(l,h){var x=this._getIconUrl(l);if(!x){if(l==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var E=this._createImg(x,h&&h.tagName==="IMG"?h:null);return this._setIconStyles(E,l),(this.options.crossOrigin||this.options.crossOrigin==="")&&(E.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),E},_setIconStyles:function(l,h){var x=this.options,E=x[h+"Size"];typeof E=="number"&&(E=[E,E]);var k=ze(E),O=ze(h==="shadow"&&x.shadowAnchor||x.iconAnchor||k&&k.divideBy(2,!0));l.className="leaflet-marker-"+h+" "+(x.className||""),O&&(l.style.marginLeft=-O.x+"px",l.style.marginTop=-O.y+"px"),k&&(l.style.width=k.x+"px",l.style.height=k.y+"px")},_createImg:function(l,h){return h=h||document.createElement("img"),h.src=l,h},_getIconUrl:function(l){return ke.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function rx(l){return new ql(l)}var Gl=ql.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(l){return typeof Gl.imagePath!="string"&&(Gl.imagePath=this._detectIconPath()),(this.options.imagePath||Gl.imagePath)+ql.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var h=function(x,E,k){var O=E.exec(x);return O&&O[k]};return l=h(l,/^url\((['"])?(.+)\1\)$/,2),l&&h(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=ne("div","leaflet-default-icon-path",document.body),h=ie(l,"background-image")||ie(l,"backgroundImage");if(document.body.removeChild(l),h=this._stripUrl(h),h)return h;var x=document.querySelector('link[href$="leaflet.css"]');return x?x.href.substring(0,x.href.length-11-1):""}}),od=ro.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new tr(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),Me(l,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&lt(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(l){var h=this._marker,x=h._map,E=this._marker.options.autoPanSpeed,k=this._marker.options.autoPanPadding,O=St(h._icon),ee=x.getPixelBounds(),me=x.getPixelOrigin(),be=ht(ee.min._subtract(me).add(k),ee.max._subtract(me).subtract(k));if(!be.contains(O)){var wt=ze((Math.max(be.max.x,O.x)-be.max.x)/(ee.max.x-be.max.x)-(Math.min(be.min.x,O.x)-be.min.x)/(ee.min.x-be.min.x),(Math.max(be.max.y,O.y)-be.max.y)/(ee.max.y-be.max.y)-(Math.min(be.min.y,O.y)-be.min.y)/(ee.min.y-be.min.y)).multiplyBy(E);x.panBy(wt,{animate:!1}),this._draggable._newPos._add(wt),this._draggable._startPos._add(wt),He(h._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=J(this._adjustPan.bind(this,l))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(l){this._marker.options.autoPan&&(de(this._panRequest),this._panRequest=J(this._adjustPan.bind(this,l)))},_onDrag:function(l){var h=this._marker,x=h._shadow,E=St(h._icon),k=h._map.layerPointToLatLng(E);x&&He(x,E),h._latlng=k,l.latlng=k,l.oldLatLng=this._oldLatLng,h.fire("move",l).fire("drag",l)},_onDragEnd:function(l){de(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),lh=ir.extend({options:{icon:new Gl,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(l,h){y(this,h),this._latlng=Ce(l)},onAdd:function(l){this._zoomAnimated=this._zoomAnimated&&l.options.markerZoomAnimation,this._zoomAnimated&&l.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(l){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&l.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(l){var h=this._latlng;return this._latlng=Ce(l),this.update(),this.fire("move",{oldLatLng:h,latlng:this._latlng})},setZIndexOffset:function(l){return this.options.zIndexOffset=l,this.update()},getIcon:function(){return this.options.icon},setIcon:function(l){return this.options.icon=l,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var l=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(l)}return this},_initIcon:function(){var l=this.options,h="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),x=l.icon.createIcon(this._icon),E=!1;x!==this._icon&&(this._icon&&this._removeIcon(),E=!0,l.title&&(x.title=l.title),x.tagName==="IMG"&&(x.alt=l.alt||"")),Me(x,h),l.keyboard&&(x.tabIndex="0",x.setAttribute("role","button")),this._icon=x,l.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Ct(x,"focus",this._panOnFocus,this);var k=l.icon.createShadow(this._shadow),O=!1;k!==this._shadow&&(this._removeShadow(),O=!0),k&&(Me(k,h),k.alt=""),this._shadow=k,l.opacity<1&&this._updateOpacity(),E&&this.getPane().appendChild(this._icon),this._initInteraction(),k&&O&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Mi(this._icon,"focus",this._panOnFocus,this),le(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&le(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&He(this._icon,l),this._shadow&&He(this._shadow,l),this._zIndex=l.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(l){this._icon&&(this._icon.style.zIndex=this._zIndex+l)},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center).round();this._setPos(h)},_initInteraction:function(){if(this.options.interactive&&(Me(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),od)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new od(this),l&&this.dragging.enable()}},setOpacity:function(l){return this.options.opacity=l,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var l=this.options.opacity;this._icon&&ce(this._icon,l),this._shadow&&ce(this._shadow,l)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var l=this._map;if(l){var h=this.options.icon.options,x=h.iconSize?ze(h.iconSize):ze(0,0),E=h.iconAnchor?ze(h.iconAnchor):ze(0,0);l.panInside(this._latlng,{paddingTopLeft:E,paddingBottomRight:x.subtract(E)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function ax(l,h){return new lh(l,h)}var xa=ir.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(l){this._renderer=l.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(l){return y(this,l),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&l&&Object.prototype.hasOwnProperty.call(l,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),ch=xa.extend({options:{fill:!0,radius:10},initialize:function(l,h){y(this,h),this._latlng=Ce(l),this._radius=this.options.radius},setLatLng:function(l){var h=this._latlng;return this._latlng=Ce(l),this.redraw(),this.fire("move",{oldLatLng:h,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(l){return this.options.radius=this._radius=l,this.redraw()},getRadius:function(){return this._radius},setStyle:function(l){var h=l&&l.radius||this._radius;return xa.prototype.setStyle.call(this,l),this.setRadius(h),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var l=this._radius,h=this._radiusY||l,x=this._clickTolerance(),E=[l+x,h+x];this._pxBounds=new ve(this._point.subtract(E),this._point.add(E))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(l){return l.distanceTo(this._point)<=this._radius+this._clickTolerance()}});function lx(l,h){return new ch(l,h)}var Sf=ch.extend({initialize:function(l,h,x){if(typeof h=="number"&&(h=n({},x,{radius:h})),y(this,h),this._latlng=Ce(l),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(l){return this._mRadius=l,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var l=[this._radius,this._radiusY||this._radius];return new Mt(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:xa.prototype.setStyle,_project:function(){var l=this._latlng.lng,h=this._latlng.lat,x=this._map,E=x.options.crs;if(E.distance===ai.distance){var k=Math.PI/180,O=this._mRadius/ai.R/k,ee=x.project([h+O,l]),me=x.project([h-O,l]),be=ee.add(me).divideBy(2),wt=x.unproject(be).lat,fi=Math.acos((Math.cos(O*k)-Math.sin(h*k)*Math.sin(wt*k))/(Math.cos(h*k)*Math.cos(wt*k)))/k;(isNaN(fi)||fi===0)&&(fi=O/Math.cos(Math.PI/180*h)),this._point=be.subtract(x.getPixelOrigin()),this._radius=isNaN(fi)?0:be.x-x.project([wt,l-fi]).x,this._radiusY=be.y-ee.y}else{var Yi=E.unproject(E.project(this._latlng).subtract([this._mRadius,0]));this._point=x.latLngToLayerPoint(this._latlng),this._radius=this._point.x-x.latLngToLayerPoint(Yi).x}this._updateBounds()}});function Df(l,h,x){return new Sf(l,h,x)}var pr=xa.extend({options:{smoothFactor:1,noClip:!1},initialize:function(l,h){y(this,h),this._setLatLngs(l)},getLatLngs:function(){return this._latlngs},setLatLngs:function(l){return this._setLatLngs(l),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(l){for(var h=1/0,x=null,E=nd,k,O,ee=0,me=this._parts.length;ee<me;ee++)for(var be=this._parts[ee],wt=1,fi=be.length;wt<fi;wt++){k=be[wt-1],O=be[wt];var Yi=E(l,k,O,!0);Yi<h&&(h=Yi,x=E(l,k,O))}return x&&(x.distance=Math.sqrt(h)),x},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return Ef(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,h){return h=h||this._defaultShape(),l=Ce(l),h.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new Mt,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return Bo(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var h=[],x=Bo(l),E=0,k=l.length;E<k;E++)x?(h[E]=Ce(l[E]),this._bounds.extend(h[E])):h[E]=this._convertLatLngs(l[E]);return h},_project:function(){var l=new ve;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,l),this._bounds.isValid()&&l.isValid()&&(this._rawPxBounds=l,this._updateBounds())},_updateBounds:function(){var l=this._clickTolerance(),h=new xe(l,l);this._rawPxBounds&&(this._pxBounds=new ve([this._rawPxBounds.min.subtract(h),this._rawPxBounds.max.add(h)]))},_projectLatlngs:function(l,h,x){var E=l[0]instanceof yt,k=l.length,O,ee;if(E){for(ee=[],O=0;O<k;O++)ee[O]=this._map.latLngToLayerPoint(l[O]),x.extend(ee[O]);h.push(ee)}else for(O=0;O<k;O++)this._projectLatlngs(l[O],h,x)},_clipPoints:function(){var l=this._renderer._bounds;if(this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}var h=this._parts,x,E,k,O,ee,me,be;for(x=0,k=0,O=this._rings.length;x<O;x++)for(be=this._rings[x],E=0,ee=be.length;E<ee-1;E++)me=Cf(be[E],be[E+1],l,E,!0),me&&(h[k]=h[k]||[],h[k].push(me[0]),(me[1]!==be[E+1]||E===ee-2)&&(h[k].push(me[1]),k++))}},_simplifyPoints:function(){for(var l=this._parts,h=this.options.smoothFactor,x=0,E=l.length;x<E;x++)l[x]=ed(l[x],h)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(l,h){var x,E,k,O,ee,me,be=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(x=0,O=this._parts.length;x<O;x++)for(me=this._parts[x],E=0,ee=me.length,k=ee-1;E<ee;k=E++)if(!(!h&&E===0)&&ah(l,me[k],me[E])<=be)return!0;return!1}});function Mb(l,h){return new pr(l,h)}pr._flat=ex;var el=pr.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return jl(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var h=pr.prototype._convertLatLngs.call(this,l),x=h.length;return x>=2&&h[0]instanceof yt&&h[0].equals(h[x-1])&&h.pop(),h},_setLatLngs:function(l){pr.prototype._setLatLngs.call(this,l),Bo(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Bo(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,h=this.options.weight,x=new xe(h,h);if(l=new ve(l.min.subtract(x),l.max.add(x)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}for(var E=0,k=this._rings.length,O;E<k;E++)O=Jc(this._rings[E],l,!0),O.length&&this._parts.push(O)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var h=!1,x,E,k,O,ee,me,be,wt;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(O=0,be=this._parts.length;O<be;O++)for(x=this._parts[O],ee=0,wt=x.length,me=wt-1;ee<wt;me=ee++)E=x[ee],k=x[me],E.y>l.y!=k.y>l.y&&l.x<(k.x-E.x)*(l.y-E.y)/(k.y-E.y)+E.x&&(h=!h);return h||pr.prototype._containsPoint.call(this,l,!0)}});function cx(l,h){return new el(l,h)}var xr=jr.extend({initialize:function(l,h){y(this,h),this._layers={},l&&this.addData(l)},addData:function(l){var h=M(l)?l:l.features,x,E,k;if(h){for(x=0,E=h.length;x<E;x++)k=h[x],(k.geometries||k.geometry||k.features||k.coordinates)&&this.addData(k);return this}var O=this.options;if(O.filter&&!O.filter(l))return this;var ee=rd(l,O);return ee?(ee.feature=ad(l),ee.defaultOptions=ee.options,this.resetStyle(ee),O.onEachFeature&&O.onEachFeature(l,ee),this.addLayer(ee)):this},resetStyle:function(l){return l===void 0?this.eachLayer(this.resetStyle,this):(l.options=n({},l.defaultOptions),this._setLayerStyle(l,this.options.style),this)},setStyle:function(l){return this.eachLayer(function(h){this._setLayerStyle(h,l)},this)},_setLayerStyle:function(l,h){l.setStyle&&(typeof h=="function"&&(h=h(l.feature)),l.setStyle(h))}});function rd(l,h){var x=l.type==="Feature"?l.geometry:l,E=x?x.coordinates:null,k=[],O=h&&h.pointToLayer,ee=h&&h.coordsToLatLng||dh,me,be,wt,fi;if(!E&&!x)return null;switch(x.type){case"Point":return me=ee(E),dx(O,l,me,h);case"MultiPoint":for(wt=0,fi=E.length;wt<fi;wt++)me=ee(E[wt]),k.push(dx(O,l,me,h));return new jr(k);case"LineString":case"MultiLineString":return be=uh(E,x.type==="LineString"?0:1,ee),new pr(be,h);case"Polygon":case"MultiPolygon":return be=uh(E,x.type==="Polygon"?1:2,ee),new el(be,h);case"GeometryCollection":for(wt=0,fi=x.geometries.length;wt<fi;wt++){var Yi=rd({geometry:x.geometries[wt],type:"Feature",properties:l.properties},h);Yi&&k.push(Yi)}return new jr(k);case"FeatureCollection":for(wt=0,fi=x.features.length;wt<fi;wt++){var yi=rd(x.features[wt],h);yi&&k.push(yi)}return new jr(k);default:throw new Error("Invalid GeoJSON object.")}}function dx(l,h,x,E){return l?l(h,x):new lh(x,E&&E.markersInheritOptions&&E)}function dh(l){return new yt(l[1],l[0],l[2])}function uh(l,h,x){for(var E=[],k=0,O=l.length,ee;k<O;k++)ee=h?uh(l[k],h-1,x):(x||dh)(l[k]),E.push(ee);return E}function Af(l,h){return l=Ce(l),l.alt!==void 0?[p(l.lng,h),p(l.lat,h),p(l.alt,h)]:[p(l.lng,h),p(l.lat,h)]}function hh(l,h,x,E){for(var k=[],O=0,ee=l.length;O<ee;O++)k.push(h?hh(l[O],Bo(l[O])?0:h-1,x,E):Af(l[O],E));return!h&&x&&k.length>0&&k.push(k[0].slice()),k}function ma(l,h){return l.feature?n({},l.feature,{geometry:h}):ad(h)}function ad(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var fh={toGeoJSON:function(l){return ma(this,{type:"Point",coordinates:Af(this.getLatLng(),l)})}};lh.include(fh),Sf.include(fh),ch.include(fh),pr.include({toGeoJSON:function(l){var h=!Bo(this._latlngs),x=hh(this._latlngs,h?1:0,!1,l);return ma(this,{type:(h?"Multi":"")+"LineString",coordinates:x})}}),el.include({toGeoJSON:function(l){var h=!Bo(this._latlngs),x=h&&!Bo(this._latlngs[0]),E=hh(this._latlngs,x?2:h?1:0,!0,l);return h||(E=[E]),ma(this,{type:(x?"Multi":"")+"Polygon",coordinates:E})}}),Ja.include({toMultiPoint:function(l){var h=[];return this.eachLayer(function(x){h.push(x.toGeoJSON(l).geometry.coordinates)}),ma(this,{type:"MultiPoint",coordinates:h})},toGeoJSON:function(l){var h=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(h==="MultiPoint")return this.toMultiPoint(l);var x=h==="GeometryCollection",E=[];return this.eachLayer(function(k){if(k.toGeoJSON){var O=k.toGeoJSON(l);if(x)E.push(O.geometry);else{var ee=ad(O);ee.type==="FeatureCollection"?E.push.apply(E,ee.features):E.push(ee)}}}),x?ma(this,{geometries:E,type:"GeometryCollection"}):{type:"FeatureCollection",features:E}}});function kf(l,h){return new xr(l,h)}var Rb=kf,ld=ir.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,h,x){this._url=l,this._bounds=ot(h),y(this,x)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Me(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){le(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(l){return this.options.opacity=l,this._image&&this._updateOpacity(),this},setStyle:function(l){return l.opacity&&this.setOpacity(l.opacity),this},bringToFront:function(){return this._map&&Fe(this._image),this},bringToBack:function(){return this._map&&_e(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=ot(l),this._map&&this._reset(),this},getEvents:function(){var l={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var l=this._url.tagName==="IMG",h=this._image=l?this._url:ne("img");if(Me(h,"leaflet-image-layer"),this._zoomAnimated&&Me(h,"leaflet-zoom-animated"),this.options.className&&Me(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onload=r(this.fire,this,"load"),h.onerror=r(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(h.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),l){this._url=h.src;return}h.src=this._url,h.alt=this.options.alt},_animateZoom:function(l){var h=this._map.getZoomScale(l.zoom),x=this._map._latLngBoundsToNewLayerBounds(this._bounds,l.zoom,l.center).min;Le(this._image,x,h)},_reset:function(){var l=this._image,h=new ve(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),x=h.getSize();He(l,h.min),l.style.width=x.x+"px",l.style.height=x.y+"px"},_updateOpacity:function(){ce(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var l=this.options.errorOverlayUrl;l&&this._url!==l&&(this._url=l,this._image.src=l)},getCenter:function(){return this._bounds.getCenter()}}),Bf=function(l,h,x){return new ld(l,h,x)},Ff=ld.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var l=this._url.tagName==="VIDEO",h=this._image=l?this._url:ne("video");if(Me(h,"leaflet-image-layer"),this._zoomAnimated&&Me(h,"leaflet-zoom-animated"),this.options.className&&Me(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onloadeddata=r(this.fire,this,"load"),l){for(var x=h.getElementsByTagName("source"),E=[],k=0;k<x.length;k++)E.push(x[k].src);this._url=x.length>0?E:[h.src];return}M(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(h.style,"objectFit")&&(h.style.objectFit="fill"),h.autoplay=!!this.options.autoplay,h.loop=!!this.options.loop,h.muted=!!this.options.muted,h.playsInline=!!this.options.playsInline;for(var O=0;O<this._url.length;O++){var ee=ne("source");ee.src=this._url[O],h.appendChild(ee)}}});function Nb(l,h,x){return new Ff(l,h,x)}var ux=ld.extend({_initImage:function(){var l=this._image=this._url;Me(l,"leaflet-image-layer"),this._zoomAnimated&&Me(l,"leaflet-zoom-animated"),this.options.className&&Me(l,this.options.className),l.onselectstart=g,l.onmousemove=g}});function Ob(l,h,x){return new ux(l,h,x)}var mr=ir.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,h){l&&(l instanceof yt||M(l))?(this._latlng=Ce(l),y(this,h)):(y(this,l),this._source=h),this.options.content&&(this._content=this.options.content)},openOn:function(l){return l=arguments.length?l:this._source._map,l.hasLayer(this)||l.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(l){return this._map?this.close():(arguments.length?this._source=l:l=this._source,this._prepareOpen(),this.openOn(l._map)),this},onAdd:function(l){this._zoomAnimated=l._zoomAnimated,this._container||this._initLayout(),l._fadeAnimated&&ce(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&ce(this._container,1),this.bringToFront(),this.options.interactive&&(Me(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(ce(this._container,0),this._removeTimeout=setTimeout(r(le,void 0,this._container),200)):le(this._container),this.options.interactive&&(lt(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=Ce(l),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(l){return this._content=l,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var l={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&Fe(this._container),this},bringToBack:function(){return this._map&&_e(this._container),this},_prepareOpen:function(l){var h=this._source;if(!h._map)return!1;if(h instanceof jr){h=null;var x=this._source._layers;for(var E in x)if(x[E]._map){h=x[E];break}if(!h)return!1;this._source=h}if(!l)if(h.getCenter)l=h.getCenter();else if(h.getLatLng)l=h.getLatLng();else if(h.getBounds)l=h.getBounds().getCenter();else throw new Error("Unable to get source layer LatLng.");return this.setLatLng(l),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var l=this._contentNode,h=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof h=="string")l.innerHTML=h;else{for(;l.hasChildNodes();)l.removeChild(l.firstChild);l.appendChild(h)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var l=this._map.latLngToLayerPoint(this._latlng),h=ze(this.options.offset),x=this._getAnchor();this._zoomAnimated?He(this._container,l.add(x)):h=h.add(l).add(x);var E=this._containerBottom=-h.y,k=this._containerLeft=-Math.round(this._containerWidth/2)+h.x;this._container.style.bottom=E+"px",this._container.style.left=k+"px"}},_getAnchor:function(){return[0,0]}});zi.include({_initOverlay:function(l,h,x,E){var k=h;return k instanceof l||(k=new l(E).setContent(h)),x&&k.setLatLng(x),k}}),ir.include({_initOverlay:function(l,h,x,E){var k=x;return k instanceof l?(y(k,E),k._source=this):(k=h&&!E?h:new l(E,this),k.setContent(x)),k}});var gh=mr.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(l){return l=arguments.length?l:this._source._map,!l.hasLayer(this)&&l._popup&&l._popup.options.autoClose&&l.removeLayer(l._popup),l._popup=this,mr.prototype.openOn.call(this,l)},onAdd:function(l){mr.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof xa||this._source.on("preclick",kt))},onRemove:function(l){mr.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof xa||this._source.off("preclick",kt))},getEvents:function(){var l=mr.prototype.getEvents.call(this);return(this.options.closeOnClick!==void 0?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(l.preclick=this.close),this.options.keepInView&&(l.moveend=this._adjustPan),l},_initLayout:function(){var l="leaflet-popup",h=this._container=ne("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),x=this._wrapper=ne("div",l+"-content-wrapper",h);if(this._contentNode=ne("div",l+"-content",x),oi(h),Wt(this._contentNode),Ct(h,"contextmenu",kt),this._tipContainer=ne("div",l+"-tip-container",h),this._tip=ne("div",l+"-tip",this._tipContainer),this.options.closeButton){var E=this._closeButton=ne("a",l+"-close-button",h);E.setAttribute("role","button"),E.setAttribute("aria-label","Close popup"),E.href="#close",E.innerHTML='<span aria-hidden="true">&#215;</span>',Ct(E,"click",function(k){vi(k),this.close()},this)}},_updateLayout:function(){var l=this._contentNode,h=l.style;h.width="",h.whiteSpace="nowrap";var x=l.offsetWidth;x=Math.min(x,this.options.maxWidth),x=Math.max(x,this.options.minWidth),h.width=x+1+"px",h.whiteSpace="",h.height="";var E=l.offsetHeight,k=this.options.maxHeight,O="leaflet-popup-scrolled";k&&E>k?(h.height=k+"px",Me(l,O)):lt(l,O),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),x=this._getAnchor();He(this._container,h.add(x))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var l=this._map,h=parseInt(ie(this._container,"marginBottom"),10)||0,x=this._container.offsetHeight+h,E=this._containerWidth,k=new xe(this._containerLeft,-x-this._containerBottom);k._add(St(this._container));var O=l.layerPointToContainerPoint(k),ee=ze(this.options.autoPanPadding),me=ze(this.options.autoPanPaddingTopLeft||ee),be=ze(this.options.autoPanPaddingBottomRight||ee),wt=l.getSize(),fi=0,Yi=0;O.x+E+be.x>wt.x&&(fi=O.x+E-wt.x+be.x),O.x-fi-me.x<0&&(fi=O.x-me.x),O.y+x+be.y>wt.y&&(Yi=O.y+x-wt.y+be.y),O.y-Yi-me.y<0&&(Yi=O.y-me.y),(fi||Yi)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([fi,Yi]))}},_getAnchor:function(){return ze(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),Hb=function(l,h){return new gh(l,h)};zi.mergeOptions({closePopupOnClick:!0}),zi.include({openPopup:function(l,h,x){return this._initOverlay(gh,l,h,x).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),ir.include({bindPopup:function(l,h){return this._popup=this._initOverlay(gh,this._popup,l,h),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(l){return this._popup&&(this instanceof jr||(this._popup._source=this),this._popup._prepareOpen(l||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(l){return this._popup&&this._popup.setContent(l),this},getPopup:function(){return this._popup},_openPopup:function(l){if(!(!this._popup||!this._map)){tn(l);var h=l.layer||l.target;if(this._popup._source===h&&!(h instanceof xa)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(l.latlng);return}this._popup._source=h,this.openPopup(l.latlng)}},_movePopup:function(l){this._popup.setLatLng(l.latlng)},_onKeyPress:function(l){l.originalEvent.keyCode===13&&this._openPopup(l)}});var ph=mr.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){mr.prototype.onAdd.call(this,l),this.setOpacity(this.options.opacity),l.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(l){mr.prototype.onRemove.call(this,l),l.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var l=mr.prototype.getEvents.call(this);return this.options.permanent||(l.preclick=this.close),l},_initLayout:function(){var l="leaflet-tooltip",h=l+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=ne("div",h),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+d(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(l){var h,x,E=this._map,k=this._container,O=E.latLngToContainerPoint(E.getCenter()),ee=E.layerPointToContainerPoint(l),me=this.options.direction,be=k.offsetWidth,wt=k.offsetHeight,fi=ze(this.options.offset),Yi=this._getAnchor();me==="top"?(h=be/2,x=wt):me==="bottom"?(h=be/2,x=0):me==="center"?(h=be/2,x=wt/2):me==="right"?(h=0,x=wt/2):me==="left"?(h=be,x=wt/2):ee.x<O.x?(me="right",h=0,x=wt/2):(me="left",h=be+(fi.x+Yi.x)*2,x=wt/2),l=l.subtract(ze(h,x,!0)).add(fi).add(Yi),lt(k,"leaflet-tooltip-right"),lt(k,"leaflet-tooltip-left"),lt(k,"leaflet-tooltip-top"),lt(k,"leaflet-tooltip-bottom"),Me(k,"leaflet-tooltip-"+me),He(k,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&ce(this._container,l)},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(h)},_getAnchor:function(){return ze(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),Wb=function(l,h){return new ph(l,h)};zi.include({openTooltip:function(l,h,x){return this._initOverlay(ph,l,h,x).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),ir.include({bindTooltip:function(l,h){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(ph,this._tooltip,l,h),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(l){if(!(!l&&this._tooltipHandlersAdded)){var h=l?"off":"on",x={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?x.add=this._openTooltip:(x.mouseover=this._openTooltip,x.mouseout=this.closeTooltip,x.click=this._openTooltip,this._map?this._addFocusListeners():x.add=this._addFocusListeners),this._tooltip.options.sticky&&(x.mousemove=this._moveTooltip),this[h](x),this._tooltipHandlersAdded=!l}},openTooltip:function(l){return this._tooltip&&(this instanceof jr||(this._tooltip._source=this),this._tooltip._prepareOpen(l)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(l){return this._tooltip&&this._tooltip.setContent(l),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(l){var h=typeof l.getElement=="function"&&l.getElement();h&&(Ct(h,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),Ct(h,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(l){var h=typeof l.getElement=="function"&&l.getElement();h&&h.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(l){if(!(!this._tooltip||!this._map)){if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var h=this;this._map.once("moveend",function(){h._openOnceFlag=!1,h._openTooltip(l)});return}this._tooltip._source=l.layer||l.target,this.openTooltip(this._tooltip.options.sticky?l.latlng:void 0)}},_moveTooltip:function(l){var h=l.latlng,x,E;this._tooltip.options.sticky&&l.originalEvent&&(x=this._map.mouseEventToContainerPoint(l.originalEvent),E=this._map.containerPointToLayerPoint(x),h=this._map.layerPointToLatLng(E)),this._tooltip.setLatLng(h)}});var G=ql.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(l){var h=l&&l.tagName==="DIV"?l:document.createElement("div"),x=this.options;if(x.html instanceof Element?(tt(h),h.appendChild(x.html)):h.innerHTML=x.html!==!1?x.html:"",x.bgPos){var E=ze(x.bgPos);h.style.backgroundPosition=-E.x+"px "+-E.y+"px"}return this._setIconStyles(h,"icon"),h},createShadow:function(){return null}});function ue(l){return new G(l)}ql.Default=Gl;var ut=ir.extend({options:{tileSize:256,opacity:1,updateWhenIdle:ke.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(l){y(this,l)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(l){l._addZoomLimit(this)},onRemove:function(l){this._removeAllTiles(),le(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(Fe(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(_e(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(l){return this.options.opacity=l,this._updateOpacity(),this},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var l=this._clampZoom(this._map.getZoom());l!==this._tileZoom&&(this._tileZoom=l,this._updateLevels()),this._update()}return this},getEvents:function(){var l={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=u(this._onMoveEnd,this.options.updateInterval,this)),l.move=this._onMove),this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},createTile:function(){return document.createElement("div")},getTileSize:function(){var l=this.options.tileSize;return l instanceof xe?l:new xe(l,l)},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(l){for(var h=this.getPane().children,x=-l(-1/0,1/0),E=0,k=h.length,O;E<k;E++)O=h[E].style.zIndex,h[E]!==this._container&&O&&(x=l(x,+O));isFinite(x)&&(this.options.zIndex=x+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!ke.ielt9){ce(this._container,this.options.opacity);var l=+new Date,h=!1,x=!1;for(var E in this._tiles){var k=this._tiles[E];if(!(!k.current||!k.loaded)){var O=Math.min(1,(l-k.loaded)/200);ce(k.el,O),O<1?h=!0:(k.active?x=!0:this._onOpaqueTile(k),k.active=!0)}}x&&!this._noPrune&&this._pruneTiles(),h&&(de(this._fadeFrame),this._fadeFrame=J(this._updateOpacity,this))}},_onOpaqueTile:g,_initContainer:function(){this._container||(this._container=ne("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var l=this._tileZoom,h=this.options.maxZoom;if(l!==void 0){for(var x in this._levels)x=Number(x),this._levels[x].el.children.length||x===l?(this._levels[x].el.style.zIndex=h-Math.abs(l-x),this._onUpdateLevel(x)):(le(this._levels[x].el),this._removeTilesAtZoom(x),this._onRemoveLevel(x),delete this._levels[x]);var E=this._levels[l],k=this._map;return E||(E=this._levels[l]={},E.el=ne("div","leaflet-tile-container leaflet-zoom-animated",this._container),E.el.style.zIndex=h,E.origin=k.project(k.unproject(k.getPixelOrigin()),l).round(),E.zoom=l,this._setZoomTransform(E,k.getCenter(),k.getZoom()),g(E.el.offsetWidth),this._onCreateLevel(E)),this._level=E,E}},_onUpdateLevel:g,_onRemoveLevel:g,_onCreateLevel:g,_pruneTiles:function(){if(this._map){var l,h,x=this._map.getZoom();if(x>this.options.maxZoom||x<this.options.minZoom){this._removeAllTiles();return}for(l in this._tiles)h=this._tiles[l],h.retain=h.current;for(l in this._tiles)if(h=this._tiles[l],h.current&&!h.active){var E=h.coords;this._retainParent(E.x,E.y,E.z,E.z-5)||this._retainChildren(E.x,E.y,E.z,E.z+2)}for(l in this._tiles)this._tiles[l].retain||this._removeTile(l)}},_removeTilesAtZoom:function(l){for(var h in this._tiles)this._tiles[h].coords.z===l&&this._removeTile(h)},_removeAllTiles:function(){for(var l in this._tiles)this._removeTile(l)},_invalidateAll:function(){for(var l in this._levels)le(this._levels[l].el),this._onRemoveLevel(Number(l)),delete this._levels[l];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(l,h,x,E){var k=Math.floor(l/2),O=Math.floor(h/2),ee=x-1,me=new xe(+k,+O);me.z=+ee;var be=this._tileCoordsToKey(me),wt=this._tiles[be];return wt&&wt.active?(wt.retain=!0,!0):(wt&&wt.loaded&&(wt.retain=!0),ee>E?this._retainParent(k,O,ee,E):!1)},_retainChildren:function(l,h,x,E){for(var k=2*l;k<2*l+2;k++)for(var O=2*h;O<2*h+2;O++){var ee=new xe(k,O);ee.z=x+1;var me=this._tileCoordsToKey(ee),be=this._tiles[me];if(be&&be.active){be.retain=!0;continue}else be&&be.loaded&&(be.retain=!0);x+1<E&&this._retainChildren(k,O,x+1,E)}},_resetView:function(l){var h=l&&(l.pinch||l.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),h,h)},_animateZoom:function(l){this._setView(l.center,l.zoom,!0,l.noUpdate)},_clampZoom:function(l){var h=this.options;return h.minNativeZoom!==void 0&&l<h.minNativeZoom?h.minNativeZoom:h.maxNativeZoom!==void 0&&h.maxNativeZoom<l?h.maxNativeZoom:l},_setView:function(l,h,x,E){var k=Math.round(h);this.options.maxZoom!==void 0&&k>this.options.maxZoom||this.options.minZoom!==void 0&&k<this.options.minZoom?k=void 0:k=this._clampZoom(k);var O=this.options.updateWhenZooming&&k!==this._tileZoom;(!E||O)&&(this._tileZoom=k,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),k!==void 0&&this._update(l),x||this._pruneTiles(),this._noPrune=!!x),this._setZoomTransforms(l,h)},_setZoomTransforms:function(l,h){for(var x in this._levels)this._setZoomTransform(this._levels[x],l,h)},_setZoomTransform:function(l,h,x){var E=this._map.getZoomScale(x,l.zoom),k=l.origin.multiplyBy(E).subtract(this._map._getNewPixelOrigin(h,x)).round();ke.any3d?Le(l.el,k,E):He(l.el,k)},_resetGrid:function(){var l=this._map,h=l.options.crs,x=this._tileSize=this.getTileSize(),E=this._tileZoom,k=this._map.getPixelWorldBounds(this._tileZoom);k&&(this._globalTileRange=this._pxBoundsToTileRange(k)),this._wrapX=h.wrapLng&&!this.options.noWrap&&[Math.floor(l.project([0,h.wrapLng[0]],E).x/x.x),Math.ceil(l.project([0,h.wrapLng[1]],E).x/x.y)],this._wrapY=h.wrapLat&&!this.options.noWrap&&[Math.floor(l.project([h.wrapLat[0],0],E).y/x.x),Math.ceil(l.project([h.wrapLat[1],0],E).y/x.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(l){var h=this._map,x=h._animatingZoom?Math.max(h._animateToZoom,h.getZoom()):h.getZoom(),E=h.getZoomScale(x,this._tileZoom),k=h.project(l,this._tileZoom).floor(),O=h.getSize().divideBy(E*2);return new ve(k.subtract(O),k.add(O))},_update:function(l){var h=this._map;if(h){var x=this._clampZoom(h.getZoom());if(l===void 0&&(l=h.getCenter()),this._tileZoom!==void 0){var E=this._getTiledPixelBounds(l),k=this._pxBoundsToTileRange(E),O=k.getCenter(),ee=[],me=this.options.keepBuffer,be=new ve(k.getBottomLeft().subtract([me,-me]),k.getTopRight().add([me,-me]));if(!(isFinite(k.min.x)&&isFinite(k.min.y)&&isFinite(k.max.x)&&isFinite(k.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var wt in this._tiles){var fi=this._tiles[wt].coords;(fi.z!==this._tileZoom||!be.contains(new xe(fi.x,fi.y)))&&(this._tiles[wt].current=!1)}if(Math.abs(x-this._tileZoom)>1){this._setView(l,x);return}for(var Yi=k.min.y;Yi<=k.max.y;Yi++)for(var yi=k.min.x;yi<=k.max.x;yi++){var pn=new xe(yi,Yi);if(pn.z=this._tileZoom,!!this._isValidTile(pn)){var Rn=this._tiles[this._tileCoordsToKey(pn)];Rn?Rn.current=!0:ee.push(pn)}}if(ee.sort(function(Os,$r){return Os.distanceTo(O)-$r.distanceTo(O)}),ee.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Cs=document.createDocumentFragment();for(yi=0;yi<ee.length;yi++)this._addTile(ee[yi],Cs);this._level.el.appendChild(Cs)}}}},_isValidTile:function(l){var h=this._map.options.crs;if(!h.infinite){var x=this._globalTileRange;if(!h.wrapLng&&(l.x<x.min.x||l.x>x.max.x)||!h.wrapLat&&(l.y<x.min.y||l.y>x.max.y))return!1}if(!this.options.bounds)return!0;var E=this._tileCoordsToBounds(l);return ot(this.options.bounds).overlaps(E)},_keyToBounds:function(l){return this._tileCoordsToBounds(this._keyToTileCoords(l))},_tileCoordsToNwSe:function(l){var h=this._map,x=this.getTileSize(),E=l.scaleBy(x),k=E.add(x),O=h.unproject(E,l.z),ee=h.unproject(k,l.z);return[O,ee]},_tileCoordsToBounds:function(l){var h=this._tileCoordsToNwSe(l),x=new Mt(h[0],h[1]);return this.options.noWrap||(x=this._map.wrapLatLngBounds(x)),x},_tileCoordsToKey:function(l){return l.x+":"+l.y+":"+l.z},_keyToTileCoords:function(l){var h=l.split(":"),x=new xe(+h[0],+h[1]);return x.z=+h[2],x},_removeTile:function(l){var h=this._tiles[l];h&&(le(h.el),delete this._tiles[l],this.fire("tileunload",{tile:h.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){Me(l,"leaflet-tile");var h=this.getTileSize();l.style.width=h.x+"px",l.style.height=h.y+"px",l.onselectstart=g,l.onmousemove=g,ke.ielt9&&this.options.opacity<1&&ce(l,this.options.opacity)},_addTile:function(l,h){var x=this._getTilePos(l),E=this._tileCoordsToKey(l),k=this.createTile(this._wrapCoords(l),r(this._tileReady,this,l));this._initTile(k),this.createTile.length<2&&J(r(this._tileReady,this,l,null,k)),He(k,x),this._tiles[E]={el:k,coords:l,current:!0},h.appendChild(k),this.fire("tileloadstart",{tile:k,coords:l})},_tileReady:function(l,h,x){h&&this.fire("tileerror",{error:h,tile:x,coords:l});var E=this._tileCoordsToKey(l);x=this._tiles[E],x&&(x.loaded=+new Date,this._map._fadeAnimated?(ce(x.el,0),de(this._fadeFrame),this._fadeFrame=J(this._updateOpacity,this)):(x.active=!0,this._pruneTiles()),h||(Me(x.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:x.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),ke.ielt9||!this._map._fadeAnimated?J(this._pruneTiles,this):setTimeout(r(this._pruneTiles,this),250)))},_getTilePos:function(l){return l.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(l){var h=new xe(this._wrapX?f(l.x,this._wrapX):l.x,this._wrapY?f(l.y,this._wrapY):l.y);return h.z=l.z,h},_pxBoundsToTileRange:function(l){var h=this.getTileSize();return new ve(l.min.unscaleBy(h).floor(),l.max.unscaleBy(h).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var l in this._tiles)if(!this._tiles[l].loaded)return!1;return!0}});function pt(l){return new ut(l)}var We=ut.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(l,h){this._url=l,h=y(this,h),h.detectRetina&&ke.retina&&h.maxZoom>0?(h.tileSize=Math.floor(h.tileSize/2),h.zoomReverse?(h.zoomOffset--,h.minZoom=Math.min(h.maxZoom,h.minZoom+1)):(h.zoomOffset++,h.maxZoom=Math.max(h.minZoom,h.maxZoom-1)),h.minZoom=Math.max(0,h.minZoom)):h.zoomReverse?h.minZoom=Math.min(h.maxZoom,h.minZoom):h.maxZoom=Math.max(h.minZoom,h.maxZoom),typeof h.subdomains=="string"&&(h.subdomains=h.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(l,h){return this._url===l&&h===void 0&&(h=!0),this._url=l,h||this.redraw(),this},createTile:function(l,h){var x=document.createElement("img");return Ct(x,"load",r(this._tileOnLoad,this,h,x)),Ct(x,"error",r(this._tileOnError,this,h,x)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(x.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(x.referrerPolicy=this.options.referrerPolicy),x.alt="",x.src=this.getTileUrl(l),x},getTileUrl:function(l){var h={r:ke.retina?"@2x":"",s:this._getSubdomain(l),x:l.x,y:l.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var x=this._globalTileRange.max.y-l.y;this.options.tms&&(h.y=x),h["-y"]=x}return P(this._url,n(h,this.options))},_tileOnLoad:function(l,h){ke.ielt9?setTimeout(r(l,this,null,h),0):l(null,h)},_tileOnError:function(l,h,x){var E=this.options.errorTileUrl;E&&h.getAttribute("src")!==E&&(h.src=E),l(x,h)},_onTileRemove:function(l){l.tile.onload=null},_getZoomForUrl:function(){var l=this._tileZoom,h=this.options.maxZoom,x=this.options.zoomReverse,E=this.options.zoomOffset;return x&&(l=h-l),l+E},_getSubdomain:function(l){var h=Math.abs(l.x+l.y)%this.options.subdomains.length;return this.options.subdomains[h]},_abortLoading:function(){var l,h;for(l in this._tiles)if(this._tiles[l].coords.z!==this._tileZoom&&(h=this._tiles[l].el,h.onload=g,h.onerror=g,!h.complete)){h.src=T;var x=this._tiles[l].coords;le(h),delete this._tiles[l],this.fire("tileabort",{tile:h,coords:x})}},_removeTile:function(l){var h=this._tiles[l];if(h)return h.el.setAttribute("src",T),ut.prototype._removeTile.call(this,l)},_tileReady:function(l,h,x){if(!(!this._map||x&&x.getAttribute("src")===T))return ut.prototype._tileReady.call(this,l,h,x)}});function Qt(l,h){return new We(l,h)}var hi=We.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(l,h){this._url=l;var x=n({},this.defaultWmsParams);for(var E in h)E in this.options||(x[E]=h[E]);h=y(this,h);var k=h.detectRetina&&ke.retina?2:1,O=this.getTileSize();x.width=O.x*k,x.height=O.y*k,this.wmsParams=x},onAdd:function(l){this._crs=this.options.crs||l.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var h=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[h]=this._crs.code,We.prototype.onAdd.call(this,l)},getTileUrl:function(l){var h=this._tileCoordsToNwSe(l),x=this._crs,E=ht(x.project(h[0]),x.project(h[1])),k=E.min,O=E.max,ee=(this._wmsVersion>=1.3&&this._crs===ix?[k.y,k.x,O.y,O.x]:[k.x,k.y,O.x,O.y]).join(","),me=We.prototype.getTileUrl.call(this,l);return me+w(this.wmsParams,me,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+ee},setParams:function(l,h){return n(this.wmsParams,l),h||this.redraw(),this}});function sn(l,h){return new hi(l,h)}We.WMS=hi,Qt.wms=sn;var en=ir.extend({options:{padding:.1},initialize:function(l){y(this,l),d(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Me(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var l={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(l.zoomanim=this._onAnimZoom),l},_onAnimZoom:function(l){this._updateTransform(l.center,l.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(l,h){var x=this._map.getZoomScale(h,this._zoom),E=this._map.getSize().multiplyBy(.5+this.options.padding),k=this._map.project(this._center,h),O=E.multiplyBy(-x).add(k).subtract(this._map._getNewPixelOrigin(l,h));ke.any3d?Le(this._container,O,x):He(this._container,O)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var l in this._layers)this._layers[l]._reset()},_onZoomEnd:function(){for(var l in this._layers)this._layers[l]._project()},_updatePaths:function(){for(var l in this._layers)this._layers[l]._update()},_update:function(){var l=this.options.padding,h=this._map.getSize(),x=this._map.containerPointToLayerPoint(h.multiplyBy(-l)).round();this._bounds=new ve(x,x.add(h.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),hn=en.extend({options:{tolerance:0},getEvents:function(){var l=en.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){en.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");Ct(l,"mousemove",this._onMouseMove,this),Ct(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Ct(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){de(this._redrawRequest),delete this._ctx,le(this._container),Mi(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var l;this._redrawBounds=null;for(var h in this._layers)l=this._layers[h],l._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){en.prototype._update.call(this);var l=this._bounds,h=this._container,x=l.getSize(),E=ke.retina?2:1;He(h,l.min),h.width=E*x.x,h.height=E*x.y,h.style.width=x.x+"px",h.style.height=x.y+"px",ke.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){en.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(l){this._updateDashArray(l),this._layers[d(l)]=l;var h=l._order={layer:l,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=h),this._drawLast=h,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(l){this._requestRedraw(l)},_removePath:function(l){var h=l._order,x=h.next,E=h.prev;x?x.prev=E:this._drawLast=E,E?E.next=x:this._drawFirst=x,delete l._order,delete this._layers[d(l)],this._requestRedraw(l)},_updatePath:function(l){this._extendRedrawBounds(l),l._project(),l._update(),this._requestRedraw(l)},_updateStyle:function(l){this._updateDashArray(l),this._requestRedraw(l)},_updateDashArray:function(l){if(typeof l.options.dashArray=="string"){var h=l.options.dashArray.split(/[, ]+/),x=[],E,k;for(k=0;k<h.length;k++){if(E=Number(h[k]),isNaN(E))return;x.push(E)}l.options._dashArray=x}else l.options._dashArray=l.options.dashArray},_requestRedraw:function(l){this._map&&(this._extendRedrawBounds(l),this._redrawRequest=this._redrawRequest||J(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var h=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new ve,this._redrawBounds.extend(l._pxBounds.min.subtract([h,h])),this._redrawBounds.extend(l._pxBounds.max.add([h,h]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var l=this._redrawBounds;if(l){var h=l.getSize();this._ctx.clearRect(l.min.x,l.min.y,h.x,h.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var l,h=this._redrawBounds;if(this._ctx.save(),h){var x=h.getSize();this._ctx.beginPath(),this._ctx.rect(h.min.x,h.min.y,x.x,x.y),this._ctx.clip()}this._drawing=!0;for(var E=this._drawFirst;E;E=E.next)l=E.layer,(!h||l._pxBounds&&l._pxBounds.intersects(h))&&l._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(l,h){if(this._drawing){var x,E,k,O,ee=l._parts,me=ee.length,be=this._ctx;if(me){for(be.beginPath(),x=0;x<me;x++){for(E=0,k=ee[x].length;E<k;E++)O=ee[x][E],be[E?"lineTo":"moveTo"](O.x,O.y);h&&be.closePath()}this._fillStroke(be,l)}}},_updateCircle:function(l){if(!(!this._drawing||l._empty())){var h=l._point,x=this._ctx,E=Math.max(Math.round(l._radius),1),k=(Math.max(Math.round(l._radiusY),1)||E)/E;k!==1&&(x.save(),x.scale(1,k)),x.beginPath(),x.arc(h.x,h.y/k,E,0,Math.PI*2,!1),k!==1&&x.restore(),this._fillStroke(x,l)}},_fillStroke:function(l,h){var x=h.options;x.fill&&(l.globalAlpha=x.fillOpacity,l.fillStyle=x.fillColor||x.color,l.fill(x.fillRule||"evenodd")),x.stroke&&x.weight!==0&&(l.setLineDash&&l.setLineDash(h.options&&h.options._dashArray||[]),l.globalAlpha=x.opacity,l.lineWidth=x.weight,l.strokeStyle=x.color,l.lineCap=x.lineCap,l.lineJoin=x.lineJoin,l.stroke())},_onClick:function(l){for(var h=this._map.mouseEventToLayerPoint(l),x,E,k=this._drawFirst;k;k=k.next)x=k.layer,x.options.interactive&&x._containsPoint(h)&&(!(l.type==="click"||l.type==="preclick")||!this._map._draggableMoved(x))&&(E=x);this._fireEvent(E?[E]:!1,l)},_onMouseMove:function(l){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var h=this._map.mouseEventToLayerPoint(l);this._handleMouseHover(l,h)}},_handleMouseOut:function(l){var h=this._hoveredLayer;h&&(lt(this._container,"leaflet-interactive"),this._fireEvent([h],l,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(l,h){if(!this._mouseHoverThrottled){for(var x,E,k=this._drawFirst;k;k=k.next)x=k.layer,x.options.interactive&&x._containsPoint(h)&&(E=x);E!==this._hoveredLayer&&(this._handleMouseOut(l),E&&(Me(this._container,"leaflet-interactive"),this._fireEvent([E],l,"mouseover"),this._hoveredLayer=E)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,l),this._mouseHoverThrottled=!0,setTimeout(r(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(l,h,x){this._map._fireDOMEvent(h,x||h.type,l)},_bringToFront:function(l){var h=l._order;if(h){var x=h.next,E=h.prev;if(x)x.prev=E;else return;E?E.next=x:x&&(this._drawFirst=x),h.prev=this._drawLast,this._drawLast.next=h,h.next=null,this._drawLast=h,this._requestRedraw(l)}},_bringToBack:function(l){var h=l._order;if(h){var x=h.next,E=h.prev;if(E)E.next=x;else return;x?x.prev=E:E&&(this._drawLast=E),h.prev=null,h.next=this._drawFirst,this._drawFirst.prev=h,this._drawFirst=h,this._requestRedraw(l)}}});function wn(l){return ke.canvas?new hn(l):null}var mn=(function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(l){return document.createElement("<lvml:"+l+' class="lvml">')}}catch{}return function(l){return document.createElement("<"+l+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}})(),Sn={_initContainer:function(){this._container=ne("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(en.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var h=l._container=mn("shape");Me(h,"leaflet-vml-shape "+(this.options.className||"")),h.coordsize="1 1",l._path=mn("path"),h.appendChild(l._path),this._updateStyle(l),this._layers[d(l)]=l},_addPath:function(l){var h=l._container;this._container.appendChild(h),l.options.interactive&&l.addInteractiveTarget(h)},_removePath:function(l){var h=l._container;le(h),l.removeInteractiveTarget(h),delete this._layers[d(l)]},_updateStyle:function(l){var h=l._stroke,x=l._fill,E=l.options,k=l._container;k.stroked=!!E.stroke,k.filled=!!E.fill,E.stroke?(h||(h=l._stroke=mn("stroke")),k.appendChild(h),h.weight=E.weight+"px",h.color=E.color,h.opacity=E.opacity,E.dashArray?h.dashStyle=M(E.dashArray)?E.dashArray.join(" "):E.dashArray.replace(/( *, *)/g," "):h.dashStyle="",h.endcap=E.lineCap.replace("butt","flat"),h.joinstyle=E.lineJoin):h&&(k.removeChild(h),l._stroke=null),E.fill?(x||(x=l._fill=mn("fill")),k.appendChild(x),x.color=E.fillColor||E.color,x.opacity=E.fillOpacity):x&&(k.removeChild(x),l._fill=null)},_updateCircle:function(l){var h=l._point.round(),x=Math.round(l._radius),E=Math.round(l._radiusY||x);this._setPath(l,l._empty()?"M0 0":"AL "+h.x+","+h.y+" "+x+","+E+" 0,"+65535*360)},_setPath:function(l,h){l._path.v=h},_bringToFront:function(l){Fe(l._container)},_bringToBack:function(l){_e(l._container)}},En=ke.vml?mn:xi,Dn=en.extend({_initContainer:function(){this._container=En("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=En("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){le(this._container),Mi(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){en.prototype._update.call(this);var l=this._bounds,h=l.getSize(),x=this._container;(!this._svgSize||!this._svgSize.equals(h))&&(this._svgSize=h,x.setAttribute("width",h.x),x.setAttribute("height",h.y)),He(x,l.min),x.setAttribute("viewBox",[l.min.x,l.min.y,h.x,h.y].join(" ")),this.fire("update")}},_initPath:function(l){var h=l._path=En("path");l.options.className&&Me(h,l.options.className),l.options.interactive&&Me(h,"leaflet-interactive"),this._updateStyle(l),this._layers[d(l)]=l},_addPath:function(l){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(l._path),l.addInteractiveTarget(l._path)},_removePath:function(l){le(l._path),l.removeInteractiveTarget(l._path),delete this._layers[d(l)]},_updatePath:function(l){l._project(),l._update()},_updateStyle:function(l){var h=l._path,x=l.options;h&&(x.stroke?(h.setAttribute("stroke",x.color),h.setAttribute("stroke-opacity",x.opacity),h.setAttribute("stroke-width",x.weight),h.setAttribute("stroke-linecap",x.lineCap),h.setAttribute("stroke-linejoin",x.lineJoin),x.dashArray?h.setAttribute("stroke-dasharray",x.dashArray):h.removeAttribute("stroke-dasharray"),x.dashOffset?h.setAttribute("stroke-dashoffset",x.dashOffset):h.removeAttribute("stroke-dashoffset")):h.setAttribute("stroke","none"),x.fill?(h.setAttribute("fill",x.fillColor||x.color),h.setAttribute("fill-opacity",x.fillOpacity),h.setAttribute("fill-rule",x.fillRule||"evenodd")):h.setAttribute("fill","none"))},_updatePoly:function(l,h){this._setPath(l,_i(l._parts,h))},_updateCircle:function(l){var h=l._point,x=Math.max(Math.round(l._radius),1),E=Math.max(Math.round(l._radiusY),1)||x,k="a"+x+","+E+" 0 1,0 ",O=l._empty()?"M0 0":"M"+(h.x-x)+","+h.y+k+x*2+",0 "+k+-x*2+",0 ";this._setPath(l,O)},_setPath:function(l,h){l._path.setAttribute("d",h)},_bringToFront:function(l){Fe(l._path)},_bringToBack:function(l){_e(l._path)}});ke.vml&&Dn.include(Sn);function us(l){return ke.svg||ke.vml?new Dn(l):null}zi.include({getRenderer:function(l){var h=l.options.renderer||this._getPaneRenderer(l.options.pane)||this.options.renderer||this._renderer;return h||(h=this._renderer=this._createRenderer()),this.hasLayer(h)||this.addLayer(h),h},_getPaneRenderer:function(l){if(l==="overlayPane"||l===void 0)return!1;var h=this._paneRenderers[l];return h===void 0&&(h=this._createRenderer({pane:l}),this._paneRenderers[l]=h),h},_createRenderer:function(l){return this.options.preferCanvas&&wn(l)||us(l)}});var vn=el.extend({initialize:function(l,h){el.prototype.initialize.call(this,this._boundsToLatLngs(l),h)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=ot(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function jn(l,h){return new vn(l,h)}Dn.create=En,Dn.pointsToPath=_i,xr.geometryToLayer=rd,xr.coordsToLatLng=dh,xr.coordsToLatLngs=uh,xr.latLngToCoords=Af,xr.latLngsToCoords=hh,xr.getFeature=ma,xr.asFeature=ad,zi.mergeOptions({boxZoom:!0});var Rs=ro.extend({initialize:function(l){this._map=l,this._container=l._container,this._pane=l._panes.overlayPane,this._resetStateTimeout=0,l.on("unload",this._destroy,this)},addHooks:function(){Ct(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Mi(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){le(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(l){if(!l.shiftKey||l.which!==1&&l.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),gt(),Ne(),this._startPoint=this._map.mouseEventToContainerPoint(l),Ct(document,{contextmenu:tn,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=ne("div","leaflet-zoom-box",this._container),Me(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var h=new ve(this._point,this._startPoint),x=h.getSize();He(this._box,h.min),this._box.style.width=x.x+"px",this._box.style.height=x.y+"px"},_finish:function(){this._moved&&(le(this._box),lt(this._container,"leaflet-crosshair")),Ie(),Ue(),Mi(document,{contextmenu:tn,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(l){if(!(l.which!==1&&l.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(r(this._resetState,this),0);var h=new Mt(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(h).fire("boxzoomend",{boxZoomBounds:h})}},_onKeyDown:function(l){l.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});zi.addInitHook("addHandler","boxZoom",Rs),zi.mergeOptions({doubleClickZoom:!0});var _o=ro.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(l){var h=this._map,x=h.getZoom(),E=h.options.zoomDelta,k=l.originalEvent.shiftKey?x-E:x+E;h.options.doubleClickZoom==="center"?h.setZoom(k):h.setZoomAround(l.containerPoint,k)}});zi.addInitHook("addHandler","doubleClickZoom",_o),zi.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var Ns=ro.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new tr(l._mapPane,l._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),l.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),l.on("zoomend",this._onZoomEnd,this),l.whenReady(this._onZoomEnd,this))}Me(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){lt(this._map._container,"leaflet-grab"),lt(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var l=this._map;if(l._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var h=ot(this._map.options.maxBounds);this._offsetLimit=ht(this._map.latLngToContainerPoint(h.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(h.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;l.fire("movestart").fire("dragstart"),l.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(l){if(this._map.options.inertia){var h=this._lastTime=+new Date,x=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(x),this._times.push(h),this._prunePositions(h)}this._map.fire("move",l).fire("drag",l)},_prunePositions:function(l){for(;this._positions.length>1&&l-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var l=this._map.getSize().divideBy(2),h=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=h.subtract(l).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(l,h){return l-(l-h)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var l=this._draggable._newPos.subtract(this._draggable._startPos),h=this._offsetLimit;l.x<h.min.x&&(l.x=this._viscousLimit(l.x,h.min.x)),l.y<h.min.y&&(l.y=this._viscousLimit(l.y,h.min.y)),l.x>h.max.x&&(l.x=this._viscousLimit(l.x,h.max.x)),l.y>h.max.y&&(l.y=this._viscousLimit(l.y,h.max.y)),this._draggable._newPos=this._draggable._startPos.add(l)}},_onPreDragWrap:function(){var l=this._worldWidth,h=Math.round(l/2),x=this._initialWorldOffset,E=this._draggable._newPos.x,k=(E-h+x)%l+h-x,O=(E+h+x)%l-h-x,ee=Math.abs(k+x)<Math.abs(O+x)?k:O;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=ee},_onDragEnd:function(l){var h=this._map,x=h.options,E=!x.inertia||l.noInertia||this._times.length<2;if(h.fire("dragend",l),E)h.fire("moveend");else{this._prunePositions(+new Date);var k=this._lastPos.subtract(this._positions[0]),O=(this._lastTime-this._times[0])/1e3,ee=x.easeLinearity,me=k.multiplyBy(ee/O),be=me.distanceTo([0,0]),wt=Math.min(x.inertiaMaxSpeed,be),fi=me.multiplyBy(wt/be),Yi=wt/(x.inertiaDeceleration*ee),yi=fi.multiplyBy(-Yi/2).round();!yi.x&&!yi.y?h.fire("moveend"):(yi=h._limitOffset(yi,h.options.maxBounds),J(function(){h.panBy(yi,{duration:Yi,easeLinearity:ee,noMoveStart:!0,animate:!0})}))}}});zi.addInitHook("addHandler","dragging",Ns),zi.mergeOptions({keyboard:!0,keyboardPanDelta:80});var As=ro.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(l){this._map=l,this._setPanDelta(l.options.keyboardPanDelta),this._setZoomDelta(l.options.zoomDelta)},addHooks:function(){var l=this._map._container;l.tabIndex<=0&&(l.tabIndex="0"),Ct(l,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Mi(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var l=document.body,h=document.documentElement,x=l.scrollTop||h.scrollTop,E=l.scrollLeft||h.scrollLeft;this._map._container.focus(),window.scrollTo(E,x)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(l){var h=this._panKeys={},x=this.keyCodes,E,k;for(E=0,k=x.left.length;E<k;E++)h[x.left[E]]=[-1*l,0];for(E=0,k=x.right.length;E<k;E++)h[x.right[E]]=[l,0];for(E=0,k=x.down.length;E<k;E++)h[x.down[E]]=[0,l];for(E=0,k=x.up.length;E<k;E++)h[x.up[E]]=[0,-1*l]},_setZoomDelta:function(l){var h=this._zoomKeys={},x=this.keyCodes,E,k;for(E=0,k=x.zoomIn.length;E<k;E++)h[x.zoomIn[E]]=l;for(E=0,k=x.zoomOut.length;E<k;E++)h[x.zoomOut[E]]=-l},_addHooks:function(){Ct(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Mi(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(l){if(!(l.altKey||l.ctrlKey||l.metaKey)){var h=l.keyCode,x=this._map,E;if(h in this._panKeys){if(!x._panAnim||!x._panAnim._inProgress)if(E=this._panKeys[h],l.shiftKey&&(E=ze(E).multiplyBy(3)),x.options.maxBounds&&(E=x._limitOffset(ze(E),x.options.maxBounds)),x.options.worldCopyJump){var k=x.wrapLatLng(x.unproject(x.project(x.getCenter()).add(E)));x.panTo(k)}else x.panBy(E)}else if(h in this._zoomKeys)x.setZoom(x.getZoom()+(l.shiftKey?3:1)*this._zoomKeys[h]);else if(h===27&&x._popup&&x._popup.options.closeOnEscapeKey)x.closePopup();else return;tn(l)}}});zi.addInitHook("addHandler","keyboard",As),zi.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var hs=ro.extend({addHooks:function(){Ct(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Mi(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var h=An(l),x=this._map.options.wheelDebounceTime;this._delta+=h,this._lastMousePos=this._map.mouseEventToContainerPoint(l),this._startTime||(this._startTime=+new Date);var E=Math.max(x-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(r(this._performZoom,this),E),tn(l)},_performZoom:function(){var l=this._map,h=l.getZoom(),x=this._map.options.zoomSnap||0;l._stop();var E=this._delta/(this._map.options.wheelPxPerZoomLevel*4),k=4*Math.log(2/(1+Math.exp(-Math.abs(E))))/Math.LN2,O=x?Math.ceil(k/x)*x:k,ee=l._limitZoom(h+(this._delta>0?O:-O))-h;this._delta=0,this._startTime=null,ee&&(l.options.scrollWheelZoom==="center"?l.setZoom(h+ee):l.setZoomAround(this._lastMousePos,h+ee))}});zi.addInitHook("addHandler","scrollWheelZoom",hs);var ls=600;zi.mergeOptions({tapHold:ke.touchNative&&ke.safari&&ke.mobile,tapTolerance:15});var Ks=ro.extend({addHooks:function(){Ct(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Mi(this._map._container,"touchstart",this._onDown,this)},_onDown:function(l){if(clearTimeout(this._holdTimeout),l.touches.length===1){var h=l.touches[0];this._startPos=this._newPos=new xe(h.clientX,h.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(Ct(document,"touchend",vi),Ct(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",h))},this),ls),Ct(document,"touchend touchcancel contextmenu",this._cancel,this),Ct(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){Mi(document,"touchend",vi),Mi(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),Mi(document,"touchend touchcancel contextmenu",this._cancel,this),Mi(document,"touchmove",this._onMove,this)},_onMove:function(l){var h=l.touches[0];this._newPos=new xe(h.clientX,h.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(l,h){var x=new MouseEvent(l,{bubbles:!0,cancelable:!0,view:window,screenX:h.screenX,screenY:h.screenY,clientX:h.clientX,clientY:h.clientY});x._simulated=!0,h.target.dispatchEvent(x)}});zi.addInitHook("addHandler","tapHold",Ks),zi.mergeOptions({touchZoom:ke.touch,bounceAtZoomLimits:!0});var Pn=ro.extend({addHooks:function(){Me(this._map._container,"leaflet-touch-zoom"),Ct(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){lt(this._map._container,"leaflet-touch-zoom"),Mi(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(l){var h=this._map;if(!(!l.touches||l.touches.length!==2||h._animatingZoom||this._zooming)){var x=h.mouseEventToContainerPoint(l.touches[0]),E=h.mouseEventToContainerPoint(l.touches[1]);this._centerPoint=h.getSize()._divideBy(2),this._startLatLng=h.containerPointToLatLng(this._centerPoint),h.options.touchZoom!=="center"&&(this._pinchStartLatLng=h.containerPointToLatLng(x.add(E)._divideBy(2))),this._startDist=x.distanceTo(E),this._startZoom=h.getZoom(),this._moved=!1,this._zooming=!0,h._stop(),Ct(document,"touchmove",this._onTouchMove,this),Ct(document,"touchend touchcancel",this._onTouchEnd,this),vi(l)}},_onTouchMove:function(l){if(!(!l.touches||l.touches.length!==2||!this._zooming)){var h=this._map,x=h.mouseEventToContainerPoint(l.touches[0]),E=h.mouseEventToContainerPoint(l.touches[1]),k=x.distanceTo(E)/this._startDist;if(this._zoom=h.getScaleZoom(k,this._startZoom),!h.options.bounceAtZoomLimits&&(this._zoom<h.getMinZoom()&&k<1||this._zoom>h.getMaxZoom()&&k>1)&&(this._zoom=h._limitZoom(this._zoom)),h.options.touchZoom==="center"){if(this._center=this._startLatLng,k===1)return}else{var O=x._add(E)._divideBy(2)._subtract(this._centerPoint);if(k===1&&O.x===0&&O.y===0)return;this._center=h.unproject(h.project(this._pinchStartLatLng,this._zoom).subtract(O),this._zoom)}this._moved||(h._moveStart(!0,!1),this._moved=!0),de(this._animRequest);var ee=r(h._move,h,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=J(ee,this,!0),vi(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,de(this._animRequest),Mi(document,"touchmove",this._onTouchMove,this),Mi(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});zi.addInitHook("addHandler","touchZoom",Pn),zi.BoxZoom=Rs,zi.DoubleClickZoom=_o,zi.Drag=Ns,zi.Keyboard=As,zi.ScrollWheelZoom=hs,zi.TapHold=Ks,zi.TouchZoom=Pn,t.Bounds=ve,t.Browser=ke,t.CRS=Rt,t.Canvas=hn,t.Circle=Sf,t.CircleMarker=ch,t.Class=re,t.Control=Nn,t.DivIcon=G,t.DivOverlay=mr,t.DomEvent=Mn,t.DomUtil=jt,t.Draggable=tr,t.Evented=Pe,t.FeatureGroup=jr,t.GeoJSON=xr,t.GridLayer=ut,t.Handler=ro,t.Icon=ql,t.ImageOverlay=ld,t.LatLng=yt,t.LatLngBounds=Mt,t.Layer=ir,t.LayerGroup=Ja,t.LineUtil=sd,t.Map=zi,t.Marker=lh,t.Mixin=rh,t.Path=xa,t.Point=xe,t.PolyUtil=_f,t.Polygon=el,t.Polyline=pr,t.Popup=gh,t.PosAnimation=os,t.Projection=Tb,t.Rectangle=vn,t.Renderer=en,t.SVG=Dn,t.SVGOverlay=ux,t.TileLayer=We,t.Tooltip=ph,t.Transformation=Dt,t.Util=we,t.VideoOverlay=Ff,t.bind=r,t.bounds=ht,t.canvas=wn,t.circle=Df,t.circleMarker=lx,t.control=Jn,t.divIcon=ue,t.extend=n,t.featureGroup=ox,t.geoJSON=kf,t.geoJson=Rb,t.gridLayer=pt,t.icon=rx,t.imageOverlay=Bf,t.latLng=Ce,t.latLngBounds=ot,t.layerGroup=sx,t.map=Gs,t.marker=ax,t.point=ze,t.polygon=cx,t.polyline=Mb,t.popup=Hb,t.rectangle=jn,t.setOptions=y,t.stamp=d,t.svg=us,t.svgOverlay=Ob,t.tileLayer=Qt,t.tooltip=Wb,t.transformation=Jt,t.version=i,t.videoOverlay=Nb;var ps=window.L;t.noConflict=function(){return window.L=ps,this},window.L=t}))})(sg,sg.exports)),sg.exports}var lZ=aZ();const zf=dS(lZ),cZ="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=",dZ="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABSCAMAAAAhFXfZAAAC91BMVEVMaXEzeak2f7I4g7g3g7cua5gzeKg8hJo3grY4g7c3grU0gLI2frE0daAubJc2gbQwd6QzeKk2gLMtd5sxdKIua5g1frA2f7IydaM0e6w2fq41fK01eqo3grgubJgta5cxdKI1f7AydaQydaMxc6EubJgvbJkwcZ4ubZkwcJwubZgubJcydqUydKIxapgubJctbJcubZcubJcvbJYubJcvbZkubJctbJctbZcubJg2f7AubJcrbZcubJcubJcua5g3grY0fq8ubJcubJdEkdEwhsw6i88vhswuhcsuhMtBjMgthMsrg8srgss6is8qgcs8i9A9iMYtg8spgcoogMo7hcMngMonf8olfso4gr8kfck5iM8jfMk4iM8he8k1fro7itAgesk2hs8eecgzfLcofssdeMg0hc4cd8g2hcsxeLQbdsgZdcgxeLImfcszhM0vda4xgckzhM4xg84wf8Yxgs4udKsvfcQucqhUndROmdM1fK0wcZ8vb5w0eqpQm9MzeKhXoNVcpdYydKNWn9VZotVKltJFjsIwcJ1Rms9OlslLmtH///8+kc9epdYzd6dbo9VHkMM2f7FHmNBClM8ydqVcpNY9hro3gLM9hLczealQmcw3fa46f7A8gLMxc6I3eagyc6FIldJMl9JSnNRSntNNl9JPnNJFi75UnM9ZodVKksg8kM45jc09e6ZHltFBk883gbRBh7pDk9EwcaBzn784g7dKkcY2i81Om9M7j85Llc81is09g7Q4grY/j9A0eqxKmdFFltBEjcXf6fFImdBCiLxJl9FGlNFBi78yiMxVndEvbpo6js74+vx+psPP3+o/ks5HkcpGmNCjwdZCkNDM3ehYoNJEls+lxNkxh8xHks0+jdC1zd5Lg6r+/v/H2ufz9/o3jM3t8/edvdM/k89Th61OiLBSjbZklbaTt9BfptdjmL1AicBHj8hGk9FAgK1dkLNTjLRekrdClc/k7fM0icy0y9tgp9c4jc2NtM9Dlc8zicxeXZn3AAAAQ3RSTlMAHDdTb4yPA+LtnEQmC4L2EmHqB7XA0d0sr478x4/Yd5i1zOfyPkf1sLVq4Nh3FvjxopQ2/STNuFzUwFIwxKaejILpIBEV9wAABhVJREFUeF6s1NdyFEcYBeBeoQIhRAkLlRDGrhIgY3BJL8CVeKzuyXFzzjkn5ZxzzuScg3PO8cKzu70JkO0LfxdTU//pM9vTu7Xgf6KqOVTb9X7toRrVEfBf1HTVjZccrT/2by1VV928Yty9ZbVuucdz90frG8DBjl9pVApbOstvmMuvVgaNXSfAAd6pGxpy6yxf5ph43pS/4f3uoaGm2rdu72S9xzOvMymkZFq/ptDrk90mhW7e4zl7HLzhxGWPR20xmSxJ/VqldG5m9XhaVOA1DadsNh3Pu5L2N6QtPO/32JpqQBVVk20oy/Pi2s23WEvyfHbe1thadVQttvm7Llf65gGmXK67XtupyoM7HQhmXdLS8oGWJNeOJ3C5fG5XCEJnkez3/oFdsvgJ4l2ANZwhrJKk/7OSXa+3Vw2WJMlKnGkobouYk6T0TyX30klOUnTD9HJ5qpckL3EW/w4XF3Xd0FGywXUrstrclVsqz5Pd/sXFYyDnPdrLcQODmGOK47IZb4CmibmMn+MYRzFZ5jg33ZL/EJrWcszHmANy3ARBK/IXtciJy8VsitPSdE3uuHxzougojcUdr8/32atnz/ev3f/K5wtpxUTpcaI45zusVDpYtZi+jg0oU9b3x74h7+n9ABvYEZeKaVq0sh0AtLKsFtqNBdeT0MrSzwwlq9+x6xAO4tgOtSzbCjrNQQiNvQUbUEubvzBUeGw26yDCsRHCoLkTHDa7IdOLIThs/gHvChszh2CimE8peRs47cxANI0lYNB5y1DljpOF0IhzBDPOZnDOqYYbeGKECbPzWnXludPphw5c2YBq5zlwXphIbO4VDCZ0gnPfUO1TwZoYwAs2ExPCedAu9DAjfQUjzITQb3jNj0KG2Sgt6BHaQUdYzWz+XmBktOHwanXjaSTcwwziBcuMOtwBmqPrTOxFQR/DRKKPqyur0aiW6cULYsx6tBm0jXpR/AUWR6HRq9WVW6MRhIq5jLyjbaCTDCijyYJNpCajdyobP/eTw0iexBAKkJ3gA5KcQb2zBXsIBckn+xVv8jkZSaEFHE+jFEleAEfayRU0MouNoBmB/L50Ai/HSLIHxcrpCvnhSQAuakKp2C/YbCylJjXRVy/z3+Kv/RrNcCo+WUzlVEhzKffnTQnxeN9fWF88fiNCUdSTsaufaChKWInHeysygfpIqagoakW+vV20J8uyl6TyNKEZWV4oRSPyCkWpgOLSbkCObT8o2r6tlG58HQquf6O0v50tB7JM7F4EORd2dx/K0w/KHsVkLPaoYrwgP/y7krr3SSMA4zj+OBgmjYkxcdIJQyQRKgg2viX9Hddi9UBb29LrKR7CVVEEEXWojUkXNyfTNDE14W9gbHJNuhjDettN3ZvbOvdOqCD3Jp/9l+/wJE+9PkYGjx/fqkys3S2rMozM/o2106rfMUINo6hVqz+eu/hd1c4xTg0TAfy5kV+4UG6+IthHTU9woWmxuKNbTfuCSfovBCxq7EtHqvYL4Sm6F8GVxsSXHMQ07TOi1DKtZxjWaaIyi4CXWjxPccUw8WVbMYY5wxC1mzEyXMJWkllpRloi+Kkoq69sxBTlElF6aAxYUbjXNlhlDZilDnM4U5SlN5biRsRHnbx3mbeWjEh4mEyiuJDl5XcWVmX5GvNkFgLWZM5qwsop4/AWfLhU1cR7k1VVvcYCWRkOI6Xy5gmnphCYIkvzuNYzHzosq2oNk2RtSs8khfUOfHIDgR6ysYBaMpl4uEgk2U/oJTs9AaTSwma7dT69geAE2ZpEjUsn2ieJNHeKfrI3EcAGJ2ZaNgVuC8EBctCLc57P5u5led6IOBkIYkuQMrmmjChs4VkfOerHqSBkPzZlhe06RslZ3zMjk2sscqKwY0RcjKK+LWbzd7KiHhkncs/siFJ+V5eXxD34B8nVuJEpGJNmxN2gH3vSvp7J70tF+D1Ej8qUJD1TkErAND2GZwTFg/LubvmgiBG3SOvdlsqFQrkEzJCL1rstlnVFROixZoDDSuXQFHESwVGlcuQcMb/b42NgjLowh5MTDFE3vNB5qStRIErdCQEh6pLPR92anSUb/wAIhldAaDMpGgAAAABJRU5ErkJggg==",uZ="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",Gn=(o,e=sb)=>{var t=hZ(),i=v(_(t),2),n=_(i);j(()=>W(n,e())),D(o,t)};var hZ=B('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),fZ=B("<button> </button>"),gZ=B('<span class="err svelte-767znw"> </span>'),pZ=B('<span class="ok svelte-767znw"> </span>'),xZ=B('<div class="loading svelte-767znw">Loading…</div>'),mZ=B('<p class="hint">Checking broker status…</p>'),vZ=B('<section id="sec-broker" class="svelte-767znw"><h3 class="svelte-767znw">Mosquitto management</h3> <div class="field svelte-767znw"><label class="toggle svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="toggle-label">Enable mosquitto broker management</span></label> <p class="hint">Shows the <strong>Broker</strong> page in the navigation, giving access to listener config, dynamic security, TLS certificates and more. Disable this if you are not using Mosquitto or prefer to manage it externally.</p> <!></div></section>'),_Z=B('<p class="hint">Checking paired devices…</p>'),bZ=B('<div class="field svelte-767znw"><label for="matter-storage-input" class="svelte-767znw">Storage path</label> <input id="matter-storage-input" class="svelte-767znw"/> <p class="hint">Directory where Matter controller state is persisted. Leave empty to use the default path inside the data directory.</p></div>'),CZ=B('<section id="sec-matter" class="svelte-767znw"><h3 class="svelte-767znw">Matter controller</h3> <div class="field svelte-767znw"><label class="toggle svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="toggle-label">Enable Matter controller</span></label> <p class="hint">Shows the <strong>Matter</strong> page and starts the built-in Matter controller on next restart. Requires a restart to take effect. Disable only after unpairing all devices.</p> <!></div> <!></section>'),EZ=B('<section id="sec-appearance" class="svelte-767znw"><h3 class="svelte-767znw">Appearance</h3> <div class="field svelte-767znw"><label for="theme-select" class="svelte-767znw">Color theme</label> <select id="theme-select" class="svelte-767znw"><option>Dark</option><option>Light</option><option>System (OS preference)</option></select></div></section>'),yZ=B('<div class="field svelte-767znw"><label class="svelte-767znw">CA certificate <!></label> <textarea rows="4" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" spellcheck="false" class="svelte-767znw"></textarea></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client certificate <!></label> <textarea rows="4" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" spellcheck="false" class="svelte-767znw"></textarea></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client private key <!></label> <textarea rows="4" placeholder="-----BEGIN PRIVATE KEY----- … -----END PRIVATE KEY-----" spellcheck="false" class="svelte-767znw"></textarea></div>',1),wZ=B('<section id="sec-mqtt" class="svelte-767znw"><h3 class="svelte-767znw">MQTT</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Protocol <!></label> <select class="svelte-767znw"><option>mqtt (plain TCP)</option><option>mqtts (TLS)</option><option>ws (WebSocket)</option><option>wss (WebSocket + TLS)</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Broker address <!></label> <input type="text" placeholder="localhost:1883" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Username <!></label> <input type="text" placeholder="(optional)" autocomplete="off" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Password <!></label> <input type="password" placeholder="(optional)" autocomplete="new-password" class="svelte-767znw"/></div> <!> <div class="field svelte-767znw"><label class="svelte-767znw">MQTT protocol version <!></label> <select class="svelte-767znw"><option>3.1.1 (default)</option><option>5.0</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client name <!></label> <input type="text" placeholder="she" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Variable prefix <!></label> <input type="text" placeholder="var" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Disable variable system <!></label></div></section>'),SZ=B('<div class="field svelte-767znw"><label class="svelte-767znw"> <!></label> <input type="password" placeholder="Enter new password" autocomplete="new-password" class="svelte-767znw"/></div>'),DZ=B('<div class="field svelte-767znw"><label class="svelte-767znw">Proxy user header <!></label> <input type="text" placeholder="X-Remote-User" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Logout URL <!></label> <input type="text" placeholder="https://auth.example.com/…/end-session/" class="svelte-767znw"/></div>',1),AZ=B('<div class="field-error svelte-767znw"> </div>'),kZ=B('<div class="field-ok svelte-767znw"> </div>'),BZ=B('<section id="sec-auth" class="svelte-767znw"><h3 class="svelte-767znw">Authentication</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Mode <!></label> <select class="svelte-767znw"><option>None (open)</option><option>Password</option><option>Proxy header (nginx / authentik)</option></select></div> <!> <!> <!> <!> <div class="field svelte-767znw"><span></span> <button class="save-auth-btn svelte-767znw"> </button></div></section>'),FZ=B('<section id="sec-webserver" class="svelte-767znw"><h3 class="svelte-767znw">Web server</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Port <!></label> <input type="number" min="0" max="65535" placeholder="8080" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Bind address <!></label> <input type="text" placeholder="0.0.0.0 (default)" class="svelte-767znw"/></div></section>'),LZ=B('<section id="sec-scripts" class="svelte-767znw"><h3 class="svelte-767znw">Scripts</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Scripts directory <!></label> <input type="text" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Disable file watching <!></label></div></section>'),IZ=B('<section id="sec-git" class="svelte-767znw"><h3 class="svelte-767znw">Git</h3> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-commit on save <!></label></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-push after commit <!></label></div></section>'),M2=B("<option> </option>"),PZ=B('<div class="field svelte-767znw"><div class="map-label svelte-767znw">Map <span class="map-note svelte-767znw">(click or drag marker to set location — requires internet for tiles)</span></div> <div class="map-container svelte-767znw"></div></div>'),TZ=B('<section id="sec-solar" class="svelte-767znw"><h3 class="svelte-767znw">Location</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Timezone <!></label> <input type="text" list="tz-list" placeholder="(system default)" autocomplete="off" spellcheck="false" class="svelte-767znw"/> <datalist id="tz-list"></datalist></div> <div class="field svelte-767znw"><label class="svelte-767znw">Latitude <!></label> <input type="number" step="0.0001" placeholder="48.7408" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Longitude <!></label> <input type="number" step="0.0001" placeholder="9.1778" class="svelte-767znw"/></div> <div class="field geo-actions svelte-767znw"><span></span> <div class="geo-btns svelte-767znw"><button class="geo-btn svelte-767znw"><!></button> <button class="geo-btn svelte-767znw"> </button></div></div> <!></section>'),MZ=B('<section id="sec-logging" class="svelte-767znw"><h3 class="svelte-767znw">Logging</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Verbosity <!></label> <select class="svelte-767znw"><option>debug</option><option>info</option><option>warn</option><option>error</option></select></div></section>'),RZ=B('<div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Retain document messages <!></label></div>'),NZ=B('<div class="field svelte-767znw"><label class="svelte-767znw">Database path <!></label> <input type="text" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">MQTT topic prefix <!></label> <input type="text" placeholder="she/db/ (default)" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Publish documents to MQTT <!></label></div> <!>',1),OZ=B(`<section id="sec-shedb" class="svelte-767znw"><h3 class="svelte-767znw">sheDB</h3> <div class="field svelte-767znw"><label class="toggle svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="toggle-label">Enable sheDB</span></label> <p class="hint">Built-in JSON document store used by scripts and the DB page. Disable only if you don't use it — data on disk is preserved.</p></div> <!></section>`),HZ=B('<section id="sec-redis" class="svelte-767znw"><h3 class="svelte-767znw">Redis</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Redis URL <!></label> <input type="text" placeholder="leave empty to disable" class="svelte-767znw"/></div></section>'),WZ=B('<span class="free-badge svelte-767znw">FREE</span> ',1),zZ=B('&nbsp;— <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),VZ=B("<div><!> <!></div>"),jZ=B('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),$Z=B('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),UZ=B('<section id="sec-ai" class="svelte-767znw"><h3 class="svelte-767znw">AI Assistant</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Provider <!></label> <select class="svelte-767znw"></select></div> <!> <!> <div class="field svelte-767znw"><label class="svelte-767znw">Model <!></label> <input type="text" class="svelte-767znw"/></div> <!></section>'),qZ=B('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),GZ=B('<!> <div class="config-root svelte-767znw"><aside class="config-sidebar svelte-767znw"><div class="sidebar-search svelte-767znw"><svg class="search-icon svelte-767znw" width="13" height="13" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><circle cx="6.5" cy="6.5" r="4.5"></circle><line x1="10" y1="10" x2="14" y2="14"></line></svg> <input class="search-input svelte-767znw" type="search" placeholder="Filter settings…" autocomplete="off" spellcheck="false"/></div> <nav class="section-nav svelte-767znw"></nav></aside> <div class="config-main svelte-767znw"><div class="config-topbar svelte-767znw"><span class="topbar-title svelte-767znw">Settings</span> <!> <!> <button class="save-btn svelte-767znw"> </button></div> <!></div></div>',1);function KZ(o,e){js(e,!0),delete zf.Icon.Default.prototype._getIconUrl,zf.Icon.Default.mergeOptions({iconUrl:cZ,iconRetinaUrl:dZ,shadowUrl:uZ});let t=F(Li(sZ())),i=F("~/.she"),n=F("mqtt"),s=F(""),r=F(""),a=F(""),d=F(""),u=F(""),f=F(""),g=F("logic"),p=F("var"),C=F(""),b=F(!1),y=F(!1),w=F(!1),A=F(!1),P=F(""),M=F(!1),R=F(8080),T=F(""),V=F("none"),H=F(""),X=F("X-Remote-User"),se=F(""),he=F(!1),J=F(""),de=F(""),we=F(""),re=F(!1),ae=F(!1),De=F(!1),Pe=F(""),xe=F(48.7408),Ve=F(9.1778),ze=F(!1),ve=F(void 0),ht=F(!1),Mt=F(null),ot=F("info"),yt=F(!0),Ce=F(""),Rt=F(""),ai=F(!1),Ge=F(!1),nt=F("");const Dt=[{id:"ollama",label:"Ollama (local)",provider:"ollama",baseUrl:"",defaultModel:"",freeNote:"",apiKeyUrl:""},{id:"lmstudio",label:"LM Studio (local)",provider:"openai",baseUrl:"http://localhost:1234",defaultModel:"",freeNote:"",apiKeyUrl:""},{id:"groq",label:"Groq — Qwen 2.5 Coder 32B (free)",provider:"openai",baseUrl:"https://api.groq.com/openai/v1",defaultModel:"qwen-2.5-coder-32b",freeNote:"14 400 req/day · no credit card needed",apiKeyUrl:"https://console.groq.com/keys"},{id:"gemini",label:"Google Gemini 2.0 Flash (free)",provider:"openai",baseUrl:"https://generativelanguage.googleapis.com/v1beta/openai",defaultModel:"gemini-2.0-flash",freeNote:"15 RPM · 1 000 000 tokens/day · no credit card",apiKeyUrl:"https://aistudio.google.com/apikey"},{id:"openai",label:"OpenAI (paid)",provider:"openai",baseUrl:"",defaultModel:"gpt-4o-mini",freeNote:"",apiKeyUrl:"https://platform.openai.com/api-keys"},{id:"anthropic",label:"Anthropic (paid)",provider:"anthropic",baseUrl:"",defaultModel:"claude-3-5-haiku-20241022",freeNote:"",apiKeyUrl:"https://console.anthropic.com/settings/keys"}];let Jt=F("ollama"),di=F("ollama"),ci=F(""),xi=F(""),_i=F("");const Ke={};let Ee="ollama";function ii(te,Je){return te==="anthropic"?"anthropic":te==="ollama"?"ollama":Je?Je.includes("localhost:1234")?"lmstudio":Je.includes("groq.com")?"groq":Je.includes("googleapis.com")?"gemini":"openai":"openai"}function bi(){Ke[Ee]={baseUrl:c(ci),model:c(xi),apiKey:c(_i)};const te=Dt.find(Pt=>Pt.id===c(Jt));if(!te)return;m(di,te.provider,!0);const Je=Ke[c(Jt)];m(ci,(Je==null?void 0:Je.baseUrl)??te.baseUrl,!0),m(xi,(Je==null?void 0:Je.model)??te.defaultModel,!0),m(_i,(Je==null?void 0:Je.apiKey)??"",!0),Ee=c(Jt)}const ni=Lt(()=>Dt.find(te=>te.id===c(Jt)));let $i=F(Li({}));const Zi=new Set(["url","name","variablePrefix","disableVariables","mqttUsername","mqttPassword","mqttCa","mqttCert","mqttKey","mqttVersion","port","bindAddress","auth","password","proxyHeader","proxyLogoutUrl","dir","disableWatch","gitAutoCommit","gitAutoPush","latitude","longitude","timezone","verbosity","dbPath","dbPrefix","dbPublish","dbRetain","redis","ai","broker","matter-storage"]);Kn(()=>{if(!c(ve))return;const te=typeof c(xe)=="number"?c(xe):48.7408,Je=typeof c(Ve)=="number"?c(Ve):9.1778,Pt=zf.map(c(ve)).setView([te,Je],10);zf.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(Pt);const Bt=zf.marker([te,Je],{draggable:!0}).addTo(Pt);m(Mt,Bt,!0);const Ot=Se=>{m(xe,+Se.lat.toFixed(6)),m(Ve,+Se.lng.toFixed(6))};return Bt.on("dragend",()=>Ot(Bt.getLatLng())),Pt.on("click",Se=>{Bt.setLatLng(Se.latlng),Ot(Se.latlng)}),()=>{m(Mt,null),Pt.remove()}}),Kn(()=>{!c(Mt)||c(xe)===""||c(Ve)===""||c(Mt).setLatLng([Number(c(xe)),Number(c(Ve))])});let wi;function yn(){if(!navigator.geolocation){wi.show("Geolocation is not supported by this browser.",{alert:!0});return}m(ht,!0),navigator.geolocation.getCurrentPosition(te=>{m(xe,+te.coords.latitude.toFixed(6)),m(Ve,+te.coords.longitude.toFixed(6)),m(ht,!1)},()=>{m(ht,!1)})}let un=F(!0),cn=F(!1),fn=F(""),ft=F(""),Gt=F(""),Pi=F("appearance");const qi=[{id:"broker",label:"Mosquitto",terms:["mosquitto","broker","mqtt broker","management","dynsec"]},{id:"matter",label:"Matter controller",terms:["matter","thread","zigbee","iot","devices","smart home controller"]},{id:"appearance",label:"Appearance",terms:["theme","color","dark","light"]},{id:"auth",label:"Authentication",terms:["auth","password","login","proxy","header","nginx","authentik","secure"]},{id:"mqtt",label:"MQTT",terms:["broker","url","client","name","variable","prefix","protocol","version","mqtt5"]},{id:"webserver",label:"Web server",terms:["port","http","server","bind","address"]},{id:"scripts",label:"Scripts",terms:["directory","watch","hot reload","dir"]},{id:"git",label:"Git",terms:["git","auto commit","auto push","commit","push","repository"]},{id:"solar",label:"Location",terms:["latitude","longitude","sunrise","sunset","geo","timezone","time zone","iana","schedule"]},{id:"logging",label:"Logging",terms:["verbosity","debug","info","warn","error"]},{id:"shedb",label:"sheDB",terms:["database","db","shedb","path","retain","enable"]},{id:"redis",label:"Redis",terms:["redis","cache"]},{id:"ai",label:"AI Assistant",terms:["llm","ollama","openai","anthropic","model","provider","base url"]}];let Ci=Lt(()=>qi.filter(te=>{const Je=c(Gt).trim().toLowerCase();return!Je||te.label.toLowerCase().includes(Je)||te.terms.some(Pt=>Pt.includes(Je))}));function Wi(te){var Je;m(Pi,te,!0),(Je=document.getElementById("sec-"+te))==null||Je.scrollIntoView({behavior:"smooth",block:"start"})}Xs(async()=>{try{const te=await Qh();te.dataDir&&m(i,te.dataDir,!0)}catch{}try{const te=await Pl();if(typeof te.url=="string"&&te.url)try{const Se=new URL(te.url);m(n,Se.protocol.replace(":",""),!0),m(s,Se.host,!0)}catch{m(s,te.url,!0)}typeof te.mqttUsername=="string"&&m(r,te.mqttUsername,!0),typeof te.mqttPassword=="string"&&m(a,te.mqttPassword,!0),typeof te.mqttCa=="string"&&m(d,te.mqttCa,!0),typeof te.mqttCert=="string"&&m(u,te.mqttCert,!0),typeof te.mqttKey=="string"&&m(f,te.mqttKey,!0),typeof te.mqttVersion=="string"&&m(C,te.mqttVersion,!0),typeof te.name=="string"&&m(g,te.name,!0),typeof te.variablePrefix=="string"&&m(p,te.variablePrefix,!0),typeof te.disableVariables=="boolean"&&m(b,te.disableVariables,!0),typeof te.port=="number"&&m(R,te.port,!0),typeof te.bindAddress=="string"&&m(T,te.bindAddress,!0),typeof te.auth=="string"&&m(V,te.auth,!0),typeof te.proxyHeader=="string"&&m(X,te.proxyHeader,!0),typeof te.proxyLogoutUrl=="string"&&m(se,te.proxyLogoutUrl,!0),typeof te.dir=="string"&&m(we,te.dir,!0),typeof te.disableWatch=="boolean"&&m(re,te.disableWatch,!0),typeof te.gitAutoCommit=="boolean"&&m(ae,te.gitAutoCommit,!0),typeof te.gitAutoPush=="boolean"&&m(De,te.gitAutoPush,!0),typeof te.latitude=="number"&&m(xe,te.latitude,!0),typeof te.longitude=="number"&&m(Ve,te.longitude,!0),typeof te.timezone=="string"&&m(Pe,te.timezone,!0),typeof te.verbosity=="string"&&m(ot,te.verbosity,!0),typeof te.dbPath=="string"?(m(yt,te.dbPath!==""),m(Ce,te.dbPath,!0)):(m(yt,!0),m(Ce,"")),typeof te.dbPrefix=="string"&&m(Rt,te.dbPrefix,!0),typeof te.dbPublish=="boolean"&&m(ai,te.dbPublish,!0),typeof te.dbRetain=="boolean"&&m(Ge,te.dbRetain,!0);const Je=te.redis;Je!=null&&Je.url&&m(nt,Je.url,!0);const Pt=te.broker;m(y,(Pt==null?void 0:Pt.enabled)===!0);const Bt=te["matter-storage"];m(A,!!Bt),m(P,Bt&&Bt!=="true"?Bt:"",!0);const Ot=te.ai;Ot!=null&&Ot.provider&&m(di,Ot.provider,!0),Ot!=null&&Ot.baseUrl&&m(ci,Ot.baseUrl,!0),Ot!=null&&Ot.model&&m(xi,Ot.model,!0),Ot!=null&&Ot.apiKey&&m(_i,Ot.apiKey,!0),m(Jt,ii(c(di),c(ci)),!0),Ee=c(Jt),m($i,Object.fromEntries(Object.entries(te).filter(([Se])=>!Zi.has(Se))),!0),Pt&&m($i,{...c($i),broker:Pt},!0)}catch(te){m(ft,te.message,!0)}finally{m(un,!1)}});async function Vi(){if(m(de,""),m(J,""),c(V)==="password"&&!c(H)){m(de,"A password is required to enable password authentication.");return}m(he,!0);try{await T$(c(V),c(V)==="password"?c(H):void 0,c(V)==="proxy"?c(X):void 0,c(V)==="proxy"?c(se):void 0),m(H,""),m(J,"Authentication settings saved.")}catch(te){m(de,te.message,!0)}finally{m(he,!1)}}async function Qi(te){if(te){m(yt,!0);return}let Je=0;try{Je=(await Qh()).dbDocs??0}catch{}Je>0&&!await wi.show(`sheDB contains ${Je} document${Je===1?"":"s"}. Disabling it will hide the DB page but data on disk is preserved and can be re-enabled later. Continue?`,{confirm:"Disable anyway",danger:!0})||m(yt,!1)}async function Si(te){if(te){m(A,!0);return}m(M,!0);try{const Je=await rS();if(Je.length>0){await wi.show(`Cannot disable the Matter controller: ${Je.length} device${Je.length===1?" is":"s are"} still paired. Unpair all devices first via the Matter page.`,{alert:!0});return}}catch{}finally{m(M,!1)}m(A,!1)}async function it(te){var Je;if(te){m(y,!0);return}m(w,!0);try{const Pt=await Lb();if((Je=Pt.dynsec)!=null&&Je.configured){await wi.show("Cannot disable mosquitto management: the dynamic security plugin is still configured. Remove it first via Broker → Status.",{alert:!0});return}if(Pt.sshConfigured&&!await wi.show("An SSH broker connection is configured. Disabling mosquitto management will hide the Broker page but your configuration will be preserved.",{confirm:"Disable anyway",danger:!0}))return}catch{}finally{m(w,!1)}m(y,!1)}async function At(){m(ft,""),m(fn,"");const te={...c($i)};c(s)&&(te.url=`${c(n)}://${c(s)}`),te.name=c(g),te.variablePrefix=c(p),c(C)&&(te.mqttVersion=c(C)),c(b)&&(te.disableVariables=!0),c(r)&&(te.mqttUsername=c(r)),c(a)&&(te.mqttPassword=c(a)),c(d)&&(te.mqttCa=c(d)),c(u)&&(te.mqttCert=c(u)),c(f)&&(te.mqttKey=c(f)),c(R)!==""&&(te.port=Number(c(R))),c(T)&&(te.bindAddress=c(T)),c(we)&&(te.dir=c(we)),c(re)&&(te.disableWatch=!0),c(ae)&&(te.gitAutoCommit=!0),c(De)&&(te.gitAutoPush=!0),c(xe)!==""&&(te.latitude=Number(c(xe))),c(Ve)!==""&&(te.longitude=Number(c(Ve))),c(Pe)&&(te.timezone=c(Pe)),te.verbosity=c(ot),c(yt)?c(Ce)&&(te.dbPath=c(Ce),c(Rt)&&(te.dbPrefix=c(Rt)),c(ai)&&(te.dbPublish=!0,c(Ge)&&(te.dbRetain=!0))):te.dbPath="",c(nt)&&(te.redis={url:c(nt)});const Je=c($i).broker??{},{enabled:Pt,...Bt}=Je;c(y)?te.broker={...Bt,enabled:!0}:Object.keys(Bt).length>0&&(te.broker=Bt),c(A)&&(te["matter-storage"]=c(P)||!0),c(di)&&(te.ai={provider:c(di),...c(ci)?{baseUrl:c(ci)}:{},...c(xi)?{model:c(xi)}:{},...c(_i)?{apiKey:c(_i)}:{}}),m(cn,!0);try{const Ot=await fp(te);window.dispatchEvent(new CustomEvent("she:config-changed")),m(fn,Ot.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(Ot){m(ft,Ot.message,!0)}finally{m(cn,!1)}}var Oi=GZ(),Ti=Et(Oi);gs(Yc(Ti,{}),te=>wi=te,()=>wi);var Bi=v(Ti,2),Ri=_(Bi),K=_(Ri),Ae=v(_(K),2),Xe=v(K,2);ti(Xe,21,()=>qi,te=>te.id,(te,Je)=>{var Pt=ws(),Bt=Et(Pt);{var Ot=Qe=>{var Yt=fZ();let Zt;var mi=_(Yt);j(()=>{Zt=Ft(Yt,1,"section-link svelte-767znw",null,Zt,{active:c(Pi)===c(Je).id}),W(mi,c(Je).label)}),U("click",Yt,()=>Wi(c(Je).id)),D(Qe,Yt)},Se=Lt(()=>c(Ci).some(Qe=>Qe.id===c(Je).id));z(Bt,Qe=>{c(Se)&&Qe(Ot)})}D(te,Pt)});var st=v(Ri,2),Kt=_(st),si=v(_(Kt),2);{var xt=te=>{var Je=gZ(),Pt=_(Je);j(()=>W(Pt,c(ft))),D(te,Je)};z(si,te=>{c(ft)&&te(xt)})}var dt=v(si,2);{var Y=te=>{var Je=pZ(),Pt=_(Je);j(()=>W(Pt,c(fn))),D(te,Je)};z(dt,te=>{c(fn)&&te(Y)})}var Te=v(dt,2),Ye=_(Te),ke=v(Kt,2);{var It=te=>{var Je=xZ();D(te,Je)},$t=te=>{var Je=qZ(),Pt=_(Je);{var Bt=pe=>{var Re=vZ(),Ne=v(_(Re),2),Ue=_(Ne),rt=_(Ue),qe=v(Ue,4);{var vt=ge=>{var Oe=mZ();D(ge,Oe)};z(qe,ge=>{c(w)&&ge(vt)})}j(()=>{Ko(rt,c(y)),rt.disabled=c(w)}),U("change",rt,ge=>it(ge.target.checked)),D(pe,Re)},Ot=Lt(()=>c(Ci).some(pe=>pe.id==="broker"));z(Pt,pe=>{c(Ot)&&pe(Bt)})}var Se=v(Pt,2);{var Qe=pe=>{var Re=CZ(),Ne=v(_(Re),2),Ue=_(Ne),rt=_(Ue),qe=v(Ue,4);{var vt=_t=>{var jt=_Z();D(_t,jt)};z(qe,_t=>{c(M)&&_t(vt)})}var ge=v(Ne,2);{var Oe=_t=>{var jt=bZ(),Ct=v(_(jt),2);j(()=>ln(Ct,"placeholder",`${c(i)??""}/matter (default)`)),Vt(Ct,()=>c(P),Ni=>m(P,Ni)),D(_t,jt)};z(ge,_t=>{c(A)&&_t(Oe)})}j(()=>{Ko(rt,c(A)),rt.disabled=c(M)}),U("change",rt,_t=>Si(_t.target.checked)),D(pe,Re)},Yt=Lt(()=>c(Ci).some(pe=>pe.id==="matter"));z(Se,pe=>{c(Yt)&&pe(Qe)})}var Zt=v(Se,2);{var mi=pe=>{var Re=EZ(),Ne=v(_(Re),2),Ue=v(_(Ne),2),rt=_(Ue);rt.value=rt.__value="dark";var qe=v(rt);qe.value=qe.__value="light";var vt=v(qe);vt.value=vt.__value="system",U("change",Ue,()=>oZ(c(t))),Fs(Ue,()=>c(t),ge=>m(t,ge)),D(pe,Re)},ei=Lt(()=>c(Ci).some(pe=>pe.id==="appearance"));z(Zt,pe=>{c(ei)&&pe(mi)})}var fe=v(Zt,2);{var et=pe=>{var Re=wZ(),Ne=v(_(Re),2),Ue=_(Ne),rt=v(_(Ue));Gn(rt,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var qe=v(Ue,2),vt=_(qe);vt.value=vt.__value="mqtt";var ge=v(vt);ge.value=ge.__value="mqtts";var Oe=v(ge);Oe.value=Oe.__value="ws";var _t=v(Oe);_t.value=_t.__value="wss";var jt=v(Ne,2),Ct=_(jt),Ni=v(_(Ct));Gn(Ni,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var Mi=v(Ct,2),Ji=v(jt,2),Fi=_(Ji),ui=v(_(Fi));Gn(ui,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var zt=v(Fi,2),kt=v(Ji,2),Wt=_(kt),oi=v(_(Wt));Gn(oi,()=>"MQTT broker password. Stored in plain text in config.json.");var vi=v(Wt,2),tn=v(kt,2);{var Xi=Ls=>{var ro=yZ(),rh=Et(ro),Vl=_(rh),tr=v(_(Vl));Gn(tr,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var Jc=v(Vl,2),jl=v(rh,2),Ya=_(jl),_f=v(_(Ya));Gn(_f,()=>"PEM-encoded client certificate for mutual TLS authentication.");var ed=v(Ya,2),ah=v(jl,2),td=_(ah),id=v(_(td));Gn(id,()=>"PEM-encoded private key matching the client certificate.");var $l=v(td,2);Vt(Jc,()=>c(d),pa=>m(d,pa)),Vt(ed,()=>c(u),pa=>m(u,pa)),Vt($l,()=>c(f),pa=>m(f,pa)),D(Ls,ro)};z(tn,Ls=>{(c(n)==="mqtts"||c(n)==="wss")&&Ls(Xi)})}var Ln=v(tn,2),Ki=_(Ln),An=v(_(Ki));Gn(An,()=>"MQTT protocol version used when connecting to the broker. Choose 5 only if your broker supports MQTT 5.0. Default: 3.1.1 (mqtt.js default).");var qn=v(Ki,2),Mn=_(qn);Mn.value=Mn.__value="";var os=v(Mn);os.value=os.__value="5";var zi=v(Ln,2),Gs=_(zi),Nn=v(_(Gs));Gn(Nn,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var Jn=v(Gs,2),Ms=v(zi,2),er=_(Ms),zr=v(_(er));Gn(zr,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var Xa=v(er,2),zl=v(Ms,2),gr=v(_(zl),2),Vr=_(gr),Qc=v(Vr,4);Gn(Qc,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),Fs(qe,()=>c(n),Ls=>m(n,Ls)),Vt(Mi,()=>c(s),Ls=>m(s,Ls)),Vt(zt,()=>c(r),Ls=>m(r,Ls)),Vt(vi,()=>c(a),Ls=>m(a,Ls)),Fs(qn,()=>c(C),Ls=>m(C,Ls)),Vt(Jn,()=>c(g),Ls=>m(g,Ls)),Vt(Xa,()=>c(p),Ls=>m(p,Ls)),ys(Vr,()=>c(b),Ls=>m(b,Ls)),D(pe,Re)},at=Lt(()=>c(Ci).some(pe=>pe.id==="mqtt"));z(fe,pe=>{c(at)&&pe(et)})}var ct=v(fe,2);{var Ut=pe=>{var Re=BZ(),Ne=v(_(Re),2),Ue=_(Ne),rt=v(_(Ue));Gn(rt,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var qe=v(Ue,2),vt=_(qe);vt.value=vt.__value="none";var ge=v(vt);ge.value=ge.__value="password";var Oe=v(ge);Oe.value=Oe.__value="proxy";var _t=v(Ne,2);{var jt=oi=>{var vi=SZ(),tn=_(vi),Xi=_(tn),Ln=v(Xi);Gn(Ln,()=>"Set a new password. Leave empty to keep the current password (if already set).");var Ki=v(tn,2);j(()=>W(Xi,`${c(H)?"New password":"Password"} `)),Vt(Ki,()=>c(H),An=>m(H,An)),D(oi,vi)};z(_t,oi=>{c(V)==="password"&&oi(jt)})}var Ct=v(_t,2);{var Ni=oi=>{var vi=DZ(),tn=Et(vi),Xi=_(tn),Ln=v(_(Xi));Gn(Ln,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var Ki=v(Xi,2),An=v(tn,2),qn=_(An),Mn=v(_(qn));Gn(Mn,()=>"URL to redirect to when the user clicks Logout (e.g. https://auth.example.com/application/o/she/end-session/ for Authentik). Leave empty to do nothing on logout.");var os=v(qn,2);Vt(Ki,()=>c(X),zi=>m(X,zi)),Vt(os,()=>c(se),zi=>m(se,zi)),D(oi,vi)};z(Ct,oi=>{c(V)==="proxy"&&oi(Ni)})}var Mi=v(Ct,2);{var Ji=oi=>{var vi=AZ(),tn=_(vi);j(()=>W(tn,c(de))),D(oi,vi)};z(Mi,oi=>{c(de)&&oi(Ji)})}var Fi=v(Mi,2);{var ui=oi=>{var vi=kZ(),tn=_(vi);j(()=>W(tn,c(J))),D(oi,vi)};z(Fi,oi=>{c(J)&&oi(ui)})}var zt=v(Fi,2),kt=v(_(zt),2),Wt=_(kt);j(()=>{kt.disabled=c(he)||c(V)==="password"&&!c(H),W(Wt,c(he)?"Saving…":"Apply authentication settings")}),Fs(qe,()=>c(V),oi=>m(V,oi)),U("click",kt,Vi),D(pe,Re)},Ht=Lt(()=>c(Ci).some(pe=>pe.id==="auth"));z(ct,pe=>{c(Ht)&&pe(Ut)})}var Ei=v(ct,2);{var I=pe=>{var Re=FZ(),Ne=v(_(Re),2),Ue=_(Ne),rt=v(_(Ue));Gn(rt,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var qe=v(Ue,2),vt=v(Ne,2),ge=_(vt),Oe=v(_(ge));Gn(Oe,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var _t=v(ge,2);Vt(qe,()=>c(R),jt=>m(R,jt)),Vt(_t,()=>c(T),jt=>m(T,jt)),D(pe,Re)},N=Lt(()=>c(Ci).some(pe=>pe.id==="webserver"));z(Ei,pe=>{c(N)&&pe(I)})}var $=v(Ei,2);{var oe=pe=>{var Re=LZ(),Ne=v(_(Re),2),Ue=_(Ne),rt=v(_(Ue));Gn(rt,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var qe=v(Ue,2),vt=v(Ne,2),ge=v(_(vt),2),Oe=_(ge),_t=v(Oe,4);Gn(_t,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),j(()=>ln(qe,"placeholder",`${c(i)??""}/scripts (default)`)),Vt(qe,()=>c(we),jt=>m(we,jt)),ys(Oe,()=>c(re),jt=>m(re,jt)),D(pe,Re)},ie=Lt(()=>c(Ci).some(pe=>pe.id==="scripts"));z($,pe=>{c(ie)&&pe(oe)})}var ne=v($,2);{var le=pe=>{var Re=IZ(),Ne=v(_(Re),2),Ue=v(_(Ne),2),rt=_(Ue),qe=v(rt,4);Gn(qe,()=>"When enabled, saving or renaming/deleting a script automatically creates a git commit. Only effective when the scripts directory is inside a git repository.");var vt=v(Ne,2),ge=v(_(vt),2),Oe=_(ge),_t=v(Oe,4);Gn(_t,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),ys(rt,()=>c(ae),jt=>m(ae,jt)),ys(Oe,()=>c(De),jt=>m(De,jt)),D(pe,Re)},tt=Lt(()=>c(Ci).some(pe=>pe.id==="git"));z(ne,pe=>{c(tt)&&pe(le)})}var Fe=v(ne,2);{var _e=pe=>{var Re=TZ(),Ne=v(_(Re),2),Ue=_(Ne),rt=v(_(Ue));Gn(rt,()=>"IANA timezone for cron scheduling (e.g. Europe/Berlin). Leave empty to use the system timezone. Requires daemon restart.");var qe=v(Ue,2),vt=v(qe,2);ti(vt,20,()=>{var Ki;return((Ki=Intl.supportedValuesOf)==null?void 0:Ki.call(Intl,"timeZone"))??[]},Hi,(Ki,An)=>{var qn=M2(),Mn=_(qn),os={};j(()=>{W(Mn,An),os!==(os=An)&&(qn.value=(qn.__value=An)??"")}),D(Ki,qn)});var ge=v(Ne,2),Oe=_(ge),_t=v(_(Oe));Gn(_t,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var jt=v(Oe,2),Ct=v(ge,2),Ni=_(Ct),Mi=v(_(Ni));Gn(Mi,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Ji=v(Ni,2),Fi=v(Ct,2),ui=v(_(Fi),2),zt=_(ui),kt=_(zt);{var Wt=Ki=>{var An=Co("…");D(Ki,An)},oi=Ki=>{var An=Co("📍 Use my location");D(Ki,An)};z(kt,Ki=>{c(ht)?Ki(Wt):Ki(oi,-1)})}var vi=v(zt,2),tn=_(vi),Xi=v(Fi,2);{var Ln=Ki=>{var An=PZ(),qn=v(_(An),2);gs(qn,Mn=>m(ve,Mn),()=>c(ve)),D(Ki,An)};z(Xi,Ki=>{c(ze)&&Ki(Ln)})}j(()=>{zt.disabled=c(ht),W(tn,c(ze)?"Hide map":"Pick on map")}),Vt(qe,()=>c(Pe),Ki=>m(Pe,Ki)),Vt(jt,()=>c(xe),Ki=>m(xe,Ki)),Vt(Ji,()=>c(Ve),Ki=>m(Ve,Ki)),U("click",zt,yn),U("click",vi,()=>m(ze,!c(ze))),D(pe,Re)},Ze=Lt(()=>c(Ci).some(pe=>pe.id==="solar"));z(Fe,pe=>{c(Ze)&&pe(_e)})}var Me=v(Fe,2);{var lt=pe=>{var Re=MZ(),Ne=v(_(Re),2),Ue=_(Ne),rt=v(_(Ue));Gn(rt,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var qe=v(Ue,2),vt=_(qe);vt.value=vt.__value="debug";var ge=v(vt);ge.value=ge.__value="info";var Oe=v(ge);Oe.value=Oe.__value="warn";var _t=v(Oe);_t.value=_t.__value="error",Fs(qe,()=>c(ot),jt=>m(ot,jt)),D(pe,Re)},Xt=Lt(()=>c(Ci).some(pe=>pe.id==="logging"));z(Me,pe=>{c(Xt)&&pe(lt)})}var Z=v(Me,2);{var ce=pe=>{var Re=OZ(),Ne=v(_(Re),2),Ue=_(Ne),rt=_(Ue),qe=v(Ne,2);{var vt=ge=>{var Oe=NZ(),_t=Et(Oe),jt=_(_t),Ct=v(_(jt));Gn(Ct,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to use the default.");var Ni=v(jt,2),Mi=v(_t,2),Ji=_(Mi),Fi=v(_(Ji));Gn(Fi,()=>"Prefix for all sheDB MQTT topics. Defaults to she/db/ — documents publish to {prefix}doc/{id}, views to {prefix}view/{id}, commands use {prefix}set/{id} etc.");var ui=v(Ji,2),zt=v(Mi,2),kt=v(_(zt),2),Wt=_(kt),oi=v(Wt,4);Gn(oi,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var vi=v(zt,2);{var tn=Xi=>{var Ln=RZ(),Ki=v(_(Ln),2),An=_(Ki),qn=v(An,4);Gn(qn,()=>"When enabled, MQTT messages for document changes are published as retained messages."),ys(An,()=>c(Ge),Mn=>m(Ge,Mn)),D(Xi,Ln)};z(vi,Xi=>{c(ai)&&Xi(tn)})}j(()=>ln(Ni,"placeholder",`defaults to ${c(i)??""}/db`)),Vt(Ni,()=>c(Ce),Xi=>m(Ce,Xi)),Vt(ui,()=>c(Rt),Xi=>m(Rt,Xi)),ys(Wt,()=>c(ai),Xi=>m(ai,Xi)),D(ge,Oe)};z(qe,ge=>{c(yt)&&ge(vt)})}j(()=>Ko(rt,c(yt))),U("change",rt,ge=>Qi(ge.target.checked)),D(pe,Re)},je=Lt(()=>c(Ci).some(pe=>pe.id==="shedb"));z(Z,pe=>{c(je)&&pe(ce)})}var mt=v(Z,2);{var Le=pe=>{var Re=HZ(),Ne=v(_(Re),2),Ue=_(Ne),rt=v(_(Ue));Gn(rt,()=>"redis:// URL for the optional Redis write-through cache. All state store changes are written to the she:state hash. Leave empty to disable.");var qe=v(Ue,2);Vt(qe,()=>c(nt),vt=>m(nt,vt)),D(pe,Re)},He=Lt(()=>c(Ci).some(pe=>pe.id==="redis"));z(mt,pe=>{c(He)&&pe(Le)})}var St=v(mt,2);{var gt=pe=>{var Re=UZ(),Ne=v(_(Re),2),Ue=_(Ne),rt=v(_(Ue));Gn(rt,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var qe=v(Ue,2);ti(qe,21,()=>Dt,Hi,(ui,zt)=>{var kt=M2(),Wt=_(kt),oi={};j(()=>{W(Wt,c(zt).label),oi!==(oi=c(zt).id)&&(kt.value=(kt.__value=c(zt).id)??"")}),D(ui,kt)});var vt=v(Ne,2);{var ge=ui=>{var zt=VZ();let kt;var Wt=_(zt);{var oi=Xi=>{var Ln=WZ(),Ki=v(Et(Ln));j(()=>W(Ki,` ${c(ni).freeNote??""}`)),D(Xi,Ln)};z(Wt,Xi=>{c(ni).freeNote&&Xi(oi)})}var vi=v(Wt,2);{var tn=Xi=>{var Ln=zZ(),Ki=v(Et(Ln));j(()=>ln(Ki,"href",c(ni).apiKeyUrl)),D(Xi,Ln)};z(vi,Xi=>{c(ni).apiKeyUrl&&Xi(tn)})}j(()=>kt=Ft(zt,1,"preset-note svelte-767znw",null,kt,{free:!!c(ni).freeNote})),D(ui,zt)};z(vt,ui=>{var zt,kt;((zt=c(ni))!=null&&zt.freeNote||(kt=c(ni))!=null&&kt.apiKeyUrl)&&ui(ge)})}var Oe=v(vt,2);{var _t=ui=>{var zt=jZ(),kt=_(zt),Wt=v(_(kt));Gn(Wt,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var oi=v(kt,2);j(()=>{var vi;return ln(oi,"placeholder",c(Jt)==="ollama"?"http://localhost:11434":c(Jt)==="lmstudio"?"http://localhost:1234":((vi=c(ni))==null?void 0:vi.baseUrl)??"")}),Vt(oi,()=>c(ci),vi=>m(ci,vi)),D(ui,zt)};z(Oe,ui=>{c(Jt)!=="anthropic"&&ui(_t)})}var jt=v(Oe,2),Ct=_(jt),Ni=v(_(Ct));Gn(Ni,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var Mi=v(Ct,2),Ji=v(jt,2);{var Fi=ui=>{var zt=$Z(),kt=_(zt),Wt=v(_(kt));Gn(Wt,()=>"Stored in config.json. Not needed for local providers.");var oi=v(kt,2);Vt(oi,()=>c(_i),vi=>m(_i,vi)),D(ui,zt)};z(Ji,ui=>{c(Jt)!=="ollama"&&c(Jt)!=="lmstudio"&&ui(Fi)})}j(()=>{var ui;return ln(Mi,"placeholder",((ui=c(ni))==null?void 0:ui.defaultModel)||"e.g. llama3.2")}),U("change",qe,bi),Fs(qe,()=>c(Jt),ui=>m(Jt,ui)),Vt(Mi,()=>c(xi),ui=>m(xi,ui)),D(pe,Re)},Ie=Lt(()=>c(Ci).some(pe=>pe.id==="ai"));z(St,pe=>{c(Ie)&&pe(gt)})}D(te,Je)};z(ke,te=>{c(un)?te(It):te($t,-1)})}j(()=>{Te.disabled=c(cn),W(Ye,c(cn)?"Saving…":"Save")}),Vt(Ae,()=>c(Gt),te=>m(Gt,te)),U("click",Te,At),D(o,Oi),$s()}Ys(["click","change"]);var ZZ=B("<option> </option>"),XZ=B('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),YZ=B('<div class="page svelte-18loop9"><div class="toolbar svelte-18loop9"><h2 class="svelte-18loop9">Logs</h2> <select class="svelte-18loop9"></select> <input class="filter-in svelte-18loop9" type="search" placeholder="Filter messages…"/> <label class="check-label svelte-18loop9" title="Interpret filter as a regular expression"><input type="checkbox" class="svelte-18loop9"/> <span class="checkmark svelte-18loop9"></span> Regex</label> <label class="check-label svelte-18loop9"><input type="checkbox" class="svelte-18loop9"/> <span class="checkmark svelte-18loop9"></span> Auto-scroll</label> <button class="svelte-18loop9">Clear</button></div> <div class="log svelte-18loop9"></div></div>');function QZ(o,e){js(e,!0);let t=F(Li(yF())),i,n=F(!0),s=F("all"),r=F(""),a=F(!1);const d=["all","debug","info","warn","error"],u={debug:0,info:1,warn:2,error:3};cS(H=>{m(t,[...c(t).slice(-1999),H],!0)}),Xs(()=>{i&&(i.scrollTop=i.scrollHeight)}),Kn(()=>{c(t).length,c(n)&&i&&(i.scrollTop=i.scrollHeight)});function f(){m(t,[],!0)}function g(H){if(c(s)!=="all"&&u[H.level]<u[c(s)])return!1;if(!c(r))return!0;if(c(a))try{return new RegExp(c(r),"i").test(H.msg)}catch{}return H.msg.toLowerCase().includes(c(r).toLowerCase())}function p(H){return new Date(H).toLocaleTimeString()}var C=YZ(),b=_(C),y=v(_(b),2);ti(y,21,()=>d,Hi,(H,X)=>{var se=ZZ(),he=_(se),J={};j(()=>{W(he,c(X)),J!==(J=c(X))&&(se.value=(se.__value=c(X))??"")}),D(H,se)});var w=v(y,2),A=v(w,2),P=_(A),M=v(A,2),R=_(M),T=v(M,2),V=v(b,2);ti(V,21,()=>c(t).filter(g),H=>H.ts+H.msg,(H,X)=>{var se=XZ(),he=_(se),J=_(he),de=v(he,2),we=_(de),re=v(de,2),ae=_(re);j((De,Pe)=>{Ft(se,1,`line ${c(X).level??""}`,"svelte-18loop9"),W(J,De),W(we,Pe),W(ae,c(X).msg)},[()=>p(c(X).ts),()=>c(X).level.toUpperCase()]),D(H,se)}),gs(V,H=>i=H,()=>i),Fs(y,()=>c(s),H=>m(s,H)),Vt(w,()=>c(r),H=>m(r,H)),ys(P,()=>c(a),H=>m(a,H)),ys(R,()=>c(n),H=>m(n,H)),U("click",T,f),D(o,C),$s()}Ys(["click"]);var JZ=B('<span class="chat-model svelte-1twuiul"><!></span>'),eX=B('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),tX=B('<div class="unconfigured svelte-1twuiul">Configure an AI provider in the <strong class="svelte-1twuiul">Config</strong> tab to use the AI assistant.</div>'),iX=B('Working on view <code class="svelte-1twuiul"> </code>',1),nX=B('<button class="chip svelte-1twuiul"> </button>'),sX=B('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),oX=B('<div class="msg-content user-text svelte-1twuiul"> </div>'),R2=B('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),N2=B('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),O2=B('<div class="tool-events svelte-1twuiul"></div>'),H2=B('<div class="text-block svelte-1twuiul"></div>'),rX=B('<button class="expand-btn svelte-1twuiul"> </button>'),aX=B('<div class="code-block svelte-1twuiul"><div class="code-header svelte-1twuiul"><span class="code-lang svelte-1twuiul"> </span> <div class="code-actions svelte-1twuiul"><button class="svelte-1twuiul">Copy</button></div></div> <div><pre class="svelte-1twuiul"><code class="hljs svelte-1twuiul"></code></pre> <!></div></div>'),lX=B('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),cX=B('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),dX=B("<div><!></div>"),uX=B('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),hX=B('<div class="code-block svelte-1twuiul"><div class="code-header svelte-1twuiul"><span class="code-lang svelte-1twuiul"> </span></div> <pre class="svelte-1twuiul"><code class="hljs svelte-1twuiul"></code></pre></div>'),fX=B('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),gX=B('<div class="chat-error svelte-1twuiul"> </div>'),pX=B('<span><span class="badge badge-db svelte-1twuiul">db</span> <span class="chip-name svelte-1twuiul"> </span> <button class="chip-remove svelte-1twuiul"> </button></span>'),xX=B('<span class="file-chip svelte-1twuiul"><span> </span> <span class="chip-name svelte-1twuiul"> </span> <button class="chip-remove svelte-1twuiul" title="Remove from context">×</button></span>'),mX=B('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),vX=B('<button class="send-btn svelte-1twuiul">↑</button>'),_X=B('<option class="svelte-1twuiul"> </option>'),bX=B('<select class="model-select svelte-1twuiul"></select>'),CX=B('<span class="model-name svelte-1twuiul"> </span>'),EX=B('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),yX=B('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),wX=B('<p class="info-status svelte-1twuiul">Loading…</p>'),SX=B('<p class="info-status info-err svelte-1twuiul"> </p>'),DX=B('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),AX=B('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),kX=B('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),BX=B('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),FX=B('<div class="running-model svelte-1twuiul"> </div>'),LX=B('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),IX=B('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),PX=B('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),TX=B('<div class="info-overlay svelte-1twuiul"><div class="info-popup svelte-1twuiul"><div class="info-popup-header svelte-1twuiul"><span class="svelte-1twuiul"> </span> <button title="Close" class="svelte-1twuiul">✕</button></div> <div class="info-popup-body svelte-1twuiul"><!></div></div></div>'),MX=B('<div class="chat-panel svelte-1twuiul"><div class="chat-header svelte-1twuiul"><span class="chat-title svelte-1twuiul">AI — View assistant</span> <!> <!></div> <div class="messages svelte-1twuiul"><!> <!> <!> <!> <!></div> <!> <div class="context-row svelte-1twuiul"><label title="Include sheDB document IDs in context" class="svelte-1twuiul"><input type="checkbox" class="svelte-1twuiul"/><span class="checkmark svelte-1twuiul"></span> Doc IDs</label> <label title="Include sample document content in context (first 10 docs)" class="svelte-1twuiul"><input type="checkbox" class="svelte-1twuiul"/><span class="checkmark svelte-1twuiul"></span> Sample docs</label> <label title="Let the AI query sheDB documents on demand. Disables real-time streaming." class="svelte-1twuiul"><input type="checkbox" class="svelte-1twuiul"/><span class="checkmark svelte-1twuiul"></span> 😎 Agent</label> <span class="req-size svelte-1twuiul"> </span></div> <div class="files-row svelte-1twuiul"><!> <!> <button class="add-file-btn svelte-1twuiul" title="Attach file to context">+</button> <input type="file" multiple="" class="file-input-hidden svelte-1twuiul"/></div> <div><div><textarea rows="3" class="svelte-1twuiul"></textarea></div> <!></div> <!></div> <!>',1);function RX(o,e){js(e,!0),Hv.registerLanguage("javascript",kF),ss.use({breaks:!0,gfm:!0});let t=Tu(e,"currentView",3,null);const i="she:viewchat:messages";let n=F(Li(JSON.parse(localStorage.getItem(i)??"[]"))),s=F(null),r=F(""),a=F(!1),d=F(""),u=F(null),f=F(Li([])),g=F(Li(localStorage.getItem("she:selectedModel")??""));Kn(()=>{localStorage.setItem(i,JSON.stringify(c(n)))});let p=F(Li(new Set)),C=F(!1),b=F(null),y=F(!1),w=F(""),A=null,P=F(0);const M=["[core] reticulating splines…","[io] calibrating the flux capacitor…","[net] pinging the oracle (no response)…","[gpu] overclocking the neurons…","[fs] loading sarcasm module v4.2…","[mem] defragmenting the embedding space…","[sched] running gradient descent into madness…","[net] synchronizing with the hive mind…","[model] tickling the transformer…","[io] consulting rubber duck debugger…"];let R=F(!0),T=F(!0),V=F(!0),H=F(Li([])),X=F(!0),se=F(!1),he,J=F(Li([])),de=F(0),we,re;const ae=Lt(()=>({apiref:!1,shedb:c(R),sampleDocs:c(T),tools:c(V)})),De=Lt(()=>{var I;return((I=c(u))==null?void 0:I.configured)??!1}),Pe=Lt(()=>c(de)+new TextEncoder().encode(c(r)).length),xe=Lt(()=>c(X)?t():null);async function Ve(){try{const I=await xF();m(u,I,!0),I.configured&&!c(g)&&m(g,I.model,!0)}catch{}}Kn(()=>(window.addEventListener("she:config-changed",Ve),()=>window.removeEventListener("she:config-changed",Ve))),Xs(()=>{Ve()}),Kn(()=>{c(g)&&localStorage.setItem("she:selectedModel",c(g))}),Kn(()=>{var I;(I=c(u))!=null&&I.provider&&mF().then(N=>{m(f,N.models,!0),!c(g)&&N.models.length>0&&m(g,N.models[0],!0)}).catch(()=>{})}),Kn(()=>{c(g),m(b,null),m(w,"")}),Kn(()=>{const I=c(ae),N=c(xe),$=c(H);c(De)&&vF({context:I,currentView:N??null,extraFiles:$.length>0?$:void 0}).then(oe=>{m(de,new TextEncoder().encode(oe.prompt).length,!0)}).catch(()=>{})}),Kn(()=>{if(!c(a))return;m(P,Math.floor(Math.random()*M.length),!0);const I=setInterval(()=>{m(P,(c(P)+1)%M.length)},1e4);return()=>clearInterval(I)}),Kn(()=>{var I;re&&(c(n).length+(((I=c(s))==null?void 0:I.length)??0),requestAnimationFrame(()=>{re&&(re.scrollTop=re.scrollHeight)}))});function ze(I){const N=[],$=/```(\w*)\n([\s\S]*?)```/g;let oe=0,ie;for(;(ie=$.exec(I))!==null;)ie.index>oe&&N.push({type:"text",text:I.slice(oe,ie.index)}),N.push({type:"code",lang:ie[1]||"text",text:ie[2].trimEnd()}),oe=ie.index+ie[0].length;return oe<I.length&&N.push({type:"text",text:I.slice(oe)}),N}function ve(I){const N=[],$=/```(\w*)\n([\s\S]*?)```/g;let oe=0,ie;for(;(ie=$.exec(I))!==null;)ie.index>oe&&N.push({type:"text",text:I.slice(oe,ie.index)}),N.push({type:"code",lang:ie[1]||"text",text:ie[2].trimEnd()}),oe=ie.index+ie[0].length;const ne=I.slice(oe),le=ne.match(/```(\w*)\n([\s\S]*)$/);return le?(le.index>0&&N.push({type:"text",text:ne.slice(0,le.index)}),N.push({type:"code",lang:le[1]||"text",text:le[2]})):ne&&N.push({type:"text",text:ne}),N}function ht(I){const N={};for(const $ of I)if($.type==="code"){if($.lang==="filter")N.filter=$.text.trim();else if(nt($.lang)){const oe=$.text.split(`
223
+ `)[0].trim();oe==="// @view-map"?N.map=$.text.split(`
224
+ `).slice(1).join(`
225
+ `).trim():oe==="// @view-reduce"&&(N.reduce=$.text.split(`
226
+ `).slice(1).join(`
227
+ `).trim())}}return N}function Mt(I){return I.filter!==void 0||I.map!==void 0||I.reduce!==void 0}function ot(I){const N=[];return I.filter!==void 0&&N.push("filter"),I.map!==void 0&&N.push("map"),I.reduce!==void 0&&N.push("reduce"),`Apply ${N.join(" + ")}`}const yt=15;function Ce(I){return I.split(`
228
+ `).length>yt}function Rt(I){const N=new Set(c(p));N.has(I)?N.delete(I):N.add(I),m(p,N,!0)}function ai(I,N){if(nt(N))try{return Hv.highlight(I,{language:"javascript"}).value}catch{}return I.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Ge(I){return ss.parse(I)}function nt(I){return!I||I==="js"||I==="javascript"}function Dt(I){navigator.clipboard.writeText(I).catch(()=>{})}async function Jt(){if(m(C,!0),!(c(b)||c(y))){m(y,!0),m(w,"");try{m(b,await gw(c(g)||c(u).model),!0)}catch(I){m(w,I.message,!0)}m(y,!1)}}function di(I){return I>=1e9?`${(I/1e9).toFixed(1)} GB`:I>=1e6?`${(I/1e6).toFixed(0)} MB`:`${I} B`}function ci(I){const N=I.match(/\.([^.]+)$/);return N?N[1].toUpperCase():"?"}function xi(I){switch(I){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return I}}function _i(I){m(H,c(H).filter((N,$)=>$!==I),!0)}function Ke(){he.click()}async function Ee(I){if(!(!I||I.length===0))for(const N of Array.from(I)){const $=await N.text();m(H,[...c(H),{name:N.name,content:$}],!0)}}function ii(I){const N=I.target;Ee(N.files),N.value=""}function bi(I){var N;I.preventDefault(),m(se,!1),Ee(((N=I.dataTransfer)==null?void 0:N.files)??null)}function ni(I){var N;(N=I.dataTransfer)!=null&&N.types.includes("Files")&&(I.preventDefault(),m(se,!0))}function $i(){m(se,!1)}async function Zi(){const I=c(r).trim();if(!(!I||c(a))){m(r,""),m(d,""),m(a,!0),m(n,[...c(n),{role:"user",content:I}],!0),A=new AbortController,m(J,[],!0);try{await _F({messages:c(n),currentView:c(xe),context:c(ae),modelOverride:c(g)||void 0,extraFiles:c(H).length>0?c(H):void 0},N=>{m(s,(c(s)??"")+N)},A.signal,N=>{m(J,[...c(J),N],!0)}),m(n,[...c(n),{role:"assistant",content:c(s)??"",toolEvents:c(J).length>0?[...c(J)]:void 0}],!0),m(J,[],!0)}catch(N){if(N.name==="AbortError"){const $=c(s);$!=null&&$.trim()&&m(n,[...c(n),{role:"assistant",content:$+`
229
+
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 wi(){A==null||A.abort()}function yn(I){I.key==="Enter"&&!I.shiftKey&&(I.preventDefault(),Zi())}function un(){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 fn(I){m(r,I,!0),we==null||we.focus()}var ft=MX(),Gt=Et(ft),Pi=_(Gt),qi=v(_(Pi),2);{var Ci=I=>{var N=JZ(),$=_(N);{var oe=ne=>{var le=Co();j(()=>W(le,`${c(u).provider??""} · ${(c(g)||c(u).model)??""}`)),D(ne,le)},ie=ne=>{var le=Co("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(qi,I=>{c(u)&&I(Ci)})}var Wi=v(qi,2);{var Vi=I=>{var N=eX();U("click",N,un),D(I,N)};z(Wi,I=>{c(n).length>0&&I(Vi)})}var Qi=v(Pi,2),Si=_(Qi);{var it=I=>{var N=tX();D(I,N)},At=I=>{var N=sX(),$=_(N),oe=_($);{var ie=tt=>{var Fe=iX(),_e=v(Et(Fe)),Ze=_(_e);j(()=>W(Ze,t().id)),D(tt,Fe)},ne=tt=>{var Fe=Co("No view selected. Ask a general sheDB view question.");D(tt,Fe)};z(oe,tt=>{t()?tt(ie):tt(ne,-1)})}var le=v($,2);ti(le,17,()=>cn,Hi,(tt,Fe)=>{var _e=nX(),Ze=_(_e);j(()=>W(Ze,c(Fe))),U("click",_e,()=>fn(c(Fe))),D(tt,_e)}),D(I,N)};z(Si,I=>{c(De)?c(n).length===0&&c(s)===null&&I(At,1):I(it)})}var Oi=v(Si,2);ti(Oi,17,()=>c(n),Hi,(I,N,$)=>{var oe=dX(),ie=_(oe);{var ne=tt=>{var Fe=oX(),_e=_(Fe);j(()=>W(_e,c(N).content)),D(tt,Fe)},le=tt=>{const Fe=Lt(()=>ze(c(N).content)),_e=Lt(()=>ht(c(Fe)));var Ze=cX(),Me=Et(Ze);{var lt=Le=>{var He=O2();ti(He,21,()=>c(N).toolEvents,Hi,(St,gt)=>{var Ie=ws(),pe=Et(Ie);{var Re=Ue=>{var rt=R2(),qe=v(_(rt)),vt=_(qe);j(ge=>W(vt,ge),[()=>c(gt).name.replace(/_/g," ")]),D(Ue,rt)},Ne=Ue=>{var rt=N2(),qe=v(_(rt)),vt=_(qe);j(ge=>W(vt,ge),[()=>c(gt).name.replace(/_/g," ")]),D(Ue,rt)};z(pe,Ue=>{c(gt).type==="tool_call"?Ue(Re):Ue(Ne,-1)})}D(St,Ie)}),D(Le,He)};z(Me,Le=>{var He;(He=c(N).toolEvents)!=null&&He.length&&Le(lt)})}var Xt=v(Me,2),Z=_(Xt);ti(Z,17,()=>c(Fe),Hi,(Le,He,St)=>{var gt=ws(),Ie=Et(gt);{var pe=Ne=>{var Ue=H2();hc(Ue,()=>Ge(c(He).text),!0),D(Ne,Ue)},Re=Ne=>{const Ue=Lt(()=>`${$}:${St}`),rt=Lt(()=>Ce(c(He).text)),qe=Lt(()=>c(p).has(c(Ue))),vt=Lt(()=>c(He).lang==="filter");var ge=aX(),Oe=_(ge),_t=_(Oe),jt=_(_t),Ct=v(_t,2),Ni=_(Ct),Mi=v(Oe,2);let Ji;var Fi=_(Mi),ui=_(Fi);hc(ui,()=>ai(c(He).text,c(He).lang??""),!0);var zt=v(Fi,2);{var kt=Wt=>{var oi=rX(),vi=_(oi);j(()=>W(vi,c(qe)?"▲ collapse":"▼ expand")),U("click",oi,()=>Rt(c(Ue))),D(Wt,oi)};z(zt,Wt=>{c(rt)&&Wt(kt)})}j(()=>{W(jt,c(vt)?"filter":c(He).lang),Ji=Ft(Mi,1,"code-body svelte-1twuiul",null,Ji,{collapsed:c(rt)&&!c(qe)})}),U("click",Ni,()=>Dt(c(He).text)),D(Ne,ge)};z(Ie,Ne=>{c(He).type==="text"?Ne(pe):Ne(Re,-1)})}D(Le,gt)});var ce=v(Z,2);{var je=Le=>{var He=lX(),St=_(He),gt=_(St);j(Ie=>W(gt,Ie),[()=>ot(c(_e))]),U("click",St,()=>e.onApplyView(c(_e))),D(Le,He)},mt=Lt(()=>Mt(c(_e))&&e.onApplyView);z(ce,Le=>{c(mt)&&Le(je)})}D(tt,Ze)};z(ie,tt=>{c(N).role==="user"?tt(ne):tt(le,-1)})}j(()=>Ft(oe,1,`message ${c(N).role??""}`,"svelte-1twuiul")),D(I,oe)});var Ti=v(Oi,2);{var Bi=I=>{var N=O2();ti(N,21,()=>c(J),Hi,($,oe)=>{var ie=ws(),ne=Et(ie);{var le=Fe=>{var _e=R2(),Ze=v(_(_e)),Me=_(Ze);j(lt=>W(Me,lt),[()=>c(oe).name.replace(/_/g," ")]),D(Fe,_e)},tt=Fe=>{var _e=N2(),Ze=v(_(_e)),Me=_(Ze);j(lt=>W(Me,lt),[()=>c(oe).name.replace(/_/g," ")]),D(Fe,_e)};z(ne,Fe=>{c(oe).type==="tool_call"?Fe(le):Fe(tt,-1)})}D($,ie)}),D(I,N)};z(Ti,I=>{c(J).length>0&&I(Bi)})}var Ri=v(Ti,2);{var K=I=>{var N=uX(),$=_(N),oe=_($),ie=_(oe);j(()=>W(ie,M[c(P)])),D(I,N)};z(Ri,I=>{c(a)&&c(s)===null&&c(J).length===0&&I(K)})}var Ae=v(Ri,2);{var Xe=I=>{var N=fX(),$=_(N);ti($,21,()=>ve(c(s)),Hi,(oe,ie)=>{var ne=ws(),le=Et(ne);{var tt=_e=>{var Ze=H2();hc(Ze,()=>Ge(c(ie).text),!0),D(_e,Ze)},Fe=_e=>{var Ze=hX(),Me=_(Ze),lt=_(Me),Xt=_(lt),Z=v(Me,2),ce=_(Z);hc(ce,()=>ai(c(ie).text,c(ie).lang??""),!0),j(()=>W(Xt,c(ie).lang)),D(_e,Ze)};z(le,_e=>{c(ie).type==="text"?_e(tt):_e(Fe,-1)})}D(oe,ne)}),D(I,N)};z(Ae,I=>{c(s)!==null&&I(Xe)})}gs(Qi,I=>re=I,()=>re);var st=v(Qi,2);{var Kt=I=>{var N=gX(),$=_(N);j(()=>W($,c(d))),D(I,N)};z(st,I=>{c(d)&&I(Kt)})}var si=v(st,2),xt=_(si),dt=_(xt),Y=v(xt,2),Te=_(Y),Ye=v(Y,2),ke=_(Ye),It=v(Ye,2),$t=_(It),te=v(si,2),Je=_(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(Je,I=>{t()&&I(Pt)})}var Bt=v(Je,2);ti(Bt,17,()=>c(H),Hi,(I,N,$)=>{const oe=Lt(()=>ci(c(N).name));var ie=xX(),ne=_(ie),le=_(ne),tt=v(ne,2),Fe=_(tt),_e=v(tt,2);j((Ze,Me)=>{Ft(ne,1,`badge badge-${Ze??""}`,"svelte-1twuiul"),W(le,Me),W(Fe,c(N).name)},[()=>c(oe).toLowerCase(),()=>xi(c(oe))]),U("click",_e,()=>_i($)),D(I,ie)});var Ot=v(Bt,2),Se=v(Ot,2);gs(Se,I=>he=I,()=>he);var Qe=v(te,2);let Yt;var Zt=_(Qe);let mi;var ei=_(Zt);gs(ei,I=>we=I,()=>we);var fe=v(Zt,2);{var et=I=>{var N=mX();U("click",N,wi),D(I,N)},at=I=>{var N=vX();j($=>N.disabled=$,[()=>!c(r).trim()||!c(De)]),U("click",N,Zi),D(I,N)};z(fe,I=>{c(a)?I(et):I(at,-1)})}var ct=v(Qe,2);{var Ut=I=>{var N=yX(),$=_(N),oe=_($),ie=v($,2);{var ne=_e=>{var Ze=bX();ti(Ze,21,()=>c(f),Hi,(Me,lt)=>{var Xt=_X(),Z=_(Xt),ce={};j(()=>{W(Z,c(lt)),ce!==(ce=c(lt))&&(Xt.value=(Xt.__value=c(lt))??"")}),D(Me,Xt)}),j(()=>Ze.disabled=c(a)),Fs(Ze,()=>c(g),Me=>m(g,Me)),D(_e,Ze)},le=_e=>{var Ze=CX(),Me=_(Ze);j(()=>W(Me,c(g)||c(u).model)),D(_e,Ze)};z(ie,_e=>{c(f).length>0?_e(ne):_e(le,-1)})}var tt=v(ie,2);{var Fe=_e=>{var Ze=EX();U("click",Ze,Jt),D(_e,Ze)};z(tt,_e=>{c(u).provider==="ollama"&&_e(Fe)})}j(()=>W(oe,c(u).provider)),D(I,N)};z(ct,I=>{c(De)&&c(u)&&I(Ut)})}var Ht=v(Gt,2);{var Ei=I=>{var N=TX(),$=_(N),oe=_($),ie=_(oe),ne=_(ie),le=v(ie,2),tt=v(oe,2),Fe=_(tt);{var _e=lt=>{var Xt=wX();D(lt,Xt)},Ze=lt=>{var Xt=SX(),Z=_(Xt);j(()=>W(Z,c(w))),D(lt,Xt)},Me=lt=>{var Xt=PX(),Z=_(Xt);{var ce=Ne=>{var Ue=DX(),rt=v(Et(Ue)),qe=_(rt);j(()=>W(qe,c(b).version)),D(Ne,Ue)};z(Z,Ne=>{c(b).version&&Ne(ce)})}var je=v(Z,2);{var mt=Ne=>{var Ue=AX(),rt=v(Et(Ue)),qe=_(rt);j(()=>W(qe,c(b).details.family)),D(Ne,Ue)};z(je,Ne=>{var Ue;(Ue=c(b).details)!=null&&Ue.family&&Ne(mt)})}var Le=v(je,2);{var He=Ne=>{var Ue=kX(),rt=v(Et(Ue)),qe=_(rt);j(()=>W(qe,c(b).details.parameter_size)),D(Ne,Ue)};z(Le,Ne=>{var Ue;(Ue=c(b).details)!=null&&Ue.parameter_size&&Ne(He)})}var St=v(Le,2);{var gt=Ne=>{var Ue=BX(),rt=v(Et(Ue)),qe=_(rt);j(()=>W(qe,c(b).details.quantization_level)),D(Ne,Ue)};z(St,Ne=>{var Ue;(Ue=c(b).details)!=null&&Ue.quantization_level&&Ne(gt)})}var Ie=v(St,2);{var pe=Ne=>{var Ue=LX(),rt=v(Et(Ue),2);ti(rt,21,()=>c(b).running,Hi,(qe,vt)=>{var ge=FX(),Oe=_(ge);j(_t=>W(Oe,`${c(vt).name??""} · ${_t??""} VRAM`),[()=>di(c(vt).size_vram)]),D(qe,ge)}),D(Ne,Ue)},Re=Ne=>{var Ue=IX();D(Ne,Ue)};z(Ie,Ne=>{c(b).running&&c(b).running.length>0?Ne(pe):c(b).running!==null&&Ne(Re,1)})}D(lt,Xt)};z(Fe,lt=>{c(y)?lt(_e):c(w)?lt(Ze,1):c(b)&&lt(Me,2)})}j(()=>{var lt;return W(ne,`Ollama · ${(c(g)||((lt=c(u))==null?void 0:lt.model))??""}`)}),U("click",N,()=>m(C,!1)),U("click",$,lt=>lt.stopPropagation()),U("click",le,()=>m(C,!1)),D(I,N)};z(Ht,I=>{c(C)&&I(Ei)})}j(I=>{W($t,I),Yt=Ft(Qe,1,"input-row svelte-1twuiul",null,Yt,{"drag-over":c(se)}),mi=Ft(Zt,1,"textarea-wrap svelte-1twuiul",null,mi,{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)},[()=>di(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,Ke),U("change",Se,ii),xs("dragover",Qe,ni),xs("dragleave",Qe,$i),xs("drop",Qe,bi),U("keydown",ei,yn),Vt(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 GC(o,e){js(e,!0);let t=Tu(e,"value",15,""),i=Tu(e,"language",3,"javascript"),n,s,r=!1;Xs(()=>{const d=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=_r.create(n,{value:t(),language:i(),theme:"vs-dark",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},...d}),s.onDidChangeModelContent(()=>{r||t(s.getValue())})}),Wp(()=>s==null?void 0:s.dispose()),Kn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=NX();gs(a,d=>n=d,()=>n),D(o,a),$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>'),W2=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),z2=B("<li> </li>"),V2=B('<div class="error-bar svelte-rrt0o"> </div>'),j2=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=it=>{var At=OX(),Oi=Et(At);gs(Yc(Oi,{}),Ti=>xi=Ti,()=>xi),D(it,At)};let i=F(Li([])),n=F(null),s=F("{}"),r=F(!1),a=F(null);const d="she-db-selected-view";let u=F(Li([])),f=F(Li(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(Li(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(Li(parseInt(localStorage.getItem(we)??"220",10))),ae=!1,De=0,Pe=0;const xe="she-db-chat-width",Ve="she-db-chat-open";let ze=F(localStorage.getItem(Ve)==="true"),ve=F(Li(parseInt(localStorage.getItem(xe)??"320",10))),ht=!1,Mt=0,ot=0;const yt=Lt(()=>c(f)?{id:c(f),filter:c(g),map:c(p),reduce:c(C)}:null);function Ce(it){it.filter!==void 0&&m(g,it.filter,!0),it.map!==void 0&&m(p,it.map,!0),it.reduce!==void 0&&m(C,it.reduce,!0)}Kn(()=>{localStorage.setItem(Ve,String(c(ze)))}),Kn(()=>{localStorage.setItem(T,c(V))}),Kn(()=>{c(f)?localStorage.setItem(d,c(f)):localStorage.removeItem(d)});function Rt(it){ae=!0,De=it.clientX,Pe=c(re),it.preventDefault()}function ai(it){ae&&m(re,Math.max(140,Math.min(500,Pe+it.clientX-De)),!0),ht&&m(ve,Math.max(240,Math.min(600,ot-(it.clientX-Mt))),!0)}function Ge(){ae&&(ae=!1,localStorage.setItem(we,String(c(re)))),ht&&(ht=!1,localStorage.setItem(xe,String(c(ve))))}function nt(it){ht=!0,Mt=it.clientX,ot=c(ve),it.preventDefault()}async function Dt(){try{m(i,await hF(),!0)}catch{}}async function Jt(){try{m(u,await fF(),!0)}catch{}}async function di(it){m(n,it,!0),m(a,null),m(r,!0);try{const At=await j$(it);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 ci(){if(c(n)){m(a,null);try{const it=JSON.parse(c(s));await l2(c(n),it)}catch(it){m(a,it instanceof Error?it.message:String(it),!0)}}}let xi;async function _i(){if(c(n)&&await xi.show(`Delete document "${c(n)}"?`,{confirm:"Delete",danger:!0}))try{await $$(c(n)),m(n,null),m(s,"{}")}catch(it){m(a,it instanceof Error?it.message:String(it),!0)}}async function Ke(){const it=c(H).trim();if(it){m(se,null);try{await l2(it,{}),m(X,!1),m(H,""),await di(it)}catch(At){m(se,At instanceof Error?At.message:String(At),!0)}}}async function Ee(it){m(f,it,!0),m(M,null),m(P,!0),m(A,null);try{const At=await U$(it);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 jC(it).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 it={map:c(p)};c(g).trim()&&(it.filter=c(g).trim()),c(C).trim()&&(it.reduce=c(C).trim()),c(b).trim()&&(it.description=c(b).trim()),c(y)&&(it.mqttpub=!0),c(w)&&(it.retain=!0),await c2(c(f),it)}catch(it){m(M,it instanceof Error?it.message:String(it),!0)}}}async function bi(){if(c(f))try{m(A,await jC(c(f)),!0)}catch(it){m(M,it instanceof Error?it.message:String(it),!0)}}async function ni(){if(c(f)&&await xi.show(`Delete view "${c(f)}"?`,{confirm:"Delete",danger:!0}))try{await q$(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(it){m(M,it instanceof Error?it.message:String(it),!0)}}async function $i(){if(!c(he).trim())return;const it=c(he).trim();m(de,null);try{await c2(it,{map:"// emit(this.someProperty)"}),m(J,!1),m(he,""),await Jt(),await Ee(it)}catch(At){m(de,At instanceof Error?At.message:String(At),!0)}}let Zi=F(""),wi=F(""),yn=Lt(()=>[...c(i)].filter(it=>!c(Zi)||it.toLowerCase().includes(c(Zi).toLowerCase())).sort()),un=Lt(()=>[...c(u)].filter(it=>!c(wi)||it.toLowerCase().includes(c(wi).toLowerCase())).sort());Xs(()=>{Dt(),Jt().then(()=>{c(f)&&c(u).includes(c(f))?Ee(c(f)):m(f,null)}),Pl().then(Bi=>{const Ri=Bi.dbPrefix||"she/db/",K=Ri.endsWith("/")?Ri:Ri+"/";m(R,K+"view/")}).catch(()=>{});const it=ur("db:ids",Bi=>{m(i,Bi.ids??[],!0)}),At=ur("db:viewIds",Bi=>{m(u,Bi.ids??[],!0)}),Oi=ur("db:change",async Bi=>{const Ri=Bi.id;c(n)===Ri&&(Bi.doc===null?(m(n,null),m(s,"{}")):m(s,JSON.stringify(Bi.doc,null,2),!0))}),Ti=ur("db:viewUpdate",async Bi=>{const Ri=Bi.id;c(f)===Ri&&m(A,await jC(Ri).catch(()=>null),!0)});return()=>{it(),At(),Oi(),Ti()}});var cn=tY(),fn=_(cn),ft=_(fn);let Gt;var Pi=v(ft,2);let qi;var Ci=v(Pi,2);{var Wi=it=>{var At=HX();let Oi;j(()=>{Oi=Ft(At,1,"ai-toggle svelte-rrt0o",null,Oi,{"ai-open":c(ze)}),ln(At,"title",c(ze)?"Close AI assistant":"Open AI assistant")}),U("click",At,()=>m(ze,!c(ze))),D(it,At)};z(Ci,it=>{c(V)==="views"&&it(Wi)})}var Vi=v(fn,2);{var Qi=it=>{var At=jX(),Oi=_(At);let Ti;var Bi=_(Oi),Ri=_(Bi),K=v(Bi,2);{var Ae=Ye=>{var ke=WX(),It=Et(ke),$t=_(It),te=v($t,2),Je=v(It,2);{var Pt=Bt=>{var Ot=W2(),Se=_(Ot);j(()=>W(Se,c(se))),D(Bt,Ot)};z(Je,Bt=>{c(se)&&Bt(Pt)})}U("keydown",$t,Bt=>Bt.key==="Enter"&&Ke()),Vt($t,()=>c(H),Bt=>m(H,Bt)),U("click",te,Ke),D(Ye,ke)};z(K,Ye=>{c(X)&&Ye(Ae)})}var Xe=v(K,2),st=_(Xe),Kt=v(Xe,2);ti(Kt,20,()=>c(yn),Ye=>Ye,(Ye,ke)=>{var It=z2();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,()=>di(ke)),D(Ye,It)});var si=v(Oi,2),xt=v(si,2),dt=_(xt);{var Y=Ye=>{var ke=VX(),It=Et(ke),$t=_(It),te=_($t),Je=v($t,2),Pt=v(Je,2),Bt=v(It,2);{var Ot=Zt=>{var mi=V2(),ei=_(mi);j(()=>W(ei,c(a))),D(Zt,mi)};z(Bt,Zt=>{c(a)&&Zt(Ot)})}var Se=v(Bt,2);{var Qe=Zt=>{var mi=j2();D(Zt,mi)},Yt=Zt=>{var mi=zX(),ei=_(mi);GC(ei,{language:"json",get value(){return c(s)},set value(fe){m(s,fe,!0)}}),D(Zt,mi)};z(Se,Zt=>{c(r)?Zt(Qe):Zt(Yt,-1)})}j(()=>W(te,c(n))),U("click",Je,ci),U("click",Pt,_i),D(Ye,ke)},Te=Ye=>{t(Ye)};z(dt,Ye=>{c(n)?Ye(Y):Ye(Te,-1)})}j(()=>Ti=Uo(Oi,"",Ti,{width:`${c(re)??""}px`})),U("click",Ri,()=>{m(X,!c(X)),m(se,null)}),Vt(st,()=>c(Zi),Ye=>m(Zi,Ye)),U("mousedown",si,Rt),D(it,At)},Si=it=>{var At=eY(),Oi=_(At);let Ti;var Bi=_(Oi),Ri=_(Bi),K=v(Bi,2);{var Ae=It=>{var $t=$X(),te=Et($t),Je=_(te),Pt=v(Je,2),Bt=v(te,2);{var Ot=Se=>{var Qe=W2(),Yt=_(Qe);j(()=>W(Yt,c(de))),D(Se,Qe)};z(Bt,Se=>{c(de)&&Se(Ot)})}U("keydown",Je,Se=>Se.key==="Enter"&&$i()),Vt(Je,()=>c(he),Se=>m(he,Se)),U("click",Pt,$i),D(It,$t)};z(K,It=>{c(J)&&It(Ae)})}var Xe=v(K,2),st=_(Xe),Kt=v(Xe,2);ti(Kt,20,()=>c(un),It=>It,(It,$t)=>{var te=z2();let Je;var Pt=_(te);j(()=>{Je=Ft(te,1,"flat-item svelte-rrt0o",null,Je,{"active-item":c(f)===$t}),W(Pt,$t)}),U("click",te,()=>Ee($t)),D(It,te)});var si=v(Oi,2),xt=v(si,2),dt=_(xt);{var Y=It=>{var $t=QX(),te=Et($t),Je=_(te),Pt=_(Je),Bt=v(Je,2),Ot=v(Bt,2),Se=v(Ot,2),Qe=v(te,2);{var Yt=fe=>{var et=V2(),at=_(et);j(()=>W(at,c(M))),D(fe,et)};z(Qe,fe=>{c(M)&&fe(Yt)})}var Zt=v(Qe,2);{var mi=fe=>{var et=j2();D(fe,et)},ei=fe=>{var et=YX(),at=_(et),ct=v(_(at),2),Ut=_(ct),Ht=v(at,2),Ei=v(_(Ht),2),I=_(Ei),N=v(Ht,2),$=v(_(N),2),oe=_($);GC(oe,{language:"javascript",get value(){return c(p)},set value(mt){m(p,mt,!0)}});var ie=v(N,2),ne=v(_(ie),2),le=_(ne);GC(le,{language:"javascript",get value(){return c(C)},set value(mt){m(C,mt,!0)}});var tt=v(ie,2),Fe=_(tt),_e=_(Fe),Ze=v(_e,4),Me=v(_(Ze)),lt=_(Me),Xt=v(Fe,2);{var Z=mt=>{var Le=UX(),He=_(Le);ys(He,()=>c(w),St=>m(w,St)),D(mt,Le)};z(Xt,mt=>{c(y)&&mt(Z)})}var ce=v(tt,2);{var je=mt=>{var Le=XX(),He=_(Le),St=v(_(He));{var gt=Ue=>{var rt=qX();D(Ue,rt)},Ie=Ue=>{var rt=GX(),qe=_(rt);j(()=>W(qe,`${c(A).length??0??""} items · rev ${c(A)._rev??""}`)),D(Ue,rt)};z(St,Ue=>{c(A).error?Ue(gt):Ue(Ie,-1)})}var pe=v(He,2);{var Re=Ue=>{var rt=KX(),qe=_(rt);j(()=>W(qe,c(A).error)),D(Ue,rt)},Ne=Ue=>{var rt=ZX(),qe=_(rt);j(vt=>W(qe,vt),[()=>JSON.stringify(c(A).result,null,2)]),D(Ue,rt)};z(pe,Ue=>{c(A).error?Ue(Re):Ue(Ne,-1)})}D(mt,Le)};z(ce,mt=>{c(A)&&mt(je)})}j(()=>W(lt,`${c(R)??""}${c(f)??""} on every update`)),Vt(Ut,()=>c(b),mt=>m(b,mt)),Vt(I,()=>c(g),mt=>m(g,mt)),ys(_e,()=>c(y),mt=>m(y,mt)),D(fe,et)};z(Zt,fe=>{c(P)?fe(mi):fe(ei,-1)})}j(()=>W(Pt,c(f))),U("click",Bt,ii),U("click",Ot,bi),U("click",Se,ni),D(It,$t)},Te=It=>{t(It)};z(dt,It=>{c(f)?It(Y):It(Te,-1)})}var Ye=v(xt,2);{var ke=It=>{var $t=JX(),te=Et($t),Je=v(te,2);let Pt;var Bt=_(Je);RX(Bt,{get currentView(){return c(yt)},onApplyView:Ce}),j(()=>Pt=Uo(Je,"",Pt,{width:`${c(ve)??""}px`})),U("mousedown",te,nt),D(It,$t)};z(Ye,It=>{c(ze)&&It(ke)})}j(()=>Ti=Uo(Oi,"",Ti,{width:`${c(re)??""}px`})),U("click",Ri,()=>{m(J,!c(J)),m(de,null)}),Vt(st,()=>c(wi),It=>m(wi,It)),U("mousedown",si,Rt),D(it,At)};z(Vi,it=>{c(V)==="docs"?it(Qi):it(Si,-1)})}j(()=>{Gt=Ft(ft,1,"svelte-rrt0o",null,Gt,{active:c(V)==="docs"}),qi=Ft(Pi,1,"svelte-rrt0o",null,qi,{active:c(V)==="views"})}),U("mousemove",cn,ai),U("mouseup",cn,Ge),xs("mouseleave",cn,Ge),U("click",ft,()=>m(V,"docs")),U("click",Pi,()=>m(V,"views")),D(o,cn),$s()}Ys(["mousemove","mouseup","click","keydown","mousedown"]);var bm={exports:{}},nY=bm.exports,$2;function sY(){return $2||($2=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),Ve=d(X,2,V-3),he=0,ze=-2;ze<=2;ze++)for(var ve=-2;ve<=2;ve++)he+=H.get(xe+ze,Ve+ve);for(var ht=he/25,ze=0;ze<r;ze++)for(var ve=0;ve<r;ve++){var w=se*r+ze,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 Ve=R.get(xe,De);H({y:De,x:xe})&&(Ve=!Ve),J=f(Ve,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(Ve){for(var ze=0;ze<Ve.numBlocks;ze++)X.push({numDataCodewords:Ve.dataCodewordsPerBlock,codewords:[]}),se+=Ve.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,Ve=se,ze=he;Ve!==J+De;Ve+=De){var ve=X?ze:Ve,ht=X?Ve:ze;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(ze===de)break;ze+=Pe,ae-=we}}for(var Mt=[],ot=0;ot<V;ot++)H[ot]&&H[ot+1]?Mt.push(d(H[ot],H[ot+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,ot=[0,0,0,0,0],yt=function(Rt){var ai=M.get(Rt,ve);if(ai===Mt)ht++;else{ot=[ot[1],ot[2],ot[3],ot[4],ht],ht=1,Mt=ai;var Ge=u(ot)/7,nt=Math.abs(ot[0]-Ge)<Ge&&Math.abs(ot[1]-Ge)<Ge&&Math.abs(ot[2]-3*Ge)<3*Ge&&Math.abs(ot[3]-Ge)<Ge&&Math.abs(ot[4]-Ge)<Ge&&!ai,Dt=u(ot.slice(-3))/3,Jt=Math.abs(ot[2]-Dt)<Dt&&Math.abs(ot[3]-Dt)<Dt&&Math.abs(ot[4]-Dt)<Dt&&ai;if(nt){var di=Rt-ot[3]-ot[4],ci=di-ot[2],xi={startX:ci,endX:di,y:ve},_i=T.filter(function(ii){return ci>=ii.bottom.startX&&ci<=ii.bottom.endX||di>=ii.bottom.startX&&ci<=ii.bottom.endX||ci<=ii.bottom.startX&&di>=ii.bottom.endX&&ot[2]/(ii.bottom.endX-ii.bottom.startX)<a&&ot[2]/(ii.bottom.endX-ii.bottom.startX)>r});_i.length>0?_i[0].bottom=xi:T.push({top:xi,bottom:xi})}if(Jt){var Ke=Rt-ot[4],Ee=Ke-ot[3],xi={startX:Ee,y:ve,endX:Ke},_i=H.filter(function(ni){return Ee>=ni.bottom.startX&&Ee<=ni.bottom.endX||Ke>=ni.bottom.startX&&Ee<=ni.bottom.endX||Ee<=ni.bottom.startX&&Ke>=ni.bottom.endX&&ot[2]/(ni.bottom.endX-ni.bottom.startX)<a&&ot[2]/(ni.bottom.endX-ni.bottom.startX)>r});_i.length>0?_i[0].bottom=xi:H.push({top:xi,bottom:xi})}}},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 ot=[ve.top.endX-ve.top.startX,ve.bottom.endX-ve.bottom.startX,ve.bottom.y-ve.top.y+1],yt=u(ot)/ot.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 ot=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(ot.length<2)return null;var yt=ve.score+ot[0].score+ot[1].score;return{points:[ve].concat(ot.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),Ve=w(M,re),ze=P(M,V,Pe,xe,Ve);return ze&&De.push({alignmentPattern:{x:ze.alignmentPattern.x,y:ze.alignmentPattern.y},bottomLeft:{x:Ve.x,y:Ve.y},topLeft:{x:xe.x,y:xe.y},topRight:{x:Pe.x,y:Pe.y},dimension:ze.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,Ve=(Pe.top.y+Pe.bottom.y+1)/2;if(M.get(Math.floor(xe),Math.floor(Ve))){var ze=[Pe.top.endX-Pe.top.startX,Pe.bottom.endX-Pe.bottom.startX,Pe.bottom.y-Pe.top.y+1];u(ze)/ze.length;var ve=y({x:Math.floor(xe),y:Math.floor(Ve)},[1,1,1],M),ht=ve+d({x:xe,y:Ve},re);return{x:xe,y:Ve,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})})(bm)),bm.exports}var oY=sY();const rY=dS(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),U2=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>'),KC=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,Ye,ke,It){try{await sU(Y,Te,Ye,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 Ye=n[Y];return Te.map(ke=>{const It=typeof ke=="number"?ke:Number(ke);return{id:It,name:(Ye==null?void 0:Ye[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(Li([])),g=Li(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(Li([])),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,Ye=c(X);function ke($t){m(X,Math.max(60,Math.min(600,Ye+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(""),Ve=F(!1),ze=F(null),ve=F(""),ht=F(!1),Mt=F(""),ot=F(void 0),yt=F(void 0),Ce=null,Rt=null;function ai(){Rt!==null&&(cancelAnimationFrame(Rt),Rt=null),Ce&&(Ce.getTracks().forEach(Y=>Y.stop()),Ce=null),m(ht,!1),m(Mt,"")}function Ge(Y){ai(),m(ae,"pairingCode"),m(xe,Y,!0)}function nt(){if(!c(yt))return null;const Y=c(yt).getContext("2d",{willReadFrequently:!0}),{width:Te,height:Ye}=c(yt);if(!Te||!Ye)return null;const ke=Y.getImageData(0,0,Te,Ye);return rY(ke.data,ke.width,ke.height,{inversionAttempts:"dontInvert"})}async function Dt(){if(m(ht,!0),m(Mt,""),await hl(),!c(ot)||!c(yt))return;try{Ce=await navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}}),c(ot).srcObject=Ce,await c(ot).play()}catch(Te){m(Mt,"Camera unavailable: "+(Te instanceof Error?Te.message:String(Te)));return}const Y=()=>{var Te;if(!(!c(ot)||!c(yt)||!Ce)){if(c(ot).readyState===c(ot).HAVE_ENOUGH_DATA){c(yt).width=c(ot).videoWidth,c(yt).height=c(ot).videoHeight,c(yt).getContext("2d",{willReadFrequently:!0}).drawImage(c(ot),0,0);const ke=nt();if((Te=ke==null?void 0:ke.data)!=null&&Te.startsWith("MT:")){Ge(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 Ye=new FileReader;Ye.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 Je=nt();(Pt=Je==null?void 0:Je.data)!=null&&Pt.startsWith("MT:")?Ge(Je.data):m(Mt,"No Matter QR code found in image.")},$t.src=It.target.result},Ye.readAsDataURL(Te)}const di="she:matter:selectedNodeId";async function ci(){try{m(f,await rS(),!0);for(const Y of c(f))mm(Y.nodeId).then(Te=>{g.set(Y.nodeId,Te)}).catch(()=>{});if(c(f).length>0&&!c(J)){const Y=localStorage.getItem(di),Te=Y&&c(f).find(Ye=>Ye.nodeId===Y)?Y:c(f)[0].nodeId;xi(Te)}}catch{m(f,[],!0)}}async function xi(Y){m(de,!0),m(we,null);try{m(J,await mm(Y),!0),g.set(Y,c(J)),localStorage.setItem(di,Y)}catch(Te){m(we,Te instanceof Error?Te.message:String(Te),!0)}finally{m(de,!1)}}let _i;async function Ke(Y){var Te;if(await _i.show(`Unpair device ${Y}?`,{confirm:"Unpair",danger:!0}))try{await nU(Y),((Te=c(J))==null?void 0:Te.nodeId)===Y&&m(J,null),await ci()}catch(Ye){m(we,Ye instanceof Error?Ye.message:String(Ye),!0)}}async function Ee(){m(Ve,!0),m(ze,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 iU(Y),m(re,!1),m(De,""),m(Pe,""),m(xe,""),m(ve,""),await ci()}catch(Y){m(ze,Y instanceof Error?Y.message:String(Y),!0)}finally{m(Ve,!1)}}Xs(()=>{ci()});const ii=ur("matter:deviceList",Y=>{if(!Array.isArray(Y.devices))return;const Te=Y.devices;for(const Ye of Te)g.has(Ye.nodeId)||mm(Ye.nodeId).then(ke=>{g.set(Ye.nodeId,ke)}).catch(()=>{});m(f,Te,!0)}),bi=ur("matter:deviceStatus",Y=>{if(Y.nodeId===void 0)return;const Te=String(Y.nodeId),Ye=!!Y.online;m(f,c(f).map(ke=>ke.nodeId===Te?{...ke,online:Ye}:ke),!0),m(V,[{id:T++,kind:"status",nodeId:Te,online:Ye,ts:Date.now()},...c(V).slice(0,P-1)],!0)}),ni=ur("matter:attr",Y=>{const Te=String(Y.nodeId),Ye=Y.endpointId,ke=String(Y.clusterName),It=String(Y.attrName),$t=Y.value;if(c(J)&&c(J).nodeId===Te){const Je=c(J).endpoints.find(Bt=>Bt.endpointId===Ye),Pt=Je==null?void 0:Je.clusters.find(Bt=>Bt.name===ke);Pt&&(Pt.attrs[It]=$t)}const te=g.get(Te);if(te){const Je=te.endpoints.find(Bt=>Bt.endpointId===Ye),Pt=Je==null?void 0:Je.clusters.find(Bt=>Bt.name===ke);Pt&&(Pt.attrs[It]=$t)}m(V,[{id:T++,kind:"attr",nodeId:Te,endpointId:Ye,clusterName:ke,attrName:It,value:$t,ts:Y.ts??Date.now()},...c(V).slice(0,P-1)],!0)});Wp(()=>{ii(),bi(),ni(),ai()});var $i=QY(),Zi=Et($i);gs(Yc(Zi,{}),Y=>_i=Y,()=>_i);var wi=v(Zi,2),yn=_(wi),un=_(yn),cn=_(un),fn=v(_(cn),2),ft=v(cn,2);{var Gt=Y=>{var Te=cY(),Ye=_(Te),ke=_(Ye);let It;var $t=v(ke,2);let te;var Je=v(Ye,2);{var Pt=ei=>{var fe=aY(),et=Et(fe),at=v(_(et)),ct=v(et,2),Ut=v(_(ct));Vt(at,()=>c(De),Ht=>m(De,Ht)),Vt(Ut,()=>c(Pe),Ht=>m(Pe,Ht)),D(ei,fe)},Bt=ei=>{var fe=lY(),et=Et(fe),at=v(_(et)),ct=v(et,2),Ut=_(ct),Ht=v(Ut,2),Ei=v(_(Ht),2);Vt(at,()=>c(xe),I=>m(xe,I)),U("click",Ut,Dt),U("change",Ei,Jt),D(ei,fe)};z(Je,ei=>{c(ae)==="passcode"?ei(Pt):ei(Bt,-1)})}var Ot=v(Je,2),Se=v(_(Ot)),Qe=v(Ot,2);{var Yt=ei=>{var fe=U2(),et=_(fe);j(()=>W(et,c(ze))),D(ei,fe)};z(Qe,ei=>{c(ze)&&ei(Yt)})}var Zt=v(Qe,2),mi=_(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(Ve),W(mi,c(Ve)?"Commissioning…":"Commission")}),U("click",ke,()=>m(ae,"passcode")),U("click",$t,()=>m(ae,"pairingCode")),Vt(Se,()=>c(ve),ei=>m(ve,ei)),U("click",Zt,Ee),D(Y,Te)};z(ft,Y=>{c(re)&&Y(Gt)})}var Pi=v(ft,2),qi=_(Pi);ti(qi,17,()=>c(f),Y=>Y.nodeId,(Y,Te)=>{var Ye=hY();let ke;var It=_(Ye),$t=_(It);let te;var Je=v($t,2),Pt=_(Je);{var Bt=Qe=>{var Yt=dY(),Zt=Et(Yt),mi=_(Zt),ei=v(Zt,2),fe=_(ei);j(()=>{W(mi,c(Te).name),W(fe,`#${c(Te).nodeId??""}`)}),D(Qe,Yt)},Ot=Qe=>{var Yt=uY(),Zt=_(Yt);j(()=>W(Zt,`Node ${c(Te).nodeId??""}`)),D(Qe,Yt)};z(Pt,Qe=>{c(Te).name?Qe(Bt):Qe(Ot,-1)})}var Se=v(It,2);j(()=>{var Qe;ke=Ft(Ye,1,"svelte-1ua3isv",null,ke,{selected:((Qe=c(J))==null?void 0:Qe.nodeId)===c(Te).nodeId}),te=Ft($t,1,"status-dot svelte-1ua3isv",null,te,{online:c(Te).online})}),U("click",It,()=>xi(c(Te).nodeId)),U("click",Se,()=>Ke(c(Te).nodeId)),D(Y,Ye)});var Ci=v(qi,2);{var Wi=Y=>{var Te=fY();D(Y,Te)};z(Ci,Y=>{c(f).length===0&&Y(Wi)})}var Vi=v(un,2),Qi=_(Vi);{var Si=Y=>{var Te=gY();D(Y,Te)},it=Y=>{var Te=U2(),Ye=_(Te);j(()=>W(Ye,c(we))),D(Y,Te)},At=Y=>{var Te=zY(),Ye=Et(Te),ke=_(Ye),It=_(ke),$t=v(ke,2);{var te=Ot=>{var Se=pY(),Qe=_(Se);j(()=>W(Qe,c(J).subtitle)),D(Ot,Se)};z($t,Ot=>{c(J).subtitle&&Ot(te)})}var Je=v($t,2),Pt=_(Je),Bt=v(Ye,2);ti(Bt,17,()=>c(J).endpoints,Ot=>Ot.endpointId,(Ot,Se)=>{var Qe=WY(),Yt=_(Qe),Zt=_(Yt),mi=v(Zt),ei=_(mi),fe=v(mi,2);ti(fe,21,()=>c(Se).clusters,Hi,(Ut,Ht)=>{var Ei=xY(),I=_(Ei);j(()=>W(I,c(Ht).name)),D(Ut,Ei)});var et=v(Yt,2);{var at=Ut=>{var Ht=OY(),Ei=v(_(Ht));ti(Ei,21,()=>c(Se).clusters,Hi,(I,N)=>{var $=NY(),oe=Et($),ie=_(oe),ne=_(ie),le=v(oe,2);ti(le,17,()=>Object.entries(c(N).attrs),Hi,(tt,Fe)=>{var _e=Lt(()=>r8(c(Fe),2));let Ze=()=>c(_e)[0],Me=()=>c(_e)[1];var lt=ws(),Xt=Et(lt);{var Z=je=>{const mt=Lt(()=>{var zt;return(zt=t[c(N).name])==null?void 0:zt[Ze()]}),Le=Lt(()=>(Ze()==="acceptedCommandList"||Ze()==="generatedCommandList")&&Array.isArray(Me())),He=Lt(()=>{var zt;return((zt=d[c(N).name])==null?void 0:zt[Ze()])??a[Ze()]});var St=RY(),gt=_(St),Ie=_(gt),pe=_(Ie),Re=v(Ie);{var Ne=zt=>{var kt=mY(),Wt=_(kt);j(oi=>W(Wt,`(${oi??""})`),[()=>u(c(He))]),D(zt,kt)};z(Re,zt=>{c(He)!==void 0&&zt(Ne)})}var Ue=v(gt),rt=_(Ue);{var qe=zt=>{var kt=_Y();ti(kt,21,()=>c(mt),Hi,(Wt,oi)=>{var vi=vY(),tn=_(vi);j(()=>W(tn,c(oi).label)),U("click",vi,()=>i(c(J).nodeId,c(Se).endpointId,c(N).name,c(oi).command,c(oi).args)),D(Wt,vi)}),D(zt,kt)};z(rt,zt=>{c(mt)&&zt(qe)})}var vt=v(Ue),ge=_(vt);{var Oe=zt=>{var kt=wY();ti(kt,21,()=>s(c(N).name,Me()),Hi,(Wt,oi,vi)=>{var tn=yY(),Xi=Et(tn);{var Ln=Mn=>{var os=bY();D(Mn,os)};z(Xi,Mn=>{vi>0&&Mn(Ln)})}var Ki=v(Xi,2);{var An=Mn=>{var os=CY(),zi=Et(os),Gs=_(zi),Nn=v(zi),Jn=_(Nn);j(()=>{W(Gs,c(oi).name),W(Jn,`(${c(oi).id??""})`)}),D(Mn,os)},qn=Mn=>{var os=EY(),zi=_(os);j(()=>W(zi,c(oi).id)),D(Mn,os)};z(Ki,Mn=>{c(oi).name?Mn(An):Mn(qn,-1)})}D(Wt,tn)}),D(zt,kt)},_t=zt=>{var kt=AY(),Wt=v(_(kt));ti(Wt,21,Me,Hi,(oi,vi)=>{const tn=Lt(()=>c(vi)),Xi=Lt(()=>c(tn).deviceType),Ln=Lt(()=>r[c(Xi)]);var Ki=DY(),An=_(Ki),qn=_(An);{var Mn=Nn=>{var Jn=SY(),Ms=Et(Jn),er=v(Ms),zr=_(er);j(Xa=>{W(Ms,`${c(Ln)??""} `),W(zr,`(${Xa??""})`)},[()=>u(c(Xi))]),D(Nn,Jn)},os=Nn=>{var Jn=Co();j(Ms=>W(Jn,Ms),[()=>u(c(Xi))]),D(Nn,Jn)};z(qn,Nn=>{c(Ln)?Nn(Mn):Nn(os,-1)})}var zi=v(An),Gs=_(zi);j(Nn=>W(Gs,Nn),[()=>C(c(tn).revision)]),D(oi,Ki)}),D(zt,kt)},jt=Lt(()=>Ze()==="deviceTypeList"&&Array.isArray(Me())),Ct=zt=>{const kt=Lt(()=>[...new Set(Me().flatMap(Xi=>Object.keys(Xi)))]);var Wt=LY(),oi=_(Wt),vi=_(oi);ti(vi,21,()=>c(kt),Hi,(Xi,Ln)=>{var Ki=kY(),An=_(Ki);j(()=>W(An,c(Ln))),D(Xi,Ki)});var tn=v(oi);ti(tn,21,Me,Hi,(Xi,Ln)=>{var Ki=FY();ti(Ki,21,()=>c(kt),Hi,(An,qn)=>{var Mn=BY(),os=_(Mn);j(zi=>W(os,zi),[()=>C(c(Ln)[c(qn)])]),D(An,Mn)}),D(Xi,Ki)}),D(zt,Wt)},Ni=Lt(()=>y(Me())),Mi=zt=>{var kt=PY(),Wt=_(kt);ti(Wt,21,()=>Object.entries(Me()),Hi,(oi,vi)=>{var tn=Lt(()=>r8(c(vi),2));let Xi=()=>c(tn)[0],Ln=()=>c(tn)[1];var Ki=IY(),An=_(Ki),qn=_(An),Mn=v(An),os=_(Mn);j(zi=>{W(qn,Xi()),W(os,zi)},[()=>C(Ln())]),D(oi,Ki)}),D(zt,kt)},Ji=Lt(()=>b(Me())),Fi=zt=>{var kt=TY(),Wt=_(kt);j(()=>{ln(kt,"href",Me()),W(Wt,Me())}),D(zt,kt)},ui=zt=>{var kt=MY(),Wt=_(kt);j(oi=>W(Wt,oi),[()=>C(Me())]),D(zt,kt)};z(ge,zt=>{c(Le)?zt(Oe):c(jt)?zt(_t,1):c(Ni)?zt(Ct,2):c(Ji)?zt(Mi,3):(Ze()==="productUrl"||Ze()==="productURL")&&typeof Me()=="string"?zt(Fi,4):zt(ui,-1)})}j(()=>{ln(gt,"title",Ze()),W(pe,Ze())}),D(je,St)},ce=Lt(()=>!w(Me(),Ze()));z(Xt,je=>{c(ce)&&je(Z)})}D(tt,lt)}),j(()=>W(ne,c(N).name)),D(I,$)}),D(Ut,Ht)},ct=Ut=>{var Ht=HY();D(Ut,Ht)};z(et,Ut=>{c(Se).clusters.length>0?Ut(at):Ut(ct,-1)})}j(()=>{W(Zt,`${c(Se).name??`Endpoint ${c(Se).endpointId}`??""} `),W(ei,`ep${c(Se).endpointId??""}`)}),D(Ot,Qe)}),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(Qi,Y=>{c(de)?Y(Si):c(we)?Y(it,1):c(J)?Y(At,2):Y(Oi,-1)})}var Ti=v(yn,2),Bi=_(Ti),Ri=v(Bi,2),K=v(_(Ri),2);{var Ae=Y=>{var Te=jY(),Ye=_(Te);j(()=>W(Ye,c(V).length)),D(Y,Te)};z(K,Y=>{!c(H)&&c(V).length>0&&Y(Ae)})}var Xe=v(K,2),st=_(Xe),Kt=v(Ri,2);{var si=Y=>{var Te=KY(),Ye=_(Te);{var ke=$t=>{var te=$Y();D($t,te)},It=$t=>{var te=ws(),Je=Et(te);ti(Je,17,()=>c(se),Pt=>Pt.id,(Pt,Bt)=>{const Ot=Lt(()=>{var at,ct;return((at=g.get(c(Bt).nodeId))==null?void 0:at.name)??((ct=c(f).find(Ut=>Ut.nodeId===c(Bt).nodeId))==null?void 0:ct.name)??null}),Se=Lt(()=>{var at,ct;return c(Bt).endpointId!==void 0?((ct=(at=g.get(c(Bt).nodeId))==null?void 0:at.endpoints.find(Ut=>Ut.endpointId===c(Bt).endpointId))==null?void 0:ct.name)??null:null}),Qe=Lt(()=>c(Bt).attrName??c(Bt).clusterName);var Yt=GY(),Zt=_(Yt),mi=_(Zt),ei=v(Zt,2);{var fe=at=>{var ct=UY(),Ut=v(Et(ct),2),Ht=_(Ut),Ei=v(Ht);{var I=ie=>{var ne=KC(),le=v(Et(ne)),tt=_(le);j(()=>W(tt,`(#${c(Bt).nodeId??""})`)),D(ie,ne)};z(Ei,ie=>{c(Ot)&&ie(I)})}var N=v(Ut,2);let $;var oe=_(N);j(()=>{W(Ht,c(Ot)??`#${c(Bt).nodeId}`),$=Ft(N,1,"e-val svelte-1ua3isv",null,$,{"e-online":c(Bt).online,"e-offline":!c(Bt).online}),W(oe,c(Bt).online?"online":"offline")}),D(at,ct)},et=at=>{var ct=qY(),Ut=v(Et(ct),2),Ht=_(Ut),Ei=v(Ht);{var I=Me=>{var lt=KC(),Xt=v(Et(lt)),Z=_(Xt);j(()=>W(Z,`(#${c(Bt).nodeId??""})`)),D(Me,lt)};z(Ei,Me=>{c(Ot)&&Me(I)})}var N=v(Ut,2),$=_(N),oe=v($);{var ie=Me=>{var lt=KC(),Xt=v(Et(lt)),Z=_(Xt);j(()=>W(Z,`(ep ${c(Bt).endpointId??""})`)),D(Me,lt)};z(oe,Me=>{c(Se)&&Me(ie)})}var ne=v(N,2),le=_(ne),tt=v(ne,2),Fe=_(tt),_e=v(tt,2),Ze=_(_e);j(Me=>{W(Ht,c(Ot)??`#${c(Bt).nodeId}`),W($,c(Se)??`ep${c(Bt).endpointId}`),W(le,c(Bt).clusterName),W(Fe,c(Qe)),W(Ze,Me)},[()=>p(c(Bt).value)]),D(at,ct)};z(ei,at=>{c(Bt).kind==="status"?at(fe):at(et,-1)})}j(at=>W(mi,at),[()=>A(c(Bt).ts)]),D(Pt,Yt)}),D($t,te)};z(Ye,$t=>{c(se).length===0?$t(ke):$t(It,-1)})}D(Y,Te)};z(Kt,Y=>{c(H)&&Y(si)})}var xt=v(wi,2);{var dt=Y=>{var Te=YY(),Ye=Et(Te),ke=v(Ye,2),It=_(ke),$t=v(_(It),2),te=v(It,2);{var Je=Ot=>{var Se=ZY(),Qe=_(Se);j(()=>W(Qe,c(Mt))),D(Ot,Se)},Pt=Ot=>{var Se=XY(),Qe=Et(Se),Yt=_(Qe);gs(Yt,Zt=>m(ot,Zt),()=>c(ot)),D(Ot,Se)};z(te,Ot=>{c(Mt)?Ot(Je):Ot(Pt,-1)})}var Bt=v(te,2);gs(Bt,Ot=>m(yt,Ot),()=>c(yt)),U("click",Ye,ai),U("click",$t,ai),D(Y,Te)};z(xt,Y=>{c(ht)&&Y(dt)})}j(()=>{Uo(Ti,c(H)?`height: ${c(X)}px;`:""),W(st,c(H)?"▾":"▸")}),U("click",fn,()=>m(re,!c(re))),U("mousedown",Bi,he),U("click",Xe,()=>{m(H,!c(H))}),D(o,$i),$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=sb)=>{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 tt;var Fe=_(le);{var _e=Ie=>{var pe=eQ();let Re;j(()=>{Re=Ft(pe,1,"chev svelte-1vejtrc",null,Re,{open:c($)}),ln(pe,"aria-label",c($)?"Collapse":"Expand")}),U("click",pe,()=>p(N().path)),D(Ie,pe)},Ze=Ie=>{var pe=tQ();D(Ie,pe)};z(Fe,Ie=>{c(oe)?Ie(_e):Ie(Ze,-1)})}var Me=v(Fe,2),lt=_(Me),Xt=v(Me,2);{var Z=Ie=>{var pe=iQ(),Re=Et(pe),Ne=_(Re),Ue=v(Re,2),rt=_(Ue);j((qe,vt,ge)=>{ln(Re,"title",qe),W(Ne,vt),W(rt,ge)},[()=>{var qe;return di((qe=_i(N().path))==null?void 0:qe.val)},()=>{var qe;return di((qe=_i(N().path))==null?void 0:qe.val)},()=>{var qe;return((qe=_i(N().path))==null?void 0:qe.ts)!=null?ci(_i(N().path).ts):""}]),D(Ie,pe)},ce=Lt(()=>N().isLeaf&&i.has(N().path));z(Xt,Ie=>{c(ce)&&Ie(Z)})}var je=v(Xt,2);{var mt=Ie=>{const pe=Lt(()=>!!c($i)&&cn(N().path));var Re=nQ();let Ne;j(()=>{Ne=Ft(Re,1,"acl-badge svelte-1vejtrc",null,Ne,{matched:c(pe)}),ln(Re,"title",c(pe)?"Has explicit ACL — click to inspect":"No explicit ACL — click to inspect defaults")}),U("click",Re,Ue=>{Ue.stopPropagation(),ft(N().path)}),D(Ie,Re)};z(je,Ie=>{c(bi)&&N().isLeaf&&Ie(mt)})}var Le=v(le,2);{var He=Ie=>{var pe=uQ(),Re=_(pe);{var Ne=rt=>{var qe=sQ();D(rt,qe)},Ue=rt=>{var qe=ws(),vt=Et(qe);ti(vt,17,()=>[{label:"Send",section:c(wi).send},{label:"Subscribe",section:c(wi).subscribe},{label:"Receive",section:c(wi).receive}],Hi,(ge,Oe)=>{var _t=dQ(),jt=_(_t),Ct=_(jt),Ni=v(jt,2);{var Mi=Fi=>{var ui=oQ();let zt;var kt=_(ui);j(()=>{zt=Ft(ui,1,"acl-def svelte-1vejtrc",null,zt,{allow:c(Oe).section.default,deny:!c(Oe).section.default}),W(kt,`${c(Oe).section.default?"allow":"deny"} (default)`)}),D(Fi,ui)},Ji=Fi=>{var ui=ws(),zt=Et(ui);ti(zt,17,()=>c(Oe).section.roles,Hi,(kt,Wt)=>{var oi=cQ();let vi;var tn=_(oi),Xi=v(tn),Ln=_(Xi),Ki=v(Xi,2);{var An=zi=>{var Gs=rQ();D(zi,Gs)};z(Ki,zi=>{c(Wt).dynamic&&zi(An)})}var qn=v(Ki,2);{var Mn=zi=>{var Gs=aQ(),Nn=_(Gs);j(Jn=>W(Nn,Jn),[()=>c(Wt).users.join(", ")]),D(zi,Gs)};z(qn,zi=>{c(Wt).users.length>0&&zi(Mn)})}var os=v(qn,2);ti(os,17,()=>c(Wt).groups,Hi,(zi,Gs)=>{var Nn=lQ(),Jn=_(Nn);j(()=>W(Jn,c(Gs).groupname)),D(zi,Nn)}),j(()=>{vi=Ft(oi,1,"acl-role svelte-1vejtrc",null,vi,{allow:c(Wt).allow,deny:!c(Wt).allow}),W(tn,`${c(Wt).allow?"✓":"✗"} `),W(Ln,c(Wt).rolename)}),D(kt,oi)}),D(Fi,ui)};z(Ni,Fi=>{c(Oe).section.roles.length===0?Fi(Mi):Fi(Ji,-1)})}j(()=>W(Ct,c(Oe).label)),D(ge,_t)}),D(rt,qe)};z(Re,rt=>{c(yn)?rt(Ne):c(wi)&&rt(Ue,1)})}D(Ie,pe)};z(Le,Ie=>{c(bi)&&N().isLeaf&&c(Zi)===N().path&&Ie(He)})}var St=v(Le,2);{var gt=Ie=>{var pe=hQ();ti(pe,21,()=>[...N().children.values()].sort((Re,Ne)=>Re.seg.localeCompare(Ne.seg)),Re=>Re.path,(Re,Ne)=>{t(Re,()=>c(Ne))}),D(Ie,pe)};z(St,Ie=>{c(oe)&&c($)&&Ie(gt)})}j(()=>{tt=Ft(le,1,"tr svelte-1vejtrc",null,tt,{stale:c(ie)}),W(lt,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(),c8(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(Li(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(Li([])),he=F(Li([])),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 Ve(){m(Pe,!0),m(xe,null);try{const I=await pF();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),c8(a)}}const ze=ur("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 u2(oe,"",!0,0)}let ot=Lt(()=>(c(a),[...i.keys()].sort())),yt=F(""),Ce=F(""),Rt=F(!1),ai=F(0),Ge=F(!1),nt=F(null),Dt=F(!1);async function Jt(){if(c(yt)){m(Ge,!0),m(nt,null),m(Dt,!1);try{await u2(c(yt),c(Ce),c(Rt),c(ai)),m(Dt,!0),setTimeout(()=>{m(Dt,!1)},2e3)}catch(I){m(nt,I instanceof Error?I.message:String(I),!0)}finally{m(Ge,!1)}}}function di(I){return I==null?"":typeof I=="object"?JSON.stringify(I):String(I)}function ci(I){return new Date(I).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function xi(I){return new Date(I).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function _i(I){return c(a),i.get(I)}let Ke=Lt(()=>(c(a),[...u.values()].sort((I,N)=>I.seg.localeCompare(N.seg)))),Ee=Lt(()=>(c(a),i.size)),ii=F(!1),bi=F(!1),ni=F(!1),$i=F(null),Zi=F(null),wi=F(null),yn=F(!1);function un(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($i))return!1;for(const N of c($i).roles)if(N.acls){for(const $ of N.acls)if(un($.acltype,$.topic,I)!=="no-match")return!0}return!1}async function fn(){m(ni,!0);try{const I=await EF();m($i,{roles:I.roles},!0)}catch{m($i,null),m(bi,!1)}finally{m(ni,!1)}}async function ft(I){if(c(Zi)===I){m(Zi,null),m(wi,null);return}m(Zi,I,!0),m(wi,null),m(yn,!0);try{m(wi,await BU(I),!0)}catch{m(wi,null)}finally{m(yn,!1)}}async function Gt(){c(bi)?(m(bi,!1),m(Zi,null),m(wi,null)):(m(bi,!0),m(Zi,null),m(wi,null),c($i)||await fn())}Xs(Ve),Xs(async()=>{var I;try{const N=await Lb();m(ii,!!((I=N.dynsec)!=null&&I.dynsecReady),!0)}catch{m(ii,!1)}}),Wp(()=>{ze(),r!==null&&cancelAnimationFrame(r)});var Pi=TQ(),qi=_(Pi),Ci=v(_(qi),2);{var Wi=I=>{var N=pQ(),$=Et(N);let oe;var ie=v(_($),2);{var ne=Fe=>{var _e=Co("…");D(Fe,_e)};z(ie,Fe=>{c(ni)&&Fe(ne)})}var le=v($,2);{var tt=Fe=>{var _e=gQ();j(()=>_e.disabled=c(ni)),U("click",_e,fn),D(Fe,_e)};z(le,Fe=>{c(bi)&&Fe(tt)})}j(()=>{oe=Ft($,1,"acl-btn svelte-1vejtrc",null,oe,{active:c(bi)}),$.disabled=c(ni)}),U("click",$,Gt),D(I,N)};z(Ci,I=>{c(ii)&&I(Wi)})}var Vi=v(qi,2),Qi=_(Vi),Si=_(Qi),it=v(Si,2);ti(it,20,()=>c(ot),I=>I,(I,N)=>{var $=xQ(),oe={};j(()=>{oe!==(oe=N)&&($.value=($.__value=N)??"")}),D(I,$)});var At=v(it,2),Oi=v(At,2),Ti=_(Oi),Bi=v(Oi,2),Ri=_(Bi);Ri.value=Ri.__value=0;var K=v(Ri);K.value=K.__value=1;var Ae=v(K);Ae.value=Ae.__value=2;var Xe=v(Bi,2),st=v(Xe,2);{var Kt=I=>{var N=mQ();D(I,N)};z(st,I=>{c(Dt)&&I(Kt)})}var si=v(st,2);{var xt=I=>{var N=vQ(),$=_(N);j(()=>W($,c(nt))),D(I,N)};z(si,I=>{c(nt)&&I(xt)})}var dt=v(Qi,2),Y=_(dt),Te=v(Y,2),Ye=_(Te);{var ke=I=>{var N=Co();j(()=>W(N,`${c(P).length??""} /`)),D(I,N)};z(Ye,I=>{c(C)&&I(ke)})}var It=v(Ye),$t=v(dt,2);{var te=I=>{var N=_Q();D(I,N)},Je=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(),tt=_(le),Fe=_(tt);ti(Fe,21,()=>c(P).slice(c(M).start,c(M).end),_e=>_e.topic,(_e,Ze)=>{var Me=EQ(),lt=_(Me),Xt=_(lt),Z=v(lt,2),ce=_(Z),je=v(Z,2),mt=_(je);j((Le,He,St)=>{W(Xt,c(Ze).topic),ln(Z,"title",Le),W(ce,He),W(mt,St)},[()=>di(c(Ze).val),()=>di(c(Ze).val),()=>ci(c(Ze).ts)]),D(_e,Me)}),j(()=>{Uo(tt,`height: ${c(M).totalH??""}px; position: relative;`),Uo(Fe,`top: ${c(M).top??""}px;`)}),xs("scroll",le,_e=>{m(w,_e.currentTarget.scrollTop,!0)}),dP(le,"clientHeight",_e=>m(A,_e)),D(ne,le)};z($,ne=>{c(P).length===0?ne(oe):ne(ie,-1)})}D(I,N)},Bt=I=>{var N=SQ(),$=_(N);{var oe=ne=>{var le=wQ();D(ne,le)},ie=ne=>{var le=ws(),tt=Et(le);ti(tt,17,()=>c(Ke),Fe=>Fe.path,(Fe,_e)=>{t(Fe,()=>c(_e))}),D(ne,le)};z($,ne=>{c(Ke).length===0?ne(oe):ne(ie,-1)})}D(I,N)};z($t,I=>{c(Pe)?I(te):c(xe)?I(Je,1):c(C)?I(Pt,2):I(Bt,-1)})}var Ot=v(Vi,2),Se=_(Ot),Qe=v(Se,2),Yt=_(Qe),Zt=v(Yt,2);{var mi=I=>{var N=DQ(),$=_(N);j(()=>W($,c(he).length)),D(I,N)};z(Zt,I=>{!c(J)&&c(he).length>0&&I(mi)})}var ei=v(Zt,2),fe=_(ei),et=v(Qe,2);{var at=I=>{var N=FQ(),$=_(N);{var oe=ne=>{var le=AQ();D(ne,le)},ie=ne=>{var le=ws(),tt=Et(le);ti(tt,17,()=>c(De),Fe=>Fe.id,(Fe,_e)=>{var Ze=BQ();let Me;var lt=_(Ze),Xt=_(lt),Z=v(lt,2);{var ce=St=>{var gt=kQ();D(St,gt)};z(Z,St=>{c(_e).retained&&St(ce)})}var je=v(Z,2),mt=_(je),Le=v(je,2),He=_(Le);j((St,gt,Ie)=>{Me=Ft(Ze,1,"sr svelte-1vejtrc",null,Me,{retained:c(_e).retained}),W(Xt,St),W(mt,c(_e).topic),ln(Le,"title",gt),W(He,Ie)},[()=>xi(c(_e).ts),()=>di(c(_e).val),()=>di(c(_e).val)]),D(Fe,Ze)}),D(ne,le)};z($,ne=>{c(De).length===0?ne(oe):ne(ie,-1)})}D(I,N)};z(et,I=>{c(J)&&I(at)})}var ct=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=Uo(oe,"",ie,{left:`${c(ve).x??""}px`,top:`${c(ve).y??""}px`})),U("click",$,()=>m(ve,null)),U("contextmenu",$,tt=>{tt.preventDefault(),m(ve,null)}),U("click",ne,()=>{navigator.clipboard.writeText(c(ve).topic),m(ve,null)}),U("click",le,()=>{const tt=c(ve).topic,Fe=tt+"/",_e=[...i.keys()].some(Ze=>Ze.startsWith(Fe));m(ht,{topic:tt,hasChildren:_e,recursive:!1},!0),m(ve,null)}),D(I,N)};z(ct,I=>{c(ve)&&I(Ut)})}var Ht=v(ct,2);{var Ei=I=>{var N=PQ(),$=Et(N),oe=v($,2),ie=v(_(oe),2),ne=_(ie),le=v(_(ne)),tt=_(le),Fe=v(ne,2);{var _e=Xt=>{var Z=IQ(),ce=_(Z);ys(ce,()=>c(ht).recursive,je=>c(ht).recursive=je),D(Xt,Z)};z(Fe,Xt=>{c(ht).hasChildren&&Xt(_e)})}var Ze=v(ie,2),Me=_(Ze),lt=v(Me,2);j(()=>W(tt,c(ht).topic)),U("click",$,()=>m(ht,null)),U("click",Me,()=>m(ht,null)),U("click",lt,()=>{const{topic:Xt,recursive:Z}=c(ht);m(ht,null),Mt(Xt,Z)}),D(I,N)};z(Ht,I=>{c(ht)&&I(Ei)})}j(()=>{Xe.disabled=c(Ge)||!c(yt),W(It,` ${c(Ee)??""}`),Uo(Ot,c(J)?`height: ${c(we)}px;`:""),W(fe,c(J)?"▾":"▸")}),Vt(Si,()=>c(yt),I=>m(yt,I)),Vt(At,()=>c(Ce),I=>m(Ce,I)),ys(Ti,()=>c(Rt),I=>m(Rt,I)),Fs(Bi,()=>c(ai),I=>m(ai,I)),U("click",Xe,Jt),Vt(Y,()=>c(C),I=>m(C,I)),U("mousedown",Se,ae),Vt(Yt,()=>c(de),I=>m(de,I)),U("click",ei,()=>{m(J,!c(J))}),D(o,Pi),$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=C6('<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=C6('<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(Li([])),i=F(""),n=F(Li({})),s=F(Li([])),r=F(!1),a=F(""),d=F(Li([])),u=F(!1),f=F(!1),g=F(!1),p=F(""),C=F(""),b=Li({});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 G$(),!0),m(p,"")}catch(ft){m(p,ft.message,!0)}}async function P(){try{m(n,await gF(),!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(Pi=>Pi!==ft):[...c(s),ft];m(s,Gt,!0);try{const Pi=await Pl();await fp({...Pi,pinnedPackages:Gt})}catch{}}async function T(){m(r,!0);try{m(n,await Q$(),!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 K$(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 Pi=await Z$(ft,Gt);m(C,Pi.stdout||Pi.stderr||"Done.",!0),m(u,!0),await A()}catch(Pi){m(p,Pi.message,!0)}finally{b[ft]=!1}}async function se(ft){b[ft]=!0,m(p,""),m(C,"");try{const Gt=await X$(ft);m(C,Gt.stdout||Gt.stderr||"Done.",!0),m(u,!0);const Pi={...c(n)};delete Pi[ft],m(n,Pi,!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 Y$(ft);m(C,Gt.stdout||Gt.stderr||"Done.",!0),m(u,!0);const Pi={...c(n)};delete Pi[ft],m(n,Pi,!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 uF()}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(),Pi=v(_(Gt));U("click",Pi,de),D(ft,Gt)};z(De,ft=>{c(f)?ft(Pe):c(u)&&ft(xe,1)})}var Ve=v(De,2);{var ze=ft=>{var Gt=OQ(),Pi=_(Gt);j(()=>W(Pi,c(p))),D(ft,Gt)};z(Ve,ft=>{c(p)&&ft(ze)})}var ve=v(Ve,2),ht=_(ve),Mt=_(ht),ot=v(_(Mt),2),yt=_(ot),Ce=v(ot,2);{var Rt=ft=>{var Gt=HQ(),Pi=_(Gt);j(()=>W(Pi,`${c(w)??""} outdated`)),D(ft,Gt)};z(Ce,ft=>{c(w)>0&&ft(Rt)})}var ai=v(Ce,2),Ge=_(ai);let nt;var Dt=v(Mt,2),Jt=_(Dt),di=v(Dt,2),ci=_(di);{var xi=ft=>{var Gt=WQ();D(ft,Gt)},_i=ft=>{var Gt=zQ();D(ft,Gt)},Ke=ft=>{var Gt=ws(),Pi=Et(Gt);ti(Pi,17,()=>c(y),qi=>qi.name,(qi,Ci)=>{var Wi=UQ();let Vi;var Qi=_(Wi),Si=_(Qi),it=_(Si),At=v(Si,2),Oi=_(At),Ti=v(At,2);{var Bi=Y=>{var Te=VQ();let Ye;var ke=_(Te);j(It=>{Ye=Ft(Te,1,"dep-latest svelte-twakcj",null,Ye,It),W(ke,`→ v${c(n)[c(Ci).name].latest??""}`)},[()=>({"dep-latest--pinned":c(s).includes(c(Ci).name)})]),D(Y,Te)};z(Ti,Y=>{c(n)[c(Ci).name]&&Y(Bi)})}var Ri=v(Qi,2),K=_(Ri);let Ae;var Xe=v(K,2);let st;var Kt=_(Xe);{var si=Y=>{var Te=jQ();D(Y,Te)},xt=Y=>{var Te=$Q();D(Y,Te)};z(Kt,Y=>{b[c(Ci).name]?Y(si):Y(xt,-1)})}var dt=v(Xe,2);j((Y,Te,Ye)=>{Vi=Ft(Wi,1,"dep-row svelte-twakcj",null,Vi,{"dep-busy":!!b[c(Ci).name]}),ln(Si,"href",c(Ci).url??`https://www.npmjs.com/package/${c(Ci).name}`),W(it,c(Ci).name),W(Oi,c(Ci).installedVersion??c(Ci).version),Ae=Ft(K,1,"icon-btn svelte-twakcj",null,Ae,Y),ln(K,"title",Te),st=Ft(Xe,1,"icon-btn svelte-twakcj",null,st,Ye),Xe.disabled=!!b[c(Ci).name],ln(Xe,"title",c(n)[c(Ci).name]?`Update to v${c(n)[c(Ci).name].latest}`:"Update to latest"),dt.disabled=!!b[c(Ci).name]},[()=>({"icon-btn--pinned":c(s).includes(c(Ci).name)}),()=>c(s).includes(c(Ci).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!c(n)[c(Ci).name]&&!c(s).includes(c(Ci).name)})]),U("click",K,()=>R(c(Ci).name)),U("click",Xe,()=>he(c(Ci).name)),U("click",dt,()=>se(c(Ci).name)),D(qi,Wi)}),D(ft,Gt)};z(ci,ft=>{c(t).length===0?ft(xi):c(y).length===0?ft(_i,1):ft(Ke,-1)})}var Ee=v(ht,2),ii=v(_(Ee),2),bi=_(ii),ni=v(bi,2),$i=_(ni),Zi=v(ii,2);{var wi=ft=>{var Gt=XQ();ti(Gt,21,()=>c(d),Pi=>Pi.name,(Pi,qi)=>{var Ci=ZQ(),Wi=_(Ci),Vi=_(Wi),Qi=_(Vi),Si=v(Vi,2),it=_(Si),At=v(Si,2);{var Oi=st=>{var Kt=qQ(),si=_(Kt);j(()=>W(si,c(qi).author)),D(st,Kt)};z(At,st=>{c(qi).author&&st(Oi)})}var Ti=v(At,2);{var Bi=st=>{var Kt=GQ(),si=_(Kt);j(xt=>{ln(Kt,"title",c(qi).date),W(si,xt)},[()=>H(c(qi).date)]),D(st,Kt)};z(Ti,st=>{c(qi).date&&st(Bi)})}var Ri=v(Ti,2);{var K=st=>{var Kt=KQ(),si=_(Kt);j(()=>W(si,c(qi).description)),D(st,Kt)};z(Ri,st=>{c(qi).description&&st(K)})}var Ae=v(Wi,2),Xe=_(Ae);j(()=>{ln(Vi,"href",c(qi).url??`https://www.npmjs.com/package/${c(qi).name}`),W(Qi,c(qi).name),W(it,c(qi).version),Ae.disabled=!!b[c(qi).name],W(Xe,b[c(qi).name]?"Installing…":"Install")}),U("click",Ae,()=>X(c(qi).name)),D(Pi,Ci)}),D(ft,Gt)};z(Zi,ft=>{c(d).length>0&&ft(wi)})}var yn=v(Zi,2);{var un=ft=>{var Gt=YQ(),Pi=_(Gt);j(()=>W(Pi,c(C))),D(ft,Gt)};z(yn,ft=>{c(C)&&ft(un)})}var cn=v(yn,2);{var fn=ft=>{var Gt=QQ();D(ft,Gt)};z(cn,ft=>{!c(d).length&&!c(C)&&ft(fn)})}j(()=>{W(yt,c(t).length),ai.disabled=c(r),nt=Ft(Ge,0,"svelte-twakcj",null,nt,{spinning:c(r)}),ni.disabled=c(g),W($i,c(g)?"Searching…":"Search")}),U("click",ai,T),Vt(Jt,()=>c(i),ft=>m(i,ft)),U("keydown",bi,ft=>ft.key==="Enter"&&V()),Vt(bi,()=>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>'),Ph=B("<option> </option>"),$x=B('<div class="inline-err svelte-3itf14"> </div>'),q2=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>'),G2=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(Li([])),s=F(Li([])),r=F(Li([])),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 et,at;return!((at=(et=c(n).find(ct=>ct.username===c(g).target))==null?void 0:et.roles)!=null&&at.some(ct=>ct.rolename===fe))}):c(g).kind==="user-groups"?c(r).map(fe=>fe.groupname).filter(fe=>{var et,at;return!((at=(et=c(n).find(ct=>ct.username===c(g).target))==null?void 0:et.groups)!=null&&at.some(ct=>ct.groupname===fe))}):c(g).kind==="group-members"?c(n).map(fe=>fe.username).filter(fe=>{var et,at;return!((at=(et=c(r).find(ct=>ct.groupname===c(g).target))==null?void 0:et.clients)!=null&&at.some(ct=>ct.username===fe))}):c(s).map(fe=>fe.rolename).filter(fe=>{var et,at;return!((at=(et=c(r).find(ct=>ct.groupname===c(g).target))==null?void 0:et.roles)!=null&&at.some(ct=>ct.rolename===fe))}):[]);function w(fe,et){m(g,{kind:fe,target:et},!0),m(p,""),m(C,"")}async function A(){if(!(!c(g)||!c(p))){m(b,!0),m(C,"");try{const{kind:fe,target:et}=c(g);fe==="user-roles"?await xU(et,c(p)):fe==="user-groups"?await h2(c(p),et):fe==="group-members"?await h2(et,c(p)):await SU(et,c(p)),m(g,null),m(p,""),await wi()}catch(fe){m(C,fe.message,!0)}finally{m(b,!1)}}}async function P(fe,et){try{await mU(fe,et),await wi()}catch(at){m(a,at.message,!0)}}async function M(fe,et){try{await f2(et,fe),await wi()}catch(at){m(a,at.message,!0)}}async function R(fe,et){try{await f2(fe,et),await wi()}catch(at){m(u,at.message,!0)}}async function T(fe,et){try{await DU(fe,et),await wi()}catch(at){m(u,at.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(""),Ve=F(""),ze=F(!1),ve=F(null),ht=F(!1),Mt=F("publishClientSend"),ot=F(""),yt=F(!0),Ce=F(""),Rt=F(!1),ai=F(""),Ge=F(""),nt=F(!1),Dt=F(Li([])),Jt=F(""),di=F(!1),ci=F(null),xi=F(""),_i=F(""),Ke=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 bi(){var fe,et;m(Ee,!1),m(Jt,""),m(_i,"");try{const[at,ct]=await Promise.allSettled([AU(),FU()]);if(at.status==="fulfilled"){const Ut=Object.fromEntries(at.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=at.reason)==null?void 0:fe.message)??"Failed to load default ACLs",!0);ct.status==="fulfilled"?(m(ci,ct.value.group,!0),m(xi,ct.value.group??"",!0)):m(_i,((et=ct.reason)==null?void 0:et.message)??"Failed to load anonymous group",!0)}finally{m(Ee,!0)}}async function ni(fe,et){m(Dt,c(Dt).map(at=>at.acltype===fe?{...at,allow:et}:at),!0),m(di,!0),m(Jt,"");try{await kU(c(Dt))}catch(at){m(Jt,at.message,!0)}finally{m(di,!1)}}async function $i(){m(Ke,!0),m(_i,"");try{await LU(c(xi)||null),m(ci,c(xi)||null,!0)}catch(fe){m(_i,fe.message,!0)}finally{m(Ke,!1)}}const Zi=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function wi(){var fe,et,at;try{const[ct,Ut,Ht]=await Promise.allSettled([hU(),EF(),EU()]);ct.status==="fulfilled"?(m(n,ct.value.users,!0),m(a,"")):m(a,((fe=ct.reason)==null?void 0:fe.message)??"Failed to load users",!0),Ut.status==="fulfilled"?(m(s,Ut.value.roles,!0),m(d,"")):m(d,((et=Ut.reason)==null?void 0:et.message)??"Failed to load roles",!0),Ht.status==="fulfilled"?(m(r,Ht.value.groups,!0),m(u,"")):m(u,((at=Ht.reason)==null?void 0:at.message)??"Failed to load groups",!0)}catch{}}Xs(()=>{wi()});async function yn(){m(he,""),m(J,!0);try{await fU(c(H),c(X)),m(H,""),m(X,""),m(V,!1),await wi()}catch(fe){m(he,fe.message??"Failed to create user",!0)}finally{m(J,!1)}}async function un(fe){if(await i.show(`Delete user “${fe}”?`,{confirm:"Delete",danger:!0}))try{await gU(fe),await wi()}catch(et){m(a,et.message,!0)}}async function cn(fe){m(we,fe,!0),m(re,""),m(ae,""),m(de,!0)}async function fn(){m(ae,""),m(De,!0);try{await pU(c(we),c(re)),m(de,!1)}catch(fe){m(ae,fe.message,!0)}finally{m(De,!1)}}async function ft(){m(Ve,""),m(ze,!0);try{await vU(c(xe)),m(xe,""),m(Pe,!1),await wi()}catch(fe){m(Ve,fe.message??"Failed to create role",!0)}finally{m(ze,!1)}}async function Gt(fe){var et;if(await i.show(`Delete role “${fe}”?`,{confirm:"Delete",danger:!0}))try{await _U(fe),((et=c(ve))==null?void 0:et.rolename)===fe&&(m(ve,null),m(ht,!1)),await wi()}catch(at){m(d,at.message,!0)}}function Pi(fe){m(ve,fe,!0),m(ht,!0),m(Mt,"publishClientSend"),m(ot,""),m(yt,!0),m(Ce,"")}async function qi(){if(c(ve)){m(Ce,"");try{await bU(c(ve).rolename,{acltype:c(Mt),topic:c(ot),allow:c(yt)}),m(ot,""),await wi(),m(ve,c(s).find(fe=>fe.rolename===c(ve).rolename)??c(ve),!0)}catch(fe){m(Ce,fe.message,!0)}}}async function Ci(fe,et,at){try{await CU(fe,et,at),await wi(),m(ve,c(s).find(ct=>ct.rolename===fe)??c(ve),!0)}catch(ct){m(Ce,ct.message,!0)}}async function Wi(){m(Ge,""),m(nt,!0);try{await yU(c(ai)),m(ai,""),m(Rt,!1),await wi()}catch(fe){m(Ge,fe.message??"Failed to create group",!0)}finally{m(nt,!1)}}async function Vi(fe){if(await i.show(`Delete group “${fe}”?`,{confirm:"Delete",danger:!0}))try{await wU(fe),await wi()}catch(et){m(u,et.message,!0)}}var Qi=TJ(),Si=Et(Qi),it=_(Si);{var At=fe=>{var et=tJ();D(fe,et)};z(it,fe=>{t()||fe(At)})}var Oi=v(it,2),Ti=_(Oi);let Bi;var Ri=v(Ti,2);let K;var Ae=v(Ri,2);let Xe;var st=v(Ae,2);let Kt;var si=v(st,2),xt=v(Oi,2);{var dt=fe=>{var et=lJ(),at=_(et),ct=v(_(at),2),Ut=v(at,2);{var Ht=$=>{var oe=Ca(),ie=_(oe);j(()=>W(ie,c(a))),D($,oe)};z(Ut,$=>{c(a)&&$(Ht)})}var Ei=v(Ut,2);{var I=$=>{var oe=iJ();D($,oe)},N=$=>{var oe=aJ(),ie=v(_(oe));ti(ie,21,()=>c(n),Hi,(ne,le)=>{var tt=rJ(),Fe=_(tt),_e=_(Fe),Ze=v(Fe),Me=_(Ze),lt=_(Me),Xt=_(lt);ti(Xt,17,()=>c(le).roles??[],Hi,(qe,vt)=>{var ge=nJ(),Oe=_(ge),_t=v(Oe);j(()=>W(Oe,c(vt).rolename)),U("click",_t,()=>P(c(le).username,c(vt).rolename)),D(qe,ge)});var Z=v(Xt,2),ce=v(lt,2);{var je=qe=>{var vt=q2(),ge=Et(vt),Oe=_(ge),_t=_(Oe);_t.value=_t.__value="";var jt=v(_t);ti(jt,17,()=>c(y),Hi,(Fi,ui)=>{var zt=Ph(),kt=_(zt),Wt={};j(()=>{W(kt,c(ui)),Wt!==(Wt=c(ui))&&(zt.value=(zt.__value=c(ui))??"")}),D(Fi,zt)});var Ct=v(Oe,2),Ni=v(Ct,2),Mi=v(ge,2);{var Ji=Fi=>{var ui=$x(),zt=_(ui);j(()=>W(zt,c(C))),D(Fi,ui)};z(Mi,Fi=>{c(C)&&Fi(Ji)})}j(()=>Ct.disabled=!c(p)||c(b)),Fs(Oe,()=>c(p),Fi=>m(p,Fi)),U("click",Ct,A),U("click",Ni,()=>m(g,null)),D(qe,vt)};z(ce,qe=>{var vt;((vt=c(g))==null?void 0:vt.kind)==="user-roles"&&c(g).target===c(le).username&&qe(je)})}var mt=v(Ze),Le=_(mt),He=_(Le),St=_(He);ti(St,17,()=>c(le).groups??[],Hi,(qe,vt)=>{var ge=sJ(),Oe=_(ge),_t=v(Oe);j(()=>W(Oe,c(vt).groupname)),U("click",_t,()=>M(c(le).username,c(vt).groupname)),D(qe,ge)});var gt=v(St,2),Ie=v(He,2);{var pe=qe=>{var vt=oJ(),ge=Et(vt),Oe=_(ge),_t=_(Oe);_t.value=_t.__value="";var jt=v(_t);ti(jt,17,()=>c(y),Hi,(Fi,ui)=>{var zt=Ph(),kt=_(zt),Wt={};j(()=>{W(kt,c(ui)),Wt!==(Wt=c(ui))&&(zt.value=(zt.__value=c(ui))??"")}),D(Fi,zt)});var Ct=v(Oe,2),Ni=v(Ct,2),Mi=v(ge,2);{var Ji=Fi=>{var ui=$x(),zt=_(ui);j(()=>W(zt,c(C))),D(Fi,ui)};z(Mi,Fi=>{c(C)&&Fi(Ji)})}j(()=>Ct.disabled=!c(p)||c(b)),Fs(Oe,()=>c(p),Fi=>m(p,Fi)),U("click",Ct,A),U("click",Ni,()=>m(g,null)),D(qe,vt)};z(Ie,qe=>{var vt;((vt=c(g))==null?void 0:vt.kind)==="user-groups"&&c(g).target===c(le).username&&qe(pe)})}var Re=v(mt),Ne=_(Re),Ue=_(Ne),rt=v(Ue,2);j(()=>W(_e,c(le).username)),U("click",Z,()=>w("user-roles",c(le).username)),U("click",gt,()=>w("user-groups",c(le).username)),U("click",Ue,()=>cn(c(le).username)),U("click",rt,()=>un(c(le).username)),D(ne,tt)}),D($,oe)};z(Ei,$=>{c(n).length===0?$(I):$(N,-1)})}U("click",ct,()=>{m(V,!0),m(he,"")}),D(fe,et)};z(xt,fe=>{c(f)==="users"&&fe(dt)})}var Y=v(xt,2);{var Te=fe=>{var et=hJ(),at=_(et),ct=v(_(at),2),Ut=v(at,2);{var Ht=$=>{var oe=Ca(),ie=_(oe);j(()=>W(ie,c(d))),D($,oe)};z(Ut,$=>{c(d)&&$(Ht)})}var Ei=v(Ut,2);{var I=$=>{var oe=cJ();D($,oe)},N=$=>{var oe=uJ(),ie=v(_(oe));ti(ie,21,()=>c(s),Hi,(ne,le)=>{var tt=dJ(),Fe=_(tt),_e=_(Fe),Ze=v(Fe),Me=_(Ze),lt=v(Ze),Xt=_(lt),Z=_(Xt),ce=v(Z,2);j(()=>{var je;W(_e,c(le).rolename),W(Me,((je=c(le).acls)==null?void 0:je.length)??0)}),U("click",Z,()=>Pi(c(le))),U("click",ce,()=>Gt(c(le).rolename)),D(ne,tt)}),D($,oe)};z(Ei,$=>{c(s).length===0?$(I):$(N,-1)})}U("click",ct,()=>{m(Pe,!0),m(Ve,""),m(xe,"")}),D(fe,et)};z(Y,fe=>{c(f)==="roles"&&fe(Te)})}var Ye=v(Y,2);{var ke=fe=>{var et=_J(),at=_(et),ct=v(_(at),2),Ut=v(at,2);{var Ht=$=>{var oe=Ca(),ie=_(oe);j(()=>W(ie,c(u))),D($,oe)};z(Ut,$=>{c(u)&&$(Ht)})}var Ei=v(Ut,2);{var I=$=>{var oe=fJ();D($,oe)},N=$=>{var oe=vJ(),ie=v(_(oe));ti(ie,21,()=>c(r),Hi,(ne,le)=>{var tt=mJ(),Fe=_(tt),_e=_(Fe),Ze=v(Fe),Me=_(Ze),lt=_(Me),Xt=_(lt);ti(Xt,17,()=>c(le).clients??[],Hi,(rt,qe)=>{var vt=gJ(),ge=_(vt),Oe=v(ge);j(()=>W(ge,c(qe).username)),U("click",Oe,()=>R(c(le).groupname,c(qe).username)),D(rt,vt)});var Z=v(Xt,2),ce=v(lt,2);{var je=rt=>{var qe=pJ(),vt=Et(qe),ge=_(vt),Oe=_(ge);Oe.value=Oe.__value="";var _t=v(Oe);ti(_t,17,()=>c(y),Hi,(Ji,Fi)=>{var ui=Ph(),zt=_(ui),kt={};j(()=>{W(zt,c(Fi)),kt!==(kt=c(Fi))&&(ui.value=(ui.__value=c(Fi))??"")}),D(Ji,ui)});var jt=v(ge,2),Ct=v(jt,2),Ni=v(vt,2);{var Mi=Ji=>{var Fi=$x(),ui=_(Fi);j(()=>W(ui,c(C))),D(Ji,Fi)};z(Ni,Ji=>{c(C)&&Ji(Mi)})}j(()=>jt.disabled=!c(p)||c(b)),Fs(ge,()=>c(p),Ji=>m(p,Ji)),U("click",jt,A),U("click",Ct,()=>m(g,null)),D(rt,qe)};z(ce,rt=>{var qe;((qe=c(g))==null?void 0:qe.kind)==="group-members"&&c(g).target===c(le).groupname&&rt(je)})}var mt=v(Ze),Le=_(mt),He=_(Le),St=_(He);ti(St,17,()=>c(le).roles??[],Hi,(rt,qe)=>{var vt=xJ(),ge=_(vt),Oe=v(ge);j(()=>W(ge,c(qe).rolename)),U("click",Oe,()=>T(c(le).groupname,c(qe).rolename)),D(rt,vt)});var gt=v(St,2),Ie=v(He,2);{var pe=rt=>{var qe=q2(),vt=Et(qe),ge=_(vt),Oe=_(ge);Oe.value=Oe.__value="";var _t=v(Oe);ti(_t,17,()=>c(y),Hi,(Ji,Fi)=>{var ui=Ph(),zt=_(ui),kt={};j(()=>{W(zt,c(Fi)),kt!==(kt=c(Fi))&&(ui.value=(ui.__value=c(Fi))??"")}),D(Ji,ui)});var jt=v(ge,2),Ct=v(jt,2),Ni=v(vt,2);{var Mi=Ji=>{var Fi=$x(),ui=_(Fi);j(()=>W(ui,c(C))),D(Ji,Fi)};z(Ni,Ji=>{c(C)&&Ji(Mi)})}j(()=>jt.disabled=!c(p)||c(b)),Fs(ge,()=>c(p),Ji=>m(p,Ji)),U("click",jt,A),U("click",Ct,()=>m(g,null)),D(rt,qe)};z(Ie,rt=>{var qe;((qe=c(g))==null?void 0:qe.kind)==="group-roles"&&c(g).target===c(le).groupname&&rt(pe)})}var Re=v(mt),Ne=_(Re),Ue=_(Ne);j(()=>W(_e,c(le).groupname)),U("click",Z,()=>w("group-members",c(le).groupname)),U("click",gt,()=>w("group-roles",c(le).groupname)),U("click",Ue,()=>Vi(c(le).groupname)),D(ne,tt)}),D($,oe)};z(Ei,$=>{c(r).length===0?$(I):$(N,-1)})}U("click",ct,()=>{m(Rt,!0),m(Ge,""),m(ai,"")}),D(fe,et)};z(Ye,fe=>{c(f)==="groups"&&fe(ke)})}var It=v(Ye,2);{var $t=fe=>{var et=SJ(),at=_(et),ct=v(_(at),4);{var Ut=tt=>{var Fe=Ca(),_e=_(Fe);j(()=>W(_e,c(Jt))),D(tt,Fe)};z(ct,tt=>{c(Jt)&&tt(Ut)})}var Ht=v(ct,2);{var Ei=tt=>{var Fe=G2();D(tt,Fe)},I=tt=>{var Fe=CJ(),_e=v(_(Fe));ti(_e,21,()=>ii,Hi,(Ze,Me)=>{let lt=()=>c(Me).acltype,Xt=()=>c(Me).label;const Z=Lt(()=>c(Dt).find(pe=>pe.acltype===lt()));var ce=bJ();let je;var mt=_(ce),Le=_(mt),He=v(mt),St=_(He),gt=v(He),Ie=_(gt);j(()=>{var pe,Re;je=Ft(ce,1,"svelte-3itf14",null,je,{saving:c(di)}),W(Le,Xt()),ln(St,"name",lt()),Ko(St,((pe=c(Z))==null?void 0:pe.allow)===!0),ln(Ie,"name",lt()),Ko(Ie,((Re=c(Z))==null?void 0:Re.allow)===!1)}),U("change",St,()=>ni(lt(),!0)),U("change",Ie,()=>ni(lt(),!1)),D(Ze,ce)}),D(tt,Fe)};z(Ht,tt=>{c(Ee)?tt(I,-1):tt(Ei)})}var N=v(at,2),$=v(_(N),4);{var oe=tt=>{var Fe=Ca(),_e=_(Fe);j(()=>W(_e,c(_i))),D(tt,Fe)};z($,tt=>{c(_i)&&tt(oe)})}var ie=v($,2);{var ne=tt=>{var Fe=G2();D(tt,Fe)},le=tt=>{var Fe=wJ(),_e=Et(Fe),Ze=_(_e),Me=_(Ze);Me.value=Me.__value="";var lt=v(Me);ti(lt,17,()=>c(r),Hi,(Le,He)=>{var St=Ph(),gt=_(St),Ie={};j(()=>{W(gt,c(He).groupname),Ie!==(Ie=c(He).groupname)&&(St.value=(St.__value=c(He).groupname)??"")}),D(Le,St)});var Xt=v(Ze,2),Z=_(Xt),ce=v(_e,2);{var je=Le=>{var He=EJ(),St=v(_(He)),gt=_(St);j(()=>W(gt,c(ci))),D(Le,He)},mt=Le=>{var He=yJ();D(Le,He)};z(ce,Le=>{c(ci)?Le(je):Le(mt,-1)})}j(()=>{Xt.disabled=c(Ke)||c(xi)===(c(ci)??""),W(Z,c(Ke)?"Saving…":"Save")}),Fs(Ze,()=>c(xi),Le=>m(xi,Le)),U("click",Xt,$i),D(tt,Fe)};z(ie,tt=>{c(Ee)?tt(le,-1):tt(ne)})}D(fe,et)};z(It,fe=>{c(f)==="settings"&&fe($t)})}var te=v(Si,2);{var Je=fe=>{var et=DJ(),at=_(et),ct=v(_(at),2),Ut=v(_(ct)),Ht=v(ct,2),Ei=v(_(Ht)),I=_(Ei),N=v(I,2),$=_(N),oe=v(Ht,2);{var ie=_e=>{var Ze=Ca(),Me=_(Ze);j(()=>W(Me,c(he))),D(_e,Ze)};z(oe,_e=>{c(he)&&_e(ie)})}var ne=v(oe,2),le=_(ne),tt=v(le,2),Fe=_(tt);j(()=>{ln(I,"type",c(se)?"text":"password"),W($,c(se)?"Hide":"Show"),tt.disabled=c(J)||!c(H)||!c(X),W(Fe,c(J)?"Creating…":"Create")}),Vt(Ut,()=>c(H),_e=>m(H,_e)),Vt(I,()=>c(X),_e=>m(X,_e)),U("click",N,()=>m(se,!c(se))),U("click",le,()=>m(V,!1)),U("click",tt,yn),D(fe,et)};z(te,fe=>{c(V)&&fe(Je)})}var Pt=v(te,2);{var Bt=fe=>{var et=AJ(),at=_(et),ct=_(at),Ut=v(_(ct)),Ht=_(Ut),Ei=v(ct,2),I=v(_(Ei)),N=v(Ei,2);{var $=tt=>{var Fe=Ca(),_e=_(Fe);j(()=>W(_e,c(ae))),D(tt,Fe)};z(N,tt=>{c(ae)&&tt($)})}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")}),Vt(I,()=>c(re),tt=>m(re,tt)),U("click",ie,()=>m(de,!1)),U("click",ne,fn),D(fe,et)};z(Pt,fe=>{c(de)&&fe(Bt)})}var Ot=v(Pt,2);{var Se=fe=>{var et=kJ(),at=_(et),ct=v(_(at),2),Ut=v(_(ct)),Ht=v(ct,2);{var Ei=ie=>{var ne=Ca(),le=_(ne);j(()=>W(le,c(Ve))),D(ie,ne)};z(Ht,ie=>{c(Ve)&&ie(Ei)})}var I=v(Ht,2),N=_(I),$=v(N,2),oe=_($);j(()=>{$.disabled=c(ze)||!c(xe),W(oe,c(ze)?"Creating…":"Create")}),Vt(Ut,()=>c(xe),ie=>m(xe,ie)),U("click",N,()=>m(Pe,!1)),U("click",$,ft),D(fe,et)};z(Ot,fe=>{c(Pe)&&fe(Se)})}var Qe=v(Ot,2);{var Yt=fe=>{var et=IJ(),at=_(et),ct=_(at),Ut=v(_(ct)),Ht=_(Ut),Ei=v(ct,2);{var I=lt=>{var Xt=FJ(),Z=v(_(Xt));ti(Z,21,()=>c(ve).acls??[],Hi,(ce,je)=>{var mt=BJ(),Le=_(mt),He=_(Le),St=v(Le),gt=_(St),Ie=v(St),pe=_(Ie),Re=v(Ie),Ne=_(Re);j(()=>{W(He,c(je).acltype),W(gt,c(je).topic),W(pe,c(je).allow?"✓":"✗")}),U("click",Ne,()=>Ci(c(ve).rolename,c(je).acltype,c(je).topic)),D(ce,mt)}),D(lt,Xt)},N=lt=>{var Xt=LJ();D(lt,Xt)};z(Ei,lt=>{var Xt;(((Xt=c(ve).acls)==null?void 0:Xt.length)??0)>0?lt(I):lt(N,-1)})}var $=v(Ei,2),oe=_($);ti(oe,21,()=>Zi,Hi,(lt,Xt)=>{var Z=Ph(),ce=_(Z),je={};j(()=>{W(ce,c(Xt)),je!==(je=c(Xt))&&(Z.value=(Z.__value=c(Xt))??"")}),D(lt,Z)});var ie=v(oe,2),ne=v(ie,2),le=_(ne),tt=v(ne,2),Fe=v($,2);{var _e=lt=>{var Xt=Ca(),Z=_(Xt);j(()=>W(Z,c(Ce))),D(lt,Xt)};z(Fe,lt=>{c(Ce)&&lt(_e)})}var Ze=v(Fe,2),Me=_(Ze);j(()=>{W(Ht,c(ve).rolename),tt.disabled=!c(ot)}),Fs(oe,()=>c(Mt),lt=>m(Mt,lt)),Vt(ie,()=>c(ot),lt=>m(ot,lt)),ys(le,()=>c(yt),lt=>m(yt,lt)),U("click",tt,qi),U("click",Me,()=>m(ht,!1)),D(fe,et)};z(Qe,fe=>{c(ht)&&c(ve)&&fe(Yt)})}var Zt=v(Qe,2);{var mi=fe=>{var et=PJ(),at=_(et),ct=v(_(at),2),Ut=v(_(ct)),Ht=v(ct,2);{var Ei=ie=>{var ne=Ca(),le=_(ne);j(()=>W(le,c(Ge))),D(ie,ne)};z(Ht,ie=>{c(Ge)&&ie(Ei)})}var I=v(Ht,2),N=_(I),$=v(N,2),oe=_($);j(()=>{$.disabled=c(nt)||!c(ai),W(oe,c(nt)?"Creating…":"Create")}),Vt(Ut,()=>c(ai),ie=>m(ai,ie)),U("click",N,()=>m(Rt,!1)),U("click",$,Wi),D(fe,et)};z(Zt,fe=>{c(Rt)&&fe(mi)})}var ei=v(Zt,2);gs(Yc(ei,{}),fe=>i=fe,()=>i),j(()=>{Bi=Ft(Ti,1,"svelte-3itf14",null,Bi,{active:c(f)==="users"}),K=Ft(Ri,1,"svelte-3itf14",null,K,{active:c(f)==="roles"}),Xe=Ft(Ae,1,"svelte-3itf14",null,Xe,{active:c(f)==="groups"}),Kt=Ft(st,1,"svelte-3itf14",null,Kt,{active:c(f)==="settings"})}),U("click",Ti,()=>m(f,"users")),U("click",Ri,()=>m(f,"roles")),U("click",Ae,()=>m(f,"groups")),U("click",st,()=>{m(f,"settings"),c(Ee)||bi()}),U("click",si,wi),D(o,Qi),$s()}Ys(["click","change"]);var K2=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(Li([])),f=F(null),g=F(!1),p=F(""),C=F(Li([])),b=F(Li(new Set));Xs(()=>{y(),rU().then(Ce=>{m(C,Ce.addresses,!0)}).catch(()=>{})});async function y(){try{m(t,await aS(),!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,ai)=>ai!==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 bF({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 CF();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,ai,Ge,nt,Dt;return!!((Rt=Ce.tls)!=null&&Rt.enabled||(ai=Ce.tls)!=null&&ai.certfile||(Ge=Ce.tls)!=null&&Ge.keyfile||(nt=Ce.tls)!=null&&nt.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=K2(),ai=_(Rt);j(()=>W(ai,c(i))),D(Ce,Rt)};z(ae,Ce=>{c(i)&&Ce(De)})}var Pe=v(ae,2);{var xe=Ce=>{var Rt=K2(),ai=_(Rt);j(()=>W(ai,c(s))),D(Ce,Rt)};z(Pe,Ce=>{c(s)&&Ce(xe)})}var Ve=v(Pe,2);{var ze=Ce=>{var Rt=RJ();D(Ce,Rt)};z(Ve,Ce=>{c(r)&&Ce(ze)})}var ve=v(Ve,2);{var ht=Ce=>{var Rt=NJ(),ai=_(Rt);j(()=>W(ai,c(d))),D(Ce,Rt)};z(ve,Ce=>{c(d)&&Ce(ht)})}var Mt=v(ve,2);{var ot=Ce=>{var Rt=OJ();D(Ce,Rt)},yt=Ce=>{var Rt=GJ(),ai=Et(Rt),Ge=_(ai),nt=_(Ge),Dt=v(Ge,2);{var Jt=Ke=>{var Ee=HJ(),ii=v(_(Ee),2),bi=_(ii);bi.value=bi.__value="";var ni=v(bi);ni.value=ni.__value="true";var $i=v(ni);$i.value=$i.__value="false",Fs(ii,()=>c(p),Zi=>m(p,Zi)),D(Ke,Ee)};z(Dt,Ke=>{c(g)||Ke(Jt)})}var di=v(ai,2),ci=_(di);ti(ci,17,()=>c(u),Hi,(Ke,Ee,ii)=>{var bi=UJ(),ni=_(bi),$i=_(ni),Zi=_($i),wi=v($i,2),yn=v(ni,2),un=_(yn),cn=v(_(un)),fn=v(un,2),ft=v(_(fn)),Gt=_(ft);Gt.value=Gt.__value="mqtt";var Pi=v(Gt);Pi.value=Pi.__value="websockets";var qi=v(fn,2),Ci=v(_(qi));ln(Ci,"list",`bind-addr-list-${ii}`);var Wi=v(qi,2),Vi=_(Wi),Qi=v(yn,2);ln(Qi,"id",`bind-addr-list-${ii}`),ti(Qi,21,()=>c(C),Hi,(st,Kt)=>{var si=WJ(),xt={};j(()=>{xt!==(xt=c(Kt))&&(si.value=(si.__value=c(Kt))??"")}),D(st,si)});var Si=v(Qi,2);{var it=st=>{var Kt=zJ(),si=_(Kt),xt=_(si),dt=v(_(xt)),Y=v(xt,2),Te=v(_(Y)),Ye=v(si,2),ke=_(Ye),It=v(_(ke)),$t=v(ke,2),te=v(_($t)),Je=v(Ye,2),Pt=_(Je),Bt=v(_(Pt)),Ot=v(Pt,2),Se=v(_(Ot)),Qe=_(Se);Qe.value=Qe.__value="";var Yt=v(Qe);Yt.value=Yt.__value="tlsv1.3";var Zt=v(Yt);Zt.value=Zt.__value="tlsv1.2";var mi=v(Je,2),ei=_(mi),fe=_(ei),et=v(ei,2),at=_(et);Vt(dt,()=>c(Ee).tls.certfile,ct=>c(Ee).tls.certfile=ct),Vt(Te,()=>c(Ee).tls.keyfile,ct=>c(Ee).tls.keyfile=ct),Vt(It,()=>c(Ee).tls.cafile,ct=>c(Ee).tls.cafile=ct),Vt(te,()=>c(Ee).tls.capath,ct=>c(Ee).tls.capath=ct),Vt(Bt,()=>c(Ee).tls.crlfile,ct=>c(Ee).tls.crlfile=ct),Fs(Se,()=>c(Ee).tls.tls_version,ct=>c(Ee).tls.tls_version=ct),ys(fe,()=>c(Ee).tls.require_certificate,ct=>c(Ee).tls.require_certificate=ct),ys(at,()=>c(Ee).tls.use_identity_as_username,ct=>c(Ee).tls.use_identity_as_username=ct),D(st,Kt)},At=Lt(()=>T(c(Ee)));z(Si,st=>{c(At)&&st(it)})}var Oi=v(Si,2),Ti=_(Oi),Bi=v(Oi,2);{var Ri=st=>{var Kt=jJ(),si=_(Kt),xt=_(si),dt=v(_(xt)),Y=v(xt,2),Te=v(_(Y)),Ye=v(Y,2),ke=v(_(Ye)),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 Je=v(te);Je.value=Je.__value="2";var Pt;S1(ke);var Bt=v(si,2);{var Ot=Qe=>{var Yt=VJ(),Zt=_(Yt),mi=_(Zt);ys(mi,()=>c(Ee).tls.use_subject_as_username,ei=>c(Ee).tls.use_subject_as_username=ei),D(Qe,Yt)},Se=Lt(()=>T(c(Ee)));z(Bt,Qe=>{c(Se)&&Qe(Ot)})}j(Qe=>{Pt!==(Pt=Qe)&&(ke.value=(ke.__value=Qe)??"",Nm(ke,Qe))},[()=>c(Ee).max_qos!==void 0?String(c(Ee).max_qos):""]),Vt(dt,()=>c(Ee).mount_point,Qe=>c(Ee).mount_point=Qe),Vt(Te,()=>c(Ee).max_connections,Qe=>c(Ee).max_connections=Qe),U("change",ke,Qe=>{const Yt=Qe.target.value;c(Ee).max_qos=Yt===""?void 0:Number(Yt),m(u,[...c(u)],!0)}),D(st,Kt)},K=Lt(()=>c(b).has(ii));z(Bi,st=>{c(K)&&st(Ri)})}var Ae=v(Bi,2);{var Xe=st=>{var Kt=$J(),si=v(_(Kt),2),xt=_(si),dt=v(_(xt)),Y=_(dt);Y.value=Y.__value="";var Te=v(Y);Te.value=Te.__value="true";var Ye=v(Te);Ye.value=Ye.__value="false";var ke;S1(dt);var It=v(xt,2),$t=v(_(It)),te=v(It,2),Je=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",Nm(dt,c(Ee).allow_anonymous===void 0?"":c(Ee).allow_anonymous?"true":"false"))}),U("change",dt,Pt=>{const Bt=Pt.target.value;c(Ee).allow_anonymous=Bt===""?void 0:Bt==="true",m(u,[...c(u)],!0)}),Vt($t,()=>c(Ee).password_file,Pt=>c(Ee).password_file=Pt),Vt(Je,()=>c(Ee).acl_file,Pt=>c(Ee).acl_file=Pt),D(st,Kt)};z(Ae,st=>{c(g)&&st(Xe)})}j((st,Kt)=>{W(Zi,`Port ${c(Ee).port??""}`),Ko(Vi,st),W(Ti,`${Kt??""} Advanced`)},[()=>T(c(Ee)),()=>c(b).has(ii)?"▾":"▸"]),U("click",wi,()=>P(ii)),Vt(cn,()=>c(Ee).port,st=>c(Ee).port=st),Fs(ft,()=>c(Ee).protocol,st=>c(Ee).protocol=st),Vt(Ci,()=>c(Ee).bindAddress,st=>c(Ee).bindAddress=st),U("change",Vi,st=>V(c(Ee),st.target.checked)),U("click",Oi,()=>A(ii)),D(Ke,bi)});var xi=v(ci,2);{var _i=Ke=>{var Ee=qJ();D(Ke,Ee)};z(xi,Ke=>{c(u).length===0&&Ke(_i)})}ys(nt,()=>c(g),Ke=>m(g,Ke)),D(Ce,Rt)};z(Mt,Ce=>{c(t)===null&&!c(i)?Ce(ot):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 Z2=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>'),ZC=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(Li(new Set)),we=F(Li(new Set));function re(Ke,Ee){const ii=new Set(Ke);return ii.has(Ee)?ii.delete(Ee):ii.add(Ee),ii}function ae(Ke){if(!c(t))return"";const Ee=c(t).managed[Ke];return Array.isArray(Ee)?Ee[0]:Ee??""}function De(Ke){if(!c(t))return new Set;const Ee=c(t).managed[Ke];return Ee?new Set(Array.isArray(Ee)?Ee:[Ee]):new Set}Xs(()=>Pe());async function Pe(){try{m(t,await aS(),!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 Ke=c(t).managed.include_dir;m(C,Ke?Array.isArray(Ke)?Ke.join(`
231
+ `):Ke:"",!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(Ke){m(i,Ke.message??"Failed to load config",!0)}}async function xe(){if(c(t)){m(n,!0),m(s,""),m(r,!1);try{let Ee=function(bi,ni){ni!==""?Ke[bi]=ni:delete Ke[bi]};const Ke={...c(t).managed};Ee("persistence",c(f)),Ee("persistence_location",c(g)),Ee("sys_interval",c(p));const ii=c(C).split(`
232
+ `).map(bi=>bi.trim()).filter(Boolean);ii.length>0?Ke.include_dir=ii.length===1?ii[0]:ii:delete Ke.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?Ke.log_dest=c(de).size===1?[...c(de)][0]:[...c(de)]:delete Ke.log_dest,c(we).size>0?Ke.log_type=c(we).size===1?[...c(we)][0]:[...c(we)]:delete Ke.log_type,await bF({listeners:c(t).listeners,managed:Ke,passthrough:c(t).passthrough,checksum:c(u)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await Pe()}catch(Ke){m(s,Ke.message??"Save failed",!0)}finally{m(n,!1)}}}async function Ve(){m(a,!0),m(d,"");try{const Ke=await CF();m(d,Ke.stderr||Ke.stdout||"Reloaded",!0)}catch(Ke){m(d,"Error: "+(Ke.message??"reload failed"))}finally{m(a,!1)}}var ze=eee(),ve=_(ze),ht=v(_(ve),2),Mt=_(ht),ot=_(Mt),yt=v(Mt,2),Ce=_(yt),Rt=v(ve,2);{var ai=Ke=>{var Ee=Z2(),ii=_(Ee);j(()=>W(ii,c(i))),D(Ke,Ee)};z(Rt,Ke=>{c(i)&&Ke(ai)})}var Ge=v(Rt,2);{var nt=Ke=>{var Ee=Z2(),ii=_(Ee);j(()=>W(ii,c(s))),D(Ke,Ee)};z(Ge,Ke=>{c(s)&&Ke(nt)})}var Dt=v(Ge,2);{var Jt=Ke=>{var Ee=XJ();D(Ke,Ee)};z(Dt,Ke=>{c(r)&&Ke(Jt)})}var di=v(Dt,2);{var ci=Ke=>{var Ee=YJ(),ii=_(Ee);j(()=>W(ii,c(d))),D(Ke,Ee)};z(di,Ke=>{c(d)&&Ke(ci)})}var xi=v(di,2);{var _i=Ke=>{var Ee=JJ(),ii=Et(Ee),bi=v(_(ii),2),ni=_(bi),$i=_(ni),Zi=v(_($i),2),wi=_(Zi);wi.value=wi.__value="";var yn=v(wi);yn.value=yn.__value="true";var un=v(yn);un.value=un.__value="false";var cn=v(ni,2),fn=_(cn),ft=v(_(fn),2),Gt=v(cn,2),Pi=_(Gt),qi=v(_(Pi),2),Ci=v(bi,2),Wi=_(Ci),Vi=v(_(Wi),2);ln(Vi,"rows",3);var Qi=v(ii,2),Si=v(_(Qi),2),it=v(_(Si),2);ti(it,21,()=>X,Hi,(Le,He)=>{var St=ZC(),gt=_(St),Ie=v(gt,3);j(pe=>{Ko(gt,pe),W(Ie,` ${c(He)??""}`)},[()=>c(de).has(c(He))]),U("change",gt,()=>{m(de,re(c(de),c(He)),!0)}),D(Le,St)});var At=v(Si,2),Oi=v(_(At),2),Ti=_(Oi),Bi=v(_(Ti),2);ti(Bi,17,()=>se,Hi,(Le,He)=>{var St=ZC(),gt=_(St),Ie=v(gt,3);j(pe=>{Ko(gt,pe),W(Ie,` ${c(He)??""}`)},[()=>c(we).has(c(He))]),U("change",gt,()=>{m(we,re(c(we),c(He)),!0)}),D(Le,St)});var Ri=v(Ti,2),K=v(_(Ri),2);ti(K,17,()=>he,Hi,(Le,He)=>{var St=ZC(),gt=_(St),Ie=v(gt,3);j(pe=>{Ko(gt,pe),W(Ie,` ${c(He)??""}`)},[()=>c(we).has(c(He))]),U("change",gt,()=>{m(we,re(c(we),c(He)),!0)}),D(Le,St)});var Ae=v(Ri,2),Xe=_(Ae);ti(Xe,17,()=>J,Hi,(Le,He)=>{var St=QJ(),gt=_(St),Ie=v(gt,4),pe=_(Ie);j(Re=>{Ko(gt,Re),W(pe,c(He))},[()=>c(we).has(c(He))]),U("change",gt,()=>{m(we,re(c(we),c(He)),!0)}),D(Le,St)});var st=v(Qi,2),Kt=v(_(st),2),si=_(Kt),xt=_(si),dt=v(_(xt),2),Y=v(si,2),Te=_(Y),Ye=v(_(Te),2),ke=v(Y,2),It=_(ke),$t=v(_(It),2),te=v(ke,2),Je=_(te),Pt=v(_(Je),2),Bt=v(st,2),Ot=v(_(Bt),2),Se=_(Ot),Qe=_(Se),Yt=v(_(Qe),2),Zt=v(Se,2),mi=_(Zt),ei=v(_(mi),2),fe=v(Bt,2),et=v(_(fe),2),at=_(et),ct=_(at),Ut=v(_(ct),2),Ht=v(at,2),Ei=_(Ht),I=v(_(Ei),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),tt=_(le),Fe=v(_(tt),2),_e=_(Fe);_e.value=_e.__value="";var Ze=v(_e);Ze.value=Ze.__value="true";var Me=v(Ze);Me.value=Me.__value="false";var lt=v(le,2),Xt=_(lt),Z=v(_(Xt),2),ce=_(Z);ce.value=ce.__value="";var je=v(ce);je.value=je.__value="true";var mt=v(je);mt.value=mt.__value="false",Fs(Zi,()=>c(f),Le=>m(f,Le)),Vt(ft,()=>c(g),Le=>m(g,Le)),Vt(qi,()=>c(p),Le=>m(p,Le)),Vt(Vi,()=>c(C),Le=>m(C,Le)),Vt(dt,()=>c(b),Le=>m(b,Le)),Vt(Ye,()=>c(M),Le=>m(M,Le)),Vt($t,()=>c(y),Le=>m(y,Le)),Vt(Pt,()=>c(w),Le=>m(w,Le)),Vt(Yt,()=>c(A),Le=>m(A,Le)),Vt(ei,()=>c(P),Le=>m(P,Le)),Vt(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(Ke,Ee)};z(xi,Ke=>{c(t)&&Ke(_i)})}j(()=>{Mt.disabled=c(n),W(ot,c(n)?"Saving…":"Save"),yt.disabled=c(a),W(Ce,c(a)?"Reloading…":"Apply & Reload")}),U("click",Mt,xe),U("click",yt,Ve),D(o,ze),$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>'),X2=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>'),XC=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(Li([])),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(""),Ve=F(""),ze=F(!1),ve=F(""),ht=F(Li([])),Mt=F(Li([])),ot=F(!1),yt=F("pem"),Ce=F(""),Rt=F(!1),ai=F(""),Ge=F(""),nt=F(Li([])),Dt=F(!1),Jt=F("");async function di(){try{const[Se,Qe]=await Promise.allSettled([IU(),MU()]);Se.status==="fulfilled"&&m(t,Se.value.server,!0),Qe.status==="fulfilled"&&m(i,Qe.value.certs,!0),m(n,"")}catch(Se){m(n,Se.message,!0)}}Xs(()=>{di()});async function ci(){m(g,""),m(f,!0),m(p,null);try{const Se=c(d).split(",").map(Yt=>Yt.trim()).filter(Boolean),Qe=await PU({cn:c(a),san:Se,days:c(u)});m(p,{fingerprint:Qe.fingerprint,expires:Qe.expires},!0),await di()}catch(Se){m(g,Se.message,!0)}finally{m(f,!1)}}async function xi(){m(A,""),m(w,!0),m(P,"");try{const Se=c(y).split(",").map(Yt=>Yt.trim()).filter(Boolean),Qe=await TU({cn:c(b),san:Se});m(P,Qe.csrPem,!0)}catch(Se){m(A,Se.message,!0)}finally{m(w,!1)}}async function _i(){m(T,""),m(R,!0),m(V,!1);try{if(!c(M).trim())throw new Error("Paste the signed certificate PEM");await $C({cert:c(M)}),m(V,!0),await di()}catch(Se){m(T,Se.message,!0)}finally{m(R,!1)}}function Ke(){navigator.clipboard.writeText(c(P)).catch(()=>{})}function Ee(Se){var Zt;const Qe=(Zt=Se.target.files)==null?void 0:Zt[0];if(!Qe)return;m(de,Qe.name,!0);const Yt=new FileReader;Yt.onload=()=>{const mi=Yt.result;m(J,btoa(String.fromCharCode(...new Uint8Array(mi))),!0)},Yt.readAsArrayBuffer(Qe)}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 $C({p12base64:c(J),passphrase:c(we)})}else{if(!c(se).trim())throw new Error("Certificate PEM is required");await $C({cert:c(se),key:c(he)||void 0})}m(H,!1),await di()}catch(Se){m(De,Se.message,!0)}finally{m(ae,!1)}}function bi(Se){let Qe;return Yt=>{const Zt=Yt.target.value;clearTimeout(Qe),Qe=setTimeout(async()=>{if(!Zt.startsWith("/")||Zt.length<2){Se([]);return}try{Se((await OU(Zt)).suggestions)}catch{Se([])}},280)}}const ni=bi(Se=>{m(ht,Se,!0)}),$i=bi(Se=>{m(Mt,Se,!0)}),Zi=bi(Se=>{m(nt,Se,!0)});async function wi(){m(ve,""),m(ze,!0);try{await HU({certPath:c(xe),keyPath:c(Ve)}),m(Pe,!1),await di()}catch(Se){m(ve,Se.message,!0)}finally{m(ze,!1)}}async function yn(){m(ai,""),m(Rt,!0);try{await RU(c(Ce)),m(Ce,""),m(ot,!1),await di()}catch(Se){m(ai,Se.message,!0)}finally{m(Rt,!1)}}async function un(){m(Jt,""),m(Dt,!0);try{await WU(c(Ge)),m(Ge,""),m(ot,!1),await di()}catch(Se){m(Jt,Se.message,!0)}finally{m(Dt,!1)}}async function cn(Se){if(confirm("Remove this trusted CA cert?"))try{await NU(Se),await di()}catch(Qe){m(s,Qe.message,!0)}}function fn(Se){const Qe=new Date(Se).getTime()-Date.now();return Qe<0?"expired":Qe<30*864e5?"expiring":""}function ft(Se){return new Date(Se).toLocaleDateString()}var Gt=Cee(),Pi=Et(Gt),qi=_(Pi),Ci=_(qi),Wi=v(qi,2);{var Vi=Se=>{var Qe=nl(),Yt=_(Qe);j(()=>W(Yt,c(n))),D(Se,Qe)};z(Wi,Se=>{c(n)&&Se(Vi)})}var Qi=v(Wi,2);{var Si=Se=>{var Qe=nl(),Yt=_(Qe);j(()=>W(Yt,c(s))),D(Se,Qe)};z(Qi,Se=>{c(s)&&Se(Si)})}var it=v(Qi,2),At=_(it),Oi=v(_(At),2),Ti=v(Oi,2),Bi=v(Ti,2),Ri=v(Bi,2),K=v(At,2);{var Ae=Se=>{var Qe=iee(),Yt=_(Qe),Zt=v(_(Yt)),mi=_(Zt),ei=v(Zt,3),fe=_(ei),et=v(ei,3),at=_(et);j((ct,Ut)=>{W(mi,c(t).cn),W(fe,c(t).fingerprint),Ft(et,1,ct,"svelte-9auejo"),W(at,Ut)},[()=>dg(fn(c(t).expires)),()=>ft(c(t).expires)]),D(Se,Qe)},Xe=Se=>{var Qe=nee();D(Se,Qe)};z(K,Se=>{c(t)?Se(Ae):Se(Xe,-1)})}var st=v(it,2),Kt=_(st),si=v(_(Kt),2),xt=v(Kt,2);{var dt=Se=>{var Qe=see();D(Se,Qe)},Y=Se=>{var Qe=ree(),Yt=v(_(Qe));ti(Yt,21,()=>c(i),Hi,(Zt,mi)=>{var ei=oee(),fe=_(ei),et=_(fe),at=v(fe),ct=_(at),Ut=v(at),Ht=_(Ut),Ei=v(Ut),I=_(Ei);j((N,$,oe)=>{W(et,c(mi).cn),W(ct,`${N??""}…`),Ft(Ut,1,$,"svelte-9auejo"),W(Ht,oe)},[()=>c(mi).fingerprint.slice(0,29),()=>dg(fn(c(mi).expires)),()=>ft(c(mi).expires)]),U("click",I,()=>cn(c(mi).fingerprint)),D(Zt,ei)}),D(Se,Qe)};z(xt,Se=>{c(i).length===0?Se(dt):Se(Y,-1)})}var Te=v(Pi,2);{var Ye=Se=>{var Qe=lee(),Yt=_(Qe),Zt=v(_(Yt),2),mi=v(_(Zt)),ei=v(Zt,2),fe=v(_(ei)),et=v(ei,2),at=v(_(et)),ct=v(et,2);{var Ut=ie=>{var ne=nl(),le=_(ne);j(()=>W(le,c(g))),D(ie,ne)};z(ct,ie=>{c(g)&&ie(Ut)})}var Ht=v(ct,2);{var Ei=ie=>{var ne=aee(),le=v(_(ne),2),tt=v(_(le)),Fe=_(tt),_e=v(tt,2),Ze=_(_e);j(Me=>{W(Fe,c(p).fingerprint),W(Ze,Me)},[()=>ft(c(p).expires)]),D(ie,ne)};z(Ht,ie=>{c(p)&&ie(Ei)})}var I=v(Ht,2),N=_(I),$=v(N,2);{var oe=ie=>{var ne=X2(),le=_(ne);j(()=>{ne.disabled=c(f),W(le,c(f)?"Generating…":"Generate")}),U("click",ne,ci),D(ie,ne)};z($,ie=>{c(p)||ie(oe)})}Vt(mi,()=>c(a),ie=>m(a,ie)),Vt(fe,()=>c(d),ie=>m(d,ie)),Vt(at,()=>c(u),ie=>m(u,ie)),U("click",N,()=>m(r,!1)),D(Se,Qe)};z(Te,Se=>{c(r)&&Se(Ye)})}var ke=v(Te,2);{var It=Se=>{var Qe=hee(),Yt=_(Qe),Zt=v(_(Yt),2);{var mi=fe=>{var et=cee(),at=Et(et),ct=v(_(at)),Ut=v(at,2),Ht=v(_(Ut)),Ei=v(Ut,4);{var I=ne=>{var le=nl(),tt=_(le);j(()=>W(tt,c(A))),D(ne,le)};z(Ei,ne=>{c(A)&&ne(I)})}var N=v(Ei,2),$=_(N),oe=v($,2),ie=_(oe);j(()=>{oe.disabled=c(w),W(ie,c(w)?"Generating…":"Generate key + CSR")}),Vt(ct,()=>c(b),ne=>m(b,ne)),Vt(Ht,()=>c(y),ne=>m(y,ne)),U("click",$,()=>m(C,!1)),U("click",oe,xi),D(fe,et)},ei=fe=>{var et=uee(),at=v(Et(et),2),ct=v(_(at)),Ut=v(at,2),Ht=_(Ut),Ei=v(Ht,2),I=v(Ut,4),N=v(_(I)),$=v(I,2);{var oe=Ze=>{var Me=nl(),lt=_(Me);j(()=>W(lt,c(T))),D(Ze,Me)};z($,Ze=>{c(T)&&Ze(oe)})}var ie=v($,2);{var ne=Ze=>{var Me=dee();D(Ze,Me)};z(ie,Ze=>{c(V)&&Ze(ne)})}var le=v(ie,2),tt=_(le),Fe=v(tt,2);{var _e=Ze=>{var Me=X2(),lt=_(Me);j(Xt=>{Me.disabled=Xt,W(lt,c(R)?"Uploading…":"Upload signed cert")},[()=>c(R)||!c(M).trim()]),U("click",Me,_i),D(Ze,Me)};z(Fe,Ze=>{c(V)||Ze(_e)})}j(Ze=>{D1(ct,c(P)),ln(Ei,"href",`data:application/pkcs10;charset=utf-8,${Ze??""}`)},[()=>encodeURIComponent(c(P))]),U("click",Ht,Ke),Vt(N,()=>c(M),Ze=>m(M,Ze)),U("click",tt,()=>m(C,!1)),D(fe,et)};z(Zt,fe=>{c(P)?fe(ei,-1):fe(mi)})}D(Se,Qe)};z(ke,Se=>{c(C)&&Se(It)})}var $t=v(ke,2);{var te=Se=>{var Qe=xee(),Yt=_(Qe),Zt=v(_(Yt),2),mi=_(Zt);let ei;var fe=v(mi,2);let et;var at=v(Zt,2);{var ct=ie=>{var ne=fee(),le=Et(ne),tt=v(_(le)),Fe=v(le,2),_e=v(_(Fe));Vt(tt,()=>c(se),Ze=>m(se,Ze)),Vt(_e,()=>c(he),Ze=>m(he,Ze)),D(ie,ne)},Ut=ie=>{var ne=pee(),le=Et(ne),tt=v(_(le)),Fe=_(tt),_e=v(Fe,2);{var Ze=je=>{var mt=gee(),Le=_(mt);j(()=>W(Le,c(de))),D(je,mt)};z(_e,je=>{c(de)&&je(Ze)})}var Me=v(le,2),lt=v(_(Me)),Xt=_(lt),Z=v(Xt,2),ce=_(Z);j(()=>{ln(Xt,"type",c(re)?"text":"password"),W(ce,c(re)?"Hide":"Show")}),U("change",Fe,Ee),Vt(Xt,()=>c(we),je=>m(we,je)),U("click",Z,()=>m(re,!c(re))),D(ie,ne)};z(at,ie=>{c(X)==="pem"?ie(ct):ie(Ut,-1)})}var Ht=v(at,2);{var Ei=ie=>{var ne=nl(),le=_(ne);j(()=>W(le,c(De))),D(ie,ne)};z(Ht,ie=>{c(De)&&ie(Ei)})}var I=v(Ht,2),N=_(I),$=v(N,2),oe=_($);j(()=>{ei=Ft(mi,1,"svelte-9auejo",null,ei,{active:c(X)==="pem"}),et=Ft(fe,1,"svelte-9auejo",null,et,{active:c(X)==="p12"}),$.disabled=c(ae),W(oe,c(ae)?"Importing…":"Import")}),U("click",mi,()=>m(X,"pem")),U("click",fe,()=>m(X,"p12")),U("click",N,()=>m(H,!1)),U("click",$,ii),D(Se,Qe)};z($t,Se=>{c(H)&&Se(te)})}var Je=v($t,2);{var Pt=Se=>{var Qe=mee(),Yt=_(Qe),Zt=v(_(Yt),4),mi=v(_(Zt)),ei=v(mi,2);ti(ei,21,()=>c(ht),Hi,($,oe)=>{var ie=XC(),ne={};j(()=>{ne!==(ne=c(oe))&&(ie.value=(ie.__value=c(oe))??"")}),D($,ie)});var fe=v(Zt,2),et=v(_(fe)),at=v(et,2);ti(at,21,()=>c(Mt),Hi,($,oe)=>{var ie=XC(),ne={};j(()=>{ne!==(ne=c(oe))&&(ie.value=(ie.__value=c(oe))??"")}),D($,ie)});var ct=v(fe,2);{var Ut=$=>{var oe=nl(),ie=_(oe);j(()=>W(ie,c(ve))),D($,oe)};z(ct,$=>{c(ve)&&$(Ut)})}var Ht=v(ct,2),Ei=_(Ht),I=v(Ei,2),N=_(I);j($=>{I.disabled=$,W(N,c(ze)?"Installing…":"Install")},[()=>c(ze)||!c(xe).trim()||!c(Ve).trim()]),U("input",mi,ni),Vt(mi,()=>c(xe),$=>m(xe,$)),U("input",et,$i),Vt(et,()=>c(Ve),$=>m(Ve,$)),U("click",Ei,()=>m(Pe,!1)),U("click",I,wi),D(Se,Qe)};z(Je,Se=>{c(Pe)&&Se(Pt)})}var Bt=v(Je,2);{var Ot=Se=>{var Qe=bee(),Yt=_(Qe),Zt=v(_(Yt),2),mi=_(Zt);let ei;var fe=v(mi,2);let et;var at=v(Zt,2);{var ct=Ht=>{var Ei=vee(),I=Et(Ei),N=v(_(I)),$=v(I,2);{var oe=Fe=>{var _e=nl(),Ze=_(_e);j(()=>W(Ze,c(ai))),D(Fe,_e)};z($,Fe=>{c(ai)&&Fe(oe)})}var ie=v($,2),ne=_(ie),le=v(ne,2),tt=_(le);j(Fe=>{le.disabled=Fe,W(tt,c(Rt)?"Adding…":"Add CA cert")},[()=>c(Rt)||!c(Ce).trim()]),Vt(N,()=>c(Ce),Fe=>m(Ce,Fe)),U("click",ne,()=>m(ot,!1)),U("click",le,yn),D(Ht,Ei)},Ut=Ht=>{var Ei=_ee(),I=v(Et(Ei),2),N=v(_(I)),$=v(N,2);ti($,21,()=>c(nt),Hi,(_e,Ze)=>{var Me=XC(),lt={};j(()=>{lt!==(lt=c(Ze))&&(Me.value=(Me.__value=c(Ze))??"")}),D(_e,Me)});var oe=v(I,2);{var ie=_e=>{var Ze=nl(),Me=_(Ze);j(()=>W(Me,c(Jt))),D(_e,Ze)};z(oe,_e=>{c(Jt)&&_e(ie)})}var ne=v(oe,2),le=_(ne),tt=v(le,2),Fe=_(tt);j(_e=>{tt.disabled=_e,W(Fe,c(Dt)?"Adding…":"Add CA cert")},[()=>c(Dt)||!c(Ge).trim()]),U("input",N,Zi),Vt(N,()=>c(Ge),_e=>m(Ge,_e)),U("click",le,()=>m(ot,!1)),U("click",tt,un),D(Ht,Ei)};z(at,Ht=>{c(yt)==="pem"?Ht(ct):Ht(Ut,-1)})}j(()=>{ei=Ft(mi,1,"svelte-9auejo",null,ei,{active:c(yt)==="pem"}),et=Ft(fe,1,"svelte-9auejo",null,et,{active:c(yt)==="path"})}),U("click",mi,()=>m(yt,"pem")),U("click",fe,()=>m(yt,"path")),D(Se,Qe)};z(Bt,Se=>{c(ot)&&Se(Ot)})}U("click",Ci,di),U("click",Oi,()=>{m(r,!0),m(g,""),m(p,null)}),U("click",Ti,()=>{m(C,!0),m(A,""),m(P,""),m(M,""),m(V,!1),m(T,"")}),U("click",Bi,()=>{m(H,!0),m(De,""),m(X,"pem"),m(se,""),m(he,""),m(J,""),m(de,""),m(we,""),m(re,!1)}),U("click",Ri,()=>{m(Pe,!0),m(ve,""),m(xe,""),m(Ve,""),m(ht,[],!0),m(Mt,[],!0)}),U("click",si,()=>{m(ot,!0),m(ai,""),m(Ce,""),m(yt,"pem"),m(Jt,""),m(Ge,""),m(nt,[],!0)}),D(o,Gt),$s()}Ys(["click","change","input"]);var Ux=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(Li({})),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(Li({}));Xs(async()=>{try{const[nt,Dt,Jt]=await Promise.all([Pl(),Lb(),fetch("/she/broker/ssh/pubkey").then(ci=>ci.json()).catch(()=>({publicKey:null}))]);m(A,nt,!0),Dt.sshKeyDefault&&m(a,Dt.sshKeyDefault,!0);const di=c(A).broker??{};m(t,di.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(nt){m(i,nt.message,!0)}});async function P(){m(f,!0),m(g,"");try{m(u,await oU(),!0)}catch(nt){m(g,nt.message??"Check failed",!0)}finally{m(f,!1)}}async function M(){m(n,!0),m(r,""),m(s,!1);try{const nt=c(A).broker??{},Dt=c(d)==="local"?{...c(t),host:""}:c(t),Jt={...c(A),broker:{...nt,ssh:Dt}};await fp(Jt),m(s,!0),setTimeout(()=>m(s,!1),3e3)}catch(nt){m(r,nt.message,!0)}finally{m(n,!1)}}async function R(){m(C,!0),m(b,"");try{const nt=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),Dt=await nt.json();if(!nt.ok)throw new Error(Dt.error??nt.statusText);m(p,Dt.publicKey,!0)}catch(nt){m(b,nt.message,!0)}finally{m(C,!1)}}async function T(){m(y,!0),m(w,"");try{const nt=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),Dt=await nt.json();if(!nt.ok)throw new Error(Dt.error??nt.statusText);m(w,Dt.ok?"✓ Connection successful":"✗ "+(Dt.error??"Failed"),!0)}catch(nt){m(w,"✗ "+nt.message)}finally{m(y,!1)}}function V(nt){navigator.clipboard.writeText(nt).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=nt=>{var Dt=Ux(),Jt=_(Dt);j(()=>W(Jt,c(i))),D(nt,Dt)};z(se,nt=>{c(i)&&nt(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),Ve=v(J,2);{var ze=nt=>{var Dt=See(),Jt=v(_(Dt),4);{var di=bi=>{var ni=Ux(),$i=_(ni);j(()=>W($i,c(g))),D(bi,ni)};z(Jt,bi=>{c(g)&&bi(di)})}var ci=v(Jt,2);{var xi=bi=>{var ni=yee(),$i=_(ni),Zi=_($i);let wi;var yn=_(Zi),un=v(Zi,4);let cn;var fn=_(un),ft=v($i,2),Gt=_(ft);let Pi;var qi=_(Gt),Ci=v(Gt,4);let Wi;var Vi=_(Ci);j(()=>{wi=Ft(Zi,1,"check-icon svelte-17yczfe",null,wi,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(yn,c(u).mosquittoCtrl?"✓":"✗"),cn=Ft(un,1,"check-note svelte-17yczfe",null,cn,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(fn,c(u).mosquittoCtrl?"found in PATH":"not found — install the mosquitto or mosquitto-clients package"),Pi=Ft(Gt,1,"check-icon svelte-17yczfe",null,Pi,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(qi,c(u).mosquitto?"✓":"✗"),Wi=Ft(Ci,1,"check-note svelte-17yczfe",null,Wi,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(Vi,c(u).mosquitto?"found in PATH":"not found — install the mosquitto package")}),D(bi,ni)},_i=bi=>{var ni=wee();D(bi,ni)};z(ci,bi=>{c(u)?bi(xi):c(f)&&bi(_i,1)})}var Ke=v(ci,2),Ee=_(Ke),ii=_(Ee);j(()=>{Ee.disabled=c(f),W(ii,c(f)?"Checking…":c(u)?"Re-check":"Check tools")}),U("click",Ee,P),D(nt,Dt)};z(Ve,nt=>{c(d)==="local"&&nt(ze)})}var ve=v(Ve,2);{var ht=nt=>{var Dt=Fee(),Jt=Et(Dt),di=v(_(Jt),4),ci=_(di),xi=v(_(ci)),_i=v(ci,2),Ke=v(_(_i)),Ee=v(_i,2),ii=v(_(Ee)),bi=v(Ee,2),ni=v(_(bi)),$i=v(Jt,2),Zi=v(_($i),2),wi=v(_(Zi)),yn=_(wi),un=v(Zi,2);{var cn=Si=>{var it=Aee(),At=Et(it),Oi=v(_(At)),Ti=_(Oi),Bi=v(Ti,2),Ri=v(At,2);{var K=Kt=>{var si=Dee(),xt=v(_(si)),dt=_(xt),Y=v(dt,2);j(()=>D1(dt,c(H))),U("click",Y,()=>V(c(H))),D(Kt,si)};z(Ri,Kt=>{c(H)&&Kt(K)})}var Ae=v(Ri,2),Xe=_(Ae),st=_(Xe);j(()=>{D1(Ti,c(p)),Xe.disabled=c(C),W(st,c(C)?"Generating…":"Regenerate keypair")}),U("click",Bi,()=>V(c(p))),U("click",Xe,R),D(Si,it)},fn=Si=>{var it=kee(),At=_(it),Oi=_(At);j(()=>{At.disabled=c(C),W(Oi,c(C)?"Generating…":"Generate keypair")}),U("click",At,R),D(Si,it)};z(un,Si=>{c(p)?Si(cn):Si(fn,-1)})}var ft=v(un,2);{var Gt=Si=>{var it=Ux(),At=_(it);j(()=>W(At,c(b))),D(Si,it)};z(ft,Si=>{c(b)&&Si(Gt)})}var Pi=v($i,2),qi=v(_(Pi),2),Ci=_(qi),Wi=_(Ci),Vi=v(Ci,2);{var Qi=Si=>{var it=Bee();let At;var Oi=_(it);j(Ti=>{At=Ft(it,1,"test-result svelte-17yczfe",null,At,Ti),W(Oi,c(w))},[()=>({ok:c(w).startsWith("✓"),fail:c(w).startsWith("✗")})]),D(Si,it)};z(Vi,Si=>{c(w)&&Si(Qi)})}j(()=>{ln(ni,"placeholder",c(a)),W(yn,c(t).identityFile||c(a)),Ci.disabled=c(y)||!c(t).host,W(Wi,c(y)?"Testing…":"Test SSH connection")}),Vt(xi,()=>c(t).host,Si=>c(t).host=Si),Vt(Ke,()=>c(t).port,Si=>c(t).port=Si),Vt(ii,()=>c(t).user,Si=>c(t).user=Si),Vt(ni,()=>c(t).identityFile,Si=>c(t).identityFile=Si),U("click",Ci,T),D(nt,Dt)};z(ve,nt=>{c(d)==="ssh"&&nt(ht)})}var Mt=v(ve,2);{var ot=nt=>{var Dt=Ux(),Jt=_(Dt);j(()=>W(Jt,c(r))),D(nt,Dt)};z(Mt,nt=>{c(r)&&nt(ot)})}var yt=v(Mt,2);{var Ce=nt=>{var Dt=Lee();D(nt,Dt)};z(yt,nt=>{c(s)&&nt(Ce)})}var Rt=v(yt,2),ai=_(Rt),Ge=_(ai);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"),ai.disabled=c(n),W(Ge,c(n)?"Saving…":"Save")}),U("click",we,()=>{m(d,"local"),c(u)||P()}),U("click",ae,()=>m(d,"ssh")),U("click",ai,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(Li([])),r=F(!0),a=F(Li(new Set(["D","I","N","W","E"]))),d=F(void 0),u=F(!1),f=F(null),g=null;Xs(async()=>{const J=await aU().catch(()=>[]),de=jU(),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=ur("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))}),aS().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)})}),Wp(()=>{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"],Hi,(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 Ve=ht=>{var Mt=Mee();D(ht,Mt)},ze=ht=>{var Mt=Ree();D(ht,Mt)},ve=ht=>{var Mt=Nee();D(ht,Mt)};z(xe,ht=>{c(f)===!1?ht(Ve):c(f)===!0?ht(ze,1):ht(ve,-1)})}D(De,Pe)},ae=De=>{var Pe=Co("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),Ve=v(Pe,2),ze=_(Ve),ve=v(Ve,2),ht=_(ve);j(Mt=>{W(xe,Mt),Ft(Ve,1,`badge ${i[c(ae).level]??""}`,"svelte-1yc29ow"),W(ze,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 fp({...De,broker:{...Pe,dynsec:{adminUsername:ae.adminUsername,adminPassword:ae.adminPassword}}}),await dU().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 lU(),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 fp({...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),Ve=v(_(xe)),ze=v(xe,2),ve=v(_(ze)),ht=v(ze,2),Mt=_(ht),ot=_(Mt);j(()=>{Mt.disabled=c(n)||!c(s),W(ot,c(n)?"Bootstrapping…":"Bootstrap dynsec")}),Vt(Pe,()=>c(s),yt=>m(s,yt)),Vt(Ve,()=>c(r),yt=>m(r,yt)),Vt(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),Ve=v(De,4),ze=_(Ve),ve=_(ze),ht=v(ze,2),Mt=v(Ve,2);{var ot=yt=>{var Ce=qee();D(yt,Ce)};z(Mt,yt=>{c(f)&&yt(ot)})}j(()=>{W(xe,c(d).confFilePath),ze.disabled=c(f),W(ve,c(f)?"Restarting…":"Restart mosquitto now")}),U("click",ze,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 Ve;(Ve=e.onDone)==null||Ve.apply(this,xe)}),D(re,ae)},we=re=>{var ae=Zee(),De=v(_(ae),2),Pe=v(_(De)),xe=v(De,2),Ve=v(_(xe)),ze=v(xe,2),ve=_(ze),ht=v(ve,2),Mt=_(ht);j(()=>{ht.disabled=c(C)||!c(g)||!c(p),W(Mt,c(C)?"Saving…":"Save credentials")}),Vt(Pe,()=>c(g),ot=>m(g,ot)),Vt(Ve,()=>c(p),ot=>m(p,ot)),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>'),Y2=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(Li(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 Lb(),!0),m(g,"")}catch(Ge){m(g,Ge.message??"Failed to load broker status",!0)}finally{m(p,!1)}}Xs(()=>{C();const Ge=setInterval(C,1e4);return()=>clearInterval(Ge)});async function b(){m(r,!0),m(a,null);try{m(a,await uU(),!0)}catch(Ge){m(a,{ok:!1,dynSecPath:"",issues:[Ge.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 cU(),await C()}catch(Ge){m(s,Ge.message??"Deactivate failed",!0)}finally{m(n,!1)}}}function w(Ge){var Dt;if(!((Dt=c(f))!=null&&Dt.sys))return"—";const nt=c(f).sys[Ge];return nt?String(nt.val??"—"):"—"}function A(Ge){if(Ge==="—")return Ge;const nt=Ge.match(/^(\d+)/),Dt=nt?parseInt(nt[1]):NaN;if(isNaN(Dt))return Ge;const Jt=Math.floor(Dt/86400),di=Math.floor(Dt%86400/3600),ci=Math.floor(Dt%3600/60),xi=Dt%60,_i=Ke=>String(Ke).padStart(2,"0");return Jt>0?`${Jt}d ${_i(di)}:${_i(ci)}:${_i(xi)}`:`${_i(di)}:${_i(ci)}:${_i(xi)}`}function P(Ge){if(Ge==="—")return Ge;const nt=parseInt(Ge);return isNaN(nt)?Ge:nt<1024?`${nt} B`:nt<1048576?`${(nt/1024).toFixed(1)} KB`:nt<1073741824?`${(nt/1048576).toFixed(1)} MB`:`${(nt/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 Ve;var ze=v(T,2);{var ve=Ge=>{var nt=fte(),Dt=_(nt);{var Jt=xi=>{var _i=Qee();D(xi,_i)},di=xi=>{var _i=Jee(),Ke=_(_i);j(()=>W(Ke,c(g))),D(xi,_i)},ci=xi=>{var _i=hte(),Ke=Et(_i),Ee=_(Ke),ii=_(Ee),bi=v(_(ii),4),ni=_(bi),$i=v(ii,2);{var Zi=Wi=>{var Vi=ete(),Qi=_(Vi);let Si;var it=v(Qi,4);let At;var Oi=_(it);{var Ti=Xe=>{var st=Co("plugin active");D(Xe,st)},Bi=Xe=>{var st=Co("connected — plugin not responding");D(Xe,st)},Ri=Xe=>{var st=Co("disconnected");D(Xe,st)};z(Oi,Xe=>{c(f).dynsec.dynsecReady?Xe(Ti):c(f).dynsec.connected?Xe(Bi,1):Xe(Ri,-1)})}var K=v(it,2),Ae=_(K);j(()=>{Si=Ft(Qi,1,"dot svelte-zuhcpo",null,Si,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,"dot-err":!c(f).dynsec.connected}),At=Ft(it,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(Wi,Vi)},wi=Wi=>{var Vi=ite(),Qi=v(_(Vi),6);{var Si=it=>{var At=tte();U("click",At,()=>m(t,!0)),D(it,At)};z(Qi,it=>{c(t)||it(Si)})}D(Wi,Vi)};z($i,Wi=>{c(f).dynsec.configured?Wi(Zi):Wi(wi,-1)})}var yn=v($i,2);{var un=Wi=>{var Vi=nte(),Qi=_(Vi);j(()=>W(Qi,c(s))),D(Wi,Vi)};z(yn,Wi=>{c(s)&&Wi(un)})}var cn=v(Ee,2);{var fn=Wi=>{var Vi=cte(),Qi=_(Vi);{var Si=Ti=>{var Bi=ste(),Ri=_(Bi);j(()=>{Bi.disabled=c(r),W(Ri,c(r)?"Running diagnostics…":"Run diagnostics")}),U("click",Bi,b),D(Ti,Bi)},it=Ti=>{var Bi=ate(),Ri=Et(Bi);let K;var Ae=_(Ri);{var Xe=xt=>{var dt=Y2(),Y=_(dt);j(()=>W(Y,`⚠ ${c(a).error??""}`)),D(xt,dt)},st=xt=>{var dt=rte(),Y=Et(dt),Te=v(_(Y)),Ye=_(Te),ke=v(Y,2),It=v(_(ke)),$t=_(It),te=v(ke,2),Je=v(_(te)),Pt=_(Je),Bt=v(te,2),Ot=v(_(Bt)),Se=_(Ot),Qe=v(Bt,2);ti(Qe,17,()=>c(a).issues,Hi,(mi,ei)=>{var fe=Y2(),et=_(fe);j(()=>W(et,`⚠ ${c(ei)??""}`)),D(mi,fe)});var Yt=v(Qe,2);{var Zt=mi=>{var ei=ote();D(mi,ei)};z(Yt,mi=>{c(a).ok&&mi(Zt)})}j(()=>{W(Ye,c(a).dynSecPath),Ft(It,1,dg(c(a).adminClientExists?"ok":"fail"),"svelte-zuhcpo"),W($t,c(a).adminClientExists?"✓ yes":"✗ no"),Ft(Je,1,dg(c(a).hasAdminRole?"ok":"fail"),"svelte-zuhcpo"),W(Pt,c(a).hasAdminRole?"✓ yes":"✗ no"),Ft(Ot,1,dg(c(a).hasControlSendAcl?"ok":"fail"),"svelte-zuhcpo"),W(Se,c(a).hasControlSendAcl?"✓ present":"✗ missing")}),D(xt,dt)};z(Ae,xt=>{c(a).error?xt(Xe):xt(st,-1)})}var Kt=v(Ri,2),si=_(Kt);j(()=>{K=Ft(Ri,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(Ti,Bi)};z(Qi,Ti=>{c(a)?Ti(it,-1):Ti(Si)})}var At=v(Qi,2);{var Oi=Ti=>{var Bi=lte();U("click",Bi,()=>m(t,!0)),D(Ti,Bi)};z(At,Ti=>{c(t)||Ti(Oi)})}D(Wi,Vi)};z(cn,Wi=>{c(f).dynsec.configured&&c(f).dynsec.connected&&!c(f).dynsec.dynsecReady&&Wi(fn)})}var ft=v(cn,2);{var Gt=Wi=>{var Vi=dte(),Qi=_(Vi),Si=v(_(Qi)),it=_(Si),At=v(Si,3),Oi=_(At),Ti=v(At,3),Bi=_(Ti),Ri=v(Ti,3),K=_(Ri),Ae=v(Ri,3),Xe=_(Ae),st=v(Ae,3),Kt=_(st);j((si,xt,dt,Y,Te,Ye,ke,It,$t,te,Je,Pt)=>{W(it,si),W(Oi,xt),W(Bi,`${dt??""} connected · ${Y??""} max · ${Te??""} total`),W(K,`${Ye??""} rcv · ${ke??""} sent · ${It??""} stored`),W(Xe,`${$t??""} retained · ${te??""} subscriptions`),W(Kt,`${Je??""} 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(Wi,Vi)},Pi=Lt(()=>Object.keys(c(f).sys).length>0);z(ft,Wi=>{c(Pi)&&Wi(Gt)})}var qi=v(Ke,2);{var Ci=Wi=>{var Vi=ute(),Qi=_(Vi);Yee(Qi,{onDone:()=>{m(t,!1),C()}}),D(Wi,Vi)};z(qi,Wi=>{c(t)&&(!c(f).dynsec.configured||!c(f).dynsec.dynsecReady)&&Wi(Ci)})}j(()=>W(ni,c(f).sshConfigured?`ssh — ${c(f).sshHost}`:"local")),D(xi,_i)};z(Dt,xi=>{c(p)?xi(Jt):c(g)?xi(di,1):c(f)&&xi(ci,2)})}D(Ge,nt)},ht=Ge=>{{let nt=Lt(()=>{var Dt;return((Dt=c(f))==null?void 0:Dt.dynsec.dynsecReady)??!1});MJ(Ge,{get dynsecReady(){return c(nt)}})}},Mt=Ge=>{tee(Ge,{})},ot=Ge=>{ZJ(Ge,{})},yt=Ge=>{Eee(Ge,{})},Ce=Ge=>{Pee(Ge,{})},Rt=Ge=>{zee(Ge,{})};z(ze,Ge=>{c(u)==="status"?Ge(ve):c(u)==="users"?Ge(ht,1):c(u)==="brokerconfig"?Ge(Mt,2):c(u)==="listeners"?Ge(ot,3):c(u)==="certs"?Ge(yt,4):c(u)==="ssh"?Ge(Ce,5):c(u)==="logs"&&Ge(Rt,6)})}var ai=v(R,2);gs(Yc(ai,{}),Ge=>i=Ge,()=>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"}),Ve=Ft(xe,1,"svelte-zuhcpo",null,Ve,{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 Ge=location.hash.slice(1);return t.includes(Ge)?Ge:"scripts"}let n=F(Li(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);B$(()=>{m(p,!0)});async function A(){m(b,""),m(y,!0);try{await I$(c(C)),m(C,""),m(p,!1)}catch(Ge){m(b,Ge.message??"Login failed",!0)}finally{m(y,!1)}}async function P(){if(c(f)==="proxy"&&c(g)){window.location.href=c(g);return}await P$(),m(p,!0)}let M=F(null),R=F(!1),T=F(!1),V=F(!1),H=F(!1),X=F(Li([])),se=F(0),he=F(!1),J=F(Li([]));const de=Lt(()=>c(J).filter(Ge=>Ge.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 Ge;try{Ge=(await Qh()).startedAt}catch{}try{await uF()}catch{}const nt=Date.now()+6e4;for(;Date.now()<nt;){await new Promise(Dt=>setTimeout(Dt,250));try{const Dt=await Qh();if(Ge===void 0||Dt.startedAt!==Ge){location.reload();return}}catch{}}location.reload()}async function Pe(){m(d,!0);try{const Ge=await H$();c(s)&&m(s,{...c(s),latestVersion:Ge.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 Ge=(Jt=c(s))==null?void 0:Jt.startedAt;try{await O$()}catch{}const nt=Date.now()+18e4;for(;Date.now()<nt;){await new Promise(di=>setTimeout(di,1e3));try{const di=await Qh();if(Ge===void 0||di.startedAt!==Ge){location.reload();return}}catch{m(u,!1),m(R,!0)}}location.reload()}function Ve(Ge){m(n,Ge,!0),location.hash=Ge}Xs(async()=>{location.hash||(location.hash=c(n));const Ge=()=>{m(n,i(),!0)};window.addEventListener("hashchange",Ge);try{const Ke=await L$();m(f,Ke.mode,!0),m(g,Ke.proxyLogoutUrl??"",!0),c(f)==="password"&&(await fetch("/she/scripts")).status===401&&m(p,!0)}catch{}m(w,!0);async function nt(){var Ke,Ee,ii;try{m(s,await Qh(),!0)}catch{}try{const[bi,ni]=await Promise.all([gF(),Pl()]);m(X,Array.isArray(ni.pinnedPackages)?ni.pinnedPackages:[],!0),m(se,Object.keys(bi).filter(Zi=>!c(X).includes(Zi)).length,!0);const $i=c(he);m(he,((Ke=ni.broker)==null?void 0:Ke.enabled)===!0),$i&&!c(he)&&c(n)==="security"&&Ve("scripts")}catch{}!((Ee=c(s))!=null&&Ee.matterEnabled)&&c(n)==="matter"&&Ve("scripts"),!((ii=c(s))!=null&&ii.dbEnabled)&&c(n)==="db"&&Ve("scripts")}nt();const Dt=setInterval(nt,5e3),Jt=ur("mqtt:status",Ke=>{Ke.connected===!1?(m(H,!0),m(T,!1),m(V,!1)):(m(H,!1),m(T,Ke.ready===!1),m(V,Ke.ready===!0))}),di=ur("matter:deviceList",Ke=>{Array.isArray(Ke.devices)&&m(J,Ke.devices.map(Ee=>({nodeId:String(Ee.nodeId),online:!!Ee.online})),!0)}),ci=ur("matter:deviceStatus",Ke=>{if(Ke.nodeId===void 0)return;const Ee=String(Ke.nodeId),ii=!!Ke.online;m(J,c(J).map(bi=>bi.nodeId===Ee?{...bi,online:ii}:bi),!0)}),xi=yF();m(re,xi.some(Ke=>Ke.level==="error"),!0),m(ae,!c(re)&&xi.some(Ke=>Ke.level==="warn"),!0);const _i=cS(Ke=>{Ke.level==="error"?(m(re,!0),m(ae,!1)):Ke.level==="warn"&&!c(re)&&m(ae,!0)});return()=>{window.removeEventListener("hashchange",Ge),clearInterval(Dt),Jt(),di(),ci(),_i()}});var ze=qte();xs("click",e6,()=>{c(r)&&m(r,!1),c(a)&&m(a,!1)});var ve=Et(ze);{var ht=Ge=>{var nt=zte(),Dt=_(nt),Jt=v(_(Dt),2);let di;var ci=v(Jt,2);let xi;var _i=v(_(ci),2);{var Ke=N=>{var $=xte();j(()=>ln($,"title",`${c(se)??""} package update${c(se)===1?"":"s"} available`)),D(N,$)};z(_i,N=>{c(se)>0&&N(Ke)})}var Ee=v(ci,2);let ii;var bi=v(_(Ee),2);{var ni=N=>{var $=mte();D(N,$)},$i=N=>{var $=vte();D(N,$)},Zi=N=>{var $=_te();D(N,$)};z(bi,N=>{c(H)?N(ni):c(T)?N($i,1):c(V)&&N(Zi,2)})}var wi=v(Ee,2);{var yn=N=>{var $=bte();let oe;j(()=>oe=Ft($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="security"})),U("click",$,()=>Ve("security")),D(N,$)};z(wi,N=>{c(he)&&N(yn)})}var un=v(wi,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)},tt=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(tt,2)})}j(()=>oe=Ft($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="matter"})),U("click",$,()=>Ve("matter")),D(N,$)};z(un,N=>{var $;($=c(s))!=null&&$.matterEnabled&&N(cn)})}var fn=v(un,2);{var ft=N=>{var $=Ste();let oe;j(()=>oe=Ft($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="db"})),U("click",$,()=>Ve("db")),D(N,$)};z(fn,N=>{var $;($=c(s))!=null&&$.dbEnabled&&N(ft)})}var Gt=v(fn,2);let Pi;var qi=v(_(Gt),2);{var Ci=N=>{var $=Dte();D(N,$)},Wi=N=>{var $=Ate();D(N,$)};z(qi,N=>{c(re)?N(Ci):c(ae)&&N(Wi,1)})}var Vi=v(Gt,4),Qi=v(_(Vi),2),Si=_(Qi),it=_(Si);it.nodeValue="v1.12.1 ";var At=v(it);{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 Ti=v(Si,2);{var Bi=N=>{var $=Ite(),oe=_($),ie=v(_(oe));ie.textContent="v1.12.1";var ne=v(ie,2);{var le=ce=>{var je=Bte(),mt=v(Et(je)),Le=_(mt);j(()=>W(Le,`v${c(s).latestVersion??""}`)),D(ce,je)},tt=ce=>{var je=Fte();D(ce,je)};z(ne,ce=>{var je;(je=c(s))!=null&&je.latestVersion?ce(le):ce(tt,-1)})}var Fe=v(oe,2),_e=_(Fe);{var Ze=ce=>{var je=Lte(),mt=v(_(je));j(()=>W(mt,` Update to v${c(s).latestVersion??""}`)),U("click",je,xe),D(ce,je)};z(_e,ce=>{var je;(je=c(s))!=null&&je.latestVersion&&ce(Ze)})}var Me=v(_e,2),lt=_(Me);let Xt;var Z=v(lt);j(()=>{Me.disabled=c(d),Xt=Ft(lt,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(Ti,N=>{var $;c(a)&&!(($=c(s))!=null&&$.docker)&&N(Bi)})}var Ri=v(Qi,2),K=_(Ri),Ae=v(K,2);{var Xe=N=>{var $=Hte(),oe=_($);{var ie=_e=>{var Ze=Rte(),Me=_(Ze);{var lt=vt=>{const ge=Lt(()=>Math.floor((Date.now()-c(s).startedAt)/1e3)),Oe=Lt(()=>Math.floor(c(ge)/86400)),_t=Lt(()=>Math.floor(c(ge)%86400/3600)),jt=Lt(()=>Math.floor(c(ge)%3600/60));var Ct=Pte(),Ni=v(Et(Ct)),Mi=_(Ni);j(()=>W(Mi,`${c(Oe)>0?c(Oe)+"d ":""}${c(_t)>0||c(Oe)>0?c(_t)+"h ":""}${c(jt)??""}m`)),D(vt,Ct)};z(Me,vt=>{c(s).startedAt&&vt(lt)})}var Xt=v(Me,3),Z=_(Xt),ce=v(Xt,3),je=_(ce),mt=v(ce,3),Le=_(mt),He=v(mt,2);{var St=vt=>{var ge=Tte(),Oe=v(Et(ge)),_t=_(Oe),jt=v(Oe,3),Ct=_(jt);j(()=>{W(_t,c(s).matterNodes??0),W(Ct,c(s).matterEndpoints??0)}),D(vt,ge)};z(He,vt=>{c(s).matterEnabled&&vt(St)})}var gt=v(He,2);{var Ie=vt=>{var ge=Mte(),Oe=v(Et(ge)),_t=_(Oe),jt=v(Oe,3),Ct=_(jt);j(()=>{W(_t,c(s).dbDocs??"—"),W(Ct,c(s).dbViews??"—")}),D(vt,ge)};z(gt,vt=>{c(s).dbEnabled&&vt(Ie)})}var pe=v(gt,3),Re=_(pe),Ne=v(pe,3),Ue=_(Ne),rt=v(Ne,3),qe=_(rt);j(()=>{W(Z,c(s).scripts),W(je,c(s).topics),W(Le,c(s).mqttMsgPerSec??"—"),W(Re,c(s).handlers??"—"),W(Ue,c(s).memMb!=null?c(s).memMb+" MB":"—"),W(qe,c(s).cpuPercent!=null?c(s).cpuPercent+" %":"—")}),D(_e,Ze)},ne=_e=>{var Ze=Nte();D(_e,Ze)};z(oe,_e=>{c(s)?_e(ie):_e(ne,-1)})}var le=v(oe,2),tt=_(le);{var Fe=_e=>{var Ze=Ote();U("click",Ze,()=>{m(r,!1),De()}),D(_e,Ze)};z(tt,_e=>{var Ze;(Ze=c(s))!=null&&Ze.docker||_e(Fe)})}U("click",$,_e=>_e.stopPropagation()),D(N,$)};z(Ae,N=>{c(r)&&N(Xe)})}var st=v(Ri,2);let Kt;var si=v(st,2);{var xt=N=>{var $=Wte();U("click",$,P),D(N,$)};z(si,N=>{c(f)==="password"&&N(xt)})}var dt=v(Dt,2),Y=_(dt);gs(Yc(Y,{}),N=>m(M,N,!0),()=>c(M));var Te=v(Y,2);let Ye;var ke=_(Te);{let N=Lt(()=>c(n)==="scripts");nZ(ke,{get active(){return c(N)}})}var It=v(Te,2);let $t;var te=_(It);eJ(te,{});var Je=v(It,2);let Pt;var Bt=_(Je);MQ(Bt,{});var Ot=v(Je,2);let Se;var Qe=_(Ot);JY(Qe,{});var Yt=v(Ot,2);let Zt;var mi=_(Yt);pte(mi,{});var ei=v(Yt,2);let fe;var et=_(ei);iY(et,{});var at=v(ei,2);let ct;var Ut=_(at);KZ(Ut,{});var Ht=v(at,2);let Ei;var I=_(Ht);QZ(I,{}),j(()=>{di=Ft(Jt,1,"svelte-1n46o8q",null,di,{active:c(n)==="scripts"}),xi=Ft(ci,1,"svelte-1n46o8q",null,xi,{active:c(n)==="packages"}),ii=Ft(Ee,1,"svelte-1n46o8q",null,ii,{active:c(n)==="mqtt"}),Pi=Ft(Gt,1,"svelte-1n46o8q",null,Pi,{active:c(n)==="logs"}),Kt=Ft(st,1,"nav-settings svelte-1n46o8q",null,Kt,{active:c(n)==="config"}),Ye=Ft(Te,1,"page-wrap svelte-1n46o8q",null,Ye,{hidden:c(n)!=="scripts"}),$t=Ft(It,1,"page-wrap svelte-1n46o8q",null,$t,{hidden:c(n)!=="packages"}),Pt=Ft(Je,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(Yt,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"}),ct=Ft(at,1,"page-wrap svelte-1n46o8q",null,ct,{hidden:c(n)!=="config"}),Ei=Ft(Ht,1,"page-wrap svelte-1n46o8q",null,Ei,{hidden:c(n)!=="logs"})}),U("click",Jt,()=>Ve("scripts")),U("click",ci,()=>Ve("packages")),U("click",Ee,()=>Ve("mqtt")),U("click",Gt,()=>{Ve("logs"),m(re,!1),m(ae,!1)}),U("click",Si,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",st,()=>Ve("config")),D(Ge,nt)};z(ve,Ge=>{c(w)&&!c(p)&&Ge(ht)})}var Mt=v(ve,2);{var ot=Ge=>{var nt=jte(),Dt=_(nt),Jt=v(_(Dt),4),di=v(_(Jt),2),ci=v(Jt,2);{var xi=Ee=>{var ii=Vte(),bi=_(ii);j(()=>W(bi,c(b))),D(Ee,ii)};z(ci,Ee=>{c(b)&&Ee(xi)})}var _i=v(ci,2),Ke=_(_i);j(()=>{di.disabled=c(y),_i.disabled=c(y)||!c(C),W(Ke,c(y)?"Signing in…":"Sign in")}),xs("submit",Dt,Ee=>{Ee.preventDefault(),A()}),Vt(di,()=>c(C),Ee=>m(C,Ee)),D(Ge,nt)};z(Mt,Ge=>{c(p)&&Ge(ot)})}var yt=v(Mt,2);{var Ce=Ge=>{var nt=$te();D(Ge,nt)};z(yt,Ge=>{c(R)&&Ge(Ce)})}var Rt=v(yt,2);{var ai=Ge=>{var nt=Ute();D(Ge,nt)};z(Rt,Ge=>{c(u)&&Ge(ai)})}D(o,ze),$s()}Ys(["click"]);ZI(Gte,{target:document.getElementById("app")});export{P6 as t};