smart-home-engine 1.1.20 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,230 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-CXWNuhmR.js","assets/monaco-langs-BW2J83t5.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-XvjcqT_Z.js"])))=>i.map(i=>d[i]);
2
+ var RA=Object.defineProperty;var nL=o=>{throw TypeError(o)};var NA=(o,e,t)=>e in o?RA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var vn=(o,e,t)=>NA(o,typeof e!="symbol"?e+"":e,t),vw=(o,e,t)=>e.has(o)||nL("Cannot "+t);var ue=(o,e,t)=>(vw(o,e,"read from private field"),t?t.call(o):e.get(o)),un=(o,e,t)=>e.has(o)?nL("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),hn=(o,e,t,i)=>(vw(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),zn=(o,e,t)=>(vw(o,e,"access private method"),t);import{_ as ED,m as DD,l as Kt,A as bo,C as De,I as Un,D as s_,a as as,g as TD,M as Wt,b as Di,E as da,c as W,r as Dn,d as Nr,e as C,f as AA,h as Hn,R as fn,S as bi,i as Js,j as Ar,k as yn,n as Yi,o as me,p as Xe,K as us,q as qt,s as mt,t as bs,u as X,v as rn,O as Ha,w as _s,P as Jt,x as bw,y as o_,z as PD,B as fl,F as ua,G as bS,H as Os,U as Tn,J as hf,L as ei,N as bl,Q as OA,T as go,V as yS,W as FA,X as MD,$ as Ut,Y as Sn,Z as bn,a0 as Zn,a1 as Bi,a2 as qo,a3 as cp,a4 as pt,a5 as km,a6 as HA,a7 as WA,a8 as vs,a9 as BA,aa as ha,ab as yo,ac as ni,ad as RD,ae as jn,af as zA,ag as VA,ah as _o,ai as Vf,aj as hs,ak as fy,al as ao,am as Hc,an as Ux,ao as gy,ap as Rs,aq as ff,ar as Ns,as as py,at as _y,au as jA,av as r_,aw as jf,ax as Tl,ay as $A,az as $f,aA as UA,aB as qx,aC as qA,aD as GA,aE as sL,aF as rs,aG as gl,aH as lo,aI as qi,aJ as cl,aK as KA,aL as Va,aM as jo,aN as Is,aO as fa,aP as Gx,aQ as ys,aR as is,aS as Qm,aT as Ui,aU as ND,aV as ZA,aW as Kx,aX as my,aY as Zx,aZ as Xx,a_ as bd,a$ as XA,b0 as Yx,b1 as YA,b2 as Qx,b3 as Pl,b4 as Ml,b5 as gf,b6 as dp,b7 as Po,b8 as a_,b9 as Jm,ba as yw,bb as Rn,bc as Jx,bd as l_,be as vy,bf as QA,bg as AD,bh as up,bi as pf,bj as hp,bk as c_,bl as by,bm as wn,bn as Wc,bo as d_,bp as JA,bq as eO,br as e0,bs as tO,bt as ev,bu as cr,bv as t0,bw as _f,bx as Rl,by as Uf,bz as sn,bA as mf,bB as OD,bC as u_,bD as iO,bE as yd,bF as Bt,bG as oL,bH as Lm,bI as FD,bJ as Hr,bK as ra,bL as An,bM as vf,bN as Lr,bO as bf,bP as Kn,bQ as fp,bR as Fu,bS as wS,bT as HD,bU as WD,bV as BD,bW as i0,bX as ko,bY as In,bZ as h_,b_ as zD,b$ as pl,c0 as yy,c1 as nO,c2 as xh,c3 as rL,c4 as f_,c5 as VD,c6 as kh,c7 as sO,c8 as br,c9 as wy,ca as oO,cb as wo,cc as ga,cd as g_,ce as gp,cf as jD,cg as rr,ch as p_,ci as Sy,cj as rO,ck as aO,cl as lO,cm as qf,cn as ja,co as Es,cp as cO,cq as n0,cr as dO,cs as uO,ct as aL,cu as hO,cv as __,cw as yl,cx as SS,cy as mu,cz as wl,cA as fO,cB as Wa,cC as Ir,cD as Wo,cE as lL,cF as to,cG as m_,cH as Dc,cI as $a,cJ as gO,cK as pa,cL as pp,cM as Cy,cN as $D,cO as pO,cP as _O,cQ as s0,cR as mO,cS as _p,cT as vO,cU as ic,cV as mp,cW as cL,cX as bO,cY as yO,cZ as Ga,c_ as wO,c$ as o0,d0 as UD,d1 as qD,d2 as GD,d3 as KD,d4 as SO,d5 as CO,d6 as ZD,d7 as XD,d8 as xO,d9 as r0,da as kO,db as LO,dc as Qn,dd as IO,de as a0,df as EO,dg as Lh,dh as dL,di as DO,dj as TO,dk as PO,dl as MO,dm as RO,dn as NO,dp as yf,dq as xy,dr as CS,ds as AO,dt as OO,du as uL,dv as xS,dw as FO,dx as hL,dy as ww,dz as HO,dA as YD,dB as WO,dC as QD,dD as kS,dE as BO,dF as zO,dG as VO,dH as JD,dI as eT,dJ as jO,dK as tv,dL as tT,dM as ky,dN as $O,dO as UO,dP as Tc,dQ as l0,dR as qO,dS as fL,dT as gL,dU as GO,dV as Ih,dW as iT,dX as KO,dY as ZO,dZ as XO,d_ as YO,d$ as nT,e0 as sT,e1 as oT,e2 as rT,e3 as QO,e4 as Ba,e5 as pL,e6 as JO,e7 as v_,e8 as e2,e9 as kg,ea as aT,eb as _L,ec as vp,ed as lT,ee as iv,ef as t2,eg as cT,eh as i2,ei as dT,ej as n2,ek as s2,el as uT,em as hT,en as Sl,eo as Ly,ep as o2,eq as fT,er as $o,es as wd,et as gT,eu as r2,ev as a2,ew as pT,ex as _T,ey as l2,ez as mT,eA as vT,eB as bp,eC as c2,eD as d2,eE as u2,eF as h2,eG as gg,eH as mL,eI as f2,eJ as g2,eK as p2,eL as nv,eM as Us,eN as _2,eO as LS,eP as Hu,eQ as m2,eR as ll,eS as v2,eT as b2,eU as bT,eV as y2,eW as jg,eX as w2,eY as S2,eZ as C2,e_ as x2,e$ as vL,f0 as bL,f1 as yL,f2 as Wu,f3 as c0,f4 as yT,f5 as IS,f6 as Im,f7 as wT,f8 as sv,f9 as k2,fa as L2,fb as I2,fc as E2,fd as d0,fe as ST,ff as D2,fg as ov,fh as CT,fi as xT,fj as T2,fk as P2,fl as M2,fm as R2,fn as N2,fo as A2,fp as O2,fq as F2,fr as kT,fs as H2,ft as rv,fu as LT,fv as W2,fw as IT,fx as B2,fy as ET,fz as DT,fA as z2,fB as wL,fC as TT,fD as SL,fE as V2,fF as Sw,fG as CL,fH as j2,fI as $2,fJ as U2,fK as Pa,fL as Pc,fM as q2,fN as xL,fO as Em,fP as G2,fQ as dl,fR as Iy,fS as ES,fT as K2,fU as PT,fV as MT,fW as io,fX as kL,fY as K_,fZ as u0,f_ as Z2,f$ as X2,g0 as Y2,g1 as Q2,g2 as J2,g3 as eF,g4 as tF,g5 as iF,g6 as LL,g7 as nF,g8 as sF,g9 as oF,ga as wf,gb as $g,gc as RT,gd as rF,ge as h0,gf as Dm,gg as Z_,gh as Cw,gi as aF,gj as lF,gk as NT,gl as cF,gm as f0,gn as dF,go as uF,gp as AT,gq as Ey,gr as hF,gs as av,gt as g0,gu as p0,gv as _0,gw as OT,gx as FT,gy as HT,gz as WT,gA as BT,gB as zT,gC as VT,gD as IL,gE as jT,gF as th,gG as fF,gH as gF,gI as pF,gJ as _F,gK as $T,gL as mF,gM as vF,gN as EL,gO as DS,gP as cc,gQ as bF,gR as yF,gS as wF,gT as SF,gU as CF,gV as xF,gW as DL,gX as m0,gY as TS,gZ as kF,g_ as PS,g$ as LF,h0 as IF,h1 as EF,h2 as DF,h3 as v0,h4 as UT,h5 as TL,h6 as PL,h7 as TF,h8 as PF,h9 as MF,ha as ML,hb as xw,hc as RF,hd as NF,he as AF,hf as kw,hg as qT,hh as GT,hi as KT,hj as ZT,hk as Cl,hl as XT,hm as b0,hn as RL,ho as OF,hp as YT,hq as FF,hr as HF,hs as Dy,ht as Ty,hu as Bu,hv as Py,hw as b_,hx as WF,hy as My,hz as BF,hA as zF,hB as VF,hC as QT,hD as pg,hE as jF,hF as $F,hG as UF,hH as qF,hI as y_,hJ as GF,hK as JT,hL as eP,hM as tP,hN as MS,hO as KF,hP as ZF,hQ as XF,hR as YF,hS as QF,hT as RS,hU as JF,hV as e3,hW as t3,hX as i3,hY as n3,hZ as s3,h_ as o3,h$ as r3,i0 as iP,i1 as a3,i2 as l3,i3 as c3,i4 as NL,i5 as d3,i6 as u3,i7 as nd,i8 as pr,i9 as h3,ia as f3}from"./monaco-langs-BW2J83t5.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 nP=!1;var y0=Array.isArray,g3=Array.prototype.indexOf,lv=Array.prototype.includes,Ry=Array.from,p3=Object.defineProperty,Vh=Object.getOwnPropertyDescriptor,_3=Object.getOwnPropertyDescriptors,m3=Object.prototype,v3=Array.prototype,sP=Object.getPrototypeOf,AL=Object.isExtensible;const Ny=()=>{};function b3(o){for(var e=0;e<o.length;e++)o[e]()}function oP(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function y3(o,e,t=!1){return o===void 0?t?e():e:o}function OL(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 oo=2,Sf=4,Ay=8,rP=1<<24,aa=16,ca=32,Mc=64,NS=128,Mr=512,qs=1024,Xs=2048,Ua=4096,Io=8192,Rr=16384,Gf=32768,AS=1<<25,Cf=65536,cv=1<<17,w3=1<<18,Kf=1<<19,S3=1<<20,Aa=1<<25,vu=65536,dv=1<<21,jh=1<<22,dc=1<<23,Sd=Symbol("$state"),C3=Symbol("legacy props"),x3=Symbol(""),Tm=Symbol("attributes"),OS=Symbol("class"),FS=Symbol("style"),Lg=Symbol("text"),Pm=Symbol("form reset"),Oy=new class extends Error{constructor(){super(...arguments);vn(this,"name","StaleReactionError");vn(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var kD;const k3=!!((kD=globalThis.document)!=null&&kD.contentType)&&globalThis.document.contentType.includes("xml");function aP(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function L3(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function I3(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function E3(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function D3(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function T3(o){throw new Error("https://svelte.dev/e/effect_orphan")}function P3(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function M3(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function R3(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function N3(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function A3(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function O3(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const F3=1,H3=2,lP=4,W3=8,B3=16,z3=1,V3=4,j3=8,$3=16,U3=1,q3=2,$s=Symbol("uninitialized"),cP="http://www.w3.org/1999/xhtml",G3="http://www.w3.org/2000/svg",K3="http://www.w3.org/1998/Math/MathML";function Z3(){console.warn("https://svelte.dev/e/derived_inert")}function X3(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Y3(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function dP(o){return o===this.v}function Q3(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function uP(o){return!Q3(o,this.v)}let J3=!1,so=null;function xf(o){so=o}function Fs(o,e=!1,t){so={p:so,i:!1,c:null,e:null,s:o,x:null,r:En,l:null}}function Hs(o){var e=so,t=e.e;if(t!==null){e.e=null;for(var i of t)RP(i)}return o!==void 0&&(e.x=o),e.i=!0,so=e.p,o??{}}function hP(){return!0}let ld=[];function fP(){var o=ld;ld=[],b3(o)}function uc(o){if(ld.length===0&&!qg){var e=ld;queueMicrotask(()=>{e===ld&&fP()})}ld.push(o)}function eH(){for(;ld.length>0;)fP()}function gP(o){var e=En;if(e===null)return Ln.f|=dc,o;if((e.f&Gf)===0&&(e.f&Sf)===0)throw o;nc(o,e)}function nc(o,e){for(;e!==null;){if((e.f&NS)!==0){if((e.f&Gf)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const tH=-7169;function Cs(o,e){o.f=o.f&tH|e}function w0(o){(o.f&Mr)!==0||o.deps===null?Cs(o,qs):Cs(o,Ua)}function pP(o){if(o!==null)for(const e of o)(e.f&oo)===0||(e.f&vu)===0||(e.f^=vu,pP(e.deps))}function _P(o,e,t){(o.f&Xs)!==0?e.add(o):(o.f&Ua)!==0&&t.add(o),pP(o.deps),Cs(o,qs)}let X_=!1;function iH(o){var e=X_;try{return X_=!1,[o(),X_]}finally{X_=e}}let Lw=null,ih=null,ji=null,Ug=null,eo=null,HS=null,qg=!1,Iw=!1,Eh=null,Mm=null;var FL=0;let nH=1;var Gh,Jl,gd,Kh,Zh,Xh,sl,Yh,Oo,Qp,ol,Yr,Ia,Qh,pd,Jn,WS,Ig,BS,mP,vP,vh,sH,Eg;const yb=class yb{constructor(){un(this,Jn);vn(this,"id",nH++);un(this,Gh,!1);vn(this,"linked",!0);un(this,Jl,null);un(this,gd,null);vn(this,"async_deriveds",new Map);vn(this,"current",new Map);vn(this,"previous",new Map);un(this,Kh,new Set);un(this,Zh,new Set);un(this,Xh,0);un(this,sl,new Map);un(this,Yh,null);un(this,Oo,[]);un(this,Qp,[]);un(this,ol,new Set);un(this,Yr,new Set);un(this,Ia,new Map);un(this,Qh,new Set);vn(this,"is_fork",!1);un(this,pd,!1);ih===null?Lw=ih=this:(hn(ih,gd,this),hn(this,Jl,ih)),ih=this}skip_effect(e){ue(this,Ia).has(e)||ue(this,Ia).set(e,{d:[],m:[]}),ue(this,Qh).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=ue(this,Ia).get(e);if(i){ue(this,Ia).delete(e);for(var n of i.d)Cs(n,Xs),t(n);for(n of i.m)Cs(n,Ua),t(n)}ue(this,Qh).add(e)}capture(e,t,i=!1){e.v!==$s&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&dc)===0&&(this.current.set(e,[t,i]),eo==null||eo.set(e,t)),this.is_fork||(e.v=t)}activate(){ji=this}deactivate(){ji=null,eo=null}flush(){try{Iw=!0,ji=this,zn(this,Jn,Ig).call(this)}finally{FL=0,HS=null,Eh=null,Mm=null,Iw=!1,ji=null,eo=null,Cd.clear()}}discard(){var e;for(const t of ue(this,Zh))t(this);ue(this,Zh).clear(),zn(this,Jn,Eg).call(this),(e=ue(this,Yh))==null||e.resolve()}register_created_effect(e){ue(this,Qp).push(e)}increment(e,t){if(hn(this,Xh,ue(this,Xh)+1),e){let i=ue(this,sl).get(t)??0;ue(this,sl).set(t,i+1)}}decrement(e,t){if(hn(this,Xh,ue(this,Xh)-1),e){let i=ue(this,sl).get(t)??0;i===1?ue(this,sl).delete(t):ue(this,sl).set(t,i-1)}ue(this,pd)||(hn(this,pd,!0),uc(()=>{hn(this,pd,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)ue(this,ol).add(i);for(const i of t)ue(this,Yr).add(i);e.clear(),t.clear()}oncommit(e){ue(this,Kh).add(e)}ondiscard(e){ue(this,Zh).add(e)}settled(){return(ue(this,Yh)??hn(this,Yh,oP())).promise}static ensure(){if(ji===null){const e=ji=new yb;!Iw&&!qg&&uc(()=>{ue(e,Gh)||e.flush()})}return ji}apply(){{eo=null;return}}schedule(e){var n;if(HS=e,(n=e.b)!=null&&n.is_pending&&(e.f&(Sf|Ay|rP))!==0&&(e.f&Gf)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(Eh!==null&&t===En&&(Ln===null||(Ln.f&oo)===0))return;if((i&(Mc|ca))!==0){if((i&qs)===0)return;t.f^=qs}}ue(this,Oo).push(t)}};Gh=new WeakMap,Jl=new WeakMap,gd=new WeakMap,Kh=new WeakMap,Zh=new WeakMap,Xh=new WeakMap,sl=new WeakMap,Yh=new WeakMap,Oo=new WeakMap,Qp=new WeakMap,ol=new WeakMap,Yr=new WeakMap,Ia=new WeakMap,Qh=new WeakMap,pd=new WeakMap,Jn=new WeakSet,WS=function(){if(this.is_fork)return!0;for(const i of ue(this,sl).keys()){for(var e=i,t=!1;e.parent!==null;){if(ue(this,Ia).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},Ig=function(){var d,u,f,g;hn(this,Gh,!0),FL++>1e3&&(zn(this,Jn,Eg).call(this),rH());for(const p of ue(this,ol))ue(this,Yr).delete(p),Cs(p,Xs),this.schedule(p);for(const p of ue(this,Yr))Cs(p,Ua),this.schedule(p);const e=ue(this,Oo);hn(this,Oo,[]),this.apply();var t=Eh=[],i=[],n=Mm=[];for(const p of e)try{zn(this,Jn,BS).call(this,p,t,i)}catch(w){throw wP(p),zn(this,Jn,WS).call(this)||this.discard(),w}if(ji=null,n.length>0){var s=yb.ensure();for(const p of n)s.schedule(p)}if(Eh=null,Mm=null,zn(this,Jn,WS).call(this)){zn(this,Jn,vh).call(this,i),zn(this,Jn,vh).call(this,t);for(const[p,w]of ue(this,Ia))yP(p,w);n.length>0&&zn(d=ji,Jn,Ig).call(d);return}const r=zn(this,Jn,mP).call(this);if(r){zn(this,Jn,vh).call(this,i),zn(this,Jn,vh).call(this,t),zn(u=r,Jn,vP).call(u,this);return}ue(this,ol).clear(),ue(this,Yr).clear();for(const p of ue(this,Kh))p(this);ue(this,Kh).clear(),Ug=this,HL(i),HL(t),Ug=null,(f=ue(this,Yh))==null||f.resolve();var a=ji;if(ue(this,Xh)===0&&(ue(this,Oo).length===0||a!==null)&&zn(this,Jn,Eg).call(this),ue(this,Oo).length>0)if(a!==null){const p=a;ue(p,Oo).push(...ue(this,Oo).filter(w=>!ue(p,Oo).includes(w)))}else a=this;a!==null&&zn(g=a,Jn,Ig).call(g)},BS=function(e,t,i){e.f^=qs;for(var n=e.first;n!==null;){var s=n.f,r=(s&(ca|Mc))!==0,a=r&&(s&qs)!==0,d=a||(s&Io)!==0||ue(this,Ia).has(n);if(!d&&n.fn!==null){r?n.f^=qs:(s&Sf)!==0?t.push(n):S_(n)&&((s&aa)!==0&&ue(this,Yr).add(n),Lf(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}}},mP=function(){for(var e=ue(this,Jl);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=ue(e,Jl)}return null},vP=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(ue(e,ol),ue(e,Yr));const t=n=>{var s=n.reactions;if(s!==null)for(const d of s){var r=d.f;if((r&oo)!==0)t(d);else{var a=d;r&(jh|aa)&&!this.async_deriveds.has(a)&&(ue(this,Yr).delete(a),Cs(a,Xs),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),zn(i=e,Jn,Eg).call(i),ji=this,zn(this,Jn,Ig).call(this)},vh=function(e){for(var t=0;t<e.length;t+=1)_P(e[t],ue(this,ol),ue(this,Yr))},sH=function(){var f;for(let g=Lw;g!==null;g=ue(g,gd)){var e=g.id<this.id,t=[];for(const[p,[w,y]]of this.current){if(g.current.has(p)){var i=g.current.get(p)[0];if(e&&w!==i)g.current.set(p,[w,y]);else continue}t.push(p)}if(e)for(const[p,w]of this.async_deriveds){const y=g.async_deriveds.get(p);y&&w.promise.then(y.resolve).catch(y.reject)}if(ue(g,Gh)){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 ue(this,Qh))g.unskip_effect(p,w=>{var y;(w.f&(aa|jh))!==0?g.schedule(w):zn(y=g,Jn,vh).call(y,[w])});g.activate();var s=new Set,r=new Map;for(var a of t)bP(a,n,s,r);r=new Map;var d=[...g.current].filter(([p,w])=>{const y=this.current.get(p);return y?y[0]!==w[0]||y[1]!==w[1]:!0}).map(([p])=>p);if(d.length>0)for(const p of ue(this,Qp))(p.f&(Rr|Io|cv))===0&&S0(p,d,r)&&((p.f&(jh|aa))!==0?(Cs(p,Xs),g.schedule(p)):ue(g,ol).add(p));if(ue(g,Oo).length>0&&!ue(g,pd)){g.apply();for(var u of ue(g,Oo))zn(f=g,Jn,BS).call(f,u,[],[]);hn(g,Oo,[])}g.deactivate()}}}},Eg=function(){if(this.linked){var e=ue(this,Jl),t=ue(this,gd);e===null?Lw=t:hn(e,gd,t),t===null?ih=e:hn(t,Jl,e),this.linked=!1}};let bu=yb;function oH(o){var e=qg;qg=!0;try{for(var t;;){if(eH(),ji===null)return t;ji.flush()}}finally{qg=e}}function rH(){try{P3()}catch(o){nc(o,HS)}}let Kr=null;function HL(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(Rr|Io))===0&&S_(i)&&(Kr=new Set,Lf(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&OP(i),(Kr==null?void 0:Kr.size)>0)){Cd.clear();for(const n of Kr){if((n.f&(Rr|Io))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)Kr.has(r)&&(Kr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const d=s[a];(d.f&(Rr|Io))===0&&Lf(d)}}Kr.clear()}}Kr=null}}function bP(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&oo)!==0?bP(n,e,t,i):(s&(jh|aa))!==0&&(s&Xs)===0&&S0(n,e,i)&&(Cs(n,Xs),C0(n))}}function S0(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(lv.call(e,n))return!0;if((n.f&oo)!==0&&S0(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function C0(o){ji.schedule(o)}function yP(o,e){if(!((o.f&ca)!==0&&(o.f&qs)!==0)){(o.f&Xs)!==0?e.d.push(o):(o.f&Ua)!==0&&e.m.push(o),Cs(o,qs);for(var t=o.first;t!==null;)yP(t,e),t=t.next}}function wP(o){Cs(o,qs);for(var e=o.first;e!==null;)wP(e),e=e.next}function aH(o){let e=0,t=yu(0),i;return()=>{I0()&&(c(t),Hy(()=>(e===0&&(i=Al(()=>o(()=>Gg(t)))),e+=1,()=>{uc(()=>{e-=1,e===0&&(i==null||i(),i=void 0,Gg(t))})})))}}var lH=Cf|Kf;function cH(o,e,t,i){new dH(o,e,t,i)}var wr,$x,Sr,_d,Fo,Cr,Co,ir,rl,md,ec,Jh,Jp,e_,al,wb,Ls,uH,hH,fH,zS,Rm,Nm,VS,jS;class dH{constructor(e,t,i,n){un(this,Ls);vn(this,"parent");vn(this,"is_pending",!1);vn(this,"transform_error");un(this,wr);un(this,$x,null);un(this,Sr);un(this,_d);un(this,Fo);un(this,Cr,null);un(this,Co,null);un(this,ir,null);un(this,rl,null);un(this,md,0);un(this,ec,0);un(this,Jh,!1);un(this,Jp,new Set);un(this,e_,new Set);un(this,al,null);un(this,wb,aH(()=>(hn(this,al,yu(ue(this,md))),()=>{hn(this,al,null)})));var s;hn(this,wr,e),hn(this,Sr,t),hn(this,_d,r=>{var a=En;a.b=this,a.f|=NS,i(r)}),this.parent=En.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),hn(this,Fo,T0(()=>{zn(this,Ls,zS).call(this)},lH))}defer_effect(e){_P(e,ue(this,Jp),ue(this,e_))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!ue(this,Sr).pending}update_pending_count(e,t){zn(this,Ls,VS).call(this,e,t),hn(this,md,ue(this,md)+e),!(!ue(this,al)||ue(this,Jh))&&(hn(this,Jh,!0),uc(()=>{hn(this,Jh,!1),ue(this,al)&&kf(ue(this,al),ue(this,md))}))}get_effect_pending(){return ue(this,wb).call(this),c(ue(this,al))}error(e){if(!ue(this,Sr).onerror&&!ue(this,Sr).failed)throw e;ji!=null&&ji.is_fork?(ue(this,Cr)&&ji.skip_effect(ue(this,Cr)),ue(this,Co)&&ji.skip_effect(ue(this,Co)),ue(this,ir)&&ji.skip_effect(ue(this,ir)),ji.oncommit(()=>{zn(this,Ls,jS).call(this,e)})):zn(this,Ls,jS).call(this,e)}}wr=new WeakMap,$x=new WeakMap,Sr=new WeakMap,_d=new WeakMap,Fo=new WeakMap,Cr=new WeakMap,Co=new WeakMap,ir=new WeakMap,rl=new WeakMap,md=new WeakMap,ec=new WeakMap,Jh=new WeakMap,Jp=new WeakMap,e_=new WeakMap,al=new WeakMap,wb=new WeakMap,Ls=new WeakSet,uH=function(){try{hn(this,Cr,xr(()=>ue(this,_d).call(this,ue(this,wr))))}catch(e){this.error(e)}},hH=function(e){const t=ue(this,Sr).failed;t&&hn(this,ir,xr(()=>{t(ue(this,wr),()=>e,()=>()=>{})}))},fH=function(){const e=ue(this,Sr).pending;e&&(this.is_pending=!0,hn(this,Co,xr(()=>e(ue(this,wr)))),uc(()=>{var t=hn(this,rl,document.createDocumentFragment()),i=_l();t.append(i),hn(this,Cr,zn(this,Ls,Nm).call(this,()=>xr(()=>ue(this,_d).call(this,i)))),ue(this,ec)===0&&(ue(this,wr).before(t),hn(this,rl,null),kd(ue(this,Co),()=>{hn(this,Co,null)}),zn(this,Ls,Rm).call(this,ji))}))},zS=function(){try{if(this.is_pending=this.has_pending_snippet(),hn(this,ec,0),hn(this,md,0),hn(this,Cr,xr(()=>{ue(this,_d).call(this,ue(this,wr))})),ue(this,ec)>0){var e=hn(this,rl,document.createDocumentFragment());M0(ue(this,Cr),e);const t=ue(this,Sr).pending;hn(this,Co,xr(()=>t(ue(this,wr))))}else zn(this,Ls,Rm).call(this,ji)}catch(t){this.error(t)}},Rm=function(e){this.is_pending=!1,e.transfer_effects(ue(this,Jp),ue(this,e_))},Nm=function(e){var t=En,i=Ln,n=so;qa(ue(this,Fo)),Or(ue(this,Fo)),xf(ue(this,Fo).ctx);try{return bu.ensure(),e()}catch(s){return gP(s),null}finally{qa(t),Or(i),xf(n)}},VS=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&zn(i=this.parent,Ls,VS).call(i,e,t);return}hn(this,ec,ue(this,ec)+e),ue(this,ec)===0&&(zn(this,Ls,Rm).call(this,t),ue(this,Co)&&kd(ue(this,Co),()=>{hn(this,Co,null)}),ue(this,rl)&&(ue(this,wr).before(ue(this,rl)),hn(this,rl,null)))},jS=function(e){ue(this,Cr)&&(Uo(ue(this,Cr)),hn(this,Cr,null)),ue(this,Co)&&(Uo(ue(this,Co)),hn(this,Co,null)),ue(this,ir)&&(Uo(ue(this,ir)),hn(this,ir,null));var t=ue(this,Sr).onerror;let i=ue(this,Sr).failed;var n=!1,s=!1;const r=()=>{if(n){Y3();return}n=!0,s&&O3(),ue(this,ir)!==null&&kd(ue(this,ir),()=>{hn(this,ir,null)}),zn(this,Ls,Nm).call(this,()=>{zn(this,Ls,zS).call(this)})},a=d=>{try{s=!0,t==null||t(d,r),s=!1}catch(u){nc(u,ue(this,Fo)&&ue(this,Fo).parent)}i&&hn(this,ir,zn(this,Ls,Nm).call(this,()=>{try{return xr(()=>{var u=En;u.b=this,u.f|=NS,i(ue(this,wr),()=>d,()=>r)})}catch(u){return nc(u,ue(this,Fo).parent),null}}))};uc(()=>{var d;try{d=this.transform_error(e)}catch(u){nc(u,ue(this,Fo)&&ue(this,Fo).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(a,u=>nc(u,ue(this,Fo)&&ue(this,Fo).parent)):a(d)})};function gH(o,e,t,i){const n=yp;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=En,a=pH(),d=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function u(p){if((r.f&Rr)===0){a();try{i(p)}catch(w){nc(w,r)}uv()}}var f=SP();if(t.length===0){d.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>_H(p))).then(p=>u([...e.map(n),...p])).catch(p=>nc(p,r)).finally(f)}d?d.then(()=>{a(),g(),uv()}):g()}function pH(){var o=En,e=Ln,t=so,i=ji;return function(s=!0){qa(o),Or(e),xf(t),s&&(o.f&Rr)===0&&(i==null||i.activate(),i==null||i.apply())}}function uv(o=!0){qa(null),Or(null),xf(null),o&&(ji==null||ji.deactivate())}function SP(){var o=En,e=o.b,t=ji,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 yp(o){var e=oo|Xs;return En!==null&&(En.f|=Kf),{ctx:so,deps:null,effects:null,equals:dP,f:e,fn:o,reactions:null,rv:0,v:$s,wv:0,parent:En,ac:null}}const Y_=Symbol("obsolete");function _H(o,e,t){let i=En;i===null&&L3();var n=void 0,s=yu($s),r=!Ln,a=new Set;return EH(()=>{var w,y;var d=En,u=oP();n=u.promise;try{Promise.resolve(o()).then(u.resolve,x=>{x!==Oy&&u.reject(x)}).finally(uv)}catch(x){u.reject(x),uv()}var f=ji;if(r){if((d.f&Gf)!==0)var g=SP();if((w=i.b)!=null&&w.is_rendered())(y=f.async_deriveds.get(d))==null||y.reject(Y_);else for(const x of a.values())x.reject(Y_);a.add(u),f.async_deriveds.set(d,u)}const p=(x,k=void 0)=>{g==null||g(),a.delete(u),k!==Y_&&(f.activate(),k?(s.f|=dc,kf(s,k)):((s.f&dc)!==0&&(s.f^=dc),kf(s,x)),f.deactivate())};u.promise.then(p,x=>p(null,x||"unknown"))}),E0(()=>{for(const d of a)d.reject(Y_)}),new Promise(d=>{function u(f){function g(){f===n?d(s):u(n)}f.then(g,g)}u(n)})}function dt(o){const e=yp(o);return WP(e),e}function x0(o){const e=yp(o);return e.equals=uP,e}function mH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Uo(e[t])}}function k0(o){var e,t=En,i=o.parent;if(!xl&&i!==null&&o.v!==$s&&(i.f&(Rr|Io))!==0)return Z3(),o.v;qa(i);try{o.f&=~vu,mH(o),e=jP(o)}finally{qa(t)}return e}function CP(o){var e=k0(o);if(!o.equals(e)&&(o.wv=zP(),(!(ji!=null&&ji.is_fork)||o.deps===null)&&(ji!==null?(ji.capture(o,e,!0),Ug==null||Ug.capture(o,e,!0)):o.v=e,o.deps===null))){Cs(o,qs);return}xl||(eo!==null?(I0()||ji!=null&&ji.is_fork)&&eo.set(o,e):w0(o))}function vH(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(Oy),i.fn!==null&&(i.teardown=Ny),i.ac=null,wp(i,0),P0(i))}function xP(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&Lf(e)}let hv=new Set;const Cd=new Map;let kP=!1;function yu(o,e){var t={f:0,v:o,reactions:null,equals:dP,rv:0,wv:0};return t}function M(o,e){const t=yu(o);return WP(t),t}function bH(o,e=!1,t=!0){const i=yu(o);return e||(i.equals=uP),i}function b(o,e,t=!1){Ln!==null&&(!la||(Ln.f&cv)!==0)&&hP()&&(Ln.f&(oo|aa|jh|cv))!==0&&(za===null||!za.has(o))&&A3();let i=t?mi(e):e;return kf(o,i,Mm)}function kf(o,e,t=null){if(!o.equals(e)){Cd.set(o,xl?e:o.v);var i=bu.ensure();if(i.capture(o,e),(o.f&oo)!==0){const n=o;(o.f&Xs)!==0&&k0(n),eo===null&&w0(n)}o.wv=zP(),LP(o,Xs,t),En!==null&&(En.f&qs)!==0&&(En.f&(ca|Mc))===0&&(yr===null?TH([o]):yr.push(o)),!i.is_fork&&hv.size>0&&!kP&&yH()}return e}function yH(){kP=!1;for(const o of hv){(o.f&qs)!==0&&Cs(o,Ua);let e;try{e=S_(o)}catch{e=!0}e&&Lf(o)}hv.clear()}function WL(o,e=1){var t=c(o),i=e===1?t++:t--;return b(o,t),i}function Gg(o){b(o,o.v+1)}function LP(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&Xs)===0;if(d&&Cs(r,e),(a&cv)!==0)hv.add(r);else if((a&oo)!==0){var u=r;eo==null||eo.delete(u),(a&vu)===0&&(a&Mr&&(En===null||(En.f&dv)===0)&&(r.f|=vu),LP(u,Ua,t))}else if(d){var f=r;(a&aa)!==0&&Kr!==null&&Kr.add(f),t!==null?t.push(f):C0(f)}}}function mi(o){if(typeof o!="object"||o===null||Sd in o)return o;const e=sP(o);if(e!==m3&&e!==v3)return o;var t=new Map,i=y0(o),n=M(0),s=Ld,r=a=>{if(Ld===s)return a();var d=Ln,u=Ld;Or(null),jL(s);var f=a();return Or(d),jL(u),f};return i&&t.set("length",M(o.length)),new Proxy(o,{defineProperty(a,d,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&R3();var f=t.get(d);return f===void 0?r(()=>{var g=M(u.value);return t.set(d,g),g}):b(f,u.value,!0),!0},deleteProperty(a,d){var u=t.get(d);if(u===void 0){if(d in a){const f=r(()=>M($s));t.set(d,f),Gg(n)}}else b(u,$s),Gg(n);return!0},get(a,d,u){var w;if(d===Sd)return o;var f=t.get(d),g=d in a;if(f===void 0&&(!g||(w=Vh(a,d))!=null&&w.writable)&&(f=r(()=>{var y=mi(g?a[d]:$s),x=M(y);return x}),t.set(d,f)),f!==void 0){var p=c(f);return p===$s?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!==$s)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return u},has(a,d){var p;if(d===Sd)return!0;var u=t.get(d),f=u!==void 0&&u.v!==$s||Reflect.has(a,d);if(u!==void 0||En!==null&&(!f||(p=Vh(a,d))!=null&&p.writable)){u===void 0&&(u=r(()=>{var w=f?mi(a[d]):$s,y=M(w);return y}),t.set(d,u));var g=c(u);if(g===$s)return!1}return f},set(a,d,u,f){var A;var g=t.get(d),p=d in a;if(i&&d==="length")for(var w=u;w<g.v;w+=1){var y=t.get(w+"");y!==void 0?b(y,$s):w in a&&(y=r(()=>M($s)),t.set(w+"",y))}if(g===void 0)(!p||(A=Vh(a,d))!=null&&A.writable)&&(g=r(()=>M(void 0)),b(g,mi(u)),t.set(d,g));else{p=g.v!==$s;var x=r(()=>mi(u));b(g,x)}var k=Reflect.getOwnPropertyDescriptor(a,d);if(k!=null&&k.set&&k.set.call(f,u),!p){if(i&&typeof d=="string"){var D=t.get("length"),P=Number(d);Number.isInteger(P)&&P>=D.v&&b(D,P+1)}Gg(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!==$s});for(var[u,f]of t)f.v!==$s&&!(u in a)&&d.push(u);return d},setPrototypeOf(){N3()}})}function BL(o){try{if(o!==null&&typeof o=="object"&&Sd in o)return o[Sd]}catch{}return o}function wH(o,e){return Object.is(BL(o),BL(e))}var xd,IP,EP,DP,TP;function SH(){if(xd===void 0){xd=window,IP=document,EP=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;DP=Vh(e,"firstChild").get,TP=Vh(e,"nextSibling").get,AL(o)&&(o[OS]=void 0,o[Tm]=null,o[FS]=void 0,o.__e=void 0),AL(t)&&(t[Lg]=void 0)}}function _l(o=""){return document.createTextNode(o)}function Oa(o){return DP.call(o)}function w_(o){return TP.call(o)}function m(o,e){return Oa(o)}function St(o,e=!1){{var t=Oa(o);return t instanceof Comment&&t.data===""?w_(t):t}}function v(o,e=1,t=!1){let i=o;for(;e--;)i=w_(i);return i}function CH(o){o.textContent=""}function PP(){return!1}function MP(o,e,t){return e==null||e===cP?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let zL=!1;function xH(){zL||(zL=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[Pm])==null||e.call(t)})},{capture:!0}))}function Fy(o){var e=Ln,t=En;Or(null),qa(null);try{return o()}finally{Or(e),qa(t)}}function L0(o,e,t,i=t){o.addEventListener(e,()=>Fy(t));const n=o[Pm];n?o[Pm]=()=>{n(),i(!0)}:o[Pm]=()=>i(!0),xH()}function kH(o){En===null&&(Ln===null&&T3(),D3()),xl&&E3()}function LH(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function Nl(o,e){var t=En;t!==null&&(t.f&Io)!==0&&(o|=Io);var i={ctx:so,deps:null,nodes:null,f:o|Xs|Mr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};ji==null||ji.register_created_effect(i);var n=i;if((o&Sf)!==0)Eh!==null?Eh.push(i):bu.ensure().schedule(i);else if(e!==null){try{Lf(i)}catch(r){throw Uo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&Kf)===0&&(n=n.first,(o&aa)!==0&&(o&Cf)!==0&&n!==null&&(n.f|=Cf))}if(n!==null&&(n.parent=t,t!==null&&LH(n,t),Ln!==null&&(Ln.f&oo)!==0&&(o&Mc)===0)){var s=Ln;(s.effects??(s.effects=[])).push(n)}return i}function I0(){return Ln!==null&&!la}function E0(o){const e=Nl(Ay,null);return Cs(e,qs),e.teardown=o,e}function Vn(o){kH();var e=En.f,t=!Ln&&(e&ca)!==0&&so!==null&&!so.i;if(t){var i=so;(i.e??(i.e=[])).push(o)}else return RP(o)}function RP(o){return Nl(Sf|S3,o)}function IH(o){bu.ensure();const e=Nl(Mc|Kf,o);return(t={})=>new Promise(i=>{t.outro?kd(e,()=>{Uo(e),i(void 0)}):(Uo(e),i(void 0))})}function D0(o){return Nl(Sf,o)}function EH(o){return Nl(jh|Kf,o)}function Hy(o,e=0){return Nl(Ay|e,o)}function V(o,e=[],t=[],i=[]){gH(i,e,t,n=>{Nl(Ay,()=>o(...n.map(c)))})}function T0(o,e=0){var t=Nl(aa|e,o);return t}function xr(o){return Nl(ca|Kf,o)}function NP(o){var e=o.teardown;if(e!==null){const t=xl,i=Ln;VL(!0),Or(null);try{e.call(null)}finally{VL(t),Or(i)}}}function P0(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&Fy(()=>{n.abort(Oy)});var i=t.next;(t.f&Mc)!==0?t.parent=null:Uo(t,e),t=i}}function DH(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&ca)===0&&Uo(e),e=t}}function Uo(o,e=!0){var t=!1;(e||(o.f&w3)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(AP(o.nodes.start,o.nodes.end),t=!0),Cs(o,AS),P0(o,e&&!t),wp(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();NP(o),o.f^=AS,o.f|=Rr;var n=o.parent;n!==null&&n.first!==null&&OP(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function AP(o,e){for(;o!==null;){var t=o===e?null:w_(o);o.remove(),o=t}}function OP(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 kd(o,e,t=!0){var i=[];FP(o,i,!0);var n=()=>{t&&Uo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function FP(o,e,t){if((o.f&Io)===0){o.f^=Io;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&Mc)===0){var r=(n.f&Cf)!==0||(n.f&ca)!==0&&(o.f&aa)!==0;FP(n,e,r?t:!1)}n=s}}}function fv(o){HP(o,!0)}function HP(o,e){if((o.f&Io)!==0){o.f^=Io,(o.f&qs)===0&&(Cs(o,Xs),bu.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&Cf)!==0||(t.f&ca)!==0;HP(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 M0(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:w_(t);e.append(t),t=n}}let Am=!1,xl=!1;function VL(o){xl=o}let Ln=null,la=!1;function Or(o){Ln=o}let En=null;function qa(o){En=o}let za=null;function WP(o){Ln!==null&&(za??(za=new Set)).add(o)}let Ho=null,er=0,yr=null;function TH(o){yr=o}let BP=1,cd=0,Ld=cd;function jL(o){Ld=o}function zP(){return++BP}function S_(o){var e=o.f;if((e&Xs)!==0)return!0;if(e&oo&&(o.f&=~vu),(e&Ua)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(S_(s)&&CP(s),s.wv>o.wv)return!0}(e&Mr)!==0&&eo===null&&Cs(o,qs)}return!1}function VP(o,e,t=!0){var i=o.reactions;if(i!==null&&!(za!==null&&za.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&oo)!==0?VP(s,e,!1):e===s&&(t?Cs(s,Xs):(s.f&qs)!==0&&Cs(s,Ua),C0(s))}}function jP(o){var x;var e=Ho,t=er,i=yr,n=Ln,s=za,r=so,a=la,d=Ld,u=o.f;Ho=null,er=0,yr=null,Ln=(u&(ca|Mc))===0?o:null,za=null,xf(o.ctx),la=!1,Ld=++cd,o.ac!==null&&(Fy(()=>{o.ac.abort(Oy)}),o.ac=null);try{o.f|=dv;var f=o.fn,g=f();o.f|=Gf;var p=o.deps,w=ji==null?void 0:ji.is_fork;if(Ho!==null){var y;if(w||wp(o,er),p!==null&&er>0)for(p.length=er+Ho.length,y=0;y<Ho.length;y++)p[er+y]=Ho[y];else o.deps=p=Ho;if(I0()&&(o.f&Mr)!==0)for(y=er;y<p.length;y++)((x=p[y]).reactions??(x.reactions=[])).push(o)}else!w&&p!==null&&er<p.length&&(wp(o,er),p.length=er);if(hP()&&yr!==null&&!la&&p!==null&&(o.f&(oo|Ua|Xs))===0)for(y=0;y<yr.length;y++)VP(yr[y],o);if(n!==null&&n!==o){if(cd++,n.deps!==null)for(let k=0;k<t;k+=1)n.deps[k].rv=cd;if(e!==null)for(const k of e)k.rv=cd;yr!==null&&(i===null?i=yr:i.push(...yr))}return(o.f&dc)!==0&&(o.f^=dc),g}catch(k){return gP(k)}finally{o.f^=dv,Ho=e,er=t,yr=i,Ln=n,za=s,xf(r),la=a,Ld=d}}function PH(o,e){let t=e.reactions;if(t!==null){var i=g3.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&oo)!==0&&(Ho===null||!lv.call(Ho,e))){var s=e;(s.f&Mr)!==0&&(s.f^=Mr,s.f&=~vu),s.v!==$s&&w0(s),vH(s),wp(s,0)}}function wp(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)PH(o,t[i])}function Lf(o){var e=o.f;if((e&Rr)===0){Cs(o,qs);var t=En,i=Am;En=o,Am=!0;try{(e&(aa|rP))!==0?DH(o):P0(o),NP(o);var n=jP(o);o.teardown=typeof n=="function"?n:null,o.wv=BP;var s;nP&&J3&&(o.f&Xs)!==0&&o.deps}finally{Am=i,En=t}}}async function Om(){await Promise.resolve(),oH()}function c(o){var e=o.f,t=(e&oo)!==0;if(Ln!==null&&!la){var i=En!==null&&(En.f&Rr)!==0;if(!i&&(za===null||!za.has(o))){var n=Ln.deps;if((Ln.f&dv)!==0)o.rv<cd&&(o.rv=cd,Ho===null&&n!==null&&n[er]===o?er++:Ho===null?Ho=[o]:Ho.push(o));else{Ln.deps??(Ln.deps=[]),lv.call(Ln.deps,o)||Ln.deps.push(o);var s=o.reactions;s===null?o.reactions=[Ln]:lv.call(s,Ln)||s.push(Ln)}}}if(xl&&Cd.has(o))return Cd.get(o);if(t){var r=o;if(xl){var a=r.v;return((r.f&qs)===0&&r.reactions!==null||UP(r))&&(a=k0(r)),Cd.set(r,a),a}var d=(r.f&Mr)===0&&!la&&Ln!==null&&(Am||(Ln.f&Mr)!==0),u=(r.f&Gf)===0;S_(r)&&(d&&(r.f|=Mr),CP(r)),d&&!u&&(xP(r),$P(r))}if(eo!=null&&eo.has(o))return eo.get(o);if((o.f&dc)!==0)throw o.v;return o.v}function $P(o){if(o.f|=Mr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&oo)!==0&&(e.f&Mr)===0&&(xP(e),$P(e))}function UP(o){if(o.v===$s)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(Cd.has(e)||(e.f&oo)!==0&&UP(e))return!0;return!1}function Al(o){var e=la;try{return la=!0,o()}finally{la=e}}const MH=["touchstart","touchmove"];function RH(o){return MH.includes(o)}const dd=Symbol("events"),qP=new Set,$S=new Set;function NH(o,e,t,i={}){function n(s){if(i.capture||US.call(e,s),!s.cancelBubble)return Fy(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?uc(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function ds(o,e,t,i,n){var s={capture:i,passive:n},r=NH(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&E0(()=>{e.removeEventListener(o,r,s)})}function U(o,e,t){(e[dd]??(e[dd]={}))[o]=t}function Qs(o){for(var e=0;e<o.length;e++)qP.add(o[e]);for(var t of $S)t(o)}let $L=null;function US(o){var x,k;var e=this,t=e.ownerDocument,i=o.type,n=((x=o.composedPath)==null?void 0:x.call(o))||[],s=n[0]||o.target;$L=o;var r=0,a=$L===o&&o[dd];if(a){var d=n.indexOf(a);if(d!==-1&&(e===document||e===window)){o[dd]=e;return}var u=n.indexOf(e);if(u===-1)return;d<=u&&(r=d)}if(s=n[r]||o.target,s!==e){p3(o,"currentTarget",{configurable:!0,get(){return s||t}});var f=Ln,g=En;Or(null),qa(null);try{for(var p,w=[];s!==null&&s!==e;){try{var y=(k=s[dd])==null?void 0:k[i];y!=null&&(!s.disabled||o.target===s)&&y.call(s,o)}catch(D){p?w.push(D):p=D}if(o.cancelBubble)break;r++,s=r<n.length?n[r]:null}if(p){for(let D of w)queueMicrotask(()=>{throw D});throw p}}finally{o[dd]=e,delete o.currentTarget,Or(f),qa(g)}}}var LD;const Ew=((LD=globalThis==null?void 0:globalThis.window)==null?void 0:LD.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function AH(o){return(Ew==null?void 0:Ew.createHTML(o))??o}function GP(o){var e=MP("template");return e.innerHTML=AH(o.replaceAll("<!>","<!---->")),e.content}function wu(o,e){var t=En;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function T(o,e){var t=(e&U3)!==0,i=(e&q3)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=GP(s?o:"<!>"+o),t||(n=Oa(n)));var r=i||EP?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Oa(r),d=r.lastChild;wu(a,d)}else wu(r,r);return r}}function OH(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=GP(n),a=Oa(r);s=Oa(a)}var d=s.cloneNode(!0);return wu(d,d),d}}function KP(o,e){return OH(o,e,"svg")}function Dr(o=""){{var e=_l(o+"");return wu(e,e),e}}function Ms(){var o=document.createDocumentFragment(),e=document.createComment(""),t=_l();return o.append(e,t),wu(e,t),o}function E(o,e){o!==null&&o.before(e)}function O(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[Lg]??(o[Lg]=o.nodeValue))&&(o[Lg]=t,o.nodeValue=`${t}`)}function FH(o,e){return HH(o,e)}const Q_=new Map;function HH(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){SH();var d=void 0,u=IH(()=>{var f=t??e.appendChild(_l());cH(f,{pending:()=>{}},w=>{Fs({});var y=so;s&&(y.c=s),n&&(i.$$events=n),d=o(w,i)||{},Hs()},a);var g=new Set,p=w=>{for(var y=0;y<w.length;y++){var x=w[y];if(!g.has(x)){g.add(x);var k=RH(x);for(const A of[e,document]){var D=Q_.get(A);D===void 0&&(D=new Map,Q_.set(A,D));var P=D.get(x);P===void 0?(A.addEventListener(x,US,{passive:k}),D.set(x,1)):D.set(x,P+1)}}}};return p(Ry(qP)),$S.add(p),()=>{var k;for(var w of g)for(const D of[e,document]){var y=Q_.get(D),x=y.get(w);--x==0?(D.removeEventListener(w,US),y.delete(w),y.size===0&&Q_.delete(D)):y.set(w,x)}$S.delete(p),f!==t&&((k=f.parentNode)==null||k.removeChild(f))}});return WH.set(d,u),d}let WH=new WeakMap;var Qr,Ea,nr,vd,t_,i_,Sb;class BH{constructor(e,t=!0){vn(this,"anchor");un(this,Qr,new Map);un(this,Ea,new Map);un(this,nr,new Map);un(this,vd,new Set);un(this,t_,!0);un(this,i_,e=>{if(ue(this,Qr).has(e)){var t=ue(this,Qr).get(e),i=ue(this,Ea).get(t);if(i)fv(i),ue(this,vd).delete(t);else{var n=ue(this,nr).get(t);n&&(fv(n.effect),ue(this,Ea).set(t,n.effect),ue(this,nr).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of ue(this,Qr)){if(ue(this,Qr).delete(s),s===e)break;const a=ue(this,nr).get(r);a&&(Uo(a.effect),ue(this,nr).delete(r))}for(const[s,r]of ue(this,Ea)){if(s===t||ue(this,vd).has(s))continue;const a=()=>{if(Array.from(ue(this,Qr).values()).includes(s)){var u=document.createDocumentFragment();M0(r,u),u.append(_l()),ue(this,nr).set(s,{effect:r,fragment:u})}else Uo(r);ue(this,vd).delete(s),ue(this,Ea).delete(s)};ue(this,t_)||!i?(ue(this,vd).add(s),kd(r,a,!1)):a()}}});un(this,Sb,e=>{ue(this,Qr).delete(e);const t=Array.from(ue(this,Qr).values());for(const[i,n]of ue(this,nr))t.includes(i)||(Uo(n.effect),ue(this,nr).delete(i))});this.anchor=e,hn(this,t_,t)}ensure(e,t){var i=ji,n=PP();if(t&&!ue(this,Ea).has(e)&&!ue(this,nr).has(e))if(n){var s=document.createDocumentFragment(),r=_l();s.append(r),ue(this,nr).set(e,{effect:xr(()=>t(r)),fragment:s})}else ue(this,Ea).set(e,xr(()=>t(this.anchor)));if(ue(this,Qr).set(i,e),n){for(const[a,d]of ue(this,Ea))a===e?i.unskip_effect(d):i.skip_effect(d);for(const[a,d]of ue(this,nr))a===e?i.unskip_effect(d.effect):i.skip_effect(d.effect);i.oncommit(ue(this,i_)),i.ondiscard(ue(this,Sb))}else ue(this,i_).call(this,i)}}Qr=new WeakMap,Ea=new WeakMap,nr=new WeakMap,vd=new WeakMap,t_=new WeakMap,i_=new WeakMap,Sb=new WeakMap;function H(o,e,t=!1){var i=new BH(o),n=t?Cf:0;function s(r,a){i.ensure(r,a)}T0(()=>{var r=!1;e((a,d=0)=>{r=!0,s(d,a)}),r||s(-1,null)},n)}function Wi(o,e){return e}function zH(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let g=e[a];kd(g,()=>{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var p=o.outrogroups;qS(o,Ry(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;CH(f),f.append(u),o.items.clear()}qS(o,e,!d)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function qS(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|=Aa;const r=document.createDocumentFragment();M0(s,r)}else Uo(e[n],t)}}var UL;function ai(o,e,t,i,n,s=null){var r=o,a=new Map,d=(e&lP)!==0;if(d){var u=o;r=u.appendChild(_l())}var f=null,g=x0(()=>{var A=t();return y0(A)?A:A==null?[]:Ry(A)}),p,w=new Map,y=!0;function x(A){(P.effect.f&Rr)===0&&(P.pending.delete(A),P.fallback=f,VH(P,p,r,e,i),f!==null&&(p.length===0?(f.f&Aa)===0?fv(f):(f.f^=Aa,Dg(f,null,r)):kd(f,()=>{f=null})))}function k(A){P.pending.delete(A)}var D=T0(()=>{p=c(g);for(var A=p.length,q=new Set,z=ji,oe=PP(),ie=0;ie<A;ie+=1){var be=p[ie],ye=i(be,ie),qe=y?null:a.get(ye);qe?(qe.v&&kf(qe.v,be),qe.i&&kf(qe.i,ie),oe&&z.unskip_effect(qe.e)):(qe=jH(a,y?r:UL??(UL=_l()),be,ye,ie,n,e,t),y||(qe.e.f|=Aa),a.set(ye,qe)),q.add(ye)}if(A===0&&s&&!f&&(y?f=xr(()=>s(r)):(f=xr(()=>s(UL??(UL=_l()))),f.f|=Aa)),A>q.size&&I3(),!y)if(w.set(z,q),oe){for(const[Oe,rt]of a)q.has(Oe)||z.skip_effect(rt.e);z.oncommit(x),z.ondiscard(k)}else x(z);c(g)}),P={effect:D,items:a,pending:w,outrogroups:null,fallback:f};y=!1}function _g(o){for(;o!==null&&(o.f&ca)===0;)o=o.next;return o}function VH(o,e,t,i,n){var qe,Oe,rt,vt,Ce,yt,ut,Rt,Fe;var s=(i&W3)!==0,r=e.length,a=o.items,d=_g(o.effect.first),u,f=null,g,p=[],w=[],y,x,k,D;if(s)for(D=0;D<r;D+=1)y=e[D],x=n(y,D),k=a.get(x).e,(k.f&Aa)===0&&((Oe=(qe=k.nodes)==null?void 0:qe.a)==null||Oe.measure(),(g??(g=new Set)).add(k));for(D=0;D<r;D+=1){if(y=e[D],x=n(y,D),k=a.get(x).e,o.outrogroups!==null)for(const Ht of o.outrogroups)Ht.pending.delete(k),Ht.done.delete(k);if((k.f&Io)!==0&&(fv(k),s&&((vt=(rt=k.nodes)==null?void 0:rt.a)==null||vt.unfix(),(g??(g=new Set)).delete(k))),(k.f&Aa)!==0)if(k.f^=Aa,k===d)Dg(k,null,t);else{var P=f?f.next:d;k===o.effect.last&&(o.effect.last=k.prev),k.prev&&(k.prev.next=k.next),k.next&&(k.next.prev=k.prev),zl(o,f,k),zl(o,k,P),Dg(k,P,t),f=k,p=[],w=[],d=_g(f.next);continue}if(k!==d){if(u!==void 0&&u.has(k)){if(p.length<w.length){var A=w[0],q;f=A.prev;var z=p[0],oe=p[p.length-1];for(q=0;q<p.length;q+=1)Dg(p[q],A,t);for(q=0;q<w.length;q+=1)u.delete(w[q]);zl(o,z.prev,oe.next),zl(o,f,z),zl(o,oe,A),d=A,f=oe,D-=1,p=[],w=[]}else u.delete(k),Dg(k,d,t),zl(o,k.prev,k.next),zl(o,k,f===null?o.effect.first:f.next),zl(o,f,k),f=k;continue}for(p=[],w=[];d!==null&&d!==k;)(u??(u=new Set)).add(d),w.push(d),d=_g(d.next);if(d===null)continue}(k.f&Aa)===0&&p.push(k),f=k,d=_g(k.next)}if(o.outrogroups!==null){for(const Ht of o.outrogroups)Ht.pending.size===0&&(qS(o,Ry(Ht.done)),(Ce=o.outrogroups)==null||Ce.delete(Ht));o.outrogroups.size===0&&(o.outrogroups=null)}if(d!==null||u!==void 0){var ie=[];if(u!==void 0)for(k of u)(k.f&Io)===0&&ie.push(k);for(;d!==null;)(d.f&Io)===0&&d!==o.fallback&&ie.push(d),d=_g(d.next);var be=ie.length;if(be>0){var ye=(i&lP)!==0&&r===0?t:null;if(s){for(D=0;D<be;D+=1)(ut=(yt=ie[D].nodes)==null?void 0:yt.a)==null||ut.measure();for(D=0;D<be;D+=1)(Fe=(Rt=ie[D].nodes)==null?void 0:Rt.a)==null||Fe.fix()}zH(o,ie,ye)}}s&&uc(()=>{var Ht,Ye;if(g!==void 0)for(k of g)(Ye=(Ht=k.nodes)==null?void 0:Ht.a)==null||Ye.apply()})}function jH(o,e,t,i,n,s,r,a){var d=(r&F3)!==0?(r&B3)===0?bH(t,!1,!1):yu(t):null,u=(r&H3)!==0?yu(n):null;return{v:d,i:u,e:xr(()=>(s(e,d??t,u??n,a),()=>{o.delete(i)}))}}function Dg(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Aa)===0?e.nodes.start:t;i!==null;){var r=w_(i);if(s.before(i),i===n)return;i=r}}function zl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function sc(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var d=o;V(()=>{var u=En;if(a!==(a=e()??"")){if(t){u.nodes=null,d.innerHTML=a,a!==""&&wu(Oa(d),d.lastChild);return}if(u.nodes!==null&&(AP(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?G3:n?K3:void 0,g=MP(i?"svg":n?"math":"template",f);g.innerHTML=a;var p=i||n?g:g.content;if(wu(Oa(p),p.lastChild),i||n)for(;Oa(p);)r.before(Oa(p));else r.before(p)}}})}function ZP(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=ZP(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function $H(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=ZP(o))&&(i&&(i+=" "),i+=e);return i}function ud(o){return typeof o=="object"?$H(o):o??""}const qL=[...`
3
+ \r\f \v\uFEFF`];function UH(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||qL.includes(i[r-1]))&&(a===i.length||qL.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function GL(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 Dw(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function qH(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(Dw)),n&&d.push(...Object.keys(n).map(Dw));var u=0,f=-1;const x=o.length;for(var g=0;g<x;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===x-1){if(f!==-1){var w=Dw(o.substring(u,f).trim());if(!d.includes(w)){p!==";"&&g++;var y=o.substring(u,g).trim();t+=" "+y+";"}}u=g+1,f=-1}}}}return i&&(t+=GL(i)),n&&(t+=GL(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function Tt(o,e,t,i,n,s){var r=o[OS];if(r!==t||r===void 0){var a=UH(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[OS]=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 Tw(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 Bo(o,e,t,i){var n=o[FS];if(n!==e){var s=qH(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[FS]=e}else i&&(Array.isArray(i)?(Tw(o,t==null?void 0:t[0],i[0]),Tw(o,t==null?void 0:t[1],i[1],"important")):Tw(o,t,i));return i}function XP(o,e,t=!1){if(o.multiple){if(e==null)return;if(!y0(e))return X3();for(var i of o.options)i.selected=e.includes(Kg(i));return}for(i of o.options){var n=Kg(i);if(wH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function GH(o){var e=new MutationObserver(()=>{XP(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),E0(()=>{e.disconnect()})}function fo(o,e,t=e){var i=new WeakSet,n=!0;L0(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),Kg);else{var d=o.querySelector(r)??o.querySelector("option:not([disabled])");a=d&&Kg(d)}t(a),o.__value=a,ji!==null&&i.add(ji)}),D0(()=>{var s=e();if(o===document.activeElement){var r=ji;if(i.has(r))return}if(XP(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=Kg(a),t(s))}o.__value=s,n=!1}),GH(o)}function Kg(o){return"__value"in o?o.__value:o.value}const KH=Symbol("is custom element"),ZH=Symbol("is html"),XH=k3?"progress":"PROGRESS";function KL(o,e){var t=R0(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==XH)||(o.value=e??"")}function hd(o,e){var t=R0(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function Ai(o,e,t,i){var n=R0(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[x3]=t),t==null?o.removeAttribute(e):typeof t!="string"&&YH(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function R0(o){return o[Tm]??(o[Tm]={[KH]:o.nodeName.includes("-"),[ZH]:o.namespaceURI===cP})}var ZL=new Map;function YH(o){var e=o.getAttribute("is")||o.nodeName,t=ZL.get(e);if(t)return t;ZL.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=_3(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=sP(n)}return t}function Qt(o,e,t=e){var i=new WeakSet;L0(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=Pw(o)?Mw(s):s,t(s),ji!==null&&i.add(ji),await Om(),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))}}}),Al(e)==null&&o.value&&(t(Pw(o)?Mw(o.value):o.value),ji!==null&&i.add(ji)),Hy(()=>{var n=e();if(o===document.activeElement){var s=ji;if(i.has(s))return}Pw(o)&&n===Mw(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function xs(o,e,t=e){L0(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),Al(e)==null&&t(o.checked),Hy(()=>{var i=e();o.checked=!!i})}function Pw(o){var e=o.type;return e==="number"||e==="range"}function Mw(o){return o===""?null:+o}var tc,ef,n_,Cb,YP;const xb=class xb{constructor(e){un(this,Cb);un(this,tc,new WeakMap);un(this,ef);un(this,n_);hn(this,n_,e)}observe(e,t){var i=ue(this,tc).get(e)||new Set;return i.add(t),ue(this,tc).set(e,i),zn(this,Cb,YP).call(this).observe(e,ue(this,n_)),()=>{var n=ue(this,tc).get(e);n.delete(t),n.size===0&&(ue(this,tc).delete(e),ue(this,ef).unobserve(e))}}};tc=new WeakMap,ef=new WeakMap,n_=new WeakMap,Cb=new WeakSet,YP=function(){return ue(this,ef)??hn(this,ef,new ResizeObserver(e=>{for(var t of e){xb.entries.set(t.target,t);for(var i of ue(this,tc).get(t.target)||[])i(t)}}))},vn(xb,"entries",new WeakMap);let GS=xb;var QH=new GS({box:"border-box"});function JH(o,e,t){var i=QH.observe(o,()=>t(o[e]));D0(()=>(Al(()=>t(o[e])),i))}function Rw(o,e){return o===e||(o==null?void 0:o[Sd])===e}function ks(o={},e,t,i){var n=so.r,s=En;return D0(()=>{var r,a;return Hy(()=>{r=a,a=[],Al(()=>{Rw(t(...a),o)||(e(o,...a),r&&Rw(t(...r),o)&&e(null,...r))})}),()=>{let d=s;for(;d!==n&&d.parent!==null&&d.parent.f&AS;)d=d.parent;const u=()=>{a&&Rw(t(...a),o)&&e(null,...a)},f=d.teardown;d.teardown=()=>{u(),f==null||f()}}}),o}function Su(o,e,t,i){var q;var n=!0,s=(t&j3)!==0,r=(t&$3)!==0,a=i,d=!0,u=void 0,f=()=>r&&n?(u??(u=yp(i)),c(u)):(d&&(d=!1,a=r?Al(i):i),a);let g;if(s){var p=Sd in o||C3 in o;g=((q=Vh(o,e))==null?void 0:q.set)??(p&&e in o?z=>o[e]=z:void 0)}var w,y=!1;s?[w,y]=iH(()=>o[e]):w=o[e],w===void 0&&i!==void 0&&(w=f(),g&&(M3(),g(w)));var x;if(x=()=>{var z=o[e];return z===void 0?f():(d=!0,z)},(t&V3)===0)return x;if(g){var k=o.$$legacy;return(function(z,oe){return arguments.length>0?((!oe||k||y)&&g(oe?x():z),z):x()})}var D=!1,P=((t&z3)!==0?yp:x0)(()=>(D=!1,x()));s&&c(P);var A=En;return(function(z,oe){if(arguments.length>0){const ie=oe?c(P):s?mi(z):z;return b(P,ie),D=!0,a!==void 0&&(a=ie),z}return xl&&D||(A.f&Rr)!==0?P.v:c(P)})}function co(o){so===null&&aP(),Vn(()=>{const e=Al(o);if(typeof e=="function")return e})}function Wy(o){so===null&&aP(),co(()=>()=>Al(o))}const eW="5";var ID;typeof window<"u"&&((ID=window.__svelte??(window.__svelte={})).v??(ID.v=new Set)).add(eW);/*!-----------------------------------------------------------------------------
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 tW=Object.defineProperty,iW=Object.getOwnPropertyDescriptor,nW=Object.getOwnPropertyNames,sW=Object.prototype.hasOwnProperty,oW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of nW(e))!sW.call(o,n)&&n!==t&&tW(o,n,{get:()=>e[n],enumerable:!(i=iW(e,n))||i.enumerable});return o},rW=(o,e,t)=>(oW(o,e,"default"),t),C_={};rW(C_,DD);var aW=class{constructor(e,t,i){this._onDidChange=new C_.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)}},lW={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},cW={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},QP=new aW("json",lW,cW),dW=()=>JP().then(o=>o.getWorker());C_.languages.json={jsonDefaults:QP,getWorker:dW};function JP(){return ED(()=>import("./jsonMode-CXWNuhmR.js"),__vite__mapDeps([0,1,2]))}C_.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});C_.languages.onLanguage("json",()=>{JP().then(o=>o.setupMode(QP))});/*!-----------------------------------------------------------------------------
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 uW=Object.defineProperty,hW=Object.getOwnPropertyDescriptor,fW=Object.getOwnPropertyNames,gW=Object.prototype.hasOwnProperty,pW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of fW(e))!gW.call(o,n)&&n!==t&&uW(o,n,{get:()=>e[n],enumerable:!(i=hW(e,n))||i.enumerable});return o},_W=(o,e,t)=>(pW(o,e,"default"),t),mW="5.4.5",If={};_W(If,DD);var eM=(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))(eM||{}),tM=(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))(tM||{}),iM=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(iM||{}),nM=(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))(nM||{}),sM=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(sM||{}),oM=class{constructor(o,e,t,i,n){this._onDidChange=new If.Emitter,this._onDidExtraLibsChange=new If.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)}},vW=mW,rM={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},aM=new oM({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},rM),lM=new oM({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},rM),bW=()=>By().then(o=>o.getTypeScriptWorker()),yW=()=>By().then(o=>o.getJavaScriptWorker());If.languages.typescript={ModuleKind:eM,JsxEmit:tM,NewLineKind:iM,ScriptTarget:nM,ModuleResolutionKind:sM,typescriptVersion:vW,typescriptDefaults:aM,javascriptDefaults:lM,getTypeScriptWorker:bW,getJavaScriptWorker:yW};function By(){return ED(()=>import("./tsMode-XvjcqT_Z.js"),__vite__mapDeps([3,1,2]))}If.languages.onLanguage("typescript",()=>By().then(o=>o.setupTypeScript(aM)));If.languages.onLanguage("javascript",()=>By().then(o=>o.setupJavaScript(lM)));class wW extends bo{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Kt("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Di.map,toggled:De.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:De.has("isInDiffEditor"),menu:{when:De.has("isInDiffEditor"),id:Wt.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(Un),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class cM extends bo{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Kt("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:De.has("isInDiffEditor")})}run(e,...t){const i=e.get(Un),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class dM extends bo{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Kt("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:De.has("isInDiffEditor")})}run(e,...t){const i=e.get(Un),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const x_=Kt("diffEditor","Diff Editor");class SW extends da{constructor(){super({id:"diffEditor.switchSide",title:Kt("switchSide","Switch Side"),icon:Di.arrowSwap,precondition:De.has("isInDiffEditor"),f1:!0,category:x_})}runEditorCommand(e,t,i){const n=Zf(e);if(n instanceof s_){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class CW extends da{constructor(){super({id:"diffEditor.exitCompareMove",title:Kt("exitCompareMove","Exit Compare Move"),icon:Di.close,precondition:W.comparingMovedCode,f1:!1,category:x_,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=Zf(e);n instanceof s_&&n.exitCompareMove()}}class xW extends da{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Kt("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Di.fold,precondition:De.has("isInDiffEditor"),f1:!0,category:x_})}runEditorCommand(e,t,...i){const n=Zf(e);n instanceof s_&&n.collapseAllUnchangedRegions()}}class kW extends da{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Kt("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Di.unfold,precondition:De.has("isInDiffEditor"),f1:!0,category:x_})}runEditorCommand(e,t,...i){const n=Zf(e);n instanceof s_&&n.showAllUnchangedRegions()}}class KS extends bo{constructor(){super({id:"diffEditor.revert",title:Kt("revert","Revert"),f1:!1,category:x_})}run(e,t){const i=LW(e,t.originalUri,t.modifiedUri);i instanceof s_&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const uM=Kt("accessibleDiffViewer","Accessible Diff Viewer"),kb=class kb extends bo{constructor(){super({id:kb.id,title:Kt("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:uM,precondition:De.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=Zf(e);t==null||t.accessibleDiffViewerNext()}};kb.id="editor.action.accessibleDiffViewer.next";let Sp=kb;const Lb=class Lb extends bo{constructor(){super({id:Lb.id,title:Kt("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:uM,precondition:De.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=Zf(e);t==null||t.accessibleDiffViewerPrev()}};Lb.id="editor.action.accessibleDiffViewer.prev";let gv=Lb;function LW(o,e,t){return o.get(as).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 Zf(o){const t=o.get(as).listDiffEditors(),i=TD();if(i)for(const n of t){const s=n.getContainerDomNode();if(IW(s,i))return n}return null}function IW(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Dn(wW);Dn(cM);Dn(dM);Nr.appendMenuItem(Wt.EditorTitle,{command:{id:new dM().desc.id,title:C("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:De.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:De.has("isInDiffEditor")},order:11,group:"1_diff",when:De.and(W.diffEditorRenderSideBySideInlineBreakpointReached,De.has("isInDiffEditor"))});Nr.appendMenuItem(Wt.EditorTitle,{command:{id:new cM().desc.id,title:C("showMoves","Show Moved Code Blocks"),icon:Di.move,toggled:AA.create("config.diffEditor.experimental.showMoves",!0),precondition:De.has("isInDiffEditor")},order:10,group:"1_diff",when:De.has("isInDiffEditor")});Dn(KS);for(const o of[{icon:Di.arrowRight,key:W.diffEditorInlineMode.toNegated()},{icon:Di.discard,key:W.diffEditorInlineMode}])Nr.appendMenuItem(Wt.DiffEditorHunkToolbar,{command:{id:new KS().desc.id,title:C("revertHunk","Revert Block"),icon:o.icon},when:De.and(W.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Nr.appendMenuItem(Wt.DiffEditorSelectionToolbar,{command:{id:new KS().desc.id,title:C("revertSelection","Revert Selection"),icon:o.icon},when:De.and(W.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Dn(SW);Dn(CW);Dn(xW);Dn(kW);Nr.appendMenuItem(Wt.EditorTitle,{command:{id:Sp.id,title:C("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:De.has("isInDiffEditor")},order:10,group:"2_diff",when:De.and(W.accessibleDiffViewerVisible.negate(),De.has("isInDiffEditor"))});Hn.registerCommandAlias("editor.action.diffReview.next",Sp.id);Dn(Sp);Hn.registerCommandAlias("editor.action.diffReview.prev",gv.id);Dn(gv);var EW=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)}},ZS;const zy=new fn("selectionAnchorSet",!1);var Td;let Rc=(Td=class{static get(e){return e.getContribution(ZS.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=zy.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(bi.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Js().appendText(C("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Ar(C("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(bi.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()}},ZS=Td,Td.ID="editor.contrib.selectionAnchorController",Td);Rc=ZS=EW([DW(1,yn)],Rc);class TW extends Xe{constructor(){super({id:"editor.action.setSelectionAnchor",label:C("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2080),weight:100}})}async run(e,t){var i;(i=Rc.get(t))==null||i.setSelectionAnchor()}}class PW extends Xe{constructor(){super({id:"editor.action.goToSelectionAnchor",label:C("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:zy})}async run(e,t){var i;(i=Rc.get(t))==null||i.goToSelectionAnchor()}}class MW extends Xe{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:C("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:zy,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2089),weight:100}})}async run(e,t){var i;(i=Rc.get(t))==null||i.selectFromAnchorToCursor()}}class RW extends Xe{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:C("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:zy,kbOpts:{kbExpr:W.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=Rc.get(t))==null||i.cancelSelectionAnchor()}}Yi(Rc.ID,Rc,4);me(TW);me(PW);me(MW);me(RW);const NW=qt("editorOverviewRuler.bracketMatchForeground","#A0A0A0",C("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class AW extends Xe{constructor(){super({id:"editor.action.jumpToBracket",label:C("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:W.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=Cu.get(t))==null||i.jumpToBracket()}}class OW extends Xe{constructor(){super({id:"editor.action.selectToBracket",label:C("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Kt("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=Cu.get(t))==null||s.selectToBracket(n)}}class FW extends Xe{constructor(){super({id:"editor.action.removeBrackets",label:C("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:W.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=Cu.get(t))==null||i.removeBrackets(this.id)}}class HW{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const Kl=class Kl extends mt{static get(e){return e.getContribution(Kl.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new bs(()=>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 bi(r.lineNumber,r.column,r.lineNumber,r.column):new bi(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(X.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 bi(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 w=e[g];w.isEmpty()&&(s[r++]=w.getStartPosition())}s.length>1&&s.sort(Jt.compare);const a=[];let d=0,u=0;const f=n.length;for(let g=0,p=s.length;g<p;g++){const w=s[g];for(;u<f&&n[u].position.isBefore(w);)u++;if(u<f&&n[u].position.equals(w))a[d++]=n[u];else{let y=t.bracketPairs.matchBracket(w,20),x=Kl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!y&&this._matchBrackets==="always"&&(y=t.bracketPairs.findEnclosingBrackets(w,20),x=Kl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[d++]=new HW(w,y,x)}}this._lastBracketsData=a,this._lastVersionId=i}};Kl.ID="editor.contrib.bracketMatchingController",Kl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=rn.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:_s(NW),position:Ha.Center}}),Kl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=rn.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Cu=Kl;Yi(Cu.ID,Cu,1);me(OW);me(AW);me(FW);Nr.appendMenuItem(Wt.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:C({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class WW{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 X(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new X(i,s,i,s),a)}else{const r=new X(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new X(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new bi(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new bi(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class hM extends Xe{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 WW(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class BW extends hM{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:C("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:W.writable})}}class zW extends hM{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:C("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:W.writable})}}me(BW);me(zW);class VW extends Xe{constructor(){super({id:"editor.action.transposeLetters",label:C("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:W.writable,kbOpts:{kbExpr:W.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():bw.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=bw.leftPosition(i,f),p=bw.leftPosition(i,g),w=i.getValueInRange(X.fromPositions(p,g)),y=i.getValueInRange(X.fromPositions(g,f)),x=X.fromPositions(p,f);n.push(new o_(x,y+w))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}me(VW);const Vy=(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 N0(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function jW(o,e,t){const i={id:Vy(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class fM{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 fl.some(this,([i,n])=>n.asFile())&&t.push("files"),pM(pv(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 pv(e)}}function pv(o){return o.toLowerCase()}function gM(o,e){return pM(pv(o),e.map(pv))}function pM(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 jy=Object.freeze({create:o=>PD(o.map(e=>e.toString())).join(`\r
14
+ `),split:o=>o.split(`\r
15
+ `),parse:o=>jy.split(o).filter(e=>!e.startsWith("#"))}),Ca=class Ca{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+Ca.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new Ca((this.value?[this.value,...e]:e).join(Ca.sep))}};Ca.sep=".",Ca.None=new Ca("@@none@@"),Ca.Empty=new Ca("");let $n=Ca;const XL={EDITORS:"CodeEditors",FILES:"CodeFiles"};class $W{}const UW={DragAndDropContribution:"workbench.contributions.dragAndDrop"};ua.add(UW.DragAndDropContribution,new $W);const op=class op{constructor(){}static getInstance(){return op.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};op.INSTANCE=new op;let XS=op;function _M(o){const e=new fM;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,N0(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,qW(n))}}return e}function qW(o){const e=o.path?Tn.parse(o.path):void 0;return jW(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const GW=Object.freeze([XL.EDITORS,XL.FILES,bS.RESOURCES,bS.INTERNAL_URI_LIST]);function mM(o,e=!1){const t=_M(o),i=t.get(bS.INTERNAL_URI_LIST);if(i)t.replace(Os.uriList,i);else if(e||!t.has(Os.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(Tn.file(a).toString()):n.push(Tn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Os.uriList,N0(jy.create(n)))}for(const n of GW)t.delete(n);return t}var A0=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},Cp=function(o,e){return function(t,i){e(t,i,o)}};class O0{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 rp=class rp extends O0{constructor(){super(...arguments),this.kind=rp.kind,this.dropMimeTypes=[Os.text],this.pasteMimeTypes=[Os.text]}async getEdit(e,t){const i=e.get(Os.text);if(!i||e.has(Os.uriList))return;const n=await i.asString();return{handledMimeType:Os.text,title:C("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};rp.id="text",rp.kind=new $n("text.plain");let xu=rp;class vM extends O0{constructor(){super(...arguments),this.kind=new $n("uri.absolute"),this.dropMimeTypes=[Os.uriList],this.pasteMimeTypes=[Os.uriList]}async getEdit(e,t){const i=await bM(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:d})=>a.scheme===go.file?a.fsPath:(n++,d)).join(" ");let r;return n>0?r=i.length>1?C("defaultDropProvider.uriList.uris","Insert Uris"):C("defaultDropProvider.uriList.uri","Insert Uri"):r=i.length>1?C("defaultDropProvider.uriList.paths","Insert Paths"):C("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Os.uriList,insertText:s,title:r,kind:this.kind}}}let _v=class extends O0{constructor(e){super(),this._workspaceContextService=e,this.kind=new $n("uri.relative"),this.dropMimeTypes=[Os.uriList],this.pasteMimeTypes=[Os.uriList]}async getEdit(e,t){const i=await bM(e);if(!i.length||t.isCancellationRequested)return;const n=bl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?OA(r.uri,s):void 0}));if(n.length)return{handledMimeType:Os.uriList,insertText:n.join(" "),title:i.length>1?C("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):C("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};_v=A0([Cp(0,hf)],_v);class KW{constructor(){this.kind=new $n("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Os.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var d;if(n.triggerKind!==yS.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:C("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function bM(o){const e=o.get(Os.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of jy.parse(t))try{i.push({uri:Tn.parse(n),originalText:n})}catch{}return i}let YS=class extends mt{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new xu)),this._register(e.documentDropEditProvider.register("*",new vM)),this._register(e.documentDropEditProvider.register("*",new _v(t)))}};YS=A0([Cp(0,ei),Cp(1,hf)],YS);let QS=class extends mt{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new xu)),this._register(e.documentPasteEditProvider.register("*",new vM)),this._register(e.documentPasteEditProvider.register("*",new _v(t))),this._register(e.documentPasteEditProvider.register("*",new KW))}};QS=A0([Cp(0,ei),Cp(1,hf)],QS);const _r=class _r{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=_r._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(_r.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(_r.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(_r.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(_r.isVariableCharacter(i)||_r.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 _r._table[i]>"u"&&!_r.isDigitCharacter(i)&&!_r.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};_r._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let JS=_r;class Xf{constructor(){this._children=[]}appendChild(e){return e instanceof Lo&&this._children[this._children.length-1]instanceof Lo?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 k_)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let Lo=class yM extends Xf{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new yM(this.value)}};class wM extends Xf{}class ar extends wM{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 Yf?this._children[0]:void 0}clone(){const e=new ar(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class Yf extends Xf{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Lo&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new Yf;return this.options.forEach(e.appendChild,e),e}}class F0 extends Xf{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 Jr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Jr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new F0;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 Jr extends Xf{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 Jr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class xp extends wM{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 Lo(t)],!0):!1}clone(){const e=new xp(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function YL(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class k_ extends Xf{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof ar&&(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 YL([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof ar&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof xp&&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 k_;return this._children=this.children.map(t=>t.clone()),e}walk(e){YL(this.children,e)}}class ku{constructor(){this._scanner=new JS,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 k_;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 ar&&(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 ar(d.index);g.transform=d.transform;for(const p of f){const w=p.clone();g.appendChild(w),w instanceof ar&&n.has(w.index)&&!u.has(w.index)&&(u.add(w.index),r(w,u),u.delete(w.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 ar(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 Lo(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 ar(Number(t)):new xp(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 ar(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Lo("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new Yf;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 Lo(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 xp(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Lo("${"+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 F0;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 Lo(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 Jr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Jr(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 Jr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Jr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Jr(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 Jr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Jr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new Lo(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function SM(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 FA(o,{range:s,text:typeof t.insertText=="string"?ku.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function CM(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 ZW=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},XW=function(o,e){return function(t,i){e(t,i,o)}};const YW=rn.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:MD,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Ib=class Ib extends mt{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=Ut(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=Ut("span.icon");this.domNode.append(t),t.classList.add(...Sn.asClassNameArray(Di.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,Zn.CLICK,n=>{this.delegate.cancel()}))}getId(){return Ib.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)}};Ib.baseId="editor.widget.inlineProgressWidget";let eC=Ib,mv=class extends mt{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=cp(()=>{const a=X.fromPositions(e);this._currentDecorations.set([{range:a,options:YW}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(eC,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()}};mv=ZW([XW(2,Bi)],mv);var QW=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},QL=function(o,e){return function(t,i){e(t,i,o)}},Fm,fc;let Eo=(fc=class{static get(e){return e.getContribution(Fm.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new qo,this._messageListeners=new pt,this._mouseOverMessage=!1,this._editor=e,this._visible=Fm.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){Ar(km(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=km(e)?HA(e,{actionHandler:{callback:n=>{this.closeMessage(),WA(this._openerService,n,km(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new JL(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(vs.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&BA(TD(),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(),Zn.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(bn(this._messageWidget.value.getDomNode(),Zn.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 X(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(JL.fadeOut(this._messageWidget.value))}},Fm=fc,fc.ID="editor.contrib.messageController",fc.MESSAGE_VISIBLE=new fn("messageVisible",!1,C("messageVisible","Whether the editor is currently showing an inline message")),fc);Eo=Fm=QW([QL(1,yn),QL(2,ha)],Eo);const JW=yo.bindToContribution(Eo.get);ni(new JW({id:"leaveEditorMessage",precondition:Eo.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let JL=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)}};Yi(Eo.ID,Eo,4);function Nw(o,e){return e&&(o.stack||o.stacktrace)?C("stackTrace.format","{0}: {1}",tI(o),eI(o.stack)||eI(o.stacktrace)):tI(o)}function eI(o){return Array.isArray(o)?o.join(`
16
+ `):o}function tI(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"?C("nodeExceptionMessage","A system error occurred ({0})",o.message):o.message||C("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function vv(o=null,e=!1){if(!o)return C("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=bl(o),i=vv(t[0],e);return t.length>1?C("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(RD(o))return o;if(o.detail){const t=o.detail;if(t.error)return Nw(t.error,e);if(t.exception)return Nw(t.exception,e)}return o.stack?Nw(o,e):o.message?o.message:C("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var xM=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)}},tC,Pd;let iC=(Pd=class extends mt{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(jn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(jn((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(g=>{s.containsPosition(g.position)||this.dispose()})),this._register(vs.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=Ut(".post-edit-widget"),this.button=this._register(new zA(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(bn(this.domNode,Zn.CLICK,()=>this.showSelector()))}getId(){return tC.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=_o(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>VA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},tC=Pd,Pd.baseId="editor.widget.postEditWidget",Pd);iC=tC=xM([$h(7,Vf),$h(8,yn),$h(9,hs)],iC);let bv=class extends mt{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(vs.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 k=>{const D=this._editor.getModel();D&&(await D.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:k,allEdits:t.allEdits},i,n,s))},u=(k,D)=>{Hc(k)||(this._notificationService.error(D),i&&this.show(e[0],t,d))};let f;try{f=await n(a,s)}catch(k){return u(k,C("resolveError",`Error resolving edit '{0}':
17
+ {1}`,a.title,vv(k)))}if(s.isCancellationRequested)return;const g=SM(r.uri,e,f),p=e[0],w=r.deltaDecorations([],[{range:p,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let y,x;try{y=await this._bulkEditService.apply(g,{editor:this._editor,token:s}),x=r.getDecorationRange(w[0])}catch(k){return u(k,C("applyError",`Error applying edit '{0}':
18
+ {1}`,a.title,vv(k)))}finally{r.deltaDecorations(w,[])}s.isCancellationRequested||i&&y.isApplied&&t.allEdits.length>1&&this.show(x??p,t,d)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(iC,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()}};bv=xM([$h(4,Bi),$h(5,fy),$h(6,ao)],bv);var e4=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},nh=function(o,e){return function(t,i){e(t,i,o)}},ed;const kM="editor.changePasteType",H0=new fn("pasteWidgetVisible",!1,C("pasteWidgetVisible","Whether the paste widget is showing")),Aw="application/vnd.code.copyMetadata";var Md;let kl=(Md=class extends mt{static get(e){return e.getContribution(ed.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 mv("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(bv,"pasteIntoEditor",e,H0,{id:kM,label:C("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},Ux().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 x,k,D,P;if(!this._editor.hasTextFocus()||((k=(x=this._clipboardService).clearInternalState)==null||k.call(x),!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 X(s[0].startLineNumber,1,s[0].startLineNumber,1+t.getLineLength(s[0].startLineNumber))]}const a=(D=this._editor._getViewModel())==null?void 0:D.getPlainTextToCopy(i,n,gy),u={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:r,mode:null},f=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(A=>!!A.prepareDocumentPaste);if(!f.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:u});return}const g=_M(e.clipboardData),p=f.flatMap(A=>A.copyMimeTypes??[]),w=Vy();this.setCopyMetadata(e.clipboardData,{id:w,providerCopyMimeTypes:p,defaultPastePayload:u});const y=Rs(async A=>{const q=bl(await Promise.all(f.map(async z=>{try{return await z.prepareDocumentPaste(t,s,g,A)}catch(oe){console.error(oe);return}})));q.reverse();for(const z of q)for(const[oe,ie]of z)g.replace(oe,ie);return g});(P=ed._currentCopyOperation)==null||P.dataTransferPromise.cancel(),ed._currentCopyOperation={handle:w,dataTransferPromise:y}}async handlePaste(e){var d,u,f;if(!e.clipboardData||!this._editor.hasTextFocus())return;(d=Eo.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=mM(e.clipboardData);s.delete(Aw);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],Os.uriList],a=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(g=>{var w,y;const p=(w=this._pasteAsActionContext)==null?void 0:w.preferred;return p&&g.providedPasteEditKinds&&!this.providerMatchesPreference(g,p)?!1:(y=g.pasteMimeTypes)==null?void 0:y.some(x=>gM(x,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=Eo.get(this._editor))==null||i.showMessage(C("pasteAsError","No paste edits for '{0}' found",t instanceof $n?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new ff(r,3,void 0),d=Rs(async u=>{const f=this._editor;if(!f.hasModel())return;const g=f.getModel(),p=new pt,w=p.add(new Ns(u));p.add(a.token.onCancellationRequested(()=>w.cancel()));const y=w.token;try{if(await this.mergeInDataFromCopy(i,n,y),y.isCancellationRequested)return;const x=e.filter(P=>this.isSupportedPasteProvider(P,i));if(!x.length||x.length===1&&x[0]instanceof xu)return this.applyDefaultPasteHandler(i,n,y,s);const k={triggerKind:yS.Automatic},D=await this.getPasteEdits(x,i,g,t,k,y);if(p.add(D),y.isCancellationRequested)return;if(D.edits.length===1&&D.edits[0].provider instanceof xu)return this.applyDefaultPasteHandler(i,n,y,s);if(D.edits.length){const P=f.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:D.edits},P,(A,q)=>new Promise((z,oe)=>{(async()=>{var ie,be;try{const ye=(be=(ie=A.provider).resolveDocumentPasteEdit)==null?void 0:be.call(ie,A,q),qe=new py,Oe=ye&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),C("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([qe.p,ye]),{cancel:()=>(qe.cancel(),oe(new _y))},0);return Oe&&(A.additionalEdit=Oe.additionalEdit),z(A)}catch(ye){return oe(ye)}})()}),y)}await this.applyDefaultPasteHandler(i,n,y,s)}finally{p.dispose(),this._currentPasteOperation===d&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),C("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=Rs(async a=>{const d=this._editor;if(!d.hasModel())return;const u=d.getModel(),f=new pt,g=f.add(new ff(d,3,void 0,a));try{if(await this.mergeInDataFromCopy(n,s,g.token),g.token.isCancellationRequested)return;let p=t.filter(D=>this.isSupportedPasteProvider(D,n,e));e&&(p=p.filter(D=>this.providerMatchesPreference(D,e)));const w={triggerKind:yS.PasteAs,only:e&&e instanceof $n?e:void 0};let y=f.add(await this.getPasteEdits(p,n,u,i,w,g.token));if(g.token.isCancellationRequested)return;if(e&&(y={edits:y.edits.filter(D=>e instanceof $n?e.contains(D.kind):e.providerId===D.provider.id),dispose:y.dispose}),!y.edits.length){w.only&&this.showPasteAsNoEditMessage(i,w.only);return}let x;if(e)x=y.edits.at(0);else{const D=await this._quickInputService.pick(y.edits.map(P=>{var A;return{label:P.title,description:(A=P.kind)==null?void 0:A.value,edit:P}}),{placeHolder:C("pasteAsPickerPlaceholder","Select Paste Action")});x=D==null?void 0:D.edit}if(!x)return;const k=SM(u.uri,i,x);await this._bulkEditService.apply(k,{editor:this._editor})}finally{f.dispose(),this._currentPasteOperation===r&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:C("pasteAsProgress","Running paste handlers")},()=>r)}setCopyMetadata(e,t){e.setData(Aw,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(Aw);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=jA.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=ed._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await ed._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(Os.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(Os.uriList,N0(jy.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new pt,d=await r_(Promise.all(e.map(async f=>{var g,p;try{const w=await((g=f.provideDocumentPasteEdits)==null?void 0:g.call(f,i,n,t,s,r));return w&&a.add(w),(p=w==null?void 0:w.edits)==null?void 0:p.map(y=>({...y,provider:f}))}catch(w){Hc(w)||console.error(w);return}})),r),u=bl(d??[]).flat().filter(f=>!s.only||s.only.contains(f.kind));return{edits:CM(u),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(Os.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 $n?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},ed=Md,Md.ID="editor.contrib.copyPasteActionController",Md);kl=ed=e4([nh(1,Bi),nh(2,fy),nh(3,jf),nh(4,ei),nh(5,Tl),nh(6,$A)],kl);const Lu="9_cutcopypaste",t4=$f||document.queryCommandSupported("cut"),LM=$f||document.queryCommandSupported("copy"),i4=typeof navigator.clipboard>"u"||UA?document.queryCommandSupported("paste"):!0;function W0(o){return o.register(),o}const n4=t4?W0(new qx({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:$f?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Wt.MenubarEditMenu,group:"2_ccp",title:C({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:Wt.EditorContext,group:Lu,title:C("actions.clipboard.cutLabel","Cut"),when:W.writable,order:1},{menuId:Wt.CommandPalette,group:"",title:C("actions.clipboard.cutLabel","Cut"),order:1},{menuId:Wt.SimpleEditorContext,group:Lu,title:C("actions.clipboard.cutLabel","Cut"),when:W.writable,order:1}]})):void 0,s4=LM?W0(new qx({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:$f?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Wt.MenubarEditMenu,group:"2_ccp",title:C({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:Wt.EditorContext,group:Lu,title:C("actions.clipboard.copyLabel","Copy"),order:2},{menuId:Wt.CommandPalette,group:"",title:C("actions.clipboard.copyLabel","Copy"),order:1},{menuId:Wt.SimpleEditorContext,group:Lu,title:C("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;Nr.appendMenuItem(Wt.MenubarEditMenu,{submenu:Wt.MenubarCopy,title:Kt("copy as","Copy As"),group:"2_ccp",order:3});Nr.appendMenuItem(Wt.EditorContext,{submenu:Wt.EditorContextCopy,title:Kt("copy as","Copy As"),group:Lu,order:3});Nr.appendMenuItem(Wt.EditorContext,{submenu:Wt.EditorContextShare,title:Kt("share","Share"),group:"11_share",order:-1,when:De.and(De.notEquals("resourceScheme","output"),W.editorTextFocus)});Nr.appendMenuItem(Wt.ExplorerContext,{submenu:Wt.ExplorerContextShare,title:Kt("share","Share"),group:"11_share",order:-1});const Ow=i4?W0(new qx({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:$f?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Wt.MenubarEditMenu,group:"2_ccp",title:C({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:Wt.EditorContext,group:Lu,title:C("actions.clipboard.pasteLabel","Paste"),when:W.writable,order:4},{menuId:Wt.CommandPalette,group:"",title:C("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:Wt.SimpleEditorContext,group:Lu,title:C("actions.clipboard.pasteLabel","Paste"),when:W.writable,order:4}]})):void 0;class o4 extends Xe{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:C("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:W.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(sL.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),sL.forceCopyWithSyntaxHighlighting=!1)}}function IM(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(as).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)=>(Ux().execCommand(e),!0)))}IM(n4,"cut");IM(s4,"copy");Ow&&(Ow.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(as),i=o.get(jf),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=kl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():qA?(async()=>{const a=await i.readText();if(a!==""){const d=GA.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}),Ow.addImplementation(0,"generic-dom",(o,e)=>(Ux().execCommand("paste"),!0)));LM&&me(o4);const On=new class{constructor(){this.QuickFix=new $n("quickfix"),this.Refactor=new $n("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 $n("notebook"),this.Source=new $n("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var Mo;(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"})(Mo||(Mo={}));function r4(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>EM(e,t,o.include))||!o.includeSourceActions&&On.Source.contains(e))}function a4(o,e){const t=e.kind?new $n(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>EM(t,i,o.include))||!o.includeSourceActions&&t&&On.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function EM(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class Ma{static fromUser(e,t){return!e||typeof e!="object"?new Ma(t.kind,t.apply,!1):new Ma(Ma.getKindFromUser(e,t.kind),Ma.getApplyFromUser(e,t.apply),Ma.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 $n(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 l4{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){rs(n)}i&&(this.action.edit=i.edit)}return this}}const DM="editor.action.codeAction",B0="editor.action.quickFix",TM="editor.action.autoFix",PM="editor.action.refactor",MM="editor.action.sourceAction",nC="editor.action.organizeImports",sC="editor.action.fixAll";class Zg extends mt{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:jo(e.diagnostics)?jo(t.diagnostics)?Zg.codeActionsPreferredComparator(e,t):-1:jo(t.diagnostics)?1:Zg.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(Zg.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&On.QuickFix.contains(new $n(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 iI={actions:[],documentation:void 0};async function Dh(o,e,t,i,n,s){var x;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],On.Notebook]},d={only:(x=r.include)==null?void 0:x.value,trigger:i.type},u=new KA(e,s),f=i.type===2,g=c4(o,e,f?a:r),p=new pt,w=g.map(async k=>{try{n.report(k);const D=await k.provideCodeActions(e,t,d,u.token);if(D&&p.add(D),u.token.isCancellationRequested)return iI;const P=((D==null?void 0:D.actions)||[]).filter(q=>q&&a4(r,q)),A=u4(k,P,r.include);return{actions:P.map(q=>new l4(q,k)),documentation:A}}catch(D){if(Hc(D))throw D;return rs(D),iI}}),y=o.onDidChange(()=>{const k=o.all(e);Va(k,g)||u.cancel()});try{const k=await Promise.all(w),D=k.map(A=>A.actions).flat(),P=[...bl(k.map(A=>A.documentation)),...d4(o,e,i,D)];return new Zg(D,P,p)}finally{y.dispose(),u.dispose()}}function c4(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>r4(t,new $n(n))):!0)}function*d4(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 u4(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new $n(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 $n(n.kind)))return s.command}}var fd;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(fd||(fd={}));async function h4(o,e,t,i,n=qi.None){var u;const s=o.get(fy),r=o.get(Is),a=o.get(fa),d=o.get(ao);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!==fd.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=f4(f);d.error(typeof g=="string"?g:C("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function f4(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}Hn.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof Tn))throw gl();const{codeActionProvider:s}=o.get(ei),r=o.get(lo).getModel(e);if(!r)throw gl();const a=bi.isISelection(t)?bi.liftSelection(t):X.isIRange(t)?r.validateRange(t):void 0;if(!a)throw gl();const d=typeof i=="string"?new $n(i):void 0,u=await Dh(s,r,a,{type:1,triggerAction:Mo.Default,filter:{includeSourceActions:!0,include:d}},cl.None,qi.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(qi.None));try{return await Promise.all(f),u.validActions.map(p=>p.action)}finally{setTimeout(()=>u.dispose(),100)}});var g4=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},p4=function(o,e){return function(t,i){e(t,i,o)}},oC,Rd;let rC=(Rd=class{constructor(e){this.keybindingService=e}getResolver(){const e=new Gx(()=>this.keybindingService.getKeybindings().filter(t=>oC.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===nC?i={kind:On.SourceOrganizeImports.value}:t.command===sC&&(i={kind:On.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...Ma.fromUser(i,{kind:$n.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 $n(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)}},oC=Rd,Rd.codeActionCommands=[PM,DM,MM,nC,sC],Rd);rC=oC=g4([p4(0,hs)],rC);qt("symbolIcon.arrayForeground",ys,C("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.booleanForeground",ys,C("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},C("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.colorForeground",ys,C("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.constantForeground",ys,C("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},C("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},C("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},C("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},C("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},C("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.fileForeground",ys,C("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.folderForeground",ys,C("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},C("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},C("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.keyForeground",ys,C("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.keywordForeground",ys,C("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},C("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.moduleForeground",ys,C("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.namespaceForeground",ys,C("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.nullForeground",ys,C("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.numberForeground",ys,C("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.objectForeground",ys,C("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.operatorForeground",ys,C("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.packageForeground",ys,C("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.propertyForeground",ys,C("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.referenceForeground",ys,C("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.snippetForeground",ys,C("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.stringForeground",ys,C("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.structForeground",ys,C("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.textForeground",ys,C("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.typeParameterForeground",ys,C("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.unitForeground",ys,C("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));qt("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},C("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const RM=Object.freeze({kind:$n.Empty,title:C("codeAction.widget.id.more","More Actions...")}),_4=Object.freeze([{kind:On.QuickFix,title:C("codeAction.widget.id.quickfix","Quick Fix")},{kind:On.RefactorExtract,title:C("codeAction.widget.id.extract","Extract"),icon:Di.wrench},{kind:On.RefactorInline,title:C("codeAction.widget.id.inline","Inline"),icon:Di.wrench},{kind:On.RefactorRewrite,title:C("codeAction.widget.id.convert","Rewrite"),icon:Di.wrench},{kind:On.RefactorMove,title:C("codeAction.widget.id.move","Move"),icon:Di.wrench},{kind:On.SurroundWith,title:C("codeAction.widget.id.surround","Surround With"),icon:Di.surroundWith},{kind:On.Source,title:C("codeAction.widget.id.source","Source Action"),icon:Di.symbolFile},RM]);function m4(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:RM,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=_4.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new $n(s.action.kind):$n.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:Di.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var v4=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},b4=function(o,e){return function(t,i){e(t,i,o)}},bh;const nI=is("gutter-lightbulb",Di.lightBulb,C("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),sI=is("gutter-lightbulb-auto-fix",Di.lightbulbAutofix,C("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),oI=is("gutter-lightbulb-sparkle",Di.lightbulbSparkle,C("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),rI=is("gutter-lightbulb-aifix-auto-fix",Di.lightbulbSparkleAutofix,C("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.")),aI=is("gutter-lightbulb-sparkle-filled",Di.sparkleFilled,C("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 Zr;(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})(Zr||(Zr={}));var ul;let kp=(ul=class extends mt{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new Ui),this.onClick=this._onClick.event,this._state=Zr.Hidden,this._gutterState=Zr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+nI.id,"codicon-"+rI.id,"codicon-"+sI.id,"codicon-"+oI.id,"codicon-"+aI.id],this.gutterDecoration=bh.GUTTER_DECORATION,this._domNode=Ut("div.lightBulbWidget"),this._domNode.role="listbox",this._register(ND.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(ZA(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=_o(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(vs.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(TM))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(B0))==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}=_o(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=Kx(g,u),w=f.spaceWidth*p>22,y=z=>z>2&&this._editor.getTopForLineNumber(z)===this._editor.getTopForLineNumber(z-1),x=this._editor.getLineDecorations(a);let k=!1;if(x)for(const z of x){const oe=z.options.glyphMarginClassName;if(oe&&!this.lightbulbClasses.some(ie=>oe.includes(ie))){k=!0;break}}let D=a,P=1;if(!w){const z=oe=>{const ie=r.getLineContent(oe);return/^\s*$|^\s+/.test(ie)||ie.length<=P};if(a>1&&!y(a-1)){const oe=r.getLineCount(),ie=a===oe,be=a>1&&z(a-1),ye=!ie&&z(a+1),qe=z(a),Oe=!ye&&!be;if(!ye&&!be&&!k)return this.gutterState=new Zr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:bh._posPref}),this.renderGutterLightbub(),this.hide();be||ie||be&&!qe?D-=1:(ye||Oe&&qe)&&(D+=1)}else if(a===1&&(a===r.getLineCount()||!z(a+1)&&!z(a)))if(this.gutterState=new Zr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:bh._posPref}),k)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(a<r.getLineCount()&&!y(a+1))D+=1;else if(d*f.spaceWidth<22)return this.hide();P=/^\S\s*$/.test(r.getLineContent(D))?2:1}this.state=new Zr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:bh._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const A=e.validActions,q=e.validActions[0].action.kind;if(A.length!==1||!q){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==Zr.Hidden&&(this.state=Zr.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==Zr.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=Zr.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=Di.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=Di.lightbulbSparkleAutofix:e=Di.lightbulbAutofix:this.state.actions.hasAIFix?e=Di.lightbulbSparkle:e=Di.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=Sn.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=aI,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=rI:e=sI:this.gutterState.actions.hasAIFix?e=oI:e=nI,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=rn.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Sn.asClassName(e),glyphMargin:{position:Qm.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 X(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 X(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=C("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=C("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=C("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=C("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}},bh=ul,ul.GUTTER_DECORATION=rn.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Sn.asClassName(Di.lightBulb),glyphMargin:{position:Qm.Left},stickiness:1}),ul.ID="editor.contrib.lightbulbWidget",ul._posPref=[0],ul);kp=bh=v4([b4(1,hs)],kp);var NM=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},aC=function(o,e){return function(t,i){e(t,i,o)}};const AM="acceptSelectedCodeAction",OM="previewSelectedCodeAction";class y4{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 lC=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 Zx(e,Xx);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=Sn.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=bd(e.group.icon.color.id))):(i.icon.className=Sn.asClassName(Di.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=FM(e.label),i.keybinding.set(e.keybinding),XA(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(AM))==null?void 0:a.getLabel(),s=(d=this._keybindingService.lookupKeybinding(OM))==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=C({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=C({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",n):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};lC=NM([aC(1,hs)],lC);class w4 extends UIEvent{constructor(){super("acceptSelectedAction")}}class lI extends UIEvent{constructor(){super("previewSelectedAction")}}function S4(o){if(o.kind==="action")return o.label}let cC=class extends mt{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 Ns),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 Yx(e,this.domNode,a,[new lC(t,this._keybindingService),new y4],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:S4},accessibilityProvider:{getAriaLabel:d=>{if(d.kind==="action"){let u=d.label?FM(d==null?void 0:d.label):"";return d.disabled&&(u=C({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",u,d.disabled)),u}return null},getWidgetAriaLabel:()=>C({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:d=>d.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(YA),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 lI:new w4;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 lI):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([])}};cC=NM([aC(4,my),aC(5,hs)],cC);function FM(o){return o.replace(/\r\n|\r|\n/g," ")}var C4=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},Fw=function(o,e){return function(t,i){e(t,i,o)}};qt("actionBar.toggledBackground",Qx,C("actionBar.toggledBackground","Background color for toggled action items in action bar."));const Iu={Visible:new fn("codeActionMenuVisible",!1,C("codeActionMenuVisible","Whether the action widget list is visible"))},zu=Pl("actionWidgetService");let Eu=class extends mt{get isVisible(){return Iu.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=Iu.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance(cC,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 w;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 pt,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(bn(a,Zn.MOUSE_DOWN,y=>y.stopPropagation()));const d=document.createElement("div"),u=e.appendChild(d);u.classList.add("context-view-pointerBlock"),s.add(bn(u,Zn.POINTER_MOVE,()=>u.remove())),s.add(bn(u,Zn.MOUSE_DOWN,()=>u.remove()));let f=0;if(i.length){const y=this._createActionBar(".action-widget-action-bar",i);y&&(n.appendChild(y.getContainer().parentElement),s.add(y),f=y.getContainer().offsetWidth)}const g=(w=this._list.value)==null?void 0:w.layout(f);n.style.width=`${g}px`;const p=s.add(gf(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=Ut(e),n=new dp(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};Eu=C4([Fw(0,my),Fw(1,yn),Fw(2,Bi)],Eu);Ml(zu,Eu,1);const L_=1100;Dn(class extends bo{constructor(){super({id:"hideCodeActionWidget",title:Kt("hideCodeActionWidget.title","Hide action widget"),precondition:Iu.Visible,keybinding:{weight:L_,primary:9,secondary:[1033]}})}run(o){o.get(zu).hide(!0)}});Dn(class extends bo{constructor(){super({id:"selectPrevCodeAction",title:Kt("selectPrevCodeAction.title","Select previous action"),precondition:Iu.Visible,keybinding:{weight:L_,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(zu);e instanceof Eu&&e.focusPrevious()}});Dn(class extends bo{constructor(){super({id:"selectNextCodeAction",title:Kt("selectNextCodeAction.title","Select next action"),precondition:Iu.Visible,keybinding:{weight:L_,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(zu);e instanceof Eu&&e.focusNext()}});Dn(class extends bo{constructor(){super({id:AM,title:Kt("acceptSelected.title","Accept selected action"),precondition:Iu.Visible,keybinding:{weight:L_,primary:3,secondary:[2137]}})}run(o){const e=o.get(zu);e instanceof Eu&&e.acceptSelected()}});Dn(class extends bo{constructor(){super({id:OM,title:Kt("previewSelected.title","Preview selected action"),precondition:Iu.Visible,keybinding:{weight:L_,primary:2051}})}run(o){const e=o.get(zu);e instanceof Eu&&e.acceptSelected(!0)}});const HM=new fn("supportedCodeAction",""),cI="_typescript.applyFixAllCodeAction";class x4 extends mt{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new a_),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=>Jm(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Mo.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!==yw.Off){{if(i===yw.On)return t;if(i===yw.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 sd;(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(Hc(r))return WM;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(sd||(sd={}));const WM=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class k4 extends mt{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=sd.Empty,this._onDidChangeState=this._register(new Ui),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=HM.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(sd.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(sd.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 x4(this._editor,this._markerService,i=>{var d;if(!i){this.setState(sd.Empty);return}const n=i.selection.getStartPosition(),s=Rs(async u=>{var f,g,p,w,y,x,k,D,P,A;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===Mo.QuickFix||(g=(f=i.trigger.filter)==null?void 0:f.include)!=null&&g.contains(On.QuickFix))){const q=await Dh(this._registry,e,i.selection,i.trigger,cl.None,u),z=[...q.allActions];if(u.isCancellationRequested)return WM;const oe=(p=q.validActions)==null?void 0:p.some(be=>be.action.kind?On.QuickFix.contains(new $n(be.action.kind)):!1),ie=this._markerService.read({resource:e.uri});if(oe){for(const be of q.validActions)(y=(w=be.action.command)==null?void 0:w.arguments)!=null&&y.some(ye=>typeof ye=="string"&&ye.includes(cI))&&(be.action.diagnostics=[...ie.filter(ye=>ye.relatedInformation)]);return{validActions:q.validActions,allActions:z,documentation:q.documentation,hasAutoFix:q.hasAutoFix,hasAIFix:q.hasAIFix,allAIFixes:q.allAIFixes,dispose:()=>{q.dispose()}}}else if(!oe&&ie.length>0){const be=i.selection.getPosition();let ye=be,qe=Number.MAX_VALUE;const Oe=[...q.validActions];for(const vt of ie){const Ce=vt.endColumn,yt=vt.endLineNumber,ut=vt.startLineNumber;if(yt===be.lineNumber||ut===be.lineNumber){ye=new Jt(yt,Ce);const Rt={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(x=i.trigger.filter)!=null&&x.include?(k=i.trigger.filter)==null?void 0:k.include:On.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((D=i.trigger.context)==null?void 0:D.notAvailableMessage)||"",position:ye}},Fe=new bi(ye.lineNumber,ye.column,ye.lineNumber,ye.column),Ht=await Dh(this._registry,e,Fe,Rt,cl.None,u);if(Ht.validActions.length!==0){for(const Ye of Ht.validActions)(A=(P=Ye.action.command)==null?void 0:P.arguments)!=null&&A.some(ge=>typeof ge=="string"&&ge.includes(cI))&&(Ye.action.diagnostics=[...ie.filter(ge=>ge.relatedInformation)]);q.allActions.length===0&&z.push(...Ht.allActions),Math.abs(be.column-Ce)<qe?Oe.unshift(...Ht.validActions):Oe.push(...Ht.validActions)}qe=Math.abs(be.column-Ce)}}const rt=Oe.filter((vt,Ce,yt)=>yt.findIndex(ut=>ut.action.title===vt.action.title)===Ce);return rt.sort((vt,Ce)=>vt.action.isPreferred&&!Ce.action.isPreferred?-1:!vt.action.isPreferred&&Ce.action.isPreferred||vt.action.isAI&&!Ce.action.isAI?1:!vt.action.isAI&&Ce.action.isAI?-1:0),{validActions:rt,allActions:z,documentation:q.documentation,hasAutoFix:q.hasAutoFix,hasAIFix:q.hasAIFix,allAIFixes:q.allAIFixes,dispose:()=>{q.dispose()}}}}if(i.trigger.type===1){const q=new Po,z=await Dh(this._registry,e,i.selection,i.trigger,cl.None,u);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:z.validActions.length,duration:q.elapsed()}),z}return Dh(this._registry,e,i.selection,i.trigger,cl.None,u)});i.trigger.type===1&&((d=this._progressService)==null||d.showWhile(s,250));const r=new sd.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:Mo.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 L4=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)}},yh;const I4="quickfix-edit-highlight";var gc;let Ef=(gc=class extends mt{static get(e){return e.getContribution(yh.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 k4(this._editor,s.codeActionProvider,t,i,r,d,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new Gx(()=>{const p=this._editor.getContribution(kp.ID);return p&&this._register(p.onClick(w=>this.showCodeActionsFromLightbulb(w.actions,w))),p}),this._resolver=n.createInstance(rC),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,fd.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=Eo.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(h4,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Mo.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){Rn(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,fd.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const g=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(g&&g.action.disabled){(r=Eo.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=Eo.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=Jt.isIPosition(t)?this.toCoords(t):t,d={onSelect:async(u,f)=>{this._applyCodeAction(u,!0,!!f,i.fromLightbulb?fd.FromAILightbulb:fd.FromCodeActions),this._actionWidgetService.hide(!1),n.clear()},onHide:u=>{var f;(f=this._editor)==null||f.focus(),n.clear()},onHover:async(u,f)=>{var w;if(f.isCancellationRequested)return;let g=!1;const p=u.action.kind;if(p){const y=new $n(p);g=[On.RefactorExtract,On.RefactorInline,On.RefactorRewrite,On.RefactorMove,On.Source].some(k=>k.contains(y))}return{canPreview:g||!!((w=u.action.edit)!=null&&w.edits.length)}},onFocus:u=>{var f,g;if(u&&u.action){const p=u.action.ranges,w=u.action.diagnostics;if(n.clear(),p&&p.length>0){const y=w&&(w==null?void 0:w.length)>1?w.map(x=>({range:x,options:yh.DECORATION})):p.map(x=>({range:x,options:yh.DECORATION}));n.set(y)}else if(w&&w.length>0){const y=w.map(k=>({range:k,options:yh.DECORATION}));n.set(y);const x=w[0];if(x.startLineNumber&&x.startColumn){const k=(g=(f=this._editor.getModel())==null?void 0:f.getWordAtPosition({lineNumber:x.startLineNumber,column:x.startColumn}))==null?void 0:g.word;pf(C("editingNewSelection","Context: {0} at line {1} and column {2}.",k,x.startLineNumber,x.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,m4(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=_o(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:C("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:C("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}},yh=gc,gc.ID="editor.contrib.codeActionController",gc.DECORATION=rn.register({description:"quickfix-highlight",className:I4}),gc);Ef=yh=L4([va(1,Jx),va(2,yn),va(3,Bi),va(4,ei),va(5,l_),va(6,Is),va(7,Un),va(8,zu),va(9,Bi),va(10,fa)],Ef);vy((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(QA));const i=o.getColor(AD);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${up(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function I_(o){return De.regex(HM.keys()[0],new RegExp("(\\s|^)"+hp(o.value)+"\\b"))}const z0={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:C("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:C("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[C("args.schema.apply.first","Always apply the first returned code action."),C("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),C("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:C("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function Vu(o,e,t,i,n=Mo.Default){if(o.hasModel()){const s=Ef.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class E4 extends Xe{constructor(){super({id:B0,label:C("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:De.and(W.writable,W.hasCodeActionsProvider),kbOpts:{kbExpr:W.textInputFocus,primary:2137,weight:100}})}run(e,t){return Vu(t,C("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,Mo.QuickFix)}}class D4 extends yo{constructor(){super({id:DM,precondition:De.and(W.writable,W.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:z0}]}})}runEditorCommand(e,t,i){const n=Ma.fromUser(i,{kind:$n.Empty,apply:"ifSingle"});return Vu(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?C("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):C("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?C("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):C("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}class T4 extends Xe{constructor(){super({id:PM,label:C("refactor.label","Refactor..."),alias:"Refactor...",precondition:De.and(W.writable,W.hasCodeActionsProvider),kbOpts:{kbExpr:W.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:De.and(W.writable,I_(On.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:z0}]}})}run(e,t,i){const n=Ma.fromUser(i,{kind:On.Refactor,apply:"never"});return Vu(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?C("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):C("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?C("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):C("editor.action.refactor.noneMessage","No refactorings available"),{include:On.Refactor.contains(n.kind)?n.kind:$n.None,onlyIncludePreferredActions:n.preferred},n.apply,Mo.Refactor)}}class P4 extends Xe{constructor(){super({id:MM,label:C("source.label","Source Action..."),alias:"Source Action...",precondition:De.and(W.writable,W.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:De.and(W.writable,I_(On.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:z0}]}})}run(e,t,i){const n=Ma.fromUser(i,{kind:On.Source,apply:"never"});return Vu(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?C("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):C("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?C("editor.action.source.noneMessage.preferred","No preferred source actions available"):C("editor.action.source.noneMessage","No source actions available"),{include:On.Source.contains(n.kind)?n.kind:$n.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,Mo.SourceAction)}}class M4 extends Xe{constructor(){super({id:nC,label:C("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:De.and(W.writable,I_(On.SourceOrganizeImports)),kbOpts:{kbExpr:W.textInputFocus,primary:1581,weight:100}})}run(e,t){return Vu(t,C("editor.action.organize.noneMessage","No organize imports action available"),{include:On.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Mo.OrganizeImports)}}class R4 extends Xe{constructor(){super({id:sC,label:C("fixAll.label","Fix All"),alias:"Fix All",precondition:De.and(W.writable,I_(On.SourceFixAll))})}run(e,t){return Vu(t,C("fixAll.noneMessage","No fix all action available"),{include:On.SourceFixAll,includeSourceActions:!0},"ifSingle",Mo.FixAll)}}class N4 extends Xe{constructor(){super({id:TM,label:C("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:De.and(W.writable,I_(On.QuickFix)),kbOpts:{kbExpr:W.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return Vu(t,C("editor.action.autoFix.noneMessage","No auto fixes available"),{include:On.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Mo.AutoFix)}}Yi(Ef.ID,Ef,3);Yi(kp.ID,kp,4);me(E4);me(T4);me(P4);me(M4);me(N4);me(R4);ni(new D4);ua.as(c_.Configuration).registerConfiguration({...by,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:C("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});ua.as(c_.Configuration).registerConfiguration({...by,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:C("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});ua.as(c_.Configuration).registerConfiguration({...by,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:C("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 dC{constructor(){this.lenses=[],this._disposables=new pt}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 BM(o,e,t){const i=o.ordered(e),n=new Map,s=new dC,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){rs(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}Hn.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;wn(Tn.isUri(t)),wn(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(ei),s=o.get(lo).getModel(t);if(!s)throw gl();const r=[],a=new pt;return BM(n,s,qi.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,qi.None)).then(g=>r.push(g||f.symbol)));return Promise.all(u)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var A4=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},O4=function(o,e){return function(t,i){e(t,i,o)}};const zM=Pl("ICodeLensCache");class dI{constructor(e,t){this.lineCount=e,this.data=t}}let uC=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new d_(20,.75);const t="codelens/cache";JA(eO,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=vs.filter(e.onWillSaveState,r=>r.reason===e0.SHUTDOWN);vs.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 dC;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new dI(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 X(a,1,a,11)});const r=new dC;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new dI(n.lineCount,r))}}catch{}}};uC=A4([O4(0,Wc)],uC);Ml(zM,uC,1);class F4{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 ap=class ap{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${ap._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=tO(r.command.title.trim());if(r.command.id){const d=`c${ap._idPool++}`;i.push(Ut("a",{id:d,title:r.command.tooltip,role:"button"},...a)),this._commands.set(d,r.command)}else i.push(Ut("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(Ut("span",void 0," | "))}}n?(ev(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):ev(this._domNode,Ut("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}};ap._idPool=0;let hC=ap;class Hw{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 uI=rn.register({collapseOnReplaceEdit:!0,description:"codelens"});class hI{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:uI},g=>this._decorationIds[f]=g),a?a=X.plusRange(a,u.symbol.range):a=X.lift(u.symbol.range)}),this._viewZone=new F4(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 hC(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&&X.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:uI},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 H4=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},mg=function(o,e){return function(t,i){e(t,i,o)}},tf;let Lp=(tf=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 pt,this._localToDispose=new pt,this._lenses=[],this._oldCodeLensModels=new pt,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new bs(()=>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",t0.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&&cp(()=>{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 bs(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=Rs(r=>BM(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()},Rn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(jn(()=>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 Hw;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(jn(()=>{if(this._editor.getModel()){const n=_f.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 Hw;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=_f.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(d=>{const u=new Hw;let f=0,g=0;for(;g<i.length&&f<this._lenses.length;){const p=i[g][0].symbol.range.startLineNumber,w=this._lenses[f].getLineNumber();w<p?(this._lenses[f].dispose(u,d),this._lenses.splice(f,1)):w===p?(this._lenses[f].updateCodeLensSymbols(i[g],u),g++,f++):(this._lenses.splice(f,0,new hI(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 hI(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=Rs(a=>{const d=t.map((u,f)=>{const g=new Array(u.length),p=u.map((w,y)=>!w.symbol.command&&typeof w.provider.resolveCodeLens=="function"?Promise.resolve(w.provider.resolveCodeLens(e,w.symbol,a)).then(x=>{g[y]=x},rs):(g[y]=w.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=>{Rn(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}},tf.ID="css.editor.codeLens",tf);Lp=H4([mg(1,ei),mg(2,cr),mg(3,Is),mg(4,ao),mg(5,zM)],Lp);Yi(Lp.ID,Lp,1);me(class extends Xe{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:W.hasCodeLensProvider,label:C("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(Is),s=e.get(ao),r=t.getSelection().positionLineNumber,a=t.getContribution(Lp.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:C("placeHolder","Select a command")});if(!f)return;let g=f.command;if(d.isDisposed){const p=await a.getModel(),w=p==null?void 0:p.lenses.find(y=>{var x;return y.symbol.range.startLineNumber===r&&((x=y.symbol.command)==null?void 0:x.title)===g.title});if(!w||!w.symbol.command)return;g=w.symbol.command}try{await n.executeCommand(g.id,...g.arguments||[])}catch(p){s.error(p)}}});var VM=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},fC=function(o,e){return function(t,i){e(t,i,o)}};let Ip=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 sn(new mf(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),d=r?sn.Format.CSS.formatRGB(a):sn.Format.CSS.formatRGBA(a),u=r?sn.Format.CSS.formatHSL(a):sn.Format.CSS.formatHSLA(a),f=r?sn.Format.CSS.formatHex(a):sn.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}};Ip=VM([fC(0,Rl)],Ip);let gC=class extends mt{constructor(e,t){super(),this._register(e.colorProvider.register("*",new Ip(t)))}};gC=VM([fC(0,ei),fC(1,Rl)],gC);Uf(gC);async function jM(o,e,t,i=!0){return V0(new W4,o,e,t,i)}function $M(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class W4{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 B4{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 z4{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,qi.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function V0(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 Ip)r=f;else try{await o.compute(f,t,i,a)&&(s=!0)}catch(g){rs(g)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function UM(o,e){const{colorProvider:t}=o.get(ei),i=o.get(lo).getModel(e);if(!i)throw gl();const n=o.get(Un).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}Hn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof Tn))throw gl();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=UM(o,t);return V0(new B4,n,i,qi.None,s)});Hn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof Tn)||!Array.isArray(t)||t.length!==4||!X.isIRange(s))throw gl();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:d}=UM(o,n),[u,f,g,p]=t;return V0(new z4({range:s,color:{red:u,green:f,blue:g,alpha:p}}),a,r,qi.None,d)});var V4=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},Ww=function(o,e){return function(t,i){e(t,i,o)}},pC;const qM=Object.create({});var pc;let Df=(pc=class extends mt{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new pt),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new OD(this._editor),this._decoratorLimitReporter=new j4,this._colorDecorationClassRefs=this._register(new pt),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:pC.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 a_,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=Rs(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new Po(!1),n=await jM(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){Rn(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:rn.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 mf(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:MD,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:qM}}})}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(X.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)}},pC=pc,pc.ID="editor.contrib.colorDetector",pc.RECOMPUTE_TIME=1e3,pc);Df=pC=V4([Ww(1,Un),Ww(2,ei),Ww(3,cr)],Df);class j4{constructor(){this._onDidChange=new Ui,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}Yi(Df.ID,Df,1);class $4{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 Ui,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new Ui,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new Ui,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 Vo=Ut;class U4 extends mt{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Vo(".colorpicker-header"),Bt(e,this._domNode),this._pickedColorNode=Bt(this._domNode,Vo(".picked-color")),Bt(this._pickedColorNode,Vo("span.codicon.codicon-color-mode")),this._pickedColorPresentation=Bt(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const s=C("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",s),this._originalColorNode=Bt(this._domNode,Vo(".original-color")),this._originalColorNode.style.backgroundColor=sn.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(oL)||sn.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(oL)||sn.white})),this._register(bn(this._pickedColorNode,Zn.CLICK,()=>this.model.selectNextColorPresentation())),this._register(bn(this._originalColorNode,Zn.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=sn.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 q4(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=sn.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 q4 extends mt{constructor(e){super(),this._onClicked=this._register(new Ui),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),Bt(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),Bt(this._button,t),Bt(t,Vo(".button"+Sn.asCSSSelector(is("color-picker-close",Di.close,C("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(bn(this._button,Zn.CLICK,()=>{this._onClicked.fire()}))}}class G4 extends mt{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Vo(".colorpicker-body"),Bt(e,this._domNode),this._saturationBox=new K4(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 Z4(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 X4(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 Y4(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 sn(new Lm(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new sn(new Lm(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new sn(new Lm(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 K4 extends mt{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new Ui,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Ui,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Vo(".saturation-wrap"),Bt(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",Bt(this._domNode,this._canvas),this.selection=Vo(".saturation-selection"),Bt(this._domNode,this.selection),this.layout(),this._register(bn(this._domNode,Zn.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 FD);const t=_o(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,Zn.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 sn(new Lm(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=sn.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 GM extends mt{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new Ui,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Ui,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=Bt(e,Vo(".standalone-strip")),this.overlay=Bt(this.domNode,Vo(".standalone-overlay"))):(this.domNode=Bt(e,Vo(".strip")),this.overlay=Bt(this.domNode,Vo(".overlay"))),this.slider=Bt(this.domNode,Vo(".slider")),this.slider.style.top="0px",this._register(bn(this.domNode,Zn.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 FD),i=_o(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,Zn.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 Z4 extends GM{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 sn(new mf(t,i,n,1)),r=new sn(new mf(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class X4 extends GM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class Y4 extends mt{constructor(e){super(),this._onClicked=this._register(new Ui),this.onClicked=this._onClicked.event,this._button=Bt(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(bn(this._button,Zn.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class Q4 extends u_{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(iO.getInstance(yd(e)).onDidChange(()=>this.layout())),this._domNode=Vo(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new U4(this._domNode,this.model,n,s)),this.body=this._register(new G4(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class Bw{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 Hm{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 Du{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const ju=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var KM=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},ZM=function(o,e){return function(t,i){e(t,i,o)}};class J4{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 Ep=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return ra.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=Df.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 XM(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=YM(this,this._editor,this._themeService,t,e);if(!i)return new Du([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new Du([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};Ep=KM([ZM(1,Hr)],Ep);class eB{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let Dp=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!Df.get(this._editor))return null;const s=await jM(i,this._editor.getModel(),qi.None);let r=null,a=null;for(const g of s){const p=g.colorInfo;X.containsRange(p.range,e.range)&&(r=p,a=g.provider)}const d=r??e,u=a??t,f=!!r;return{colorHover:await XM(this,this._editor.getModel(),d,u),foundInEditor:f}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new X(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await Wm(this._editor.getModel(),t,this._color,i,e),i=QM(this._editor,i,t))}renderHoverParts(e,t){return YM(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};Dp=KM([ZM(1,Hr)],Dp);async function XM(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:d}=t.color,u=new mf(Math.round(s*255),Math.round(r*255),Math.round(a*255),d),f=new sn(u),g=await $M(e,t,i,qi.None),p=new $4(f,[],0);return p.colorPresentations=g||[],p.guessColorPresentation(f,n),o instanceof Ep?new J4(o,X.lift(t.range),p,i):new eB(o,X.lift(t.range),p,i)}function YM(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new An(302,p))}const s=new pt,r=i[0],a=e.getModel(),d=r.model,u=s.add(new Q4(n.fragment,d,e.getOption(144),t,o instanceof Dp));let f=!1,g=new X(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof Dp){const p=r.model.color;o.color=p,Wm(a,d,p,g,r),s.add(d.onColorFlushed(w=>{o.color=w}))}else s.add(d.onColorFlushed(async p=>{await Wm(a,d,p,g,r),f=!0,g=QM(e,g,d)}));return s.add(d.onDidChangeColor(p=>{Wm(a,d,p,g,r)})),s.add(e.onDidChangeModelContent(p=>{f?f=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:u,disposables:s}}function QM(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=X.lift(n.range),r=o.getModel()._setTrackedRange(null,s,3);return o.executeEdits("colorpicker",i),o.pushUndoStop(),o.getModel()._getTrackedRange(r)??s}async function Wm(o,e,t,i,n){const s=await $M(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,qi.None);e.colorPresentations=s||[]}const JM="editor.action.showHover",tB="editor.action.showDefinitionPreviewHover",iB="editor.action.scrollUpHover",nB="editor.action.scrollDownHover",sB="editor.action.scrollLeftHover",oB="editor.action.scrollRightHover",rB="editor.action.pageUpHover",aB="editor.action.pageDownHover",lB="editor.action.goToTopHover",cB="editor.action.goToBottomHover",$y="editor.action.increaseHoverVerbosityLevel",dB=C({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),Uy="editor.action.decreaseHoverVerbosityLevel",uB=C({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),eR="editor.action.inlineSuggest.commit",tR="editor.action.inlineSuggest.showPrevious",iR="editor.action.inlineSuggest.showNext";var j0=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},kr=function(o,e){return function(t,i){e(t,i,o)}},Bm;let _C=class extends mt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=ko(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=In(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 Jt(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(h_((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=zD((u,f)=>{const g=f.add(this.instantiationService.createInstance(Tf,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(g),f.add(jn(()=>e.removeContentWidget(g))),f.add(Kn(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==pl.Explicit&&r.triggerExplicitly()})),g}),d=yy(this,(u,f)=>!!this.position.read(u)||!!f);s.add(Kn(u=>{d.read(u)&&a.read(u)}))}))}};_C=j0([kr(2,Bi)],_C);const hB=is("inline-suggestion-hints-next",Di.chevronRight,C("parameterHintsNextIcon","Icon for show next parameter hint.")),fB=is("inline-suggestion-hints-previous",Di.chevronLeft,C("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var _c;let Tf=(_c=class extends mt{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new vf(e,t,i,!0,()=>this._commandService.executeCommand(e)),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let r=t;return s&&(r=C({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${Bm.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Lr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Lr("div@toolBar")]),this.previousAction=this.createCommandAction(tR,C("previous","Previous"),Sn.asClassName(fB)),this.availableSuggestionCountAction=new vf("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(iR,C("next","Next"),Sn.asClassName(hB)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Wt.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new bs(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new bs(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(d.createInstance(mC,this.nodes.toolBar,Wt.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,w)=>{if(p instanceof bf)return d.createInstance(pB,p,void 0);if(p===this.availableSuggestionCountAction){const y=new gB(void 0,p,{label:!0,icon:!1});return y.setClass("availableSuggestionCount"),y}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(p=>{Bm._dropDownVisible=p})),this._register(Kn(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(Kn(p=>{const w=this._suggestionCount.read(p),y=this._currentSuggestionIdx.read(p);w!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${y+1}/${w}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),w!==void 0&&w>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(Kn(p=>{const y=this._extraCommands.read(p).map(x=>({class:void 0,id:x.id,enabled:!0,tooltip:x.tooltip||"",label:x.title,run:k=>this._commandService.executeCommand(x.id)}));for(const[x,k]of this.inlineCompletionsActionsMenus.getActions())for(const D of k)D instanceof bf&&y.push(D);y.length>0&&y.unshift(new fp),this.toolBar.setAdditionalSecondaryActions(y)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},Bm=_c,_c._dropDownVisible=!1,_c.id=0,_c);Tf=Bm=j0([kr(6,Is),kr(7,Bi),kr(8,hs),kr(9,yn),kr(10,Fu)],Tf);class gB extends wS{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 pB=class extends HD{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Lr("div.keybinding").root;this._register(new Zx(t,Xx,{disableTitle:!0,...WD})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},mC=class extends BD{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=[];i0(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){Va(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Va(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};mC=j0([kr(3,Fu),kr(4,yn),kr(5,Vf),kr(6,hs),kr(7,Is),kr(8,fa)],mC);function qy(o,e,t){const i=_o(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let _B=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class nR extends mt{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new Ui),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new bs(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new bs(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new bs(()=>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=nO(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){Rn(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 _B(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 $0{constructor(){this._onDidWillResize=new Ui,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new Ui,this.onDidResize=this._onDidResize.event,this._sashListener=new pt,this._size=new An(0,0),this._minSize=new An(0,0),this._maxSize=new An(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new xh(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new xh(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new xh(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:rL.North}),this._southSash=new xh(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:rL.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(vs.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(vs.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(vs.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(vs.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 An(t,e);An.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 mB=30,vB=24;class bB extends mt{constructor(e,t=new An(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new $0),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=An.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 An(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?Jt.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:_o(t).top+i.top-mB}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=_o(t),s=f_(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-vB}_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 yB=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},J_=function(o,e){return function(t,i){e(t,i,o)}},wa;const fI=30,wB=6;var mc;let vC=(mc=class extends bB{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 An(a,r);super(e,d),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new VD),this._onDidResize=this._register(new Ui),this.onDidResize=this._onDidResize.event,this._minimumSize=d,this._hoverVisibleKey=W.hoverVisible.bindTo(t),this._hoverFocusedKey=W.hoverFocused.bindTo(t),Bt(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(gf(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 wa.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 wa._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return wa._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){wa._applyMaxDimensions(this._hover.contentsDomNode,e,t),wa._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 An(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){wa._lastDimensions=new An(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=wB;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?f_(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=_o(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=gI(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=gI(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,wa._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,wa._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=kh(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&&sO(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 An(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 An(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 An(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=kh(e),i=br(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=kh(e),i=br(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=kh(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-fI})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+fI})}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})}},wa=mc,mc.ID="editor.contrib.resizableContentHoverWidget",mc._lastDimensions=new An(0,0),mc);vC=wa=yB([J_(1,yn),J_(2,Un),J_(3,wy),J_(4,hs)],vC);function gI(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 yv{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 ra.EMPTY;const i=yv._getLineDecorations(this._editor,t);return ra.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):ra.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=yv._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return bl(t)}}class sR{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 SB(this,this.anchor,t,this.isComplete)}}class SB extends sR{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var CB=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},xB=function(o,e){return function(t,i){e(t,i,o)}};const pI=Ut;let wv=class extends mt{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=pI("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=Bt(this.hoverElement,pI("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(oO.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=Bt(this.actionsElement,e);return this._hasContent=!0,t}};wv=CB([xB(0,hs)],wv);class kB{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function LB(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(rs);if(!(!s||!IB(s)))return new kB(o,s,e)}function U0(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,d)=>LB(a,d,e,t,i));return ra.fromPromises(r).coalesce()}function oR(o,e,t,i,n=!1){return U0(o,e,t,i,n).map(s=>s.hover).toPromise()}wo("_executeHoverProvider",(o,e,t)=>{const i=o.get(ei);return oR(i.hoverProvider,e,t,qi.None)});wo("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(ei);return oR(i.hoverProvider,e,t,qi.None,!0)});function IB(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var EB=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)}};const Th=Ut,DB=is("hover-increase-verbosity",Di.add,C("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),TB=is("hover-decrease-verbosity",Di.remove,C("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class Er{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 rR{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case rr.Increase:return this.hover.canIncreaseVerbosity??!1;case rr.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let Tp=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 Er(this,e.range,[new Js().appendText(C("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 Er(this,e.range,[{value:C("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 Er(this,e.range,[{value:C("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let w=!1;for(const y of t){const x=y.range.startLineNumber===n?y.range.startColumn:1,k=y.range.endLineNumber===n?y.range.endColumn:s,D=y.options.hoverMessage;if(!D||gp(D))continue;y.options.beforeContentClassName&&(w=!0);const P=new X(e.range.startLineNumber,x,e.range.startLineNumber,k);r.push(new Er(this,P,jD(D),w,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return ra.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):ra.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return U0(e,t,s,n).filter(d=>!gp(d.hover.contents)).map(d=>{const u=d.hover.range?X.lift(d.hover.range):i.range,f=new rR(d.hover,d.provider,s);return new Er(this,u,d.hover.contents,!1,d.ordinal,f)})}renderHoverParts(e,t){return this._renderedHoverParts=new PB(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))}};Tp=EB([Kc(1,ga),Kc(2,ha),Kc(3,Un),Kc(4,ei),Kc(5,hs),Kc(6,g_),Kc(7,Is)],Tp);class em{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class PB{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 pt,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(jn(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(p_(n=>n.ordinal,Sy)),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 pt;if(r.add(i),!s)return new em(e,n,r);const a=s.supportsVerbosityAction(rr.Increase),d=s.supportsVerbosityAction(rr.Decrease);if(!a&&!d)return new em(e,n,r);const u=Th("div.verbosity-actions");return n.prepend(u),r.add(this._renderHoverExpansionAction(u,rr.Increase,a)),r.add(this._renderHoverExpansionAction(u,rr.Decrease,d)),new em(e,n,r)}_renderMarkdownHover(e,t){return aR(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new pt,s=t===rr.Increase,r=Bt(e,Th(Sn.asCSSSelector(s?DB:TB)));r.tabIndex=0;const a=new rO("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,RB(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const d=()=>this._commandService.executeCommand(t===rr.Increase?$y:Uy);return n.add(new aO(r,d)),n.add(new lO(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 rR(a,r.hoverProvider,r.hoverPosition),u=s.hoverPart,f=new Er(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===rr.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new Ns;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){rs(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 em(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 MB(o,e,t,i,n){e.sort(p_(r=>r.ordinal,Sy));const s=[];for(const r of e)s.push(aR(t,r,i,n,o.onContentsChanged));return new Du(s)}function aR(o,e,t,i,n){const s=new pt,r=Th("div.hover-row"),a=Th("div.hover-row-contents");r.appendChild(a);const d=e.contents;for(const f of d){if(gp(f))continue;const g=Th("div.markdown-hover"),p=Bt(g,Th("div.hover-contents")),w=s.add(new qf({editor:o},t,i));s.add(w.onDidRenderAsync(()=>{p.className="hover-contents code-hover-contents",n()}));const y=s.add(w.render(f));p.appendChild(y.element),a.appendChild(g)}return{hoverPart:e,hoverElement:r,dispose(){s.dispose()}}}function RB(o,e){switch(e){case rr.Increase:{const t=o.lookupKeybinding($y);return t?C("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):C("increaseVerbosity","Increase Hover Verbosity")}case rr.Decrease:{const t=o.lookupKeybinding(Uy);return t?C("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):C("decreaseVerbosity","Decrease Hover Verbosity")}}}function bC(o,e){return!!o[e]}class zw{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=bC(e.event,t.triggerModifier),this.hasSideBySideModifier=bC(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class _I{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=bC(e,t.triggerModifier)}}class tm{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 mI(o){return o==="altKey"?ja?new tm(57,"metaKey",6,"altKey"):new tm(5,"ctrlKey",6,"altKey"):ja?new tm(6,"altKey",57,"metaKey"):new tm(6,"altKey",5,"ctrlKey")}class Gy extends mt{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new Ui),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new Ui),this.onExecute=this._onExecute.event,this._onCancel=this._register(new Ui),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=mI(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=mI(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 zw(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new zw(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new zw(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new _I(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new _I(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 lR{constructor(e,t){this.range=e,this.direction=t}}class q0{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new q0(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){rs(t),this._isResolved=!1}}}const Fh=class Fh{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??Fh._emptyInlayHintList,a])}catch(u){rs(u)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new _y;return new Fh(i,s,t)}constructor(e,t,i){this._disposables=new pt,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=Fh._getRangeAtPosition(i,d);let g;f.getStartPosition().isBefore(d)?(g=X.fromPositions(f.getStartPosition(),d),u="after"):(g=X.fromPositions(d,f.getEndPosition()),u="before"),n.push(new q0(a,new lR(g,u),r))}}this.items=n.sort((s,r)=>Jt.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 X(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 X(i,d+1,i,u+1)}};Fh._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let Sv=Fh;function NB(o){return Tn.from({scheme:go.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}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},Ja=function(o,e){return function(t,i){e(t,i,o)}};let Fr=class extends cO{constructor(e,t,i,n,s,r,a,d,u,f,g,p,w){super(e,{...n.getRawOptions(),overflowWidgetsDomNode:n.getOverflowWidgetsDomNode()},i,s,r,a,d,u,f,g,p,w),this._parentEditor=n,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(n.onDidChangeConfiguration(y=>this._onParentConfigurationChanged(y)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){n0(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Fr=AB([Ja(4,Bi),Ja(5,as),Ja(6,Is),Ja(7,yn),Ja(8,Hr),Ja(9,ao),Ja(10,wy),Ja(11,Es),Ja(12,ei)],Fr);const vI=new sn(new mf(0,122,204)),OB={showArrow:!0,showFrame:!0,className:"",frameColor:vI,arrowColor:vI,keepEditorSelection:!1},FB="vs.editor.contrib.zoneWidget";class HB{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 WB{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const Eb=class Eb{constructor(e){this._editor=e,this._ruleName=Eb._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),aL(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(){aL(this._ruleName),hO(`.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:X.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};Eb._IdGenerator=new uO(".arrow-decoration-");let yC=Eb;class BB{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new pt,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=dO(t),n0(this.options,OB,!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 yC(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=X.isIRange(e)?X.lift(e):X.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:rn.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 HB(r,i.lineNumber,i.column,t,w=>this._onViewZoneTop(w),w=>this._onViewZoneHeight(w),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=p.addZone(this._viewZone),this._overlayWidget=new WB(FB+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 X(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 xh(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 cR=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},dR=function(o,e){return function(t,i){e(t,i,o)}};const uR=Pl("IPeekViewService");Ml(uR,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 mo;(function(o){o.inPeekEditor=new fn("inReferenceSearchEditor",!0,C("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(mo||(mo={}));var nf;let Cv=(nf=class{constructor(e,t){e instanceof Fr&&mo.inPeekEditor.bindTo(t)}dispose(){}},nf.ID="editor.contrib.referenceController",nf);Cv=cR([dR(1,yn)],Cv);Yi(Cv.ID,Cv,0);function zB(o){const e=o.get(as).getFocusedCodeEditor();return e instanceof Fr?e.getParentEditor():e}const VB={headerBackgroundColor:sn.white,primaryHeadingColor:sn.fromHex("#333333"),secondaryHeadingColor:sn.fromHex("#6c6c6cb3")};let xv=class extends BB{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new Ui,this.onDidClose=this._onDidClose.event,n0(this.options,VB,!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=Ut(".head"),this._bodyElement=Ut(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=Ut(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),wl(this._titleElement,"click",s=>this._onTitleClick(s))),Bt(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=Ut("span.filename"),this._secondaryHeading=Ut("span.dirname"),this._metaHeading=Ut("span.meta"),Bt(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=Ut(".peekview-actions");Bt(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new dp(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new vf("peekview.close",C("label.close","Close"),Sn.asClassName(Di.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:fO.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,Ir(this._metaHeading)):Wo(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`)}};xv=cR([dR(2,Bi)],xv);const jB=qt("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:sn.black,hcLight:sn.white},C("peekViewTitleBackground","Background color of the peek view title area.")),hR=qt("peekViewTitleLabel.foreground",{dark:sn.white,light:sn.black,hcDark:sn.white,hcLight:__},C("peekViewTitleForeground","Color of the peek view title.")),fR=qt("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},C("peekViewTitleInfoForeground","Color of the peek view title info.")),$B=qt("peekView.border",{dark:SS,light:SS,hcDark:yl,hcLight:yl},C("peekViewBorder","Color of the peek view borders and arrow.")),UB=qt("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:sn.black,hcLight:sn.white},C("peekViewResultsBackground","Background color of the peek view result list."));qt("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:sn.white,hcLight:__},C("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));qt("peekViewResult.fileForeground",{dark:sn.white,light:"#1E1E1E",hcDark:sn.white,hcLight:__},C("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));qt("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},C("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));qt("peekViewResult.selectionForeground",{dark:sn.white,light:"#6C6C6C",hcDark:sn.white,hcLight:__},C("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const gR=qt("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:sn.black,hcLight:sn.white},C("peekViewEditorBackground","Background color of the peek view editor."));qt("peekViewEditorGutter.background",gR,C("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));qt("peekViewEditorStickyScroll.background",gR,C("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));qt("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},C("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));qt("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},C("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));qt("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:mu,hcLight:mu},C("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class Nc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=gO.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?C({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,$a(this.uri),this.range.startLineNumber,this.range.startColumn):C("aria.oneReference","in {0} on line {1} at column {2}",$a(this.uri),this.range.startLineNumber,this.range.startColumn)}}class qB{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 X(n,d.startColumn,n,s),f=new X(r,a,r,1073741824),g=i.getValueInRange(u).replace(/^\s+/,""),p=i.getValueInRange(e),w=i.getValueInRange(f).replace(/\s+$/,"");return{value:g+p+w,highlight:{start:g.length,end:g.length+p.length}}}}class Pp{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new Dc}dispose(){to(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?C("aria.fileReferences.1","1 symbol in {0}, full path {1}",$a(this.uri),this.uri.fsPath):C("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,$a(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 qB(i))}catch(i){Rn(i)}return this}}class Do{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new Ui,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(Do._compareReferences);let n;for(const s of e)if((!n||!lL.isEqual(n.uri,s.uri,!0))&&(n=new Pp(this,s.uri),this.groups.push(n)),n.children.length===0||Do._compareReferences(s,n.children[n.children.length-1])!==0){const r=new Nc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){to(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new Do(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?C("aria.result.0","No results found"):this.references.length===1?C("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?C("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):C("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:m_(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()&&X.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 lL.compare(e.uri,t.uri)||X.compareRangesUsingStarts(e.range,t.range)}}var Ky=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},Zy=function(o,e){return function(t,i){e(t,i,o)}},wC;let SC=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof Do||e instanceof Pp}getChildren(e){if(e instanceof Do)return e.groups;if(e instanceof Pp)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};SC=Ky([Zy(0,pa)],SC);class GB{getHeight(){return 23}getTemplateId(e){return e instanceof Pp?kv.id:Lv.id}}let CC=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof Nc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return $a(e.uri)}};CC=Ky([Zy(0,hs)],CC);class KB{getId(e){return e instanceof Nc?e.id:e.uri}}let xC=class extends mt{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new $D(i,{supportHighlights:!0})),this.badge=new pO(Bt(i,Ut(".count")),{},_O),e.appendChild(i)}set(e,t){const i=s0(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(C("referencesCount","{0} references",n)):this.badge.setTitleFormat(C("referenceCount","{0} reference",n))}};xC=Ky([Zy(1,pp)],xC);var Nd;let kv=(Nd=class{constructor(e){this._instantiationService=e,this.templateId=wC.id}renderTemplate(e){return this._instantiationService.createInstance(xC,e)}renderElement(e,t,i){i.set(e.element,Cy(e.filterData))}disposeTemplate(e){e.dispose()}},wC=Nd,Nd.id="FileReferencesRenderer",Nd);kv=wC=Ky([Zy(0,Bi)],kv);class ZB extends mt{constructor(e){super(),this.label=this._register(new mO(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(`${$a(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!_p.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,Cy(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const Db=class Db{constructor(){this.templateId=Db.id}renderTemplate(e){return new ZB(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Db.id="OneReferenceRenderer";let Lv=Db;class XB{getWidgetAriaLabel(){return C("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var YB=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)}};const Tb=class Tb{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new pt,this._callOnModelChange=new pt,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:Tb.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(!X.equalsRange(s,n.range)){if(X.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()}};Tb.DecorationOptions=rn.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let kC=Tb;class QB{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 JB extends yO{}let LC=class extends xv{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 pt,this._callOnDispose=new pt,this._onDidSelectReference=new Ui,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new An(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(),to(this._preview),to(this._previewNotAvailableMessage),to(this._tree),to(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor($B)||sn.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(jB)||sn.transparent,primaryHeadingColor:e.getColor(hR),secondaryHeadingColor:e.getColor(fR)})}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=Bt(e,Ut("div.messages")),Wo(this._messageContainer),this._splitView=new vO(e,{orientation:1}),this._previewContainer=Bt(e,Ut("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(Fr,this._previewContainer,t,{},this.editor),Wo(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(ic,C("missingPreviewMessage","no preview available"),mp,ic.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=Bt(e,Ut("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new XB,keyboardNavigationLabelProvider:this._instantiationService.createInstance(CC),identityProvider:new KB,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:UB}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(wl(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(JB,"ReferencesWidget",this._treeContainer,new GB,[this._instantiationService.createInstance(kv),this._instantiationService.createInstance(Lv)],this._instantiationService.createInstance(SC),i),this._splitView.addView({onDidChange:vs.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},cL.Distribute),this._splitView.addView({onDidChange:vs.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)}},cL.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 Nc&&(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")})),Wo(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new An(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=C("noResults","No results"),Ir(this._messageContainer),Promise.resolve(void 0)):(Wo(this._messageContainer),this._decorationsManager=new kC(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"),Ir(this._treeContainer),Ir(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 Nc)return e;if(e instanceof Pp&&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!==go.inMemory?this.setTitle(bO(e.uri),this._uriLabel.getUriLabel(s0(e.uri))):this.setTitle(C("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}to(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=X.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()}};LC=YB([sh(3,Hr),sh(4,pa),sh(5,Bi),sh(6,uR),sh(7,pp),sh(8,hs)],LC);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},oh=function(o,e){return function(t,i){e(t,i,o)}},zm;const $u=new fn("referenceSearchVisible",!1,C("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var Ad;let Tu=(Ad=class{static get(e){return e.getContribution(zm.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 pt,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=$u.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=QB.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(LC,this._editor,this._defaultTreeKeyboardSupport,r),this._widget.setTitle(C("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(C("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const f=this._editor.getModel().uri,g=new Jt(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=X.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=zm.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,Rs(d=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,Rn(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)}},zm=Ad,Ad.ID="editor.contrib.referencesController",Ad);Tu=zm=ez([oh(2,yn),oh(3,as),oh(4,ao),oh(5,Bi),oh(6,Wc),oh(7,Un)],Tu);function Uu(o,e){const t=zB(o);if(!t)return;const i=Tu.get(t);i&&e(i)}Ga.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:us(2089,60),when:De.or($u,mo.inPeekEditor),handler(o){Uu(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Ga.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:De.or($u,mo.inPeekEditor),handler(o){Uu(o,e=>{e.goToNextOrPreviousReference(!0)})}});Ga.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:De.or($u,mo.inPeekEditor),handler(o){Uu(o,e=>{e.goToNextOrPreviousReference(!1)})}});Hn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");Hn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");Hn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");Hn.registerCommand("closeReferenceSearch",o=>Uu(o,e=>e.closeWidget()));Ga.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:De.and(mo.inPeekEditor,De.not("config.editor.stablePeek"))});Ga.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:De.and($u,De.not("config.editor.stablePeek"),De.or(W.editorTextFocus,wO.negate()))});Ga.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:De.and($u,UD,qD.negate(),GD.negate()),handler(o){var i;const t=(i=o.get(o0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Nc&&Uu(o,n=>n.revealReference(t[0]))}});Ga.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:De.and($u,UD,qD.negate(),GD.negate()),handler(o){var i;const t=(i=o.get(o0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Nc&&Uu(o,n=>n.openReference(t[0],!0,!0))}});Hn.registerCommand("openReference",o=>{var i;const t=(i=o.get(o0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Nc&&Uu(o,n=>n.openReference(t[0],!1,!0))});var pR=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)}};const G0=new fn("hasSymbols",!1,C("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),Xy=Pl("ISymbolNavigationService");let IC=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=G0.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 EC(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(Jm(g.uri,a.uri))u=!0,f=f||X.containsPosition(g.range,d);else if(u)break;(!u||!f)&&this.reset()});this._currentState=KD(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:X.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?C("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):C("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};IC=pR([Tg(0,yn),Tg(1,as),Tg(2,ao),Tg(3,hs)],IC);Ml(Xy,IC,1);ni(new class extends yo{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:G0,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(Xy).revealNext(e)}});Ga.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:G0,primary:9,handler(o){o.get(Xy).reset()}});let EC=class{constructor(e){this._listener=new Map,this._disposables=new pt,this._onDidChange=new Ui,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(),to(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,KD(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)}};EC=pR([Tg(0,as)],EC);function DC(o,e){return e.uri.scheme===o.uri.scheme?!0:!SO(e.uri,go.walkThroughSnippet,go.vscodeChatCodeBlock,go.vscodeChatCodeCompareBlock)}async function E_(o,e,t,i,n){const r=t.ordered(o,i).map(d=>Promise.resolve(n(d,o,e)).then(void 0,u=>{rs(u)})),a=await Promise.all(r);return bl(a.flat()).filter(d=>DC(o,d))}function D_(o,e,t,i,n){return E_(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function K0(o,e,t,i,n){return E_(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function Z0(o,e,t,i,n){return E_(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function X0(o,e,t,i,n){return E_(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function T_(o,e,t,i,n,s){return E_(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(w=>DC(a,w));if(!i||!u||u.length!==2)return u;const f=(p=await r.provideReferences(a,d,{includeDeclaration:!1},s))==null?void 0:p.filter(w=>DC(a,w));return f&&f.length===1?f:u})}async function Ka(o){const e=await o(),t=new Do(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}wo("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(ei),n=D_(i.definitionProvider,e,t,!1,qi.None);return Ka(()=>n)});wo("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(ei),n=D_(i.definitionProvider,e,t,!0,qi.None);return Ka(()=>n)});wo("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(ei),n=X0(i.typeDefinitionProvider,e,t,!1,qi.None);return Ka(()=>n)});wo("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(ei),n=X0(i.typeDefinitionProvider,e,t,!0,qi.None);return Ka(()=>n)});wo("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(ei),n=K0(i.declarationProvider,e,t,!1,qi.None);return Ka(()=>n)});wo("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(ei),n=K0(i.declarationProvider,e,t,!0,qi.None);return Ka(()=>n)});wo("_executeReferenceProvider",(o,e,t)=>{const i=o.get(ei),n=T_(i.referenceProvider,e,t,!1,!1,qi.None);return Ka(()=>n)});wo("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(ei),n=T_(i.referenceProvider,e,t,!1,!0,qi.None);return Ka(()=>n)});wo("_executeImplementationProvider",(o,e,t)=>{const i=o.get(ei),n=Z0(i.implementationProvider,e,t,!1,qi.None);return Ka(()=>n)});wo("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(ei),n=Z0(i.implementationProvider,e,t,!0,qi.None);return Ka(()=>n)});Nr.appendMenuItem(Wt.EditorContext,{submenu:Wt.EditorContextPeek,title:C("peek.submenu","Peek"),group:"navigation",order:100});class Pf{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof Pf||Jt.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const mr=class mr extends da{static all(){return mr._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of fl.wrap(t.menu))(i.id===Wt.EditorContext||i.id===Wt.EditorContextPeek)&&(i.when=De.and(e.precondition,i.when));return t}constructor(e,t){super(mr._patchConfig(t)),this.configuration=e,mr._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(ao),r=e.get(as),a=e.get(l_),d=e.get(Xy),u=e.get(ei),f=e.get(Bi),g=t.getModel(),p=t.getPosition(),w=Pf.is(i)?i:new Pf(g,p),y=new ff(t,5),x=r_(this._getLocationModel(u,w.model,w.position,y.token),y.token).then(async k=>{var A;if(!k||y.token.isCancellationRequested)return;Ar(k.ariaMessage);let D;if(k.referenceAt(g.uri,p)){const q=this._getAlternativeCommand(t);!mr._activeAlternativeCommands.has(q)&&mr._allSymbolNavigationCommands.has(q)&&(D=mr._allSymbolNavigationCommands.get(q))}const P=k.references.length;if(P===0){if(!this.configuration.muteMessage){const q=g.getWordAtPosition(p);(A=Eo.get(t))==null||A.showMessage(this._getNoResultFoundMessage(q),p)}}else if(P===1&&D)mr._activeAlternativeCommands.add(this.desc.id),f.invokeFunction(q=>D.runEditorCommand(q,t,i,n).finally(()=>{mr._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(r,d,t,k,n)},k=>{s.error(k)}).finally(()=>{y.dispose()});return a.showWhile(x,250),x}async _onResult(e,t,i,n,s){const r=this._getGoToPreference(i);if(!(i instanceof Fr)&&(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(CO(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:X.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=Tu.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),Rs(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};mr._allSymbolNavigationCommands=new Map,mr._activeAlternativeCommands=new Set;let Ll=mr;class P_ extends Ll{async _getLocationModel(e,t,i,n){return new Do(await D_(e.definitionProvider,t,i,!1,n),C("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?C("noResultWord","No definition found for '{0}'",e.word):C("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}var vc;Dn((vc=class extends P_{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:vc.id,title:{...Kt("actions.goToDecl.label","Go to Definition"),mnemonicTitle:C({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:W.hasDefinitionProvider,keybinding:[{when:W.editorTextFocus,primary:70,weight:100},{when:De.and(W.editorTextFocus,ZD),primary:2118,weight:100}],menu:[{id:Wt.EditorContext,group:"navigation",order:1.1},{id:Wt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Hn.registerCommandAlias("editor.action.goToDeclaration",vc.id)}},vc.id="editor.action.revealDefinition",vc));var bc;Dn((bc=class extends P_{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:bc.id,title:Kt("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:De.and(W.hasDefinitionProvider,W.isInEmbeddedEditor.toNegated()),keybinding:[{when:W.editorTextFocus,primary:us(2089,70),weight:100},{when:De.and(W.editorTextFocus,ZD),primary:us(2089,2118),weight:100}]}),Hn.registerCommandAlias("editor.action.openDeclarationToTheSide",bc.id)}},bc.id="editor.action.revealDefinitionAside",bc));var yc;Dn((yc=class extends P_{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:yc.id,title:Kt("actions.previewDecl.label","Peek Definition"),precondition:De.and(W.hasDefinitionProvider,mo.notInPeekEditor,W.isInEmbeddedEditor.toNegated()),keybinding:{when:W.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Wt.EditorContextPeek,group:"peek",order:2}}),Hn.registerCommandAlias("editor.action.previewDeclaration",yc.id)}},yc.id="editor.action.peekDefinition",yc));class _R extends Ll{async _getLocationModel(e,t,i,n){return new Do(await K0(e.declarationProvider,t,i,!1,n),C("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?C("decl.noResultWord","No declaration found for '{0}'",e.word):C("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}var Od;Dn((Od=class extends _R{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Od.id,title:{...Kt("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:C({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:De.and(W.hasDeclarationProvider,W.isInEmbeddedEditor.toNegated()),menu:[{id:Wt.EditorContext,group:"navigation",order:1.3},{id:Wt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?C("decl.noResultWord","No declaration found for '{0}'",e.word):C("decl.generic.noResults","No declaration found")}},Od.id="editor.action.revealDeclaration",Od));Dn(class extends _R{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:Kt("actions.peekDecl.label","Peek Declaration"),precondition:De.and(W.hasDeclarationProvider,mo.notInPeekEditor,W.isInEmbeddedEditor.toNegated()),menu:{id:Wt.EditorContextPeek,group:"peek",order:3}})}});class mR extends Ll{async _getLocationModel(e,t,i,n){return new Do(await X0(e.typeDefinitionProvider,t,i,!1,n),C("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?C("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):C("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}var Fd;Dn((Fd=class extends mR{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Fd.ID,title:{...Kt("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:C({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:W.hasTypeDefinitionProvider,keybinding:{when:W.editorTextFocus,primary:0,weight:100},menu:[{id:Wt.EditorContext,group:"navigation",order:1.4},{id:Wt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Fd.ID="editor.action.goToTypeDefinition",Fd));var Hd;Dn((Hd=class extends mR{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Hd.ID,title:Kt("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:De.and(W.hasTypeDefinitionProvider,mo.notInPeekEditor,W.isInEmbeddedEditor.toNegated()),menu:{id:Wt.EditorContextPeek,group:"peek",order:4}})}},Hd.ID="editor.action.peekTypeDefinition",Hd));class vR extends Ll{async _getLocationModel(e,t,i,n){return new Do(await Z0(e.implementationProvider,t,i,!1,n),C("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?C("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):C("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}var Wd;Dn((Wd=class extends vR{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Wd.ID,title:{...Kt("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:C({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:W.hasImplementationProvider,keybinding:{when:W.editorTextFocus,primary:2118,weight:100},menu:[{id:Wt.EditorContext,group:"navigation",order:1.45},{id:Wt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Wd.ID="editor.action.goToImplementation",Wd));var Bd;Dn((Bd=class extends vR{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Bd.ID,title:Kt("actions.peekImplementation.label","Peek Implementations"),precondition:De.and(W.hasImplementationProvider,mo.notInPeekEditor,W.isInEmbeddedEditor.toNegated()),keybinding:{when:W.editorTextFocus,primary:3142,weight:100},menu:{id:Wt.EditorContextPeek,group:"peek",order:5}})}},Bd.ID="editor.action.peekImplementation",Bd));class bR extends Ll{_getNoResultFoundMessage(e){return e?C("references.no","No references found for '{0}'",e.word):C("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}Dn(class extends bR{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...Kt("goToReferences.label","Go to References"),mnemonicTitle:C({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:De.and(W.hasReferenceProvider,mo.notInPeekEditor,W.isInEmbeddedEditor.toNegated()),keybinding:{when:W.editorTextFocus,primary:1094,weight:100},menu:[{id:Wt.EditorContext,group:"navigation",order:1.45},{id:Wt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new Do(await T_(e.referenceProvider,t,i,!0,!1,n),C("ref.title","References"))}});Dn(class extends bR{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:Kt("references.action.label","Peek References"),precondition:De.and(W.hasReferenceProvider,mo.notInPeekEditor,W.isInEmbeddedEditor.toNegated()),menu:{id:Wt.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new Do(await T_(e.referenceProvider,t,i,!1,!1,n),C("ref.title","References"))}});class tz extends Ll{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:Kt("label.generic","Go to Any Symbol"),precondition:De.and(mo.notInPeekEditor,W.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new Do(this._references,C("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&C("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}Hn.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:Tn},{name:"position",description:"The position at which to start",constraint:Jt.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)=>{wn(Tn.isUri(e)),wn(Jt.isIPosition(t)),wn(Array.isArray(i)),wn(typeof n>"u"||typeof n=="string"),wn(typeof r>"u"||typeof r=="boolean");const a=o.get(as),d=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(XD(d))return d.setPosition(t),d.revealPositionInCenterIfOutsideViewport(t,0),d.invokeWithinContext(u=>{const f=new class extends tz{_getNoResultFoundMessage(g){return s||super._getNoResultFoundMessage(g)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);u.get(Bi).invokeFunction(f.run.bind(f),d)})}});Hn.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:Tn},{name:"position",description:"The position at which to start",constraint:Jt.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(Is).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});Hn.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{wn(Tn.isUri(e)),wn(Jt.isIPosition(t));const i=o.get(ei),n=o.get(as);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!XD(s)||!s.hasModel())return;const r=Tu.get(s);if(!r)return;const a=Rs(u=>T_(i.referenceProvider,s.getModel(),Jt.lift(t),!1,!1,u).then(f=>new Do(f,C("ref.title","References")))),d=new X(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(d,a,!1))})}});Hn.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function iz(o,e,t,i){const n=o.get(pa),s=o.get(Vf),r=o.get(Is),a=o.get(Bi),d=o.get(ao);if(await i.item.resolve(qi.None),!i.part.location)return;const u=i.part.location,f=[],g=new Set(Nr.getMenuItems(Wt.EditorContext).map(w=>xO(w)?w.command.id:Vy()));for(const w of Ll.all())g.has(w.desc.id)&&f.push(new vf(w.desc.id,bf.label(w.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const y=await n.createModelReference(u.uri);try{const x=new Pf(y.object.textEditorModel,X.getStartPosition(u.range)),k=i.item.anchor.range;await a.invokeFunction(w.runEditorCommand.bind(w),e,x,k)}finally{y.dispose()}}));if(i.part.command){const{command:w}=i.part;f.push(new fp),f.push(new vf(w.id,w.title,void 0,!0,async()=>{try{await r.executeCommand(w.id,...w.arguments??[])}catch(y){d.notify({severity:r0.Error,source:i.item.provider.displayName,message:y})}}))}const p=e.getOption(128);s.showContextMenu({domForShadowRoot:p?e.getDomNode()??void 0:void 0,getAnchor:()=>{const w=_o(t);return{x:w.left,y:w.top+w.height+8}},getActions:()=>f,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function yR(o,e,t,i){const s=await o.get(pa).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,d=r.get(yn),u=mo.inPeekEditor.getValue(d),f=!a&&t.getOption(89)&&!u;return new P_({openToSide:a,openInPeek:f,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new Pf(s.object.textEditorModel,X.getStartPosition(i.range)),X.lift(i.range))}),s.dispose()}var nz=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},rh=function(o,e){return function(t,i){e(t,i,o)}},wh;class Iv{constructor(){this._entries=new d_(50)}get(e){const t=Iv._key(e);return this._entries.get(t)}set(e,t){const i=Iv._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const wR=Pl("IInlayHintsCache");Ml(wR,Iv,1);class TC{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 sz{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var hl;let Mp=(hl=class{static get(e){return e.getContribution(wh.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 pt,this._sessionDisposables=new pt,this._decorationsMetadata=new Map,this._ruleFactory=new OD(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(kO.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(jn(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new bs(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new Ns;const d=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const u=n.token,f=await Sv.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){Rn(u)}finally{n.dispose(),d.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(jn(()=>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 pt,t=e.add(new Gy(this._editor)),i=new pt;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 Ns;i.add(jn(()=>d.dispose(!0))),r.item.resolve(d.token),this._activeInlayHintPart=r.part.command||r.part.location?new sz(r,s.hasTriggerModifier):void 0;const u=a.validatePosition(r.item.hint.position).lineNumber,f=new X(u,1,u,a.getLineMaxColumn(u)),g=this._getInlineHintsForRange(f);this._updateHintsDecorators([f],g),i.add(jn(()=>{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(yR,n,this._editor,r.location):LO.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(qi.None),jo(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>Qn.replace(X.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!IO(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(iz,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 a0&&(t==null?void 0:t.attachedData)instanceof TC)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:r0.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 lR(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(X.compareRangesUsingStarts)){const r=t.validateRange(new X(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!X.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=X.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var y,x;const i=[],n=(k,D,P,A,q)=>{const z={content:P,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:D.className,cursorStops:A,attachedData:q};i.push({item:k,classNameRef:D,decoration:{range:k.anchor.range,options:{description:"InlayHint",showIfCollapsed:k.anchor.range.isEmpty(),collapseOnReplaceEdit:!k.anchor.range.isEmpty(),stickiness:0,[k.anchor.direction]:this._activeRenderMode===0?z:void 0}}})},s=(k,D)=>{const P=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(k,P," ",D?Lh.Right:Lh.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 k of t){if(g.line!==k.anchor.range.startLineNumber&&(g={line:k.anchor.range.startLineNumber,totalLen:0}),g.totalLen>wh._MAX_LABEL_LEN)continue;k.hint.paddingLeft&&s(k,!1);const D=typeof k.hint.label=="string"?[{label:k.hint.label}]:k.hint.label;for(let P=0;P<D.length;P++){const A=D[P],q=P===0,z=P===D.length-1,oe={fontSize:`${r}px`,fontFamily:`var(${f}), ${t0.fontFamily}`,verticalAlign:u?"baseline":"middle",unicodeBidi:"isolate"};jo(k.hint.textEdits)&&(oe.cursor="default"),this._fillInColors(oe,k.hint),(A.command||A.location)&&((y=this._activeInlayHintPart)==null?void 0:y.part.item)===k&&this._activeInlayHintPart.part.index===P&&(oe.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(oe.color=_s(EO),oe.cursor="pointer")),d&&(q&&z?(oe.padding=`1px ${Math.max(1,r/4)|0}px`,oe.borderRadius=`${r/4|0}px`):q?(oe.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,oe.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):z?(oe.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,oe.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):oe.padding="1px 0 1px 0");let ie=A.label;g.totalLen+=ie.length;let be=!1;const ye=g.totalLen-wh._MAX_LABEL_LEN;if(ye>0&&(ie=ie.slice(0,-ye)+"…",be=!0),n(k,this._ruleFactory.createClassNameRef(oe),oz(ie),z&&!k.hint.paddingRight?Lh.Right:Lh.None,new TC(k,P)),be)break}if(k.hint.paddingRight&&s(k,!0),i.length>wh._MAX_DECORATORS)break}const p=[];for(const[k,D]of this._decorationsMetadata){const P=(x=this._editor.getModel())==null?void 0:x.getDecorationRange(k);P&&e.some(A=>A.containsRange(P))&&(p.push(k),D.classNameRef.dispose(),this._decorationsMetadata.delete(k))}const w=_f.capture(this._editor);this._editor.changeDecorations(k=>{const D=k.deltaDecorations(p,i.map(P=>P.decoration));for(let P=0;P<D.length;P++){const A=i[P];this._decorationsMetadata.set(D[P],A)}}),w.restore(this._editor)}_fillInColors(e,t){t.kind===dL.Parameter?(e.backgroundColor=_s(DO),e.color=_s(TO)):t.kind===dL.Type?(e.backgroundColor=_s(PO),e.color=_s(MO)):(e.backgroundColor=_s(RO),e.color=_s(NO))}_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()}},wh=hl,hl.ID="editor.contrib.InlayHints",hl._MAX_DECORATORS=1500,hl._MAX_LABEL_LEN=43,hl);Mp=wh=nz([rh(1,ei),rh(2,cr),rh(3,wR),rh(4,Is),rh(5,ao),rh(6,Bi)],Mp);function oz(o){return o.replace(/[ \t]/g," ")}Hn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;wn(Tn.isUri(t)),wn(X.isIRange(i));const{inlayHintsProvider:n}=o.get(ei),s=await o.get(pa).createModelReference(t);try{const r=await Sv.create(n,s.object.textEditorModel,[X.lift(i)],qi.None),a=r.items.map(d=>d.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var rz=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},Vl=function(o,e){return function(t,i){e(t,i,o)}};class bI extends Hm{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let Ev=class extends Tp{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(!Mp.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof a0&&i.attachedData instanceof TC?new bI(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof bI?new ra(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 Js().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new Er(this,e.range,[r],!1,0)),jo(s.item.hint.textEdits)&&n.emitOne(new Er(this,e.range,[new Js().appendText(C("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new Js().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new Er(this,e.range,[a],!1,1)),s.part.location||s.part.command){let u;const g=this._editor.getOption(78)==="altKey"?ja?C("links.navigate.kb.meta.mac","cmd + click"):C("links.navigate.kb.meta","ctrl + click"):ja?C("links.navigate.kb.alt.mac","option + click"):C("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?u=new Js().appendText(C("hint.defAndCommand","Go to Definition ({0}), right click for more",g)):s.part.location?u=new Js().appendText(C("hint.def","Go to Definition ({0})",g)):s.part.command&&(u=new Js(`[${C("hint.cmd","Execute Command")}](${NB(s.part.command)} "${s.part.command.title}") (${g})`,{isTrusted:!0})),u&&n.emitOne(new Er(this,e.range,[u],!1,1e4))}const d=await this._resolveInlayHintLabelPartHover(s,i);for await(const u of d)n.emitOne(u)}):ra.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return ra.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)?U0(this._languageFeaturesService.hoverProvider,r,new Jt(n.startLineNumber,n.startColumn),t).filter(a=>!gp(a.hover.contents)).map(a=>new Er(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):ra.EMPTY}finally{s.dispose()}}};Ev=rz([Vl(1,ga),Vl(2,ha),Vl(3,hs),Vl(4,g_),Vl(5,Un),Vl(6,pa),Vl(7,ei),Vl(8,Is)],Ev);class Y0 extends mt{constructor(e,t,i,n,s,r){super();const a=t.anchor,d=t.hoverParts;this._renderedHoverParts=this._register(new PC(e,i,d,r,s));const{showAtPosition:u,showAtSecondaryPosition:f}=Y0.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),w=f.getLineMinColumn(p.startLineNumber),y=new Jt(p.startLineNumber,w);n=g.convertViewPositionToModelPosition(y).column}const s=t.startLineNumber;let r=t.startColumn,a;for(const f of i){const g=f.range,p=g.startLineNumber===s,w=g.endLineNumber===s;if(p&&w){const x=g.startColumn,k=Math.min(r,x);r=Math.max(k,n)}f.forceShowAtRange&&(a=g)}let d,u;if(a){const f=a.getStartPosition();d=f,u=f}else d=t.getStartPosition(),u=new Jt(s,r);return{showAtPosition:d,showAtSecondaryPosition:u}}}class az{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 Pb=class Pb extends mt{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 mt.None;let i=t[0].range;for(const s of t){const r=s.range;i=X.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:Pb._DECORATION_OPTIONS}]),jn(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new wv(n),r={fragment:this._fragment,statusBar:s,...i},a=new pt;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})),jn(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new Du([])}_renderStatusBar(e,t){if(t.hasContent)return new az(e,t)}_registerListenersOnRenderedParts(){const e=new pt;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(bn(n,Zn.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(bn(n,Zn.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof Tp&&!(i instanceof Ev));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof Ep)}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 yf;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};Pb._DECORATION_OPTIONS=rn.register({description:"content-hover-highlight",className:"hoverHighlight"});let PC=Pb;var lz=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},yI=function(o,e){return function(t,i){e(t,i,o)}};let MC=class extends mt{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new Ui),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(vC,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new yv(this._editor,this._participants),this._hoverOperation=this._register(new nR(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of ju.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 sR(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(wl(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(wl(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(xy.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 Y0(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 Bw(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 Bw(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||!qy(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new Bw(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}};MC=lz([yI(1,Bi),yI(2,hs)],MC);var cz=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},wI=function(o,e){return function(t,i){e(t,i,o)}},RC,zd;let Ys=(zd=class extends mt{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new Ui),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new pt,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new bs(()=>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(RC.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?qy(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===JM||t.commandId===$y||t.commandId===Uy)&&((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)||Tf.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(MC,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()}},RC=zd,zd.ID="editor.contrib.contentHover",zd);Ys=RC=cz([wI(1,Bi),wI(2,hs)],Ys);const Hk=class Hk extends mt{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!==qM||!i.range)return;const n=this._editor.getContribution(Ys.ID);if(n&&!n.isColorPickerVisible){const s=new X(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};Hk.ID="editor.contrib.colorContribution";let Dv=Hk;Yi(Dv.ID,Dv,2);ju.register(Ep);var SR=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},Ph=function(o,e){return function(t,i){e(t,i,o)}},NC,AC,Vd;let Pu=(Vd=class extends mt{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=W.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=W.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(OC,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(NC.ID)}},NC=Vd,Vd.ID="editor.contrib.standaloneColorPickerController",Vd);Pu=NC=SR([Ph(1,yn),Ph(2,Bi)],Pu);Yi(Pu.ID,Pu,1);const SI=8,dz=22;var jd;let OC=(jd=class extends mt{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 Ui),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(Dp,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(gf(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 y;const w=(y=p.target.element)==null?void 0:y.classList;w&&w.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 AC.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 uz(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 Ip(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 wv(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-dz-SI,g=a.body.enterButton;g==null||g.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,w=p.pickedColorNode;w.style.width=u+SI+"px";const y=p.originalColorNode;y.style.width=f+"px";const x=a.header.closeButton;x==null||x.onClicked(()=>{this.hide()}),t&&(g&&(g.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},AC=jd,jd.ID="editor.contrib.standaloneColorPickerWidget",jd);OC=AC=SR([Ph(3,Bi),Ph(4,hs),Ph(5,ei),Ph(6,Rl)],OC);class uz{constructor(e,t){this.value=e,this.foundInEditor=t}}class hz extends da{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...Kt("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:C({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:Wt.CommandPalette}],metadata:{description:Kt("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=Pu.get(t))==null||i.showOrFocus()}}class fz extends Xe{constructor(){super({id:"editor.action.hideColorPicker",label:C({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:W.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:Kt("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=Pu.get(t))==null||i.hide()}}class gz extends Xe{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:C({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:W.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:Kt("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=Pu.get(t))==null||i.insertColor()}}me(fz);me(gz);Dn(hz);class oc{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 w=g.lastIndexOf(t,d-1+t.length),y=p.indexOf(i,f-1-i.length);if(w!==-1&&y!==-1)if(a===u)g.substring(w+t.length,y).indexOf(i)>=0&&(w=-1,y=-1);else{const k=g.substring(w+t.length),D=p.substring(0,y);(k.indexOf(i)>=0||D.indexOf(i)>=0)&&(w=-1,y=-1)}let x;w!==-1&&y!==-1?(n&&w+t.length<g.length&&g.charCodeAt(w+t.length)===32&&(t=t+" "),n&&y>0&&p.charCodeAt(y-1)===32&&(i=" "+i,y-=1),x=oc._createRemoveBlockCommentOperations(new X(a,w+t.length+1,u,y+1),t,i)):(x=oc._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=x.length===1?i:null);for(const k of x)r.addTrackedEditOperation(k.range,k.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return X.isEmpty(e)?n.push(Qn.delete(new X(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(Qn.delete(new X(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(Qn.delete(new X(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return X.isEmpty(e)?s.push(Qn.replace(new X(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(Qn.insert(new Jt(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(Qn.insert(new Jt(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 bi(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 bi(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class tl{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 w=n[g],y=s+g;if(y===s&&a){w.ignore=!0;continue}const x=i.getLineContent(y),k=CS(x);if(k===-1){w.ignore=r,w.commentStrOffset=x.length;continue}if(u=!1,w.ignore=!1,w.commentStrOffset=k,f&&!oc._haystackHasNeedleAtOffset(x,w.commentStr,k)&&(e===0?f=!1:e===1||(w.ignore=!0)),f&&t){const D=k+w.commentStrLength;D<x.length&&x.charCodeAt(D)===32&&(w.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=tl._gatherPreflightCommentStrings(i,n,s,d);return u===null?{supported:!1}:tl._analyzeLines(e,t,i,u,n,r,a,d)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=tl._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(tl._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new Jt(n.positionLineNumber,n.positionColumn);for(let a=0,d=s.length;a<d;a++)t.addEditOperation(s[a].range,s[a].text),X.isEmpty(s[a].range)&&X.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?oc._createRemoveBlockCommentOperations(new X(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=CS(u);f===-1&&(f=u.length),d=oc._createAddBlockCommentOperations(new X(i.startLineNumber,f+1,i.startLineNumber,u.length+1),r,a,this._insertSpace)}else d=oc._createAddBlockCommentOperations(new X(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 X(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=tl._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 bi(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(Qn.delete(new X(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(Qn.insert(new Jt(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,w=t[d].commentStrOffset;g<s&&p<w;p++)g=tl.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=tl.nextVisibleColumn(g,n,f.charCodeAt(r)===9,1);g>s?t[d].commentStrOffset=r-1:t[d].commentStrOffset=r}}}class Q0 extends Xe{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(Es);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)=>X.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 tl(i,f.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,f.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class pz extends Q0{constructor(){super(0,{id:"editor.action.commentLine",label:C("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:W.writable,kbOpts:{kbExpr:W.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:Wt.MenubarEditMenu,group:"5_insert",title:C({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class _z extends Q0{constructor(){super(1,{id:"editor.action.addCommentLine",label:C("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:W.writable,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2081),weight:100}})}}class mz extends Q0{constructor(){super(2,{id:"editor.action.removeCommentLine",label:C("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:W.writable,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2099),weight:100}})}}class vz extends Xe{constructor(){super({id:"editor.action.blockComment",label:C("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:W.writable,kbOpts:{kbExpr:W.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:Wt.MenubarEditMenu,group:"5_insert",title:C({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(Es);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new oc(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}me(pz);me(_z);me(mz);me(vz);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},Zc=function(o,e){return function(t,i){e(t,i,o)}},FC,$d;let Mf=($d=class{static get(e){return e.getContribution(FC.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 pt,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&&AO(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 OO){const u=this._getMenuActions(e,d.item.submenu);u.length>0&&(i.push(new uL(d.id,d.label,u)),a++)}else i.push(d),a++;a&&i.push(new fp)}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=_o(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)&&!xS;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 wS(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const d=r;return typeof d.getActionViewItem=="function"?d.getActionViewItem():new wS(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()||FO(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 uL(`menu-action-${++i}`,u,f,void 0),r=(u,f,g,p,w)=>{if(!f)return n({label:u,enabled:f,run:()=>{}});const y=k=>()=>{this._configurationService.updateValue(g,k)},x=[];for(const k of w)x.push(n({label:k.label,checked:p===k.value,run:y(k.value)}));return s(u,x)},a=[];a.push(n({label:C("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new fp),a.push(n({label:C("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(r(C("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:C("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:C("context.minimap.size.fill","Fill"),value:"fill"},{label:C("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(r(C("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:C("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:C("context.minimap.slider.always","Always"),value:"always"}]));const d=this._editor.getOption(128)&&!xS;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()}},FC=$d,$d.ID="editor.contrib.contextmenu",$d);Mf=FC=bz([Zc(1,Vf),Zc(2,my),Zc(3,yn),Zc(4,hs),Zc(5,Fu),Zc(6,Un),Zc(7,hf)],Mf);class yz extends Xe{constructor(){super({id:"editor.action.showContextMenu",label:C("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:W.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=Mf.get(t))==null||i.showContextMenu()}}Yi(Mf.ID,Mf,2);me(yz);class Vw{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 jw{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const Mb=class Mb extends mt{static get(e){return e.getContribution(Mb.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 Vw(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new jw(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 jw(new Vw(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 jw(new Vw(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}};Mb.ID="editor.contrib.cursorUndoRedoController";let Rf=Mb;class wz extends Xe{constructor(){super({id:"cursorUndo",label:C("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:W.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=Rf.get(t))==null||n.cursorUndo()}}class Sz extends Xe{constructor(){super({id:"cursorRedo",label:C("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=Rf.get(t))==null||n.cursorRedo()}}Yi(Rf.ID,Rf,0);me(wz);me(Sz);class Cz{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 X(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 bi(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 bi(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 bi(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 bi(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 bi(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 ah(o){return ja?o.altKey:o.ctrlKey}const Zl=class Zl extends mt{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)||(ah(e)&&(this._modifierPressed=!0),this._mouseDown&&ah(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(ah(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Zl.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}ah(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 Jt(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 bi(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new bi(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(ah(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Zl.ID,new Cz(this._dragSelection,t,ah(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 X(e.lineNumber,e.column,e.lineNumber,e.column),options:Zl._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()}};Zl.ID="editor.contrib.dragAndDrop",Zl.TRIGGER_KEY_VALUE=ja?6:5,Zl._DECORATION_OPTIONS=rn.register({description:"dnd-target",className:"dnd-target"});let Tv=Zl;Yi(Tv.ID,Tv,2);Yi(kl.ID,kl,0);Uf(QS);ni(new class extends yo{constructor(){super({id:kM,precondition:H0,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=kl.get(e))==null?void 0:t.changePasteType()}});ni(new class extends yo{constructor(){super({id:"editor.hidePasteWidget",precondition:H0,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=kl.get(e))==null||t.clearWidgets()}});var Ud;me((Ud=class extends Xe{constructor(){super({id:"editor.action.pasteAs",label:C("pasteAs","Paste As..."),alias:"Paste As...",precondition:W.writable,metadata:{description:"Paste as",args:[{name:"args",schema:Ud.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=kl.get(t))==null?void 0:s.pasteAs(n?new $n(n):void 0)}},Ud.argsSchema={type:"object",properties:{kind:{type:"string",description:C("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.")}}},Ud));me(class extends Xe{constructor(){super({id:"editor.action.pasteAsText",label:C("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:W.writable})}run(o,e){var t;return(t=kl.get(e))==null?void 0:t.pasteAs({providerId:xu.id})}});class xz{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 CI{constructor(e){this.identifier=e}}const CR=Pl("treeViewsDndService");Ml(CR,xz,1);var kz=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},im=function(o,e){return function(t,i){e(t,i,o)}},HC;const xR="editor.experimental.dropIntoEditor.defaultProvider",kR="editor.changeDropType",J0=new fn("dropWidgetVisible",!1,C("dropWidgetVisible","Whether the drop widget is showing"));var qd;let Nf=(qd=class extends mt{static get(e){return e.getContribution(HC.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=XS.getInstance(),this._dropProgressManager=this._register(t.createInstance(mv,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(bv,"dropIntoEditor",e,J0,{id:kR,label:C("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=Rs(async r=>{const a=new pt,d=a.add(new ff(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(w=>w.dropMimeTypes?w.dropMimeTypes.some(y=>u.matches(y)):!0),p=a.add(await this.getDropEdits(g,f,t,u,d));if(d.token.isCancellationRequested)return;if(p.edits.length){const w=this.getInitialActiveEditIndex(f,p.edits),y=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([X.fromPositions(t)],{activeEditIndex:w,allEdits:p.edits},y,async x=>x,r)}}finally{a.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,C("dropIntoEditorProgress","Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),this._currentOperation=n}async getDropEdits(e,t,i,n,s){const r=new pt,a=await r_(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=bl(a??[]).flat();return{edits:CM(d),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(xR,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new $n(s),a=t.findIndex(d=>r.value===d.providerId&&d.handledMimeType&&gM(n,[d.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new fM;const t=mM(e.dataTransfer);if(this.treeItemsTransfer.hasData(CI.prototype)){const i=this.treeItemsTransfer.getData(CI.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}},HC=qd,qd.ID="editor.contrib.dropIntoEditorController",qd);Nf=HC=kz([im(1,Bi),im(2,Un),im(3,ei),im(4,CR)],Nf);Yi(Nf.ID,Nf,2);Uf(YS);ni(new class extends yo{constructor(){super({id:kR,precondition:J0,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=Nf.get(e))==null||i.changeDropType()}});ni(new class extends yo{constructor(){super({id:"editor.hideDropWidget",precondition:J0,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=Nf.get(e))==null||i.clearWidgets()}});ua.as(c_.Configuration).registerConfiguration({...by,properties:{[xR]:{type:"object",scope:5,description:C("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});const Zs=class Zs{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===Zs._FIND_MATCH_DECORATION||n===Zs._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,Zs._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,Zs._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 X(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,Zs._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=Zs._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=Zs._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 w=1,y=e.length;w<y;w++){const x=e[w].range;p+f>=x.startLineNumber?x.endLineNumber>p&&(p=x.endLineNumber):(s.push({range:new X(g,1,p,1),options:Zs._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),g=x.startLineNumber,p=x.endLineNumber)}s.push({range:new X(g,1,p,1),options:Zs._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,Zs._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}};Zs._CURRENT_FIND_MATCH_DECORATION=rn.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:_s(ww),position:Ha.Center},minimap:{color:_s(hL),position:1}}),Zs._FIND_MATCH_DECORATION=rn.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:_s(ww),position:Ha.Center},minimap:{color:_s(hL),position:1}}),Zs._FIND_MATCH_NO_OVERVIEW_DECORATION=rn.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),Zs._FIND_MATCH_ONLY_OVERVIEW_DECORATION=rn.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:_s(ww),position:Ha.Center}}),Zs._RANGE_HIGHLIGHT_DECORATION=rn.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),Zs._FIND_SCOPE_DECORATION=rn.register({description:"find-scope",className:"findScope",isWholeLine:!0});let WC=Zs;class Lz{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)=>X.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 LR(o,e){if(o&&o[0]!==""){const t=xI(o,e,"-"),i=xI(o,e,"_");return t&&!i?kI(o,e,"-"):!t&&i?kI(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():HO(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 xI(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function kI(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=LR([n[a]],r)+t}),s.slice(0,-1)}class LI{constructor(e){this.staticValue=e,this.kind=0}}class Iz{constructor(e){this.pieces=e,this.kind=1}}class Af{static fromStaticValue(e){return new Af([Id.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new LI(""):e.length===1&&e[0].staticValue!==null?this._state=new LI(e[0].staticValue):this._state=new Iz(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?LR(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=Af._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 Id{static staticValue(e){return new Id(e,-1,null)}static caseOps(e,t){return new Id(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 Ez{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++]=Id.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=Id.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Id.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new Af(this._result)}}function Dz(o){if(!o||o.length===0)return new Af(null);const e=[],t=new Ez(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 Ol=new fn("findWidgetVisible",!1);Ol.toNegated();const Yy=new fn("findInputFocussed",!1),ek=new fn("replaceInputFocussed",!1),nm={primary:545,mac:{primary:2593}},sm={primary:565,mac:{primary:2613}},om={primary:560,mac:{primary:2608}},rm={primary:554,mac:{primary:2602}},am={primary:558,mac:{primary:2606}},Mn={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"},rc=19999,Tz=240;class Xg{constructor(e,t){this._toDispose=new pt,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new a_,this._decorations=new WC(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new bs(()=>{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,to(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)},Tz)):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 X(a.startLineNumber,1,d,this._editor.getModel().getLineMaxColumn(d))}return a}));const n=this._findMatches(i,!1,rc);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=YD(n.map(d=>d.range),d=>X.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 Jt(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()<rc){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=Xg._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 Jt(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 Jt(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<rc){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=Xg._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 Jt(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?Dz(this._state.replaceString):Af.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 o_(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new Jt(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=>Xg._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>=rc?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new WO(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 QD(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 Lz(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 bi(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 Rb=class Rb extends u_{constructor(e,t,i){super(),this._hideSoon=this._register(new bs(()=>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:bd(eT),inputActiveOptionForeground:bd(JD),inputActiveOptionBackground:bd(Qx)},s=this._register(kS());this.caseSensitive=this._register(new BO({appendTitle:this._keybindingLabelFor(Mn.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 zO({appendTitle:this._keybindingLabelFor(Mn.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 VO({appendTitle:this._keybindingLabelFor(Mn.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,Zn.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 Rb.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")}};Rb.ID="editor.contrib.findOptionsWidget";let BC=Rb;function lm(o,e){return o===1?!0:o===2?!1:e}class Pz extends mt{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return lm(this._isRegexOverride,this._isRegex)}get wholeWord(){return lm(this._wholeWordOverride,this._wholeWord)}get matchCase(){return lm(this._matchCaseOverride,this._matchCase)}get preserveCase(){return lm(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 Ui),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"&&(X.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(w=>!X.equalsRange(w,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>=rc}}const Mz=C("defaultLabel","input"),Rz=C("label.preserveCaseToggle","Preserve Case");class Nz extends tT{constructor(e){super({icon:Di.preserveCase,title:Rz+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ky("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class Az extends u_{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new Ui),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Ui),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Ui),this._onInput=this._register(new Ui),this._onKeyUp=this._register(new Ui),this._onPreserveCaseKeyDown=this._register(new Ui),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||Mz;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 jO(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 Nz({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 w=f.indexOf(this.domNode.ownerDocument.activeElement);if(w>=0){let y=-1;p.equals(17)?y=(w+1)%f.length:p.equals(15)&&(w===0?y=f.length-1:y=w-1),p.equals(9)?(f[w].blur(),this.inputBox.focus()):y>=0&&f[y].focus(),tv.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 IR=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},ER=function(o,e){return function(t,i){e(t,i,o)}};const tk=new fn("suggestWidgetVisible",!1,C("suggestWidgetVisible","Whether suggestion are visible")),ik="historyNavigationWidgetFocus",DR="historyNavigationForwardsEnabled",TR="historyNavigationBackwardsEnabled";let ml;const cm=[];function PR(o,e){if(cm.includes(e))throw new Error("Cannot register the same widget multiple times");cm.push(e);const t=new pt,i=new fn(ik,!1).bindTo(o),n=new fn(DR,!0).bindTo(o),s=new fn(TR,!0).bindTo(o),r=()=>{i.set(!0),ml=e},a=()=>{i.set(!1),ml===e&&(ml=void 0)};return UO(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(jn(()=>{cm.splice(cm.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let zC=class extends $O{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(PR(s,this.inputBox))}};zC=IR([ER(3,yn)],zC);let VC=class extends Az{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(PR(r,this.inputBox))}};VC=IR([ER(3,yn)],VC);Ga.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:De.and(De.has(ik),De.equals(TR,!0),De.not("isComposing"),tk.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{ml==null||ml.showPreviousValue()}});Ga.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:De.and(De.has(ik),De.equals(DR,!0),De.not("isComposing"),tk.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{ml==null||ml.showNextValue()}});function II(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 EI=is("find-collapsed",Di.chevronRight,C("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),DI=is("find-expanded",Di.chevronDown,C("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),Oz=is("find-selection",Di.selection,C("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),Fz=is("find-replace",Di.replace,C("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),Hz=is("find-replace-all",Di.replaceAll,C("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),Wz=is("find-previous-match",Di.arrowUp,C("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),Bz=is("find-next-match",Di.arrowDown,C("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),zz=C("label.findDialog","Find / Replace"),Vz=C("label.find","Find"),jz=C("placeholder.find","Find"),$z=C("label.previousMatchButton","Previous Match"),Uz=C("label.nextMatchButton","Next Match"),qz=C("label.toggleSelectionFind","Find in Selection"),Gz=C("label.closeButton","Close"),Kz=C("label.replace","Replace"),Zz=C("placeholder.replace","Replace"),Xz=C("label.replaceButton","Replace"),Yz=C("label.replaceAllButton","Replace All"),Qz=C("label.toggleReplaceButton","Toggle Replace"),Jz=C("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",rc),eV=C("label.matchesLocation","{0} of {1}"),TI=C("label.noResults","No results"),ba=419,tV=275,iV=tV-54;let vg=69;const nV=33,PI="ctrlEnterReplaceAll.windows.donotask",MI=ja?256:2048;class $w{constructor(e){this.afterLineNumber=e,this.heightInPx=nV,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function RI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function NI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const Nb=class Nb extends u_{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(PI,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new Tc(500),this._register(jn(()=>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 w=this._codeEditor.getOption(41).addExtraSpaceOnTop;w&&!this._viewZone&&(this._viewZone=new $w(0),this._showViewZone()),!w&&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=Yy.bindTo(r),this._findFocusTracker=this._register(gf(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=ek.bindTo(r),this._replaceFocusTracker=this._register(gf(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 $w(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 Nb.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=br(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,Rn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=vg+"px",this._state.matchesCount>=rc?this._matchesCount.title=Jz: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>=rc&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=l0(eV,n,i)}else e=TI;this._matchesCount.appendChild(document.createTextNode(e)),Ar(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),vg=Math.max(vg,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===TI)return i===""?C("ariaSearchNoResultEmpty","{0} found",e):C("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=C("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 C("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=_o(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=qO(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 $w(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&&br(this._domNode)>ba){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=br(this._findInput.domNode);return}if(ba+28+n>=i&&(r=!0),ba+28+n-vg>=i&&(a=!0),ba+28+n-vg>=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=br(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&&!X.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(MI|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 RI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return NI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(MI|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{gy&&$f&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(C("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(PI,!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 RI(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return NI(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 zC(null,this._contextViewProvider,{width:iV,label:Vz,placeholder:jz,appendCaseSensitiveLabel:this._keybindingLabelFor(Mn.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(Mn.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(Mn.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:()=>II(this._keybindingService),inputBoxStyles:gL,toggleStyles:fL},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()})),GO&&this._register(this._findInput.onMouseDown(f=>this._onFindInputMouseDown(f))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(kS());this._prevBtn=this._register(new lh({label:$z+this._keybindingLabelFor(Mn.PreviousMatchFindAction),icon:Wz,hoverDelegate:i,onTrigger:()=>{Ih(this._codeEditor.getAction(Mn.PreviousMatchFindAction)).run().then(void 0,Rn)}},this._hoverService)),this._nextBtn=this._register(new lh({label:Uz+this._keybindingLabelFor(Mn.NextMatchFindAction),icon:Bz,hoverDelegate:i,onTrigger:()=>{Ih(this._codeEditor.getAction(Mn.NextMatchFindAction)).run().then(void 0,Rn)}},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 tT({icon:Oz,title:qz+this._keybindingLabelFor(Mn.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:bd(Qx),inputActiveOptionBorder:bd(eT),inputActiveOptionForeground:bd(JD)})),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 lh({label:Gz+this._keybindingLabelFor(Mn.CloseFindWidgetCommand),icon:iT,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 VC(null,void 0,{label:Kz,placeholder:Zz,appendPreserveCaseLabel:this._keybindingLabelFor(Mn.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>II(this._keybindingService),inputBoxStyles:gL,toggleStyles:fL},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(kS());this._replaceBtn=this._register(new lh({label:Xz+this._keybindingLabelFor(Mn.ReplaceOneAction),icon:Fz,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:f=>{f.equals(1026)&&(this._closeBtn.focus(),f.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new lh({label:Yz+this._keybindingLabelFor(Mn.ReplaceAllAction),icon:Hz,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 lh({label:Qz,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=br(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=zz,this._domNode.role="dialog",this._domNode.style.width=`${ba}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 xh(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let u=ba;this._register(this._resizeSash.onDidStart(()=>{u=br(this._domNode)})),this._register(this._resizeSash.onDidChange(f=>{this._resized=!0;const g=u+f.startX-f.currentX;if(g<ba)return;const p=parseFloat(KO(this._domNode).maxWidth)||0;g>p||(this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=br(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const f=br(this._domNode);if(f<ba)return;let g=ba;if(!this._resized||f===ba){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=br(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};Nb.ID="editor.contrib.findWidget";let jC=Nb;class lh extends u_{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+Sn.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??ky("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(...Sn.asClassNameArray(EI)),this._domNode.classList.add(...Sn.asClassNameArray(DI))):(this._domNode.classList.remove(...Sn.asClassNameArray(DI)),this._domNode.classList.add(...Sn.asClassNameArray(EI)))}}vy((o,e)=>{const t=o.getColor(AD);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${up(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(ZO);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${up(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(yl);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(XO);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(YO);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});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},sr=function(o,e){return function(t,i){e(t,i,o)}},$C;const sV=524288;function UC(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)<sV)return o.getModel().getValueInRange(i)}return null}var Gd;let vo=(Gd=class extends mt{get editor(){return this._editor}static get(e){return e.getContribution($C.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=Ol.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new Tc(500),this._state=this._register(new Pz),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!!Yy.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=hp(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=UC(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=hp(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=UC(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 Xg(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(C("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)}},$C=Gd,Gd.ID="editor.contrib.findController",Gd);vo=$C=MR([sr(1,yn),sr(2,Wc),sr(3,jf),sr(4,ao),sr(5,g_)],vo);let qC=class extends vo{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 jC(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new BC(this._editor,this._state,this._keybindingService))}};qC=MR([sr(1,my),sr(2,yn),sr(3,hs),sr(4,Hr),sr(5,ao),sr(6,Wc),sr(7,jf),sr(8,g_)],qC);const oV=nT(new sT({id:Mn.StartFindAction,label:C("startFindAction","Find"),alias:"Find",precondition:De.or(W.focus,De.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Wt.MenubarEditMenu,group:"3_find",title:C({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));oV.addImplementation(0,(o,e,t)=>{const i=vo.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 rV={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 aV extends Xe{constructor(){super({id:Mn.StartFindWithArgs,label:C("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:rV})}async run(e,t,i){const n=vo.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 lV extends Xe{constructor(){super({id:Mn.StartFindWithSelection,label:C("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=vo.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 RR extends Xe{async run(e,t){const i=vo.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 cV extends RR{constructor(){super({id:Mn.NextMatchFindAction,label:C("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:W.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:De.and(W.focus,Yy),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class dV extends RR{constructor(){super({id:Mn.PreviousMatchFindAction,label:C("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:W.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:De.and(W.focus,Yy),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class uV extends Xe{constructor(){super({id:Mn.GoToMatchFindAction,label:C("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Ol}),this._highlightDecorations=[]}run(e,t,i){const n=vo.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(ao).notify({severity:r0.Warning,message:C("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(Tl),a=new pt,d=a.add(r.createInputBox());d.placeholder=C("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 w=n.getState().matchesCount;if(p>0&&p<=w)return p-1;if(p<0&&p>=-w)return w+p},f=g=>{const p=u(g);if(typeof p=="number"){d.validationMessage=void 0,n.goToMatch(p);const w=n.getState().currentMatch;w&&this.addDecorations(t,w)}else d.validationMessage=C("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=C("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:_s(oT),position:Ha.Full}}}])})}}class NR extends Xe{async run(e,t){const i=vo.get(t);if(!i)return;const n=UC(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 hV extends NR{constructor(){super({id:Mn.NextSelectionMatchFindAction,label:C("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:W.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class fV extends NR{constructor(){super({id:Mn.PreviousSelectionMatchFindAction,label:C("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:W.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const gV=nT(new sT({id:Mn.StartFindReplaceAction,label:C("startReplace","Replace"),alias:"Replace",precondition:De.or(W.focus,De.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Wt.MenubarEditMenu,group:"3_find",title:C({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));gV.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=vo.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})});Yi(vo.ID,qC,0);me(aV);me(lV);me(cV);me(dV);me(uV);me(hV);me(fV);const _a=yo.bindToContribution(vo.get);ni(new _a({id:Mn.CloseFindWidgetCommand,precondition:Ol,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:De.and(W.focus,De.not("isComposing")),primary:9,secondary:[1033]}}));ni(new _a({id:Mn.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:W.focus,primary:nm.primary,mac:nm.mac,win:nm.win,linux:nm.linux}}));ni(new _a({id:Mn.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:W.focus,primary:sm.primary,mac:sm.mac,win:sm.win,linux:sm.linux}}));ni(new _a({id:Mn.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:W.focus,primary:om.primary,mac:om.mac,win:om.win,linux:om.linux}}));ni(new _a({id:Mn.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:W.focus,primary:rm.primary,mac:rm.mac,win:rm.win,linux:rm.linux}}));ni(new _a({id:Mn.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:W.focus,primary:am.primary,mac:am.mac,win:am.win,linux:am.linux}}));ni(new _a({id:Mn.ReplaceOneAction,precondition:Ol,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:W.focus,primary:3094}}));ni(new _a({id:Mn.ReplaceOneAction,precondition:Ol,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:De.and(W.focus,ek),primary:3}}));ni(new _a({id:Mn.ReplaceAllAction,precondition:Ol,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:W.focus,primary:2563}}));ni(new _a({id:Mn.ReplaceAllAction,precondition:Ol,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:De.and(W.focus,ek),primary:void 0,mac:{primary:2051}}}));ni(new _a({id:Mn.SelectAllMatchesAction,precondition:Ol,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:W.focus,primary:515}}));const pV={0:" ",1:"u",2:"r"},AI=65535,ea=16777215,OI=4278190080;class Uw{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 zo{constructor(e,t,i){if(e.length!==t.length||e.length>AI)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Uw(e.length),this._userDefinedStates=new Uw(e.length),this._recoveredStates=new Uw(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>ea||r>ea)throw new Error("startLineNumber or endLineNumber must not exceed "+ea);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]&ea}getEndLineNumber(e){return this._endIndexes[e]&ea}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 _V(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&OI)>>>24)+((this._endIndexes[e]&OI)>>>16);return t===AI?-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]=`[${pV[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&ea,endLineNumber:this._endIndexes[e]&ea,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 zo(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=(k,D)=>Array.isArray(k)?(P=>P<D?k[P]:void 0):(P=>P<D?k.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 w,y=0;const x=[];for(;f||g;){let k;if(g&&(!f||f.startLineNumber>=g.startLineNumber))f&&f.startLineNumber===g.startLineNumber?(g.source===1?k=g:(k=f,k.isCollapsed=g.isCollapsed&&(f.endLineNumber===g.endLineNumber||!(n!=null&&n.startsInside(f.startLineNumber+1,f.endLineNumber+1))),k.source=0),f=r(++d)):(k=g,g.isCollapsed&&g.source===0&&(k.source=2)),g=a(++u);else{let D=u,P=g;for(;;){if(!P||P.startLineNumber>f.endLineNumber){k=f;break}if(P.source===1&&P.endLineNumber>f.endLineNumber)break;P=a(++D)}f=r(++d)}if(k){for(;w&&w.endLineNumber<k.startLineNumber;)w=p.pop();k.endLineNumber>k.startLineNumber&&k.startLineNumber>y&&k.endLineNumber<=i&&(!w||w.endLineNumber>=k.endLineNumber)&&(x.push(k),y=k.startLineNumber,w&&p.push(w),w=k)}}return x}}class _V{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 mV{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new Ui,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new zo(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(zo.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=zo.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(zo.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=zo.sanitizeAndMerge(this._regions,t,i);this.updatePost(zo.fromFoldRanges(n))}_getLinesChecksum(e,t){return rT(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 nk(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 Qf(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 AR(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 vV(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 bV(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 OR(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 sk(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 ok(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 yV(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 wV(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 SV(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 CV{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new Ui,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||QO(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 X(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 FI(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!xV(r,n))&&(n=FI(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 xV(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function FI(o,e){const t=YD(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const kV=5e3,LV="indent";class rk{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=LV}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(DV(this.editorModel,i,n,this.foldingRangesLimit))}}let IV=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>ea||t>ea)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 zo(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=Kx(g,s);(p<n||p===n&&i++<t)&&(r[u]=f,a[u]=this._endIndexes[d],u++)}return new zo(r,a)}}};const EV={limit:kV,update:()=>{}};function DV(o,e,t,i=EV){const n=o.getOptions().tabSize,s=new IV(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=Kx(f,n);let p=a[a.length-1];if(g===-1){e&&(p.endAbove=u);continue}let w;if(r&&(w=f.match(r)))if(w[1]){let y=a.length-1;for(;y>0&&a[y].indent!==-2;)y--;if(y>0){a.length=y+1,p=a[y],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 y=p.endAbove-1;y-u>=1&&s.insertFirst(u,y,g)}p.indent===g?p.endAbove=u:a.push({indent:g,endAbove:u,line:u})}return s.toIndentRanges(o)}const TV=qt("editor.foldBackground",{light:Ba(pL,.3),dark:Ba(pL,.3),hcDark:null,hcLight:null},C("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);qt("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},C("collapsedTextColor","Color of the collapsed text after the first line of a folded range."));qt("editorGutter.foldingControlForeground",JO,C("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const Pv=is("folding-expanded",Di.chevronDown,C("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),Mv=is("folding-collapsed",Di.chevronRight,C("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),HI=is("folding-manual-collapsed",Mv,C("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),WI=is("folding-manual-expanded",Pv,C("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),qw={color:_s(TV),position:1},ch=C("linesCollapsed","Click to expand the range."),dm=C("linesExpanded","Click to collapse the range."),os=class os{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?os.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?os.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:os.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:os.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?os.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:os.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?os.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:os.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?os.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:os.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?os.MANUALLY_EXPANDED_VISUAL_DECORATION:os.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};os.COLLAPSED_VISUAL_DECORATION=rn.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:ch,firstLineDecorationClassName:Sn.asClassName(Mv)}),os.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=rn.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:qw,isWholeLine:!0,linesDecorationsTooltip:ch,firstLineDecorationClassName:Sn.asClassName(Mv)}),os.MANUALLY_COLLAPSED_VISUAL_DECORATION=rn.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:ch,firstLineDecorationClassName:Sn.asClassName(HI)}),os.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=rn.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:qw,isWholeLine:!0,linesDecorationsTooltip:ch,firstLineDecorationClassName:Sn.asClassName(HI)}),os.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=rn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:ch}),os.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=rn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:qw,isWholeLine:!0,linesDecorationsTooltip:ch}),os.EXPANDED_VISUAL_DECORATION=rn.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Sn.asClassName(Pv),linesDecorationsTooltip:dm}),os.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=rn.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Sn.asClassName(Pv),linesDecorationsTooltip:dm}),os.MANUALLY_EXPANDED_VISUAL_DECORATION=rn.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Sn.asClassName(WI),linesDecorationsTooltip:dm}),os.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=rn.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Sn.asClassName(WI),linesDecorationsTooltip:dm}),os.NO_CONTROLS_EXPANDED_RANGE_DECORATION=rn.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),os.HIDDEN_RANGE_DECORATION=rn.register({description:"folding-hidden-range-decoration",stickiness:1});let GC=os;const PV={},MV="syntax";class ak{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=MV,this.disposables=new pt,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return RV(this.providers,this.editorModel,e).then(t=>{var i;return t?AV(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function RV(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,PV,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})}},rs));return Promise.all(n).then(s=>i)}class NV{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>ea||t>ea)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 zo(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 zo(n,s,r)}}}function AV(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 NV(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 OV=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},bg=function(o,e){return function(t,i){e(t,i,o)}},td;const Ws=new fn("foldingEnabled",!1);var Kd;let Ac=(Kd=class extends mt{static get(e){return e.getContribution(td.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=td._foldingRangeSelector)==null?void 0:n.call(td,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 pt),this.editor=e,this._foldingLimitReporter=new FR(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 GC(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=Ws.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 mV(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new CV(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Tc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new bs(()=>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 rk(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=td.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new ak(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 Po,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=Rs(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const u=s.setCollapsedAllOfType(v_.Imports.value,!0);u&&(r=_f.capture(this.editor),this._currentModelHasFoldedImports=u)}const a=this.editor.getSelections();e.update(s,FV(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=>(Rn(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,Rn)}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)}},td=Kd,Kd.ID="editor.contrib.folding",Kd);Ac=td=OV([bg(1,yn),bg(2,Es),bg(3,ao),bg(4,cr),bg(5,ei)],Ac);class FR{constructor(e){this.editor=e,this._onDidChange=new Ui,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 Gs extends Xe{runEditorCommand(e,t,i){const n=e.get(Es),s=Ac.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 FV(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 HR(o){if(!kg(o)){if(!aT(o))return!1;const e=o;if(!kg(e.levels)&&!_L(e.levels)||!kg(e.direction)&&!RD(e.direction)||!kg(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(_L)))return!1}return!0}class HV extends Gs{constructor(){super({id:"editor.unfold",label:C("unfoldAction.label","Unfold"),alias:"Unfold",precondition:Ws,kbOpts:{kbExpr:W.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:HR,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"?AR(t,!1,s,r):Qf(t,!1,s,r)}}class WV extends Gs{constructor(){super({id:"editor.unfoldRecursively",label:C("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2142),weight:100}})}invoke(e,t,i,n){Qf(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class BV extends Gs{constructor(){super({id:"editor.fold",label:C("foldAction.label","Fold"),alias:"Fold",precondition:Ws,kbOpts:{kbExpr:W.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:HR,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"?vV(t,!0,s):a==="up"?AR(t,!0,r||1,s):Qf(t,!0,r||1,s)}}class zV extends Gs{constructor(){super({id:"editor.toggleFold",label:C("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);nk(t,1,n)}}class VV extends Gs{constructor(){super({id:"editor.foldRecursively",label:C("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Qf(t,!0,Number.MAX_VALUE,n)}}class jV extends Gs{constructor(){super({id:"editor.toggleFoldRecursively",label:C("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);nk(t,Number.MAX_VALUE,n)}}class $V extends Gs{constructor(){super({id:"editor.foldAllBlockComments",label:C("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())ok(t,v_.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*"+hp(a.blockCommentStartToken));sk(t,d,!0)}}}}class UV extends Gs{constructor(){super({id:"editor.foldAllMarkerRegions",label:C("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())ok(t,v_.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);sk(t,d,!0)}}}}class qV extends Gs{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:C("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())ok(t,v_.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);sk(t,d,!1)}}}}class GV extends Gs{constructor(){super({id:"editor.foldAllExcept",label:C("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);OR(t,!0,n)}}class KV extends Gs{constructor(){super({id:"editor.unfoldAllExcept",label:C("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);OR(t,!1,n)}}class ZV extends Gs{constructor(){super({id:"editor.foldAll",label:C("foldAllAction.label","Fold All"),alias:"Fold All",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2069),weight:100}})}invoke(e,t,i){Qf(t,!0)}}class XV extends Gs{constructor(){super({id:"editor.unfoldAll",label:C("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2088),weight:100}})}invoke(e,t,i){Qf(t,!1)}}const Hh=class Hh extends Gs{getFoldingLevel(){return parseInt(this.id.substr(Hh.ID_PREFIX.length))}invoke(e,t,i){bV(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};Hh.ID_PREFIX="editor.foldLevel",Hh.ID=e=>Hh.ID_PREFIX+e;let Rv=Hh;class YV extends Gs{constructor(){super({id:"editor.gotoParentFold",label:C("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=yV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class QV extends Gs{constructor(){super({id:"editor.gotoPreviousFold",label:C("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=wV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class JV extends Gs{constructor(){super({id:"editor.gotoNextFold",label:C("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=SV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class ej extends Gs{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:C("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,primary:us(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=zo.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(zo.fromFoldRanges(a))}}}}class tj extends Gs{constructor(){super({id:"editor.removeManualFoldingRanges",label:C("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,primary:us(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()}}}Yi(Ac.ID,Ac,0);me(HV);me(WV);me(BV);me(VV);me(jV);me(ZV);me(XV);me($V);me(UV);me(qV);me(GV);me(KV);me(zV);me(YV);me(QV);me(JV);me(ej);me(tj);for(let o=1;o<=7;o++)e2(new Rv({id:Rv.ID(o),label:C("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:Ws,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2048|21+o),weight:100}}));Hn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof Tn))throw gl();const i=o.get(ei),n=o.get(lo).getModel(t);if(!n)throw gl();const s=o.get(Un);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(Es),a=s.getValue("editor.foldingStrategy",{resource:t}),d={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(w,y)=>{}},u=new rk(n,r,d);let f=u;if(a!=="indentation"){const w=Ac.getFoldingRangeProviders(i,n);w.length&&(f=new ak(n,w,()=>{},d,u))}const g=await f.compute(qi.None),p=[];try{if(g)for(let w=0;w<g.length;w++){const y=g.getType(w);p.push({start:g.getStartLineNumber(w),end:g.getEndLineNumber(w),kind:y?v_.fromValue(y):void 0})}return p}finally{f.dispose()}});class ij extends Xe{constructor(){super({id:"editor.action.fontZoomIn",label:C("EditorFontZoomIn.label","Increase Editor Font Size"),alias:"Increase Editor Font Size",precondition:void 0})}run(e,t){vp.setZoomLevel(vp.getZoomLevel()+1)}}class nj extends Xe{constructor(){super({id:"editor.action.fontZoomOut",label:C("EditorFontZoomOut.label","Decrease Editor Font Size"),alias:"Decrease Editor Font Size",precondition:void 0})}run(e,t){vp.setZoomLevel(vp.getZoomLevel()-1)}}class sj extends Xe{constructor(){super({id:"editor.action.fontZoomReset",label:C("EditorFontZoomReset.label","Reset Editor Font Size"),alias:"Reset Editor Font Size",precondition:void 0})}run(e,t){vp.setZoomLevel(0)}}me(ij);me(nj);me(sj);var WR=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},Yg=function(o,e){return function(t,i){e(t,i,o)}},sf;let Nv=(sf=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new pt,this._sessionDisposables=new pt,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 iv;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 Ns,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}});t2(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||jo(r)&&(this._accessibilitySignalService.playSignal(cT.format,{userGesture:!1}),i2.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},sf.ID="editor.contrib.autoFormat",sf);Nv=WR([Yg(1,ei),Yg(2,Rl),Yg(3,lT)],Nv);var of;let Av=(of=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new pt,this._callOnModel=new pt,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(dT,this.editor,e,2,cl.None,qi.None,!1).catch(Rn))}},of.ID="editor.contrib.formatOnPaste",of);Av=WR([Yg(1,ei),Yg(2,Bi)],Av);class oj extends Xe{constructor(){super({id:"editor.action.formatDocument",label:C("formatDocument.label","Format Document"),alias:"Format Document",precondition:De.and(W.notInCompositeEditor,W.writable,W.hasDocumentFormattingProvider),kbOpts:{kbExpr:W.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(Bi);await e.get(l_).showWhile(i.invokeFunction(n2,t,1,cl.None,qi.None,!0),250)}}}class rj extends Xe{constructor(){super({id:"editor.action.formatSelection",label:C("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:De.and(W.writable,W.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2084),weight:100},contextMenuOpts:{when:W.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(Bi),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new X(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(l_).showWhile(i.invokeFunction(dT,t,s,1,cl.None,qi.None,!0),250)}}Yi(Nv.ID,Nv,2);Yi(Av.ID,Av,2);me(oj);me(rj);Hn.registerCommand("editor.action.format",async o=>{const e=o.get(as).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(Is);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var aj=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},Gw=function(o,e){return function(t,i){e(t,i,o)}};class Mh{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 KC extends Mh{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class BR extends Mh{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class nl extends Mh{static create(e,t,i){const n=new Ns(i),s=new nl(t.uri),r=e.ordered(t),a=r.map((u,f)=>{const g=Mh.findId(`provider_${f}`,s),p=new BR(g,s,u.displayName??"Unknown Outline Provider",f);return Promise.resolve(u.provideDocumentSymbols(t,n.token)).then(w=>{for(const y of w||[])nl._makeOutlineElement(y,p);return p},w=>(rs(w),p)).then(w=>{Mh.empty(w)?w.remove():s._groups.set(g,w)})}),d=e.onDidChange(()=>{const u=e.ordered(t);Va(u,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?nl.create(e,t,i):s._compact()).finally(()=>{n.dispose(),d.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=Mh.findId(e,t),n=new KC(i,t,e);if(e.children)for(const s of e.children)nl._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=fl.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 KC?e.push(t.symbol):e.push(...fl.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>X.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return nl._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>Jt.compare(X.getStartPosition(i.range),X.getStartPosition(n.range))||Jt.compare(X.getEndPosition(n.range),X.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&&nl._flattenDocumentSymbols(e,n.children,n.name)}}const M_=Pl("IOutlineModelService");let ZC=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new pt,this._cache=new d_(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()||!Va(s.provider,n)){const a=new Ns;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:nl.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()}}};ZC=aj([Gw(0,ei),Gw(1,cr),Gw(2,lo)],ZC);Ml(M_,ZC,1);Hn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;wn(Tn.isUri(t));const i=o.get(M_),s=await o.get(pa).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,qi.None)).getTopLevelSymbols()}finally{s.dispose()}});const xa=class xa extends mt{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=xa.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=xa.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=xa.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=xa.suppressSuggestions.bindTo(this.contextKeyService),this._register(Kn(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(Kn(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 w=CS(f);w===-1&&(w=f.length-1),s=w>0;const y=n.textModel.getOptions().tabSize;r=s2.visibleColumnFromColumn(f,w+1,y)<y}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};xa.inlineSuggestionVisible=new fn("inlineSuggestionVisible",!1,C("inlineSuggestionVisible","Whether an inline suggestion is visible")),xa.inlineSuggestionHasIndentation=new fn("inlineSuggestionHasIndentation",!1,C("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),xa.inlineSuggestionHasIndentationLessThanTabSize=new fn("inlineSuggestionHasIndentationLessThanTabSize",!0,C("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),xa.suppressSuggestions=new fn("inlineSuggestionSuppressSuggestions",void 0,C("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let To=xa;function lj(o){const e=new pt,t=e.add(uT());return e.add(Kn(i=>{t.setStyle(o.read(i))})),e}class Rp{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 hT([...this.parts.map(s=>new Sl(X.fromPositions(new Jt(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 Ov{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=Ly(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 XC{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new Ov(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=Ly(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 BI(o,e){return Va(o,e,zR)}function zR(o,e){return o===e?!0:!o||!e?!1:o instanceof Rp&&e instanceof Rp||o instanceof XC&&e instanceof XC?o.equals(e):!1}const cj=[];function dj(){return cj}class VR{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new yf(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new X(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function jR(o,e){const t=new pt,i=o.createDecorationsCollection();return t.add(o2({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function uj(o,e){return new Jt(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function zI(o,e){return new Jt(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var hj=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},fj=function(o,e){return function(t,i){e(t,i,o)}};const VI="ghost-text";let YC=class extends mt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=$o(this,!1),this.currentTextModel=ko(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=In(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 XC?r.columnRange:void 0,d=[],u=[];function f(x,k){if(u.length>0){const D=u[u.length-1];k&&D.decorations.push(new bp(D.content.length+1,D.content.length+1+x[0].length,k,0)),D.content+=x[0],x=x.slice(1)}for(const D of x)u.push({content:D,decorations:k?[new bp(1,D.length+1,k,0)]:[]})}const g=s.getLineContent(r.lineNumber);let p,w=0;for(const x of r.parts){let k=x.lines;p===void 0?(d.push({column:x.column,text:k[0],preview:x.preview}),k=k.slice(1)):f([g.substring(w,x.column-1)],void 0),k.length>0&&(f(k,VI),p===void 0&&x.column<=g.length&&(p=x.column)),w=x.column-1}p!==void 0&&f([g.substring(w)],void 0);const y=p!==void 0?new VR(p,g.length+1):void 0;return{replacedRange:a,inlineTexts:d,additionalLines:u,hiddenRange:y,lineNumber:r.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s}}),this.decorations=In(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:X.fromPositions(new Jt(s.lineNumber,a.column)),options:{description:VI,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:Lh.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new gj(this.editor,this.languageService.languageIdCodec,In(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(jn(()=>{this.isDisposed.set(!0,void 0)})),this._register(jR(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};YC=hj([fj(2,ga)],YC);class gj extends mt{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=wd("editorOptionChanged",vs.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(Kn(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");pj(d,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:d,afterColumnAffinity:1})}})}}function pj(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 gT(1e4);p.appendString('<div class="suggest-preview-text">');for(let x=0,k=t.length;x<k;x++){const D=t[x],P=D.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(x*g)),p.appendString('px;width:1000000px;">');const A=vT(P),q=r2(P),z=a2.createEmpty(P,n);pT(new _T(f.isMonospace&&!s,f.canUseHalfwidthRightwardsArrow,P,!1,A,q,0,z,D.decorations,e,0,f.spaceWidth,f.middotWidth,f.wsmiddotWidth,r,a,d,u!==l2.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),mT(o,f);const w=p.build(),y=jI?jI.createHTML(w):w;o.innerHTML=y}const jI=fT("editorGhostText",{createHTML:o=>o});function _j(o,e){const t=new h2,i=new d2(t,u=>e.getLanguageConfiguration(u)),n=new c2(new mj([o]),i),s=u2(n,[],void 0,!0);let r="";const a=o.getLineContent();function d(u,f){if(u.kind===2)if(d(u.openingBracket,f),f=gg(f,u.openingBracket.length),u.child&&(d(u.child,f),f=gg(f,u.child.length)),u.closingBracket)d(u.closingBracket,f),f=gg(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(mL(f),mL(gg(f,u.length)));else if(u.kind===4)for(const g of u.children)d(g,f),f=gg(f,g.length)}}return d(s,f2),r}class mj{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 $R(o,e,t,i,n=qi.None,s){const r=e instanceof Jt?yj(e,t):e,a=o.all(t),d=new g2;for(const D of a)D.groupId&&d.add(D.groupId,D);function u(D){if(!D.yieldsToGroupIds)return[];const P=[];for(const A of D.yieldsToGroupIds||[]){const q=d.get(A);for(const z of q)P.push(z)}return P}const f=new Map,g=new Set;function p(D,P){if(P=[...P,D],g.has(D))return P;g.add(D);try{const A=u(D);for(const q of A){const z=p(q,P);if(z)return z}}finally{g.delete(D)}}function w(D){const P=f.get(D);if(P)return P;const A=p(D,[]);A&&rs(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${A.map(z=>z.toString?z.toString():""+z).join(" -> ")}`));const q=new py;return f.set(D,q.p),(async()=>{var z;if(!A){const oe=u(D);for(const ie of oe){const be=await w(ie);if(be&&be.items.length>0)return}}try{return e instanceof Jt?await D.provideInlineCompletions(t,e,i,n):await((z=D.provideInlineEdits)==null?void 0:z.call(D,t,e,i,n))}catch(oe){rs(oe);return}})().then(z=>q.complete(z),z=>q.error(z)),q.p}const y=await Promise.all(a.map(async D=>({provider:D,completions:await w(D)}))),x=new Map,k=[];for(const D of y){const P=D.completions;if(!P)continue;const A=new bj(P,D.provider);k.push(A);for(const q of P.items){const z=Fv.from(q,A,r,t,s);x.set(z.hash(),z)}}return new vj(Array.from(x.values()),new Set(x.keys()),k)}class vj{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 bj{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 Fv{static from(e,t,i,n,s){let r,a,d=e.range?X.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=$I(r,d.getStartPosition(),n,s);const u=r.length-e.insertText.length;u!==0&&(d=new X(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=$I(e.insertText.snippet,d.getStartPosition(),n,s);const g=e.insertText.snippet.length-u;g!==0&&(d=new X(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn+g))}const f=new ku().parse(e.insertText.snippet);f.children.length===1&&f.children[0]instanceof Lo?(r=f.children[0].value,a=void 0):(r=f.toString(),a={snippet:e.insertText.snippet,range:d})}else p2(e.insertText);return new Fv(r,e.command,d,r,a,e.additionalTextEdits||dj(),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 Fv(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 Sl(this.range,this.insertText)}}function yj(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new X(o.lineNumber,t.startColumn,o.lineNumber,i):X.fromPositions(o,o.with(void 0,i))}function $I(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?_j(a,i):o}function Ed(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=m_(n,o.text),r=nv.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),d=X.fromPositions(r,o.range.getEndPosition());return new Sl(d,a)}function UR(o,e){return o.text.startsWith(e.text)&&wj(o.range,e.range)}function UI(o,e,t,i,n=0){let s=Ed(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=Us(r).length;if(s.range.startColumn-1<=a){const y=Us(s.text).length,x=r.substring(s.range.startColumn-1,a),[k,D]=[s.range.getStartPosition(),s.range.getEndPosition()],P=k.column+x.length<=D.column?k.delta(0,x.length):D,A=X.fromPositions(P,D),q=s.text.startsWith(x)?s.text.substring(x.length):s.text.substring(y);s=new Sl(A,q)}const u=e.getValueInRange(s.range),f=Sj(u,s.text);if(!f)return;const g=s.range.startLineNumber,p=new Array;if(t==="prefix"){const y=f.filter(x=>x.originalLength===0);if(y.length>1||y.length===1&&y[0].originalStart!==u.length)return}const w=s.text.length-n;for(const y of f){const x=s.range.startColumn+y.originalStart+y.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===s.range.startLineNumber&&x<i.column||y.originalLength>0)return;if(y.modifiedLength===0)continue;const k=y.modifiedStart+y.modifiedLength,D=Math.max(y.modifiedStart,Math.min(k,w)),P=s.text.substring(y.modifiedStart,D),A=s.text.substring(D,Math.max(y.modifiedStart,k));P.length>0&&p.push(new Ov(x,P,!1)),A.length>0&&p.push(new Ov(x,A,!0))}return new Rp(g,p)}function wj(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let ya;function Sj(o,e){if((ya==null?void 0:ya.originalValue)===o&&(ya==null?void 0:ya.newValue)===e)return ya==null?void 0:ya.changes;{let t=GI(o,e,!0);if(t){const i=qI(t);if(i>0){const n=GI(o,e,!1);n&&qI(n)<i&&(t=n)}}return ya={originalValue:o,newValue:e,changes:t},t}}function qI(o){let e=0;for(const t of o)e+=t.originalLength;return e}function GI(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 w=u.charCodeAt(g);w>f&&(f=w)}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 w=0,y=u.length;w<y;w++)if(t&&u[w]==="("){const x=g*100+f;p[w]=s(2*x),f++}else if(t&&u[w]===")"){f=Math.max(f-1,0);const x=g*100+f;p[w]=s(2*x+1),f===0&&g++}else p[w]=u.charCodeAt(w);return p}const a=r(o),d=r(e);return new _2({getElements:()=>a},{getElements:()=>d}).ComputeDiff(!1).changes}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},KI=function(o,e){return function(t,i){e(t,i,o)}};let QC=class extends mt{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=LS("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=LS("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var f,g;const n=new kj(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 Ns,d=(async()=>{if((r||t.triggerKind===pl.Automatic)&&await xj(this._debounceValue.get(this.textModel),a.token),a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const w=new Date,y=await $R(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 x=new Date;this._debounceValue.update(this.textModel,x.getTime()-w.getTime());const k=new Ij(y,n,this.textModel,this.versionId);if(i){const D=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!y.has(D)&&k.prepend(i.inlineCompletion,D.range,!0)}return this._updateOperation.clear(),Hu(D=>{s.set(k,D)}),!0})(),u=new Lj(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()}};QC=Cj([KI(3,ei),KI(4,Es)],QC);function xj(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 kj{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&m2(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,b2())&&(e.context.triggerKind===pl.Automatic||this.context.triggerKind===pl.Explicit)&&this.versionId===e.versionId}}class Lj{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class Ij{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 ZI(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 ZI(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class ZI{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=ll({owner:this,equalsFn:X.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??Kw)}toSingleTextEdit(e){return new Sl(this._updatedRange.read(e)??Kw,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=Ed(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 w=e.getLineIndentColumn(n.range.startLineNumber);return n.range.startColumn<=w&&(g=g.trimStart(),g.length===0&&(p=p.trimStart()),u=u.trimStart(),u.length===0&&(f=f.trimStart())),u.startsWith(g)&&!!v2(p,f)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&nv.ofRange(i).isGreaterThanOrEqualTo(nv.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new Sl(this._updatedRange.read(e)??Kw,this.inlineCompletion.filterText)}}const Kw=new X(1,1,1,1),Li={Visible:tk,HasFocusedSuggestion:new fn("suggestWidgetHasFocusedSuggestion",!1,C("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new fn("suggestWidgetDetailsVisible",!1,C("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new fn("suggestWidgetMultipleSuggestions",!1,C("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new fn("suggestionMakesTextEdit",!0,C("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new fn("acceptSuggestionOnEnter",!0,C("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new fn("suggestionHasInsertAndReplaceRange",!1,C("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new fn("suggestionInsertMode",void 0,{type:"string",description:C("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new fn("suggestionCanResolve",!1,C("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},hc=new Wt("suggestWidgetStatusBar");class Ej{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=_p.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,X.isIRange(t.range)?(this.editStart=new Jt(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Jt(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Jt(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||X.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Jt(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Jt(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Jt(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||X.spansMultipleLines(t.range.insert)||X.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 Po(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{Hc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const Ab=class Ab{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}};Ab.default=new Ab;let Np=Ab;class Dj{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function lk(o,e,t,i=Np.default,n={triggerKind:0},s=qi.None){const r=new Po;t=t.clone();const a=e.getWordAtPosition(t),d=a?new X(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):X.fromPositions(t),u={replace:d,insert:d.setEndPosition(t.lineNumber,t.column)},f=[],g=new pt,p=[];let w=!1;const y=(k,D,P)=>{var q;let A=!1;if(!D)return A;for(const z of D.suggestions)if(!i.kindFilter.has(z.kind)){if(!i.showDeprecated&&((q=z==null?void 0:z.tags)!=null&&q.includes(1)))continue;z.range||(z.range=u),z.sortText||(z.sortText=typeof z.label=="string"?z.label:z.label.label),!w&&z.insertTextRules&&z.insertTextRules&4&&(w=ku.guessNeedsClipboard(z.insertText)),f.push(new Ej(t,z,D,k)),A=!0}return bT(D)&&g.add(D),p.push({providerName:k._debugDisplayName??"unknown_provider",elapsedProvider:D.duration??-1,elapsedOverall:P.elapsed()}),A},x=(async()=>{})();for(const k of o.orderedGroups(e)){let D=!1;if(await Promise.all(k.map(async P=>{if(i.providerItemsToReuse.has(P)){const A=i.providerItemsToReuse.get(P);A.forEach(q=>f.push(q)),D=D||A.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(P)))try{const A=new Po,q=await P.provideCompletionItems(e,t,n,s);D=y(P,q,A)||D}catch(A){rs(A)}})),D||s.isCancellationRequested)break}return await x,s.isCancellationRequested?(g.dispose(),Promise.reject(new _y)):new Dj(f.sort(Mj(i.snippetSortOrder)),w,{entries:p,elapsed:r.elapsed()},g)}function ck(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 Tj(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return ck(o,e)}function Pj(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return ck(o,e)}const Qy=new Map;Qy.set(0,Tj);Qy.set(2,Pj);Qy.set(1,ck);function Mj(o){return Qy.get(o)}Hn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;wn(Tn.isUri(t)),wn(Jt.isIPosition(i)),wn(typeof n=="string"||!n),wn(typeof s=="number"||!s);const{completionProvider:r}=o.get(ei),a=await o.get(pa).createModelReference(t);try{const d={incomplete:!1,suggestions:[]},u=[],f=a.object.textEditorModel.validatePosition(i),g=await lk(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(qi.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 Rj(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class Rh{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 XI(o,e=gy){return y2(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var Nj=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},Aj=function(o,e){return function(t,i){e(t,i,o)}};class YI{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 QI{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=Us(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(u=>u===e?!1:(u instanceof Lo&&(a=Us(Ly(u.value).pop())),!0));const d=m_(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 JI{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return jg(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=jg(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return w2(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(s0(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 eE{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=>!S2(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let Hv=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}}};Hv=Nj([Aj(2,Es)],Hv);const ka=class ka{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 ka.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return ka.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return ka.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return ka.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}}};ka.dayNames=[C("Sunday","Sunday"),C("Monday","Monday"),C("Tuesday","Tuesday"),C("Wednesday","Wednesday"),C("Thursday","Thursday"),C("Friday","Friday"),C("Saturday","Saturday")],ka.dayNamesShort=[C("SundayShort","Sun"),C("MondayShort","Mon"),C("TuesdayShort","Tue"),C("WednesdayShort","Wed"),C("ThursdayShort","Thu"),C("FridayShort","Fri"),C("SaturdayShort","Sat")],ka.monthNames=[C("January","January"),C("February","February"),C("March","March"),C("April","April"),C("May","May"),C("June","June"),C("July","July"),C("August","August"),C("September","September"),C("October","October"),C("November","November"),C("December","December")],ka.monthNamesShort=[C("JanuaryShort","Jan"),C("FebruaryShort","Feb"),C("MarchShort","Mar"),C("AprilShort","Apr"),C("MayShort","May"),C("JuneShort","Jun"),C("JulyShort","Jul"),C("AugustShort","Aug"),C("SeptemberShort","Sep"),C("OctoberShort","Oct"),C("NovemberShort","Nov"),C("DecemberShort","Dec")];let Wv=ka;class tE{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=C2(this._workspaceService.getWorkspace());if(!x2(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(vL(e))return jg(e.uri.path);let t=jg(e.configPath.path);return t.endsWith(bL)&&(t=t.substr(0,t.length-bL.length-1)),t}_resoveWorkspacePath(e){if(vL(e))return XI(e.uri.fsPath);const t=jg(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?XI(i):"/"}}class iE{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 Vy()}}var Oj=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},Fj=function(o,e){return function(t,i){e(t,i,o)}},Gr;const vr=class vr{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=yL(t.placeholders,ar.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=X.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?vr._decor.inactiveFinal:vr._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(Qn.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 bi(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(d,a.isFinalTabstop?vr._decor.activeFinal:vr._decor.active),s.add(a);for(const f of this._snippet.enclosingPlaceholders(a)){const g=this._placeholderDecorations.get(f);n.changeDecorationOptions(g,f.isFinalTabstop?vr._decor.activeFinal:vr._decor.active),s.add(f)}}for(const[a,d]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(d,a.isFinalTabstop?vr._decor.inactiveFinal:vr._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof ar){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 Yf,!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=X.fromPositions(t.getPositionAt(s._offset+u),t.getPositionAt(s._offset+u+f)),p=i.addDecoration(g,vr._decor.inactive);this._placeholderDecorations.set(d,p)}}this._placeholderGroups=yL(this._snippet.placeholders,ar.compareByIndex)})}};vr._decor={active:rn.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:rn.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:rn.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:rn.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let Bv=vr;const nE={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let zv=Gr=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=Us(r,0,t.column-1);let d;return n.walk(u=>{if(!(u instanceof Lo)||u.parent instanceof Yf||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 w=d.charCodeAt(p-1);(w===10||w===13)&&(f[0]=e.normalizeIndentation(a+f[0]))}for(let w=1;w<f.length;w++)f[w]=e.normalizeIndentation(a+f[w])}const g=f.join(e.getEOL());return g!==u.value&&(u.parent.replace(u,[new Lo(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=bi.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(),w=e.invokeWithinContext(q=>q.get(hf)),y=e.invokeWithinContext(q=>new JI(q.get(pp),p)),x=()=>a,k=p.getValueInRange(Gr.adjustSelection(p,e.getSelection(),i,0)),D=p.getValueInRange(Gr.adjustSelection(p,e.getSelection(),0,n)),P=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),A=e.getSelections().map((q,z)=>({selection:q,idx:z})).sort((q,z)=>X.compareRangesUsingStarts(q.selection,z.selection));for(const{selection:q,idx:z}of A){let oe=Gr.adjustSelection(p,q,i,0),ie=Gr.adjustSelection(p,q,0,n);k!==p.getValueInRange(oe)&&(oe=q),D!==p.getValueInRange(ie)&&(ie=q);const be=q.setStartPosition(oe.startLineNumber,oe.startColumn).setEndPosition(ie.endLineNumber,ie.endColumn),ye=new ku().parse(t,!0,s),qe=be.getStartPosition(),Oe=Gr.adjustWhitespace(p,qe,r||z>0&&P!==p.getLineFirstNonWhitespaceColumn(q.positionLineNumber),ye);ye.resolveVariables(new YI([y,new eE(x,z,A.length,e.getOption(79)==="spread"),new QI(p,q,z,d),new Hv(p,q,u),new Wv,new tE(w),new iE])),f[z]=Qn.replace(be,ye.toString()),f[z].identifier={major:z,minor:0},f[z]._isTracked=!0,g[z]=new Bv(e,ye,Oe)}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 ku,g=new k_,p=new YI([e.invokeWithinContext(y=>new JI(y.get(pp),u)),new eE(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new QI(u,e.getSelection(),0,r),new Hv(u,e.getSelection(),a),new Wv,new tE(e.invokeWithinContext(y=>y.get(hf))),new iE]);t=t.sort((y,x)=>X.compareRangesUsingStarts(y.range,x.range));let w=0;for(let y=0;y<t.length;y++){const{range:x,template:k}=t[y];if(y>0){const z=t[y-1].range,oe=X.fromPositions(z.getEndPosition(),x.getStartPosition()),ie=new Lo(u.getValueInRange(oe));g.appendChild(ie),w+=ie.value.length}const D=f.parseFragment(k,g);Gr.adjustWhitespace(u,x.getStartPosition(),!0,g,new Set(D)),g.resolveVariables(p);const P=g.toString(),A=P.slice(w);w=P.length;const q=Qn.replace(x,A);q.identifier={major:y,minor:0},q._isTracked=!0,d.push(q)}return f.ensureFinalTabstop(g,i,!0),{edits:d,snippets:[new Bv(e,g,"")]}}constructor(e,t,i=nE,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){to(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"?Gr.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):Gr.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=>bi.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=nE){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=Gr.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=>bi.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(X.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(X.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(X.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};zv=Gr=Oj([Fj(3,Es)],zv);var Hj=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},um=function(o,e){return function(t,i){e(t,i,o)}},Sh;const sE={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var Ra;let ro=(Ra=class{static get(e){return e.getContribution(Sh.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new pt,this._modelVersionId=-1,this._inSnippet=Sh.InSnippetMode.bindTo(n),this._hasNextTabstop=Sh.HasNextTabstop.bindTo(n),this._hasPrevTabstop=Sh.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"?sE:{...sE,...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?(wn(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new zv(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()||!Jt.equals(this._editor.getPosition(),g))return;const{activeChoice:p}=this._session;if(!p||p.choice.options.length===0)return;const w=f.getValueInRange(p.range),y=!!p.choice.options.find(k=>k.value===w),x=[];for(let k=0;k<p.choice.options.length;k++){const D=p.choice.options[k];x.push({kind:13,label:D.value,insertText:D.value,sortText:"a".repeat(k+1),range:p.range,filterText:y?`${w}_${D.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:C("next","Go to next placeholder...")}})}return{suggestions:x}}},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(()=>{Rj(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()}},Sh=Ra,Ra.ID="snippetController2",Ra.InSnippetMode=new fn("inSnippetMode",!1,C("inSnippetMode","Whether the editor in current in snippet mode")),Ra.HasNextTabstop=new fn("hasNextTabstop",!1,C("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Ra.HasPrevTabstop=new fn("hasPrevTabstop",!1,C("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Ra);ro=Sh=Hj([um(1,Wu),um(2,ei),um(3,yn),um(4,Es)],ro);Yi(ro.ID,ro,4);const Jy=yo.bindToContribution(ro.get);ni(new Jy({id:"jumpToNextSnippetPlaceholder",precondition:De.and(ro.InSnippetMode,ro.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:W.textInputFocus,primary:2}}));ni(new Jy({id:"jumpToPrevSnippetPlaceholder",precondition:De.and(ro.InSnippetMode,ro.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:W.textInputFocus,primary:1026}}));ni(new Jy({id:"leaveSnippet",precondition:ro.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:W.textInputFocus,primary:9,secondary:[1033]}}));ni(new Jy({id:"acceptSnippet",precondition:ro.InSnippetMode,handler:o=>o.finish()}));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},Zw=function(o,e){return function(t,i){e(t,i,o)}};let JC=class extends mt{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(QC,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=$o(this,!1),this._forceUpdateExplicitlySignal=c0(this),this._selectedInlineCompletionId=$o(this,void 0),this._primaryPosition=In(this,y=>this._positions.read(y)[0]??new Jt(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([il.Redo,il.Undo,il.AcceptWord]),this._fetchInlineCompletionsPromise=yT({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:pl.Automatic}),handleChange:(y,x)=>(y.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(y.change))?x.preserveCurrentCompletion=!0:y.didChange(this._forceUpdateExplicitlySignal)&&(x.inlineCompletionTriggerKind=pl.Explicit),!0)},(y,x)=>{if(this._forceUpdateExplicitlySignal.read(y),!(this._enabled.read(y)&&this.selectedSuggestItem.read(y)||this._isActive.read(y))){this._source.cancelUpdate();return}this._textModelVersionId.read(y);const D=this._source.suggestWidgetInlineCompletions.get(),P=this.selectedSuggestItem.read(y);if(D&&!P){const ie=this._source.inlineCompletions.get();Hu(be=>{(!ie||D.request.versionId>ie.request.versionId)&&this._source.inlineCompletions.set(D.clone(),be),this._source.clearSuggestWidgetInlineCompletions(be)})}const A=this._primaryPosition.read(y),q={triggerKind:x.inlineCompletionTriggerKind,selectedSuggestionInfo:P==null?void 0:P.toSelectedSuggestionInfo()},z=this.selectedInlineCompletion.get(),oe=x.preserveCurrentCompletion||z!=null&&z.forwardStable?z:void 0;return this._source.fetch(A,q,oe)}),this._filteredInlineCompletionItems=ll({owner:this,equalsFn:IS()},y=>{const x=this._source.inlineCompletions.read(y);if(!x)return[];const k=this._primaryPosition.read(y);return x.inlineCompletions.filter(P=>P.isVisible(this.textModel,k,y))}),this.selectedInlineCompletionIndex=In(this,y=>{const x=this._selectedInlineCompletionId.read(y),k=this._filteredInlineCompletionItems.read(y),D=this._selectedInlineCompletionId===void 0?-1:k.findIndex(P=>P.semanticId===x);return D===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):D}),this.selectedInlineCompletion=In(this,y=>{const x=this._filteredInlineCompletionItems.read(y),k=this.selectedInlineCompletionIndex.read(y);return x[k]}),this.activeCommands=ll({owner:this,equalsFn:IS()},y=>{var x;return((x=this.selectedInlineCompletion.read(y))==null?void 0:x.inlineCompletion.source.inlineCompletions.commands)??[]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,y=>y==null?void 0:y.request.context.triggerKind),this.inlineCompletionsCount=In(this,y=>{if(this.lastTriggerKind.read(y)===pl.Explicit)return this._filteredInlineCompletionItems.read(y).length}),this.state=ll({owner:this,equalsFn:(y,x)=>!y||!x?y===x:BI(y.ghostTexts,x.ghostTexts)&&y.inlineCompletion===x.inlineCompletion&&y.suggestItem===x.suggestItem},y=>{const x=this.textModel,k=this.selectedSuggestItem.read(y);if(k){const D=Ed(k.toSingleTextEdit(),x),P=this._computeAugmentation(D,y);if(!this._suggestPreviewEnabled.read(y)&&!P)return;const q=(P==null?void 0:P.edit)??D,z=P?P.edit.text.length-D.text.length:0,oe=this._suggestPreviewMode.read(y),ie=this._positions.read(y),be=[q,...Xw(this.textModel,ie,q)],ye=be.map((Oe,rt)=>UI(Oe,x,oe,ie[rt],z)).filter(Im),qe=ye[0]??new Rp(q.range.endLineNumber,[]);return{edits:be,primaryGhostText:qe,ghostTexts:ye,inlineCompletion:P==null?void 0:P.completion,suggestItem:k}}else{if(!this._isActive.read(y))return;const D=this.selectedInlineCompletion.read(y);if(!D)return;const P=D.toSingleTextEdit(y),A=this._inlineSuggestMode.read(y),q=this._positions.read(y),z=[P,...Xw(this.textModel,q,P)],oe=z.map((ie,be)=>UI(ie,x,A,q[be],0)).filter(Im);return oe[0]?{edits:z,primaryGhostText:oe[0],ghostTexts:oe,inlineCompletion:D,suggestItem:void 0}:void 0}}),this.ghostTexts=ll({owner:this,equalsFn:BI},y=>{const x=this.state.read(y);if(x)return x.ghostTexts}),this.primaryGhostText=ll({owner:this,equalsFn:zR},y=>{const x=this.state.read(y);if(x)return x==null?void 0:x.primaryGhostText}),this._register(wT(this._fetchInlineCompletionsPromise));let w;this._register(Kn(y=>{var D,P;const x=this.state.read(y),k=x==null?void 0:x.inlineCompletion;if((k==null?void 0:k.semanticId)!==(w==null?void 0:w.semanticId)&&(w=k,k)){const A=k.inlineCompletion,q=A.source;(P=(D=q.provider).handleItemDidShow)==null||P.call(D,q.inlineCompletions,A.sourceInlineCompletion,A.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?il.Undo:e!=null&&e.isRedoing?il.Redo:this.isAcceptingPartially?il.AcceptWord:il.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){sv(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){sv(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(Im);return k2(s,a=>{let d=a.toSingleTextEdit(t);return d=Ed(d,i,X.fromPositions(d.range.getStartPosition(),e.range.getEndPosition())),UR(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 yf;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",[Qn.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=ro.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=oE(s).map(a=>bi.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>Qn.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,rs),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 yf;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 Jt(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(),w=p[0];r.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const y=X.fromPositions(w,d),x=e.getModel().getValueInRange(y)+g,k=new Sl(y,x),D=[k,...Xw(this.textModel,p,k)],P=oE(D).map(A=>bi.fromPositions(A));e.executeEdits("inlineSuggestion.accept",D.map(A=>Qn.replace(A.range,A.text))),e.setSelections(P,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const y=X.fromPositions(r.range.getStartPosition(),nv.ofText(g).addToPosition(d)),x=e.getModel().getValueInRange(y,1);r.source.provider.handlePartialAccept(r.source.inlineCompletions,r.sourceInlineCompletion,x.length,{kind:i})}}finally{r.source.removeRef()}}handleSuggestAccepted(e){var s,r;const t=Ed(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})}};JC=Wj([Zw(9,Bi),Zw(10,Is),Zw(11,Es)],JC);var il;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(il||(il={}));function Xw(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(X.fromPositions(i,r)),d=zI(i,s);if(d.lineNumber<1)return Rn(new yf(`positionWithinTextEdit line number should be bigger than 0.
36
+ Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const u=Bj(t.text,d);return n.map(f=>{const g=uj(zI(f,s),r),p=o.getValueInRange(X.fromPositions(f,g)),w=m_(a,p),y=X.fromPositions(f,f.delta(0,w));return new Sl(y,u)})}function Bj(o,e){let t="";const i=I2(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 oE(o){const e=L2.createSortPermutation(o,p_(s=>s.range,X.compareRangesUsingStarts)),i=new hT(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var zj=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},rE=function(o,e){return function(t,i){e(t,i,o)}},Pg;class dk{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 aE extends dk{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class Vj extends dk{constructor(){super("recentlyUsed"),this._cache=new d_(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:d0.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class jj extends dk{constructor(){super("recentlyUsedByPrefix"),this._trie=E2.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:d0.fromString(i.type),this._trie.set(t,i)}}}var wc;let e1=(wc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new pt,this._persistSoon=new bs(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===e0.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=Pg._strategyCtors.get(i)||aE;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,d=this._storageService.get(`${Pg._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(`${Pg._storagePrefix}/${this._strategy.name}`,i,t,1)}}},Pg=wc,wc._strategyCtors=new Map([["recentlyUsedByPrefix",jj],["recentlyUsed",Vj],["first",aE]]),wc._storagePrefix="suggest/memories",wc);e1=Pg=zj([rE(0,Wc),rE(1,Un)],e1);const ew=Pl("ISuggestMemories");Ml(ew,e1,1);var $j=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},Uj=function(o,e){return function(t,i){e(t,i,o)}},t1,Zd;let Vv=(Zd=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=t1.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)}},t1=Zd,Zd.AtEnd=new fn("atEndOfWord",!1),Zd);Vv=t1=$j([Uj(1,yn)],Vv);var qj=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},Gj=function(o,e){return function(t,i){e(t,i,o)}},Mg,Xd;let Of=(Xd=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=Mg.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(Mg._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=Mg._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},Mg=Xd,Xd.OtherSuggestions=new fn("hasOtherSuggestions",!1),Xd);Of=Mg=qj([Gj(1,yn)],Of);class Kj{constructor(e,t,i,n){this._disposables=new pt,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||!jo(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new iv;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 tr=class tr{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>tr._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>tr._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>=tr._maxRounds){e();break}if(!n){e();break}const d=i.bracketPairs.findNextBracket(n);if(!d){e();break}if(Date.now()-a>tr._maxDuration){setTimeout(()=>tr._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 ST,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>=tr._maxRounds&&s.size===0){e();break}if(!n){e();break}const u=i.bracketPairs.findPrevBracket(n);if(!u){e();break}if(Date.now()-d>tr._maxDuration){setTimeout(()=>tr._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 w=s.get(g);if(w){const y=w.shift();w.size===0&&s.delete(g);const x=X.fromPositions(u.range.getEndPosition(),y.getStartPosition()),k=X.fromPositions(u.range.getStartPosition(),y.getEndPosition());r.push({range:x}),r.push({range:k}),tr._addBracketLeading(i,k,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:X.fromPositions(new Jt(n,s),t.getEndPosition())}),i.push({range:X.fromPositions(new Jt(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:X.fromPositions(new Jt(r,a),t.getEndPosition())}),i.push({range:X.fromPositions(new Jt(r,1),t.getEndPosition())}))}}};tr._maxDuration=30,tr._maxRounds=2;let jv=tr;const La=class La{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return La.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return La.None;const[s]=await new jv().provideSelectionRanges(i,[n]);if(s.length===0)return La.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return La.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends La{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(D2(g))return 2<<20;const p=ov(g,X.fromPositions(d),X.compareRangesUsingStarts),w=p>=0?g[p]:g[Math.max(0,~p-1)];let y=s.length;for(const x of s){if(!X.containsRange(x.range,w))break;y-=1}return y}}}};La.None=new class extends La{distance(){return 0}};let $v=La,lE=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Yl{constructor(e,t,i,n,s,r,a=CT.default,d=void 0){this.clipboardText=d,this._snippetCompareFn=Yl._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=Yl._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=Yl._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?xT:T2;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,w=p+i-(f.position.column-this._column);if(n.length!==w&&(n=w===0?"":t.slice(-w),s=n.toLowerCase()),f.word=n,w===0)f.score=_p.Default;else{let y=0;for(;y<p;){const x=n.charCodeAt(y);if(x===32||x===9)y+=1;else break}if(y>=w)f.score=_p.Default;else if(typeof f.completion.filterText=="string"){const x=d(n,s,y,f.completion.filterText,f.filterTextLow,0,this._fuzzyScoreOptions);if(!x)continue;P2(f.completion.filterText,f.textLabel)===0?f.score=x:(f.score=M2(n,s,y,f.textLabel,f.labelLow,0),f.score[0]=x[0])}else{const x=d(n,s,y,f.textLabel,f.labelLow,0,this._fuzzyScoreOptions);if(!x)continue;f.score=x}}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?R2(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 Yl._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 Yl._compareCompletionItems(e,t)}}var Zj=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},jl=function(o,e){return function(t,i){e(t,i,o)}},i1;class Xc{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 Xj(o,e,t){if(!e.getContextKeyValue(To.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(To.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function Yj(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(To.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let Uv=i1=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 pt,this._triggerCharacterListener=new pt,this._triggerQuickSuggest=new a_,this._triggerState=void 0,this._completionDisposables=new pt,this._onDidCancel=new Ui,this._onDidTrigger=new Ui,this._onDidSuggest=new Ui,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new bi(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(){to(this._triggerCharacterListener),to([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(!Yj(this._editor,this._contextKeyService,this._configurationService)||Xc.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="";A2(i.charCodeAt(i.length-1))?O2(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;Rh.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=ro.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!Xc.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(!Rh.isAllOff(n)){if(!Rh.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(Rh.valueFor(n,r)!=="on")return}Xj(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){wn(this._editor.hasModel()),wn(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new Xc(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var p,w,y;if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new Xc(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 Ns;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}=i1.createSuggestFilter(this._editor),u=new Np(r,((p=e.completionOptions)==null?void 0:p.kindFilter)??a,(w=e.completionOptions)==null?void 0:w.providerFilter,(y=e.completionOptions)==null?void 0:y.providerItemsToReuse,d),f=$v.create(this._editorWorkerService,this._editor),g=lk(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),u,n,this._requestToken.token);Promise.all([g,f]).then(async([x,k])=>{var z;if((z=this._requestToken)==null||z.dispose(),!this._editor.hasModel())return;let D=e==null?void 0:e.clipboardText;if(!D&&x.needsClipboard&&(D=await this._clipboardService.readText()),this._triggerState===void 0)return;const P=this._editor.getModel(),A=new Xc(P,this._editor.getPosition(),e),q={...CT.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new Yl(x.items,this._context.column,{leadingLineContent:A.leadingLineContent,characterCountDelta:A.column-this._context.column},k,this._editor.getOption(119),this._editor.getOption(113),q,D),this._completionDisposables.add(x.disposable),this._onNewContext(A),this._reportDurationsTelemetry(x.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const oe of x.items)oe.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${oe.provider._debugDisplayName}`,oe.completion)}).catch(Rn)}_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(Us(e.leadingLineContent)!==Us(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(Xc.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=Xc.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})}}}}};Uv=i1=Zj([jl(1,Rl),jl(2,jf),jl(3,fa),jl(4,Wu),jl(5,yn),jl(6,Un),jl(7,ei),jl(8,N2)],Uv);const Ob=class Ob{constructor(e,t){this._disposables=new pt,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)>Ob._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()}};Ob._maxSelectionLength=51200;let n1=Ob;var Qj=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},Yw=function(o,e){return function(t,i){e(t,i,o)}};let s1=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new pt,this.element=Bt(e,Ut(".suggest-status-bar"));const r=(a=>a instanceof bf?i.createInstance(F2,a,{useComma:!0}):void 0);this._leftActions=new dp(this.element,{actionViewItemProvider:r}),this._rightActions=new dp(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()}};s1=Qj([Yw(2,Bi),Yw(3,Fu),Yw(4,yn)],s1);var Jj=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},e6=function(o,e){return function(t,i){e(t,i,o)}};function uk(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let o1=class{constructor(e,t){this._editor=e,this._onDidClose=new Ui,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new Ui,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new pt,this._renderDisposeable=new pt,this._borderWidth=1,this._size=new An(330,0),this.domNode=Ut(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(qf,{editor:e}),this._body=Ut(".body"),this._scrollbar=new kT(this._body,{alwaysConsumeMouseWheel:!0}),Bt(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=Bt(this._body,Ut(".header")),this._close=Bt(this._header,Ut("span"+Sn.asCSSSelector(Di.close))),this._close.title=C("details.close","Close"),this._type=Bt(this._header,Ut("p.type")),this._docs=Bt(this._body,Ut("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=C("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 Js().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!uk(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,Ir(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else Wa(this._type),this._type.title="",Wo(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 An(e,t);An.equals(i,this._size)||(this._size=i,H2(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}};o1=Jj([e6(1,Bi)],o1);class t6{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new pt,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new $0,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=f_(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new An(220,2*s.lineHeight),a=e.top,d=(function(){const z=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),oe=-s.borderWidth+e.left+e.width,ie=new An(z,n.height-e.top-s.borderHeight-s.verticalPadding),be=ie.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:oe,fit:z-t.width,maxSizeTop:ie,maxSizeBottom:be,minSize:r.with(Math.min(z,r.width))}})(),u=(function(){const z=e.left-s.borderWidth-s.horizontalPadding,oe=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),ie=new An(z,n.height-e.top-s.borderHeight-s.verticalPadding),be=ie.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:oe,fit:z-t.width,maxSizeTop:ie,maxSizeBottom:be,minSize:r.with(Math.min(z,r.width))}})(),f=(function(){const z=e.left,oe=-s.borderWidth+e.top+e.height,ie=new An(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:oe,left:z,fit:ie.height-t.height,maxSizeBottom:ie,maxSizeTop:ie,minSize:r.with(ie.width)}})(),g=[d,u,f],p=g.find(z=>z.fit>=0)??g.sort((z,oe)=>oe.fit-z.fit)[0],w=e.top+e.height-s.borderHeight;let y,x=t.height;const k=Math.max(p.maxSizeTop.height,p.maxSizeBottom.height);x>k&&(x=k);let D;i?x<=p.maxSizeTop.height?(y=!0,D=p.maxSizeTop):(y=!1,D=p.maxSizeBottom):x<=p.maxSizeBottom.height?(y=!1,D=p.maxSizeBottom):(y=!0,D=p.maxSizeTop);let{top:P,left:A}=p;!y&&x>e.height&&(P=w-x);const q=this._editor.getDomNode();if(q){const z=q.getBoundingClientRect();P-=z.top,A-=z.left}this._applyTopLeft({left:A,top:P}),this._resizable.enableSashes(!y,p===d,y,p!==d),this._resizable.minSize=p.minSize,this._resizable.maxSize=D,this._resizable.layout(x,Math.min(D.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var Fa;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(Fa||(Fa={}));const i6=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function hm(o,e,t,i,n){if(Sn.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(Tn.isUri(n))return[];const s=i===Fa.ROOT_FOLDER?["rootfolder-icon"]:i===Fa.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===go.data)r=rv.parseMetaData(t).get(rv.META_DATA_LABEL);else{const a=t.path.match(i6);a?(r=fm(a[2].toLowerCase()),a[1]&&s.push(`${fm(a[1].toLowerCase())}-name-dir-icon`)):r=fm(t.authority.toLowerCase())}if(i===Fa.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===Fa.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=n6(o,e,t);a&&s.push(`${fm(a)}-lang-file-icon`)}}return s}function n6(o,e,t){if(!t)return null;let i=null;if(t.scheme===go.data){const s=rv.parseMetaData(t).get(rv.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==mp?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function fm(o){return o.replace(/[\s]/g,"/")}var s6=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},Qw=function(o,e){return function(t,i){e(t,i,o)}};function qR(o){return`suggest-aria-id:${o}`}const o6=is("suggest-more-info",Di.chevronRight,C("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var na;const r6=new(na=class{extract(e,t){if(e.textLabel.match(na._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(na._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=na._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},na._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*\))/,na._regexStrict=new RegExp(`^${na._regexRelaxed.source}$`,"i"),na);let r1=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new Ui,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new pt,i=e;i.classList.add("show-file-icons");const n=Bt(e,Ut(".icon")),s=Bt(n,Ut("span.colorspan")),r=Bt(e,Ut(".contents")),a=Bt(r,Ut(".main")),d=Bt(a,Ut(".icon-label.codicon")),u=Bt(a,Ut("span.left")),f=Bt(a,Ut("span.right")),g=new $D(u,{supportHighlights:!0,supportIcons:!0});t.add(g);const p=Bt(u,Ut("span.signature-label")),w=Bt(u,Ut("span.qualifier-label")),y=Bt(f,Ut("span.details-label")),x=Bt(f,Ut("span.readMore"+Sn.asCSSSelector(o6)));return x.title=C("readMore","Read More"),{root:i,left:u,right:f,icon:n,colorspan:s,iconLabel:g,iconContainer:d,parametersLabel:p,qualifierLabel:w,detailsLabel:y,readMore:x,disposables:t,configureFont:()=>{const D=this._editor.getOptions(),P=D.get(50),A=P.getMassagedFontFamily(),q=P.fontFeatureSettings,z=D.get(120)||P.fontSize,oe=D.get(121)||P.lineHeight,ie=P.fontWeight,be=P.letterSpacing,ye=`${z}px`,qe=`${oe}px`,Oe=`${be}px`;i.style.fontSize=ye,i.style.fontWeight=ie,i.style.letterSpacing=Oe,a.style.fontFamily=A,a.style.fontFeatureSettings=q,a.style.lineHeight=qe,n.style.height=qe,n.style.width=qe,x.style.height=qe,x.style.width=qe}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=qR(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:Cy(e.score)},r=[];if(n.kind===19&&r6.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=hm(this._modelService,this._languageService,Tn.from({scheme:"fake",path:e.textLabel}),Fa.FILE),d=hm(this._modelService,this._languageService,Tn.from({scheme:"fake",path:n.detail}),Fa.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=[hm(this._modelService,this._languageService,Tn.from({scheme:"fake",path:e.textLabel}),Fa.FOLDER),hm(this._modelService,this._languageService,Tn.from({scheme:"fake",path:n.detail}),Fa.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...Sn.asClassNameArray(d0.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=Jw(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=Jw(n.label.detail||""),i.detailsLabel.textContent=Jw(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?Ir(i.detailsLabel):Wo(i.detailsLabel),uk(e)?(i.right.classList.add("can-expand-details"),Ir(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"),Wo(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};r1=s6([Qw(1,lo),Qw(2,ga),Qw(3,Hr)],r1);function Jw(o){return o.replace(/\r\n|\r|\n/g,"")}var a6=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},gm=function(o,e){return function(t,i){e(t,i,o)}},Ch;qt("editorSuggestWidget.background",LT,C("editorSuggestWidgetBackground","Background color of the suggest widget."));qt("editorSuggestWidget.border",W2,C("editorSuggestWidgetBorder","Border color of the suggest widget."));const l6=qt("editorSuggestWidget.foreground",__,C("editorSuggestWidgetForeground","Foreground color of the suggest widget."));qt("editorSuggestWidget.selectedForeground",IT,C("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));qt("editorSuggestWidget.selectedIconForeground",B2,C("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const c6=qt("editorSuggestWidget.selectedBackground",ET,C("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));qt("editorSuggestWidget.highlightForeground",DT,C("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));qt("editorSuggestWidget.focusHighlightForeground",z2,C("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));qt("editorSuggestWidgetStatus.foreground",Ba(l6,.5),C("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class d6{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Fr}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(An.is(t))return An.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}var Sc;let a1=(Sc=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 a_,this._disposables=new pt,this._onDidSelect=new wL,this._onDidFocus=new wL,this._onDidHide=new Ui,this._onDidShow=new Ui,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new Ui,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new $0,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new u6(this,e),this._persistedSize=new d6(t,e);class r{constructor(w,y,x=!1,k=!1){this.persistedSize=w,this.currentSize=y,this.persistHeight=x,this.persistWidth=k}}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 w,y;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:x,defaultSize:k}=this.getLayoutInfo(),D=Math.round(x/2);let{width:P,height:A}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-A)<=D)&&(A=((w=a.persistedSize)==null?void 0:w.height)??k.height),(!a.persistWidth||Math.abs(a.currentSize.width-P)<=D)&&(P=((y=a.persistedSize)==null?void 0:y.width)??k.width),this._persistedSize.store(new An(P,A))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=Bt(this.element.domNode,Ut(".message")),this._listElement=Bt(this.element.domNode,Ut(".tree"));const d=this._disposables.add(s.createInstance(o1,this.editor));d.onDidClose(this.toggleDetails,this,this._disposables),this._details=new t6(d,this.editor);const u=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);u();const f=s.createInstance(r1,this.editor);this._disposables.add(f),this._disposables.add(f.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Yx("SuggestWidget",this._listElement,{getHeight:p=>this.getLayoutInfo().itemHeight,getTemplateId:p=>"suggestion"},[f],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>C("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:p=>{let w=p.textLabel;if(typeof p.completion.label!="string"){const{detail:D,description:P}=p.completion.label;D&&P?w=C("label.full","{0} {1}, {2}",w,D,P):D?w=C("label.detail","{0} {1}",w,D):P&&(w=C("label.desc","{0}, {1}",w,P))}if(!p.isResolved||!this._isDetailsVisible())return w;const{documentation:y,detail:x}=p.completion,k=l0("{0}{1}",x||"",y?typeof y=="string"?y:y.value:"");return C("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",w,k)}}}),this._list.style(TT({listInactiveFocusBackground:c6,listInactiveFocusOutline:mu})),this._status=s.createInstance(s1,this.element.domNode,hc);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=Li.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Li.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Li.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Li.HasFocusedSuggestion.bindTo(i),this._disposables.add(wl(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=up(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=Rs(async s=>{const r=cp(()=>{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:qR(i)}))}).catch(Rn)),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:Wo(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=Ch.LOADING_MESSAGE,Wo(this._listElement,this._status.element),Ir(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,pf(Ch.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=Ch.NO_SUGGESTIONS_MESSAGE,Wo(this._listElement,this._status.element),Ir(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,pf(Ch.NO_SUGGESTIONS_MESSAGE);break;case 3:Wo(this._messageElement),Ir(this._listElement,this._status.element),this._show();break;case 4:Wo(this._messageElement),Ir(this._listElement,this._status.element),this._show();break;case 5:Wo(this._messageElement),Ir(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=cp(()=>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=SL(yd(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")):(uk(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=SL(yd(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=f_(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 An(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=_o(this.editor.getDomNode()),w=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),y=p.top+w.top+w.height,x=Math.min(t.height-y-i.verticalPadding,f),k=p.top+w.top-i.verticalPadding,D=Math.min(k,f);let P=Math.min(Math.max(D,x)+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>x||this._forceRenderingAbove&&k>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),P=D):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),P=x),this.element.preferredSize=new An(u,i.defaultSize.height),this.element.maxSize=new An(d,P),this.element.minSize=new An(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=V2(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 An(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}},Ch=Sc,Sc.LOADING_MESSAGE=C("suggestWidget.loading","Loading..."),Sc.NO_SUGGESTIONS_MESSAGE=C("suggestWidget.noSuggestions","No suggestions."),Sc);a1=Ch=a6([gm(1,Wc),gm(2,yn),gm(3,Hr),gm(4,Bi)],a1);class u6{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 An(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 h6=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)}},l1;class f6{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=rn.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(X.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 Yd;let Tr=(Yd=class{static get(e){return e.getContribution(l1.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 pt,this._selectors=new g6(g=>g.priority),this._onWillInsertSuggestItem=new Ui,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(Uv,this.editor),this._selectors.register({priority:0,select:(g,p,w)=>this._memoryService.select(g,p,w)});const d=Li.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 Sw(yd(e.getDomNode()),()=>{const g=this._instantiationService.createInstance(a1,this.editor);this._toDispose.add(g),this._toDispose.add(g.onDidSelect(k=>this._insertSuggestion(k,0),this));const p=new Kj(this.editor,g,this.model,k=>this._insertSuggestion(k,2));this._toDispose.add(p);const w=Li.MakesTextEdit.bindTo(this._contextKeyService),y=Li.HasInsertAndReplaceRange.bindTo(this._contextKeyService),x=Li.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(jn(()=>{w.reset(),y.reset(),x.reset()})),this._toDispose.add(g.onDidFocus(({item:k})=>{const D=this.editor.getPosition(),P=k.editStart.column,A=D.column;let q=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!k.completion.additionalTextEdits&&!(k.completion.insertTextRules&4)&&A-P===k.completion.insertText.length&&(q=this.editor.getModel().getValueInRange({startLineNumber:D.lineNumber,startColumn:P,endLineNumber:D.lineNumber,endColumn:A})!==k.completion.insertText),w.set(q),y.set(!Jt.equals(k.editInsertEnd,k.editReplaceEnd)),x.set(!!k.provider.resolveCompletionItem||!!k.completion.documentation||k.completion.detail!==k.completion.label)})),this._toDispose.add(g.onDetailsKeyDown(k=>{if(k.toKeyCodeChord().equals(new CL(!0,!1,!1,!1,33))||ja&&k.toKeyCodeChord().equals(new CL(!1,!1,!1,!0,33))){k.stopPropagation();return}k.toKeyCodeChord().isModifierKey()||this.editor.focus()})),g})),this._overtypingCapturer=this._toDispose.add(new Sw(yd(e.getDomNode()),()=>this._toDispose.add(new n1(this.editor,this.model)))),this._alternatives=this._toDispose.add(new Sw(yd(e.getDomNode()),()=>this._toDispose.add(new Of(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(Vv,e)),this._toDispose.add(this.model.onDidTrigger(g=>{this.widget.value.showTriggered(g.auto,g.shy?250:50),this._lineSuffix.value=new f6(this.editor.getModel(),g.position)})),this._toDispose.add(this.model.onDidSuggest(g=>{if(g.triggerOptions.shy)return;let p=-1;for(const y of this._selectors.itemsOrderedByPriorityDesc)if(p=y.select(this.editor.getModel(),this.editor.getPosition(),g.completionModel.items),p!==-1)break;if(p===-1&&(p=0),this.model.state===0)return;let w=!1;if(g.triggerOptions.auto){const y=this.editor.getOption(119);y.selectionMode==="never"||y.selectionMode==="always"?w=y.selectionMode==="never":y.selectionMode==="whenTriggerCharacter"?w=g.triggerOptions.triggerKind!==1:y.selectionMode==="whenQuickSuggestion"&&(w=g.triggerOptions.triggerKind===1&&!g.triggerOptions.refilter)}this.widget.value.showSuggestions(g.completionModel,p,g.isFrozen,g.triggerOptions.auto,w)})),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=Li.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=ro.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 Ns;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 y=_f.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(x=>{let k=X.lift(x.range);if(k.startLineNumber===r.position.lineNumber&&k.startColumn>r.position.column){const D=this.editor.getPosition().column-r.position.column,P=D,A=X.spansMultipleLines(k)?0:D;k=new X(k.startLineNumber,k.startColumn+P,k.endLineNumber,k.endColumn+A)}return Qn.replaceMove(k,x.text)})),y.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!f){const y=new Po;let x;const k=n.onDidChangeContent(q=>{if(q.isFlush){d.cancel(),k.dispose();return}for(const z of q.changes){const oe=X.getEndPosition(z.range);(!x||Jt.isBefore(oe,x))&&(x=oe)}}),D=t;t|=2;let P=!1;const A=this.editor.onWillType(()=>{A.dispose(),P=!0,D&2||this.editor.pushUndoStop()});a.push(r.resolve(d.token).then(()=>{if(!r.completion.additionalTextEdits||d.token.isCancellationRequested)return;if(x&&r.completion.additionalTextEdits.some(z=>Jt.isBefore(x,X.getStartPosition(z.range))))return!1;P&&this.editor.pushUndoStop();const q=_f.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(z=>Qn.replaceMove(X.lift(z.range),z.text))),q.restoreRelativeVerticalPositionOfCursor(this.editor),(P||!(D&2))&&this.editor.pushUndoStop(),!0}).then(q=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",y.elapsed(),q),p=q===!0?1:q===!1?0:-2}).finally(()=>{k.dispose(),A.dispose()}))}let{insertText:w}=r.completion;if(r.completion.insertTextRules&4||(w=ku.escape(w)),this.model.cancel(),i.insert(w,{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===qv.id)this.model.trigger({auto:!0,retrigger:!0});else{const y=new Po;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(x=>{r.completion.extensionId?rs(x):Rn(x)}).finally(()=>{g=y.elapsed()}))}t&4&&this._alternatives.value.set(e,y=>{for(d.cancel();n.canUndo();){s!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(y,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 w=0;w<Math.min(30,a.length);w++){const y=a[w].textLabel;d.has(y)?d.get(y).push(w):d.set(y,[w])}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:rT($a(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:j2(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:g})}getOverwriteInfo(e,t){wn(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(jo(e.completion.additionalTextEdits)){const t=C("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);Ar(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};vs.once(this.model.onDidTrigger)(s=>{const r=[];vs.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{to(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(to(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)}},l1=Yd,Yd.ID="editor.contrib.suggestController",Yd);Tr=l1=h6([dh(1,ew),dh(2,Is),dh(3,yn),dh(4,Bi),dh(5,Wu),dh(6,fa)],Tr);class g6{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 Fb=class Fb extends Xe{constructor(){super({id:Fb.id,label:C("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:De.and(W.writable,W.hasCompletionItemProvider,Li.Visible.toNegated()),kbOpts:{kbExpr:W.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=Tr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};Fb.id="editor.action.triggerSuggest";let qv=Fb;Yi(Tr.ID,Tr,2);me(qv);const Go=190,uo=yo.bindToContribution(Tr.get);ni(new uo({id:"acceptSelectedSuggestion",precondition:De.and(Li.Visible,Li.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:De.and(Li.Visible,W.textInputFocus),weight:Go},{primary:3,kbExpr:De.and(Li.Visible,W.textInputFocus,Li.AcceptSuggestionsOnEnter,Li.MakesTextEdit),weight:Go}],menuOpts:[{menuId:hc,title:C("accept.insert","Insert"),group:"left",order:1,when:Li.HasInsertAndReplaceRange.toNegated()},{menuId:hc,title:C("accept.insert","Insert"),group:"left",order:1,when:De.and(Li.HasInsertAndReplaceRange,Li.InsertMode.isEqualTo("insert"))},{menuId:hc,title:C("accept.replace","Replace"),group:"left",order:1,when:De.and(Li.HasInsertAndReplaceRange,Li.InsertMode.isEqualTo("replace"))}]}));ni(new uo({id:"acceptAlternativeSelectedSuggestion",precondition:De.and(Li.Visible,W.textInputFocus,Li.HasFocusedSuggestion),kbOpts:{weight:Go,kbExpr:W.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:hc,group:"left",order:2,when:De.and(Li.HasInsertAndReplaceRange,Li.InsertMode.isEqualTo("insert")),title:C("accept.replace","Replace")},{menuId:hc,group:"left",order:2,when:De.and(Li.HasInsertAndReplaceRange,Li.InsertMode.isEqualTo("replace")),title:C("accept.insert","Insert")}]}));Hn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");ni(new uo({id:"hideSuggestWidget",precondition:Li.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:Go,kbExpr:W.textInputFocus,primary:9,secondary:[1033]}}));ni(new uo({id:"selectNextSuggestion",precondition:De.and(Li.Visible,De.or(Li.MultipleSuggestions,Li.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:Go,kbExpr:W.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));ni(new uo({id:"selectNextPageSuggestion",precondition:De.and(Li.Visible,De.or(Li.MultipleSuggestions,Li.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:Go,kbExpr:W.textInputFocus,primary:12,secondary:[2060]}}));ni(new uo({id:"selectLastSuggestion",precondition:De.and(Li.Visible,De.or(Li.MultipleSuggestions,Li.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));ni(new uo({id:"selectPrevSuggestion",precondition:De.and(Li.Visible,De.or(Li.MultipleSuggestions,Li.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:Go,kbExpr:W.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));ni(new uo({id:"selectPrevPageSuggestion",precondition:De.and(Li.Visible,De.or(Li.MultipleSuggestions,Li.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:Go,kbExpr:W.textInputFocus,primary:11,secondary:[2059]}}));ni(new uo({id:"selectFirstSuggestion",precondition:De.and(Li.Visible,De.or(Li.MultipleSuggestions,Li.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));ni(new uo({id:"focusSuggestion",precondition:De.and(Li.Visible,Li.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:Go,kbExpr:W.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));ni(new uo({id:"focusAndAcceptSuggestion",precondition:De.and(Li.Visible,Li.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));ni(new uo({id:"toggleSuggestionDetails",precondition:De.and(Li.Visible,Li.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:Go,kbExpr:W.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:hc,group:"right",order:1,when:De.and(Li.DetailsVisible,Li.CanResolve),title:C("detail.more","Show Less")},{menuId:hc,group:"right",order:1,when:De.and(Li.DetailsVisible.toNegated(),Li.CanResolve),title:C("detail.less","Show More")}]}));ni(new uo({id:"toggleExplainMode",precondition:Li.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));ni(new uo({id:"toggleSuggestionFocus",precondition:Li.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:Go,kbExpr:W.textInputFocus,primary:2570,mac:{primary:778}}}));ni(new uo({id:"insertBestCompletion",precondition:De.and(W.textInputFocus,De.equals("config.editor.tabCompletion","on"),Vv.AtEnd,Li.Visible.toNegated(),Of.OtherSuggestions.toNegated(),ro.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(aT(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:Go,primary:2}}));ni(new uo({id:"insertNextSuggestion",precondition:De.and(W.textInputFocus,De.equals("config.editor.tabCompletion","on"),Of.OtherSuggestions,Li.Visible.toNegated(),ro.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:Go,kbExpr:W.textInputFocus,primary:2}}));ni(new uo({id:"insertPrevSuggestion",precondition:De.and(W.textInputFocus,De.equals("config.editor.tabCompletion","on"),Of.OtherSuggestions,Li.Visible.toNegated(),ro.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:Go,kbExpr:W.textInputFocus,primary:1026}}));me(class extends Xe{constructor(){super({id:"editor.action.resetSuggestSize",label:C("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(o,e){var t;(t=Tr.get(e))==null||t.resetWidgetSize()}});class p6 extends mt{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 Ui),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=Tr.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?Ed(g,f):void 0;if(!p)return-1;const w=Jt.lift(d),y=u.map((k,D)=>{const P=Qg.fromSuggestion(n,f,w,k,this.isShiftKeyPressed),A=Ed(P.toSingleTextEdit(),f),q=UR(p,A);return{index:D,valid:q,prefixLength:A.text.length,suggestItem:k}}).filter(k=>k&&k.valid&&k.prefixLength>0),x=$2(y,p_(k=>k.prefixLength,Sy));return x?x.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(vs.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=Qg.fromSuggestion(n,u,d,a.item,this.isShiftKeyPressed);this.onWillAccept(f)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!_6(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=Tr.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 Qg.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=Tr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=Tr.get(this.editor);e==null||e.forceRenderingAbove()}}class Qg{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const u=new ku().parse(r);u.children.length<100&&zv.adjustWhitespace(t,i,!0,u),r=u.toString(),a=!0}const d=e.getOverwriteInfo(n,s);return new Qg(X.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 U2(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new Sl(this.range,this.insertText)}}function _6(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var m6=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},el=function(o,e){return function(t,i){e(t,i,o)}},c1,Qd;let lr=(Qd=class extends mt{static get(e){return e.getContribution(c1.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=Pa(this.editor),this._positions=In(this,p=>{var w;return((w=this._editorObs.selections.read(p))==null?void 0:w.map(y=>y.getEndPosition()))??[new Jt(1,1)]}),this._suggestWidgetAdaptor=this._register(new p6(this.editor,()=>{var p,w;return this._editorObs.forceUpdate(),(w=(p=this.model.get())==null?void 0:p.selectedInlineCompletion.get())==null?void 0:w.toSingleTextEdit(void 0)},p=>this._editorObs.forceUpdate(w=>{var y;(y=this.model.get())==null||y.handleSuggestAccepted(p)}))),this._suggestWidgetSelectedItem=ko(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(w=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=ko(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=ko(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=ko(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=In(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=Pc(this,p=>{if(this._editorObs.isReadonly.read(p))return;const w=this._editorObs.model.read(p);return w?this._instantiationService.createInstance(JC,w,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,ko(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),ko(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),ko(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=In(this,p=>{const w=this.model.read(p);return(w==null?void 0:w.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=v6(this._ghostTexts,this._store),this._ghostTextWidgets=q2(this,this._stablizedGhostTexts,(p,w)=>w.add(this._instantiationService.createInstance(YC,this.editor,{ghostText:p,minReservedLineCount:dl(0),targetTextModel:this.model.map(y=>y==null?void 0:y.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=c0(this),this._fontFamily=ko(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new To(this._contextKeyService,this.model)),this._register(xL(this._editorObs.onDidType,(p,w)=>{var y;this._enabled.get()&&((y=this.model.get())==null||y.trigger())})),this._register(this._commandService.onDidExecuteCommand(p=>{new Set([Em.Tab.id,Em.DeleteLeft.id,Em.DeleteRight.id,eR,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(y=>{var x;(x=this.model.get())==null||x.trigger(y)})})),this._register(xL(this._editorObs.selections,(p,w)=>{var y;w.some(x=>x.reason===3||x.source==="api")&&((y=this.model.get())==null||y.stop())})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||Tf.dropDownVisible||Hu(p=>{var w;(w=this.model.get())==null||w.stop(p)})})),this._register(Kn(p=>{var y;const w=(y=this.model.read(p))==null?void 0:y.state.read(p);w!=null&&w.suggestItem?w.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(jn(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const g=yy(this,(p,w)=>{var k;const y=this.model.read(p),x=y==null?void 0:y.state.read(p);return this._suggestWidgetSelectedItem.get()?w:(k=x==null?void 0:x.inlineCompletion)==null?void 0:k.semanticId});this._register(G2(In(p=>(this._playAccessibilitySignal.read(p),g.read(p),{})),async(p,w,y)=>{const x=this.model.get(),k=x==null?void 0:x.state.get();if(!k||!x)return;const D=x.textModel.getLineContent(k.primaryGhostText.lineNumber);await Iy(50,ES(y)),await K2(this._suggestWidgetSelectedItem,kg,()=>!1,ES(y)),await this._accessibilitySignalService.playSignal(cT.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(k.primaryGhostText.renderForScreenReader(D))})),this._register(new _C(this.editor,this.model,this._instantiationService)),this._register(lj(In(p=>{const w=this._fontFamily.read(p);return w===""||w==="default"?"":`
43
+ .monaco-editor .ghost-text-decoration,
44
+ .monaco-editor .ghost-text-decoration-preview,
45
+ .monaco-editor .ghost-text {
46
+ font-family: ${w};
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=C("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),Ar(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 Jt(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},c1=Qd,Qd.ID="editor.contrib.inlineCompletionsController",Qd);lr=c1=m6([el(1,Bi),el(2,yn),el(3,Un),el(4,Is),el(5,cr),el(6,ei),el(7,lT),el(8,hs),el(9,wy)],lr);function v6(o,e){const t=$o("result",[]),i=[];return e.add(Kn(n=>{const s=o.read(n);Hu(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=$o("item",s[a]));t.set([...i],r)}i.forEach((a,d)=>a.set(s[d],r))})})),t}const Hb=class Hb extends Xe{constructor(){super({id:Hb.ID,label:C("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:De.and(W.writable,To.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=lr.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};Hb.ID=iR;let d1=Hb;const Wb=class Wb extends Xe{constructor(){super({id:Wb.ID,label:C("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:De.and(W.writable,To.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=lr.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Wb.ID=tR;let u1=Wb;class b6 extends Xe{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:C("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:W.writable})}async run(e,t){const i=lr.get(t);await PT(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 y6 extends Xe{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:C("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:De.and(W.writable,To.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:De.and(W.writable,To.inlineSuggestionVisible)},menuOpts:[{menuId:Wt.InlineSuggestionToolbar,title:C("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=lr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class w6 extends Xe{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:C("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:De.and(W.writable,To.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:Wt.InlineSuggestionToolbar,title:C("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=lr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class S6 extends Xe{constructor(){super({id:eR,label:C("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:To.inlineSuggestionVisible,menuOpts:[{menuId:Wt.InlineSuggestionToolbar,title:C("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:De.and(To.inlineSuggestionVisible,W.tabMovesFocus.toNegated(),To.inlineSuggestionHasIndentationLessThanTabSize,Li.Visible.toNegated(),W.hoverFocused.toNegated())}})}async run(e,t){var n;const i=lr.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const Bb=class Bb extends Xe{constructor(){super({id:Bb.ID,label:C("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:To.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=lr.get(t);Hu(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};Bb.ID="editor.action.inlineSuggest.hide";let h1=Bb;const zb=class zb extends bo{constructor(){super({id:zb.ID,title:C("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:Wt.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:De.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(Un),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};zb.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let f1=zb;var C6=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},yg=function(o,e){return function(t,i){e(t,i,o)}};class x6{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 g1=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=lr.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 Hm(1e3,this,X.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 Hm(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new Hm(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=lr.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new x6(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new pt,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(Tf,this._editor,!1,dl(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 Du([d])}renderScreenReaderText(e,t){const i=new pt,n=Ut,s=n("div.hover-row.markdown-hover"),r=Bt(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new qf({editor:this._editor},this._languageService,this._openerService)),d=u=>{i.add(a.onDidRenderAsync(()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}));const f=C("inlineSuggestionFollows","Suggestion:"),g=i.add(a.render(new Js().appendText(f).appendCodeblock("text",u)));r.replaceChildren(g.element)};return i.add(Kn(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 ev(r)})),e.fragment.appendChild(s),i}};g1=C6([yg(1,ga),yg(2,ha),yg(3,wy),yg(4,Bi),yg(5,fa)],g1);class k6{}const tw=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}};Yi(lr.ID,lr,3);me(b6);me(d1);me(u1);me(y6);me(w6);me(S6);me(h1);Dn(f1);ju.register(g1);tw.register(new k6);var L6=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},eS=function(o,e){return function(t,i){e(t,i,o)}},Rg,Cc;let Ap=(Cc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new pt,this.toUnhookForKeyboard=new pt,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new Gy(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=>{Rn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(Rg.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 MT(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Rs(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){Rn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?X.lift(n[0].originSelectionRange):new X(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:d}of n)d&&(a=X.plusRange(a,d));this.addDecoration(a,new Js().appendText(C("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 Js().appendCodeblock(p||"",g):void 0),d.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=Rg.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+Rg.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new X(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 a0)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?D_(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 P_({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(yn);return mo.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},Rg=Cc,Cc.ID="editor.contrib.gotodefinitionatposition",Cc.MAX_SOURCE_PREVIEW_LINES=8,Cc);Ap=Rg=L6([eS(1,pa),eS(2,ga),eS(3,ei)],Ap);Yi(Ap.ID,Ap,2);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},Gv=function(o,e){return function(t,i){e(t,i,o)}};class cE{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let p1=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new Ui,this.onDidChange=this._onDidChange.event,this._dispoables=new pt,this._markers=[],this._nextIdx=-1,Tn.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=kL(a.resource.toString(),d.resource.toString());return u===0&&(n==="position"?u=X.compareRangesUsingStarts(a,d)||io.compare(a.severity,d.severity):u=io.compare(a.severity,d.severity)||X.compareRangesUsingStarts(a,d)),u},r=()=>{this._markers=this._markerService.read({resource:Tn.isUri(e)?e:void 0,severities:io.Error|io.Warning|io.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 cE(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=ov(this._markers,{resource:e.uri},(r,a)=>kL(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=X.lift(this._markers[r]);if(a.isEmpty()){const d=e.getWordAtPosition(a.getStartPosition());d&&(a=new X(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(X.containsPosition(this._markers[i],t))return new cE(this._markers[i],i+1,this._markers.length)}}};p1=GR([Gv(1,Jx),Gv(2,Un)],p1);const KR=Pl("IMarkerNavigationService");let _1=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new ST}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new p1(e,this._markerService,this._configService)}};_1=GR([Gv(0,Jx),Gv(1,Un)],_1);Ml(KR,_1,1);var m1;(function(o){function e(t){switch(t){case K_.Ignore:return"severity-ignore "+Sn.asClassName(Di.info);case K_.Info:return Sn.asClassName(Di.info);case K_.Warning:return Sn.asClassName(Di.warning);case K_.Error:return Sn.asClassName(Di.error);default:return""}}o.className=e})(m1||(m1={}));var I6=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)}},v1;class E6{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 pt,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(wl(this._relatedBlock,"click",a=>{a.preventDefault();const d=this._relatedDiagnostics.get(a.target);d&&i(d)})),this._scrollable=new tF(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(){to(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=Ly(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 w=document.createElement("span");w.innerText=t,w.classList.add("source"),p.appendChild(w)}if(s)if(typeof s=="string"){const w=document.createElement("span");w.innerText=`(${s})`,w.classList.add("code"),p.appendChild(w)}else{this._codeLink=Ut("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=y=>{this._openerService.open(s.target,{allowCommands:!0}),y.preventDefault(),y.stopPropagation()};const w=Bt(this._codeLink,Ut("span"));w.innerText=s.value,p.appendChild(this._codeLink)}}if(Wa(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),jo(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 w of n){const y=document.createElement("div"),x=document.createElement("a");x.classList.add("filename"),x.innerText=`${this._labelService.getUriBasenameLabel(w.resource)}(${w.startLineNumber}, ${w.startColumn}): `,x.title=this._labelService.getUriLabel(w.resource),this._relatedDiagnostics.set(x,w);const k=document.createElement("span");k.innerText=w.message,y.appendChild(x),y.appendChild(k),this._lines+=1,p.appendChild(y)}}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 io.Error:t=C("Error","Error");break;case io.Warning:t=C("Warning","Warning");break;case io.Info:t=C("Info","Info");break;case io.Hint:t=C("Hint","Hint");break}let i=C("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 Jd;let Op=(Jd=class extends xv{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 pt,this._onDidSelectRelatedInformation=new Ui,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=io.Warning,this._backgroundColor=sn.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(M6);let t=b1,i=D6;this._severity===io.Warning?(t=Vm,i=T6):this._severity===io.Info&&(t=y1,i=P6);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(hR),secondaryHeadingColor:e.getColor(fR)})}_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(v1.TitleMenu,this._contextKeyService);i0(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=Bt(e,Ut(""))}_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 E6(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=X.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?C("problems","{0} of {1} problems",t,i):C("change","{0} of {1} problem",t,i);this.setTitle($a(a.uri),d)}this._icon.className=`codicon ${m1.className(io.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()}},v1=Jd,Jd.TitleMenu=new Wt("gotoErrorTitleMenu"),Jd);Op=v1=I6([uh(1,Hr),uh(2,ha),uh(3,Fu),uh(4,Bi),uh(5,yn),uh(6,pp)],Op);const dE=u0(X2,Z2),uE=u0(Q2,Y2),hE=u0(SS,J2),b1=qt("editorMarkerNavigationError.background",{dark:dE,light:dE,hcDark:yl,hcLight:yl},C("editorMarkerNavigationError","Editor marker navigation widget error color.")),D6=qt("editorMarkerNavigationError.headerBackground",{dark:Ba(b1,.1),light:Ba(b1,.1),hcDark:null,hcLight:null},C("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),Vm=qt("editorMarkerNavigationWarning.background",{dark:uE,light:uE,hcDark:yl,hcLight:yl},C("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),T6=qt("editorMarkerNavigationWarning.headerBackground",{dark:Ba(Vm,.1),light:Ba(Vm,.1),hcDark:"#0C141F",hcLight:Ba(Vm,.2)},C("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),y1=qt("editorMarkerNavigationInfo.background",{dark:hE,light:hE,hcDark:yl,hcLight:yl},C("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),P6=qt("editorMarkerNavigationInfo.headerBackground",{dark:Ba(y1,.1),light:Ba(y1,.1),hcDark:null,hcLight:null},C("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),M6=qt("editorMarkerNavigation.background",eF,C("editorMarkerNavigationBackground","Editor marker navigation widget background."));var R6=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)}},Ng,eu;let Mu=(eu=class{static get(e){return e.getContribution(Ng.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new pt,this._editor=e,this._widgetVisible=ZR.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(Op,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)||!X.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:X.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 Jt(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=Ng.get(r))==null||i.close(),(n=Ng.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},Ng=eu,eu.ID="editor.contrib.markerController",eu);Mu=Ng=R6([pm(1,KR),pm(2,yn),pm(3,as),pm(4,Bi)],Mu);class iw extends Xe{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=Mu.get(t))==null||i.nagivate(this._next,this._multiFile))}}const rd=class rd extends iw{constructor(){super(!0,!1,{id:rd.ID,label:rd.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:W.focus,primary:578,weight:100},menuOpts:{menuId:Op.TitleMenu,title:rd.LABEL,icon:is("marker-navigation-next",Di.arrowDown,C("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};rd.ID="editor.action.marker.next",rd.LABEL=C("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let Kv=rd;const ad=class ad extends iw{constructor(){super(!1,!1,{id:ad.ID,label:ad.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:W.focus,primary:1602,weight:100},menuOpts:{menuId:Op.TitleMenu,title:ad.LABEL,icon:is("marker-navigation-previous",Di.arrowUp,C("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};ad.ID="editor.action.marker.prev",ad.LABEL=C("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let w1=ad;class N6 extends iw{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:C("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:W.focus,primary:66,weight:100},menuOpts:{menuId:Wt.MenubarGoMenu,title:C({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class A6 extends iw{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:C("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:W.focus,primary:1090,weight:100},menuOpts:{menuId:Wt.MenubarGoMenu,title:C({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}Yi(Mu.ID,Mu,4);me(Kv);me(w1);me(N6);me(A6);const ZR=new fn("markersNavigationVisible",!1),O6=yo.bindToContribution(Mu.get);ni(new O6({id:"closeMarkersNavigation",precondition:ZR,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:W.focus,primary:9,secondary:[1033]}}));var Xr;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(Xr||(Xr={}));class F6 extends Xe{constructor(){super({id:JM,label:C({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:Kt("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:[Xr.NoAutoFocus,Xr.FocusIfVisible,Xr.AutoFocusImmediately],enumDescriptions:[C("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),C("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),C("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:Xr.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=Ys.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=Xr.FocusIfVisible;Object.values(Xr).includes(s)?r=s:typeof s=="boolean"&&s&&(r=Xr.AutoFocusImmediately);const a=u=>{const f=t.getPosition(),g=new X(f.lineNumber,f.column,f.lineNumber,f.column);n.showContentHover(g,1,1,u)},d=t.getOption(2)===2;n.isHoverVisible?r!==Xr.NoAutoFocus?n.focus():a(d):a(d||r===Xr.AutoFocusImmediately)}}class H6 extends Xe{constructor(){super({id:tB,label:C({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:Kt("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=Ys.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new X(n.lineNumber,n.column,n.lineNumber,n.column),r=Ap.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class W6 extends Xe{constructor(){super({id:iB,label:C({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:W.hoverFocused,kbOpts:{kbExpr:W.hoverFocused,primary:16,weight:100},metadata:{description:Kt("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.scrollUp()}}class B6 extends Xe{constructor(){super({id:nB,label:C({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:W.hoverFocused,kbOpts:{kbExpr:W.hoverFocused,primary:18,weight:100},metadata:{description:Kt("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.scrollDown()}}class z6 extends Xe{constructor(){super({id:sB,label:C({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:W.hoverFocused,kbOpts:{kbExpr:W.hoverFocused,primary:15,weight:100},metadata:{description:Kt("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.scrollLeft()}}class V6 extends Xe{constructor(){super({id:oB,label:C({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:W.hoverFocused,kbOpts:{kbExpr:W.hoverFocused,primary:17,weight:100},metadata:{description:Kt("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.scrollRight()}}class j6 extends Xe{constructor(){super({id:rB,label:C({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:W.hoverFocused,kbOpts:{kbExpr:W.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:Kt("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.pageUp()}}class $6 extends Xe{constructor(){super({id:aB,label:C({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:W.hoverFocused,kbOpts:{kbExpr:W.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:Kt("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.pageDown()}}class U6 extends Xe{constructor(){super({id:lB,label:C({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:W.hoverFocused,kbOpts:{kbExpr:W.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:Kt("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.goToTop()}}class q6 extends Xe{constructor(){super({id:cB,label:C({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:W.hoverFocused,kbOpts:{kbExpr:W.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:Kt("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.goToBottom()}}class G6 extends Xe{constructor(){super({id:$y,label:dB,alias:"Increase Hover Verbosity Level",precondition:W.hoverVisible})}run(e,t,i){const n=Ys.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(rr.Increase,s,i==null?void 0:i.focus)}}class K6 extends Xe{constructor(){super({id:Uy,label:uB,alias:"Decrease Hover Verbosity Level",precondition:W.hoverVisible})}run(e,t,i){var r;const n=Ys.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=Ys.get(t))==null||r.updateHoverVerbosityLevel(rr.Decrease,s,i==null?void 0:i.focus)}}var Z6=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},tS=function(o,e){return function(t,i){e(t,i,o)}};const gr=Ut;class X6{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 fE={type:1,filter:{include:On.QuickFix},triggerAction:Mo.QuickFixHover};let S1=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 X(e.range.startLineNumber,d,e.range.startLineNumber,u);r.push(new X6(this,g,f))}return r}renderHoverParts(e,t){if(!t.length)return new Du([]);const i=new pt,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)=>io.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new Du(n)}_renderMarkerHover(e){const t=new pt,i=gr("div.hover-row"),n=Bt(i,gr("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:d}=e.marker;this._editor.applyFontInfo(n);const u=Bt(n,gr("span"));if(u.style.whiteSpace="pre-wrap",u.innerText=r,s||a)if(a&&typeof a!="string"){const g=gr("span");if(s){const x=Bt(g,gr("span"));x.innerText=s}const p=Bt(g,gr("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(bn(p,"click",x=>{this._openerService.open(a.target,{allowCommands:!0}),x.preventDefault(),x.stopPropagation()}));const w=Bt(p,gr("span"));w.innerText=a.value;const y=Bt(n,g);y.style.opacity="0.6",y.style.paddingLeft="6px"}else{const g=Bt(n,gr("span"));g.style.opacity="0.6",g.style.paddingLeft="6px",g.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(jo(d))for(const{message:g,resource:p,startLineNumber:w,startColumn:y}of d){const x=Bt(n,gr("div"));x.style.marginTop="8px";const k=Bt(x,gr("a"));k.innerText=`${$a(p)}(${w}, ${y}): `,k.style.cursor="pointer",t.add(bn(k,"click",P=>{if(P.stopPropagation(),P.preventDefault(),this._openerService){const A={selection:{startLineNumber:w,startColumn:y}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:A}).catch(Rn)}}));const D=Bt(x,gr("span"));D.innerText=g,this._editor.applyFontInfo(D)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===io.Error||t.marker.severity===io.Warning||t.marker.severity===io.Info){const n=Mu.get(this._editor);n&&e.statusBar.addAction({label:C("view problem","View Problem"),commandId:Kv.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(gr("div"));this.recentMarkerCodeActionsInfo&&(LL.makeKey(this.recentMarkerCodeActionsInfo.marker)===LL.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=C("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?mt.None:cp(()=>n.textContent=C("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(jn(()=>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=C("noQuickFixes","No quick fixes available");return}n.style.display="none";let d=!1;i.add(jn(()=>{d||a.dispose()})),e.statusBar.addAction({label:C("quick fixes","Quick Fix..."),commandId:B0,run:u=>{d=!0;const f=Ef.get(this._editor),g=_o(u);e.hide(),f==null||f.showCodeActions(fE,a,{x:g.left,y:g.top,width:g.width,height:g.height})}})},Rn)}}getCodeActions(e){return Rs(t=>Dh(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new X(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),fE,cl.None,t))}};S1=Z6([tS(1,iF),tS(2,ha),tS(3,ei)],S1);class Y6{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=Qm.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)??Qm.Center;if(!n&&a!==this._laneOrLine)continue;const d=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!d||gp(d)||i.push(...jD(d).map(e))}return i}}var Q6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},gE=function(o,e){return function(t,i){e(t,i,o)}},C1;const pE=Ut;var tu;let x1=(tu=class extends mt{constructor(e,t,i){super(),this._renderDisposeables=this._register(new pt),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new VD),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new qf({editor:this._editor},t,i)),this._computer=new Y6(this._editor),this._hoverOperation=this._register(new nR(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(wl(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return C1.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=pE("div.hover-row.markdown-hover"),r=Bt(s,pE("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||!qy(t,e.x,e.y))&&this.hide()}},C1=tu,tu.ID="editor.contrib.modesGlyphHoverWidget",tu);x1=C1=Q6([gE(1,ga),gE(2,ha)],x1);var J6=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},e5=function(o,e){return function(t,i){e(t,i,o)}},rf;let Zv=(rf=class extends mt{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new pt,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new bs(()=>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?qy(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(x1,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},rf.ID="editor.contrib.marginHover",rf);Zv=J6([e5(1,Bi)],Zv);class t5{}class i5{}class n5{}Yi(Ys.ID,Ys,2);Yi(Zv.ID,Zv,2);me(F6);me(H6);me(W6);me(B6);me(z6);me(V6);me(j6);me($6);me(U6);me(q6);me(G6);me(K6);ju.register(Tp);ju.register(S1);vy((o,e)=>{const t=o.getColor(nF);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)}; }`))});tw.register(new t5);tw.register(new i5);tw.register(new n5);function xo(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function Jg(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 XR(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 sF(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=(x,k)=>(k=k||1,wf.shiftIndent(x,x.length+k,r,a,d)),f=(x,k)=>(k=k||1,wf.unshiftIndent(x,x.length+k,r,a,d)),g=[],p=o.getLineContent(t);let w=Us(p),y=w;s.shouldIncrease(t)?(y=u(y),w=u(w)):s.shouldIndentNextLine(t)&&(y=u(y)),t++;for(let x=t;x<=i;x++){if(s5(o,x))continue;const k=o.getLineContent(x),D=Us(k),P=y;s.shouldDecrease(x,P)&&(y=f(y),w=f(w)),D!==y&&g.push(Qn.replaceMove(new bi(x,1,x,D.length+1),oF(y,a,d))),!s.shouldIgnore(x)&&(s.shouldIncrease(x,P)?(w=u(w),y=w):s.shouldIndentNextLine(x,P)?y=u(y):y=w)}return g}function s5(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var o5=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 Vb=class Vb extends Xe{constructor(){super({id:Vb.ID,label:C("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:W.writable,metadata:{description:Kt("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 u5(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};Vb.ID="editor.action.indentationToSpaces";let k1=Vb;const jb=class jb extends Xe{constructor(){super({id:jb.ID,label:C("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:W.writable,metadata:{description:Kt("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 h5(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};jb.ID="editor.action.indentationToTabs";let L1=jb;class hk extends Xe{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Tl),n=e.get(lo),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?C("configuredTabSize","Configured Tab Size"):f===r.tabSize?C("defaultTabSize","Default Tab Size"):f===a.tabSize?C("currentTabSize","Current Tab Size"):void 0})),u=Math.min(s.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(d,{placeHolder:C({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 $b=class $b extends hk{constructor(){super(!1,!1,{id:$b.ID,label:C("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:Kt("indentUsingTabsDescription","Use indentation with tabs.")}})}};$b.ID="editor.action.indentUsingTabs";let I1=$b;const Ub=class Ub extends hk{constructor(){super(!0,!1,{id:Ub.ID,label:C("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:Kt("indentUsingSpacesDescription","Use indentation with spaces.")}})}};Ub.ID="editor.action.indentUsingSpaces";let E1=Ub;const qb=class qb extends hk{constructor(){super(!0,!0,{id:qb.ID,label:C("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:Kt("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};qb.ID="editor.action.changeTabDisplaySize";let D1=qb;const Gb=class Gb extends Xe{constructor(){super({id:Gb.ID,label:C("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:Kt("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(lo),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};Gb.ID="editor.action.detectIndentation";let T1=Gb;class a5 extends Xe{constructor(){super({id:"editor.action.reindentlines",label:C("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:W.writable,metadata:{description:Kt("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(Es),n=t.getModel();if(!n)return;const s=XR(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class l5 extends Xe{constructor(){super({id:"editor.action.reindentselectedlines",label:C("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:W.writable,metadata:{description:Kt("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(Es),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=XR(n,i,d,u);r.push(...f)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class c5{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(X.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 af;let Xv=(af=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new pt,this.callOnModel=new pt,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)||d5(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:y=>wf.shiftIndent(y,y.length+1,r,a,d),unshiftIndent:y=>wf.unshiftIndent(y,y.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 y=$g(s,i,i.getLanguageId(),g,f,this._languageConfigurationService);if(y!==null){const x=Us(p),k=xo(y,r),D=xo(x,r);if(k!==D){const P=Jg(k,r,d);u.push({range:new X(g,1,g,x.length+1),text:P}),p=P+p.substring(x.length)}else{const P=RT(i,g,this._languageConfigurationService);if(P===0||P===8)return}}}const w=g;for(;g<e.endLineNumber;){if(!/\S/.test(i.getLineContent(g+1))){g++;continue}break}if(g!==e.endLineNumber){const x=$g(s,{tokenization:{getLineTokens:k=>i.tokenization.getLineTokens(k),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(k,D)=>i.getLanguageIdAtPosition(k,D)},getLineContent:k=>k===w?p:i.getLineContent(k)},i.getLanguageId(),g+1,f,this._languageConfigurationService);if(x!==null){const k=xo(x,r),D=xo(Us(i.getLineContent(g+1)),r);if(k!==D){const P=k-D;for(let A=g+1;A<=e.endLineNumber;A++){const q=i.getLineContent(A),z=Us(q),ie=xo(z,r)+P,be=Jg(ie,r,d);be!==z&&u.push({range:new X(A,1,A,z.length+1),text:be})}}}}if(u.length>0){this.editor.pushUndoStop();const y=new c5(u,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",y),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()}},af.ID="editor.contrib.autoIndentOnPaste",af);Xv=o5([r5(1,Es)],Xv);function d5(o,e){const t=i=>rF(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function YR(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 X(r,1,r,d),f=o.getValueInRange(u),g=i?f.replace(/\t/ig,n):f.replace(s," ");e.addEditOperation(u,g)}}class u5{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),YR(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class h5{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),YR(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}Yi(Xv.ID,Xv,2);me(k1);me(L1);me(I1);me(E1);me(D1);me(T1);me(a5);me(l5);Yi(Mp.ID,Mp,1);ju.register(Ev);class f5{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 bi(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new bi(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}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},p5=function(o,e){return function(t,i){e(t,i,o)}},jm,xc;let Ff=(xc=class{static get(e){return e.getContribution(jm.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 MT(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=Rs(u=>this.editorWorkerService.navigateValueSet(a,s,t)),this.currentRequest.then(u=>{var y;if(!u||!u.range||!u.value||!r.validate(this.editor))return;const f=X.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 bi(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const w=new f5(f,s,u.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,w),this.editor.pushUndoStop(),this.decorations.set([{range:g,options:jm.DECORATION}]),(y=this.decorationRemover)==null||y.cancel(),this.decorationRemover=Iy(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(Rn)}).catch(Rn)):Promise.resolve(void 0)}},jm=xc,xc.ID="editor.contrib.inPlaceReplaceController",xc.DECORATION=rn.register({description:"in-place-replace",className:"valueSetReplacement"}),xc);Ff=jm=g5([p5(1,Rl)],Ff);class _5 extends Xe{constructor(){super({id:"editor.action.inPlaceReplace.up",label:C("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:W.writable,kbOpts:{kbExpr:W.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=Ff.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class m5 extends Xe{constructor(){super({id:"editor.action.inPlaceReplace.down",label:C("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:W.writable,kbOpts:{kbExpr:W.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=Ff.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}Yi(Ff.ID,Ff,4);me(_5);me(m5);class v5 extends Xe{constructor(){super({id:"expandLineSelection",label:C("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:W.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,h0.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}me(v5);class b5{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=y5(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 y5(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=Dm(u);let w=0;if(p===-1)w=1;else if(p!==u.length-1)w=p+2;else continue;if(!t){if(!o.tokenization.hasAccurateTokensForLine(a))continue;const y=o.tokenization.getLineTokens(a),x=y.getStandardTokenType(y.findTokenIndexAtOffset(w));if(x===2||x===3)continue}w=Math.max(g,w),i[n++]=Qn.delete(new X(a,w,a,f))}return i}class QR{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 X(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
49
+ `):this._isCopyingDown?t.addEditOperation(new X(i.startLineNumber,1,i.startLineNumber,1),s+`
50
+ `):t.addEditOperation(new X(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=bi.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var w5=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},S5=function(o,e){return function(t,i){e(t,i,o)}};let P1=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 X(1,1,1,1),null):(t.addEditOperation(new X(g,1,g,1),e.getLineContent(p)),t.addEditOperation(new X(p,1,p,e.getLineMaxColumn(p)),null)),r=new bi(p,1,p,1)}else{let g,p;if(this._isMovingDown){g=r.endLineNumber+1,p=e.getLineContent(g),t.addEditOperation(new X(g-1,e.getLineMaxColumn(g-1),g,e.getLineMaxColumn(g)),null);let w=p;if(this.shouldAutoIndent(e,r)){const y=this.matchEnterRule(e,f,a,g,r.startLineNumber-1);if(y!==null){const k=Us(e.getLineContent(g)),D=y+xo(k,a);w=Jg(D,a,u)+this.trimStart(p)}else{const k={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)},D=$g(this._autoIndent,k,e.getLanguageIdAtPosition(g,1),r.startLineNumber,f,this._languageConfigurationService);if(D!==null){const P=Us(e.getLineContent(g)),A=xo(D,a),q=xo(P,a);A!==q&&(w=Jg(A,a,u)+this.trimStart(p))}}t.addEditOperation(new X(r.startLineNumber,1,r.startLineNumber,1),w+`
52
+ `);const x=this.matchEnterRuleMovingDown(e,f,a,r.startLineNumber,g,w);if(x!==null)x!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,x);else{const k={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?w:P>=r.startLineNumber+1&&P<=r.endLineNumber+1?e.getLineContent(P-1):e.getLineContent(P)},D=$g(this._autoIndent,k,e.getLanguageIdAtPosition(g,1),r.startLineNumber+1,f,this._languageConfigurationService);if(D!==null){const P=Us(e.getLineContent(r.startLineNumber)),A=xo(D,a),q=xo(P,a);if(A!==q){const z=A-q;this.getIndentEditsOfMovingBlock(e,t,r,a,u,z)}}}}else t.addEditOperation(new X(r.startLineNumber,1,r.startLineNumber,1),w+`
53
+ `)}else if(g=r.startLineNumber-1,p=e.getLineContent(g),t.addEditOperation(new X(g,1,g+1,1),null),t.addEditOperation(new X(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
54
+ `+p),this.shouldAutoIndent(e,r)){const w={tokenization:{getLineTokens:x=>x===g?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(x),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:x=>x===g?e.getLineContent(r.startLineNumber):e.getLineContent(x)},y=this.matchEnterRule(e,f,a,r.startLineNumber,r.startLineNumber-2);if(y!==null)y!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,y);else{const x=$g(this._autoIndent,w,e.getLanguageIdAtPosition(r.startLineNumber,1),g,f,this._languageConfigurationService);if(x!==null){const k=Us(e.getLineContent(r.startLineNumber)),D=xo(x,a),P=xo(k,a);if(D!==P){const A=D-P;this.getIndentEditsOfMovingBlock(e,t,r,a,u,A)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>wf.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>wf.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===Z_.None||s.indentAction===Z_.Indent?r=s.indentation+s.appendText:s.indentAction===Z_.IndentOutdent?r=s.indentation:s.indentAction===Z_.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const d=Us(e.getLineContent(n));let u=Us(r);const f=RT(e,n,this._languageConfigurationService);f!==null&&f&2&&(u=t.unshiftIndent(u));const g=xo(u,i),p=xo(d,i);return g-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(Dm(r)>=0){const a=e.getLineMaxColumn(s),d=Cw(this._autoIndent,e,new X(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(Dm(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const d=e.getLineMaxColumn(a),u=Cw(this._autoIndent,e,new X(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),Dm(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const d=e.getLineMaxColumn(a),u=Cw(this._autoIndent,e,new X(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=Us(d),g=xo(u,n)+r,p=Jg(g,n,s);p!==u&&(t.addEditOperation(new X(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}};P1=w5([S5(3,Es)],P1);const Wh=class Wh{static getCollator(){return Wh._COLLATOR||(Wh._COLLATOR=new Intl.Collator),Wh._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=C5(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=JR(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}};Wh._COLLATOR=null;let Fp=Wh;function JR(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(Fp.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function C5(o,e,t){const i=JR(o,e,t);return i?Qn.replace(new X(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
55
+ `)):null}class eN extends Xe{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)=>X.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 QR(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class x5 extends eN{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:C("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:W.writable,kbOpts:{kbExpr:W.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:Wt.MenubarSelectionMenu,group:"2_line",title:C({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class k5 extends eN{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:C("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:W.writable,kbOpts:{kbExpr:W.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:Wt.MenubarSelectionMenu,group:"2_line",title:C({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class L5 extends Xe{constructor(){super({id:"editor.action.duplicateSelection",label:C("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:W.writable,menuOpts:{menuId:Wt.MenubarSelectionMenu,group:"2_line",title:C({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 QR(a,!0));else{const d=new bi(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new aF(d,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class tN extends Xe{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(Es),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new P1(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class I5 extends tN{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:C("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:W.writable,kbOpts:{kbExpr:W.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:Wt.MenubarSelectionMenu,group:"2_line",title:C({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class E5 extends tN{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:C("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:W.writable,kbOpts:{kbExpr:W.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:Wt.MenubarSelectionMenu,group:"2_line",title:C({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class iN extends Xe{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 bi(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!Fp.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new Fp(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class D5 extends iN{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:C("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:W.writable})}}class T5 extends iN{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:C("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:W.writable})}}class P5 extends Xe{constructor(){super({id:"editor.action.removeDuplicateLines",label:C("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:W.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 bi(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(const u of d){const f=new Set,g=[];for(let x=u.startLineNumber;x<=u.endLineNumber;x++){const k=i.getLineContent(x);f.has(k)||(g.push(k),f.add(k))}const p=new bi(u.startLineNumber,1,u.endLineNumber,i.getLineMaxColumn(u.endLineNumber)),w=u.startLineNumber-r,y=new bi(w,1,w+g.length-1,g[g.length-1].length);n.push(Qn.replace(p,g.join(`
56
+ `))),s.push(y),r+=u.endLineNumber-u.startLineNumber+1-g.length}t.pushUndoStop(),t.executeEdits(this.id,n,a?s:void 0),t.pushUndoStop()}}const Kb=class Kb extends Xe{constructor(){super({id:Kb.ID,label:C("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:W.writable,kbOpts:{kbExpr:W.editorTextFocus,primary:us(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(f=>new Jt(f.positionLineNumber,f.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(Un),a=t.getModel(),d=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),u=new b5(s,n,d);t.pushUndoStop(),t.executeCommands(this.id,[u]),t.pushUndoStop()}};Kb.ID="editor.action.trimTrailingWhitespace";let M1=Kb;class M5 extends Xe{constructor(){super({id:"editor.action.deleteLines",label:C("lines.delete","Delete Line"),alias:"Delete Line",precondition:W.writable,kbOpts:{kbExpr:W.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,w=1,y=n.getLineMaxColumn(p);p<n.getLineCount()?(p+=1,y=1):g>1&&(g-=1,w=n.getLineMaxColumn(g)),r.push(Qn.replace(new bi(g,w,p,y),"")),a.push(new bi(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 R5 extends Xe{constructor(){super({id:"editor.action.indentLines",label:C("lines.indent","Indent Line"),alias:"Indent Line",precondition:W.writable,kbOpts:{kbExpr:W.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,lF.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class N5 extends Xe{constructor(){super({id:"editor.action.outdentLines",label:C("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:W.writable,kbOpts:{kbExpr:W.editorTextFocus,primary:2140,weight:100}})}run(e,t){Em.Outdent.runEditorCommand(e,t,null)}}class A5 extends Xe{constructor(){super({id:"editor.action.insertLineBefore",label:C("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:W.writable,kbOpts:{kbExpr:W.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,NT.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class O5 extends Xe{constructor(){super({id:"editor.action.insertLineAfter",label:C("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:W.writable,kbOpts:{kbExpr:W.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,NT.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class nN extends Xe{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];X.intersectRanges(f,g)===null?s.push(f):n[d+1]=X.plusRange(f,g)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(d=>Qn.replace(d,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class F5 extends nN{constructor(){super({id:"deleteAllLeft",label:C("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:W.writable,kbOpts:{kbExpr:W.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 bi(d,r.startColumn,d,r.startColumn)}else a=new bi(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(X.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 X(r,a,s.startLineNumber,1)}else return new X(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new X(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class H5 extends nN{constructor(){super({id:"deleteAllRight",label:C("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:W.writable,kbOpts:{kbExpr:W.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 bi(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 X(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new X(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(X.compareRangesUsingStarts),n}}class W5 extends Xe{constructor(){super({id:"editor.action.joinLines",label:C("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:W.writable,kbOpts:{kbExpr:W.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(X.compareRangesUsingStarts);const s=[],r=i.reduce((p,w)=>p.isEmpty()?p.endLineNumber===w.startLineNumber?(n.equalsSelection(p)&&(n=w),w):w.startLineNumber>p.endLineNumber+1?(s.push(p),w):new bi(p.startLineNumber,p.startColumn,w.endLineNumber,w.endColumn):w.startLineNumber>p.endLineNumber?(s.push(p),w):new bi(p.startLineNumber,p.startColumn,w.endLineNumber,w.endColumn));s.push(r);const a=t.getModel();if(a===null)return;const d=[],u=[];let f=n,g=0;for(let p=0,w=s.length;p<w;p++){const y=s[p],x=y.startLineNumber,k=1;let D=0,P,A;const q=a.getLineLength(y.endLineNumber)-y.endColumn;if(y.isEmpty()||y.startLineNumber===y.endLineNumber){const ie=y.getStartPosition();ie.lineNumber<a.getLineCount()?(P=x+1,A=a.getLineMaxColumn(P)):(P=ie.lineNumber,A=a.getLineMaxColumn(ie.lineNumber))}else P=y.endLineNumber,A=a.getLineMaxColumn(P);let z=a.getLineContent(x);for(let ie=x+1;ie<=P;ie++){const be=a.getLineContent(ie),ye=a.getLineFirstNonWhitespaceColumn(ie);if(ye>=1){let qe=!0;z===""&&(qe=!1),qe&&(z.charAt(z.length-1)===" "||z.charAt(z.length-1)===" ")&&(qe=!1,z=z.replace(/[\s\uFEFF\xA0]+$/g," "));const Oe=be.substr(ye-1);z+=(qe?" ":"")+Oe,qe?D=Oe.length+1:D=Oe.length}else D=0}const oe=new X(x,k,P,A);if(!oe.isEmpty()){let ie;y.isEmpty()?(d.push(Qn.replace(oe,z)),ie=new bi(oe.startLineNumber-g,z.length-D+1,x-g,z.length-D+1)):y.startLineNumber===y.endLineNumber?(d.push(Qn.replace(oe,z)),ie=new bi(y.startLineNumber-g,y.startColumn,y.endLineNumber-g,y.endColumn)):(d.push(Qn.replace(oe,z)),ie=new bi(y.startLineNumber-g,y.startColumn,y.startLineNumber-g,z.length-q)),X.intersectRanges(oe,n)!==null?f=ie:u.push(ie)}g+=oe.endLineNumber-oe.startLineNumber}u.unshift(f),t.pushUndoStop(),t.executeEdits(this.id,d,u),t.pushUndoStop()}}class B5 extends Xe{constructor(){super({id:"editor.action.transpose",label:C("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:W.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 X(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new o_(new bi(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p))}else{const g=new X(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new QD(g,p,new bi(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class qu extends Xe{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 X(d.lineNumber,u.startColumn,d.lineNumber,u.endColumn),g=n.getValueInRange(f);r.push(Qn.replace(f,this._modifyText(g,s)))}else{const d=n.getValueInRange(a);r.push(Qn.replace(a,this._modifyText(d,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class z5 extends qu{constructor(){super({id:"editor.action.transformToUppercase",label:C("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:W.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class V5 extends qu{constructor(){super({id:"editor.action.transformToLowercase",label:C("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:W.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class vl{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 Zb=class Zb extends qu{constructor(){super({id:"editor.action.transformToTitlecase",label:C("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:W.writable})}_modifyText(e,t){const i=Zb.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};Zb.titleBoundary=new vl("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let Yv=Zb;const Bh=class Bh extends qu{constructor(){super({id:"editor.action.transformToSnakecase",label:C("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:W.writable})}_modifyText(e,t){const i=Bh.caseBoundary.get(),n=Bh.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};Bh.caseBoundary=new vl("(\\p{Ll})(\\p{Lu})","gmu"),Bh.singleLetters=new vl("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let ep=Bh;const Xb=class Xb extends qu{constructor(){super({id:"editor.action.transformToCamelcase",label:C("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:W.writable})}_modifyText(e,t){const i=Xb.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("")}};Xb.wordBoundary=new vl("[_\\s-]","gm");let Qv=Xb;const zh=class zh extends qu{constructor(){super({id:"editor.action.transformToPascalcase",label:C("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:W.writable})}_modifyText(e,t){const i=zh.wordBoundary.get(),n=zh.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("")}};zh.wordBoundary=new vl("[_\\s-]","gm"),zh.wordBoundaryToMaintain=new vl("(?<=\\.)","gm");let Jv=zh;const Xl=class Xl extends qu{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:C("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:W.writable})}_modifyText(e,t){const i=Xl.caseBoundary.get(),n=Xl.singleLetters.get(),s=Xl.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};Xl.caseBoundary=new vl("(\\p{Ll})(\\p{Lu})","gmu"),Xl.singleLetters=new vl("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Xl.underscoreBoundary=new vl("(\\S)(_)(\\S)","gm");let eb=Xl;me(x5);me(k5);me(L5);me(I5);me(E5);me(D5);me(T5);me(P5);me(M1);me(M5);me(R5);me(N5);me(A5);me(O5);me(F5);me(H5);me(W5);me(B5);me(z5);me(V5);ep.caseBoundary.isSupported()&&ep.singleLetters.isSupported()&&me(ep);Qv.wordBoundary.isSupported()&&me(Qv);Jv.wordBoundary.isSupported()&&me(Jv);Yv.titleBoundary.isSupported()&&me(Yv);eb.isSupported()&&me(eb);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},_m=function(o,e){return function(t,i){e(t,i,o)}},$m;const sN=new fn("LinkedEditingInputVisible",!1),$5="linked-editing-decoration";var kc;let Hf=(kc=class extends mt{static get(e){return e.getContribution($m.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new pt),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=sN.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 pt),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(vs.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new Tc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new Tc(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 w=m_(u,f);g+=w,u=u.substr(w),f=f.substr(w);const y=cF(u,f);p-=y,u=u.substr(0,u.length-y),f=f.substr(0,f.length-y),(g!==p||f.length!==0)&&s.push({range:new X(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 Ns;try{const r=new Po(!1),a=await oN(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(X.containsPosition(d[g],t)){if(u=!0,g!==0){const w=d[g];d.splice(g,1),d.unshift(w)}break}if(!u){this.clearRanges();return}const f=d.map(g=>({range:g,options:$m.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(f),this._syncRangesToken++}catch(r){Hc(r)||Rn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},$m=kc,kc.ID="editor.contrib.linkedEditing",kc.DECORATION=rn.register({description:"linked-editing",stickiness:0,className:$5}),kc);Hf=$m=j5([_m(1,yn),_m(2,ei),_m(3,Es),_m(4,cr)],Hf);class U5 extends Xe{constructor(){super({id:"editor.action.linkedEditing",label:C("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:De.and(W.writable,W.hasRenameProvider),kbOpts:{kbExpr:W.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(as),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return Tn.isUri(n)&&Jt.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))))},Rn):super.runCommand(e,t)}run(e,t){const i=Hf.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const q5=yo.bindToContribution(Hf.get);ni(new q5({id:"cancelLinkedEditingInput",precondition:sN,handler:o=>o.clearRanges(),kbOpts:{kbExpr:W.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function oN(o,e,t,i){const n=o.ordered(e);return f0(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){rs(r);return}}),s=>!!s&&jo(s==null?void 0:s.ranges))}qt("editor.linkedEditingBackground",{dark:sn.fromHex("#f00").transparent(.3),light:sn.fromHex("#f00").transparent(.3),hcDark:sn.fromHex("#f00").transparent(.3),hcLight:sn.white},C("editorLinkedEditingBackground","Background color when the editor auto renames on type."));wo("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(ei);return oN(i,e,t,qi.None)});Yi(Hf.ID,Hf,1);me(U5);let G5=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 tb{constructor(e){this._disposables=new pt;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new G5(r,n));t=tb._union(t,s),bT(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(X.areIntersectingOrTouching(d.range,u.range)){n++;continue}X.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 rN(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])},rs));return Promise.all(n).then(()=>{const s=new tb(bl(i));return t.isCancellationRequested?(s.dispose(),new tb([])):s})}Hn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;wn(t instanceof Tn),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(ei),s=o.get(lo).getModel(t);if(!s)return[];const r=await rN(n,s,qi.None);if(!r)return[];for(let d=0;d<Math.min(i,r.links.length);d++)await r.links[d].resolve(qi.None);const a=r.links.slice(0);return r.dispose(),a});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},mm=function(o,e){return function(t,i){e(t,i,o)}},R1,iu;let Hp=(iu=class extends mt{static get(e){return e.getContribution(R1.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 bs(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new Gy(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=Rs(t=>rN(this.providers,e,t));try{const t=new Po(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){Rn(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(Uh.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 Uh(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(qi.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===go.file&&s.startsWith(`${go.file}:`)){const a=Tn.parse(s);if(a.scheme===go.file){const d=dF(a);let u=null;d.startsWith("/./")||d.startsWith("\\.\\")?u=`.${d.substr(1)}`:(d.startsWith("//./")||d.startsWith("\\\\.\\"))&&(u=`.${d.substr(2)}`),u&&(s=uF(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(C("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):r==="missing"?this.notificationService.warn(C("missing.url","Failed to open this link because its target is missing.")):Rn(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()}},R1=iu,iu.ID="editor.linkDetector",iu);Hp=R1=K5([mm(1,ha),mm(2,ao),mm(3,ei),mm(4,cr)],Hp);const _E={general:rn.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:rn.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class Uh{static decoration(e,t){return{range:e.range,options:Uh._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?_E.active:_E.general};return n.hoverMessage=Z5(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,Uh._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,Uh._getOptions(this.link,t,!1))}}function Z5(o,e){const t=o.url&&/^command:/i.test(o.url.toString()),i=o.tooltip?o.tooltip:t?C("links.navigate.executeCmd","Execute command"):C("links.navigate.follow","Follow link"),n=e?ja?C("links.navigate.kb.meta.mac","cmd + click"):C("links.navigate.kb.meta","ctrl + click"):ja?C("links.navigate.kb.alt.mac","option + click"):C("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=C("tooltip.explanation","Execute command {0}",d)}}return new Js("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new Js().appendText(`${i} (${n})`)}class X5 extends Xe{constructor(){super({id:"editor.action.openLink",label:C("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=Hp.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)}}}Yi(Hp.ID,Hp,1);me(X5);const Wk=class Wk extends mt{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})}))}};Wk.ID="editor.contrib.longLinesHelper";let ib=Wk;Yi(ib.ID,ib,2);const Y5=qt("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},C("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);qt("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},C("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);qt("editor.wordHighlightTextBackground",Y5,C("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 Q5=qt("editor.wordHighlightBorder",{light:null,dark:null,hcDark:mu,hcLight:mu},C("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));qt("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:mu,hcLight:mu},C("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));qt("editor.wordHighlightTextBorder",Q5,C("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const J5=qt("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",C("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),e$=qt("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",C("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),t$=qt("editorOverviewRuler.wordHighlightTextForeground",AT,C("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),i$=rn.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:_s(e$),position:Ha.Center},minimap:{color:_s(Ey),position:1}}),n$=rn.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:_s(t$),position:Ha.Center},minimap:{color:_s(Ey),position:1}}),s$=rn.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:_s(AT),position:Ha.Center},minimap:{color:_s(Ey),position:1}}),o$=rn.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),r$=rn.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:_s(J5),position:Ha.Center},minimap:{color:_s(Ey),position:1}});function a$(o){return o===av.Write?i$:o===av.Text?n$:r$}function l$(o){return o?o$:s$}vy((o,e)=>{const t=o.getColor(hF);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});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},d$=function(o,e){return function(t,i){e(t,i,o)}},N1;function Bc(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?C("cursorAdded","Cursor added: {0}",i):C("cursorsAdded","Cursors added: {0}",i);pf(n)}}class u$ extends Xe{constructor(){super({id:"editor.action.insertCursorAbove",label:C("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:W.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:Wt.MenubarSelectionMenu,group:"3_multi",title:C({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,h0.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Bc(r,s.getCursorStates())}}class h$ extends Xe{constructor(){super({id:"editor.action.insertCursorBelow",label:C("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:W.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:Wt.MenubarSelectionMenu,group:"3_multi",title:C({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,h0.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Bc(r,s.getCursorStates())}}class f$ extends Xe{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:C("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:W.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:Wt.MenubarSelectionMenu,group:"3_multi",title:C({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 bi(n,s,n,s))}e.endColumn>1&&i.push(new bi(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),Bc(r,s.getCursorStates())}}class g$ extends Xe{constructor(){super({id:"editor.action.addCursorsToBottom",label:C("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 bi(d,i[0].startColumn,d,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),Bc(a,r.getCursorStates())}}class p$ extends Xe{constructor(){super({id:"editor.action.addCursorsToTop",label:C("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 bi(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),Bc(r,s.getCursorStates())}}class vm{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class Wp{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new Wp(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 bi(d.startLineNumber,g.startColumn,d.startLineNumber,g.endColumn)}else u=e.getModel().getValueInRange(d).replace(/\r\n/g,`
57
+ `);return new Wp(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 vm(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 vm(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 bi(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 vm(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 vm(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 bi(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 Yb=class Yb extends mt{static get(e){return e.getContribution(Yb.ID)}constructor(e){super(),this._sessionDispose=this._register(new pt),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=Wp.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 bi(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(!aN(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 bi(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};Yb.ID="editor.contrib.multiCursorController";let Wf=Yb;class Jf extends Xe{run(e,t){const i=Wf.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=vo.get(t);if(r)this._run(i,r);else{const a=e.get(Bi).createInstance(vo,t);this._run(i,a),a.dispose()}Bc(s,n.getCursorStates())}}}class _$ extends Jf{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:C("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:W.focus,primary:2082,weight:100},menuOpts:{menuId:Wt.MenubarSelectionMenu,group:"3_multi",title:C({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class m$ extends Jf{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:C("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:Wt.MenubarSelectionMenu,group:"3_multi",title:C({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class v$ extends Jf{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:C("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:W.focus,primary:us(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class b$ extends Jf{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:C("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 y$ extends Jf{constructor(){super({id:"editor.action.selectHighlights",label:C("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:W.focus,primary:3114,weight:100},menuOpts:{menuId:Wt.MenubarSelectionMenu,group:"3_multi",title:C({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class w$ extends Jf{constructor(){super({id:"editor.action.changeAll",label:C("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:De.and(W.writable,W.editorTextFocus),kbOpts:{kbExpr:W.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class S${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(X.compareRangesUsingStarts)),this._cachedFindMatches}}var nu;let nb=(nu=class extends mt{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new bs(()=>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=vo.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(N1._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=Wf.get(i);if(!s)return null;const r=vo.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(!aN(i.getModel(),f,p))return null}a=Wp.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 S$(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(X.compareRangesUsingStarts);const s=[];for(let u=0,f=0,g=i.length,p=n.length;u<g;){const w=i[u];if(f>=p)s.push(w),u++;else{const y=X.compareRangesUsingStarts(w,n[f]);y<0?((n[f].isEmpty()||!X.areIntersecting(w,n[f]))&&s.push(w),u++):(y>0||u++,f++)}}const r=this.editor.getOption(81)!=="off",a=this._languageFeaturesService.documentHighlightProvider.has(t)&&r,d=s.map(u=>({range:u,options:l$(a)}));this._decorations.set(d)}dispose(){this._setState(null),super.dispose()}},N1=nu,nu.ID="editor.contrib.selectionHighlighter",nu);nb=N1=c$([d$(1,ei)],nb);function aN(o,e,t){const i=mE(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=mE(o,r,!t);if(i!==a)return!1}return!0}function mE(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class C$ extends Xe{constructor(){super({id:"editor.action.focusNextCursor",label:C("mutlicursor.focusNextCursor","Focus Next Cursor"),metadata:{description:C("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),Bc(s,n.getCursorStates()))}}class x$ extends Xe{constructor(){super({id:"editor.action.focusPreviousCursor",label:C("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),metadata:{description:C("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),Bc(s,n.getCursorStates()))}}Yi(Wf.ID,Wf,4);Yi(nb.ID,nb,1);me(u$);me(h$);me(f$);me(_$);me(m$);me(v$);me(b$);me(y$);me(w$);me(g$);me(p$);me(C$);me(x$);const k$="editor.action.inlineEdit.accept",L$="editor.action.inlineEdit.reject",I$="editor.action.inlineEdit.jumpTo",E$="editor.action.inlineEdit.jumpBack";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},T$=function(o,e){return function(t,i){e(t,i,o)}};const iS="inline-edit";let A1=class extends mt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=$o(this,!1),this.currentTextModel=ko(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=In(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(A=>A.length===0),f=[],g=[];function p(A,q){if(g.length>0){const z=g[g.length-1];q&&z.decorations.push(new bp(z.content.length+1,z.content.length+1+A[0].length,q,0)),z.content+=A[0],A=A.slice(1)}for(const z of A)g.push({content:z,decorations:q?[new bp(1,z.length+1,q,0)]:[]})}const w=s.getLineContent(r.lineNumber);let y,x=0;if(!u&&(d||!a)){for(const A of r.parts){let q=A.lines;a&&!d&&(p(q,iS),q=[]),y===void 0?(f.push({column:A.column,text:q[0],preview:A.preview}),q=q.slice(1)):p([w.substring(x,A.column-1)],void 0),q.length>0&&(p(q,iS),y===void 0&&A.column<=w.length&&(y=A.column)),x=A.column-1}y!==void 0&&p([w.substring(x)],void 0)}const k=y!==void 0?new VR(y,w.length+1):void 0,D=d||!a?r.lineNumber:a.endLineNumber-1;return{inlineTexts:f,additionalLines:g,hiddenRange:k,lineNumber:D,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s,range:a,isSingleLine:d,isPureRemove:u}}),this.decorations=In(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),w=new X(f,g,f,p);a.push(w)}}for(const d of a)r.push({range:d,options:g0})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new X(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:p0})}for(const a of s.inlineTexts)r.push({range:X.fromPositions(new Jt(s.lineNumber,a.column)),options:{description:iS,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:Lh.Left},showIfCollapsed:!0}});return r}),this._register(jn(()=>{this.isDisposed.set(!0,void 0)})),this._register(jR(this.editor,this.decorations))}};A1=D$([T$(2,ga)],A1);var fk=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},Da=function(o,e){return function(t,i){e(t,i,o)}},Um;let O1=class extends mt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=ko(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=In(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 Jt(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(h_((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(F1,this.editor,!0,this.position));e.addContentWidget(a),s.add(jn(()=>e.removeContentWidget(a)))}))}};O1=fk([Da(2,Bi)],O1);var Lc;let F1=(Lc=class extends mt{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${Um.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Lr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[Lr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Wt.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(H1,this.nodes.toolBar,this.editor,Wt.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,d)=>{if(a instanceof bf)return n.createInstance(P$,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{Um._dropDownVisible=a})),this._register(Kn(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(Kn(a=>{const d=[];for(const[u,f]of this.inlineCompletionsActionsMenus.getActions())for(const g of f)g instanceof bf&&d.push(g);d.length>0&&d.unshift(new fp),this.toolBar.setAdditionalSecondaryActions(d)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},Um=Lc,Lc._dropDownVisible=!1,Lc.id=0,Lc);F1=Um=fk([Da(3,Bi),Da(4,yn),Da(5,Fu)],F1);class P$ extends HD{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Lr("div.keybinding").root;this._register(new Zx(t,Xx,{disableTitle:!0,...WD})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let H1=class extends BD{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=[];i0(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){Va(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};H1=fk([Da(4,Fu),Da(5,yn),Da(6,Vf),Da(7,hs),Da(8,Is),Da(9,fa)],H1);var lN=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},qm=function(o,e){return function(t,i){e(t,i,o)}},Ag,W1;function*M$(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function nS(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 su;let B1=(su=class extends mt{static _createUniqueUri(){return Tn.from({scheme:"inline-edit-widget",path:new Date().toString()+String(Ag._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=In(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(M$(a.range.startLineNumber,a.range.endLineNumber+1)),f=u.map(x=>d.getLineLastNonWhitespaceColumn(x)),g=Math.max(...f),p=u[f.indexOf(g)],w=new Jt(p,g);return{top:a.range.startLineNumber,left:w}}),this._text=In(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const d=nS(a.text.split(`
58
+ `));return{text:d.text.join(`
59
+ `),shift:d.shift}}),this._originalModel=Pc(()=>this._modelService.createModel("",null,Ag._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Pc(()=>this._modelService.createModel("",null,Ag._createUniqueUri())).keepObserved(this._store),this._diff=In(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=In(this,r=>{const a=this._model.read(r);if(!a)return;const d=this._editor.getModel();if(!d)return;const u=nS(d.getValueInRange(a.range).split(`
60
+ `)).text.join(`
61
+ `),f=nS(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 OT.fromFn(async()=>{const p=await g.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},qi.None);if(!p.identical)return p.changes})}),this._register(h_((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const u=a.add(this._instantiationService.createInstance(z1,this._editor,this._position,this._text.map(f=>f.text),this._text.map(f=>f.shift),this._diff));e.addOverlayWidget(u),a.add(jn(()=>e.removeOverlayWidget(u)))}))}},Ag=su,su._modelId=0,su);B1=Ag=lN([qm(2,Bi),qm(3,_0),qm(4,lo)],B1);var ou;let z1=(ou=class extends mt{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${W1.id++}`,this.allowEditorOverflow=!1,this._nodes=Ut("div.inlineEditSideBySide",void 0),this._scrollChanged=wd("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(Fr,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=Pa(this._previewEditor),this._editorObs=Pa(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(ic,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??mp,ic.DEFAULT_CREATION_OPTIONS,null)),this._setText=In(d=>{const u=this._text.read(d);u&&this._previewTextModel.setValue(u)}).recomputeInitiallyAndOnChange(this._store),this._decorations=In(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 w=this._shift.get(),y=x=>new X(x.startLineNumber+u.top-1,x.startColumn+w,x.endLineNumber+u.top-1,x.endColumn+w);for(const x of f)if(x.original.isEmpty||g.push({range:y(x.original.toInclusiveRange()),options:p0}),x.modified.isEmpty||p.push({range:x.modified.toInclusiveRange(),options:FT}),x.modified.isEmpty||x.original.isEmpty)x.original.isEmpty||g.push({range:y(x.original.toInclusiveRange()),options:HT}),x.modified.isEmpty||p.push({range:x.modified.toInclusiveRange(),options:WT});else for(const k of x.innerChanges||[])x.original.contains(k.originalRange.startLineNumber)&&g.push({range:y(k.originalRange),options:k.originalRange.isEmpty()?BT:g0}),x.modified.contains(k.modifiedRange.startLineNumber)&&p.push({range:k.modifiedRange,options:k.modifiedRange.isEmpty()?zT:VT});return{org:g,mod:p}}),this._originalDecorations=In(this,d=>this._decorations.read(d).org),this._modifiedDecorations=In(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(Kn(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(Kn(d=>{this._position.read(d),this._editor.layoutOverlayWidget(this)})),this._register(Kn(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 Jt(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}}}},W1=ou,ou.id=0,ou);z1=W1=lN([qm(5,Bi)],z1);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},Yc=function(o,e){return function(t,i){e(t,i,o)}},Og,or;let no=(or=class extends mt{static get(e){return e.getContribution(Og.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=Og.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=Og.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=$o(this,void 0),this._currentWidget=Pc(this._currentEdit,y=>{const x=this._currentEdit.read(y);if(!x)return;const k=x.range.endLineNumber,D=x.range.endColumn,P=x.text.endsWith(`
65
+ `)&&!(x.range.startLineNumber===x.range.endLineNumber&&x.range.startColumn===x.range.endColumn)?x.text.slice(0,-1):x.text,A=new Rp(k,[new Ov(D,P,!1)]),q=x.range.startLineNumber===x.range.endLineNumber&&A.parts.length===1&&A.parts[0].lines.length===1,z=x.text==="";return!q&&!z?void 0:this.instantiationService.createInstance(A1,this.editor,{ghostText:dl(A),minReservedLineCount:dl(0),targetTextModel:dl(this.editor.getModel()??void 0),range:dl(x.range)})}),this._isAccepting=$o(this,!1),this._enabled=ko(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=ko(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const u=wd("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(Kn(y=>{this._enabled.read(y)&&(u.read(y),!this._isAccepting.read(y)&&this.getInlineEdit(e,!0))}));const f=ko(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(Kn(y=>{if(!this._enabled.read(y))return;const x=f.read(y);x&&this.checkCursorPosition(x)})),this._register(Kn(y=>{const x=this._currentEdit.read(y);if(this._isCursorAtInlineEditContext.set(!1),!x){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const k=e.getPosition();k&&this.checkCursorPosition(k)}));const g=wd("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(Kn(async y=>{var x;this._enabled.read(y)&&(g.read(y),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((x=this._currentRequestCts)==null||x.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const p=wd("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(Kn(y=>{this._enabled.read(y)&&(p.read(y),this.getInlineEdit(e,!0))}));const w=this._register(uT());this._register(Kn(y=>{const x=this._fontFamily.read(y);w.setStyle(x===""||x==="default"?"":`
66
+ .monaco-editor .inline-edit-decoration,
67
+ .monaco-editor .inline-edit-decoration-preview,
68
+ .monaco-editor .inline-edit {
69
+ font-family: ${x};
70
+ }`)})),this._register(new O1(this.editor,this._currentWidget,this.instantiationService)),this._register(new B1(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(X.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 Ns;const a=this._currentRequestCts.token,d=t?IL.Automatic:IL.Invoke;if(t&&await N$(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",[Qn.replace(X.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,rs),this.freeEdit(e),Hu(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=Jt.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,rs),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)}},Og=or,or.ID="editor.contrib.inlineEditController",or.inlineEditVisibleKey="inlineEditVisible",or.inlineEditVisibleContext=new fn(or.inlineEditVisibleKey,!1),or.cursorAtInlineEditKey="cursorAtInlineEdit",or.cursorAtInlineEditContext=new fn(or.cursorAtInlineEditKey,!1),or);no=Og=R$([Yc(1,Bi),Yc(2,yn),Yc(3,ei),Yc(4,Is),Yc(5,Un),Yc(6,_0),Yc(7,lo)],no);function N$(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 A$=class extends Xe{constructor(){super({id:k$,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:De.and(W.writable,no.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:De.and(W.writable,no.inlineEditVisibleContext,no.cursorAtInlineEditContext)}],menuOpts:[{menuId:Wt.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=no.get(t);await(i==null?void 0:i.accept())}};class O$ extends Xe{constructor(){const e=De.and(W.writable,De.not(no.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=no.get(t);i==null||i.trigger()}}class F$ extends Xe{constructor(){const e=De.and(W.writable,no.inlineEditVisibleContext,De.not(no.cursorAtInlineEditKey));super({id:I$,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:Wt.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=no.get(t);i==null||i.jumpToCurrent()}}class H$ extends Xe{constructor(){const e=De.and(W.writable,no.cursorAtInlineEditContext);super({id:E$,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:Wt.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=no.get(t);i==null||i.jumpBack()}}class W$ extends Xe{constructor(){const e=De.and(W.writable,no.inlineEditVisibleContext);super({id:L$,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:Wt.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=no.get(t);await(i==null?void 0:i.clear())}}me(A$);me(W$);me(F$);me(H$);me(O$);Yi(no.ID,no,3);const B$="editor.action.inlineEdits.accept",z$="editor.action.inlineEdits.showPrevious",V$="editor.action.inlineEdits.showNext",Bf=new fn("inlineEditsVisible",!1,C("inlineEditsVisible","Whether an inline edit is visible")),j$=new fn("inlineEditsIsPinned",!1,C("isPinned","Whether an inline edit is visible")),Bk=class Bk extends mt{constructor(e){super(),this._editor=e,this._editorObs=Pa(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=ll({owner:this,equalsFn:jT},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=$$(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=zD((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=Lr("div.editorPlaceholder");i.add(Kn(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(Kn(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(Kn(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:dl(0),position:dl(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};Bk.ID="editor.contrib.placeholderText";let Bp=Bk;function $$(o,e){return yy(o,(t,i)=>i===!0?!0:e(t))}var U$=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},q$=function(o,e){return function(t,i){e(t,i,o)}};class G${constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let V1=class extends mt{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=Pa(this._editor),this._elements=Lr("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[Lr("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[Lr("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),Lr("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),Lr("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),th("svg",{style:{overflow:"visible",pointerEvents:"none"}},[th("defs",[th("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[th("stop",{offset:"0%",class:"gradient-stop"}),th("stop",{offset:"100%",class:"gradient-stop"})])]),th("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(ic,"",mp,ic.DEFAULT_CREATION_OPTIONS,null)),this._setText=In(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(ic,"",mp,ic.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(Fr,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:fF},{contributions:gF.getSomeEditorContributions([Tr.ID,Bp.ID,Mf.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(Fr,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=Pa(this._previewEditor),this._decorations=In(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:p0}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:FT}),g.modified.isEmpty||g.original.isEmpty)g.original.isEmpty||d.push({range:g.original.toInclusiveRange(),options:HT}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:WT});else for(const p of g.innerChanges||[])g.original.contains(p.originalRange.startLineNumber)&&d.push({range:p.originalRange,options:p.originalRange.isEmpty()?BT:g0}),g.modified.contains(p.modifiedRange.startLineNumber)&&u.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?zT:VT});return u}),this._layout1=In(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 w=u.startLineNumber;w<u.endLineNumberExclusive;w++){const y=a.getLineMaxColumn(w),x=this._editor.getOffsetForColumn(w,y);f=Math.max(f,x)}return{left:this._editor.getLayoutInfo().contentLeft+f}}),this._layout=In(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),w=new Nh(f,g),y=new Nh(f,p),x=p-g,k=50,D=this._editor.getOption(67)*a.newLines.length,P=x-D,A=new Nh(f+k,g+P/2),q=new Nh(f+k,p-P/2);return{topCode:w,bottomCode:y,codeHeight:x,topEdit:A,bottomEdit:q,editHeight:D}});const s=In(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(pF(this._elements.root,{display:In(this,r=>s.read(r)?"block":"none")})),this._register(_F(this._editor.getDomNode(),this._elements.root)),this._register(Pa(e).createOverlayWidget({domNode:this._elements.root,position:dl(null),allowEditorOverflow:!1,minContentWidthInPx:In(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(Kn(r=>{const a=this._layout.read(r);if(!a)return;const{topCode:d,bottomCode:u,topEdit:f,bottomEdit:g,editHeight:p}=a,w=10,y=0,x=40,k=new Z$().moveTo(d).lineTo(d.deltaX(w)).curveTo(d.deltaX(w+x),f.deltaX(-x-y),f.deltaX(-y)).lineTo(f).lineTo(g).lineTo(g.deltaX(-y)).curveTo(g.deltaX(-x-y),u.deltaX(w+x),u.deltaX(w)).lineTo(u).build();this._elements.path.setAttribute("d",k),this._elements.editorContainer.style.top=`${f.y}px`,this._elements.editorContainer.style.left=`${f.x}px`,this._elements.editorContainer.style.height=`${p}px`;const D=this._previewEditorObs.contentWidth.read(r);this._previewEditor.layout({height:p,width:D})})),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(X$(K$(this._userPrompt,r=>r??"",r=>r),Pa(this._promptEditor).value)),this._register(Kn(r=>{const a=Pa(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};V1=U$([q$(3,Bi)],V1);function K$(o,e,t){return $T(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class Nh{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new Nh(this.x+e,this.y)}}class Z${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 X$(o,e){const t=new pt;return t.add(Kn(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(Kn(i=>{const n=e.read(i);o.set(n,void 0)})),t}var Y$=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},sS=function(o,e){return function(t,i){e(t,i,o)}},Fg,ru;let j1=(ru=class extends mt{static _createUniqueUri(){return Tn.from({scheme:"inline-edits",path:new Date().toString()+String(Fg._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=c0(this),this._selectedInlineCompletionId=$o(this,void 0),this._isActive=$o(this,!1),this._originalModel=Pc(()=>this._modelService.createModel("",null,Fg._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Pc(()=>this._modelService.createModel("",null,Fg._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new J$(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(d=>!!d),this.userPrompt=$o(this,void 0),this.inlineEdit=In(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=In(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(k){var P;const D=((P=k[0].match(/^\s*/))==null?void 0:P[0])??"";return k.map(A=>A.replace(new RegExp("^"+D),""))}g=p(g);let y=this.textModel.getValueInRange(f).split(/\r\n|\r|\n/);y=p(y),this._originalModel.get().setValue(y.join(`
74
+ `)),this._modifiedModel.get().setValue(g.join(`
75
+ `));const x=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return OT.fromFn(async()=>{const k=await x.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},qi.None);if(!k.identical)return new G$(mF.fromRangeInclusive(f),p(g),k.changes)})}),this._fetchStore=this._register(new pt),this._inlineEditsFetchResult=LS(this,void 0),this._inlineEdits=ll({owner:this,equalsFn:jT},d=>{var u;return((u=this._inlineEditsFetchResult.read(d))==null?void 0:u.completions.map(f=>new Q$(f)))??[]}),this._fetchInlineEditsPromise=yT({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:pl.Automatic}),handleChange:(d,u)=>(d.didChange(this._forceUpdateExplicitlySignal)&&(u.inlineCompletionTriggerKind=pl.Explicit),!0)},async(d,u)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(d),this._textModelVersionId.read(d);function f(x,k){return k(x)}const g=this._pinnedRange.range.read(d)??f(this._selection.read(d),x=>x.isEmpty()?void 0:x);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)},w=ES(this._fetchStore);await Iy(200,w);const y=await $R(this.languageFeaturesService.inlineCompletionsProvider,g,this.textModel,p,w);w.isCancellationRequested||this._inlineEditsFetchResult.set(y,void 0)}),this._filteredInlineEditItems=ll({owner:this,equalsFn:IS()},d=>this._inlineEdits.read(d)),this.selectedInlineCompletionIndex=In(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=In(this,d=>{const u=this._filteredInlineEditItems.read(d),f=this.selectedInlineCompletionIndex.read(d);return u[f]}),this._register(wT(this._fetchInlineEditsPromise))}async triggerExplicitly(e){sv(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){sv(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 yf;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},Fg=ru,ru._modelId=0,ru);j1=Fg=Y$([sS(4,ei),sS(5,_0),sS(6,lo)],j1);class Q${constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class J$ extends mt{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=$o(this,[]),this.range=In(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(jn(()=>{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 eU=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)}},$1,au;let Il=(au=class extends mt{static get(e){return e.getContribution($1.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=vF("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Pa(this.editor),this._selection=In(this,a=>this._editorObs.cursorSelection.read(a)??new bi(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=Pc(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(DS(j1,a),d,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=yy(this,(a,d)=>{var u;return d||((u=this.model.read(a))==null?void 0:u.inlineEdit.read(a))!==void 0}),this._widget=Pc(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(DS(V1,a),this.editor,this.model.map((d,u)=>d==null?void 0:d.inlineEdit.read(u)),tU(d=>{var u;return((u=this.model.read(d))==null?void 0:u.userPrompt)??$o("empty","")}))}),this._register(EL(Bf,this._contextKeyService,a=>{var d;return!!((d=this.model.read(a))!=null&&d.inlineEdit.read(a))})),this._register(EL(j$,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)}},$1=au,au.ID="editor.contrib.inlineEditsController",au);Il=$1=eU([wg(1,Bi),wg(2,yn),wg(3,cr),wg(4,ei),wg(5,Un)],Il);function tU(o){return $T(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function R_(o){return{label:o.value,alias:o.original}}const Qb=class Qb extends Xe{constructor(){super({id:Qb.ID,...R_(Kt("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:De.and(W.writable,Bf),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Il.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};Qb.ID=V$;let U1=Qb;const Jb=class Jb extends Xe{constructor(){super({id:Jb.ID,...R_(Kt("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:De.and(W.writable,Bf),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Il.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Jb.ID=z$;let q1=Jb;class iU extends Xe{constructor(){super({id:"editor.action.inlineEdits.trigger",...R_(Kt("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:W.writable})}async run(e,t){const i=Il.get(t);await PT(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class nU extends Xe{constructor(){super({id:B$,...R_(Kt("action.inlineEdits.accept","Accept Inline Edit")),precondition:Bf,menuOpts:{menuId:Wt.InlineEditsActions,title:C("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Di.check},kbOpts:{primary:2058,weight:2e4,kbExpr:Bf}})}async run(e,t){var n;t instanceof Fr&&(t=t.getParentEditor());const i=Il.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const ey=class ey extends Xe{constructor(){super({id:ey.ID,...R_(Kt("action.inlineEdits.hide","Hide Inline Edit")),precondition:Bf,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Il.get(t);Hu(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};ey.ID="editor.action.inlineEdits.hide";let G1=ey;Yi(Il.ID,Il,3);me(iU);me(U1);me(q1);me(nU);me(G1);const Ru={Visible:new fn("parameterHintsVisible",!1),MultipleSignatures:new fn("parameterHintsMultipleSignatures",!1)};async function cN(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){rs(a)}}Hn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;wn(Tn.isUri(t)),wn(Jt.isIPosition(i)),wn(typeof n=="string"||!n);const s=o.get(ei),r=await o.get(pa).createModelReference(t);try{const a=await cN(s.signatureHelpProvider,r.object.textEditorModel,Jt.lift(i),{triggerKind:cc.Invoke,isRetrigger:!1,triggerCharacter:n},qi.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var Gl;(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})(Gl||(Gl={}));const ty=class ty extends mt{constructor(e,t,i=ty.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new Ui),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Gl.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new qo),this.triggerChars=new iv,this.retriggerChars=new iv,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Tc(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=Gl.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(Rn)}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 Gl.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(sU);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 Gl.Pending(Rs(d=>cN(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 Gl.Active(d.value),this._lastSignatureHelpResult.value=d,this._onChangedHints.fire(this.state.hints),!0)}catch(d){return e===this.triggerId&&(this.state=Gl.Default),Rn(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:cc.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:cc.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:cc.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};ty.DEFAULT_DELAY=120;let K1=ty;function sU(o,e){switch(e.triggerKind){case cc.Invoke:return e;case cc.ContentChange:return o;case cc.TriggerCharacter:default:return e}}var oU=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},bm=function(o,e){return function(t,i){e(t,i,o)}},Z1;const Ao=Ut,rU=is("parameter-hints-next",Di.chevronDown,C("parameterHintsNextIcon","Icon for show next parameter hint.")),aU=is("parameter-hints-previous",Di.chevronUp,C("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var lu;let X1=(lu=class extends mt{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new pt),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new qf({editor:e},s,n)),this.keyVisible=Ru.Visible.bindTo(i),this.keyMultipleSignatures=Ru.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=Ao(".editor-widget.parameter-hints-widget"),t=Bt(e,Ao(".phwrapper"));t.tabIndex=-1;const i=Bt(t,Ao(".controls")),n=Bt(i,Ao(".button"+Sn.asCSSSelector(aU))),s=Bt(i,Ao(".overloads")),r=Bt(i,Ao(".button"+Sn.asCSSSelector(rU)));this._register(bn(n,"click",p=>{tv.stop(p),this.previous()})),this._register(bn(r,"click",p=>{tv.stop(p),this.next()}));const a=Ao(".body"),d=new kT(a,{alwaysConsumeMouseWheel:!0});this._register(d),t.appendChild(d.getDomNode());const u=Bt(a,Ao(".signature")),f=Bt(a,Ao(".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),w=this.domNodes.element;w.style.fontSize=`${p.fontSize}px`,w.style.lineHeight=`${p.lineHeight/p.fontSize}`,w.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",p.fontFamily),w.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",t0.fontFamily)};g(),this._register(vs.chain(this.editor.onDidChangeConfiguration.bind(this.editor),p=>p.filter(w=>w.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=Bt(this.domNodes.signature,Ao(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const u=Bt(n,Ao("span"));u.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const u=Ao("span.documentation");if(typeof a.documentation=="string")u.textContent=a.documentation;else{const f=this.renderMarkdownDocs(a.documentation);u.appendChild(f.element)}Bt(this.domNodes.docs,Ao("p",{},u))}if(i.documentation!==void 0)if(typeof i.documentation=="string")Bt(this.domNodes.docs,Ao("p",{},i.documentation));else{const u=this.renderMarkdownDocs(i.documentation);Bt(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&&(Ar(C("hint","{0}, hint",u)),this.announcedLabel=u)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new Po,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"&&Ih(t.documentation).length>0||t&&typeof t.documentation=="object"&&Ih(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&Ih(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&Ih(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),Bt(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|^)${hp(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 Z1.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)}},Z1=lu,lu.ID="editor.widget.parameterHintsWidget",lu);X1=Z1=oU([bm(2,yn),bm(3,ha),bm(4,ga),bm(5,fa)],X1);qt("editorHoverWidget.highlightForeground",DT,C("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var lU=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},vE=function(o,e){return function(t,i){e(t,i,o)}},Y1,cu;let zf=(cu=class extends mt{static get(e){return e.getContribution(Y1.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new K1(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 Gx(()=>this._register(t.createInstance(X1,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)}},Y1=cu,cu.ID="editor.controller.parameterHints",cu);zf=Y1=lU([vE(1,Bi),vE(2,ei)],zf);class cU extends Xe{constructor(){super({id:"editor.action.triggerParameterHints",label:C("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:W.hasSignatureHelpProvider,kbOpts:{kbExpr:W.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=zf.get(t);i==null||i.trigger({triggerKind:cc.Invoke})}}Yi(zf.ID,zf,2);me(cU);const gk=175,pk=yo.bindToContribution(zf.get);ni(new pk({id:"closeParameterHints",precondition:Ru.Visible,handler:o=>o.cancel(),kbOpts:{weight:gk,kbExpr:W.focus,primary:9,secondary:[1033]}}));ni(new pk({id:"showPrevParameterHint",precondition:De.and(Ru.Visible,Ru.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:gk,kbExpr:W.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));ni(new pk({id:"showNextParameterHint",precondition:De.and(Ru.Visible,Ru.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:gk,kbExpr:W.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var dU=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},uU=function(o,e){return function(t,i){e(t,i,o)}};class hU{constructor(e){this.instantiationService=e}init(...e){}}function fU(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=h_((n,s)=>{const r=DS(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function gU(o){return bF()?fU(o,Q1):o()}let Q1=class extends hU{constructor(e,t){super(t),this.init(e)}};Q1=dU([uU(1,Bi)],Q1);Yi(Bp.ID,gU(()=>Bp),0);qt("editor.placeholder.foreground",yF,C("placeholderForeground","Foreground color of the placeholder text in the editor."));var pU=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},ym=function(o,e){return function(t,i){e(t,i,o)}};const eg=new fn("renameInputVisible",!1,C("renameInputVisible","Whether the rename input widget is visible"));new fn("renameInputFocused",!1,C("renameInputFocused","Whether the rename input widget is focused"));let J1=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 pt,this._visibleContextKey=eg.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new Po,this._inputWithButton=new _U,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 _k(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(wF),i=e.getColor(SF);this._domNode.style.backgroundColor=String(e.getColor(LT)??""),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(CF)??"");const n=e.getColor(xF);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(DL)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(DL)??""),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;wn(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=f_(this.getDomNode().ownerDocument.body),t=_o(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}=zp.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=C({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;wn(this._renameCandidateListView),wn(this._nPxAvailableAbove!==void 0),wn(this._nPxAvailableBelow!==void 0);const t=kh(this._inputWithButton.domNode),i=kh(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:br(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 pt;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,Zn.KEY_DOWN,f=>{const g=new m0(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 Jt(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(jn(()=>{this._renameCts=void 0,s.dispose(!0)})),d.add(jn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),d.add(jn(()=>this._candidates.clear()));const u=new py;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"),wn(this._renameCandidateListView!==void 0);const g=this._renameCandidateListView.nCandidates;let p,w;const y=this._renameCandidateListView.focusedCandidate;if(y!==void 0?(this._trace("using new name from renameSuggestion"),p=y,w={k:"renameSuggestion"}):(this._trace("using new name from inputField"),p=this._inputWithButton.input.value,w=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:w,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),wn(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new Ns;const i=t?TS.Invoke:TS.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){wn(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!X.isEmpty(i)&&!X.spansMultipleLines(i)&&X.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 r_(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"&&Im(u.value)?u.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=PD(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)}};J1=pU([ym(2,Hr),ym(3,hs),ym(4,yn),ym(5,Wu)],J1);class _k{constructor(e,t){this._disposables=new pt,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=_k._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(TT({listInactiveFocusForeground:IT,listInactiveFocusBackground:ET}))}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`,pf(C("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}=zp.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 zp(r,i)}renderElement(r,a,d){d.populate(r)}disposeTemplate(r){r.dispose()}};return new Yx("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class _U{constructor(){this._onDidInputChange=new Ui,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new pt}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",C("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=C("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=C("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=kF().setupManagedHover(ky("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(bn(this.input,Zn.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(bn(this.input,Zn.KEY_DOWN,e=>{const t=new m0(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(bn(this.input,Zn.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(bn(this.input,Zn.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,Zn.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return wn(this._inputNode),this._inputNode}get button(){return wn(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=PS(Di.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=PS(Di.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 lp=class lp{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=`${lp._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=PS(Di.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),mT(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(LF.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+lp._PADDING*2}}dispose(){}};lp._PADDING=2;let zp=lp;var mU=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},$l=function(o,e){return function(t,i){e(t,i,o)}},ex;class mk{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 X(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
76
+ `):void 0}:{range:X.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(C("no result","No result.")),n);return r}}async function vU(o,e,t,i){const n=new mk(e,t,o),s=await n.resolveRenameLocation(qi.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,qi.None)}var du;let Oc=(du=class{static get(e){return e.getContribution(ex.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 pt,this._cts=new Ns,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(J1,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var y,x;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new Ns,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new mk(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new ff(this.editor,5,void 0,this._cts.token);let s;try{e("resolving rename location");const k=i.resolveRenameLocation(n.token);this._progressService.showWhile(k,250),s=await k,e("resolved rename location")}catch(k){k instanceof _y?e("resolve rename location cancelled",JSON.stringify(k,null," ")):(e("resolve rename location failed",k instanceof Error?k:JSON.stringify(k,null," ")),(typeof k=="string"||km(k))&&((y=Eo.get(this.editor))==null||y.showMessage(k||C("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),(x=Eo.get(this.editor))==null||x.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new ff(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 k=>[k,await k.supportsAutomaticNewSymbolNamesTriggerKind??!1])),f=(k,D)=>{let P=u.slice();return k===TS.Automatic&&(P=P.filter(([A,q])=>q)),P.map(([A])=>A.provideNewSymbolNames(a,s.range,k,D))};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 w=r_(i.provideRenameEdits(p.newName,r.token),r.token).then(async k=>{if(!k){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(k.rejectReason){e(`returning early - rejected with reason: ${k.rejectReason}`),this._notificationService.info(k.rejectReason);return}this.editor.setSelection(X.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(k,{editor:this.editor,showPreview:p.wantsPreview,label:C("label","Renaming '{0}' to '{1}'",s==null?void 0:s.text,p.newName),code:"undoredo.rename",quotableLabel:C("quotableLabel","Renaming {0} to {1}",s==null?void 0:s.text,p.newName),respectAutoSaveConfig:!0}).then(D=>{e("edits applied"),D.ariaSummary&&Ar(C("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",s.text,p.newName,D.ariaSummary))}).catch(D=>{e(`error when applying edits ${JSON.stringify(D,null," ")}`),this._notificationService.error(C("rename.failedApply","Rename failed to apply edits")),this._logService.error(D)})},k=>{e("error when providing rename edits",JSON.stringify(k,null," ")),this._notificationService.error(C("rename.failed","Rename failed to compute edits")),this._logService.error(k)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(w,250),w}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)}},ex=du,du.ID="editor.contrib.renameController",du);Oc=ex=mU([$l(1,Bi),$l(2,ao),$l(3,fy),$l(4,l_),$l(5,Wu),$l(6,IF),$l(7,ei),$l(8,fa)],Oc);class bU extends Xe{constructor(){super({id:"editor.action.rename",label:C("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:De.and(W.writable,W.hasRenameProvider),kbOpts:{kbExpr:W.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(as),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return Tn.isUri(n)&&Jt.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))))},Rn):super.runCommand(e,t)}run(e,t){const i=e.get(Wu),n=Oc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}Yi(Oc.ID,Oc,4);me(bU);const vk=yo.bindToContribution(Oc.get);ni(new vk({id:"acceptRenameInput",precondition:eg,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:De.and(W.focus,De.not("isComposing")),primary:3}}));ni(new vk({id:"acceptRenameInputWithPreview",precondition:De.and(eg,De.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:De.and(W.focus,De.not("isComposing")),primary:2051}}));ni(new vk({id:"cancelRenameInput",precondition:eg,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:W.focus,primary:9,secondary:[1033]}}));Dn(class extends bo{constructor(){super({id:"focusNextRenameSuggestion",title:{...Kt("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:eg,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(as).getFocusedCodeEditor();if(!t)return;const i=Oc.get(t);i&&i.focusNextRenameSuggestion()}});Dn(class extends bo{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...Kt("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:eg,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(as).getFocusedCodeEditor();if(!t)return;const i=Oc.get(t);i&&i.focusPreviousRenameSuggestion()}});wo("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;wn(typeof n=="string");const{renameProvider:s}=o.get(ei);return vU(s,e,t,n)});wo("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(ei),s=await new mk(e,t,i).resolveRenameLocation(qi.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});ua.as(c_.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:C("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var yU=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},bE=function(o,e){return function(t,i){e(t,i,o)}},lf;let sb=(lf=class extends mt{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 bs(()=>{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=>wU(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()}},lf.ID="editor.sectionHeaderDetector",lf);sb=yU([bE(1,Es),bE(2,Rl)],sb);function wU(o){return{range:o.range,options:rn.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}Yi(sb.ID,sb,1);function SU(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 CU(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return EF()||SU(e),DF.wrap(e)}function dN(o){const e=new Uint32Array(xU(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 CU(e)}function xU(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 nw(o){return o&&!!o.data}function uN(o){return o&&Array.isArray(o.edits)}class kU{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function hN(o,e){return o.has(e)}function LU(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function fN(o,e,t,i,n){const s=LU(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||!nw(d)&&!uN(d))&&(d=null),new kU(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 IU(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class EU{constructor(e,t){this.provider=e,this.tokens=t}}function DU(o,e){return o.has(e)}function gN(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function bk(o,e,t,i){const n=gN(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(d){rs(d),a=null}return(!a||!nw(a))&&(a=null),new EU(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}Hn.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;wn(t instanceof Tn);const i=o.get(lo).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(ei),s=IU(n,i);return s?s[0].getLegend():o.get(Is).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});Hn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;wn(t instanceof Tn);const i=o.get(lo).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(ei);if(!hN(n,i))return o.get(Is).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await fN(n,i,null,null,qi.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!nw(a))return;const d=dN({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),d});Hn.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;wn(t instanceof Tn);const n=o.get(lo).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(ei),r=gN(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!X.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 bk(s,n,X.lift(i),qi.None);if(a)return a.provider.getLegend()});Hn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;wn(t instanceof Tn),wn(X.isIRange(i));const n=o.get(lo).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(ei),r=await bk(s,n,X.lift(i),qi.None);if(!(!r||!r.tokens))return dN({id:0,type:"full",data:r.tokens.data})});const yk="editor.semanticHighlighting";function Gm(o,e,t){var n;const i=(n=t.getValue(yk,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var pN=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},Ta=function(o,e){return function(t,i){e(t,i,o)}},ql;let tx=class extends mt{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=f=>{this._watchers[f.uri.toString()]=new ix(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(yk)&&u()})),this._register(i.onDidColorThemeChange(u))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};tx=pN([Ta(0,v0),Ta(1,lo),Ta(2,Hr),Ta(3,Un),Ta(4,cr),Ta(5,ei)],tx);var Ic;let ix=(Ic=class extends mt{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:ql.REQUEST_MIN_DELAY,max:ql.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new bs(()=>this._fetchDocumentSemanticTokensNow(),ql.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=()=>{to(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),to(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!hN(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new Ns,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=fN(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 Po(!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&&(Hc(d)||typeof d.message=="string"&&d.message.indexOf("busy")!==-1)||Rn(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(uN(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 w=t.edits[p];if(w.start>d.length){i.warnInvalidEditStart(s.resultId,t.resultId,p,w.start,d.length),this._model.tokenization.setSemanticTokens(null,!0);return}const y=f-(w.start+w.deleteCount);y>0&&(ql._copy(d,f-y,u,g-y,y),g-=y),w.data&&(ql._copy(w.data,0,u,g-w.data.length,w.data.length),g-=w.data.length),f=w.start}f>0&&ql._copy(d,0,u,0,f),t={resultId:t.resultId,data:u}}}if(nw(t)){this._currentDocumentResponse=new TU(e,t.resultId,t.data);const a=UT(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()}},ql=Ic,Ic.REQUEST_MIN_DELAY=300,Ic.REQUEST_MAX_DELAY=2e3,Ic);ix=ql=pN([Ta(1,v0),Ta(2,Hr),Ta(3,cr),Ta(4,ei)],ix);class TU{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}Uf(tx);var PU=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},Sg=function(o,e){return function(t,i){e(t,i,o)}},cf;let ob=(cf=class extends mt{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 bs(()=>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(yk)&&(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(!DU(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=Rs(r=>Promise.resolve(bk(this._provider,e,t,r))),s=new Po(!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,UT(d,u,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},cf.ID="editor.contrib.viewportSemanticTokens",cf);ob=PU([Sg(1,v0),Sg(2,Hr),Sg(3,Un),Sg(4,cr),Sg(5,ei)],ob);Yi(ob.ID,ob,1);class MU{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(TL(g)&&PL(f))break;f=g}for(d+=1;u<s.length;u++){const g=s.charCodeAt(u);if(PL(g)&&TL(f))break;if(g===95||g===45)break;f=g}d<u&&e.push({range:new X(i.lineNumber,r+d,i.lineNumber,r+u)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new X(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 X(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var RU=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},NU=function(o,e){return function(t,i){e(t,i,o)}},nx;class wk{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 wk(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var uu;let Vp=(uu=class{static get(e){return e.getContribution(nx.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 mN(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),qi.None).then(s=>{var r;if(!(!jo(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!Va(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 wk(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=>bi.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},nx=uu,uu.ID="editor.contrib.smartSelectController",uu);Vp=nx=RU([NU(1,ei)],Vp);class _N extends Xe{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=Vp.get(t);i&&await i.run(this._forward)}}class AU extends _N{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:C("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:W.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:Wt.MenubarSelectionMenu,group:"1_basic",title:C({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}Hn.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class OU extends _N{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:C("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:W.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:Wt.MenubarSelectionMenu,group:"1_basic",title:C({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}Yi(Vp.ID,Vp,4);me(AU);me(OU);async function mN(o,e,t,i,n){const s=o.all(e).concat(new MU(i.selectSubwords));s.length===1&&s.unshift(new jv);const r=[],a=[];for(const d of s)r.push(Promise.resolve(d.provideSelectionRanges(e,t,n)).then(u=>{if(jo(u)&&u.length===t.length)for(let f=0;f<t.length;f++){a[f]||(a[f]=[]);for(const g of u[f])X.isIRange(g.range)&&X.containsPosition(g.range,t[f])&&a[f].push(X.lift(g.range))}},rs));return await Promise.all(r),a.map(d=>{if(d.length===0)return[];d.sort((p,w)=>Jt.isBefore(p.getStartPosition(),w.getStartPosition())?1:Jt.isBefore(w.getStartPosition(),p.getStartPosition())||Jt.isBefore(p.getEndPosition(),w.getEndPosition())?-1:Jt.isBefore(w.getEndPosition(),p.getEndPosition())?1:0);const u=[];let f;for(const p of d)(!f||X.containsRange(p,f)&&!X.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 w=u[p-1],y=u[p];if(y.startLineNumber!==w.startLineNumber||y.endLineNumber!==w.endLineNumber){const x=new X(w.startLineNumber,e.getLineFirstNonWhitespaceColumn(w.startLineNumber),w.endLineNumber,e.getLineLastNonWhitespaceColumn(w.endLineNumber));x.containsRange(w)&&!x.equalsRange(w)&&y.containsRange(x)&&!y.equalsRange(x)&&g.push(x);const k=new X(w.startLineNumber,1,w.endLineNumber,e.getLineMaxColumn(w.endLineNumber));k.containsRange(w)&&!k.equalsRange(x)&&y.containsRange(k)&&!y.equalsRange(k)&&g.push(k)}g.push(y)}return g})}Hn.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;wn(Tn.isUri(t));const n=o.get(ei).selectionRangeProvider,s=await o.get(pa).createModelReference(t);try{return mN(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},qi.None)}finally{s.dispose()}});const FU=Object.freeze({View:Kt("view","View"),Help:Kt("help","Help"),Test:Kt("test","Test"),File:Kt("file","File"),Preferences:Kt("preferences","Preferences"),Developer:Kt({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class tp{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&&Va(this.startLineNumbers,e.startLineNumbers)&&Va(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new tp([],[],0)}}const yE=fT("stickyScrollViewLayer",{createHTML:o=>o}),oS="data-sticky-line-index",wE="data-sticky-is-line",HU="data-sticky-is-line-number",SE="data-sticky-is-folding-icon";class WU extends mt{constructor(e){super(),this._editor=e,this._foldingIconStore=new pt,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 Fr),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,Zn.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(bn(this._lineNumbersDomNode,Zn.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 Jt(t,1)).lineNumber,a=s.getViewLineRenderingData(r),d=this._editor.getOption(68);let u;try{u=bp.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{u=[]}const f=new _T(!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 gT(2e3),p=pT(f,g);let w;yE?w=yE.createHTML(g.build()):w=g.build();const y=document.createElement("span");y.setAttribute(oS,String(e)),y.setAttribute(wE,""),y.setAttribute("role","listitem"),y.tabIndex=0,y.className="sticky-line-content",y.classList.add(`stickyLine${t}`),y.style.lineHeight=`${this._lineHeight}px`,y.innerHTML=w;const x=document.createElement("span");x.setAttribute(oS,String(e)),x.setAttribute(HU,""),x.className="sticky-line-number",x.style.lineHeight=`${this._lineHeight}px`;const k=n.contentLeft;x.style.width=`${k}px`;const D=document.createElement("span");d.renderType===1||d.renderType===3&&t%10===0?D.innerText=t.toString():d.renderType===2&&(D.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),D.className="sticky-line-number-inner",D.style.lineHeight=`${this._lineHeight}px`,D.style.width=`${n.lineNumbersWidth}px`,D.style.paddingLeft=`${n.lineNumbersLeft}px`,x.appendChild(D);const P=this._renderFoldingIconForLine(i,t);P&&x.appendChild(P.domNode),this._editor.applyFontInfo(y),this._editor.applyFontInfo(D),x.style.lineHeight=`${this._lineHeight}px`,y.style.lineHeight=`${this._lineHeight}px`,x.style.height=`${this._lineHeight}px`,y.style.height=`${this._lineHeight}px`;const A=new BU(e,t,y,x,P,p.characterMapping,y.scrollWidth);return this._updateTopAndZIndexOfStickyLine(A)}_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 zU(d,r,n.getEndLineNumber(s),this._lineHeight);return u.setVisible(this._isOnGlyphMargin?!0:d||i==="always"),u.domNode.setAttribute(SE,""),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=TF(t.characterMapping,e,0);return new Jt(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,oS);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,wE)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,SE)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class BU{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 zU{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=Sn.asClassName(e?Mv:Pv)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class ip{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class rb{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class vN{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}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},jp=function(o,e){return function(t,i){e(t,i,o)}},np;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(np||(np={}));var ac;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(ac||(ac={}));let sx=class extends mt{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Tc(300)),this._updateOperation=this._register(new pt),this._editor.getOption(116).defaultModel){case np.OUTLINE_MODEL:this._modelProviders.push(new ox(this._editor,n));case np.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new ax(this._editor,t,n));case np.INDENTATION_MODEL:this._modelProviders.push(new rx(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 ac.CANCELED:return this._updateOperation.clear(),null;case ac.VALID:return t.stickyModel}}return null}).catch(t=>(Rn(t),null))}};sx=sw([jp(2,Bi),jp(3,ei)],sx);class bN extends mt{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,ac.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=Rs(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?ac.CANCELED:(this._stickyModel=this.createStickyModel(e,i),ac.VALID):this._invalid()).then(void 0,i=>(Rn(i),ac.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let ox=class extends bN{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return nl.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 vN(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(fl.first(e.children.values())instanceof BR){const a=fl.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 w=this._findSumOfRangesOfGroup(p);w>u&&(f=p,u=w,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 ip(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),f=new ip(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 rb(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 ip(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new rb(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 KC?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};ox=sw([jp(1,ei)],ox);class yN extends bN{constructor(e){super(e),this._foldingLimitReporter=new FR(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new vN(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new rb(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 rb(new ip(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(d),i.push(d)}return n}}let rx=class extends yN{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new rk(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};rx=sw([jp(1,Es)],rx);let ax=class extends yN{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=Ac.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new ak(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}};ax=sw([jp(2,ei)],ax);var VU=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},CE=function(o,e){return function(t,i){e(t,i,o)}};class jU{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let lx=class extends mt{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new Ui),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new pt),this._updateSoon=this._register(new bs(()=>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(jn(()=>{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 sx(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new Ns,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(ov(a,e.startLineNumber,(f,g)=>f-g)),u=this.updateIndex(ov(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,w=g.range.endLineNumber;e.startLineNumber<=w+1&&p-1<=e.endLineNumber&&p!==r&&(r=p,i.push(new jU(p,w-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}};lx=VU([CE(1,ei),CE(2,Es)],lx);var $U=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},hh=function(o,e){return function(t,i){e(t,i,o)}},cx,hu;let El=(hu=class extends mt{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 pt,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 WU(this._editor),this._stickyLineCandidateProvider=new lx(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=tp.Empty,this._onDidResize(),this._readConfiguration();const d=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(f=>{this._readConfigurationChange(f)})),this._register(bn(d,Zn.CONTEXT_MENU,async f=>{this._onContextMenu(yd(d),f)})),this._stickyScrollFocusedContextKey=W.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=W.stickyScrollVisible.bindTo(this._contextKeyService);const u=this._register(gf(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,Zn.MOUSE_DOWN,f=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(cx.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 pt,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(X.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new pt),t=this._register(new Gy(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 X(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(wl(n,Zn.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 Jt(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 Jt(u,1)}this._revealPosition(d)})),this._register(wl(n,Zn.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,Zn.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 Ns;e.add(jn(()=>f.dispose(!0)));let g;D_(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Jt(d.startLineNumber,d.startColumn+1),!1,f.token).then((p=>{if(!f.token.isCancellationRequested)if(p.length!==0){this._candidateDefinitionsLength=p.length;const w=u;g!==w?(e.clear(),g=w,g.style.textDecoration="underline",e.add(jn(()=>{g.style.textDecoration="none"}))):g||(g=w,g.style.textDecoration="underline",e.add(jn(()=>{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(yR,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new PF(e,t);this._contextMenuService.showContextMenu({menuId:Wt.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;nk(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=Ac.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=tp.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 ip(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,w=f.nestingDepth;if(p-g>0){const y=(w-1)*e,x=w*e,k=this._editor.getBottomForLineNumber(g)-i,D=this._editor.getTopForLineNumber(p)-i,P=this._editor.getBottomForLineNumber(p)-i;if(y>D&&y<=P){s.push(g),r.push(p+1),n=P-x;break}else x>k&&x<=P&&(s.push(g),r.push(p+1));if(s.length===t)break}}}return this._endLineNumbers=r,new tp(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},cx=hu,hu.ID="store.contrib.stickyScrollController",hu);El=cx=$U([hh(1,Vf),hh(2,ei),hh(3,Bi),hh(4,Es),hh(5,cr),hh(6,yn)],El);class UU extends bo{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...Kt("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:C({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:Kt("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:FU.View,toggled:{condition:De.equals("config.editor.stickyScroll.enabled",!0),title:C("stickyScroll","Sticky Scroll"),mnemonicTitle:C({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:Wt.CommandPalette},{id:Wt.MenubarAppearanceMenu,group:"4_editor",order:3},{id:Wt.StickyScrollContext}]})}async run(e){const t=e.get(Un),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const ow=100;class qU extends da{constructor(){super({id:"editor.action.focusStickyScroll",title:{...Kt("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:C({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:De.and(De.has("config.editor.stickyScroll.enabled"),W.stickyScrollVisible),menu:[{id:Wt.CommandPalette}]})}runEditorCommand(e,t){var i;(i=El.get(t))==null||i.focus()}}class GU extends da{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:Kt("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:W.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:18}})}runEditorCommand(e,t){var i;(i=El.get(t))==null||i.focusNext()}}class KU extends da{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:Kt("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:W.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:16}})}runEditorCommand(e,t){var i;(i=El.get(t))==null||i.focusPrevious()}}class ZU extends da{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:Kt("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:W.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:3}})}runEditorCommand(e,t){var i;(i=El.get(t))==null||i.goToFocused()}}class XU extends da{constructor(){super({id:"editor.action.selectEditor",title:Kt("selectEditor.title","Select Editor"),precondition:W.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:9}})}runEditorCommand(e,t){var i;(i=El.get(t))==null||i.selectEditor()}}Yi(El.ID,El,1);Dn(UU);Dn(qU);Dn(KU);Dn(GU);Dn(ZU);Dn(XU);var wN=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},Hg=function(o,e){return function(t,i){e(t,i,o)}};class YU{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 dx=class extends MF{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=fl.slice(t,i),s=fl.slice(t,0,i);let r=5;for(const a of fl.concat(n,s)){if(a.score===_p.Default)continue;const d=new X(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 YU(d,u,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(qi.None)}return e}};dx=wN([Hg(5,ew)],dx);let ux=class extends mt{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 w;if(i.selectedSuggestionInfo)return;let s;for(const y of this._editorService.listCodeEditors())if(y.getModel()===e){s=y;break}if(!s)return;const r=s.getOption(90);if(Rh.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(Rh.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 X(t.lineNumber,1,t.lineNumber,t.column));if(!f&&((w=this._lastResult)!=null&&w.canBeReused(e,t.lineNumber,u))){const y=new lE(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=y,this._lastResult.acquire(),g=this._lastResult}else{const y=await lk(this._languageFeatureService.completionProvider,e,t,new Np(void 0,Uv.createSuggestFilter(s).itemKind,f==null?void 0:f.providers),f&&{triggerKind:1,triggerCharacter:f.ch},n);let x;y.needsClipboard&&(x=await this._clipboardService.readText());const k=new Yl(y.items,t.column,new lE(p,0),$v.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},x);g=new dx(e,t.lineNumber,u,k,y,this._suggestMemoryService)}return this._lastResult=g,g}handleItemDidShow(e,t){t.completion.resolve(qi.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(X.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}}};ux=wN([Hg(0,ei),Hg(1,jf),Hg(2,ew),Hg(3,as)],ux);Uf(ux);class QU extends Xe{constructor(){super({id:"editor.action.forceRetokenize",label:C("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 Po;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}me(QU);const iy=class iy extends bo{constructor(){super({id:iy.ID,title:Kt({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:Kt("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=!ML.getTabFocusMode();ML.setTabFocusMode(t),t?Ar(C("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):Ar(C("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};iy.ID="editor.action.toggleTabFocusMode";let hx=iy;Dn(hx);var JU=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},xE=function(o,e){return function(t,i){e(t,i,o)}};let fx=class extends mt{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=Bt(e,Ut("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??ky("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new xw(this.el,"click")),a=this._register(new xw(this.el,"keypress")),d=vs.chain(a.event,g=>g.map(p=>new m0(p)).filter(p=>p.keyCode===3)),u=this._register(new xw(this.el,RF.Tap)).event;this._register(ND.addTarget(this.el));const f=vs.any(r.event,d,u);this._register(f(g=>{this.enabled&&(tv.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)}};fx=JU([xE(3,g_),xE(4,ha)],fx);var SN=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},CN=function(o,e){return function(t,i){e(t,i,o)}};const e8=26;let gx=class extends mt{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(px))}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,e8)}};gx=SN([CN(1,Bi)],gx);let px=class extends mt{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(qf,{}),this.element=Ut("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=Ut("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=Bt(this.element,Ut("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(Ut(`div${Sn.asCSSSelector(e.icon)}`));const n=Bt(this.element,Ut("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=Bt(this.element,Ut("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(fx,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=Bt(this.element,Ut("div.action-container"));this.actionBar=this._register(new dp(s)),this.actionBar.push(this._register(new vf("banner.close","Close Banner",Sn.asClassName(iT),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};px=SN([CN(0,Bi)],px);var Sk=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},qh=function(o,e){return function(t,i){e(t,i,o)}};const t8=is("extensions-warning-message",Di.warning,C("warningIcon","Icon shown with a warning message in the extensions editor."));var df;let $p=(df=class extends mt{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:C("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new qp};else if(s.ambiguousCharacterCount>=r)a={message:C("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new Nu};else if(s.invisibleCharacterCount>=r)a={message:C("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new Up};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:t8,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(gx,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=i8(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"?NF:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new _x(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new n8(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},df.ID="editor.contrib.unicodeHighlighter",df);$p=Sk([qh(1,Rl),qh(2,AF),qh(3,Bi)],$p);function i8(o,e){return{nonBasicASCII:e.nonBasicASCII===kw?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===kw?!o:e.includeComments,includeStrings:e.includeStrings===kw?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let _x=class extends mt{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 bs(()=>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:ab.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!qT(t,e))return null;const i=t.getValueInRange(e.range);return{reason:kN(i,this._options),inComment:KT(t,e),inString:GT(t,e)}}};_x=Sk([qh(3,Rl)],_x);class n8 extends mt{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 bs(()=>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=ZT.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:ab.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 qT(t,e)?{reason:kN(i,this._options),inComment:KT(t,e),inString:GT(t,e)}:null}}const xN=C("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let mx=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($p.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=rS(g);let w;switch(u.reason.kind){case 0:{vT(u.reason.confusableWith)?w=C("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",p,rS(u.reason.confusableWith.codePointAt(0))):w=C("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",p,rS(u.reason.confusableWith.codePointAt(0)));break}case 1:w=C("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",p);break;case 2:w=C("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",p);break}if(r.has(w))continue;r.add(w);const y={codePoint:g,reason:u.reason,inComment:u.inComment,inString:u.inString},x=C("unicodeHighlight.adjustSettings","Adjust settings"),k=`command:${lb.ID}?${encodeURIComponent(JSON.stringify(y))}`,D=new Js("",!0).appendMarkdown(w).appendText(" ").appendLink(k,x,xN);s.push(new Er(this,d.range,[D],!1,a++))}return s}renderHoverParts(e,t){return MB(e,t,this._editor,this._languageService,this._openerService)}};mx=Sk([qh(1,ga),qh(2,ha)],mx);function vx(o){return`U+${o.toString(16).padStart(4,"0")}`}function rS(o){let e=`\`${vx(o)}\``;return XT.isInvisibleCharacter(o)||(e+=` "${`${s8(o)}`}"`),e}function s8(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function kN(o,e){return ZT.computeUnicodeHighlightReason(o,e)}const ny=class ny{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=rn.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}};ny.instance=new ny;let ab=ny;class o8 extends Xe{constructor(){super({id:Nu.ID,label:C("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=C("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e==null?void 0:e.get(Un);n&&this.runAction(n)}async runAction(e){await e.updateValue(Cl.includeComments,!1,2)}}class r8 extends Xe{constructor(){super({id:Nu.ID,label:C("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=C("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e==null?void 0:e.get(Un);n&&this.runAction(n)}async runAction(e){await e.updateValue(Cl.includeStrings,!1,2)}}const sy=class sy extends Xe{constructor(){super({id:sy.ID,label:C("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=C("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Un);n&&this.runAction(n)}async runAction(e){await e.updateValue(Cl.ambiguousCharacters,!1,2)}};sy.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let Nu=sy;const oy=class oy extends Xe{constructor(){super({id:oy.ID,label:C("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=C("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Un);n&&this.runAction(n)}async runAction(e){await e.updateValue(Cl.invisibleCharacters,!1,2)}};oy.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let Up=oy;const ry=class ry extends Xe{constructor(){super({id:ry.ID,label:C("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=C("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Un);n&&this.runAction(n)}async runAction(e){await e.updateValue(Cl.nonBasicASCII,!1,2)}};ry.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let qp=ry;const ay=class ay extends Xe{constructor(){super({id:ay.ID,label:C("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(Un);function g(y){return XT.isInvisibleCharacter(y)?C("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",vx(y)):C("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${vx(y)} "${d}"`)}const p=[];if(s.kind===0)for(const y of s.notAmbiguousInLocales)p.push({label:C("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',y),run:async()=>{l8(f,[y])}});if(p.push({label:g(n),run:()=>a8(f,[n])}),a){const y=new o8;p.push({label:y.label,run:async()=>y.runAction(f)})}else if(r){const y=new r8;p.push({label:y.label,run:async()=>y.runAction(f)})}if(s.kind===0){const y=new Nu;p.push({label:y.label,run:async()=>y.runAction(f)})}else if(s.kind===1){const y=new Up;p.push({label:y.label,run:async()=>y.runAction(f)})}else if(s.kind===2){const y=new qp;p.push({label:y.label,run:async()=>y.runAction(f)})}else c8(s);const w=await u.pick(p,{title:xN});w&&await w.run()}};ay.ID="editor.action.unicodeHighlight.showExcludeOptions";let lb=ay;async function a8(o,e){const t=o.getValue(Cl.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(Cl.allowedCharacters,i,2)}async function l8(o,e){var n;const t=(n=o.inspect(Cl.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(Cl.allowedLocales,i,2)}function c8(o){throw new Error(`Unexpected value: ${o}`)}me(Nu);me(Up);me(qp);me(lb);Yi($p.ID,$p,1);ju.register(mx);var d8=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},kE=function(o,e){return function(t,i){e(t,i,o)}};const LN="ignoreUnusualLineTerminators";function u8(o,e,t){o.setModelProperty(e.uri,LN,t)}function h8(o,e){return o.getModelProperty(e.uri,LN)}var uf;let cb=(uf=class extends mt{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()||h8(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:C("unusualLineTerminators.title","Unusual Line Terminators"),message:C("unusualLineTerminators.message","Detected unusual line terminators"),detail:C("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`.",$a(e.uri)),primaryButton:C({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:C("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){u8(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},uf.ID="editor.contrib.unusualLineTerminatorsDetector",uf);cb=d8([kE(1,b0),kE(2,as)],cb);Yi(cb.ID,cb,1);var f8=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},g8=function(o,e){return function(t,i){e(t,i,o)}};class LE{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,RL,!1).map(a=>({range:a.range,kind:av.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new Dc,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,RL,!1).map(f=>({range:f.range,kind:av.Text}));u&&s.set(a.uri,u)}return s}}let bx=class extends mt{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new LE)),this._register(e.multiDocumentHighlightProvider.register("*",new LE))}};bx=f8([g8(0,ei)],bx);var IN=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},Km=function(o,e){return function(t,i){e(t,i,o)}},ts,yx;const Ck=new fn("hasWordHighlights",!1);function EN(o,e,t,i){const n=o.ordered(e);return f0(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,rs)),s=>s!=null).then(s=>{if(s){const r=new Dc;return r.set(e.uri,s),r}return new Dc})}function p8(o,e,t,i,n,s){const r=o.ordered(e);return f0(r.map(a=>()=>{const d=s.filter(u=>FF(u)).filter(u=>HF(a.selector,u.uri,u.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,d,n)).then(void 0,rs)}),a=>a!=null)}class DN{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=Rs(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new X(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 _8 extends DN{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return EN(this._providers,e,t.getPosition(),n).then(s=>s||new Dc)}}class m8 extends DN{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return p8(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new Dc)}}function v8(o,e,t,i,n){return new _8(e,t,n,o)}function b8(o,e,t,i,n,s){return new m8(e,t,n,o,s)}wo("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(ei),n=await EN(i.documentHighlightProvider,e,t,qi.None);return n==null?void 0:n.get(e.uri)});var Ec;let wx=(Ec=class{constructor(e,t,i,n,s){this.toUnhook=new pt,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Dc,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new Tc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=Ck.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=>{OF(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():ts.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=ts.query)==null?void 0:d.modelInfo)==null?void 0:u.model);break;case"multiFile":ts.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,ts.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(X.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);Ar(`${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);Ar(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=ts.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),ts.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()||Jm(n.getModel().uri,e==null?void 0:e.uri))continue;const s=ts.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=Fc.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)ts.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==go.vscodeNotebookCell&&((i=(t=ts.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==go.vscodeNotebookCell?(ts.query=null,this._run()):(n=ts.query)!=null&&n.modelInfo&&(ts.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)!==go.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===go.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const d=a.getModel();d&&d!==e&&d.uri.scheme===go.vscodeNotebookCell&&s.push(d)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!YT(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){ts.query=null,this._stopAll();return}const a=r.startColumn,d=r.endColumn,u=this._getWord();if(!u||u.startColumn>a||u.endColumn<d){ts.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),ts.query={modelInfo:{model:this.model,selection:r},word:u}}else if(!ts.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(Jm(this.editor.getModel().uri,(n=ts.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(!ts.query||!ts.query.modelInfo||ts.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(ts.query.modelInfo.model,ts.query.modelInfo.selection,ts.query.word,a),(s=this.workerRequest)==null||s.result.then(d=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=d||[],this._beginRenderDecorations())},Rn)}}computeWithModel(e,t,i,n){return n.length?b8(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):v8(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=Fc.get(s);if(!r)continue;const a=[],d=(t=s.getModel())==null?void 0:t.uri;if(d&&this.workerRequestValue.has(d)){const u=ts.storedDecorationIDs.get(d),f=this.workerRequestValue.get(d);if(f)for(const p of f)p.range&&a.push({range:p.range,options:a$(p.kind)});let g=[];s.changeDecorations(p=>{g=p.deltaDecorations(u??[],a)}),ts.storedDecorationIDs=ts.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()}},ts=Ec,Ec.storedDecorationIDs=new Dc,Ec.query=null,Ec);wx=ts=IN([Km(4,as)],wx);var fu;let Fc=(fu=class extends mt{static get(e){return e.getContribution(yx.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new wx(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()}},yx=fu,fu.ID="editor.contrib.wordHighlighter",fu);Fc=yx=IN([Km(1,yn),Km(2,ei),Km(3,as)],Fc);class TN extends Xe{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Fc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class y8 extends TN{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:C("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:Ck,kbOpts:{kbExpr:W.editorTextFocus,primary:65,weight:100}})}}class w8 extends TN{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:C("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:Ck,kbOpts:{kbExpr:W.editorTextFocus,primary:1089,weight:100}})}}class S8 extends Xe{constructor(){super({id:"editor.action.wordHighlight.trigger",label:C("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:W.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=Fc.get(t);n&&n.restoreViewState(!0)}}Yi(Fc.ID,Fc,0);me(y8);me(w8);me(S8);Uf(bx);class rw extends yo{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Bu(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,d=r.map(u=>{const f=new Jt(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=>WF.fromModelSelection(u))),d.length===1){const u=new Jt(d[0].positionLineNumber,d[0].positionColumn);t.revealPosition(u,0)}}_moveTo(e,t,i){return i?new bi(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new bi(t.lineNumber,t.column,t.lineNumber,t.column)}}class zc extends rw{_move(e,t,i,n,s){return b_.moveWordLeft(e,t,i,n,s)}}class Vc extends rw{_move(e,t,i,n,s){return b_.moveWordRight(e,t,i,n)}}class C8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class x8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class k8 extends zc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:De.and(W.textInputFocus,(e=De.and(Dy,Ty))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class L8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class I8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class E8 extends zc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:De.and(W.textInputFocus,(e=De.and(Dy,Ty))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class D8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(Bu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class T8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Bu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class P8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class M8 extends Vc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:De.and(W.textInputFocus,(e=De.and(Dy,Ty))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class R8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class N8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class A8 extends Vc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:De.and(W.textInputFocus,(e=De.and(Dy,Ty))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class O8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class F8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(Bu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class H8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Bu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class aw extends yo{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(Es);if(!t.hasModel())return;const s=Bu(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(w=>{const y=this._delete({wordSeparators:s,model:r,selection:w,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:d,autoClosingQuotes:u,autoClosingPairs:f,autoClosedCharacters:g.getCursorAutoClosedCharacters()},this._wordNavigationType);return new o_(y,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class xk extends aw{_delete(e,t){const i=b_.deleteWordLeft(e,t);return i||new X(1,1,1,1)}}class kk extends aw{_delete(e,t){const i=b_.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new X(n,s,n,s)}}class W8 extends xk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:W.writable})}}class B8 extends xk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:W.writable})}}class z8 extends xk{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:W.writable,kbOpts:{kbExpr:W.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class V8 extends kk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:W.writable})}}class j8 extends kk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:W.writable})}}class $8 extends kk{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:W.writable,kbOpts:{kbExpr:W.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class U8 extends Xe{constructor(){super({id:"deleteInsideWord",precondition:W.writable,label:C("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=Bu(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(d=>{const u=b_.deleteInsideWord(n,s,d);return new o_(u,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}ni(new C8);ni(new x8);ni(new k8);ni(new L8);ni(new I8);ni(new E8);ni(new P8);ni(new M8);ni(new R8);ni(new N8);ni(new A8);ni(new O8);ni(new D8);ni(new T8);ni(new F8);ni(new H8);ni(new W8);ni(new B8);ni(new z8);ni(new V8);ni(new j8);ni(new $8);me(U8);class q8 extends aw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:W.writable,kbOpts:{kbExpr:W.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=My.deleteWordPartLeft(e);return i||new X(1,1,1,1)}}class G8 extends aw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:W.writable,kbOpts:{kbExpr:W.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=My.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new X(n,s,n,s)}}class PN extends rw{_move(e,t,i,n,s){return My.moveWordPartLeft(e,t,i,s)}}class K8 extends PN{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:W.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}Hn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class Z8 extends PN{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:W.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}Hn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class MN extends rw{_move(e,t,i,n,s){return My.moveWordPartRight(e,t,i)}}class X8 extends MN{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:W.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class Y8 extends MN{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:W.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}ni(new q8);ni(new G8);ni(new K8);ni(new Z8);ni(new X8);ni(new Y8);const zk=class zk extends mt{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=Eo.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new Js(C("editor.simple.readonly","Cannot edit in read-only input")):t=new Js(C("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};zk.ID="editor.contrib.readOnlyMessageController";let db=zk;Yi(db.ID,db,2);var Q8=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},IE=function(o,e){return function(t,i){e(t,i,o)}};let Sx=class extends mt{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=$o(this,void 0);const n=wd("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=wd("_textModel.onDidChangeContent",vs.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(h_(async(r,a)=>{n.read(r),s.read(r);const d=a.add(new VF),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(zF(p_(s=>s.range.endLineNumber-s.range.startLineNumber,Sy))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};Sx=Q8([IE(1,ei),IE(2,M_)],Sx);BF.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(Sx,o));const Vk=class Vk extends mt{constructor(e){super(),this.editor=e,this.widget=null,xS&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new Cx(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};Vk.ID="editor.contrib.iPadShowKeyboard";let ub=Vk;const ly=class ly extends mt{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 ly.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};ly.ID="editor.contrib.ShowKeyboardWidget";let Cx=ly;Yi(ub.ID,ub,3);var J8=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},EE=function(o,e){return function(t,i){e(t,i,o)}},xx,gu;let Gp=(gu=class extends mt{static get(e){return e.getContribution(xx.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(xy.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 kx(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},xx=gu,gu.ID="editor.contrib.inspectTokens",gu);Gp=xx=J8([EE(1,QT),EE(2,ga)],Gp);class e7 extends Xe{constructor(){super({id:"editor.action.inspectTokens",label:qF.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=Gp.get(t);i==null||i.launch()}}function t7(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 i7(o,e){const t=xy.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>jF,tokenize:(n,s,r)=>UF(e,r),tokenizeEncoded:(n,s,r)=>$F(i,r)}}const cy=class cy extends mt{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=i7(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 cy._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)}ev(this._domNode,Ut("h2.tm-token",void 0,t7(r),Ut("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),Bt(this._domNode,Ut("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;Bt(this._domNode,Ut("table.tm-metadata-table",void 0,Ut("tbody",void 0,Ut("tr",void 0,Ut("td.tm-metadata-key",void 0,"language"),Ut("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),Ut("tr",void 0,Ut("td.tm-metadata-key",void 0,"token type"),Ut("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),Ut("tr",void 0,Ut("td.tm-metadata-key",void 0,"font style"),Ut("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),Ut("tr",void 0,Ut("td.tm-metadata-key",void 0,"foreground"),Ut("td.tm-metadata-value",void 0,`${a?sn.Format.CSS.formatHex(a.foreground):"-?-"}`)),Ut("tr",void 0,Ut("td.tm-metadata-key",void 0,"background"),Ut("td.tm-metadata-value",void 0,`${a?sn.Format.CSS.formatHex(a.background):"-?-"}`))))),Bt(this._domNode,Ut("hr.tokens-inspect-separator")),i<t.tokens1.length&&Bt(this._domNode,Ut("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=xy.getColorMap(),i=pg.getLanguageId(e),n=pg.getTokenType(e),s=pg.getFontStyle(e),r=pg.getForeground(e),a=pg.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]}}};cy._ID="editor.contrib.inspectTokensWidget";let kx=cy;Yi(Gp.ID,Gp,4);me(e7);var n7=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},DE=function(o,e){return function(t,i){e(t,i,o)}},Wg,pu;let Lx=(pu=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=ua.as(y_.Quickaccess)}provide(e){const t=new pt;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(Wg.PREFIX.length));n&&n.prefix&&n.prefix!==Wg.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==Wg.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:C("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},Wg=pu,pu.PREFIX="?",pu);Lx=Wg=n7([DE(0,Tl),DE(1,hs)],Lx);ua.as(y_.Quickaccess).registerQuickAccessProvider({ctor:Lx,prefix:"",helpEntries:[{description:GF.helpQuickAccessActionLabel}]});class RN{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new pt;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 pt,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=JT(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(eP(t.onCancellationRequested)(()=>{var u;return(u=r.restoreViewState)==null?void 0:u.call(r)}))}n.add(jn(()=>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&&pf(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return YT(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:_s(oT),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 dy=class dy extends RN{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=C("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,mt.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new pt;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(dy.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=JT(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(jn(()=>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)?C("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):C("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},s=this.lineCount(e);return s>1?C("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,s):C("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}};dy.PREFIX=":";let Ix=dy;var s7=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},o7=function(o,e){return function(t,i){e(t,i,o)}};let Kp=class extends Ix{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=vs.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Kp=s7([o7(0,as)],Kp);var _u;let NN=(_u=class extends Xe{constructor(){super({id:_u.ID,label:tP.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:W.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Tl).quickAccess.show(Kp.PREFIX)}},_u.ID="editor.action.gotoLine",_u);me(NN);ua.as(y_.Quickaccess).registerQuickAccessProvider({ctor:Kp,prefix:Kp.PREFIX,helpEntries:[{description:tP.gotoLineActionLabel,commandId:NN.ID}]});const AN=[void 0,[]];function aS(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?r7(o,n.values,t,i):ON(o,e,t,i)}function r7(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,d]=ON(o,r,t,i);if(typeof a!="number")return AN;n+=a,s.push(...d)}return[n,a7(s)]}function ON(o,e,t,i){const n=xT(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],Cy(n)]:AN}function a7(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!l7(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 l7(o,e){return!(o.end<e.start||e.end<o.start)}function TE(o){return o.startsWith('"')&&o.endsWith('"')}const FN=" ";function Ex(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=PE(o),s=t.indexOf(MS)>=0,r=TE(o);let a;const d=o.split(FN);if(d.length>1)for(const u of d){const f=TE(u),{pathNormalized:g,normalized:p,normalizedLowercase:w}=PE(u);p&&(a||(a=[]),a.push({original:u,originalLowercase:u.toLowerCase(),pathNormalized:g,normalized:p,normalizedLowercase:w,expectContiguousMatch:f}))}return{original:o,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:n,values:a,containsPathSeparator:s,expectContiguousMatch:r}}function PE(o){let e;gy?e=o.replace(/\//g,MS):e=o.replace(/\\/g,MS);const t=KF(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function ME(o){return Array.isArray(o)?Ex(o.map(e=>e.original).join(FN)):Ex(o.original)}var c7=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},RE=function(o,e){return function(t,i){e(t,i,o)}},Zm,sa;let Dd=(sa=class extends RN{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,C("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),mt.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):mt.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new pt;return this.provideLabelPick(i,C("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 py,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(jn(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var g;const r=e.editor,a=new pt;a.add(i.onDidAccept(p=>{var y;const[w]=i.selectedItems;w&&w.range&&(this.gotoLocation(e,{range:w.range.selection,keyMods:i.keyMods,preserveFocus:p.inBackground}),(y=s==null?void 0:s.handleAccept)==null||y.call(s,w),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 Ns(n),i.busy=!0;try{const w=Ex(i.value.substr(Zm.PREFIX.length).trim()),y=await this.doGetSymbolPicks(d,w,void 0,u.token,t);if(n.isCancellationRequested)return;if(y.length>0){if(i.items=y,p&&w.original.length===0){const x=QF(y,k=>!!(k.type!=="separator"&&k.range&&X.containsPosition(k.range.decoration,p)));x&&(i.activeItems=[x])}}else w.original.length>0?this.provideLabelPick(i,C("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,C("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 k,D;const r=await e;if(n.isCancellationRequested)return[];const a=t.original.indexOf(Zm.SCOPE_PREFIX)===0,d=a?1:0;let u,f;t.values&&t.values.length>1?(u=ME(t.values[0]),f=ME(t.values.slice(1))):u=t;let g;const p=(D=(k=this.options)==null?void 0:k.openSideBySideDirection)==null?void 0:D.call(k);p&&(g=[{iconClass:p==="right"?Sn.asClassName(Di.splitHorizontal):Sn.asClassName(Di.splitVertical),tooltip:p==="right"?C("openToSide","Open to the Side"):C("openToBottom","Open to the Bottom")}]);const w=[];for(let P=0;P<r.length;P++){const A=r[P],q=ZF(A.name),z=`$(${XF.toIcon(A.kind).id}) ${q}`,oe=z.length-q.length;let ie=A.containerName;i!=null&&i.extraContainerLabel&&(ie?ie=`${i.extraContainerLabel} • ${ie}`:ie=i.extraContainerLabel);let be,ye,qe,Oe;if(t.original.length>d){let vt=!1;if(u!==t&&([be,ye]=aS(z,{...t,values:void 0},d,oe),typeof be=="number"&&(vt=!0)),typeof be!="number"&&([be,ye]=aS(z,u,d,oe),typeof be!="number"))continue;if(!vt&&f){if(ie&&f.original.length>0&&([qe,Oe]=aS(ie,f)),typeof qe!="number")continue;typeof be=="number"&&(be+=qe)}}const rt=A.tags&&A.tags.indexOf(1)>=0;w.push({index:P,kind:A.kind,score:be,label:z,ariaLabel:YF(A.name,A.kind),description:ie,highlights:rt?void 0:{label:ye,description:Oe},range:{selection:X.collapseToStart(A.selectionRange),decoration:A.range},uri:s.uri,symbolName:q,strikethrough:rt,buttons:g})}const y=w.sort((P,A)=>a?this.compareByKindAndScore(P,A):this.compareByScore(P,A));let x=[];if(a){let z=function(){A&&typeof P=="number"&&q>0&&(A.label=l0(cS[P]||lS,q))},P,A,q=0;for(const oe of y)P!==oe.kind?(z(),P=oe.kind,q=1,A={type:"separator"},x.push(A)):q++,x.push(oe);z()}else y.length>0&&(x=[{label:C("symbols","symbols ({0})",w.length),type:"separator"},...y]);return x}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=cS[e.kind]||lS,n=cS[t.kind]||lS,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()}},Zm=sa,sa.PREFIX="@",sa.SCOPE_PREFIX=":",sa.PREFIX_BY_CATEGORY=`${sa.PREFIX}${sa.SCOPE_PREFIX}`,sa);Dd=Zm=c7([RE(0,ei),RE(1,M_)],Dd);const lS=C("property","properties ({0})"),cS={5:C("method","methods ({0})"),11:C("function","functions ({0})"),8:C("_constructor","constructors ({0})"),12:C("variable","variables ({0})"),4:C("class","classes ({0})"),22:C("struct","structs ({0})"),23:C("event","events ({0})"),24:C("operator","operators ({0})"),10:C("interface","interfaces ({0})"),2:C("namespace","namespaces ({0})"),3:C("package","packages ({0})"),25:C("typeParameter","type parameters ({0})"),1:C("modules","modules ({0})"),6:C("property","properties ({0})"),9:C("enum","enumerations ({0})"),21:C("enumMember","enumeration members ({0})"),14:C("string","strings ({0})"),0:C("file","files ({0})"),17:C("array","arrays ({0})"),15:C("number","numbers ({0})"),16:C("boolean","booleans ({0})"),18:C("object","objects ({0})"),19:C("key","keys ({0})"),7:C("field","fields ({0})"),13:C("constant","constants ({0})")};var d7=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},dS=function(o,e){return function(t,i){e(t,i,o)}};let Dx=class extends Dd{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=vs.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Dx=d7([dS(0,as),dS(1,ei),dS(2,M_)],Dx);const uy=class uy extends Xe{constructor(){super({id:uy.ID,label:RS.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:W.hasDocumentSymbolProvider,kbOpts:{kbExpr:W.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Tl).quickAccess.show(Dd.PREFIX,{itemActivation:JF.NONE})}};uy.ID="editor.action.quickOutline";let hb=uy;me(hb);ua.as(y_.Quickaccess).registerQuickAccessProvider({ctor:Dx,prefix:Dd.PREFIX,helpEntries:[{description:RS.quickOutlineActionLabel,prefix:Dd.PREFIX,commandId:hb.ID},{description:RS.quickOutlineByCategoryActionLabel,prefix:Dd.PREFIX_BY_CATEGORY}]});function u7(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class sp{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 u7(sp.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=sp.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=sp.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 h7(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 Ah;(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"})(Ah||(Ah={}));function uS(o){return Array.isArray(o.items)}function NE(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class f7 extends mt{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var u;const n=new pt;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 k;const f=r.value=new pt;s==null||s.dispose(!0),e.busy=!1,s=new Ns(t);const g=s.token;let p=e.value.substring(this.prefix.length);(k=this.options)!=null&&k.shouldSkipTrimPickFilter||(p=p.trim());const w=this._getPicks(p,f,g,i),y=(D,P)=>{var z;let A,q;if(uS(D)?(A=D.items,q=D.active):A=D,A.length===0){if(P)return!1;(p.length>0||e.hideInput)&&((z=this.options)!=null&&z.noResultsPick)&&(e3(this.options.noResultsPick)?A=[this.options.noResultsPick(p)]:A=[this.options.noResultsPick])}return e.items=A,q&&(e.activeItems=[q]),!0},x=async D=>{let P=!1,A=!1;await Promise.all([(async()=>{typeof D.mergeDelay=="number"&&(await Iy(D.mergeDelay),g.isCancellationRequested)||A||(P=y(D.picks,!0))})(),(async()=>{e.busy=!0;try{const q=await D.additionalPicks;if(g.isCancellationRequested)return;let z,oe;uS(D.picks)?(z=D.picks.items,oe=D.picks.active):z=D.picks;let ie,be;if(uS(q)?(ie=q.items,be=q.active):ie=q,ie.length>0||!P){let ye;if(!oe&&!be){const qe=e.activeItems[0];qe&&z.indexOf(qe)!==-1&&(ye=qe)}y({items:[...z,...ie],active:oe||be||ye})}}finally{g.isCancellationRequested||(e.busy=!1),A=!0}})()])};if(w!==null)if(NE(w))await x(w);else if(!(w instanceof Promise))y(w);else{e.busy=!0;try{const D=await w;if(g.isCancellationRequested)return;NE(D)?await x(D):y(D)}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 w;if(typeof g.trigger!="function")return;const p=((w=g.buttons)==null?void 0:w.indexOf(f))??-1;if(p>=0){const y=g.trigger(p,e.keyMods),x=typeof y=="number"?y:await y;if(t.isCancellationRequested)return;switch(x){case Ah.NO_ACTION:break;case Ah.CLOSE_PICKER:e.hide();break;case Ah.REFRESH_PICKER:a();break;case Ah.REMOVE_ITEM:{const k=e.items.indexOf(g);if(k!==-1){const D=e.items.slice(),P=D.splice(k,1),A=e.activeItems.filter(z=>z!==P[0]),q=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=D,A&&(e.activeItems=A),e.keepScrollPosition=q}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 HN=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},Ql=function(o,e){return function(t,i){e(t,i,o)}},id,cs,Na;let Tx=(Na=class extends f7{constructor(e,t,i,n,s,r){super(id.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(Px)),this.options=e}async _getPicks(e,t,i,n){var w,y;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=eP(()=>{const x=new sp;x.updateDocuments(s.map(D=>({key:D.commandId,textChunks:[this.getTfIdfChunk(D)]})));const k=x.calculateScores(e,i);return h7(k).filter(D=>D.score>id.TFIDF_THRESHOLD).slice(0,id.TFIDF_MAX_RESULTS)}),a=[];for(const x of s){const k=id.WORD_FILTER(e,x.label)??void 0,D=x.commandAlias?id.WORD_FILTER(e,x.commandAlias)??void 0:void 0;if(k||D)x.highlights={label:k,detail:this.options.showAlias?D:void 0},a.push(x);else if(e===x.commandId)a.push(x);else if(e.length>=3){const P=r();if(i.isCancellationRequested)return[];const A=P.find(q=>q.key===x.commandId);A&&(x.tfIdfScore=A.score,a.push(x))}}const d=new Map;for(const x of a){const k=d.get(x.label);k?(x.description=x.commandId,k.description=k.commandId):d.set(x.label,x)}a.sort((x,k)=>{if(x.tfIdfScore&&k.tfIdfScore)return x.tfIdfScore===k.tfIdfScore?x.label.localeCompare(k.label):k.tfIdfScore-x.tfIdfScore;if(x.tfIdfScore)return 1;if(k.tfIdfScore)return-1;const D=this.commandsHistory.peek(x.commandId),P=this.commandsHistory.peek(k.commandId);if(D&&P)return D>P?-1:1;if(D)return-1;if(P)return 1;if(this.options.suggestedCommandIds){const A=this.options.suggestedCommandIds.has(x.commandId),q=this.options.suggestedCommandIds.has(k.commandId);if(A&&q)return 0;if(A)return-1;if(q)return 1}return x.label.localeCompare(k.label)});const u=[];let f=!1,g=!0,p=!!this.options.suggestedCommandIds;for(let x=0;x<a.length;x++){const k=a[x];x===0&&this.commandsHistory.peek(k.commandId)&&(u.push({type:"separator",label:C("recentlyUsed","recently used")}),f=!0),g&&k.tfIdfScore!==void 0&&(u.push({type:"separator",label:C("suggested","similar commands")}),g=!1),p&&k.tfIdfScore===void 0&&!this.commandsHistory.peek(k.commandId)&&((w=this.options.suggestedCommandIds)!=null&&w.has(k.commandId))&&(u.push({type:"separator",label:C("commonlyUsed","commonly used")}),f=!0,p=!1),f&&k.tfIdfScore===void 0&&!this.commandsHistory.peek(k.commandId)&&!((y=this.options.suggestedCommandIds)!=null&&y.has(k.commandId))&&(u.push({type:"separator",label:C("morecCommands","other commands")}),f=!1),u.push(this.toCommandPick(k,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:u,additionalPicks:(async()=>{var D;const x=await this.getAdditionalCommandPicks(s,a,e,i);if(i.isCancellationRequested)return[];const k=x.map(P=>this.toCommandPick(P,n));return g&&((D=k[0])==null?void 0:D.type)!=="separator"&&k.unshift({type:"separator",label:C("suggested","similar commands")}),k})()}:u}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?C("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){Hc(r)||this.dialogService.error(C("canNotRun","Command '{0}' resulted in an error",e.label),vv(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}},id=Na,Na.PREFIX=">",Na.TFIDF_THRESHOLD=.5,Na.TFIDF_MAX_RESULTS=5,Na.WORD_FILTER=t3(s3,n3,i3),Na);Tx=id=HN([Ql(1,Bi),Ql(2,hs),Ql(3,Is),Ql(4,fa),Ql(5,b0)],Tx);var oa;let Px=(oa=class extends mt{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===e0.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=cs.getConfiguredCommandHistoryLength(this.configurationService),cs.cache&&cs.cache.limit!==this.configuredCommandsHistoryLength&&(cs.cache.limit=this.configuredCommandsHistoryLength,cs.hasChanges=!0))}load(){const e=this.storageService.get(cs.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=cs.cache=new d_(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))}cs.counter=this.storageService.getNumber(cs.PREF_KEY_COUNTER,0,cs.counter)}push(e){cs.cache&&(cs.cache.set(e,cs.counter++),cs.hasChanges=!0)}peek(e){var t;return(t=cs.cache)==null?void 0:t.peek(e)}saveState(){if(!cs.cache||!cs.hasChanges)return;const e={usesLRU:!0,entries:[]};cs.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(cs.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(cs.PREF_KEY_COUNTER,cs.counter,0,0),cs.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:cs.DEFAULT_COMMANDS_HISTORY_LENGTH}},cs=oa,oa.DEFAULT_COMMANDS_HISTORY_LENGTH=50,oa.PREF_KEY_CACHE="commandPalette.mru.cache",oa.PREF_KEY_COUNTER="commandPalette.mru.counter",oa.counter=1,oa.hasChanges=!1,oa);Px=cs=HN([Ql(0,Wc),Ql(1,Un),Ql(2,Wu)],Px);class g7 extends Tx{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&&(o3(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:r3(n.label)||n.id})}return t}}var p7=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 Zp=class extends g7{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[]}};Zp=p7([fh(0,Bi),fh(1,as),fh(2,hs),fh(3,Is),fh(4,fa),fh(5,b0)],Zp);const hy=class hy extends Xe{constructor(){super({id:hy.ID,label:iP.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:W.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(Tl).quickAccess.show(Zp.PREFIX)}};hy.ID="editor.action.quickCommand";let fb=hy;me(fb);ua.as(y_.Quickaccess).registerQuickAccessProvider({ctor:Zp,prefix:Zp.PREFIX,helpEntries:[{description:iP.quickCommandHelp,commandId:fb.ID}]});var _7=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)}};let Mx=class extends Tu{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};Mx=_7([gh(1,yn),gh(2,as),gh(3,ao),gh(4,Bi),gh(5,Wc),gh(6,Un)],Mx);Yi(Tu.ID,Mx,4);class m7 extends Xe{constructor(){super({id:"editor.action.toggleHighContrast",label:a3.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(QT),n=i.getColorTheme();up(n.type)?(i.setTheme(this._originalThemeName||(NL(n.type)?l3:c3)),this._originalThemeName=null):(i.setTheme(NL(n.type)?d3:u3),this._originalThemeName=n.themeName)}}me(m7);let Rx=null;function v7(o){Rx=o}function b7(o={}){return{"Content-Type":"application/json",...o}}async function At(o,e,t){const i=await fetch(e,{method:o,headers:b7(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw Rx&&Rx(),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 y7(){return await(await fetch("/she/auth/mode")).json()}async function w7(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 S7(){await fetch("/she/auth/logout",{method:"POST"})}async function C7(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 x7(){return At("GET","/she/scripts/tree")}function hS(o){return At("GET",`/she/scripts/${o}`)}function Qc(o,e){return At("PUT",`/she/scripts/${o}`,{content:e})}function wm(o){return At("DELETE",`/she/scripts/${o}`)}function AE(o,e){return At("POST",`/she/scripts/${o}/rename`,{newPath:e})}function k7(o){return At("POST","/she/scripts/mkdir",{path:o})}function L7(){return At("GET","/she/git/status")}function Bg(){return At("GET","/she/status")}function WN(){return At("POST","/she/restart")}function I7(){return At("POST","/she/update")}function E7(){return At("POST","/she/check-update")}function D7(o,e){return At("POST","/she/git/commit",{path:o,message:e})}function OE(o,e){return At("POST","/she/git/commit",{files:o,message:e})}function FE(o){return At("POST","/she/git/commit",{message:o})}function Sm(o){return At("POST","/she/git/push",{remote:o})}function T7(o,e){return At("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function P7(o,e){return At("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function Dl(){return At("GET","/she/config")}function Xp(o){return At("PUT","/she/config",o)}function BN(){return At("GET","/she/db/docs")}function M7(o){return At("GET",`/she/db/docs/${o}`)}function HE(o,e){return At("PUT",`/she/db/docs/${o}`,e)}function R7(o){return At("DELETE",`/she/db/docs/${o}`)}function zN(){return At("GET","/she/db/views")}function N7(o){return At("GET",`/she/db/views/${o}`)}function WE(o,e){return At("PUT",`/she/db/views/${o}`,e)}function A7(o){return At("DELETE",`/she/db/views/${o}`)}function O7(){return At("GET","/she/deps")}function F7(o){return At("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function H7(o,e){return At("POST","/she/deps/install",{name:o,version:null})}function W7(o){return At("POST","/she/deps/remove",{name:o})}function B7(o){return At("POST","/she/deps/update",{name:o})}function VN(){return At("GET","/she/deps/outdated")}function z7(){return At("POST","/she/deps/check-outdated")}function V7(){return At("GET","/she/ai/conversations")}function BE(o){return At("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function j7(o,e,t){return At("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function $7(o){return At("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function fS(o){return At("GET",`/she/db/views/${o}/result`)}function jN(){return At("GET","/she/matter/devices")}function Xm(o){return At("GET",`/she/matter/devices/${o}`)}function U7(o){return At("POST","/she/matter/commission",o)}function q7(o){return At("DELETE",`/she/matter/devices/${o}`)}function G7(o,e,t,i,n){return At("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function $N(){return At("GET","/she/mqtt/state")}function zE(o,e,t=!1,i=0){return At("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function UN(){return At("GET","/she/ai/config")}function qN(){return At("GET","/she/ai/models")}function Nx(o){return At("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function GN(o){return At("POST","/she/ai/prompt",o)}async function KN(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 w=p.slice(6).trim();if(w==="[DONE]")return;try{const y=JSON.parse(w);if(y.error)throw new Error(y.error);if(y.type==="tool_call"||y.type==="tool_result"){i==null||i({type:y.type,name:y.name??"",args:y.args,content:y.content});continue}y.token&&e(y.token)}catch(y){if(y instanceof SyntaxError)continue;throw y}}}}finally{r.releaseLock()}}function lw(){return At("GET","/she/broker/status")}function K7(){return At("GET","/she/broker/config")}function Z7(o){return At("PUT","/she/broker/config",o)}function X7(){return At("POST","/she/broker/reload")}function Y7(){return At("POST","/she/broker/restart")}function Q7(){return At("POST","/she/broker/wizard/deactivate")}function J7(){return At("POST","/she/broker/wizard/reinit")}function eq(){return At("GET","/she/broker/wizard/diagnose")}function Lk(){return At("GET","/she/broker/users")}function ZN(o,e){return At("POST","/she/broker/users",{username:o,password:e})}function tq(o){return At("DELETE",`/she/broker/users/${encodeURIComponent(o)}`)}function iq(o,e){return At("PUT",`/she/broker/users/${encodeURIComponent(o)}/password`,{password:e})}function nq(o,e){return At("POST",`/she/broker/users/${encodeURIComponent(o)}/roles`,{rolename:e})}function sq(o,e){return At("DELETE",`/she/broker/users/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function XN(){return At("GET","/she/broker/roles")}function oq(o){return At("POST","/she/broker/roles",{rolename:o})}function rq(o){return At("DELETE",`/she/broker/roles/${encodeURIComponent(o)}`)}function aq(o,e){return At("POST",`/she/broker/roles/${encodeURIComponent(o)}/acls`,e)}function lq(o,e,t){return At("DELETE",`/she/broker/roles/${encodeURIComponent(o)}/acls`,{acltype:e,topic:t})}function YN(){return At("GET","/she/broker/groups")}function cq(o){return At("POST","/she/broker/groups",{groupname:o})}function dq(o){return At("DELETE",`/she/broker/groups/${encodeURIComponent(o)}`)}function uq(o,e){return At("POST",`/she/broker/groups/${encodeURIComponent(o)}/clients`,{username:e})}function hq(o,e){return At("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/clients/${encodeURIComponent(e)}`)}function fq(o,e){return At("POST",`/she/broker/groups/${encodeURIComponent(o)}/roles`,{rolename:e})}function gq(o,e){return At("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function QN(){return At("GET","/she/broker/acl-defaults")}function pq(o){return At("PUT","/she/broker/acl-defaults",{acls:o})}function _q(){return At("GET","/she/broker/anonymous-group")}function mq(o){return At("PUT","/she/broker/anonymous-group",{groupname:o})}function vq(){return At("GET","/she/broker/ca")}function bq(o){return At("POST","/she/broker/ca/generate",o??{})}function yq(){return At("GET","/she/broker/ca/server")}function wq(o){return At("POST","/she/broker/ca/server/generate",o)}function Sq(){return At("GET","/she/broker/ca/certs")}function Cq(o){return At("POST","/she/broker/ca/certs",o)}function xq(o){return At("DELETE",`/she/broker/ca/certs/${encodeURIComponent(o)}`)}function Jc(o,e){return`/she/broker/ca/certs/${encodeURIComponent(o)}/download?type=${e}`}function kq(){return At("GET","/she/broker/ca/trusted")}function Lq(o){return At("POST","/she/broker/ca/trusted",{pem:o})}function Iq(o){return At("DELETE",`/she/broker/ca/trusted/${encodeURIComponent(o)}`)}const Eq=2e3,Ym=[];function JN(){return Ym.slice()}let lc=null;const gb=new Set,Oh=new Map;let Ax=null;function Yp(){let o=gb.size;for(const e of Oh.values())o+=e.size;return o}function Dq(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function Ik(){if(lc)return;const o=Dq(),e=new WebSocket(o);lc=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};Ym.length>=Eq&&Ym.shift(),Ym.push(s),gb.forEach(r=>r(s))}const n=Oh.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{lc===e&&(lc=null),Yp()>0&&(Ax=setTimeout(Ik,3e3))},e.onerror=()=>{e.close()}}function eA(){Ax&&clearTimeout(Ax),lc==null||lc.close(),lc=null}function Ek(o){return gb.add(o),Yp()===1&&Ik(),()=>{gb.delete(o),Yp()===0&&eA()}}function Pr(o,e){return Oh.has(o)||Oh.set(o,new Set),Oh.get(o).add(e),Yp()===1&&Ik(),()=>{var t;(t=Oh.get(o))==null||t.delete(e),Yp()===0&&eA()}}var Tq=T('<button class="cancel svelte-1eh8v5n">Cancel</button>'),Pq=T('<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 Gu(o,e){Fs(e,!0);let t=M(!1),i=M(""),n=M("Confirm"),s=M(!1),r=M(!1),a=null;function d(x,k){return b(i,x,!0),b(n,(k==null?void 0:k.confirm)??(k!=null&&k.alert?"OK":"Confirm"),!0),b(s,(k==null?void 0:k.danger)??!1,!0),b(r,(k==null?void 0:k.alert)??!1,!0),b(t,!0),new Promise(D=>a=D)}function u(x){b(t,!1),a==null||a(x),a=null}function f(x){c(t)&&(x.key==="Escape"&&u(!1),x.key==="Enter"&&u(!0))}var g={show:d},p=Ms();ds("keydown",xd,f);var w=St(p);{var y=x=>{var k=Pq(),D=St(k),P=v(D,2),A=m(P),q=m(A),z=v(A,2),oe=m(z);{var ie=Oe=>{var rt=Tq();U("click",rt,()=>u(!1)),E(Oe,rt)};H(oe,Oe=>{c(r)||Oe(ie)})}var be=v(oe,2);let ye;var qe=m(be);V(()=>{O(q,c(i)),ye=Tt(be,1,"svelte-1eh8v5n",null,ye,{danger:c(s)}),O(qe,c(n))}),U("click",D,()=>u(!1)),U("click",be,()=>u(!0)),E(x,k)};H(w,x=>{c(t)&&x(y)})}return E(o,p),Hs(g)}Qs(["click"]);var Mq=T('<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 Rq(o,e){Fs(e,!0);let t=M(!1),i=M(""),n=M(""),s=M("OK"),r=M(""),a=null,d=M(void 0);function u(D,P){return b(i,D,!0),b(n,(P==null?void 0:P.placeholder)??"",!0),b(s,(P==null?void 0:P.confirm)??"OK",!0),b(r,(P==null?void 0:P.initial)??"",!0),b(t,!0),setTimeout(()=>{if(c(d)){c(d).focus();const A=c(d).value.length;c(d).setSelectionRange(A,A)}},0),new Promise(A=>a=A)}function f(){const D=c(r).trim();D&&(b(t,!1),a==null||a(D),a=null,b(r,""))}function g(){b(t,!1),a==null||a(null),a=null,b(r,"")}function p(D){c(t)&&D.key==="Escape"&&(D.stopPropagation(),g())}var w={show:u},y=Ms();ds("keydown",xd,p);var x=St(y);{var k=D=>{var P=Mq(),A=St(P),q=v(A,2),z=m(q),oe=m(z),ie=v(z,2);ks(ie,rt=>b(d,rt),()=>c(d));var be=v(ie,2),ye=m(be),qe=v(ye,2),Oe=m(qe);V(rt=>{O(oe,c(i)),Ai(ie,"placeholder",c(n)),qe.disabled=rt,O(Oe,c(s))},[()=>!c(r).trim()]),U("click",A,g),U("keydown",ie,rt=>{rt.key==="Enter"&&(rt.preventDefault(),f())}),Qt(ie,()=>c(r),rt=>b(r,rt)),U("click",ye,g),U("click",qe,f),E(D,P)};H(x,D=>{c(t)&&D(k)})}return E(o,y),Hs(w)}Qs(["click","keydown"]);function tA(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var gS,VE;function Nq(){if(VE)return gS;VE=1;function o(F){return F instanceof Map?F.clear=F.delete=F.set=function(){throw new Error("map is read-only")}:F instanceof Set&&(F.add=F.clear=F.delete=function(){throw new Error("set is read-only")}),Object.freeze(F),Object.getOwnPropertyNames(F).forEach(ne=>{const he=F[ne],He=typeof he;(He==="object"||He==="function")&&!Object.isFrozen(he)&&o(he)}),F}class e{constructor(ne){ne.data===void 0&&(ne.data={}),this.data=ne.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(F){return F.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function i(F,...ne){const he=Object.create(null);for(const He in F)he[He]=F[He];return ne.forEach(function(He){for(const Ze in He)he[Ze]=He[Ze]}),he}const n="</span>",s=F=>!!F.scope,r=(F,{prefix:ne})=>{if(F.startsWith("language:"))return F.replace("language:","language-");if(F.includes(".")){const he=F.split(".");return[`${ne}${he.shift()}`,...he.map((He,Ze)=>`${He}${"_".repeat(Ze+1)}`)].join(" ")}return`${ne}${F}`};class a{constructor(ne,he){this.buffer="",this.classPrefix=he.classPrefix,ne.walk(this)}addText(ne){this.buffer+=t(ne)}openNode(ne){if(!s(ne))return;const he=r(ne.scope,{prefix:this.classPrefix});this.span(he)}closeNode(ne){s(ne)&&(this.buffer+=n)}value(){return this.buffer}span(ne){this.buffer+=`<span class="${ne}">`}}const d=(F={})=>{const ne={children:[]};return Object.assign(ne,F),ne};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(ne){this.top.children.push(ne)}openNode(ne){const he=d({scope:ne});this.add(he),this.stack.push(he)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(ne){return this.constructor._walk(ne,this.rootNode)}static _walk(ne,he){return typeof he=="string"?ne.addText(he):he.children&&(ne.openNode(he),he.children.forEach(He=>this._walk(ne,He)),ne.closeNode(he)),ne}static _collapse(ne){typeof ne!="string"&&ne.children&&(ne.children.every(he=>typeof he=="string")?ne.children=[ne.children.join("")]:ne.children.forEach(he=>{u._collapse(he)}))}}class f extends u{constructor(ne){super(),this.options=ne}addText(ne){ne!==""&&this.add(ne)}startScope(ne){this.openNode(ne)}endScope(){this.closeNode()}__addSublanguage(ne,he){const He=ne.root;he&&(He.scope=`language:${he}`),this.add(He)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function g(F){return F?typeof F=="string"?F:F.source:null}function p(F){return x("(?=",F,")")}function w(F){return x("(?:",F,")*")}function y(F){return x("(?:",F,")?")}function x(...F){return F.map(he=>g(he)).join("")}function k(F){const ne=F[F.length-1];return typeof ne=="object"&&ne.constructor===Object?(F.splice(F.length-1,1),ne):{}}function D(...F){return"("+(k(F).capture?"":"?:")+F.map(He=>g(He)).join("|")+")"}function P(F){return new RegExp(F.toString()+"|").exec("").length-1}function A(F,ne){const he=F&&F.exec(ne);return he&&he.index===0}const q=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function z(F,{joinWith:ne}){let he=0;return F.map(He=>{he+=1;const Ze=he;let Z=g(He),re="";for(;Z.length>0;){const ae=q.exec(Z);if(!ae){re+=Z;break}re+=Z.substring(0,ae.index),Z=Z.substring(ae.index+ae[0].length),ae[0][0]==="\\"&&ae[1]?re+="\\"+String(Number(ae[1])+Ze):(re+=ae[0],ae[0]==="("&&he++)}return re}).map(He=>`(${He})`).join(ne)}const oe=/\b\B/,ie="[a-zA-Z]\\w*",be="[a-zA-Z_]\\w*",ye="\\b\\d+(\\.\\d+)?",qe="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Oe="\\b(0b[01]+)",rt="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",vt=(F={})=>{const ne=/^#![ ]*\//;return F.binary&&(F.begin=x(ne,/.*\b/,F.binary,/\b.*/)),i({scope:"meta",begin:ne,end:/$/,relevance:0,"on:begin":(he,He)=>{he.index!==0&&He.ignoreMatch()}},F)},Ce={begin:"\\\\[\\s\\S]",relevance:0},yt={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Ce]},ut={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Ce]},Rt={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/},Fe=function(F,ne,he={}){const He=i({scope:"comment",begin:F,end:ne,contains:[]},he);He.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 Ze=D("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 He.contains.push({begin:x(/[ ]+/,"(",Ze,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),He},Ht=Fe("//","$"),Ye=Fe("/\\*","\\*/"),ge=Fe("#","$"),lt={scope:"number",begin:ye,relevance:0},Nt={scope:"number",begin:qe,relevance:0},ti={scope:"number",begin:Oe,relevance:0},Ot={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Ce,{begin:/\[/,end:/\]/,relevance:0,contains:[Ce]}]},Lt={scope:"title",begin:ie,relevance:0},Pt={scope:"title",begin:be,relevance:0},Ct={begin:"\\.\\s*"+be,relevance:0};var fi=Object.freeze({__proto__:null,APOS_STRING_MODE:yt,BACKSLASH_ESCAPE:Ce,BINARY_NUMBER_MODE:ti,BINARY_NUMBER_RE:Oe,COMMENT:Fe,C_BLOCK_COMMENT_MODE:Ye,C_LINE_COMMENT_MODE:Ht,C_NUMBER_MODE:Nt,C_NUMBER_RE:qe,END_SAME_AS_BEGIN:function(F){return Object.assign(F,{"on:begin":(ne,he)=>{he.data._beginMatch=ne[1]},"on:end":(ne,he)=>{he.data._beginMatch!==ne[1]&&he.ignoreMatch()}})},HASH_COMMENT_MODE:ge,IDENT_RE:ie,MATCH_NOTHING_RE:oe,METHOD_GUARD:Ct,NUMBER_MODE:lt,NUMBER_RE:ye,PHRASAL_WORDS_MODE:Rt,QUOTE_STRING_MODE:ut,REGEXP_MODE:Ot,RE_STARTERS_RE:rt,SHEBANG:vt,TITLE_MODE:Lt,UNDERSCORE_IDENT_RE:be,UNDERSCORE_TITLE_MODE:Pt});function Zt(F,ne){F.input[F.index-1]==="."&&ne.ignoreMatch()}function Ti(F,ne){F.className!==void 0&&(F.scope=F.className,delete F.className)}function Mi(F,ne){ne&&F.beginKeywords&&(F.begin="\\b("+F.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",F.__beforeBegin=Zt,F.keywords=F.keywords||F.beginKeywords,delete F.beginKeywords,F.relevance===void 0&&(F.relevance=0))}function Ni(F,ne){Array.isArray(F.illegal)&&(F.illegal=D(...F.illegal))}function Ci(F,ne){if(F.match){if(F.begin||F.end)throw new Error("begin & end are not supported with match");F.begin=F.match,delete F.match}}function di(F,ne){F.relevance===void 0&&(F.relevance=1)}const vi=(F,ne)=>{if(!F.beforeMatch)return;if(F.starts)throw new Error("beforeMatch cannot be used with starts");const he=Object.assign({},F);Object.keys(F).forEach(He=>{delete F[He]}),F.keywords=he.keywords,F.begin=x(he.beforeMatch,p(he.begin)),F.starts={relevance:0,contains:[Object.assign(he,{endsParent:!0})]},F.relevance=0,delete he.beforeMatch},Je=["of","and","for","in","not","or","if","then","parent","list","value"],$t="keyword";function yi(F,ne,he=$t){const He=Object.create(null);return typeof F=="string"?Ze(he,F.split(" ")):Array.isArray(F)?Ze(he,F):Object.keys(F).forEach(function(Z){Object.assign(He,yi(F[Z],ne,Z))}),He;function Ze(Z,re){ne&&(re=re.map(ae=>ae.toLowerCase())),re.forEach(function(ae){const Ve=ae.split("|");He[Ve[0]]=[Z,Oi(Ve[0],Ve[1])]})}}function Oi(F,ne){return ne?Number(ne):on(F)?0:1}function on(F){return Je.includes(F.toLowerCase())}const Ri={},Gi=F=>{console.error(F)},Fi=(F,...ne)=>{console.log(`WARN: ${F}`,...ne)},nn=(F,ne)=>{Ri[`${F}/${ne}`]||(console.log(`Deprecated as of ${F}. ${ne}`),Ri[`${F}/${ne}`]=!0)},Hi=new Error;function Cn(F,ne,{key:he}){let He=0;const Ze=F[he],Z={},re={};for(let ae=1;ae<=ne.length;ae++)re[ae+He]=Ze[ae],Z[ae+He]=!0,He+=P(ne[ae-1]);F[he]=re,F[he]._emit=Z,F[he]._multi=!0}function Ue(F){if(Array.isArray(F.begin)){if(F.skip||F.excludeBegin||F.returnBegin)throw Gi("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Hi;if(typeof F.beginScope!="object"||F.beginScope===null)throw Gi("beginScope must be object"),Hi;Cn(F,F.begin,{key:"beginScope"}),F.begin=z(F.begin,{joinWith:""})}}function zt(F){if(Array.isArray(F.end)){if(F.skip||F.excludeEnd||F.returnEnd)throw Gi("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Hi;if(typeof F.endScope!="object"||F.endScope===null)throw Gi("endScope must be object"),Hi;Cn(F,F.end,{key:"endScope"}),F.end=z(F.end,{joinWith:""})}}function ui(F){F.scope&&typeof F.scope=="object"&&F.scope!==null&&(F.beginScope=F.scope,delete F.scope)}function xi(F){ui(F),typeof F.beginScope=="string"&&(F.beginScope={_wrap:F.beginScope}),typeof F.endScope=="string"&&(F.endScope={_wrap:F.endScope}),Ue(F),zt(F)}function ki(F){function ne(re,ae){return new RegExp(g(re),"m"+(F.case_insensitive?"i":"")+(F.unicodeRegex?"u":"")+(ae?"g":""))}class he{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(ae,Ve){Ve.position=this.position++,this.matchIndexes[this.matchAt]=Ve,this.regexes.push([Ve,ae]),this.matchAt+=P(ae)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const ae=this.regexes.map(Ve=>Ve[1]);this.matcherRe=ne(z(ae,{joinWith:"|"}),!0),this.lastIndex=0}exec(ae){this.matcherRe.lastIndex=this.lastIndex;const Ve=this.matcherRe.exec(ae);if(!Ve)return null;const et=Ve.findIndex((We,bt)=>bt>0&&We!==void 0),Be=this.matchIndexes[et];return Ve.splice(0,et),Object.assign(Ve,Be)}}class He{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(ae){if(this.multiRegexes[ae])return this.multiRegexes[ae];const Ve=new he;return this.rules.slice(ae).forEach(([et,Be])=>Ve.addRule(et,Be)),Ve.compile(),this.multiRegexes[ae]=Ve,Ve}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(ae,Ve){this.rules.push([ae,Ve]),Ve.type==="begin"&&this.count++}exec(ae){const Ve=this.getMatcher(this.regexIndex);Ve.lastIndex=this.lastIndex;let et=Ve.exec(ae);if(this.resumingScanAtSamePosition()&&!(et&&et.index===this.lastIndex)){const Be=this.getMatcher(0);Be.lastIndex=this.lastIndex+1,et=Be.exec(ae)}return et&&(this.regexIndex+=et.position+1,this.regexIndex===this.count&&this.considerAll()),et}}function Ze(re){const ae=new He;return re.contains.forEach(Ve=>ae.addRule(Ve.begin,{rule:Ve,type:"begin"})),re.terminatorEnd&&ae.addRule(re.terminatorEnd,{type:"end"}),re.illegal&&ae.addRule(re.illegal,{type:"illegal"}),ae}function Z(re,ae){const Ve=re;if(re.isCompiled)return Ve;[Ti,Ci,xi,vi].forEach(Be=>Be(re,ae)),F.compilerExtensions.forEach(Be=>Be(re,ae)),re.__beforeBegin=null,[Mi,Ni,di].forEach(Be=>Be(re,ae)),re.isCompiled=!0;let et=null;return typeof re.keywords=="object"&&re.keywords.$pattern&&(re.keywords=Object.assign({},re.keywords),et=re.keywords.$pattern,delete re.keywords.$pattern),et=et||/\w+/,re.keywords&&(re.keywords=yi(re.keywords,F.case_insensitive)),Ve.keywordPatternRe=ne(et,!0),ae&&(re.begin||(re.begin=/\B|\b/),Ve.beginRe=ne(Ve.begin),!re.end&&!re.endsWithParent&&(re.end=/\B|\b/),re.end&&(Ve.endRe=ne(Ve.end)),Ve.terminatorEnd=g(Ve.end)||"",re.endsWithParent&&ae.terminatorEnd&&(Ve.terminatorEnd+=(re.end?"|":"")+ae.terminatorEnd)),re.illegal&&(Ve.illegalRe=ne(re.illegal)),re.contains||(re.contains=[]),re.contains=[].concat(...re.contains.map(function(Be){return Ii(Be==="self"?re:Be)})),re.contains.forEach(function(Be){Z(Be,Ve)}),re.starts&&Z(re.starts,ae),Ve.matcher=Ze(Ve),Ve}if(F.compilerExtensions||(F.compilerExtensions=[]),F.contains&&F.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return F.classNameAliases=i(F.classNameAliases||{}),Z(F)}function mn(F){return F?F.endsWithParent||mn(F.starts):!1}function Ii(F){return F.variants&&!F.cachedVariants&&(F.cachedVariants=F.variants.map(function(ne){return i(F,{variants:null},ne)})),F.cachedVariants?F.cachedVariants:mn(F)?i(F,{starts:F.starts?i(F.starts):null}):Object.isFrozen(F)?i(F):F}var nt="11.11.1";class Et extends Error{constructor(ne,he){super(ne),this.name="HTMLInjectionError",this.html=he}}const Me=t,Q=i,Ae=Symbol("nomatch"),ot=7,at=function(F){const ne=Object.create(null),he=Object.create(null),He=[];let Ze=!0;const Z="Could not find the language '{}', did you forget to load/include a language module?",re={disableAutodetect:!0,name:"Plain text",contains:[]};let ae={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function Ve(N){return ae.noHighlightRe.test(N)}function et(N){let Y=N.className+" ";Y+=N.parentNode?N.parentNode.className:"";const pe=ae.languageDetectRe.exec(Y);if(pe){const K=Qe(pe[1]);return K||(Fi(Z.replace("{}",pe[1])),Fi("Falling back to no-highlight mode for this block.",N)),K?pe[1]:"no-highlight"}return Y.split(/\s+/).find(K=>Ve(K)||Qe(K))}function Be(N,Y,pe){let K="",B="";typeof Y=="object"?(K=N,pe=Y.ignoreIllegals,B=Y.language):(nn("10.7.0","highlight(lang, code, ...args) has been deprecated."),nn("10.7.0",`Please use highlight(code, options) instead.
80
+ https://github.com/highlightjs/highlight.js/issues/2277`),B=N,K=Y),pe===void 0&&(pe=!0);const G={code:K,language:B};It("before:highlight",G);const se=G.result?G.result:We(G.language,G.code,pe);return se.code=G.code,It("after:highlight",se),se}function We(N,Y,pe,K){const B=Object.create(null);function G(Le,Ge){return Le.keywords[Ge]}function se(){if(!Ke.keywords){it.addText(ve);return}let Le=0;Ke.keywordPatternRe.lastIndex=0;let Ge=Ke.keywordPatternRe.exec(ve),ft="";for(;Ge;){ft+=ve.substring(Le,Ge.index);const gt=Ee.case_insensitive?Ge[0].toLowerCase():Ge[0],tt=G(Ke,gt);if(tt){const[Gt,Xt]=tt;if(it.addText(ft),ft="",B[gt]=(B[gt]||0)+1,B[gt]<=ot&&(Re+=Xt),Gt.startsWith("_"))ft+=Ge[0];else{const an=Ee.classNameAliases[Gt]||Gt;le(Ge[0],an)}}else ft+=Ge[0];Le=Ke.keywordPatternRe.lastIndex,Ge=Ke.keywordPatternRe.exec(ve)}ft+=ve.substring(Le),it.addText(ft)}function xe(){if(ve==="")return;let Le=null;if(typeof Ke.subLanguage=="string"){if(!ne[Ke.subLanguage]){it.addText(ve);return}Le=We(Ke.subLanguage,ve,!0,Mt[Ke.subLanguage]),Mt[Ke.subLanguage]=Le._top}else Le=Vt(ve,Ke.subLanguage.length?Ke.subLanguage:null);Ke.relevance>0&&(Re+=Le.relevance),it.__addSublanguage(Le._emitter,Le.language)}function ee(){Ke.subLanguage!=null?xe():se(),ve=""}function le(Le,Ge){Le!==""&&(it.startScope(Ge),it.addText(Le),it.endScope())}function ze(Le,Ge){let ft=1;const gt=Ge.length-1;for(;ft<=gt;){if(!Le._emit[ft]){ft++;continue}const tt=Ee.classNameAliases[Le[ft]]||Le[ft],Gt=Ge[ft];tt?le(Gt,tt):(ve=Gt,se(),ve=""),ft++}}function ce(Le,Ge){return Le.scope&&typeof Le.scope=="string"&&it.openNode(Ee.classNameAliases[Le.scope]||Le.scope),Le.beginScope&&(Le.beginScope._wrap?(le(ve,Ee.classNameAliases[Le.beginScope._wrap]||Le.beginScope._wrap),ve=""):Le.beginScope._multi&&(ze(Le.beginScope,Ge),ve="")),Ke=Object.create(Le,{parent:{value:Ke}}),Ke}function we(Le,Ge,ft){let gt=A(Le.endRe,ft);if(gt){if(Le["on:end"]){const tt=new e(Le);Le["on:end"](Ge,tt),tt.isMatchIgnored&&(gt=!1)}if(gt){for(;Le.endsParent&&Le.parent;)Le=Le.parent;return Le}}if(Le.endsWithParent)return we(Le.parent,Ge,ft)}function st(Le){return Ke.matcher.regexIndex===0?(ve+=Le[0],1):(Dt=!0,0)}function j(Le){const Ge=Le[0],ft=Le.rule,gt=new e(ft),tt=[ft.__beforeBegin,ft["on:begin"]];for(const Gt of tt)if(Gt&&(Gt(Le,gt),gt.isMatchIgnored))return st(Ge);return ft.skip?ve+=Ge:(ft.excludeBegin&&(ve+=Ge),ee(),!ft.returnBegin&&!ft.excludeBegin&&(ve=Ge)),ce(ft,Le),ft.returnBegin?0:Ge.length}function te(Le){const Ge=Le[0],ft=Y.substring(Le.index),gt=we(Ke,Le,ft);if(!gt)return Ae;const tt=Ke;Ke.endScope&&Ke.endScope._wrap?(ee(),le(Ge,Ke.endScope._wrap)):Ke.endScope&&Ke.endScope._multi?(ee(),ze(Ke.endScope,Le)):tt.skip?ve+=Ge:(tt.returnEnd||tt.excludeEnd||(ve+=Ge),ee(),tt.excludeEnd&&(ve=Ge));do Ke.scope&&it.closeNode(),!Ke.skip&&!Ke.subLanguage&&(Re+=Ke.relevance),Ke=Ke.parent;while(Ke!==gt.parent);return gt.starts&&ce(gt.starts,Le),tt.returnEnd?0:Ge.length}function fe(){const Le=[];for(let Ge=Ke;Ge!==Ee;Ge=Ge.parent)Ge.scope&&Le.unshift(Ge.scope);Le.forEach(Ge=>it.openNode(Ge))}let Te={};function Ie(Le,Ge){const ft=Ge&&Ge[0];if(ve+=Le,ft==null)return ee(),0;if(Te.type==="begin"&&Ge.type==="end"&&Te.index===Ge.index&&ft===""){if(ve+=Y.slice(Ge.index,Ge.index+1),!Ze){const gt=new Error(`0 width match regex (${N})`);throw gt.languageName=N,gt.badRule=Te.rule,gt}return 1}if(Te=Ge,Ge.type==="begin")return j(Ge);if(Ge.type==="illegal"&&!pe){const gt=new Error('Illegal lexeme "'+ft+'" for mode "'+(Ke.scope||"<unnamed>")+'"');throw gt.mode=Ke,gt}else if(Ge.type==="end"){const gt=te(Ge);if(gt!==Ae)return gt}if(Ge.type==="illegal"&&ft==="")return ve+=`
81
+ `,1;if(je>1e5&&je>Ge.index*3)throw new Error("potential infinite loop, way more iterations than matches");return ve+=ft,ft.length}const Ee=Qe(N);if(!Ee)throw Gi(Z.replace("{}",N)),new Error('Unknown language: "'+N+'"');const kt=ki(Ee);let ct="",Ke=K||kt;const Mt={},it=new ae.__emitter(ae);fe();let ve="",Re=0,Pe=0,je=0,Dt=!1;try{if(Ee.__emitTokens)Ee.__emitTokens(Y,it);else{for(Ke.matcher.considerAll();;){je++,Dt?Dt=!1:Ke.matcher.considerAll(),Ke.matcher.lastIndex=Pe;const Le=Ke.matcher.exec(Y);if(!Le)break;const Ge=Y.substring(Pe,Le.index),ft=Ie(Ge,Le);Pe=Le.index+ft}Ie(Y.substring(Pe))}return it.finalize(),ct=it.toHTML(),{language:N,value:ct,relevance:Re,illegal:!1,_emitter:it,_top:Ke}}catch(Le){if(Le.message&&Le.message.includes("Illegal"))return{language:N,value:Me(Y),illegal:!0,relevance:0,_illegalBy:{message:Le.message,index:Pe,context:Y.slice(Pe-100,Pe+100),mode:Le.mode,resultSoFar:ct},_emitter:it};if(Ze)return{language:N,value:Me(Y),illegal:!1,relevance:0,errorRaised:Le,_emitter:it,_top:Ke};throw Le}}function bt(N){const Y={value:Me(N),illegal:!1,relevance:0,_top:re,_emitter:new ae.__emitter(ae)};return Y._emitter.addText(N),Y}function Vt(N,Y){Y=Y||ae.languages||Object.keys(ne);const pe=bt(N),K=Y.filter(Qe).filter(jt).map(ee=>We(ee,N,!1));K.unshift(pe);const B=K.sort((ee,le)=>{if(ee.relevance!==le.relevance)return le.relevance-ee.relevance;if(ee.language&&le.language){if(Qe(ee.language).supersetOf===le.language)return 1;if(Qe(le.language).supersetOf===ee.language)return-1}return 0}),[G,se]=B,xe=G;return xe.secondBest=se,xe}function Ft(N,Y,pe){const K=Y&&he[Y]||pe;N.classList.add("hljs"),N.classList.add(`language-${K}`)}function ii(N){let Y=null;const pe=et(N);if(Ve(pe))return;if(It("before:highlightElement",{el:N,language:pe}),N.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",N);return}if(N.children.length>0&&(ae.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(N)),ae.throwUnescapedHTML))throw new Et("One of your code blocks includes unescaped HTML.",N.innerHTML);Y=N;const K=Y.textContent,B=pe?Be(K,{language:pe,ignoreIllegals:!0}):Vt(K);N.innerHTML=B.value,N.dataset.highlighted="yes",Ft(N,pe,B.language),N.result={language:B.language,re:B.relevance,relevance:B.relevance},B.secondBest&&(N.secondBest={language:B.secondBest.language,relevance:B.secondBest.relevance}),It("after:highlightElement",{el:N,result:B,text:K})}function pi(N){ae=Q(ae,N)}const si=()=>{Pi(),nn("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function wi(){Pi(),nn("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Ei=!1;function Pi(){function N(){Pi()}if(document.readyState==="loading"){Ei||window.addEventListener("DOMContentLoaded",N,!1),Ei=!0;return}document.querySelectorAll(ae.cssSelector).forEach(ii)}function Ki(N,Y){let pe=null;try{pe=Y(F)}catch(K){if(Gi("Language definition for '{}' could not be registered.".replace("{}",N)),Ze)Gi(K);else throw K;pe=re}pe.name||(pe.name=N),ne[N]=pe,pe.rawDefinition=Y.bind(null,F),pe.aliases&&xt(pe.aliases,{languageName:N})}function zi(N){delete ne[N];for(const Y of Object.keys(he))he[Y]===N&&delete he[Y]}function ke(){return Object.keys(ne)}function Qe(N){return N=(N||"").toLowerCase(),ne[N]||ne[he[N]]}function xt(N,{languageName:Y}){typeof N=="string"&&(N=[N]),N.forEach(pe=>{he[pe.toLowerCase()]=Y})}function jt(N){const Y=Qe(N);return Y&&!Y.disableAutodetect}function Si(N){N["before:highlightBlock"]&&!N["before:highlightElement"]&&(N["before:highlightElement"]=Y=>{N["before:highlightBlock"](Object.assign({block:Y.el},Y))}),N["after:highlightBlock"]&&!N["after:highlightElement"]&&(N["after:highlightElement"]=Y=>{N["after:highlightBlock"](Object.assign({block:Y.el},Y))})}function gi(N){Si(N),He.push(N)}function li(N){const Y=He.indexOf(N);Y!==-1&&He.splice(Y,1)}function It(N,Y){const pe=N;He.forEach(function(K){K[pe]&&K[pe](Y)})}function oi(N){return nn("10.7.0","highlightBlock will be removed entirely in v12.0"),nn("10.7.0","Please use highlightElement now."),ii(N)}Object.assign(F,{highlight:Be,highlightAuto:Vt,highlightAll:Pi,highlightElement:ii,highlightBlock:oi,configure:pi,initHighlighting:si,initHighlightingOnLoad:wi,registerLanguage:Ki,unregisterLanguage:zi,listLanguages:ke,getLanguage:Qe,registerAliases:xt,autoDetection:jt,inherit:Q,addPlugin:gi,removePlugin:li}),F.debugMode=function(){Ze=!1},F.safeMode=function(){Ze=!0},F.versionString=nt,F.regex={concat:x,lookahead:p,either:D,optional:y,anyNumberOfTimes:w};for(const N in fi)typeof fi[N]=="object"&&o(fi[N]);return Object.assign(F,fi),F},ht=at({});return ht.newInstance=()=>at({}),gS=ht,ht.HighlightJS=ht,ht.default=ht,gS}var Aq=Nq();const pb=tA(Aq),jE="[A-Za-z$_][0-9A-Za-z$_]*",Oq=["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"],Fq=["true","false","null","undefined","NaN","Infinity"],iA=["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"],nA=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],sA=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Hq=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Wq=[].concat(sA,iA,nA);function oA(o){const e=o.regex,t=(Fe,{after:Ht})=>{const Ye="</"+Fe[0].slice(1);return Fe.input.indexOf(Ye,Ht)!==-1},i=jE,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Fe,Ht)=>{const Ye=Fe[0].length+Fe.index,ge=Fe.input[Ye];if(ge==="<"||ge===","){Ht.ignoreMatch();return}ge===">"&&(t(Fe,{after:Ye})||Ht.ignoreMatch());let lt;const Nt=Fe.input.substring(Ye);if(lt=Nt.match(/^\s*=/)){Ht.ignoreMatch();return}if((lt=Nt.match(/^\s+extends\s+/))&&lt.index===0){Ht.ignoreMatch();return}}},a={$pattern:jE,keyword:Oq,literal:Fq,built_in:Wq,"variable.language":Hq},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:[]},w={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},y={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"css"}},x={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},k={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]},A=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,w,y,x,k,{match:/\$\d+/},g];p.contains=A.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(A)});const q=[].concat(P,p.contains),z=q.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(q)}]),oe={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:z},ie={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"}}]},be={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:{_:[...iA,...nA]}},ye={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},qe={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[oe],illegal:/%/},Oe={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function rt(Fe){return e.concat("(?!",Fe.join("|"),")")}const vt={match:e.concat(/\b/,rt([...sA,"super","import"].map(Fe=>`${Fe}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},Ce={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},yt={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},oe]},ut="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Rt={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(ut)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[oe]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:z,CLASS_REFERENCE:be},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),ye,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,w,y,x,k,P,{match:/\$\d+/},g,be,{scope:"attr",match:i+e.lookahead(":"),relevance:0},Rt,{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:ut,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:z}]}]},{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"]}]}]},qe,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[oe,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},Ce,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[oe]},vt,Oe,ie,yt,{match:/\$[(.]/}]}}function Dk(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Ku=Dk();function rA(o){Ku=o}var od={exec:()=>null};function ph(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 Fn(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(po.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var Bq=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),po={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:ph(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:ph(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:ph(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:ph(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:ph(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:ph(o=>new RegExp(`^ {0,${o}}>`))},zq=/^(?:[ \t]*(?:\n|$))+/,Vq=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,jq=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,N_=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,$q=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Tk=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,aA=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,lA=Fn(aA).replace(/bull/g,Tk).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(),Uq=Fn(aA).replace(/bull/g,Tk).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(),Pk=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,qq=/^[^\n]+/,Mk=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Gq=Fn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Mk).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Kq=Fn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Tk).getRegex(),cw="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",Rk=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Zq=Fn("^ {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",Rk).replace("tag",cw).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),cA=Fn(Pk).replace("hr",N_).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",cw).getRegex(),Xq=Fn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",cA).getRegex(),Nk={blockquote:Xq,code:Vq,def:Gq,fences:jq,heading:$q,hr:N_,html:Zq,lheading:lA,list:Kq,newline:zq,paragraph:cA,table:od,text:qq},$E=Fn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",N_).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",cw).getRegex(),Yq={...Nk,lheading:Uq,table:$E,paragraph:Fn(Pk).replace("hr",N_).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",$E).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",cw).getRegex()},Qq={...Nk,html:Fn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Rk).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:od,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Fn(Pk).replace("hr",N_).replace("heading",` *#{1,6} *[^
82
+ ]`).replace("lheading",lA).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Jq=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,e9=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,dA=/^( {2,}|\\)\n(?!\s*$)/,t9=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,tg=/[\p{P}\p{S}]/u,dw=/[\s\p{P}\p{S}]/u,Ak=/[^\s\p{P}\p{S}]/u,i9=Fn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,dw).getRegex(),uA=/(?!~)[\p{P}\p{S}]/u,n9=/(?!~)[\s\p{P}\p{S}]/u,s9=/(?:[^\s\p{P}\p{S}]|~)/u,o9=Fn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Bq?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),hA=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,r9=Fn(hA,"u").replace(/punct/g,tg).getRegex(),a9=Fn(hA,"u").replace(/punct/g,uA).getRegex(),fA="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",l9=Fn(fA,"gu").replace(/notPunctSpace/g,Ak).replace(/punctSpace/g,dw).replace(/punct/g,tg).getRegex(),c9=Fn(fA,"gu").replace(/notPunctSpace/g,s9).replace(/punctSpace/g,n9).replace(/punct/g,uA).getRegex(),d9=Fn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Ak).replace(/punctSpace/g,dw).replace(/punct/g,tg).getRegex(),u9=Fn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,tg).getRegex(),h9="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",f9=Fn(h9,"gu").replace(/notPunctSpace/g,Ak).replace(/punctSpace/g,dw).replace(/punct/g,tg).getRegex(),g9=Fn(/\\(punct)/,"gu").replace(/punct/g,tg).getRegex(),p9=Fn(/^<(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(),_9=Fn(Rk).replace("(?:-->|$)","-->").getRegex(),m9=Fn("^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",_9).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),_b=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,v9=Fn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",_b).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),gA=Fn(/^!?\[(label)\]\[(ref)\]/).replace("label",_b).replace("ref",Mk).getRegex(),pA=Fn(/^!?\[(ref)\](?:\[\])?/).replace("ref",Mk).getRegex(),b9=Fn("reflink|nolink(?!\\()","g").replace("reflink",gA).replace("nolink",pA).getRegex(),UE=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Ok={_backpedal:od,anyPunctuation:g9,autolink:p9,blockSkip:o9,br:dA,code:e9,del:od,delLDelim:od,delRDelim:od,emStrongLDelim:r9,emStrongRDelimAst:l9,emStrongRDelimUnd:d9,escape:Jq,link:v9,nolink:pA,punctuation:i9,reflink:gA,reflinkSearch:b9,tag:m9,text:t9,url:od},y9={...Ok,link:Fn(/^!?\[(label)\]\((.*?)\)/).replace("label",_b).getRegex(),reflink:Fn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",_b).getRegex()},Ox={...Ok,emStrongRDelimAst:c9,emStrongLDelim:a9,delLDelim:u9,delRDelim:f9,url:Fn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",UE).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:Fn(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",UE).getRegex()},w9={...Ox,br:Fn(dA).replace("{2,}","*").getRegex(),text:Fn(Ox.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Cm={normal:Nk,gfm:Yq,pedantic:Qq},Cg={normal:Ok,gfm:Ox,breaks:w9,pedantic:y9},S9={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},qE=o=>S9[o];function Sa(o,e){if(e){if(po.escapeTest.test(o))return o.replace(po.escapeReplace,qE)}else if(po.escapeTestNoEncode.test(o))return o.replace(po.escapeReplaceNoEncode,qE);return o}function GE(o){try{o=encodeURI(o).replace(po.percentDecode,"%")}catch{return null}return o}function KE(o,e){var s;let t=o.replace(po.findPipe,(r,a,d)=>{let u=!1,f=a;for(;--f>=0&&d[f]==="\\";)u=!u;return u?"|":" |"}),i=t.split(po.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(po.slashPipe,"|");return i}function Ul(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 ZE(o){let e=o.split(`
83
+ `),t=e.length-1;for(;t>=0&&po.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
84
+ `)}function C9(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 x9(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 XE(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 k9(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 mb=class{constructor(o){vn(this,"options");vn(this,"rules");vn(this,"lexer");this.options=o||Ku}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]:ZE(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=k9(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=Ul(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:Ul(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:Ul(e[0],`
88
+ `)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=Ul(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 w=p,y=w.raw+`
95
+ `+t.join(`
96
+ `),x=this.blockquote(y);s[s.length-1]=x,i=i.substring(0,i.length-w.raw.length)+x.raw,n=n.substring(0,n.length-w.text.length)+x.text;break}else if((p==null?void 0:p.type)==="list"){let w=p,y=w.raw+`
97
+ `+t.join(`
98
+ `),x=this.list(y);s[s.length-1]=x,i=i.substring(0,i.length-p.raw.length)+x.raw,n=n.substring(0,n.length-w.raw.length)+x.raw,t=y.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=x9(e[2].split(`
100
+ `,1)[0],e[1].length),p=o.split(`
101
+ `,1)[0],w=!g.trim(),y=0;if(this.options.pedantic?(y=2,f=g.trimStart()):w?y=e[1].length+1:(y=g.search(this.rules.other.nonSpaceChar),y=y>4?1:y,f=g.slice(y),y+=e[1].length),w&&this.rules.other.blankLine.test(p)&&(u+=p+`
102
+ `,o=o.substring(p.length+1),d=!0),!d){let x=this.rules.other.nextBulletRegex(y),k=this.rules.other.hrRegex(y),D=this.rules.other.fencesBeginRegex(y),P=this.rules.other.headingBeginRegex(y),A=this.rules.other.htmlBeginRegex(y),q=this.rules.other.blockquoteBeginRegex(y);for(;o;){let z=o.split(`
103
+ `,1)[0],oe;if(p=z,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),oe=p):oe=p.replace(this.rules.other.tabCharGlobal," "),D.test(p)||P.test(p)||A.test(p)||q.test(p)||x.test(p)||k.test(p))break;if(oe.search(this.rules.other.nonSpaceChar)>=y||!p.trim())f+=`
104
+ `+oe.slice(y);else{if(w||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||D.test(g)||P.test(g)||k.test(g))break;f+=`
105
+ `+p}w=!p.trim(),u+=z+`
106
+ `,o=o.substring(z.length+1),g=oe.slice(y)}}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=ZE(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:Ul(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=KE(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:Ul(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(KE(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:Ul(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=Ul(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=C9(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)),XE(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 XE(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 w=g.slice(1,-1);return{type:"em",raw:g,text:w,tokens:this.lexer.inlineTokens(w)}}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}}}},ta=class Fx{constructor(e){vn(this,"tokens");vn(this,"options");vn(this,"state");vn(this,"inlineQueue");vn(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Ku,this.options.tokenizer=this.options.tokenizer||new mb,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:po,block:Cm.normal,inline:Cg.normal};this.options.pedantic?(t.block=Cm.pedantic,t.inline=Cg.pedantic):this.options.gfm&&(t.block=Cm.gfm,this.options.breaks?t.inline=Cg.breaks:t.inline=Cg.gfm),this.tokenizer.rules=t}static get rules(){return{block:Cm,inline:Cg}}static lex(e,t){return new Fx(t).lex(e)}static lexInline(e,t){return new Fx(t).inlineTokens(e)}lex(e){e=e.replace(po.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(po.tabCharGlobal," ").replace(po.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(w=>{p=w.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,w;this.tokenizer.lexer=this;let i=e,n=null;if(this.tokens.links){let y=Object.keys(this.tokens.links);if(y.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(i))!==null;)y.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 y;if((p=(g=this.options.extensions)==null?void 0:g.inline)!=null&&p.some(k=>(y=k.call({lexer:this},e,t))?(e=e.substring(y.raw.length),t.push(y),!0):!1))continue;if(y=this.tokenizer.escape(e)){e=e.substring(y.raw.length),t.push(y);continue}if(y=this.tokenizer.tag(e)){e=e.substring(y.raw.length),t.push(y);continue}if(y=this.tokenizer.link(e)){e=e.substring(y.raw.length),t.push(y);continue}if(y=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(y.raw.length);let k=t.at(-1);y.type==="text"&&(k==null?void 0:k.type)==="text"?(k.raw+=y.raw,k.text+=y.text):t.push(y);continue}if(y=this.tokenizer.emStrong(e,i,a)){e=e.substring(y.raw.length),t.push(y);continue}if(y=this.tokenizer.codespan(e)){e=e.substring(y.raw.length),t.push(y);continue}if(y=this.tokenizer.br(e)){e=e.substring(y.raw.length),t.push(y);continue}if(y=this.tokenizer.del(e,i,a)){e=e.substring(y.raw.length),t.push(y);continue}if(y=this.tokenizer.autolink(e)){e=e.substring(y.raw.length),t.push(y);continue}if(!this.state.inLink&&(y=this.tokenizer.url(e))){e=e.substring(y.raw.length),t.push(y);continue}let x=e;if((w=this.options.extensions)!=null&&w.startInline){let k=1/0,D=e.slice(1),P;this.options.extensions.startInline.forEach(A=>{P=A.call({lexer:this},D),typeof P=="number"&&P>=0&&(k=Math.min(k,P))}),k<1/0&&k>=0&&(x=e.substring(0,k+1))}if(y=this.tokenizer.inlineText(x)){e=e.substring(y.raw.length),y.raw.slice(-1)!=="_"&&(a=y.raw.slice(-1)),r=!0;let k=t.at(-1);(k==null?void 0:k.type)==="text"?(k.raw+=y.raw,k.text+=y.text):t.push(y);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)}},vb=class{constructor(o){vn(this,"options");vn(this,"parser");this.options=o||Ku}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(po.notSpaceStart))==null?void 0:s[0],n=o.replace(po.endingNewline,"")+`
126
+ `;return i?'<pre><code class="language-'+Sa(i)+'">'+(t?n:Sa(n,!0))+`</code></pre>
127
+ `:"<pre><code>"+(t?n:Sa(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>${Sa(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=GE(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+Sa(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=GE(o);if(n===null)return Sa(t);o=n;let s=`<img src="${o}" alt="${Sa(t)}"`;return e&&(s+=` title="${Sa(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:Sa(o.text)}},Fk=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}},ia=class Hx{constructor(e){vn(this,"options");vn(this,"renderer");vn(this,"textRenderer");this.options=e||Ku,this.options.renderer=this.options.renderer||new vb,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Fk}static parse(e,t){return new Hx(t).parse(e)}static parseInline(e,t){return new Hx(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}},xm,zg=(xm=class{constructor(o){vn(this,"options");vn(this,"block");this.options=o||Ku}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?ta.lex:ta.lexInline}provideParser(o=this.block){return o?ia.parse:ia.parseInline}},vn(xm,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),vn(xm,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),xm),L9=class{constructor(...o){vn(this,"defaults",Dk());vn(this,"options",this.setOptions);vn(this,"parse",this.parseMarkdown(!0));vn(this,"parseInline",this.parseMarkdown(!1));vn(this,"Parser",ia);vn(this,"Renderer",vb);vn(this,"TextRenderer",Fk);vn(this,"Lexer",ta);vn(this,"Tokenizer",mb);vn(this,"Hooks",zg);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 vb(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 mb(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 zg;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];zg.passThroughHooks.has(s)?n[r]=u=>{if(this.defaults.async&&zg.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 ta.lex(o,e??this.defaults)}parser(o,e){return ia.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?ta.lex:ta.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?ia.parse:ia.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?ta.lex:ta.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?ia.parse:ia.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>"+Sa(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Au=new L9;function qn(o,e){return Au.parse(o,e)}qn.options=qn.setOptions=function(o){return Au.setOptions(o),qn.defaults=Au.defaults,rA(qn.defaults),qn};qn.getDefaults=Dk;qn.defaults=Ku;qn.use=function(...o){return Au.use(...o),qn.defaults=Au.defaults,rA(qn.defaults),qn};qn.walkTokens=function(o,e){return Au.walkTokens(o,e)};qn.parseInline=Au.parseInline;qn.Parser=ia;qn.parser=ia.parse;qn.Renderer=vb;qn.TextRenderer=Fk;qn.Lexer=ta;qn.lexer=ta.lex;qn.Tokenizer=mb;qn.Hooks=zg;qn.parse=qn;qn.options;qn.setOptions;qn.use;qn.walkTokens;qn.parseInline;ia.parse;ta.lex;var I9=T('<span class="chat-model svelte-10ayso4"><!></span>'),E9=T('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),D9=T('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),T9=T('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),P9=T('<ul class="history-list svelte-10ayso4"></ul>'),M9=T('<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>'),R9=T('<div class="unconfigured svelte-10ayso4">Configure an AI provider in the <strong class="svelte-10ayso4">Config</strong> tab to use the AI assistant.</div>'),N9=T('Chatting in context of <code class="svelte-10ayso4"> </code>',1),A9=T('<button class="chip svelte-10ayso4"> </button>'),O9=T('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),F9=T('<div class="msg-content user-text svelte-10ayso4"> </div>'),YE=T('<span class="tool-args svelte-10ayso4"> </span>'),QE=T('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),JE=T('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),eD=T('<div class="tool-events svelte-10ayso4"></div>'),tD=T('<div class="text-block svelte-10ayso4"></div>'),H9=T('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),W9=T('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),B9=T('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),z9=T('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),V9=T('<button class="expand-btn svelte-10ayso4"> </button>'),j9=T('<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>'),$9=T('<!> <div class="msg-content svelte-10ayso4"></div>',1),U9=T("<div><!></div>"),q9=T('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),G9=T('<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>'),K9=T('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),Z9=T('<div class="chat-error svelte-10ayso4"> </div>'),X9=T('<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>'),Y9=T('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),Q9=T('<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>'),J9=T('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),eG=T('<button class="send-btn svelte-10ayso4">↑</button>'),tG=T('<option class="svelte-10ayso4"> </option>'),iG=T('<select class="model-select svelte-10ayso4"></select>'),nG=T('<span class="model-name svelte-10ayso4"> </span>'),sG=T('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),oG=T('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),rG=T('<p class="info-status svelte-10ayso4">Loading…</p>'),aG=T('<p class="info-status info-err svelte-10ayso4"> </p>'),lG=T('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),cG=T('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),dG=T('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),uG=T('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),hG=T('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),fG=T('<div class="running-model svelte-10ayso4"> </div>'),gG=T('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),pG=T('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),_G=T('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),mG=T('<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>'),vG=T('<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 bG(o,e){Fs(e,!0),pb.registerLanguage("javascript",oA),qn.use({breaks:!0,gfm:!0});let t=Su(e,"currentScript",3,null),i=Su(e,"extraFiles",31,()=>mi([])),n=M(mi([])),s=M(null),r=M(""),a=M(!1),d=M(""),u=M(null);const f="she:conversationId";function g(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=M(mi(localStorage.getItem(f)??g())),w=M(mi([])),y=M(!1);Vn(()=>{localStorage.setItem(f,c(p))});let x=M(mi([])),k=M(mi(localStorage.getItem("she:selectedModel")??"")),D=M(null);const P=dt(()=>{var j;return c(D)!==null&&((j=t())==null?void 0:j.path)===c(D)});let A=M(mi(new Set)),q=M(!1),z=M(null),oe=M(!1),ie=M(""),be=M(0),ye=null,qe=M(0);const Oe=["[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 rt=M(!0),vt=M(!0),Ce=M(!0),yt=M(!1),ut,Rt=M(mi([])),Fe,Ht;const Ye=dt(()=>({apiref:c(rt),tools:c(vt)})),ge=dt(()=>{var j;return((j=c(u))==null?void 0:j.configured)??!1}),lt=dt(()=>{var j;return c(ge)||!!((j=c(u))!=null&&j.provider)&&!!c(k)}),Nt=dt(()=>c(be)+new TextEncoder().encode(c(r)).length),ti=dt(()=>c(Ce)?t():null);Vn(()=>{var te;const j=(te=t())==null?void 0:te.path;b(Ce,!0),c(D)!==null&&j!==c(D)&&b(D,null)}),Vn(()=>{var Te;if(!c(P))return;const j=c(n).at(-1);if(!j||j.role!=="assistant")return;const fe=Lt(j.content).find(Ie=>Ie.type==="code"&&Ci(Ie.lang));if(fe){const Ie=di(fe.text);(Te=e.onApply)==null||Te.call(e,Ie?Ie.code:fe.text)}});async function Ot(){try{const j=await UN();b(u,j,!0),j.configured&&!c(k)&&b(k,j.model,!0)}catch{}}Vn(()=>(window.addEventListener("she:config-changed",Ot),()=>window.removeEventListener("she:config-changed",Ot))),Vn(()=>{c(k)&&localStorage.setItem("she:selectedModel",c(k))}),Vn(()=>{var j;(j=c(u))!=null&&j.provider&&qN().then(te=>{b(x,te.models,!0),!c(k)&&te.models.length>0&&b(k,te.models[0],!0)}).catch(()=>{})}),Vn(()=>{c(k),b(z,null),b(ie,"")}),Vn(()=>{var te,fe;if(((te=c(u))==null?void 0:te.provider)!=="ollama")return;const j=c(k)||((fe=c(u))==null?void 0:fe.model);!j||c(z)||Nx(j).then(Te=>{b(z,Te,!0)}).catch(()=>{})}),Vn(()=>{if(!c(a))return;b(qe,Math.floor(Math.random()*Oe.length),!0);const j=setInterval(()=>{b(qe,(c(qe)+1)%Oe.length)},1e4);return()=>clearInterval(j)}),Vn(()=>{var j;Ht&&(c(n).length+(((j=c(s))==null?void 0:j.length)??0),requestAnimationFrame(()=>{Ht&&(Ht.scrollTop=Ht.scrollHeight)}))}),Vn(()=>{const j=c(Ye),te=c(ti),fe=i();c(lt)&&GN({context:j,currentScript:te??null,extraFiles:fe.length>0?fe:void 0}).then(Te=>{b(be,new TextEncoder().encode(Te.prompt).length,!0)}).catch(()=>{})});function Lt(j){const te=j.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
145
+ $2
146
+ `),fe=[],Te=/```(\w*)\n([\s\S]*?)```/g;let Ie=0,Ee;for(;(Ee=Te.exec(te))!==null;)Ee.index>Ie&&fe.push({type:"text",text:te.slice(Ie,Ee.index)}),fe.push({type:"code",lang:Ee[1]||"text",text:Ee[2].trimEnd()}),Ie=Ee.index+Ee[0].length;return Ie<te.length&&fe.push({type:"text",text:te.slice(Ie)}),fe}const Pt=15;function Ct(j){return j.split(`
147
+ `).length>Pt}function _i(j){const te=new Set(c(A));te.has(j)?te.delete(j):te.add(j),b(A,te,!0)}function fi(j,te){if(Ci(te))try{return pb.highlight(j,{language:"javascript"}).value}catch{}return j.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Zt(j){return qn.parse(j)}function Ti(j){const te=j.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
148
+ $2
149
+ `),fe=[],Te=/```(\w*)\n([\s\S]*?)```/g;let Ie=0,Ee;for(;(Ee=Te.exec(te))!==null;)Ee.index>Ie&&fe.push({type:"text",text:te.slice(Ie,Ee.index)}),fe.push({type:"code",lang:Ee[1]||"text",text:Ee[2].trimEnd()}),Ie=Ee.index+Ee[0].length;const kt=te.slice(Ie),ct=kt.match(/```(\w*)\n([\s\S]*)$/);return ct?(ct.index>0&&fe.push({type:"text",text:kt.slice(0,ct.index)}),fe.push({type:"code",lang:ct[1]||"text",text:ct[2]})):kt&&fe.push({type:"text",text:kt}),fe}function Mi(j){navigator.clipboard.writeText(j).catch(()=>{})}function Ni(j,te=!1){var fe;te&&t()&&b(D,t().path,!0),(fe=e.onApply)==null||fe.call(e,j)}function Ci(j){return!j||j==="js"||j==="javascript"}function di(j){const te=j.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return te?{filename:te[1],code:j.slice(te[0].length)}:null}function vi(j){return j>=1e9?`${(j/1e9).toFixed(1)} GB`:j>=1e6?`${(j/1e6).toFixed(0)} MB`:j>=1024?`${(j/1024).toFixed(1)} kB`:`${j} B`}async function Je(){if(b(q,!0),!(c(z)||c(oe))){b(oe,!0),b(ie,"");try{b(z,await Nx(c(k)||c(u).model),!0)}catch(j){b(ie,j.message,!0)}b(oe,!1)}}function $t(j){const te=j.match(/\.([^.]+)$/);return te?te[1].toUpperCase():"?"}function yi(j){switch(j){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return j}}function Oi(j){i(i().filter((te,fe)=>fe!==j))}function on(){ut.click()}async function Ri(j){if(!(!j||j.length===0))for(const te of Array.from(j)){const fe=await te.text();i([...i(),{name:te.name,content:fe}])}}function Gi(j){const te=j.target;Ri(te.files),te.value=""}function Fi(j){var te;j.preventDefault(),b(yt,!1),Ri(((te=j.dataTransfer)==null?void 0:te.files)??null)}function nn(j){var te;(te=j.dataTransfer)!=null&&te.types.includes("Files")&&(j.preventDefault(),b(yt,!0))}function Hi(){b(yt,!1)}async function Cn(){try{b(w,await V7(),!0)}catch{}}async function Ue(){var te;if(c(n).length===0)return;const j=((te=c(n).find(fe=>fe.role==="user"))==null?void 0:te.content.slice(0,80))??c(p);try{await j7(c(p),j,c(n)),await Cn()}catch{}}async function zt(j){try{const te=await BE(j);b(n,te.messages,!0),b(p,j,!0),b(y,!1),b(d,"")}catch{}}async function ui(j){try{await $7(j),await Cn(),j===c(p)&&xi()}catch{}}function xi(){b(n,[],!0),b(d,""),b(p,g(),!0),b(y,!1)}co(async()=>{Ot();try{const j=await BE(c(p));b(n,j.messages,!0)}catch{}await Cn()});async function ki(){const j=c(r).trim();if(!j||c(a))return;b(r,""),b(d,""),b(a,!0);const te={role:"user",content:j};b(n,[...c(n),te],!0),ye=new AbortController,b(Rt,[],!0);try{await KN({messages:c(n),currentScript:c(ti),context:c(Ye),modelOverride:c(k)||void 0,extraFiles:i().length>0?i():void 0},fe=>{b(s,(c(s)??"")+fe)},ye.signal,fe=>{b(Rt,[...c(Rt),fe],!0)}),b(n,[...c(n),{role:"assistant",content:c(s)??"",toolEvents:c(Rt).length>0?[...c(Rt)]:void 0}],!0),b(Rt,[],!0)}catch(fe){if(fe.name==="AbortError"){const Te=c(s);Te&&Te.trim()&&b(n,[...c(n),{role:"assistant",content:Te+`
150
+
151
+ *[stopped]*`,toolEvents:c(Rt).length>0?[...c(Rt)]:void 0}],!0)}else b(d,fe.message,!0)}finally{ye=null,b(s,null),b(Rt,[],!0),b(a,!1),Ue()}}function mn(){ye==null||ye.abort()}function Ii(j){j.key==="Enter"&&!j.shiftKey&&(j.preventDefault(),ki())}function nt(){xi()}const Et=["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 Me(j){b(r,j,!0),Fe==null||Fe.focus()}var Q=vG(),Ae=St(Q),ot=m(Ae),at=v(m(ot),2);{var ht=j=>{var te=I9(),fe=m(te);{var Te=kt=>{var ct=Dr();V(()=>O(ct,`${c(u).provider??""} · ${(c(k)||c(u).model)??""}`)),E(kt,ct)},Ie=kt=>{var ct=Dr();V(()=>O(ct,`${c(u).provider??""} · pick a model below`)),E(kt,ct)},Ee=kt=>{var ct=Dr("Not configured");E(kt,ct)};H(fe,kt=>{c(lt)?kt(Te):c(u).provider?kt(Ie,1):kt(Ee,-1)})}V(()=>Ai(te,"title",`Provider: ${c(u).provider??""}`)),E(j,te)};H(at,j=>{c(u)&&j(ht)})}var F=v(at,2);let ne;var he=v(F,2);{var He=j=>{var te=E9();U("click",te,nt),E(j,te)};H(he,j=>{c(n).length>0&&j(He)})}var Ze=v(ot,2);{var Z=j=>{var te=M9(),fe=m(te),Te=v(m(fe),2),Ie=v(fe,2);{var Ee=ct=>{var Ke=D9();E(ct,Ke)},kt=ct=>{var Ke=P9();ai(Ke,21,()=>c(w),Mt=>Mt.id,(Mt,it)=>{var ve=T9();let Re;var Pe=m(ve),je=m(Pe),Dt=v(Pe,2);V(()=>{Re=Tt(ve,1,"history-item svelte-10ayso4",null,Re,{"history-active":c(it).id===c(p)}),Ai(Pe,"title",c(it).id),O(je,c(it).title||c(it).id)}),U("click",Pe,()=>zt(c(it).id)),U("click",Dt,()=>ui(c(it).id)),E(Mt,ve)}),E(ct,Ke)};H(Ie,ct=>{c(w).length===0?ct(Ee):ct(kt,-1)})}U("click",Te,xi),E(j,te)};H(Ze,j=>{c(y)&&j(Z)})}var re=v(Ze,2),ae=m(re);{var Ve=j=>{var te=R9();E(j,te)},et=j=>{var te=O9(),fe=m(te),Te=m(fe);{var Ie=ct=>{var Ke=N9(),Mt=v(St(Ke)),it=m(Mt);V(ve=>O(it,ve),[()=>t().path.split("/").pop()]),E(ct,Ke)},Ee=ct=>{var Ke=Dr("No script open. Ask a general she scripting question.");E(ct,Ke)};H(Te,ct=>{t()?ct(Ie):ct(Ee,-1)})}var kt=v(fe,2);ai(kt,17,()=>Et,Wi,(ct,Ke)=>{var Mt=A9(),it=m(Mt);V(()=>O(it,c(Ke))),U("click",Mt,()=>Me(c(Ke))),E(ct,Mt)}),E(j,te)};H(ae,j=>{c(ge)?c(n).length===0&&c(s)===null&&j(et,1):j(Ve)})}var Be=v(ae,2);ai(Be,17,()=>c(n),Wi,(j,te,fe)=>{var Te=U9(),Ie=m(Te);{var Ee=ct=>{var Ke=F9(),Mt=m(Ke);V(()=>O(Mt,c(te).content)),E(ct,Ke)},kt=ct=>{const Ke=dt(()=>Lt(c(te).content));var Mt=$9(),it=St(Mt);{var ve=Pe=>{var je=eD();ai(je,21,()=>c(te).toolEvents,Wi,(Dt,Le)=>{var Ge=Ms(),ft=St(Ge);{var gt=Gt=>{var Xt=QE(),an=v(m(Xt),2),$i=m(an),pn=v(an,2);{var Wn=ri=>{var ln=YE(),en=m(ln);V(es=>O(en,es),[()=>Object.entries(c(Le).args).map(([es,Bs])=>`${es}=${JSON.stringify(Bs)}`).join(", ")]),E(ri,ln)},Vi=dt(()=>c(Le).args&&Object.keys(c(Le).args).length>0);H(pn,ri=>{c(Vi)&&ri(Wn)})}V(ri=>O($i,ri),[()=>c(Le).name.replace(/_/g," ")]),E(Gt,Xt)},tt=Gt=>{var Xt=JE(),an=v(m(Xt),2),$i=m(an);V(pn=>O($i,pn),[()=>c(Le).name.replace(/_/g," ")]),E(Gt,Xt)};H(ft,Gt=>{c(Le).type==="tool_call"?Gt(gt):Gt(tt,-1)})}E(Dt,Ge)}),E(Pe,je)};H(it,Pe=>{var je;(je=c(te).toolEvents)!=null&&je.length&&Pe(ve)})}var Re=v(it,2);ai(Re,21,()=>c(Ke),Wi,(Pe,je,Dt)=>{var Le=Ms(),Ge=St(Le);{var ft=tt=>{var Gt=tD();sc(Gt,()=>Zt(c(je).text),!0),E(tt,Gt)},gt=tt=>{const Gt=dt(()=>Ci(c(je).lang)?di(c(je).text):null),Xt=dt(()=>c(Gt)?c(Gt).code:c(je).text),an=dt(()=>`${fe}:${Dt}`),$i=dt(()=>Ct(c(Xt))),pn=dt(()=>c(A).has(c(an)));var Wn=j9(),Vi=m(Wn),ri=m(Vi),ln=m(ri),en=v(ri,2),es=m(en),Bs=v(es,2);{var ho=ns=>{var Ts=H9();U("click",Ts,()=>e.onCreateFile(c(Gt).filename,c(Gt).code)),E(ns,Ts)},Ko=ns=>{var Ts=z9(),Wr=St(Ts),Za=v(Wr,2);{var Fl=Xo=>{var Br=W9();E(Xo,Br)},Xa=Xo=>{var Br=B9();U("click",Br,()=>Ni(c(je).text,!0)),E(Xo,Br)};H(Za,Xo=>{c(P)?Xo(Fl):Xo(Xa,-1)})}U("click",Wr,()=>Ni(c(je).text)),E(ns,Ts)},dr=dt(()=>Ci(c(je).lang)&&t());H(Bs,ns=>{c(Gt)&&e.onCreateFile?ns(ho):c(dr)&&ns(Ko,1)})}var Xn=v(Vi,2);let Zo;var ur=m(Xn),gn=m(ur);sc(gn,()=>fi(c(Xt),c(je).lang??""),!0);var Ds=v(ur,2);{var fs=ns=>{var Ts=V9(),Wr=m(Ts);V(()=>O(Wr,c(pn)?"▲ collapse":"▼ expand")),U("click",Ts,()=>_i(c(an))),E(ns,Ts)};H(Ds,ns=>{c($i)&&ns(fs)})}V(()=>{O(ln,c(Gt)?`new: ${c(Gt).filename}`:c(je).lang),Zo=Tt(Xn,1,"code-body svelte-10ayso4",null,Zo,{collapsed:c($i)&&!c(pn)})}),U("click",es,()=>Mi(c(Xt))),E(tt,Wn)};H(Ge,tt=>{c(je).type==="text"?tt(ft):tt(gt,-1)})}E(Pe,Le)}),E(ct,Mt)};H(Ie,ct=>{c(te).role==="user"?ct(Ee):ct(kt,-1)})}V(()=>Tt(Te,1,`message ${c(te).role??""}`,"svelte-10ayso4")),E(j,Te)});var We=v(Be,2);{var bt=j=>{var te=eD();ai(te,21,()=>c(Rt),Wi,(fe,Te)=>{var Ie=Ms(),Ee=St(Ie);{var kt=Ke=>{var Mt=QE(),it=v(m(Mt),2),ve=m(it),Re=v(it,2);{var Pe=Dt=>{var Le=YE(),Ge=m(Le);V(ft=>O(Ge,ft),[()=>Object.entries(c(Te).args).map(([ft,gt])=>`${ft}=${JSON.stringify(gt)}`).join(", ")]),E(Dt,Le)},je=dt(()=>c(Te).args&&Object.keys(c(Te).args).length>0);H(Re,Dt=>{c(je)&&Dt(Pe)})}V(Dt=>O(ve,Dt),[()=>c(Te).name.replace(/_/g," ")]),E(Ke,Mt)},ct=Ke=>{var Mt=JE(),it=v(m(Mt),2),ve=m(it);V(Re=>O(ve,Re),[()=>c(Te).name.replace(/_/g," ")]),E(Ke,Mt)};H(Ee,Ke=>{c(Te).type==="tool_call"?Ke(kt):Ke(ct,-1)})}E(fe,Ie)}),E(j,te)};H(We,j=>{c(Rt).length>0&&j(bt)})}var Vt=v(We,2);{var Ft=j=>{var te=q9(),fe=m(te),Te=m(fe),Ie=m(Te);V(()=>O(Ie,Oe[c(qe)])),E(j,te)};H(Vt,j=>{c(a)&&c(s)===null&&c(Rt).length===0&&j(Ft)})}var ii=v(Vt,2);{var pi=j=>{var te=K9(),fe=m(te);ai(fe,21,()=>Ti(c(s)),Wi,(Te,Ie)=>{var Ee=Ms(),kt=St(Ee);{var ct=Mt=>{var it=tD();sc(it,()=>Zt(c(Ie).text),!0),E(Mt,it)},Ke=Mt=>{var it=G9(),ve=m(it),Re=m(ve),Pe=m(Re),je=v(ve,2),Dt=m(je);sc(Dt,()=>fi(c(Ie).text,c(Ie).lang??""),!0),V(()=>O(Pe,c(Ie).lang)),E(Mt,it)};H(kt,Mt=>{c(Ie).type==="text"?Mt(ct):Mt(Ke,-1)})}E(Te,Ee)}),E(j,te)};H(ii,j=>{c(s)!==null&&j(pi)})}ks(re,j=>Ht=j,()=>Ht);var si=v(re,2);{var wi=j=>{var te=Z9(),fe=m(te);V(()=>O(fe,c(d))),E(j,te)};H(si,j=>{c(d)&&j(wi)})}var Ei=v(si,2),Pi=m(Ei),Ki=m(Pi),zi=v(Pi,2),ke=m(zi),Qe=v(zi,2),xt=m(Qe),jt=v(xt);{var Si=j=>{const te=dt(()=>Math.min(100,Math.round(c(Nt)/4/c(z).contextLength*100)));var fe=X9(),Te=m(fe),Ie=v(m(Te));V((Ee,kt)=>{Ai(fe,"title",`~${c(te)??""}% of ${Ee??""} token context window used`),Ai(Ie,"stroke",c(te)>80?"var(--fg-err)":c(te)>50?"var(--fg-warn)":"var(--fg-ok)"),Ai(Ie,"stroke-dasharray",`${kt??""} 31.4`)},[()=>c(z).contextLength.toLocaleString(),()=>(c(te)/100*31.4).toFixed(1)]),E(j,fe)};H(jt,j=>{var te;(te=c(z))!=null&&te.contextLength&&j(Si)})}var gi=v(Ei,2),li=m(gi);{var It=j=>{const te=dt(()=>$t(t().path.split("/").pop()??t().path));var fe=Y9();let Te;var Ie=m(fe),Ee=m(Ie),kt=v(Ie,2),ct=m(kt),Ke=v(kt,2),Mt=m(Ke);V((it,ve)=>{Te=Tt(fe,1,"file-chip svelte-10ayso4",null,Te,{inactive:!c(Ce)}),Tt(Ie,1,`badge badge-${it??""}`,"svelte-10ayso4"),O(Ee,ve),O(ct,t().path),Ai(Ke,"title",c(Ce)?"Remove from context":"Re-add to context"),O(Mt,c(Ce)?"×":"+")},[()=>c(te).toLowerCase(),()=>yi(c(te))]),U("click",Ke,()=>b(Ce,!c(Ce))),E(j,fe)};H(li,j=>{t()&&j(It)})}var oi=v(li,2);ai(oi,17,i,Wi,(j,te,fe)=>{const Te=dt(()=>$t(c(te).name));var Ie=Q9(),Ee=m(Ie),kt=m(Ee),ct=v(Ee,2),Ke=m(ct),Mt=v(ct,2);V((it,ve)=>{Tt(Ee,1,`badge badge-${it??""}`,"svelte-10ayso4"),O(kt,ve),O(Ke,c(te).name)},[()=>c(Te).toLowerCase(),()=>yi(c(Te))]),U("click",Mt,()=>Oi(fe)),E(j,Ie)});var N=v(oi,2),Y=v(N,2);ks(Y,j=>ut=j,()=>ut);var pe=v(gi,2);let K;var B=m(pe);let G;var se=m(B);ks(se,j=>Fe=j,()=>Fe);var xe=v(B,2);{var ee=j=>{var te=J9();U("click",te,mn),E(j,te)},le=j=>{var te=eG();V(fe=>te.disabled=fe,[()=>!c(r).trim()||!c(lt)]),U("click",te,ki),E(j,te)};H(xe,j=>{c(a)?j(ee):j(le,-1)})}var ze=v(pe,2);{var ce=j=>{var te=oG(),fe=m(te),Te=m(fe),Ie=v(fe,2);{var Ee=Mt=>{var it=iG();ai(it,21,()=>c(x),Wi,(ve,Re)=>{var Pe=tG(),je=m(Pe),Dt={};V(()=>{O(je,c(Re)),Dt!==(Dt=c(Re))&&(Pe.value=(Pe.__value=c(Re))??"")}),E(ve,Pe)}),V(()=>it.disabled=c(a)),fo(it,()=>c(k),ve=>b(k,ve)),E(Mt,it)},kt=Mt=>{var it=nG(),ve=m(it);V(()=>O(ve,c(k)||c(u).model)),E(Mt,it)};H(Ie,Mt=>{c(x).length>0?Mt(Ee):Mt(kt,-1)})}var ct=v(Ie,2);{var Ke=Mt=>{var it=sG();U("click",it,Je),E(Mt,it)};H(ct,Mt=>{c(u).provider==="ollama"&&Mt(Ke)})}V(()=>O(Te,c(u).provider)),E(j,te)};H(ze,j=>{var te;(te=c(u))!=null&&te.provider&&(c(ge)||c(x).length>0)&&j(ce)})}var we=v(Ae,2);{var st=j=>{var te=mG(),fe=m(te),Te=m(fe),Ie=m(Te),Ee=m(Ie),kt=v(Ie,2),ct=v(Te,2),Ke=m(ct);{var Mt=Re=>{var Pe=rG();E(Re,Pe)},it=Re=>{var Pe=aG(),je=m(Pe);V(()=>O(je,c(ie))),E(Re,Pe)},ve=Re=>{var Pe=_G(),je=m(Pe);{var Dt=Vi=>{var ri=lG(),ln=v(St(ri)),en=m(ln);V(()=>O(en,c(z).version)),E(Vi,ri)};H(je,Vi=>{c(z).version&&Vi(Dt)})}var Le=v(je,2);{var Ge=Vi=>{var ri=cG(),ln=v(St(ri)),en=m(ln);V(()=>O(en,c(z).details.family)),E(Vi,ri)};H(Le,Vi=>{var ri;(ri=c(z).details)!=null&&ri.family&&Vi(Ge)})}var ft=v(Le,2);{var gt=Vi=>{var ri=dG(),ln=v(St(ri)),en=m(ln);V(()=>O(en,c(z).details.parameter_size)),E(Vi,ri)};H(ft,Vi=>{var ri;(ri=c(z).details)!=null&&ri.parameter_size&&Vi(gt)})}var tt=v(ft,2);{var Gt=Vi=>{var ri=uG(),ln=v(St(ri)),en=m(ln);V(()=>O(en,c(z).details.quantization_level)),E(Vi,ri)};H(tt,Vi=>{var ri;(ri=c(z).details)!=null&&ri.quantization_level&&Vi(Gt)})}var Xt=v(tt,2);{var an=Vi=>{var ri=hG(),ln=v(St(ri)),en=m(ln);V(()=>O(en,c(z).details.format)),E(Vi,ri)};H(Xt,Vi=>{var ri;(ri=c(z).details)!=null&&ri.format&&Vi(an)})}var $i=v(Xt,2);{var pn=Vi=>{var ri=gG(),ln=v(St(ri),2);ai(ln,21,()=>c(z).running,Wi,(en,es)=>{var Bs=fG(),ho=m(Bs);V(Ko=>O(ho,`${c(es).name??""} · ${Ko??""} VRAM`),[()=>vi(c(es).size_vram)]),E(en,Bs)}),E(Vi,ri)},Wn=Vi=>{var ri=pG();E(Vi,ri)};H($i,Vi=>{c(z).running&&c(z).running.length>0?Vi(pn):c(z).running!==null&&Vi(Wn,1)})}E(Re,Pe)};H(Ke,Re=>{c(oe)?Re(Mt):c(ie)?Re(it,1):c(z)&&Re(ve,2)})}V(()=>{var Re;return O(Ee,`Ollama · ${(c(k)||((Re=c(u))==null?void 0:Re.model))??""}`)}),U("click",te,()=>b(q,!1)),U("click",fe,Re=>Re.stopPropagation()),U("click",kt,()=>b(q,!1)),E(j,te)};H(we,j=>{c(q)&&j(st)})}V(j=>{ne=Tt(F,1,"icon-hdr-btn svelte-10ayso4",null,ne,{active:c(y)}),O(xt,j),K=Tt(pe,1,"input-row svelte-10ayso4",null,K,{"drag-over":c(yt)}),G=Tt(B,1,"textarea-wrap svelte-10ayso4",null,G,{loading:c(a)}),Ai(se,"placeholder",c(lt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":c(ge)?"Select a model above to start chatting":"AI not configured"),se.disabled=c(a)||!c(lt)},[()=>vi(c(Nt))]),U("click",F,()=>b(y,!c(y))),xs(Ki,()=>c(rt),j=>b(rt,j)),xs(ke,()=>c(vt),j=>b(vt,j)),U("click",N,on),U("change",Y,Gi),ds("dragover",pe,nn),ds("dragleave",pe,Hi),ds("drop",pe,Fi),U("keydown",se,Ii),Qt(se,()=>c(r),j=>b(r,j)),E(o,Q),Hs()}Qs(["click","change","keydown"]);const yG={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"]},wG={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 Wx=[],Bx=[],zx=[];const bb=new Map;let _A=[];const Vx=new Map,jx=new Map;async function iD(){try{Wx=(await $N()).map(e=>e.topic)}catch{}}async function nD(){try{const[o,e]=await Promise.all([BN(),zN()]);Bx=o,zx=e}catch{}}async function sD(){try{const o=await jN();_A=o.map(e=>e.nodeId),Vx.clear(),jx.clear();for(const e of o)e.name&&(Vx.set(e.nodeId,e.name),jx.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!bb.has(e.nodeId))try{bb.set(e.nodeId,await Xm(e.nodeId))}catch{}}))}catch{}}function SG(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=CG(u),g=xG(u);if(f===0)return{type:"matter-nodeId",prefix:g};if(f===1){const p=_h(u,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(f===2){const p=_h(u,0),w=oD(u,1)??_h(u,1);if(p&&w!==null)return{type:"matter-cluster",nodeId:p,endpointId:w}}if(f>=3){const p=_h(u,0),w=oD(u,1)??_h(u,1),y=_h(u,2),x=/she\.matter\.send\s*\(/.test(o);if(p&&w!==null&&y)return{type:"matter-attr",nodeId:p,endpointId:w,cluster:y,isSend:x}}}return null}function CG(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 xG(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function _h(o,e){var s;const i=(s=mA(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function oD(o,e){var s;const i=(s=mA(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function mA(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 Ou=nd.CompletionItemKind;function kG(o,e){return(e?Wx.filter(i=>i.startsWith(e)):Wx).map(i=>({label:i,kind:Ou.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function LG(o,e,t){const i=t?[...Bx,...zx]:Bx;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:Ou.Value,insertText:s,range:o,detail:zx.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function IG(o,e){return _A.map(t=>{const i=Vx.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:Ou.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function vA(o){return jx.get(o)??o}function EG(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 DG(o,e){const t=bb.get(vA(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:Ou.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function TG(o,e,t){const i=bb.get(vA(e));if(!i)return[];const n=EG(i,t);return n?n.clusters.map(s=>({label:s.name,kind:Ou.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function PG(o,e,t){return(t?wG[e]??[]:yG[e]??[]).map(n=>({label:n,kind:t?Ou.Function:Ou.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let rD=!1;function MG(){rD||(rD=!0,iD(),nD(),sD(),setInterval(iD,15e3),setInterval(nD,1e4),setInterval(sD,6e4),nd.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=SG(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:kG(a,i.prefix)};case"db":return{suggestions:LG(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:IG(a,i.prefix)};case"matter-endpointId":return{suggestions:DG(a,i.nodeId)};case"matter-cluster":return{suggestions:TG(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:PG(a,i.cluster,i.isSend)};default:return null}}}))}var RG=T('<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),NG=T('<button class="svelte-1pyfjii">Show git history</button>'),AG=T('<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),OG=T('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),FG=T('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),aD=T('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),HG=T('<ul class="tree-children svelte-1pyfjii"></ul>'),WG=T('<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>'),BG=T('<span class="dirty-dot svelte-1pyfjii">●</span>'),zG=T('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),VG=T('<span class="err-dot svelte-1pyfjii">●</span>'),jG=T('<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>'),$G=T('<span class="dis-spacer svelte-1pyfjii"></span>'),UG=T('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),qG=T('<div class="err svelte-1pyfjii"> </div>'),GG=T('<div class="history-empty svelte-1pyfjii">Loading…</div>'),KG=T('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),ZG=T('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),XG=T('<button class="history-load-more svelte-1pyfjii"> </button>'),YG=T("<!> <!>",1),QG=T('<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>'),JG=T('<span class="tab-dirty svelte-1pyfjii">●</span>'),eK=T('<div role="button" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),tK=T('<div class="tab-bar svelte-1pyfjii"></div>'),iK=T('<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>'),nK=T('<div class="changes-err svelte-1pyfjii"> </div>'),sK=T('<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),oK=T('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),rK=T('<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),aK=T('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),lK=T('<span class="git-behind svelte-1pyfjii"> </span>'),cK=T('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),dK=T('<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),uK=T('<button class="danger svelte-1pyfjii">Delete</button>'),hK=T(`<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" target="_blank" rel="noopener" class="svelte-1pyfjii">README</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>`),fK=T('<button class="svelte-1pyfjii">Always accept in this session</button>'),gK=T('<button class="svelte-1pyfjii">Disable auto-accept</button>'),pK=T('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),_K=T('<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>'),mK=T('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),vK=T('<div class="diff-container svelte-1pyfjii"></div>'),bK=T('<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>'),yK=T('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),wK=T('<span class="log-file svelte-1pyfjii"> </span>'),SK=T("<option> </option>"),CK=T('<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),xK=T('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),kK=T('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),LK=T('<div class="log-body svelte-1pyfjii"><!> <!></div>'),IK=T('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),EK=T('<!> <!> <!> <!> <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="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 DK(o,e){Fs(e,!0);let t=M(mi([])),i=M(mi({})),n=M(null),s=M(null),r=M(null),a=M(null),d=M(mi([])),u=M(null),f=M(!1),g=M(""),p=M(!1),w=M(!0),y=M(null),x=M(!1),k=M(!1),D=M(null),P=M(mi([])),A=M(!1),q=M(30),z=M(void 0),oe=null,ie=null,be=null,ye=M(!1),qe=M(""),Oe=M(!1),rt=M(void 0),vt=M(mi(new Set));const Ce=new Set;let yt=M(mi(new Set)),ut=M(mi([])),Rt=M("all"),Fe=M(""),Ht=M(!1);const Ye=["all","debug","info","warn","error"],ge={debug:0,info:1,warn:2,error:3};function lt($){if(c(Rt)!=="all"&&ge[$.level]<ge[c(Rt)])return!1;if(!c(Fe))return!0;if(c(Ht))try{return new RegExp(c(Fe),"i").test($.msg)}catch{}return $.msg.toLowerCase().includes(c(Fe).toLowerCase())}let Nt=M(null);function ti($){const de=$.currentTarget.getBoundingClientRect();b(Nt,{x:de.left,y:de.top},!0)}function Ot(){b(Nt,null)}let Lt,Pt,Ct,_i=!1,fi=null,Zt=null,Ti=!1,Mi=!1,Ni=M(!1),Ci=M(null),di=M(!1),vi=M(!1),Je=M(void 0),$t=null,yi=null,Oi=null,on=M(mi(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),Ri=M(mi(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),Gi=M(mi(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),Fi=M(mi(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),nn=!1,Hi=0,Cn=0,Ue=!1,zt=0,ui=0,xi=!1,ki=0,mn=0,Ii=!1,nt=0,Et=0;const Me=dt(()=>{var $;return c(u)&&c(re)?{path:c(u),content:(($=c(re).model)==null?void 0:$.getValue())??c(re).savedContent}:null}),Q=dt(()=>{var $;return new Set((($=c(y))==null?void 0:$.changes.map(de=>de.file))??[])}),Ae=dt(()=>{const $=new Set;for(const de of c(Q)){const $e=de.split("/");for(let Se=1;Se<$e.length;Se++)$.add($e.slice(0,Se).join("/"))}return $});let ot=M(!1),at=M(!1),ht=M(""),F=M(!1),ne=M(""),he=M(mi(new Set));async function He(){var $;if(!(!c(ht).trim()||c(he).size===0)){b(F,!0),b(ne,"");try{const de=c(y).changes.filter($e=>c(he).has($e.file)).map($e=>$e.file);if(de.length===c(y).changes.length?await FE(c(ht).trim()):await OE(de,c(ht).trim()),c(k))try{await Sm()}catch{}b(ht,""),await ke(),($=c(y))!=null&&$.changes.length?b(he,new Set(c(y).changes.map($e=>$e.file)),!0):b(ot,!1)}catch(de){b(ne,de.message,!0)}finally{b(F,!1)}}}let Ze,Z,re=dt(()=>c(d).find($=>$.path===c(u))??null);const ae="she-tabs",Ve="she-active-tab",et="she-log-open",Be="she-chat-open";let We=Su(e,"active",3,!0);Vn(()=>{Mi&&(localStorage.setItem(ae,JSON.stringify(c(d).map($=>$.path))),c(u)?localStorage.setItem(Ve,c(u)):localStorage.removeItem(Ve))}),Vn(()=>{Mi&&localStorage.setItem(Be,String(c(Ni)))}),Vn(()=>{We()&&Pt&&Pt.layout()});const bt=`
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 Vt($){c(d).some(de=>de.dirty)&&$.preventDefault()}co(async()=>{var Se;window.addEventListener("beforeunload",Vt),b(w,localStorage.getItem(et)!=="false"),b(Ni,localStorage.getItem(Be)==="true"),nd.typescript.javascriptDefaults.addExtraLib(bt,"she-api.d.ts"),nd.typescript.javascriptDefaults.setCompilerOptions({target:nd.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),nd.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),MG(),Ct=pr.createModel("","javascript"),Pt=pr.create(Lt,{model:Ct,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),Pt.onDidChangeModelContent(()=>{if(_i)return;const wt=c(d).find(Yt=>Yt.path===c(u));wt&&(wt.dirty=Pt.getValue()!==wt.savedContent),Mt&&clearTimeout(Mt),Mt=setTimeout(it,600)}),fi=Ek(wt=>{const Yt=wt.msg.match(/^([^:\n]+\.js):\s/);if(!Yt)return;const ci=Yt[1];if(wt.level==="error")Ce.add(ci),c(vt).has(ci)||b(vt,new Set([...c(vt),ci]),!0);else if(Ce.has(ci)){Ce.delete(ci);const Zi=new Set(c(vt));Zi.delete(ci),b(vt,Zi,!0)}const cn=c(d).find(Zi=>Zi.path===ci);cn&&(cn.logEntries=[...cn.logEntries.slice(-199),wt],cn.path===c(u)&&c(w)&&c(rt)&&Om().then(()=>{c(rt)&&(c(rt).scrollTop=c(rt).scrollHeight)}))}),Zt=Pr("script:running",wt=>{const Yt=wt.path;if(wt.running)b(yt,new Set([...c(yt),Yt]),!0);else{const ci=new Set(c(yt));ci.delete(Yt),b(yt,ci,!0)}}),await Ft(),ke();try{const wt=await Dl();typeof wt.gitAutoCommit=="boolean"&&b(x,wt.gitAutoCommit,!0),typeof wt.gitAutoPush=="boolean"&&b(k,wt.gitAutoPush,!0)}catch{}try{const wt=await getDaemonStatus();b(yt,new Set(wt.runningScripts??[]),!0)}catch{}const $=JSON.parse(localStorage.getItem(ae)??"[]"),de=localStorage.getItem(Ve);for(const wt of $)await Ei(wt,!1);const $e=de&&c(d).some(wt=>wt.path===de)?de:((Se=c(d)[0])==null?void 0:Se.path)??null;$e&&await Ki($e),Mi=!0}),Wy(()=>{var $;window.removeEventListener("beforeunload",Vt),Mt&&clearTimeout(Mt),fi==null||fi(),Zt==null||Zt();for(const de of c(d))($=de.model)==null||$.dispose();Ct==null||Ct.dispose(),Pt==null||Pt.dispose()});async function Ft(){try{if(b(t,await x7(),!0),!Ti){let de=function($e){for(const Se of $e)Se.type==="dir"&&($[Se.path]=!0,Se.children&&de(Se.children))};Ti=!0;const $={};de(c(t)),b(i,$,!0)}b(g,"")}catch($){b(g,$.message,!0)}}function ii($){c(i)[$]=!c(i)[$]}function pi($){switch($){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return $}}async function si($,de){try{de?await Qc(`${$}/.shelib`,""):await wm(`${$}/.shelib`),await Ft(),await Qe("all",de?`lib ${$}`:`unlib ${$}`)}catch($e){b(g,$e.message,!0)}}async function wi($,de){const $e=$.split("/").pop(),Se=$.includes("/")?$.slice(0,$.lastIndexOf("/")):"",wt=Se?`${Se}/.shedisable-${$e}`:`.shedisable-${$e}`;try{de?await Qc(wt,""):await wm(wt),await Ft(),await Qe("all",de?`disable ${$}`:`enable ${$}`)}catch(Yt){b(g,Yt.message,!0)}}async function Ei($,de=!0){var $e;if(c(d).some(Se=>Se.path===$)){de&&await Ki($);return}try{const{content:Se}=await hS($),wt=h3.parse(`file:///she-scripts/${encodeURIComponent($)}`);($e=pr.getModel(wt))==null||$e.dispose();const Yt=pr.createModel(Se,Ke($),wt);b(d,[...c(d),{path:$,dirty:!1,savedContent:Se,model:Yt,logEntries:[]}],!0),de&&await Ki($)}catch(Se){b(g,Se.message,!0)}}async function Pi($){await Ei($,!0)}async function Ki($){const de=c(d).find($e=>$e.path===$);de!=null&&de.model&&(pe(),b(Ci,null),b(u,$,!0),_i=!0,Pt.setModel(de.model),_i=!1,it())}async function zi($){var Se;const de=c(d).find(wt=>wt.path===$);if(!de||de.dirty&&!await Ze.show(`Discard unsaved changes to ${$}?`,{confirm:"Discard"}))return;const $e=c(d).findIndex(wt=>wt.path===$);if((Se=de.model)==null||Se.dispose(),b(d,c(d).filter(wt=>wt.path!==$),!0),c(u)===$){const wt=c(d)[$e]??c(d)[$e-1]??null;wt?await Ki(wt.path):(b(u,null),Pt.setModel(Ct))}}async function ke(){try{b(y,await L7(),!0)}catch{b(y,null)}}async function Qe($,de){if(c(y))try{if($==="all"?await FE(de):await OE($,de),c(k))try{await Sm()}catch{}await ke()}catch{}}async function xt(){if(!c(u))return;const $=c(d).find(de=>de.path===c(u));if($){b(f,!0);try{const de=Pt.getValue();await Qc(c(u),de),$.savedContent=de,$.dirty=!1,b(g,""),c(x)?await Qe([c(u)],`update ${c(u)}`):ke()}catch(de){b(g,de.message,!0)}finally{b(f,!1)}}}async function jt(){if(!c(u)||(await xt(),c(g)))return;const $=await Z.show("Commit message:",{initial:`update ${c(u)}`,placeholder:"Update script",confirm:"Commit"});if($)try{if(await D7(c(u),$),c(k))try{await Sm()}catch{}ke()}catch(de){b(g,"Git: "+de.message)}}async function Si(){b(p,!1);try{await Sm(),await ke(),b(g,"")}catch($){b(g,"Git push: "+$.message)}}function gi($){const de=Date.now()-new Date($).getTime(),$e=Math.floor(de/1e3);if($e<60)return"just now";const Se=Math.floor($e/60);if(Se<60)return`${Se}m ago`;const wt=Math.floor(Se/60);if(wt<24)return`${wt}h ago`;const Yt=Math.floor(wt/24);if(Yt<30)return`${Yt}d ago`;const ci=Math.floor(Yt/30);return ci<12?`${ci}mo ago`:`${Math.floor(ci/12)}y ago`}async function li($){se(),b(D,$,!0),b(P,[],!0),b(q,30),await It()}async function It(){if(c(D)){b(A,!0);try{b(P,await T7(c(D).path,c(q)),!0)}catch{}finally{b(A,!1)}}}async function oi(){b(q,c(q)+30),await It()}function N(){b(D,null),b(P,[],!0),pe()}async function Y($){if(!c(D))return;pe(),await Pi(c(D).path);let de;try{de=await P7($.hash,c(D).path)}catch{return}if(b(qe,$.hash,!0),b(Oe,de.binary,!0),b(ye,!0),de.binary||de.content===null)return;let $e="";const Se=c(d).find(Yt=>Yt.path===c(D).path);if(Se!=null&&Se.model)$e=Se.model.getValue();else try{$e=(await hS(c(D).path)).content}catch{}if(await Om(),!c(z))return;const wt=Ke(c(D).path);ie=pr.createModel(de.content,wt),be=pr.createModel($e,wt),oe=pr.createDiffEditor(c(z),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),oe.setModel({original:ie,modified:be})}function pe(){b(ye,!1),b(Oe,!1),oe==null||oe.dispose(),oe=null,ie==null||ie.dispose(),ie=null,be==null||be.dispose(),be=null}async function K(){const $=c(n)?`${c(n)}/`:"",de=await Z.show("New script name:",{placeholder:$?`${$}myscript.js`:"myscript.js",initial:$,confirm:"Create"});if(!de)return;const $e=de.endsWith(".js")?`/* global she */
217
+ 'use strict';
218
+
219
+ `:"";await Qc(de,$e),await Ft(),await Ei(de,!0)}async function B(){const $=c(n)?`${c(n)}/`:"",de=await Z.show("New folder name:",{placeholder:$?`${$}subfolder`:"myfolder",initial:$,confirm:"Create"});de&&(await k7(de),c(i)[de]=!0,await Ft())}function G($,de){$.preventDefault(),b(s,{x:$.clientX,y:$.clientY,entry:de},!0)}function se(){b(s,null)}async function xe($){se(),b(n,$,!0),c(i)[$]=!0,await K()}async function ee($){se(),b(n,$,!0),await B()}async function le($){se();const de=$.path.includes("/")?$.path.slice(0,$.path.lastIndexOf("/")+1):"",$e=await Z.show($.type==="dir"?"Rename folder:":"Rename script:",{initial:$.name,placeholder:$.name,confirm:"Rename"});if(!$e||$e===$.name)return;const Se=de+$e;try{await AE($.path,Se);const wt=c(d).find(Yt=>Yt.path===$.path);wt&&(wt.path=Se,c(u)===$.path&&b(u,Se)),await Ft(),await Qe("all",`rename ${$.path} → ${Se}`)}catch(wt){b(g,wt.message,!0)}}function ze($){if(!$.children)return 0;let de=0;for(const $e of $.children)de++,$e.type==="dir"&&(de+=ze($e));return de}async function ce($){se();let de=`Delete ${$.type==="dir"?"folder":"file"} "${$.path}"?`;if($.type==="dir"){const $e=ze($);$e>0&&(de+=` This will also delete ${$e} item${$e===1?"":"s"} inside.`)}if(await Ze.show(de,{confirm:"Delete",danger:!0})){if($.type==="dir")for(const $e of[...c(d)])$e.path.startsWith($.path+"/")&&await zi($e.path);else await zi($.path);await wm($.path),await Ft(),await Qe("all",`delete ${$.path}`)}}async function we($){se();const{content:de}=await hS($.path);c(ut).some($e=>$e.name===$.path)||b(ut,[...c(ut),{name:$.path,content:de}],!0),b(Ni,!0)}function st($,de){var $e;b(r,de,!0),($e=$.dataTransfer)==null||$e.setData("text/plain",de)}function j($,de){if($.preventDefault(),c(r)&&(c(r)===de||de.startsWith(c(r)+"/"))){$.dataTransfer&&($.dataTransfer.dropEffect="none"),b(a,null);return}$.dataTransfer&&($.dataTransfer.dropEffect="move"),b(a,de,!0)}function te(){b(a,null)}async function fe($,de){var ci,cn,Zi;$.preventDefault(),b(a,null);const $e=Array.from(((ci=$.dataTransfer)==null?void 0:ci.items)??[]).filter(_n=>_n.kind==="file");if($e.length>0&&!c(r)){for(const _n of $e){const Xi=(cn=_n.webkitGetAsEntry)==null?void 0:cn.call(_n);Xi&&await Te(Xi,de,!0)}await Ft();return}const Se=c(r)??((Zi=$.dataTransfer)==null?void 0:Zi.getData("text/plain"));if(b(r,null),!Se||Se===de||de.startsWith(Se+"/"))return;const wt=Se.split("/").pop(),Yt=de?`${de}/${wt}`:wt;if(Yt!==Se)try{await AE(Se,Yt);for(const _n of c(d))if(_n.path===Se)c(u)===Se&&b(u,Yt,!0),_n.path=Yt;else if(_n.path.startsWith(Se+"/")){const Xi=Yt+_n.path.slice(Se.length);c(u)===_n.path&&b(u,Xi),_n.path=Xi}await Ft(),await Qe("all",`rename ${Se} → ${Yt}`)}catch(_n){b(g,_n.message,!0)}}async function Te($,de,$e){if($.isFile){const wt=await(await new Promise((ci,cn)=>$.file(ci,cn))).text(),Yt=de?`${de}/${$.name}`:$.name;await Qc(Yt,wt),$e&&$.name.endsWith(".js")&&await wi(Yt,!0)}else if($.isDirectory){const Se=$.createReader();let wt=[],Yt;do Yt=await new Promise((ci,cn)=>Se.readEntries(ci,cn)),wt=[...wt,...Yt];while(Yt.length>0);for(const ci of wt)await Te(ci,de?`${de}/${$.name}`:$.name,!1);if($e){const ci=de?`${de}/${$.name}`:$.name;await wi(ci,!0)}}}async function Ie(){if(!c(u)||!await Ze.show(`Delete ${c(u)}?`,{confirm:"Delete",danger:!0}))return;const $=c(u);await zi($),await wm($),await Ft(),await Qe("all",`delete ${$}`)}function Ee(){c(re)&&(c(re).logEntries=[])}function kt(){b(w,!c(w)),localStorage.setItem(et,String(c(w)))}function ct($){return new Date($).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Ke($){var Se;const de=((Se=$.split(".").pop())==null?void 0:Se.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"}[de]??"plaintext"}let Mt=null;async function it(){const $=c(d).find($e=>$e.path===c(u));if(!($!=null&&$.model))return;const de=$.model;try{const Yt=(await(await(await nd.typescript.getJavaScriptWorker())(de.uri)).getSyntacticDiagnostics(de.uri.toString())).map(ci=>{const cn=de.getPositionAt(ci.start??0),Zi=de.getPositionAt((ci.start??0)+(ci.length??0));return{severity:f3.Error,startLineNumber:cn.lineNumber,startColumn:cn.column,endLineNumber:Zi.lineNumber,endColumn:Zi.column,message:typeof ci.messageText=="string"?ci.messageText:JSON.stringify(ci.messageText),source:"she-syntax"}});if(pr.setModelMarkers(de,"she-syntax",Yt),c(u)){if(Yt.length>0)Ce.add(c(u)),c(vt).has(c(u))||b(vt,new Set([...c(vt),c(u)]),!0);else if(Ce.has(c(u))){Ce.delete(c(u));const ci=new Set(c(vt));ci.delete(c(u)),b(vt,ci,!0)}}}catch{}}function ve($){nn=!0,Hi=$.clientX,Cn=c(on),$.preventDefault()}function Re($){Ue=!0,zt=$.clientY,ui=c(Ri),$.preventDefault()}function Pe($){xi=!0,ki=$.clientX,mn=c(Gi),$.preventDefault()}function je($){Ii=!0,nt=$.clientY,Et=c(Fi),$.preventDefault()}function Dt($){nn&&b(on,Math.max(140,Math.min(500,Cn+$.clientX-Hi)),!0),Ue&&b(Ri,Math.max(60,Math.min(500,ui-($.clientY-zt))),!0),xi&&b(Gi,Math.max(200,Math.min(700,mn-($.clientX-ki))),!0),Ii&&b(Fi,Math.max(80,Math.min(600,Et-($.clientY-nt))),!0)}function Le(){nn&&(nn=!1,localStorage.setItem("she-scripts-sidebar-width",String(c(on)))),Ue&&(Ue=!1,localStorage.setItem("she-scripts-log-height",String(c(Ri)))),xi&&(xi=!1,localStorage.setItem("she-scripts-chat-width",String(c(Gi)))),Ii&&(Ii=!1,localStorage.setItem("she-scripts-history-height",String(c(Fi))))}function Ge($){($.ctrlKey||$.metaKey)&&$.key==="s"&&($.preventDefault(),xt()),$.key==="Escape"&&(b(p,!1),b(s,null),b(at,!1))}async function ft($,de){const $e=await Z.show("Save new script as:",{placeholder:"myscript.js",initial:$,confirm:"Create"});if($e)try{await Qc($e,de),await Ft(),await Ei($e,!0)}catch(Se){b(g,Se.message,!0)}}async function gt($){var $e,Se;if(c(di)&&c(u)){b(Ci,$,!0),await tt();return}if(b(Ci,$,!0),await Om(),!c(Je))return;yi==null||yi.dispose(),Oi==null||Oi.dispose(),$t==null||$t.dispose();const de=((Se=($e=c(re))==null?void 0:$e.model)==null?void 0:Se.getValue())??"";yi=pr.createModel(de,"javascript"),Oi=pr.createModel($,"javascript"),$t=pr.createDiffEditor(c(Je),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),$t.setModel({original:yi,modified:Oi})}Vn(()=>{c(u),b(di,!1),b(vi,!1)});async function tt(){if(c(Ci)===null||!c(u))return;const $=c(Ci);b(Ci,null);const de=c(d).find($e=>$e.path===c(u));de!=null&&de.model&&(_i=!0,de.model.setValue($),_i=!1,de.dirty=!1,de.savedContent=$);try{await Qc(c(u),$),b(g,""),c(x)?await Qe([c(u)],`update ${c(u)}`):ke()}catch($e){b(g,$e.message,!0)}Xt()}function Gt(){b(Ci,null),Xt()}function Xt(){$t==null||$t.dispose(),$t=null,yi==null||yi.dispose(),yi=null,Oi==null||Oi.dispose(),Oi=null}var an=EK();ds("keydown",xd,Ge),ds("mousemove",xd,Dt),ds("mouseup",xd,Le);var $i=St(an);ks(Gu($i,{}),$=>Ze=$,()=>Ze);var pn=v($i,2);ks(Rq(pn,{}),$=>Z=$,()=>Z);var Wn=v(pn,2);{var Vi=$=>{var de=OG(),$e=St(de),Se=v($e,2);let wt;var Yt=m(Se);{var ci=Zi=>{var _n=RG(),Xi=St(_n),dn=v(Xi,2),Qi=v(dn,4),Bn=v(Qi,2);U("click",Xi,()=>xe(c(s).entry.path)),U("click",dn,()=>ee(c(s).entry.path)),U("click",Qi,()=>le(c(s).entry)),U("click",Bn,()=>ce(c(s).entry)),E(Zi,_n)},cn=Zi=>{var _n=AG(),Xi=St(_n),dn=v(Xi,2),Qi=v(dn,2),Bn=v(Qi,2);{var Yn=tn=>{var gs=NG();U("click",gs,()=>li(c(s).entry)),E(tn,gs)};H(Bn,tn=>{c(y)&&tn(Yn)})}var Gn=v(Bn,4);U("click",Xi,()=>Pi(c(s).entry.path)),U("click",dn,()=>le(c(s).entry)),U("click",Qi,()=>we(c(s).entry)),U("click",Gn,()=>ce(c(s).entry)),E(Zi,_n)};H(Yt,Zi=>{c(s).entry.type==="dir"?Zi(ci):Zi(cn,-1)})}V(()=>wt=Bo(Se,"",wt,{left:`${c(s).x??""}px`,top:`${c(s).y??""}px`})),U("click",$e,se),U("contextmenu",$e,Zi=>{Zi.preventDefault(),se()}),E($,de)};H(Wn,$=>{c(s)&&$(Vi)})}var ri=v(Wn,2);{var ln=$=>{var de=FG();let $e;V(()=>$e=Bo(de,"",$e,{left:`${c(Nt).x??""}px`,top:`${c(Nt).y-4}px`})),E($,de)};H(ri,$=>{c(Nt)&&$(ln)})}var en=v(ri,2),es=m(en);let Bs;{const $=($e,Se=Ny,wt)=>{let Yt=x0(()=>y3(wt==null?void 0:wt(),!1));var ci=Ms(),cn=St(ci);{var Zi=Xi=>{var dn=WG(),Qi=m(dn);let Bn;var Yn=m(Qi);let Gn;var tn=v(Yn,2);let gs;var zs=m(tn),ws=v(tn,2);{var ls=xn=>{var Jo=aD();E(xn,Jo)},ss=dt(()=>c(Q).has(Se().path)||c(Ae).has(Se().path));H(ws,xn=>{c(ss)&&xn(ls)})}var ps=v(ws,2),Ss=m(ps),Vs=v(ps,2),ma=m(Vs),jr=v(Qi,2);{var js=xn=>{var Jo=HG();ai(Jo,21,()=>Se().children,Ps=>Ps.path,(Ps,$r)=>{$(Ps,()=>c($r),()=>Se().disabled||c(Yt))}),E(xn,Jo)};H(jr,xn=>{c(i)[Se().path]&&Se().children&&xn(js)})}V(()=>{Bn=Tt(Qi,1,"dir-row svelte-1pyfjii",null,Bn,{"dir-selected":c(n)===Se().path,"drag-target":c(a)===Se().path}),Ai(Qi,"aria-selected",c(n)===Se().path),Gn=Tt(Yn,1,"chevron svelte-1pyfjii",null,Gn,{open:c(i)[Se().path]}),gs=Tt(tn,1,"dir-name svelte-1pyfjii",null,gs,{lib:Se().lib}),O(zs,Se().name),hd(Ss,Se().lib),hd(ma,Se().disabled)}),ds("dragstart",Qi,xn=>st(xn,Se().path)),ds("dragover",Qi,xn=>j(xn,Se().path)),ds("dragleave",Qi,te),ds("drop",Qi,xn=>fe(xn,Se().path)),U("contextmenu",Qi,xn=>G(xn,Se())),U("click",Yn,()=>ii(Se().path)),U("click",tn,()=>{b(n,Se().path,!0),c(i)[Se().path]=!0}),U("keydown",tn,xn=>xn.key==="Enter"&&b(n,Se().path,!0)),ds("mouseenter",ps,ti),ds("mouseleave",ps,Ot),U("change",Ss,()=>si(Se().path,!Se().lib)),U("change",ma,()=>wi(Se().path,!Se().disabled)),E(Xi,dn)},_n=Xi=>{const dn=dt(()=>c(vt).has(Se().path)),Qi=dt(()=>c(Q).has(Se().path)),Bn=dt(()=>c(d).some(Pn=>Pn.path===Se().path&&Pn.dirty)),Yn=dt(()=>(Se().name.split(".").pop()??"txt").toUpperCase()),Gn=dt(()=>Se().name.endsWith(".js"));var tn=UG();let gs;var zs=m(tn),ws=m(zs);let ls;var ss=m(ws);let ps;var Ss=m(ss),Vs=v(ss,2),ma=m(Vs),jr=v(Vs,2);{var js=Pn=>{var ms=aD();E(Pn,ms)};H(jr,Pn=>{c(Qi)&&Pn(js)})}var xn=v(jr);{var Jo=Pn=>{var ms=BG();E(Pn,ms)};H(xn,Pn=>{c(Bn)&&Pn(Jo)})}var Ps=v(xn,2);{var $r=Pn=>{var ms=zG();E(Pn,ms)},dg=dt(()=>c(Gn)&&c(yt).has(Se().path)&&!c(dn));H(Ps,Pn=>{c(dg)&&Pn($r)})}var Bl=v(Ps,2);{var ug=Pn=>{var ms=VG();E(Pn,ms)};H(Bl,Pn=>{c(dn)&&Pn(ug)})}var Ur=v(ws,2);{var _w=Pn=>{var ms=jG();let Gc;var Ju=m(ms);V(()=>{Gc=Tt(ms,1,"dis-label svelte-1pyfjii",null,Gc,{"dis-locked":c(Yt)}),Ai(ms,"title",c(Yt)?"Disabled by parent directory":"Disable — this script will not be executed"),hd(Ju,Se().disabled),Ju.disabled=c(Yt)}),U("change",Ju,()=>wi(Se().path,!Se().disabled)),E(Pn,ms)},qc=Pn=>{var ms=$G();E(Pn,ms)};H(Ur,Pn=>{c(Gn)?Pn(_w):Pn(qc,-1)})}V((Pn,ms,Gc)=>{gs=Tt(tn,1,"tree-file svelte-1pyfjii",null,gs,Pn),ls=Tt(ws,1,"svelte-1pyfjii",null,ls,{lib:Se().lib,dis:Se().disabled,err:c(dn)}),ps=Tt(ss,1,`badge badge-${ms??""}`,"svelte-1pyfjii",ps,{"badge-shelib":Se().lib}),O(Ss,Gc),O(ma,Se().name)},[()=>({active:c(d).some(Pn=>Pn.path===Se().path),"active-tab":Se().path===c(u)}),()=>c(Yn).toLowerCase(),()=>pi(c(Yn))]),ds("dragstart",tn,Pn=>st(Pn,Se().path)),U("contextmenu",tn,Pn=>G(Pn,Se())),U("click",ws,()=>Pi(Se().path)),E(Xi,tn)};H(cn,Xi=>{Se().type==="dir"?Xi(Zi):Xi(_n,-1)})}E($e,ci)};var ho=m(es),Ko=m(ho),dr=v(Ko,2),Xn=v(dr,2),Zo=v(ho,2);{var ur=$e=>{var Se=qG(),wt=m(Se);V(()=>O(wt,c(g))),E($e,Se)};H(Zo,$e=>{c(g)&&$e(ur)})}var gn=v(Zo,2),Ds=m(gn);let de;var fs=v(Ds,2);ai(fs,17,()=>c(t),$e=>$e.path,($e,Se)=>{$($e,()=>c(Se))});var ns=v(gn,2);{var Ts=$e=>{var Se=QG();let wt;var Yt=m(Se),ci=v(Yt,2),cn=m(ci),Zi=m(cn),_n=v(cn,2),Xi=v(ci,2),dn=m(Xi);{var Qi=Gn=>{var tn=GG();E(Gn,tn)},Bn=Gn=>{var tn=KG();E(Gn,tn)},Yn=Gn=>{var tn=YG(),gs=St(tn);ai(gs,17,()=>c(P),ls=>ls.hash,(ls,ss)=>{var ps=ZG(),Ss=m(ps),Vs=m(Ss),ma=v(Ss,2),jr=m(ma);V((js,xn)=>{O(Vs,c(ss).subject),O(jr,`${js??""} · ${xn??""}`)},[()=>c(ss).hash.slice(0,7),()=>gi(c(ss).date)]),U("click",ps,()=>Y(c(ss))),E(ls,ps)});var zs=v(gs,2);{var ws=ls=>{var ss=XG(),ps=m(ss);V(()=>{ss.disabled=c(A),O(ps,c(A)?"Loading…":"Load more")}),U("click",ss,oi),E(ls,ss)};H(zs,ls=>{c(P).length>=c(q)&&ls(ws)})}E(Gn,tn)};H(dn,Gn=>{c(A)&&c(P).length===0?Gn(Qi):c(P).length===0?Gn(Bn,1):Gn(Yn,-1)})}V(()=>{wt=Bo(Se,"",wt,{height:`${c(Fi)??""}px`}),Ai(cn,"title",c(D).path),O(Zi,`History: ${c(D).name??""}`)}),U("mousedown",Yt,je),U("click",_n,N),E($e,Se)};H(ns,$e=>{c(D)&&$e(Ts)})}V(()=>de=Tt(Ds,1,"tree-root-drop svelte-1pyfjii",null,de,{"drag-target":c(a)===""})),U("click",Ko,K),U("click",dr,B),U("click",Xn,Ft),ds("dragover",Ds,$e=>j($e,"")),ds("dragleave",Ds,te),ds("drop",Ds,$e=>fe($e,""))}var Wr=v(es,2),Za=v(Wr,2),Fl=m(Za);{var Xa=$=>{var de=tK();ai(de,21,()=>c(d),$e=>$e.path,($e,Se)=>{var wt=eK();let Yt;var ci=m(wt),cn=m(ci),Zi=v(ci,2);{var _n=dn=>{var Qi=JG();E(dn,Qi)};H(Zi,dn=>{c(Se).dirty&&dn(_n)})}var Xi=v(Zi,2);V(dn=>{Yt=Tt(wt,1,"tab svelte-1pyfjii",null,Yt,{active:c(Se).path===c(u)}),O(cn,dn)},[()=>c(Se).path.split("/").pop()]),U("click",wt,()=>Ki(c(Se).path)),U("keydown",wt,dn=>dn.key==="Enter"&&Ki(c(Se).path)),U("click",Xi,dn=>{dn.stopPropagation(),zi(c(Se).path)}),E($e,wt)}),E($,de)};H(Fl,$=>{c(d).length>0&&$(Xa)})}var Xo=v(Fl,2),Br=m(Xo),zr=m(Br),A_=v(Br,2);{var hr=$=>{var de=cK(),$e=m(de),Se=m($e),wt=v($e,2);{var Yt=Xi=>{var dn=oK(),Qi=m(dn),Bn=m(Qi),Yn=v(Qi,2);{var Gn=tn=>{var gs=sK(),zs=St(gs),ws=v(zs,2),ls=v(m(ws),2);ai(ls,21,()=>c(y).changes,Wi,(js,xn)=>{var Jo=iK(),Ps=m(Jo),$r=v(Ps,2),dg=m($r),Bl=v($r,2),ug=m(Bl);V(Ur=>{hd(Ps,Ur),O(dg,c(xn).status),O(ug,c(xn).file)},[()=>c(he).has(c(xn).file)]),U("change",Ps,()=>{const Ur=new Set(c(he));Ur.has(c(xn).file)?Ur.delete(c(xn).file):Ur.add(c(xn).file),b(he,Ur,!0)}),E(js,Jo)});var ss=v(ls,2),ps=m(ss),Ss=v(ps,2),Vs=m(Ss),ma=v(ss,2);{var jr=js=>{var xn=nK(),Jo=m(xn);V(()=>O(Jo,c(ne))),E(js,xn)};H(ma,js=>{c(ne)&&js(jr)})}V(js=>{var xn;Ss.disabled=js,O(Vs,c(F)?"…":c(he).size===((xn=c(y))==null?void 0:xn.changes.length)?"Commit all":`Commit ${c(he).size}`)},[()=>!c(ht).trim()||c(F)||c(he).size===0]),U("click",zs,()=>b(ot,!1)),U("keydown",ps,js=>js.key==="Enter"&&He()),Qt(ps,()=>c(ht),js=>b(ht,js)),U("click",Ss,He),E(tn,gs)};H(Yn,tn=>{c(ot)&&tn(Gn)})}V(()=>{Ai(Qi,"title",`${c(y).changes.length??""} uncommitted change(s) — click to view`),O(Bn,`✎${c(y).changes.length??""}`)}),U("click",Qi,()=>{c(ot)||b(he,new Set(c(y).changes.map(tn=>tn.file)),!0),b(ot,!c(ot)),b(ne,"")}),E(Xi,dn)};H(wt,Xi=>{c(y).changes.length>0&&Xi(Yt)})}var ci=v(wt,2);{var cn=Xi=>{var dn=aK(),Qi=m(dn),Bn=m(Qi),Yn=v(Qi,2);{var Gn=tn=>{var gs=rK(),zs=St(gs),ws=v(zs,2),ls=m(ws),ss=m(ls),ps=v(ls,2),Ss=m(ps);V(()=>O(ss,`${c(y).ahead??""} unpushed commit(s)`)),U("click",zs,()=>b(at,!1)),U("click",Ss,()=>{b(at,!1),Si()}),E(tn,gs)};H(Yn,tn=>{c(at)&&tn(Gn)})}V(()=>{Ai(Qi,"title",`${c(y).ahead??""} commit(s) ahead of upstream — click to push`),O(Bn,`↑${c(y).ahead??""}`)}),U("click",Qi,()=>b(at,!c(at))),E(Xi,dn)};H(ci,Xi=>{c(y).ahead>0&&Xi(cn)})}var Zi=v(ci,2);{var _n=Xi=>{var dn=lK(),Qi=m(dn);V(()=>{Ai(dn,"title",`${c(y).behind??""} commit(s) behind upstream`),O(Qi,`↓${c(y).behind??""}`)}),E(Xi,dn)};H(Zi,Xi=>{c(y).behind>0&&Xi(_n)})}V(()=>{Ai($e,"title",`Branch: ${c(y).branch??""}`),O(Se,`⎇ ${c(y).branch??""}`)}),E($,de)};H(A_,$=>{c(y)&&$(hr)})}var O_=v(A_,2),ig=m(O_),Yo=m(ig),F_=m(Yo),ng=v(Yo,2),sg=v(ig,2);{var uw=$=>{var de=dK(),$e=St(de),Se=v($e,2),wt=m(Se),Yt=v(wt,2);U("click",$e,()=>b(p,!1)),U("click",wt,()=>{b(p,!1),xt()}),U("click",Yt,()=>{b(p,!1),jt()}),E($,de)};H(sg,$=>{c(p)&&$(uw)})}var og=v(O_,2);{var H_=$=>{var de=uK();U("click",de,Ie),E($,de)};H(og,$=>{c(u)&&$(H_)})}var rg=v(og,2);let W_;var ag=v(Xo,2),B_=m(ag),lg=m(B_),cg=m(lg);ks(cg,$=>Lt=$,()=>Lt);var jc=v(cg,2);{var Ya=$=>{var de=hK();E($,de)};H(jc,$=>{c(u)||$(Ya)})}var z_=v(jc,2);{var $c=$=>{var de=_K(),$e=m(de),Se=m($e),wt=v(m(Se)),Yt=m(wt),ci=v(Se,2),cn=m(ci),Zi=m(cn),_n=m(Zi),Xi=m(_n),dn=v(_n,2),Qi=v(Zi,2);{var Bn=tn=>{var gs=pK(),zs=St(gs),ws=v(zs,2),ls=m(ws);{var ss=Ss=>{var Vs=fK();U("click",Vs,()=>{b(vi,!1),b(di,!0),tt()}),E(Ss,Vs)},ps=Ss=>{var Vs=gK();U("click",Vs,()=>{b(vi,!1),b(di,!1)}),E(Ss,Vs)};H(ls,Ss=>{c(di)?Ss(ps,-1):Ss(ss)})}U("click",zs,()=>b(vi,!1)),E(tn,gs)};H(Qi,tn=>{c(vi)&&tn(Bn)})}var Yn=v(cn,2),Gn=v($e,2);ks(Gn,tn=>b(Je,tn),()=>c(Je)),V(tn=>{O(Yt,tn),O(Xi,c(di)?"Auto-accept ✓":"Accept")},[()=>{var tn;return(tn=c(u))==null?void 0:tn.split("/").pop()}]),U("click",_n,tt),U("click",dn,()=>b(vi,!c(vi))),U("click",Yn,Gt),E($,de)};H(z_,$=>{c(Ci)!==null&&$($c)})}var Ro=v(z_,2);{var V_=$=>{var de=bK(),$e=m(de),Se=m($e),wt=v(m(Se)),Yt=m(wt),ci=v(wt,2),cn=m(ci),Zi=v(Se,2),_n=m(Zi),Xi=v($e,2);{var dn=Bn=>{var Yn=mK();E(Bn,Yn)},Qi=Bn=>{var Yn=vK();ks(Yn,Gn=>b(z,Gn),()=>c(z)),E(Bn,Yn)};H(Xi,Bn=>{c(Oe)?Bn(dn):Bn(Qi,-1)})}V(Bn=>{var Yn;O(Yt,Bn),O(cn,(Yn=c(D))==null?void 0:Yn.name)},[()=>c(qe).slice(0,7)]),U("click",_n,pe),E($,de)};H(Ro,$=>{c(ye)&&$(V_)})}var Zu=v(lg,2);let j_,Xu;var Yu=m(Zu);{var hw=$=>{var de=yK();U("mousedown",de,Re),E($,de)};H(Yu,$=>{c(w)&&$(hw)})}var $_=v(Yu,2),Qu=m($_),U_=m(Qu),Qo=v(U_);{var Hl=$=>{var de=wK(),$e=m(de);V(Se=>O($e,`— ${Se??""}`),[()=>c(u).split("/").pop()]),E($,de)};H(Qo,$=>{c(u)&&$(Hl)})}var fw=v(Qu,2);{var Vr=$=>{var de=CK(),$e=St(de);ai($e,21,()=>Ye,Wi,(cn,Zi)=>{var _n=SK(),Xi=m(_n),dn={};V(()=>{O(Xi,c(Zi)),dn!==(dn=c(Zi))&&(_n.value=(_n.__value=c(Zi))??"")}),E(cn,_n)});var Se=v($e,2),wt=v(Se,2),Yt=m(wt),ci=v(wt,2);fo($e,()=>c(Rt),cn=>b(Rt,cn)),Qt(Se,()=>c(Fe),cn=>b(Fe,cn)),xs(Yt,()=>c(Ht),cn=>b(Ht,cn)),U("click",ci,Ee),E($,de)};H(fw,$=>{c(w)&&$(Vr)})}var gw=v($_,2);{var Wl=$=>{var de=LK(),$e=m(de);ai($e,17,()=>{var Yt;return(((Yt=c(re))==null?void 0:Yt.logEntries)??[]).filter(lt)},Yt=>Yt.ts+Yt.msg,(Yt,ci)=>{var cn=xK(),Zi=m(cn),_n=m(Zi),Xi=v(Zi,2),dn=m(Xi),Qi=v(Xi,2),Bn=m(Qi);V((Yn,Gn)=>{Tt(cn,1,`log-line ${c(ci).level??""}`,"svelte-1pyfjii"),O(_n,Yn),O(dn,Gn),O(Bn,c(ci).msg)},[()=>ct(c(ci).ts),()=>c(ci).level.toUpperCase()]),E(Yt,cn)});var Se=v($e,2);{var wt=Yt=>{var ci=kK();E(Yt,ci)};H(Se,Yt=>{var ci;(((ci=c(re))==null?void 0:ci.logEntries.length)??0)===0&&Yt(wt)})}ks(de,Yt=>b(rt,Yt),()=>c(rt)),E($,de)};H(gw,$=>{c(w)&&$(Wl)})}var pw=v(B_,2);{var Uc=$=>{var de=IK(),$e=St(de),Se=v($e,2);let wt;var Yt=m(Se);bG(Yt,{get currentScript(){return c(Me)},onApply:gt,onCreateFile:ft,get extraFiles(){return c(ut)},set extraFiles(ci){b(ut,ci,!0)}}),V(()=>wt=Bo(Se,"",wt,{width:`${c(Gi)??""}px`})),U("mousedown",$e,Pe),E($,de)};H(pw,$=>{c(Ni)&&$(Uc)})}V(()=>{var $;Bs=Bo(es,"",Bs,{width:`${c(on)??""}px`}),O(zr,c(u)??"No file selected"),Yo.disabled=!(($=c(re))!=null&&$.dirty)||c(f),O(F_,c(f)?"Saving…":"Save"),ng.disabled=!c(u),W_=Tt(rg,1,"ai-toggle svelte-1pyfjii",null,W_,{"ai-open":c(Ni)}),Ai(rg,"title",c(Ni)?"Close AI assistant":"Open AI assistant"),j_=Tt(Zu,1,"log-panel svelte-1pyfjii",null,j_,{collapsed:!c(w)}),Xu=Bo(Zu,"",Xu,{height:c(w)?`${c(Ri)}px`:"26px"}),O(U_,`${c(w)?"▾":"▸"} Script Log `)}),U("mousedown",Wr,ve),U("click",Yo,xt),U("click",ng,()=>b(p,!c(p))),U("click",rg,()=>b(Ni,!c(Ni))),U("click",Qu,kt),E(o,an),Hs()}Qs(["click","contextmenu","keydown","change","mousedown"]);const bA="she-theme";function TK(){return localStorage.getItem(bA)??"dark"}function PK(o){localStorage.setItem(bA,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o)}var Vg={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 MK=Vg.exports,lD;function RK(){return lD||(lD=1,(function(o,e){(function(t,i){i(e)})(MK,(function(t){var i="1.9.4";function n(l){var h,_,S,I;for(_=1,S=arguments.length;_<S;_++){I=arguments[_];for(h in I)l[h]=I[h]}return l}var s=Object.create||(function(){function l(){}return function(h){return l.prototype=h,new l}})();function r(l,h){var _=Array.prototype.slice;if(l.bind)return l.bind.apply(l,_.call(arguments,1));var S=_.call(arguments,2);return function(){return l.apply(h,S.length?S.concat(_.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,_){var S,I,R,J;return J=function(){S=!1,I&&(R.apply(_,I),I=!1)},R=function(){S?I=arguments:(l.apply(_,arguments),setTimeout(J,h),S=!0)},R}function f(l,h,_){var S=h[1],I=h[0],R=S-I;return l===S&&_?l:((l-I)%R+R)%R+I}function g(){return!1}function p(l,h){if(h===!1)return l;var _=Math.pow(10,h===void 0?6:h);return Math.round(l*_)/_}function w(l){return l.trim?l.trim():l.replace(/^\s+|\s+$/g,"")}function y(l){return w(l).split(/\s+/)}function x(l,h){Object.prototype.hasOwnProperty.call(l,"options")||(l.options=l.options?s(l.options):{});for(var _ in h)l.options[_]=h[_];return l.options}function k(l,h,_){var S=[];for(var I in l)S.push(encodeURIComponent(_?I.toUpperCase():I)+"="+encodeURIComponent(l[I]));return(!h||h.indexOf("?")===-1?"?":"&")+S.join("&")}var D=/\{ *([\w_ -]+) *\}/g;function P(l,h){return l.replace(D,function(_,S){var I=h[S];if(I===void 0)throw new Error("No value provided for variable "+_);return typeof I=="function"&&(I=I(h)),I})}var A=Array.isArray||function(l){return Object.prototype.toString.call(l)==="[object Array]"};function q(l,h){for(var _=0;_<l.length;_++)if(l[_]===h)return _;return-1}var z="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function oe(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var ie=0;function be(l){var h=+new Date,_=Math.max(0,16-(h-ie));return ie=h+_,window.setTimeout(l,_)}var ye=window.requestAnimationFrame||oe("RequestAnimationFrame")||be,qe=window.cancelAnimationFrame||oe("CancelAnimationFrame")||oe("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function Oe(l,h,_){if(_&&ye===be)l.call(h);else return ye.call(window,r(l,h))}function rt(l){l&&qe.call(window,l)}var vt={__proto__:null,extend:n,create:s,bind:r,get lastId(){return a},stamp:d,throttle:u,wrapNum:f,falseFn:g,formatNum:p,trim:w,splitWords:y,setOptions:x,getParamString:k,template:P,isArray:A,indexOf:q,emptyImageUrl:z,requestFn:ye,cancelFn:qe,requestAnimFrame:Oe,cancelAnimFrame:rt};function Ce(){}Ce.extend=function(l){var h=function(){x(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},_=h.__super__=this.prototype,S=s(_);S.constructor=h,h.prototype=S;for(var I in this)Object.prototype.hasOwnProperty.call(this,I)&&I!=="prototype"&&I!=="__super__"&&(h[I]=this[I]);return l.statics&&n(h,l.statics),l.includes&&(yt(l.includes),n.apply(null,[S].concat(l.includes))),n(S,l),delete S.statics,delete S.includes,S.options&&(S.options=_.options?s(_.options):{},n(S.options,l.options)),S._initHooks=[],S.callInitHooks=function(){if(!this._initHooksCalled){_.callInitHooks&&_.callInitHooks.call(this),this._initHooksCalled=!0;for(var R=0,J=S._initHooks.length;R<J;R++)S._initHooks[R].call(this)}},h},Ce.include=function(l){var h=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=h,this.mergeOptions(l.options)),this},Ce.mergeOptions=function(l){return n(this.prototype.options,l),this},Ce.addInitHook=function(l){var h=Array.prototype.slice.call(arguments,1),_=typeof l=="function"?l:function(){this[l].apply(this,h)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(_),this};function yt(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=A(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 ut={on:function(l,h,_){if(typeof l=="object")for(var S in l)this._on(S,l[S],h);else{l=y(l);for(var I=0,R=l.length;I<R;I++)this._on(l[I],h,_)}return this},off:function(l,h,_){if(!arguments.length)delete this._events;else if(typeof l=="object")for(var S in l)this._off(S,l[S],h);else{l=y(l);for(var I=arguments.length===1,R=0,J=l.length;R<J;R++)I?this._off(l[R]):this._off(l[R],h,_)}return this},_on:function(l,h,_,S){if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}if(this._listens(l,h,_)===!1){_===this&&(_=void 0);var I={fn:h,ctx:_};S&&(I.once=!0),this._events=this._events||{},this._events[l]=this._events[l]||[],this._events[l].push(I)}},_off:function(l,h,_){var S,I,R;if(this._events&&(S=this._events[l],!!S)){if(arguments.length===1){if(this._firingCount)for(I=0,R=S.length;I<R;I++)S[I].fn=g;delete this._events[l];return}if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}var J=this._listens(l,h,_);if(J!==!1){var _e=S[J];this._firingCount&&(_e.fn=g,this._events[l]=S=S.slice()),S.splice(J,1)}}},fire:function(l,h,_){if(!this.listens(l,_))return this;var S=n({},h,{type:l,target:this,sourceTarget:h&&h.sourceTarget||this});if(this._events){var I=this._events[l];if(I){this._firingCount=this._firingCount+1||1;for(var R=0,J=I.length;R<J;R++){var _e=I[R],Ne=_e.fn;_e.once&&this.off(l,Ne,_e.ctx),Ne.call(_e.ctx||this,S)}this._firingCount--}}return _&&this._propagateEvent(S),this},listens:function(l,h,_,S){typeof l!="string"&&console.warn('"string" type argument expected');var I=h;typeof h!="function"&&(S=!!h,I=void 0,_=void 0);var R=this._events&&this._events[l];if(R&&R.length&&this._listens(l,I,_)!==!1)return!0;if(S){for(var J in this._eventParents)if(this._eventParents[J].listens(l,h,_,S))return!0}return!1},_listens:function(l,h,_){if(!this._events)return!1;var S=this._events[l]||[];if(!h)return!!S.length;_===this&&(_=void 0);for(var I=0,R=S.length;I<R;I++)if(S[I].fn===h&&S[I].ctx===_)return I;return!1},once:function(l,h,_){if(typeof l=="object")for(var S in l)this._on(S,l[S],h,!0);else{l=y(l);for(var I=0,R=l.length;I<R;I++)this._on(l[I],h,_,!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)}};ut.addEventListener=ut.on,ut.removeEventListener=ut.clearAllEventListeners=ut.off,ut.addOneTimeEventListener=ut.once,ut.fireEvent=ut.fire,ut.hasEventListeners=ut.listens;var Rt=Ce.extend(ut);function Fe(l,h,_){this.x=_?Math.round(l):l,this.y=_?Math.round(h):h}var Ht=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};Fe.prototype={clone:function(){return new Fe(this.x,this.y)},add:function(l){return this.clone()._add(Ye(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(Ye(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 Fe(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new Fe(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=Ht(this.x),this.y=Ht(this.y),this},distanceTo:function(l){l=Ye(l);var h=l.x-this.x,_=l.y-this.y;return Math.sqrt(h*h+_*_)},equals:function(l){return l=Ye(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=Ye(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 Ye(l,h,_){return l instanceof Fe?l:A(l)?new Fe(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new Fe(l.x,l.y):new Fe(l,h,_)}function ge(l,h){if(l)for(var _=h?[l,h]:l,S=0,I=_.length;S<I;S++)this.extend(_[S])}ge.prototype={extend:function(l){var h,_;if(!l)return this;if(l instanceof Fe||typeof l[0]=="number"||"x"in l)h=_=Ye(l);else if(l=lt(l),h=l.min,_=l.max,!h||!_)return this;return!this.min&&!this.max?(this.min=h.clone(),this.max=_.clone()):(this.min.x=Math.min(h.x,this.min.x),this.max.x=Math.max(_.x,this.max.x),this.min.y=Math.min(h.y,this.min.y),this.max.y=Math.max(_.y,this.max.y)),this},getCenter:function(l){return Ye((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return Ye(this.min.x,this.max.y)},getTopRight:function(){return Ye(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,_;return typeof l[0]=="number"||l instanceof Fe?l=Ye(l):l=lt(l),l instanceof ge?(h=l.min,_=l.max):h=_=l,h.x>=this.min.x&&_.x<=this.max.x&&h.y>=this.min.y&&_.y<=this.max.y},intersects:function(l){l=lt(l);var h=this.min,_=this.max,S=l.min,I=l.max,R=I.x>=h.x&&S.x<=_.x,J=I.y>=h.y&&S.y<=_.y;return R&&J},overlaps:function(l){l=lt(l);var h=this.min,_=this.max,S=l.min,I=l.max,R=I.x>h.x&&S.x<_.x,J=I.y>h.y&&S.y<_.y;return R&&J},isValid:function(){return!!(this.min&&this.max)},pad:function(l){var h=this.min,_=this.max,S=Math.abs(h.x-_.x)*l,I=Math.abs(h.y-_.y)*l;return lt(Ye(h.x-S,h.y-I),Ye(_.x+S,_.y+I))},equals:function(l){return l?(l=lt(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function lt(l,h){return!l||l instanceof ge?l:new ge(l,h)}function Nt(l,h){if(l)for(var _=h?[l,h]:l,S=0,I=_.length;S<I;S++)this.extend(_[S])}Nt.prototype={extend:function(l){var h=this._southWest,_=this._northEast,S,I;if(l instanceof Ot)S=l,I=l;else if(l instanceof Nt){if(S=l._southWest,I=l._northEast,!S||!I)return this}else return l?this.extend(Lt(l)||ti(l)):this;return!h&&!_?(this._southWest=new Ot(S.lat,S.lng),this._northEast=new Ot(I.lat,I.lng)):(h.lat=Math.min(S.lat,h.lat),h.lng=Math.min(S.lng,h.lng),_.lat=Math.max(I.lat,_.lat),_.lng=Math.max(I.lng,_.lng)),this},pad:function(l){var h=this._southWest,_=this._northEast,S=Math.abs(h.lat-_.lat)*l,I=Math.abs(h.lng-_.lng)*l;return new Nt(new Ot(h.lat-S,h.lng-I),new Ot(_.lat+S,_.lng+I))},getCenter:function(){return new Ot((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 Ot(this.getNorth(),this.getWest())},getSouthEast:function(){return new Ot(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 Ot||"lat"in l?l=Lt(l):l=ti(l);var h=this._southWest,_=this._northEast,S,I;return l instanceof Nt?(S=l.getSouthWest(),I=l.getNorthEast()):S=I=l,S.lat>=h.lat&&I.lat<=_.lat&&S.lng>=h.lng&&I.lng<=_.lng},intersects:function(l){l=ti(l);var h=this._southWest,_=this._northEast,S=l.getSouthWest(),I=l.getNorthEast(),R=I.lat>=h.lat&&S.lat<=_.lat,J=I.lng>=h.lng&&S.lng<=_.lng;return R&&J},overlaps:function(l){l=ti(l);var h=this._southWest,_=this._northEast,S=l.getSouthWest(),I=l.getNorthEast(),R=I.lat>h.lat&&S.lat<_.lat,J=I.lng>h.lng&&S.lng<_.lng;return R&&J},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,h){return l?(l=ti(l),this._southWest.equals(l.getSouthWest(),h)&&this._northEast.equals(l.getNorthEast(),h)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function ti(l,h){return l instanceof Nt?l:new Nt(l,h)}function Ot(l,h,_){if(isNaN(l)||isNaN(h))throw new Error("Invalid LatLng object: ("+l+", "+h+")");this.lat=+l,this.lng=+h,_!==void 0&&(this.alt=+_)}Ot.prototype={equals:function(l,h){if(!l)return!1;l=Lt(l);var _=Math.max(Math.abs(this.lat-l.lat),Math.abs(this.lng-l.lng));return _<=(h===void 0?1e-9:h)},toString:function(l){return"LatLng("+p(this.lat,l)+", "+p(this.lng,l)+")"},distanceTo:function(l){return Ct.distance(this,Lt(l))},wrap:function(){return Ct.wrapLatLng(this)},toBounds:function(l){var h=180*l/40075017,_=h/Math.cos(Math.PI/180*this.lat);return ti([this.lat-h,this.lng-_],[this.lat+h,this.lng+_])},clone:function(){return new Ot(this.lat,this.lng,this.alt)}};function Lt(l,h,_){return l instanceof Ot?l:A(l)&&typeof l[0]!="object"?l.length===3?new Ot(l[0],l[1],l[2]):l.length===2?new Ot(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new Ot(l.lat,"lng"in l?l.lng:l.lon,l.alt):h===void 0?null:new Ot(l,h,_)}var Pt={latLngToPoint:function(l,h){var _=this.projection.project(l),S=this.scale(h);return this.transformation._transform(_,S)},pointToLatLng:function(l,h){var _=this.scale(h),S=this.transformation.untransform(l,_);return this.projection.unproject(S)},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,_=this.scale(l),S=this.transformation.transform(h.min,_),I=this.transformation.transform(h.max,_);return new ge(S,I)},infinite:!1,wrapLatLng:function(l){var h=this.wrapLng?f(l.lng,this.wrapLng,!0):l.lng,_=this.wrapLat?f(l.lat,this.wrapLat,!0):l.lat,S=l.alt;return new Ot(_,h,S)},wrapLatLngBounds:function(l){var h=l.getCenter(),_=this.wrapLatLng(h),S=h.lat-_.lat,I=h.lng-_.lng;if(S===0&&I===0)return l;var R=l.getSouthWest(),J=l.getNorthEast(),_e=new Ot(R.lat-S,R.lng-I),Ne=new Ot(J.lat-S,J.lng-I);return new Nt(_e,Ne)}},Ct=n({},Pt,{wrapLng:[-180,180],R:6371e3,distance:function(l,h){var _=Math.PI/180,S=l.lat*_,I=h.lat*_,R=Math.sin((h.lat-l.lat)*_/2),J=Math.sin((h.lng-l.lng)*_/2),_e=R*R+Math.cos(S)*Math.cos(I)*J*J,Ne=2*Math.atan2(Math.sqrt(_e),Math.sqrt(1-_e));return this.R*Ne}}),_i=6378137,fi={R:_i,MAX_LATITUDE:85.0511287798,project:function(l){var h=Math.PI/180,_=this.MAX_LATITUDE,S=Math.max(Math.min(_,l.lat),-_),I=Math.sin(S*h);return new Fe(this.R*l.lng*h,this.R*Math.log((1+I)/(1-I))/2)},unproject:function(l){var h=180/Math.PI;return new Ot((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*h,l.x*h/this.R)},bounds:(function(){var l=_i*Math.PI;return new ge([-l,-l],[l,l])})()};function Zt(l,h,_,S){if(A(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=_,this._d=S}Zt.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 Fe((l.x/h-this._b)/this._a,(l.y/h-this._d)/this._c)}};function Ti(l,h,_,S){return new Zt(l,h,_,S)}var Mi=n({},Ct,{code:"EPSG:3857",projection:fi,transformation:(function(){var l=.5/(Math.PI*fi.R);return Ti(l,.5,-l,.5)})()}),Ni=n({},Mi,{code:"EPSG:900913"});function Ci(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function di(l,h){var _="",S,I,R,J,_e,Ne;for(S=0,R=l.length;S<R;S++){for(_e=l[S],I=0,J=_e.length;I<J;I++)Ne=_e[I],_+=(I?"L":"M")+Ne.x+" "+Ne.y;_+=h?We.svg?"z":"x":""}return _||"M0 0"}var vi=document.documentElement.style,Je="ActiveXObject"in window,$t=Je&&!document.addEventListener,yi="msLaunchUri"in navigator&&!("documentMode"in document),Oi=Be("webkit"),on=Be("android"),Ri=Be("android 2")||Be("android 3"),Gi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Fi=on&&Be("Google")&&Gi<537&&!("AudioNode"in window),nn=!!window.opera,Hi=!yi&&Be("chrome"),Cn=Be("gecko")&&!Oi&&!nn&&!Je,Ue=!Hi&&Be("safari"),zt=Be("phantom"),ui="OTransition"in vi,xi=navigator.platform.indexOf("Win")===0,ki=Je&&"transition"in vi,mn="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Ri,Ii="MozPerspective"in vi,nt=!window.L_DISABLE_3D&&(ki||mn||Ii)&&!ui&&!zt,Et=typeof orientation<"u"||Be("mobile"),Me=Et&&Oi,Q=Et&&mn,Ae=!window.PointerEvent&&window.MSPointerEvent,ot=!!(window.PointerEvent||Ae),at="ontouchstart"in window||!!window.TouchEvent,ht=!window.L_NO_TOUCH&&(at||ot),F=Et&&nn,ne=Et&&Cn,he=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,He=(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})(),Ze=(function(){return!!document.createElement("canvas").getContext})(),Z=!!(document.createElementNS&&Ci("svg").createSVGRect),re=!!Z&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),ae=!Z&&(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}})(),Ve=navigator.platform.indexOf("Mac")===0,et=navigator.platform.indexOf("Linux")===0;function Be(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var We={ie:Je,ielt9:$t,edge:yi,webkit:Oi,android:on,android23:Ri,androidStock:Fi,opera:nn,chrome:Hi,gecko:Cn,safari:Ue,phantom:zt,opera12:ui,win:xi,ie3d:ki,webkit3d:mn,gecko3d:Ii,any3d:nt,mobile:Et,mobileWebkit:Me,mobileWebkit3d:Q,msPointer:Ae,pointer:ot,touch:ht,touchNative:at,mobileOpera:F,mobileGecko:ne,retina:he,passiveEvents:He,canvas:Ze,svg:Z,vml:ae,inlineSvg:re,mac:Ve,linux:et},bt=We.msPointer?"MSPointerDown":"pointerdown",Vt=We.msPointer?"MSPointerMove":"pointermove",Ft=We.msPointer?"MSPointerUp":"pointerup",ii=We.msPointer?"MSPointerCancel":"pointercancel",pi={touchstart:bt,touchmove:Vt,touchend:Ft,touchcancel:ii},si={touchstart:Si,touchmove:jt,touchend:jt,touchcancel:jt},wi={},Ei=!1;function Pi(l,h,_){return h==="touchstart"&&xt(),si[h]?(_=si[h].bind(this,_),l.addEventListener(pi[h],_,!1),_):(console.warn("wrong event specified:",h),g)}function Ki(l,h,_){if(!pi[h]){console.warn("wrong event specified:",h);return}l.removeEventListener(pi[h],_,!1)}function zi(l){wi[l.pointerId]=l}function ke(l){wi[l.pointerId]&&(wi[l.pointerId]=l)}function Qe(l){delete wi[l.pointerId]}function xt(){Ei||(document.addEventListener(bt,zi,!0),document.addEventListener(Vt,ke,!0),document.addEventListener(Ft,Qe,!0),document.addEventListener(ii,Qe,!0),Ei=!0)}function jt(l,h){if(h.pointerType!==(h.MSPOINTER_TYPE_MOUSE||"mouse")){h.touches=[];for(var _ in wi)h.touches.push(wi[_]);h.changedTouches=[h],l(h)}}function Si(l,h){h.MSPOINTER_TYPE_TOUCH&&h.pointerType===h.MSPOINTER_TYPE_TOUCH&&en(h),jt(l,h)}function gi(l){var h={},_,S;for(S in l)_=l[S],h[S]=_&&_.bind?_.bind(l):_;return l=h,h.type="dblclick",h.detail=2,h.isTrusted=!1,h._simulated=!0,h}var li=200;function It(l,h){l.addEventListener("dblclick",h);var _=0,S;function I(R){if(R.detail!==1){S=R.detail;return}if(!(R.pointerType==="mouse"||R.sourceCapabilities&&!R.sourceCapabilities.firesTouchEvents)){var J=Bs(R);if(!(J.some(function(Ne){return Ne instanceof HTMLLabelElement&&Ne.attributes.for})&&!J.some(function(Ne){return Ne instanceof HTMLInputElement||Ne instanceof HTMLSelectElement}))){var _e=Date.now();_e-_<=li?(S++,S===2&&h(gi(R))):S=1,_=_e}}}return l.addEventListener("click",I),{dblclick:h,simDblclick:I}}function oi(l,h){l.removeEventListener("dblclick",h.dblclick),l.removeEventListener("click",h.simDblclick)}var N=Te(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),Y=Te(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),pe=Y==="webkitTransition"||Y==="OTransition"?Y+"End":"transitionend";function K(l){return typeof l=="string"?document.getElementById(l):l}function B(l,h){var _=l.style[h]||l.currentStyle&&l.currentStyle[h];if((!_||_==="auto")&&document.defaultView){var S=document.defaultView.getComputedStyle(l,null);_=S?S[h]:null}return _==="auto"?null:_}function G(l,h,_){var S=document.createElement(l);return S.className=h||"",_&&_.appendChild(S),S}function se(l){var h=l.parentNode;h&&h.removeChild(l)}function xe(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function ee(l){var h=l.parentNode;h&&h.lastChild!==l&&h.appendChild(l)}function le(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 _=j(l);return _.length>0&&new RegExp("(^|\\s)"+h+"(\\s|$)").test(_)}function ce(l,h){if(l.classList!==void 0)for(var _=y(h),S=0,I=_.length;S<I;S++)l.classList.add(_[S]);else if(!ze(l,h)){var R=j(l);st(l,(R?R+" ":"")+h)}}function we(l,h){l.classList!==void 0?l.classList.remove(h):st(l,w((" "+j(l)+" ").replace(" "+h+" "," ")))}function st(l,h){l.className.baseVal===void 0?l.className=h:l.className.baseVal=h}function j(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function te(l,h){"opacity"in l.style?l.style.opacity=h:"filter"in l.style&&fe(l,h)}function fe(l,h){var _=!1,S="DXImageTransform.Microsoft.Alpha";try{_=l.filters.item(S)}catch{if(h===1)return}h=Math.round(h*100),_?(_.Enabled=h!==100,_.Opacity=h):l.style.filter+=" progid:"+S+"(opacity="+h+")"}function Te(l){for(var h=document.documentElement.style,_=0;_<l.length;_++)if(l[_]in h)return l[_];return!1}function Ie(l,h,_){var S=h||new Fe(0,0);l.style[N]=(We.ie3d?"translate("+S.x+"px,"+S.y+"px)":"translate3d("+S.x+"px,"+S.y+"px,0)")+(_?" scale("+_+")":"")}function Ee(l,h){l._leaflet_pos=h,We.any3d?Ie(l,h):(l.style.left=h.x+"px",l.style.top=h.y+"px")}function kt(l){return l._leaflet_pos||new Fe(0,0)}var ct,Ke,Mt;if("onselectstart"in document)ct=function(){tt(window,"selectstart",en)},Ke=function(){Xt(window,"selectstart",en)};else{var it=Te(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);ct=function(){if(it){var l=document.documentElement.style;Mt=l[it],l[it]="none"}},Ke=function(){it&&(document.documentElement.style[it]=Mt,Mt=void 0)}}function ve(){tt(window,"dragstart",en)}function Re(){Xt(window,"dragstart",en)}var Pe,je;function Dt(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(Le(),Pe=l,je=l.style.outlineStyle,l.style.outlineStyle="none",tt(window,"keydown",Le))}function Le(){Pe&&(Pe.style.outlineStyle=je,Pe=void 0,je=void 0,Xt(window,"keydown",Le))}function Ge(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function ft(l){var h=l.getBoundingClientRect();return{x:h.width/l.offsetWidth||1,y:h.height/l.offsetHeight||1,boundingClientRect:h}}var gt={__proto__:null,TRANSFORM:N,TRANSITION:Y,TRANSITION_END:pe,get:K,getStyle:B,create:G,remove:se,empty:xe,toFront:ee,toBack:le,hasClass:ze,addClass:ce,removeClass:we,setClass:st,getClass:j,setOpacity:te,testProp:Te,setTransform:Ie,setPosition:Ee,getPosition:kt,get disableTextSelection(){return ct},get enableTextSelection(){return Ke},disableImageDrag:ve,enableImageDrag:Re,preventOutline:Dt,restoreOutline:Le,getSizedParentNode:Ge,getScale:ft};function tt(l,h,_,S){if(h&&typeof h=="object")for(var I in h)pn(l,I,h[I],_);else{h=y(h);for(var R=0,J=h.length;R<J;R++)pn(l,h[R],_,S)}return this}var Gt="_leaflet_events";function Xt(l,h,_,S){if(arguments.length===1)an(l),delete l[Gt];else if(h&&typeof h=="object")for(var I in h)Wn(l,I,h[I],_);else if(h=y(h),arguments.length===2)an(l,function(_e){return q(h,_e)!==-1});else for(var R=0,J=h.length;R<J;R++)Wn(l,h[R],_,S);return this}function an(l,h){for(var _ in l[Gt]){var S=_.split(/\d/)[0];(!h||h(S))&&Wn(l,S,null,null,_)}}var $i={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function pn(l,h,_,S){var I=h+d(_)+(S?"_"+d(S):"");if(l[Gt]&&l[Gt][I])return this;var R=function(_e){return _.call(S||l,_e||window.event)},J=R;!We.touchNative&&We.pointer&&h.indexOf("touch")===0?R=Pi(l,h,R):We.touch&&h==="dblclick"?R=It(l,R):"addEventListener"in l?h==="touchstart"||h==="touchmove"||h==="wheel"||h==="mousewheel"?l.addEventListener($i[h]||h,R,We.passiveEvents?{passive:!1}:!1):h==="mouseenter"||h==="mouseleave"?(R=function(_e){_e=_e||window.event,Xn(l,_e)&&J(_e)},l.addEventListener($i[h],R,!1)):l.addEventListener(h,J,!1):l.attachEvent("on"+h,R),l[Gt]=l[Gt]||{},l[Gt][I]=R}function Wn(l,h,_,S,I){I=I||h+d(_)+(S?"_"+d(S):"");var R=l[Gt]&&l[Gt][I];if(!R)return this;!We.touchNative&&We.pointer&&h.indexOf("touch")===0?Ki(l,h,R):We.touch&&h==="dblclick"?oi(l,R):"removeEventListener"in l?l.removeEventListener($i[h]||h,R,!1):l.detachEvent("on"+h,R),l[Gt][I]=null}function Vi(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function ri(l){return pn(l,"wheel",Vi),this}function ln(l){return tt(l,"mousedown touchstart dblclick contextmenu",Vi),l._leaflet_disable_click=!0,this}function en(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function es(l){return en(l),Vi(l),this}function Bs(l){if(l.composedPath)return l.composedPath();for(var h=[],_=l.target;_;)h.push(_),_=_.parentNode;return h}function ho(l,h){if(!h)return new Fe(l.clientX,l.clientY);var _=ft(h),S=_.boundingClientRect;return new Fe((l.clientX-S.left)/_.x-h.clientLeft,(l.clientY-S.top)/_.y-h.clientTop)}var Ko=We.linux&&We.chrome?window.devicePixelRatio:We.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function dr(l){return We.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/Ko: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 Xn(l,h){var _=h.relatedTarget;if(!_)return!0;try{for(;_&&_!==l;)_=_.parentNode}catch{return!1}return _!==l}var Zo={__proto__:null,on:tt,off:Xt,stopPropagation:Vi,disableScrollPropagation:ri,disableClickPropagation:ln,preventDefault:en,stop:es,getPropagationPath:Bs,getMousePosition:ho,getWheelDelta:dr,isExternalTarget:Xn,addListener:tt,removeListener:Xt},ur=Rt.extend({run:function(l,h,_,S){this.stop(),this._el=l,this._inProgress=!0,this._duration=_||.25,this._easeOutPower=1/Math.max(S||.5,.2),this._startPos=kt(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=Oe(this._animate,this),this._step()},_step:function(l){var h=+new Date-this._startTime,_=this._duration*1e3;h<_?this._runFrame(this._easeOut(h/_),l):(this._runFrame(1),this._complete())},_runFrame:function(l,h){var _=this._startPos.add(this._offset.multiplyBy(l));h&&_._round(),Ee(this._el,_),this.fire("step")},_complete:function(){rt(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),gn=Rt.extend({options:{crs:Mi,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=x(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(Lt(h.center),h.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=Y&&We.any3d&&!We.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),tt(this._proxy,pe,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(l,h,_){if(h=h===void 0?this._zoom:this._limitZoom(h),l=this._limitCenter(Lt(l),h,this.options.maxBounds),_=_||{},this._stop(),this._loaded&&!_.reset&&_!==!0){_.animate!==void 0&&(_.zoom=n({animate:_.animate},_.zoom),_.pan=n({animate:_.animate,duration:_.duration},_.pan));var S=this._zoom!==h?this._tryAnimatedZoom&&this._tryAnimatedZoom(l,h,_.zoom):this._tryAnimatedPan(l,_.pan);if(S)return clearTimeout(this._sizeTimer),this}return this._resetView(l,h,_.pan&&_.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||(We.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,h)},zoomOut:function(l,h){return l=l||(We.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,h)},setZoomAround:function(l,h,_){var S=this.getZoomScale(h),I=this.getSize().divideBy(2),R=l instanceof Fe?l:this.latLngToContainerPoint(l),J=R.subtract(I).multiplyBy(1-1/S),_e=this.containerPointToLatLng(I.add(J));return this.setView(_e,h,{zoom:_})},_getBoundsCenterZoom:function(l,h){h=h||{},l=l.getBounds?l.getBounds():ti(l);var _=Ye(h.paddingTopLeft||h.padding||[0,0]),S=Ye(h.paddingBottomRight||h.padding||[0,0]),I=this.getBoundsZoom(l,!1,_.add(S));if(I=typeof h.maxZoom=="number"?Math.min(h.maxZoom,I):I,I===1/0)return{center:l.getCenter(),zoom:I};var R=S.subtract(_).divideBy(2),J=this.project(l.getSouthWest(),I),_e=this.project(l.getNorthEast(),I),Ne=this.unproject(J.add(_e).divideBy(2).add(R),I);return{center:Ne,zoom:I}},fitBounds:function(l,h){if(l=ti(l),!l.isValid())throw new Error("Bounds are not valid.");var _=this._getBoundsCenterZoom(l,h);return this.setView(_.center,_.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=Ye(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 ur,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),h.noMoveStart||this.fire("movestart"),h.animate!==!1){ce(this._mapPane,"leaflet-pan-anim");var _=this._getMapPanePos().subtract(l).round();this._panAnim.run(this._mapPane,_,h.duration||.25,h.easeLinearity)}else this._rawPanBy(l),this.fire("move").fire("moveend");return this},flyTo:function(l,h,_){if(_=_||{},_.animate===!1||!We.any3d)return this.setView(l,h,_);this._stop();var S=this.project(this.getCenter()),I=this.project(l),R=this.getSize(),J=this._zoom;l=Lt(l),h=h===void 0?J:h;var _e=Math.max(R.x,R.y),Ne=_e*this.getZoomScale(J,h),_t=I.distanceTo(S)||1,hi=1.42,Ji=hi*hi;function kn(As){var G_=As?-1:1,DA=As?Ne:_e,TA=Ne*Ne-_e*_e+G_*Ji*Ji*_t*_t,PA=2*DA*Ji*_t,mw=TA/PA,iL=Math.sqrt(mw*mw+1)-mw,MA=iL<1e-9?-18:Math.log(iL);return MA}function So(As){return(Math.exp(As)-Math.exp(-As))/2}function Ks(As){return(Math.exp(As)+Math.exp(-As))/2}function fr(As){return So(As)/Ks(As)}var No=kn(0);function eh(As){return _e*(Ks(No)/Ks(No+hi*As))}function kA(As){return _e*(Ks(No)*fr(No+hi*As)-So(No))/Ji}function LA(As){return 1-Math.pow(1-As,1.5)}var IA=Date.now(),eL=(kn(1)-No)/hi,EA=_.duration?1e3*_.duration:1e3*eL*.8;function tL(){var As=(Date.now()-IA)/EA,G_=LA(As)*eL;As<=1?(this._flyToFrame=Oe(tL,this),this._move(this.unproject(S.add(I.subtract(S).multiplyBy(kA(G_)/_t)),J),this.getScaleZoom(_e/eh(G_),J),{flyTo:!0})):this._move(l,h)._moveEnd(!0)}return this._moveStart(!0,_.noMoveStart),tL.call(this),this},flyToBounds:function(l,h){var _=this._getBoundsCenterZoom(l,h);return this.flyTo(_.center,_.zoom,h)},setMaxBounds:function(l){return l=ti(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 _=this.getCenter(),S=this._limitCenter(_,this._zoom,ti(l));return _.equals(S)||this.panTo(S,h),this._enforcingBounds=!1,this},panInside:function(l,h){h=h||{};var _=Ye(h.paddingTopLeft||h.padding||[0,0]),S=Ye(h.paddingBottomRight||h.padding||[0,0]),I=this.project(this.getCenter()),R=this.project(l),J=this.getPixelBounds(),_e=lt([J.min.add(_),J.max.subtract(S)]),Ne=_e.getSize();if(!_e.contains(R)){this._enforcingBounds=!0;var _t=R.subtract(_e.getCenter()),hi=_e.extend(R).getSize().subtract(Ne);I.x+=_t.x<0?-hi.x:hi.x,I.y+=_t.y<0?-hi.y:hi.y,this.panTo(this.unproject(I),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 _=this.getSize(),S=h.divideBy(2).round(),I=_.divideBy(2).round(),R=S.subtract(I);return!R.x&&!R.y?this:(l.animate&&l.pan?this.panBy(R):(l.pan&&this._rawPanBy(R),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:_}))},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),_=r(this._handleGeolocationError,this);return l.watch?this._locationWatchId=navigator.geolocation.watchPosition(h,_,l):navigator.geolocation.getCurrentPosition(h,_,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,_=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: "+_+"."})}},_handleGeolocationResponse:function(l){if(this._container._leaflet_id){var h=l.coords.latitude,_=l.coords.longitude,S=new Ot(h,_),I=S.toBounds(l.coords.accuracy*2),R=this._locateOptions;if(R.setView){var J=this.getBoundsZoom(I);this.setView(S,R.maxZoom?Math.min(J,R.maxZoom):J)}var _e={latlng:S,bounds:I,timestamp:l.timestamp};for(var Ne in l.coords)typeof l.coords[Ne]=="number"&&(_e[Ne]=l.coords[Ne]);this.fire("locationfound",_e)}},addHandler:function(l,h){if(!h)return this;var _=this[l]=new h(this);return this._handlers.push(_),this.options[l]&&_.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(),se(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(rt(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)se(this._panes[l]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(l,h){var _="leaflet-pane"+(l?" leaflet-"+l.replace("Pane","")+"-pane":""),S=G("div",_,h||this._mapPane);return l&&(this._panes[l]=S),S},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()),_=this.unproject(l.getTopRight());return new Nt(h,_)},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,_){l=ti(l),_=Ye(_||[0,0]);var S=this.getZoom()||0,I=this.getMinZoom(),R=this.getMaxZoom(),J=l.getNorthWest(),_e=l.getSouthEast(),Ne=this.getSize().subtract(_),_t=lt(this.project(_e,S),this.project(J,S)).getSize(),hi=We.any3d?this.options.zoomSnap:1,Ji=Ne.x/_t.x,kn=Ne.y/_t.y,So=h?Math.max(Ji,kn):Math.min(Ji,kn);return S=this.getScaleZoom(So,S),hi&&(S=Math.round(S/(hi/100))*(hi/100),S=h?Math.ceil(S/hi)*hi:Math.floor(S/hi)*hi),Math.max(I,Math.min(R,S))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new Fe(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(l,h){var _=this._getTopLeftPoint(l,h);return new ge(_,_.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 _=this.options.crs;return h=h===void 0?this._zoom:h,_.scale(l)/_.scale(h)},getScaleZoom:function(l,h){var _=this.options.crs;h=h===void 0?this._zoom:h;var S=_.zoom(l*_.scale(h));return isNaN(S)?1/0:S},project:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.latLngToPoint(Lt(l),h)},unproject:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.pointToLatLng(Ye(l),h)},layerPointToLatLng:function(l){var h=Ye(l).add(this.getPixelOrigin());return this.unproject(h)},latLngToLayerPoint:function(l){var h=this.project(Lt(l))._round();return h._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(Lt(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(ti(l))},distance:function(l,h){return this.options.crs.distance(Lt(l),Lt(h))},containerPointToLayerPoint:function(l){return Ye(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return Ye(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var h=this.containerPointToLayerPoint(Ye(l));return this.layerPointToLatLng(h)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Lt(l)))},mouseEventToContainerPoint:function(l){return ho(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=K(l);if(h){if(h._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");tt(h,"scroll",this._onScroll,this),this._containerId=d(h)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&We.any3d,ce(l,"leaflet-container"+(We.touch?" leaflet-touch":"")+(We.retina?" leaflet-retina":"")+(We.ielt9?" leaflet-oldie":"")+(We.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var h=B(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),Ee(this._mapPane,new Fe(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(ce(l.markerPane,"leaflet-zoom-hide"),ce(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,h,_){Ee(this._mapPane,new Fe(0,0));var S=!this._loaded;this._loaded=!0,h=this._limitZoom(h),this.fire("viewprereset");var I=this._zoom!==h;this._moveStart(I,_)._move(l,h)._moveEnd(I),this.fire("viewreset"),S&&this.fire("load")},_moveStart:function(l,h){return l&&this.fire("zoomstart"),h||this.fire("movestart"),this},_move:function(l,h,_,S){h===void 0&&(h=this._zoom);var I=this._zoom!==h;return this._zoom=h,this._lastCenter=l,this._pixelOrigin=this._getNewPixelOrigin(l),S?_&&_.pinch&&this.fire("zoom",_):((I||_&&_.pinch)&&this.fire("zoom",_),this.fire("move",_)),this},_moveEnd:function(l){return l&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return rt(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){Ee(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?Xt:tt;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),We.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){rt(this._resizeRequest),this._resizeRequest=Oe(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 _=[],S,I=h==="mouseout"||h==="mouseover",R=l.target||l.srcElement,J=!1;R;){if(S=this._targets[d(R)],S&&(h==="click"||h==="preclick")&&this._draggableMoved(S)){J=!0;break}if(S&&S.listens(h,!0)&&(I&&!Xn(R,l)||(_.push(S),I))||R===this._container)break;R=R.parentNode}return!_.length&&!J&&!I&&this.listens(h,!0)&&(_=[this]),_},_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 _=l.type;_==="mousedown"&&Dt(h),this._fireDOMEvent(l,_)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(l,h,_){if(l.type==="click"){var S=n({},l);S.type="preclick",this._fireDOMEvent(S,S.type,_)}var I=this._findEventTargets(l,h);if(_){for(var R=[],J=0;J<_.length;J++)_[J].listens(h,!0)&&R.push(_[J]);I=R.concat(I)}if(I.length){h==="contextmenu"&&en(l);var _e=I[0],Ne={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var _t=_e.getLatLng&&(!_e._radius||_e._radius<=10);Ne.containerPoint=_t?this.latLngToContainerPoint(_e.getLatLng()):this.mouseEventToContainerPoint(l),Ne.layerPoint=this.containerPointToLayerPoint(Ne.containerPoint),Ne.latlng=_t?_e.getLatLng():this.layerPointToLatLng(Ne.layerPoint)}for(J=0;J<I.length;J++)if(I[J].fire(h,Ne,!0),Ne.originalEvent._stopped||I[J].options.bubblingMouseEvents===!1&&q(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 kt(this._mapPane)||new Fe(0,0)},_moved:function(){var l=this._getMapPanePos();return l&&!l.equals([0,0])},_getTopLeftPoint:function(l,h){var _=l&&h!==void 0?this._getNewPixelOrigin(l,h):this.getPixelOrigin();return _.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(l,h){var _=this.getSize()._divideBy(2);return this.project(l,h)._subtract(_)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(l,h,_){var S=this._getNewPixelOrigin(_,h);return this.project(l,h)._subtract(S)},_latLngBoundsToNewLayerBounds:function(l,h,_){var S=this._getNewPixelOrigin(_,h);return lt([this.project(l.getSouthWest(),h)._subtract(S),this.project(l.getNorthWest(),h)._subtract(S),this.project(l.getSouthEast(),h)._subtract(S),this.project(l.getNorthEast(),h)._subtract(S)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(l){return this.latLngToLayerPoint(l).subtract(this._getCenterLayerPoint())},_limitCenter:function(l,h,_){if(!_)return l;var S=this.project(l,h),I=this.getSize().divideBy(2),R=new ge(S.subtract(I),S.add(I)),J=this._getBoundsOffset(R,_,h);return Math.abs(J.x)<=1&&Math.abs(J.y)<=1?l:this.unproject(S.add(J),h)},_limitOffset:function(l,h){if(!h)return l;var _=this.getPixelBounds(),S=new ge(_.min.add(l),_.max.add(l));return l.add(this._getBoundsOffset(S,h))},_getBoundsOffset:function(l,h,_){var S=lt(this.project(h.getNorthEast(),_),this.project(h.getSouthWest(),_)),I=S.min.subtract(l.min),R=S.max.subtract(l.max),J=this._rebound(I.x,-R.x),_e=this._rebound(I.y,-R.y);return new Fe(J,_e)},_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(),_=this.getMaxZoom(),S=We.any3d?this.options.zoomSnap:1;return S&&(l=Math.round(l/S)*S),Math.max(h,Math.min(_,l))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){we(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(l,h){var _=this._getCenterOffset(l)._trunc();return(h&&h.animate)!==!0&&!this.getSize().contains(_)?!1:(this.panBy(_,h),!0)},_createAnimProxy:function(){var l=this._proxy=G("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(h){var _=N,S=this._proxy.style[_];Ie(this._proxy,this.project(h.center,h.zoom),this.getZoomScale(h.zoom,1)),S===this._proxy.style[_]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){se(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),h=this.getZoom();Ie(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,_){if(this._animatingZoom)return!0;if(_=_||{},!this._zoomAnimated||_.animate===!1||this._nothingToAnimate()||Math.abs(h-this._zoom)>this.options.zoomAnimationThreshold)return!1;var S=this.getZoomScale(h),I=this._getCenterOffset(l)._divideBy(1-1/S);return _.animate!==!0&&!this.getSize().contains(I)?!1:(Oe(function(){this._moveStart(!0,_.noMoveStart||!1)._animateZoom(l,h,!0)},this),!0)},_animateZoom:function(l,h,_,S){this._mapPane&&(_&&(this._animatingZoom=!0,this._animateToCenter=l,this._animateToZoom=h,ce(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:l,zoom:h,noUpdate:S}),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&&we(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 Ds(l,h){return new gn(l,h)}var fs=Ce.extend({options:{position:"topright"},initialize:function(l){x(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),_=this.getPosition(),S=l._controlCorners[_];return ce(h,"leaflet-control"),_.indexOf("bottom")!==-1?S.insertBefore(h,S.firstChild):S.appendChild(h),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(se(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()}}),ns=function(l){return new fs(l)};gn.include({addControl:function(l){return l.addTo(this),this},removeControl:function(l){return l.remove(),this},_initControlPos:function(){var l=this._controlCorners={},h="leaflet-",_=this._controlContainer=G("div",h+"control-container",this._container);function S(I,R){var J=h+I+" "+h+R;l[I+R]=G("div",J,_)}S("top","left"),S("top","right"),S("bottom","left"),S("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)se(this._controlCorners[l]);se(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ts=fs.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(l,h,_,S){return _<S?-1:S<_?1:0}},initialize:function(l,h,_){x(this,_),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var S in l)this._addLayer(l[S],S);for(S in h)this._addLayer(h[S],S,!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 fs.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(){ce(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?(ce(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):we(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return we(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",h=this._container=G("div",l),_=this.options.collapsed;h.setAttribute("aria-haspopup",!0),ln(h),ri(h);var S=this._section=G("section",l+"-list");_&&(this._map.on("click",this.collapse,this),tt(h,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var I=this._layersLink=G("a",l+"-toggle",h);I.href="#",I.title="Layers",I.setAttribute("role","button"),tt(I,{keydown:function(R){R.keyCode===13&&this._expandSafely()},click:function(R){en(R),this._expandSafely()}},this),_||this.expand(),this._baseLayersList=G("div",l+"-base",S),this._separator=G("div",l+"-separator",S),this._overlaysList=G("div",l+"-overlays",S),h.appendChild(S)},_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,_){this._map&&l.on("add remove",this._onLayerChange,this),this._layers.push({layer:l,name:h,overlay:_}),this.options.sortLayers&&this._layers.sort(r(function(S,I){return this.options.sortFunction(S.layer,I.layer,S.name,I.name)},this)),this.options.autoZIndex&&l.setZIndex&&(this._lastZIndex++,l.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;xe(this._baseLayersList),xe(this._overlaysList),this._layerControlInputs=[];var l,h,_,S,I=0;for(_=0;_<this._layers.length;_++)S=this._layers[_],this._addItem(S),h=h||S.overlay,l=l||!S.overlay,I+=S.overlay?0:1;return this.options.hideSingleBase&&(l=l&&I>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)),_=h.overlay?l.type==="add"?"overlayadd":"overlayremove":l.type==="add"?"baselayerchange":null;_&&this._map.fire(_,h)},_createRadioElement:function(l,h){var _='<input type="radio" class="leaflet-control-layers-selector" name="'+l+'"'+(h?' checked="checked"':"")+"/>",S=document.createElement("div");return S.innerHTML=_,S.firstChild},_addItem:function(l){var h=document.createElement("label"),_=this._map.hasLayer(l.layer),S;l.overlay?(S=document.createElement("input"),S.type="checkbox",S.className="leaflet-control-layers-selector",S.defaultChecked=_):S=this._createRadioElement("leaflet-base-layers_"+d(this),_),this._layerControlInputs.push(S),S.layerId=d(l.layer),tt(S,"click",this._onInputClick,this);var I=document.createElement("span");I.innerHTML=" "+l.name;var R=document.createElement("span");h.appendChild(R),R.appendChild(S),R.appendChild(I);var J=l.overlay?this._overlaysList:this._baseLayersList;return J.appendChild(h),this._checkDisabledLayers(),h},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,h,_,S=[],I=[];this._handlingClick=!0;for(var R=l.length-1;R>=0;R--)h=l[R],_=this._getLayer(h.layerId).layer,h.checked?S.push(_):h.checked||I.push(_);for(R=0;R<I.length;R++)this._map.hasLayer(I[R])&&this._map.removeLayer(I[R]);for(R=0;R<S.length;R++)this._map.hasLayer(S[R])||this._map.addLayer(S[R]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var l=this._layerControlInputs,h,_,S=this._map.getZoom(),I=l.length-1;I>=0;I--)h=l[I],_=this._getLayer(h.layerId).layer,h.disabled=_.options.minZoom!==void 0&&S<_.options.minZoom||_.options.maxZoom!==void 0&&S>_.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var l=this._section;this._preventClick=!0,tt(l,"click",en),this.expand();var h=this;setTimeout(function(){Xt(l,"click",en),h._preventClick=!1})}}),Wr=function(l,h,_){return new Ts(l,h,_)},Za=fs.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",_=G("div",h+" leaflet-bar"),S=this.options;return this._zoomInButton=this._createButton(S.zoomInText,S.zoomInTitle,h+"-in",_,this._zoomIn),this._zoomOutButton=this._createButton(S.zoomOutText,S.zoomOutTitle,h+"-out",_,this._zoomOut),this._updateDisabled(),l.on("zoomend zoomlevelschange",this._updateDisabled,this),_},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,_,S,I){var R=G("a",_,S);return R.innerHTML=l,R.href="#",R.title=h,R.setAttribute("role","button"),R.setAttribute("aria-label",h),ln(R),tt(R,"click",es),tt(R,"click",I,this),tt(R,"click",this._refocusOnMap,this),R},_updateDisabled:function(){var l=this._map,h="leaflet-disabled";we(this._zoomInButton,h),we(this._zoomOutButton,h),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(ce(this._zoomOutButton,h),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(ce(this._zoomInButton,h),this._zoomInButton.setAttribute("aria-disabled","true"))}});gn.mergeOptions({zoomControl:!0}),gn.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Za,this.addControl(this.zoomControl))});var Fl=function(l){return new Za(l)},Xa=fs.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var h="leaflet-control-scale",_=G("div",h),S=this.options;return this._addScales(S,h+"-line",_),l.on(S.updateWhenIdle?"moveend":"move",this._update,this),l.whenReady(this._update,this),_},onRemove:function(l){l.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(l,h,_){l.metric&&(this._mScale=G("div",h,_)),l.imperial&&(this._iScale=G("div",h,_))},_update:function(){var l=this._map,h=l.getSize().y/2,_=l.distance(l.containerPointToLatLng([0,h]),l.containerPointToLatLng([this.options.maxWidth,h]));this._updateScales(_)},_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),_=h<1e3?h+" m":h/1e3+" km";this._updateScale(this._mScale,_,h/l)},_updateImperial:function(l){var h=l*3.2808399,_,S,I;h>5280?(_=h/5280,S=this._getRoundNum(_),this._updateScale(this._iScale,S+" mi",S/_)):(I=this._getRoundNum(h),this._updateScale(this._iScale,I+" ft",I/h))},_updateScale:function(l,h,_){l.style.width=Math.round(this.options.maxWidth*_)+"px",l.innerHTML=h},_getRoundNum:function(l){var h=Math.pow(10,(Math.floor(l)+"").length-1),_=l/h;return _=_>=10?10:_>=5?5:_>=3?3:_>=2?2:1,h*_}}),Xo=function(l){return new Xa(l)},Br='<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>',zr=fs.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(We.inlineSvg?Br+" ":"")+"Leaflet</a>"},initialize:function(l){x(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=G("div","leaflet-control-attribution"),ln(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 _=[];this.options.prefix&&_.push(this.options.prefix),l.length&&_.push(l.join(", ")),this._container.innerHTML=_.join(' <span aria-hidden="true">|</span> ')}}});gn.mergeOptions({attributionControl:!0}),gn.addInitHook(function(){this.options.attributionControl&&new zr().addTo(this)});var A_=function(l){return new zr(l)};fs.Layers=Ts,fs.Zoom=Za,fs.Scale=Xa,fs.Attribution=zr,ns.layers=Wr,ns.zoom=Fl,ns.scale=Xo,ns.attribution=A_;var hr=Ce.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}});hr.addTo=function(l,h){return l.addHandler(h,this),this};var O_={Events:ut},ig=We.touch?"touchstart mousedown":"mousedown",Yo=Rt.extend({options:{clickTolerance:3},initialize:function(l,h,_,S){x(this,S),this._element=l,this._dragStartTarget=h||l,this._preventOutline=_},enable:function(){this._enabled||(tt(this._dragStartTarget,ig,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Yo._dragging===this&&this.finishDrag(!0),Xt(this._dragStartTarget,ig,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){Yo._dragging===this&&this.finishDrag();return}if(!(Yo._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(Yo._dragging=this,this._preventOutline&&Dt(this._element),ve(),ct(),!this._moving)){this.fire("down");var h=l.touches?l.touches[0]:l,_=Ge(this._element);this._startPoint=new Fe(h.clientX,h.clientY),this._startPos=kt(this._element),this._parentScale=ft(_);var S=l.type==="mousedown";tt(document,S?"mousemove":"touchmove",this._onMove,this),tt(document,S?"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,_=new Fe(h.clientX,h.clientY)._subtract(this._startPoint);!_.x&&!_.y||Math.abs(_.x)+Math.abs(_.y)<this.options.clickTolerance||(_.x/=this._parentScale.x,_.y/=this._parentScale.y,en(l),this._moved||(this.fire("dragstart"),this._moved=!0,ce(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),ce(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(_),this._moving=!0,this._lastEvent=l,this._updatePosition())}},_updatePosition:function(){var l={originalEvent:this._lastEvent};this.fire("predrag",l),Ee(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){we(document.body,"leaflet-dragging"),this._lastTarget&&(we(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Xt(document,"mousemove touchmove",this._onMove,this),Xt(document,"mouseup touchend touchcancel",this._onUp,this),Re(),Ke();var h=this._moved&&this._moving;this._moving=!1,Yo._dragging=!1,h&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function F_(l,h,_){var S,I=[1,4,2,8],R,J,_e,Ne,_t,hi,Ji,kn;for(R=0,hi=l.length;R<hi;R++)l[R]._code=Ya(l[R],h);for(_e=0;_e<4;_e++){for(Ji=I[_e],S=[],R=0,hi=l.length,J=hi-1;R<hi;J=R++)Ne=l[R],_t=l[J],Ne._code&Ji?_t._code&Ji||(kn=jc(_t,Ne,Ji,h,_),kn._code=Ya(kn,h),S.push(kn)):(_t._code&Ji&&(kn=jc(_t,Ne,Ji,h,_),kn._code=Ya(kn,h),S.push(kn)),S.push(Ne));l=S}return l}function ng(l,h){var _,S,I,R,J,_e,Ne,_t,hi;if(!l||l.length===0)throw new Error("latlngs not passed");Ro(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Ji=Lt([0,0]),kn=ti(l),So=kn.getNorthWest().distanceTo(kn.getSouthWest())*kn.getNorthEast().distanceTo(kn.getNorthWest());So<1700&&(Ji=sg(l));var Ks=l.length,fr=[];for(_=0;_<Ks;_++){var No=Lt(l[_]);fr.push(h.project(Lt([No.lat-Ji.lat,No.lng-Ji.lng])))}for(_e=Ne=_t=0,_=0,S=Ks-1;_<Ks;S=_++)I=fr[_],R=fr[S],J=I.y*R.x-R.y*I.x,Ne+=(I.x+R.x)*J,_t+=(I.y+R.y)*J,_e+=J*3;_e===0?hi=fr[0]:hi=[Ne/_e,_t/_e];var eh=h.unproject(Ye(hi));return Lt([eh.lat+Ji.lat,eh.lng+Ji.lng])}function sg(l){for(var h=0,_=0,S=0,I=0;I<l.length;I++){var R=Lt(l[I]);h+=R.lat,_+=R.lng,S++}return Lt([h/S,_/S])}var uw={__proto__:null,clipPolygon:F_,polygonCenter:ng,centroid:sg};function og(l,h){if(!h||!l.length)return l.slice();var _=h*h;return l=B_(l,_),l=W_(l,_),l}function H_(l,h,_){return Math.sqrt($c(l,h,_,!0))}function rg(l,h,_){return $c(l,h,_)}function W_(l,h){var _=l.length,S=typeof Uint8Array<"u"?Uint8Array:Array,I=new S(_);I[0]=I[_-1]=1,ag(l,I,h,0,_-1);var R,J=[];for(R=0;R<_;R++)I[R]&&J.push(l[R]);return J}function ag(l,h,_,S,I){var R=0,J,_e,Ne;for(_e=S+1;_e<=I-1;_e++)Ne=$c(l[_e],l[S],l[I],!0),Ne>R&&(J=_e,R=Ne);R>_&&(h[J]=1,ag(l,h,_,S,J),ag(l,h,_,J,I))}function B_(l,h){for(var _=[l[0]],S=1,I=0,R=l.length;S<R;S++)z_(l[S],l[I])>h&&(_.push(l[S]),I=S);return I<R-1&&_.push(l[R-1]),_}var lg;function cg(l,h,_,S,I){var R=S?lg:Ya(l,_),J=Ya(h,_),_e,Ne,_t;for(lg=J;;){if(!(R|J))return[l,h];if(R&J)return!1;_e=R||J,Ne=jc(l,h,_e,_,I),_t=Ya(Ne,_),_e===R?(l=Ne,R=_t):(h=Ne,J=_t)}}function jc(l,h,_,S,I){var R=h.x-l.x,J=h.y-l.y,_e=S.min,Ne=S.max,_t,hi;return _&8?(_t=l.x+R*(Ne.y-l.y)/J,hi=Ne.y):_&4?(_t=l.x+R*(_e.y-l.y)/J,hi=_e.y):_&2?(_t=Ne.x,hi=l.y+J*(Ne.x-l.x)/R):_&1&&(_t=_e.x,hi=l.y+J*(_e.x-l.x)/R),new Fe(_t,hi,I)}function Ya(l,h){var _=0;return l.x<h.min.x?_|=1:l.x>h.max.x&&(_|=2),l.y<h.min.y?_|=4:l.y>h.max.y&&(_|=8),_}function z_(l,h){var _=h.x-l.x,S=h.y-l.y;return _*_+S*S}function $c(l,h,_,S){var I=h.x,R=h.y,J=_.x-I,_e=_.y-R,Ne=J*J+_e*_e,_t;return Ne>0&&(_t=((l.x-I)*J+(l.y-R)*_e)/Ne,_t>1?(I=_.x,R=_.y):_t>0&&(I+=J*_t,R+=_e*_t)),J=l.x-I,_e=l.y-R,S?J*J+_e*_e:new Fe(I,R)}function Ro(l){return!A(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function V_(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Ro(l)}function Zu(l,h){var _,S,I,R,J,_e,Ne,_t;if(!l||l.length===0)throw new Error("latlngs not passed");Ro(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var hi=Lt([0,0]),Ji=ti(l),kn=Ji.getNorthWest().distanceTo(Ji.getSouthWest())*Ji.getNorthEast().distanceTo(Ji.getNorthWest());kn<1700&&(hi=sg(l));var So=l.length,Ks=[];for(_=0;_<So;_++){var fr=Lt(l[_]);Ks.push(h.project(Lt([fr.lat-hi.lat,fr.lng-hi.lng])))}for(_=0,S=0;_<So-1;_++)S+=Ks[_].distanceTo(Ks[_+1])/2;if(S===0)_t=Ks[0];else for(_=0,R=0;_<So-1;_++)if(J=Ks[_],_e=Ks[_+1],I=J.distanceTo(_e),R+=I,R>S){Ne=(R-S)/I,_t=[_e.x-Ne*(_e.x-J.x),_e.y-Ne*(_e.y-J.y)];break}var No=h.unproject(Ye(_t));return Lt([No.lat+hi.lat,No.lng+hi.lng])}var j_={__proto__:null,simplify:og,pointToSegmentDistance:H_,closestPointOnSegment:rg,clipSegment:cg,_getEdgeIntersection:jc,_getBitCode:Ya,_sqClosestPointOnSegment:$c,isFlat:Ro,_flat:V_,polylineCenter:Zu},Xu={project:function(l){return new Fe(l.lng,l.lat)},unproject:function(l){return new Ot(l.y,l.x)},bounds:new ge([-180,-90],[180,90])},Yu={R:6378137,R_MINOR:6356752314245179e-9,bounds:new ge([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(l){var h=Math.PI/180,_=this.R,S=l.lat*h,I=this.R_MINOR/_,R=Math.sqrt(1-I*I),J=R*Math.sin(S),_e=Math.tan(Math.PI/4-S/2)/Math.pow((1-J)/(1+J),R/2);return S=-_*Math.log(Math.max(_e,1e-10)),new Fe(l.lng*h*_,S)},unproject:function(l){for(var h=180/Math.PI,_=this.R,S=this.R_MINOR/_,I=Math.sqrt(1-S*S),R=Math.exp(-l.y/_),J=Math.PI/2-2*Math.atan(R),_e=0,Ne=.1,_t;_e<15&&Math.abs(Ne)>1e-7;_e++)_t=I*Math.sin(J),_t=Math.pow((1-_t)/(1+_t),I/2),Ne=Math.PI/2-2*Math.atan(R*_t)-J,J+=Ne;return new Ot(J*h,l.x*h/_)}},hw={__proto__:null,LonLat:Xu,Mercator:Yu,SphericalMercator:fi},$_=n({},Ct,{code:"EPSG:3395",projection:Yu,transformation:(function(){var l=.5/(Math.PI*Yu.R);return Ti(l,.5,-l,.5)})()}),Qu=n({},Ct,{code:"EPSG:4326",projection:Xu,transformation:Ti(1/180,1,-1/180,.5)}),U_=n({},Pt,{projection:Xu,transformation:Ti(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 _=h.lng-l.lng,S=h.lat-l.lat;return Math.sqrt(_*_+S*S)},infinite:!0});Pt.Earth=Ct,Pt.EPSG3395=$_,Pt.EPSG3857=Mi,Pt.EPSG900913=Ni,Pt.EPSG4326=Qu,Pt.Simple=U_;var Qo=Rt.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 _=this.getEvents();h.on(_,this),this.once("remove",function(){h.off(_,this)},this)}this.onAdd(h),this.fire("add"),h.fire("layeradd",{layer:this})}}});gn.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 _ in this._layers)l.call(h,this._layers[_]);return this},_addLayers:function(l){l=l?A(l)?l:[l]:[];for(var h=0,_=l.length;h<_;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,_=this._getZoomSpan();for(var S in this._zoomBoundLayers){var I=this._zoomBoundLayers[S].options;l=I.minZoom===void 0?l:Math.min(l,I.minZoom),h=I.maxZoom===void 0?h:Math.max(h,I.maxZoom)}this._layersMaxZoom=h===-1/0?void 0:h,this._layersMinZoom=l===1/0?void 0:l,_!==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 Hl=Qo.extend({initialize:function(l,h){x(this,h),this._layers={};var _,S;if(l)for(_=0,S=l.length;_<S;_++)this.addLayer(l[_])},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),_,S;for(_ in this._layers)S=this._layers[_],S[l]&&S[l].apply(S,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 _ in this._layers)l.call(h,this._layers[_]);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)}}),fw=function(l,h){return new Hl(l,h)},Vr=Hl.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),Hl.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),Hl.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 Nt;for(var h in this._layers){var _=this._layers[h];l.extend(_.getBounds?_.getBounds():_.getLatLng())}return l}}),gw=function(l,h){return new Vr(l,h)},Wl=Ce.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(l){x(this,l)},createIcon:function(l){return this._createIcon("icon",l)},createShadow:function(l){return this._createIcon("shadow",l)},_createIcon:function(l,h){var _=this._getIconUrl(l);if(!_){if(l==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var S=this._createImg(_,h&&h.tagName==="IMG"?h:null);return this._setIconStyles(S,l),(this.options.crossOrigin||this.options.crossOrigin==="")&&(S.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),S},_setIconStyles:function(l,h){var _=this.options,S=_[h+"Size"];typeof S=="number"&&(S=[S,S]);var I=Ye(S),R=Ye(h==="shadow"&&_.shadowAnchor||_.iconAnchor||I&&I.divideBy(2,!0));l.className="leaflet-marker-"+h+" "+(_.className||""),R&&(l.style.marginLeft=-R.x+"px",l.style.marginTop=-R.y+"px"),I&&(l.style.width=I.x+"px",l.style.height=I.y+"px")},_createImg:function(l,h){return h=h||document.createElement("img"),h.src=l,h},_getIconUrl:function(l){return We.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function pw(l){return new Wl(l)}var Uc=Wl.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 Uc.imagePath!="string"&&(Uc.imagePath=this._detectIconPath()),(this.options.imagePath||Uc.imagePath)+Wl.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var h=function(_,S,I){var R=S.exec(_);return R&&R[I]};return l=h(l,/^url\((['"])?(.+)\1\)$/,2),l&&h(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=G("div","leaflet-default-icon-path",document.body),h=B(l,"background-image")||B(l,"backgroundImage");if(document.body.removeChild(l),h=this._stripUrl(h),h)return h;var _=document.querySelector('link[href$="leaflet.css"]');return _?_.href.substring(0,_.href.length-11-1):""}}),$=hr.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new Yo(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),ce(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&&we(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(l){var h=this._marker,_=h._map,S=this._marker.options.autoPanSpeed,I=this._marker.options.autoPanPadding,R=kt(h._icon),J=_.getPixelBounds(),_e=_.getPixelOrigin(),Ne=lt(J.min._subtract(_e).add(I),J.max._subtract(_e).subtract(I));if(!Ne.contains(R)){var _t=Ye((Math.max(Ne.max.x,R.x)-Ne.max.x)/(J.max.x-Ne.max.x)-(Math.min(Ne.min.x,R.x)-Ne.min.x)/(J.min.x-Ne.min.x),(Math.max(Ne.max.y,R.y)-Ne.max.y)/(J.max.y-Ne.max.y)-(Math.min(Ne.min.y,R.y)-Ne.min.y)/(J.min.y-Ne.min.y)).multiplyBy(S);_.panBy(_t,{animate:!1}),this._draggable._newPos._add(_t),this._draggable._startPos._add(_t),Ee(h._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=Oe(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&&(rt(this._panRequest),this._panRequest=Oe(this._adjustPan.bind(this,l)))},_onDrag:function(l){var h=this._marker,_=h._shadow,S=kt(h._icon),I=h._map.layerPointToLatLng(S);_&&Ee(_,S),h._latlng=I,l.latlng=I,l.oldLatLng=this._oldLatLng,h.fire("move",l).fire("drag",l)},_onDragEnd:function(l){rt(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),de=Qo.extend({options:{icon:new Uc,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){x(this,h),this._latlng=Lt(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=Lt(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"),_=l.icon.createIcon(this._icon),S=!1;_!==this._icon&&(this._icon&&this._removeIcon(),S=!0,l.title&&(_.title=l.title),_.tagName==="IMG"&&(_.alt=l.alt||"")),ce(_,h),l.keyboard&&(_.tabIndex="0",_.setAttribute("role","button")),this._icon=_,l.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&tt(_,"focus",this._panOnFocus,this);var I=l.icon.createShadow(this._shadow),R=!1;I!==this._shadow&&(this._removeShadow(),R=!0),I&&(ce(I,h),I.alt=""),this._shadow=I,l.opacity<1&&this._updateOpacity(),S&&this.getPane().appendChild(this._icon),this._initInteraction(),I&&R&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Xt(this._icon,"focus",this._panOnFocus,this),se(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&se(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&Ee(this._icon,l),this._shadow&&Ee(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&&(ce(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),$)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new $(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&&te(this._icon,l),this._shadow&&te(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,_=h.iconSize?Ye(h.iconSize):Ye(0,0),S=h.iconAnchor?Ye(h.iconAnchor):Ye(0,0);l.panInside(this._latlng,{paddingTopLeft:S,paddingBottomRight:_.subtract(S)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function $e(l,h){return new de(l,h)}var Se=Qo.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 x(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)}}),wt=Se.extend({options:{fill:!0,radius:10},initialize:function(l,h){x(this,h),this._latlng=Lt(l),this._radius=this.options.radius},setLatLng:function(l){var h=this._latlng;return this._latlng=Lt(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 Se.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,_=this._clickTolerance(),S=[l+_,h+_];this._pxBounds=new ge(this._point.subtract(S),this._point.add(S))},_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 Yt(l,h){return new wt(l,h)}var ci=wt.extend({initialize:function(l,h,_){if(typeof h=="number"&&(h=n({},_,{radius:h})),x(this,h),this._latlng=Lt(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 Nt(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:Se.prototype.setStyle,_project:function(){var l=this._latlng.lng,h=this._latlng.lat,_=this._map,S=_.options.crs;if(S.distance===Ct.distance){var I=Math.PI/180,R=this._mRadius/Ct.R/I,J=_.project([h+R,l]),_e=_.project([h-R,l]),Ne=J.add(_e).divideBy(2),_t=_.unproject(Ne).lat,hi=Math.acos((Math.cos(R*I)-Math.sin(h*I)*Math.sin(_t*I))/(Math.cos(h*I)*Math.cos(_t*I)))/I;(isNaN(hi)||hi===0)&&(hi=R/Math.cos(Math.PI/180*h)),this._point=Ne.subtract(_.getPixelOrigin()),this._radius=isNaN(hi)?0:Ne.x-_.project([_t,l-hi]).x,this._radiusY=Ne.y-J.y}else{var Ji=S.unproject(S.project(this._latlng).subtract([this._mRadius,0]));this._point=_.latLngToLayerPoint(this._latlng),this._radius=this._point.x-_.latLngToLayerPoint(Ji).x}this._updateBounds()}});function cn(l,h,_){return new ci(l,h,_)}var Zi=Se.extend({options:{smoothFactor:1,noClip:!1},initialize:function(l,h){x(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,_=null,S=$c,I,R,J=0,_e=this._parts.length;J<_e;J++)for(var Ne=this._parts[J],_t=1,hi=Ne.length;_t<hi;_t++){I=Ne[_t-1],R=Ne[_t];var Ji=S(l,I,R,!0);Ji<h&&(h=Ji,_=S(l,I,R))}return _&&(_.distance=Math.sqrt(h)),_},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return Zu(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,h){return h=h||this._defaultShape(),l=Lt(l),h.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new Nt,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return Ro(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var h=[],_=Ro(l),S=0,I=l.length;S<I;S++)_?(h[S]=Lt(l[S]),this._bounds.extend(h[S])):h[S]=this._convertLatLngs(l[S]);return h},_project:function(){var l=new ge;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 Fe(l,l);this._rawPxBounds&&(this._pxBounds=new ge([this._rawPxBounds.min.subtract(h),this._rawPxBounds.max.add(h)]))},_projectLatlngs:function(l,h,_){var S=l[0]instanceof Ot,I=l.length,R,J;if(S){for(J=[],R=0;R<I;R++)J[R]=this._map.latLngToLayerPoint(l[R]),_.extend(J[R]);h.push(J)}else for(R=0;R<I;R++)this._projectLatlngs(l[R],h,_)},_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,_,S,I,R,J,_e,Ne;for(_=0,I=0,R=this._rings.length;_<R;_++)for(Ne=this._rings[_],S=0,J=Ne.length;S<J-1;S++)_e=cg(Ne[S],Ne[S+1],l,S,!0),_e&&(h[I]=h[I]||[],h[I].push(_e[0]),(_e[1]!==Ne[S+1]||S===J-2)&&(h[I].push(_e[1]),I++))}},_simplifyPoints:function(){for(var l=this._parts,h=this.options.smoothFactor,_=0,S=l.length;_<S;_++)l[_]=og(l[_],h)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(l,h){var _,S,I,R,J,_e,Ne=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(_=0,R=this._parts.length;_<R;_++)for(_e=this._parts[_],S=0,J=_e.length,I=J-1;S<J;I=S++)if(!(!h&&S===0)&&H_(l,_e[I],_e[S])<=Ne)return!0;return!1}});function _n(l,h){return new Zi(l,h)}Zi._flat=V_;var Xi=Zi.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 ng(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var h=Zi.prototype._convertLatLngs.call(this,l),_=h.length;return _>=2&&h[0]instanceof Ot&&h[0].equals(h[_-1])&&h.pop(),h},_setLatLngs:function(l){Zi.prototype._setLatLngs.call(this,l),Ro(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Ro(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,h=this.options.weight,_=new Fe(h,h);if(l=new ge(l.min.subtract(_),l.max.add(_)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}for(var S=0,I=this._rings.length,R;S<I;S++)R=F_(this._rings[S],l,!0),R.length&&this._parts.push(R)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var h=!1,_,S,I,R,J,_e,Ne,_t;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(R=0,Ne=this._parts.length;R<Ne;R++)for(_=this._parts[R],J=0,_t=_.length,_e=_t-1;J<_t;_e=J++)S=_[J],I=_[_e],S.y>l.y!=I.y>l.y&&l.x<(I.x-S.x)*(l.y-S.y)/(I.y-S.y)+S.x&&(h=!h);return h||Zi.prototype._containsPoint.call(this,l,!0)}});function dn(l,h){return new Xi(l,h)}var Qi=Vr.extend({initialize:function(l,h){x(this,h),this._layers={},l&&this.addData(l)},addData:function(l){var h=A(l)?l:l.features,_,S,I;if(h){for(_=0,S=h.length;_<S;_++)I=h[_],(I.geometries||I.geometry||I.features||I.coordinates)&&this.addData(I);return this}var R=this.options;if(R.filter&&!R.filter(l))return this;var J=Bn(l,R);return J?(J.feature=ls(l),J.defaultOptions=J.options,this.resetStyle(J),R.onEachFeature&&R.onEachFeature(l,J),this.addLayer(J)):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 Bn(l,h){var _=l.type==="Feature"?l.geometry:l,S=_?_.coordinates:null,I=[],R=h&&h.pointToLayer,J=h&&h.coordsToLatLng||Gn,_e,Ne,_t,hi;if(!S&&!_)return null;switch(_.type){case"Point":return _e=J(S),Yn(R,l,_e,h);case"MultiPoint":for(_t=0,hi=S.length;_t<hi;_t++)_e=J(S[_t]),I.push(Yn(R,l,_e,h));return new Vr(I);case"LineString":case"MultiLineString":return Ne=tn(S,_.type==="LineString"?0:1,J),new Zi(Ne,h);case"Polygon":case"MultiPolygon":return Ne=tn(S,_.type==="Polygon"?1:2,J),new Xi(Ne,h);case"GeometryCollection":for(_t=0,hi=_.geometries.length;_t<hi;_t++){var Ji=Bn({geometry:_.geometries[_t],type:"Feature",properties:l.properties},h);Ji&&I.push(Ji)}return new Vr(I);case"FeatureCollection":for(_t=0,hi=_.features.length;_t<hi;_t++){var kn=Bn(_.features[_t],h);kn&&I.push(kn)}return new Vr(I);default:throw new Error("Invalid GeoJSON object.")}}function Yn(l,h,_,S){return l?l(h,_):new de(_,S&&S.markersInheritOptions&&S)}function Gn(l){return new Ot(l[1],l[0],l[2])}function tn(l,h,_){for(var S=[],I=0,R=l.length,J;I<R;I++)J=h?tn(l[I],h-1,_):(_||Gn)(l[I]),S.push(J);return S}function gs(l,h){return l=Lt(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 zs(l,h,_,S){for(var I=[],R=0,J=l.length;R<J;R++)I.push(h?zs(l[R],Ro(l[R])?0:h-1,_,S):gs(l[R],S));return!h&&_&&I.length>0&&I.push(I[0].slice()),I}function ws(l,h){return l.feature?n({},l.feature,{geometry:h}):ls(h)}function ls(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var ss={toGeoJSON:function(l){return ws(this,{type:"Point",coordinates:gs(this.getLatLng(),l)})}};de.include(ss),ci.include(ss),wt.include(ss),Zi.include({toGeoJSON:function(l){var h=!Ro(this._latlngs),_=zs(this._latlngs,h?1:0,!1,l);return ws(this,{type:(h?"Multi":"")+"LineString",coordinates:_})}}),Xi.include({toGeoJSON:function(l){var h=!Ro(this._latlngs),_=h&&!Ro(this._latlngs[0]),S=zs(this._latlngs,_?2:h?1:0,!0,l);return h||(S=[S]),ws(this,{type:(_?"Multi":"")+"Polygon",coordinates:S})}}),Hl.include({toMultiPoint:function(l){var h=[];return this.eachLayer(function(_){h.push(_.toGeoJSON(l).geometry.coordinates)}),ws(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 _=h==="GeometryCollection",S=[];return this.eachLayer(function(I){if(I.toGeoJSON){var R=I.toGeoJSON(l);if(_)S.push(R.geometry);else{var J=ls(R);J.type==="FeatureCollection"?S.push.apply(S,J.features):S.push(J)}}}),_?ws(this,{geometries:S,type:"GeometryCollection"}):{type:"FeatureCollection",features:S}}});function ps(l,h){return new Qi(l,h)}var Ss=ps,Vs=Qo.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,h,_){this._url=l,this._bounds=ti(h),x(this,_)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(ce(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){se(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&&ee(this._image),this},bringToBack:function(){return this._map&&le(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=ti(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:G("img");if(ce(h,"leaflet-image-layer"),this._zoomAnimated&&ce(h,"leaflet-zoom-animated"),this.options.className&&ce(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),_=this._map._latLngBoundsToNewLayerBounds(this._bounds,l.zoom,l.center).min;Ie(this._image,_,h)},_reset:function(){var l=this._image,h=new ge(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),_=h.getSize();Ee(l,h.min),l.style.width=_.x+"px",l.style.height=_.y+"px"},_updateOpacity:function(){te(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()}}),ma=function(l,h,_){return new Vs(l,h,_)},jr=Vs.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:G("video");if(ce(h,"leaflet-image-layer"),this._zoomAnimated&&ce(h,"leaflet-zoom-animated"),this.options.className&&ce(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onloadeddata=r(this.fire,this,"load"),l){for(var _=h.getElementsByTagName("source"),S=[],I=0;I<_.length;I++)S.push(_[I].src);this._url=_.length>0?S:[h.src];return}A(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 R=0;R<this._url.length;R++){var J=G("source");J.src=this._url[R],h.appendChild(J)}}});function js(l,h,_){return new jr(l,h,_)}var xn=Vs.extend({_initImage:function(){var l=this._image=this._url;ce(l,"leaflet-image-layer"),this._zoomAnimated&&ce(l,"leaflet-zoom-animated"),this.options.className&&ce(l,this.options.className),l.onselectstart=g,l.onmousemove=g}});function Jo(l,h,_){return new xn(l,h,_)}var Ps=Qo.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,h){l&&(l instanceof Ot||A(l))?(this._latlng=Lt(l),x(this,h)):(x(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&&te(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&te(this._container,1),this.bringToFront(),this.options.interactive&&(ce(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(te(this._container,0),this._removeTimeout=setTimeout(r(se,void 0,this._container),200)):se(this._container),this.options.interactive&&(we(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=Lt(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&&ee(this._container),this},bringToBack:function(){return this._map&&le(this._container),this},_prepareOpen:function(l){var h=this._source;if(!h._map)return!1;if(h instanceof Vr){h=null;var _=this._source._layers;for(var S in _)if(_[S]._map){h=_[S];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=Ye(this.options.offset),_=this._getAnchor();this._zoomAnimated?Ee(this._container,l.add(_)):h=h.add(l).add(_);var S=this._containerBottom=-h.y,I=this._containerLeft=-Math.round(this._containerWidth/2)+h.x;this._container.style.bottom=S+"px",this._container.style.left=I+"px"}},_getAnchor:function(){return[0,0]}});gn.include({_initOverlay:function(l,h,_,S){var I=h;return I instanceof l||(I=new l(S).setContent(h)),_&&I.setLatLng(_),I}}),Qo.include({_initOverlay:function(l,h,_,S){var I=_;return I instanceof l?(x(I,S),I._source=this):(I=h&&!S?h:new l(S,this),I.setContent(_)),I}});var $r=Ps.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,Ps.prototype.openOn.call(this,l)},onAdd:function(l){Ps.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Se||this._source.on("preclick",Vi))},onRemove:function(l){Ps.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Se||this._source.off("preclick",Vi))},getEvents:function(){var l=Ps.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=G("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),_=this._wrapper=G("div",l+"-content-wrapper",h);if(this._contentNode=G("div",l+"-content",_),ln(h),ri(this._contentNode),tt(h,"contextmenu",Vi),this._tipContainer=G("div",l+"-tip-container",h),this._tip=G("div",l+"-tip",this._tipContainer),this.options.closeButton){var S=this._closeButton=G("a",l+"-close-button",h);S.setAttribute("role","button"),S.setAttribute("aria-label","Close popup"),S.href="#close",S.innerHTML='<span aria-hidden="true">&#215;</span>',tt(S,"click",function(I){en(I),this.close()},this)}},_updateLayout:function(){var l=this._contentNode,h=l.style;h.width="",h.whiteSpace="nowrap";var _=l.offsetWidth;_=Math.min(_,this.options.maxWidth),_=Math.max(_,this.options.minWidth),h.width=_+1+"px",h.whiteSpace="",h.height="";var S=l.offsetHeight,I=this.options.maxHeight,R="leaflet-popup-scrolled";I&&S>I?(h.height=I+"px",ce(l,R)):we(l,R),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),_=this._getAnchor();Ee(this._container,h.add(_))},_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(B(this._container,"marginBottom"),10)||0,_=this._container.offsetHeight+h,S=this._containerWidth,I=new Fe(this._containerLeft,-_-this._containerBottom);I._add(kt(this._container));var R=l.layerPointToContainerPoint(I),J=Ye(this.options.autoPanPadding),_e=Ye(this.options.autoPanPaddingTopLeft||J),Ne=Ye(this.options.autoPanPaddingBottomRight||J),_t=l.getSize(),hi=0,Ji=0;R.x+S+Ne.x>_t.x&&(hi=R.x+S-_t.x+Ne.x),R.x-hi-_e.x<0&&(hi=R.x-_e.x),R.y+_+Ne.y>_t.y&&(Ji=R.y+_-_t.y+Ne.y),R.y-Ji-_e.y<0&&(Ji=R.y-_e.y),(hi||Ji)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([hi,Ji]))}},_getAnchor:function(){return Ye(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),dg=function(l,h){return new $r(l,h)};gn.mergeOptions({closePopupOnClick:!0}),gn.include({openPopup:function(l,h,_){return this._initOverlay($r,l,h,_).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),Qo.include({bindPopup:function(l,h){return this._popup=this._initOverlay($r,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 Vr||(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)){es(l);var h=l.layer||l.target;if(this._popup._source===h&&!(h instanceof Se)){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 Bl=Ps.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){Ps.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){Ps.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=Ps.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=G("div",h),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+d(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(l){var h,_,S=this._map,I=this._container,R=S.latLngToContainerPoint(S.getCenter()),J=S.layerPointToContainerPoint(l),_e=this.options.direction,Ne=I.offsetWidth,_t=I.offsetHeight,hi=Ye(this.options.offset),Ji=this._getAnchor();_e==="top"?(h=Ne/2,_=_t):_e==="bottom"?(h=Ne/2,_=0):_e==="center"?(h=Ne/2,_=_t/2):_e==="right"?(h=0,_=_t/2):_e==="left"?(h=Ne,_=_t/2):J.x<R.x?(_e="right",h=0,_=_t/2):(_e="left",h=Ne+(hi.x+Ji.x)*2,_=_t/2),l=l.subtract(Ye(h,_,!0)).add(hi).add(Ji),we(I,"leaflet-tooltip-right"),we(I,"leaflet-tooltip-left"),we(I,"leaflet-tooltip-top"),we(I,"leaflet-tooltip-bottom"),ce(I,"leaflet-tooltip-"+_e),Ee(I,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&te(this._container,l)},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(h)},_getAnchor:function(){return Ye(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),ug=function(l,h){return new Bl(l,h)};gn.include({openTooltip:function(l,h,_){return this._initOverlay(Bl,l,h,_).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),Qo.include({bindTooltip:function(l,h){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Bl,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",_={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?_.add=this._openTooltip:(_.mouseover=this._openTooltip,_.mouseout=this.closeTooltip,_.click=this._openTooltip,this._map?this._addFocusListeners():_.add=this._addFocusListeners),this._tooltip.options.sticky&&(_.mousemove=this._moveTooltip),this[h](_),this._tooltipHandlersAdded=!l}},openTooltip:function(l){return this._tooltip&&(this instanceof Vr||(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&&(tt(h,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),tt(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,_,S;this._tooltip.options.sticky&&l.originalEvent&&(_=this._map.mouseEventToContainerPoint(l.originalEvent),S=this._map.containerPointToLayerPoint(_),h=this._map.layerPointToLatLng(S)),this._tooltip.setLatLng(h)}});var Ur=Wl.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"),_=this.options;if(_.html instanceof Element?(xe(h),h.appendChild(_.html)):h.innerHTML=_.html!==!1?_.html:"",_.bgPos){var S=Ye(_.bgPos);h.style.backgroundPosition=-S.x+"px "+-S.y+"px"}return this._setIconStyles(h,"icon"),h},createShadow:function(){return null}});function _w(l){return new Ur(l)}Wl.Default=Uc;var qc=Qo.extend({options:{tileSize:256,opacity:1,updateWhenIdle:We.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){x(this,l)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(l){l._addZoomLimit(this)},onRemove:function(l){this._removeAllTiles(),se(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(ee(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(le(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 Fe?l:new Fe(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,_=-l(-1/0,1/0),S=0,I=h.length,R;S<I;S++)R=h[S].style.zIndex,h[S]!==this._container&&R&&(_=l(_,+R));isFinite(_)&&(this.options.zIndex=_+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!We.ielt9){te(this._container,this.options.opacity);var l=+new Date,h=!1,_=!1;for(var S in this._tiles){var I=this._tiles[S];if(!(!I.current||!I.loaded)){var R=Math.min(1,(l-I.loaded)/200);te(I.el,R),R<1?h=!0:(I.active?_=!0:this._onOpaqueTile(I),I.active=!0)}}_&&!this._noPrune&&this._pruneTiles(),h&&(rt(this._fadeFrame),this._fadeFrame=Oe(this._updateOpacity,this))}},_onOpaqueTile:g,_initContainer:function(){this._container||(this._container=G("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 _ in this._levels)_=Number(_),this._levels[_].el.children.length||_===l?(this._levels[_].el.style.zIndex=h-Math.abs(l-_),this._onUpdateLevel(_)):(se(this._levels[_].el),this._removeTilesAtZoom(_),this._onRemoveLevel(_),delete this._levels[_]);var S=this._levels[l],I=this._map;return S||(S=this._levels[l]={},S.el=G("div","leaflet-tile-container leaflet-zoom-animated",this._container),S.el.style.zIndex=h,S.origin=I.project(I.unproject(I.getPixelOrigin()),l).round(),S.zoom=l,this._setZoomTransform(S,I.getCenter(),I.getZoom()),g(S.el.offsetWidth),this._onCreateLevel(S)),this._level=S,S}},_onUpdateLevel:g,_onRemoveLevel:g,_onCreateLevel:g,_pruneTiles:function(){if(this._map){var l,h,_=this._map.getZoom();if(_>this.options.maxZoom||_<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 S=h.coords;this._retainParent(S.x,S.y,S.z,S.z-5)||this._retainChildren(S.x,S.y,S.z,S.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)se(this._levels[l].el),this._onRemoveLevel(Number(l)),delete this._levels[l];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(l,h,_,S){var I=Math.floor(l/2),R=Math.floor(h/2),J=_-1,_e=new Fe(+I,+R);_e.z=+J;var Ne=this._tileCoordsToKey(_e),_t=this._tiles[Ne];return _t&&_t.active?(_t.retain=!0,!0):(_t&&_t.loaded&&(_t.retain=!0),J>S?this._retainParent(I,R,J,S):!1)},_retainChildren:function(l,h,_,S){for(var I=2*l;I<2*l+2;I++)for(var R=2*h;R<2*h+2;R++){var J=new Fe(I,R);J.z=_+1;var _e=this._tileCoordsToKey(J),Ne=this._tiles[_e];if(Ne&&Ne.active){Ne.retain=!0;continue}else Ne&&Ne.loaded&&(Ne.retain=!0);_+1<S&&this._retainChildren(I,R,_+1,S)}},_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,_,S){var I=Math.round(h);this.options.maxZoom!==void 0&&I>this.options.maxZoom||this.options.minZoom!==void 0&&I<this.options.minZoom?I=void 0:I=this._clampZoom(I);var R=this.options.updateWhenZooming&&I!==this._tileZoom;(!S||R)&&(this._tileZoom=I,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),I!==void 0&&this._update(l),_||this._pruneTiles(),this._noPrune=!!_),this._setZoomTransforms(l,h)},_setZoomTransforms:function(l,h){for(var _ in this._levels)this._setZoomTransform(this._levels[_],l,h)},_setZoomTransform:function(l,h,_){var S=this._map.getZoomScale(_,l.zoom),I=l.origin.multiplyBy(S).subtract(this._map._getNewPixelOrigin(h,_)).round();We.any3d?Ie(l.el,I,S):Ee(l.el,I)},_resetGrid:function(){var l=this._map,h=l.options.crs,_=this._tileSize=this.getTileSize(),S=this._tileZoom,I=this._map.getPixelWorldBounds(this._tileZoom);I&&(this._globalTileRange=this._pxBoundsToTileRange(I)),this._wrapX=h.wrapLng&&!this.options.noWrap&&[Math.floor(l.project([0,h.wrapLng[0]],S).x/_.x),Math.ceil(l.project([0,h.wrapLng[1]],S).x/_.y)],this._wrapY=h.wrapLat&&!this.options.noWrap&&[Math.floor(l.project([h.wrapLat[0],0],S).y/_.x),Math.ceil(l.project([h.wrapLat[1],0],S).y/_.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(l){var h=this._map,_=h._animatingZoom?Math.max(h._animateToZoom,h.getZoom()):h.getZoom(),S=h.getZoomScale(_,this._tileZoom),I=h.project(l,this._tileZoom).floor(),R=h.getSize().divideBy(S*2);return new ge(I.subtract(R),I.add(R))},_update:function(l){var h=this._map;if(h){var _=this._clampZoom(h.getZoom());if(l===void 0&&(l=h.getCenter()),this._tileZoom!==void 0){var S=this._getTiledPixelBounds(l),I=this._pxBoundsToTileRange(S),R=I.getCenter(),J=[],_e=this.options.keepBuffer,Ne=new ge(I.getBottomLeft().subtract([_e,-_e]),I.getTopRight().add([_e,-_e]));if(!(isFinite(I.min.x)&&isFinite(I.min.y)&&isFinite(I.max.x)&&isFinite(I.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var _t in this._tiles){var hi=this._tiles[_t].coords;(hi.z!==this._tileZoom||!Ne.contains(new Fe(hi.x,hi.y)))&&(this._tiles[_t].current=!1)}if(Math.abs(_-this._tileZoom)>1){this._setView(l,_);return}for(var Ji=I.min.y;Ji<=I.max.y;Ji++)for(var kn=I.min.x;kn<=I.max.x;kn++){var So=new Fe(kn,Ji);if(So.z=this._tileZoom,!!this._isValidTile(So)){var Ks=this._tiles[this._tileCoordsToKey(So)];Ks?Ks.current=!0:J.push(So)}}if(J.sort(function(No,eh){return No.distanceTo(R)-eh.distanceTo(R)}),J.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var fr=document.createDocumentFragment();for(kn=0;kn<J.length;kn++)this._addTile(J[kn],fr);this._level.el.appendChild(fr)}}}},_isValidTile:function(l){var h=this._map.options.crs;if(!h.infinite){var _=this._globalTileRange;if(!h.wrapLng&&(l.x<_.min.x||l.x>_.max.x)||!h.wrapLat&&(l.y<_.min.y||l.y>_.max.y))return!1}if(!this.options.bounds)return!0;var S=this._tileCoordsToBounds(l);return ti(this.options.bounds).overlaps(S)},_keyToBounds:function(l){return this._tileCoordsToBounds(this._keyToTileCoords(l))},_tileCoordsToNwSe:function(l){var h=this._map,_=this.getTileSize(),S=l.scaleBy(_),I=S.add(_),R=h.unproject(S,l.z),J=h.unproject(I,l.z);return[R,J]},_tileCoordsToBounds:function(l){var h=this._tileCoordsToNwSe(l),_=new Nt(h[0],h[1]);return this.options.noWrap||(_=this._map.wrapLatLngBounds(_)),_},_tileCoordsToKey:function(l){return l.x+":"+l.y+":"+l.z},_keyToTileCoords:function(l){var h=l.split(":"),_=new Fe(+h[0],+h[1]);return _.z=+h[2],_},_removeTile:function(l){var h=this._tiles[l];h&&(se(h.el),delete this._tiles[l],this.fire("tileunload",{tile:h.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){ce(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,We.ielt9&&this.options.opacity<1&&te(l,this.options.opacity)},_addTile:function(l,h){var _=this._getTilePos(l),S=this._tileCoordsToKey(l),I=this.createTile(this._wrapCoords(l),r(this._tileReady,this,l));this._initTile(I),this.createTile.length<2&&Oe(r(this._tileReady,this,l,null,I)),Ee(I,_),this._tiles[S]={el:I,coords:l,current:!0},h.appendChild(I),this.fire("tileloadstart",{tile:I,coords:l})},_tileReady:function(l,h,_){h&&this.fire("tileerror",{error:h,tile:_,coords:l});var S=this._tileCoordsToKey(l);_=this._tiles[S],_&&(_.loaded=+new Date,this._map._fadeAnimated?(te(_.el,0),rt(this._fadeFrame),this._fadeFrame=Oe(this._updateOpacity,this)):(_.active=!0,this._pruneTiles()),h||(ce(_.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:_.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),We.ielt9||!this._map._fadeAnimated?Oe(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 Fe(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 ge(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 Pn(l){return new qc(l)}var ms=qc.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=x(this,h),h.detectRetina&&We.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 _=document.createElement("img");return tt(_,"load",r(this._tileOnLoad,this,h,_)),tt(_,"error",r(this._tileOnError,this,h,_)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(_.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(_.referrerPolicy=this.options.referrerPolicy),_.alt="",_.src=this.getTileUrl(l),_},getTileUrl:function(l){var h={r:We.retina?"@2x":"",s:this._getSubdomain(l),x:l.x,y:l.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var _=this._globalTileRange.max.y-l.y;this.options.tms&&(h.y=_),h["-y"]=_}return P(this._url,n(h,this.options))},_tileOnLoad:function(l,h){We.ielt9?setTimeout(r(l,this,null,h),0):l(null,h)},_tileOnError:function(l,h,_){var S=this.options.errorTileUrl;S&&h.getAttribute("src")!==S&&(h.src=S),l(_,h)},_onTileRemove:function(l){l.tile.onload=null},_getZoomForUrl:function(){var l=this._tileZoom,h=this.options.maxZoom,_=this.options.zoomReverse,S=this.options.zoomOffset;return _&&(l=h-l),l+S},_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=z;var _=this._tiles[l].coords;se(h),delete this._tiles[l],this.fire("tileabort",{tile:h,coords:_})}},_removeTile:function(l){var h=this._tiles[l];if(h)return h.el.setAttribute("src",z),qc.prototype._removeTile.call(this,l)},_tileReady:function(l,h,_){if(!(!this._map||_&&_.getAttribute("src")===z))return qc.prototype._tileReady.call(this,l,h,_)}});function Gc(l,h){return new ms(l,h)}var Ju=ms.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 _=n({},this.defaultWmsParams);for(var S in h)S in this.options||(_[S]=h[S]);h=x(this,h);var I=h.detectRetina&&We.retina?2:1,R=this.getTileSize();_.width=R.x*I,_.height=R.y*I,this.wmsParams=_},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,ms.prototype.onAdd.call(this,l)},getTileUrl:function(l){var h=this._tileCoordsToNwSe(l),_=this._crs,S=lt(_.project(h[0]),_.project(h[1])),I=S.min,R=S.max,J=(this._wmsVersion>=1.3&&this._crs===Qu?[I.y,I.x,R.y,R.x]:[I.x,I.y,R.x,R.y]).join(","),_e=ms.prototype.getTileUrl.call(this,l);return _e+k(this.wmsParams,_e,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+J},setParams:function(l,h){return n(this.wmsParams,l),h||this.redraw(),this}});function yA(l,h){return new Ju(l,h)}ms.WMS=Ju,Gc.wms=yA;var Qa=Qo.extend({options:{padding:.1},initialize:function(l){x(this,l),d(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),ce(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 _=this._map.getZoomScale(h,this._zoom),S=this._map.getSize().multiplyBy(.5+this.options.padding),I=this._map.project(this._center,h),R=S.multiplyBy(-_).add(I).subtract(this._map._getNewPixelOrigin(l,h));We.any3d?Ie(this._container,R,_):Ee(this._container,R)},_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(),_=this._map.containerPointToLayerPoint(h.multiplyBy(-l)).round();this._bounds=new ge(_,_.add(h.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),jk=Qa.extend({options:{tolerance:0},getEvents:function(){var l=Qa.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Qa.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");tt(l,"mousemove",this._onMouseMove,this),tt(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),tt(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){rt(this._redrawRequest),delete this._ctx,se(this._container),Xt(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)){Qa.prototype._update.call(this);var l=this._bounds,h=this._container,_=l.getSize(),S=We.retina?2:1;Ee(h,l.min),h.width=S*_.x,h.height=S*_.y,h.style.width=_.x+"px",h.style.height=_.y+"px",We.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){Qa.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,_=h.next,S=h.prev;_?_.prev=S:this._drawLast=S,S?S.next=_:this._drawFirst=_,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(/[, ]+/),_=[],S,I;for(I=0;I<h.length;I++){if(S=Number(h[I]),isNaN(S))return;_.push(S)}l.options._dashArray=_}else l.options._dashArray=l.options.dashArray},_requestRedraw:function(l){this._map&&(this._extendRedrawBounds(l),this._redrawRequest=this._redrawRequest||Oe(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var h=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new ge,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 _=h.getSize();this._ctx.beginPath(),this._ctx.rect(h.min.x,h.min.y,_.x,_.y),this._ctx.clip()}this._drawing=!0;for(var S=this._drawFirst;S;S=S.next)l=S.layer,(!h||l._pxBounds&&l._pxBounds.intersects(h))&&l._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(l,h){if(this._drawing){var _,S,I,R,J=l._parts,_e=J.length,Ne=this._ctx;if(_e){for(Ne.beginPath(),_=0;_<_e;_++){for(S=0,I=J[_].length;S<I;S++)R=J[_][S],Ne[S?"lineTo":"moveTo"](R.x,R.y);h&&Ne.closePath()}this._fillStroke(Ne,l)}}},_updateCircle:function(l){if(!(!this._drawing||l._empty())){var h=l._point,_=this._ctx,S=Math.max(Math.round(l._radius),1),I=(Math.max(Math.round(l._radiusY),1)||S)/S;I!==1&&(_.save(),_.scale(1,I)),_.beginPath(),_.arc(h.x,h.y/I,S,0,Math.PI*2,!1),I!==1&&_.restore(),this._fillStroke(_,l)}},_fillStroke:function(l,h){var _=h.options;_.fill&&(l.globalAlpha=_.fillOpacity,l.fillStyle=_.fillColor||_.color,l.fill(_.fillRule||"evenodd")),_.stroke&&_.weight!==0&&(l.setLineDash&&l.setLineDash(h.options&&h.options._dashArray||[]),l.globalAlpha=_.opacity,l.lineWidth=_.weight,l.strokeStyle=_.color,l.lineCap=_.lineCap,l.lineJoin=_.lineJoin,l.stroke())},_onClick:function(l){for(var h=this._map.mouseEventToLayerPoint(l),_,S,I=this._drawFirst;I;I=I.next)_=I.layer,_.options.interactive&&_._containsPoint(h)&&(!(l.type==="click"||l.type==="preclick")||!this._map._draggableMoved(_))&&(S=_);this._fireEvent(S?[S]:!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&&(we(this._container,"leaflet-interactive"),this._fireEvent([h],l,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(l,h){if(!this._mouseHoverThrottled){for(var _,S,I=this._drawFirst;I;I=I.next)_=I.layer,_.options.interactive&&_._containsPoint(h)&&(S=_);S!==this._hoveredLayer&&(this._handleMouseOut(l),S&&(ce(this._container,"leaflet-interactive"),this._fireEvent([S],l,"mouseover"),this._hoveredLayer=S)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,l),this._mouseHoverThrottled=!0,setTimeout(r(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(l,h,_){this._map._fireDOMEvent(h,_||h.type,l)},_bringToFront:function(l){var h=l._order;if(h){var _=h.next,S=h.prev;if(_)_.prev=S;else return;S?S.next=_:_&&(this._drawFirst=_),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 _=h.next,S=h.prev;if(S)S.next=_;else return;_?_.prev=S:S&&(this._drawLast=S),h.prev=null,h.next=this._drawFirst,this._drawFirst.prev=h,this._drawFirst=h,this._requestRedraw(l)}}});function $k(l){return We.canvas?new jk(l):null}var hg=(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">')}})(),wA={_initContainer:function(){this._container=G("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Qa.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var h=l._container=hg("shape");ce(h,"leaflet-vml-shape "+(this.options.className||"")),h.coordsize="1 1",l._path=hg("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;se(h),l.removeInteractiveTarget(h),delete this._layers[d(l)]},_updateStyle:function(l){var h=l._stroke,_=l._fill,S=l.options,I=l._container;I.stroked=!!S.stroke,I.filled=!!S.fill,S.stroke?(h||(h=l._stroke=hg("stroke")),I.appendChild(h),h.weight=S.weight+"px",h.color=S.color,h.opacity=S.opacity,S.dashArray?h.dashStyle=A(S.dashArray)?S.dashArray.join(" "):S.dashArray.replace(/( *, *)/g," "):h.dashStyle="",h.endcap=S.lineCap.replace("butt","flat"),h.joinstyle=S.lineJoin):h&&(I.removeChild(h),l._stroke=null),S.fill?(_||(_=l._fill=hg("fill")),I.appendChild(_),_.color=S.fillColor||S.color,_.opacity=S.fillOpacity):_&&(I.removeChild(_),l._fill=null)},_updateCircle:function(l){var h=l._point.round(),_=Math.round(l._radius),S=Math.round(l._radiusY||_);this._setPath(l,l._empty()?"M0 0":"AL "+h.x+","+h.y+" "+_+","+S+" 0,"+65535*360)},_setPath:function(l,h){l._path.v=h},_bringToFront:function(l){ee(l._container)},_bringToBack:function(l){le(l._container)}},q_=We.vml?hg:Ci,fg=Qa.extend({_initContainer:function(){this._container=q_("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=q_("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){se(this._container),Xt(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Qa.prototype._update.call(this);var l=this._bounds,h=l.getSize(),_=this._container;(!this._svgSize||!this._svgSize.equals(h))&&(this._svgSize=h,_.setAttribute("width",h.x),_.setAttribute("height",h.y)),Ee(_,l.min),_.setAttribute("viewBox",[l.min.x,l.min.y,h.x,h.y].join(" ")),this.fire("update")}},_initPath:function(l){var h=l._path=q_("path");l.options.className&&ce(h,l.options.className),l.options.interactive&&ce(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){se(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,_=l.options;h&&(_.stroke?(h.setAttribute("stroke",_.color),h.setAttribute("stroke-opacity",_.opacity),h.setAttribute("stroke-width",_.weight),h.setAttribute("stroke-linecap",_.lineCap),h.setAttribute("stroke-linejoin",_.lineJoin),_.dashArray?h.setAttribute("stroke-dasharray",_.dashArray):h.removeAttribute("stroke-dasharray"),_.dashOffset?h.setAttribute("stroke-dashoffset",_.dashOffset):h.removeAttribute("stroke-dashoffset")):h.setAttribute("stroke","none"),_.fill?(h.setAttribute("fill",_.fillColor||_.color),h.setAttribute("fill-opacity",_.fillOpacity),h.setAttribute("fill-rule",_.fillRule||"evenodd")):h.setAttribute("fill","none"))},_updatePoly:function(l,h){this._setPath(l,di(l._parts,h))},_updateCircle:function(l){var h=l._point,_=Math.max(Math.round(l._radius),1),S=Math.max(Math.round(l._radiusY),1)||_,I="a"+_+","+S+" 0 1,0 ",R=l._empty()?"M0 0":"M"+(h.x-_)+","+h.y+I+_*2+",0 "+I+-_*2+",0 ";this._setPath(l,R)},_setPath:function(l,h){l._path.setAttribute("d",h)},_bringToFront:function(l){ee(l._path)},_bringToBack:function(l){le(l._path)}});We.vml&&fg.include(wA);function Uk(l){return We.svg||We.vml?new fg(l):null}gn.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&&$k(l)||Uk(l)}});var qk=Xi.extend({initialize:function(l,h){Xi.prototype.initialize.call(this,this._boundsToLatLngs(l),h)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=ti(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function SA(l,h){return new qk(l,h)}fg.create=q_,fg.pointsToPath=di,Qi.geometryToLayer=Bn,Qi.coordsToLatLng=Gn,Qi.coordsToLatLngs=tn,Qi.latLngToCoords=gs,Qi.latLngsToCoords=zs,Qi.getFeature=ws,Qi.asFeature=ls,gn.mergeOptions({boxZoom:!0});var Gk=hr.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(){tt(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Xt(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){se(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(),ct(),ve(),this._startPoint=this._map.mouseEventToContainerPoint(l),tt(document,{contextmenu:es,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=G("div","leaflet-zoom-box",this._container),ce(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var h=new ge(this._point,this._startPoint),_=h.getSize();Ee(this._box,h.min),this._box.style.width=_.x+"px",this._box.style.height=_.y+"px"},_finish:function(){this._moved&&(se(this._box),we(this._container,"leaflet-crosshair")),Ke(),Re(),Xt(document,{contextmenu:es,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 Nt(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())}});gn.addInitHook("addHandler","boxZoom",Gk),gn.mergeOptions({doubleClickZoom:!0});var Kk=hr.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,_=h.getZoom(),S=h.options.zoomDelta,I=l.originalEvent.shiftKey?_-S:_+S;h.options.doubleClickZoom==="center"?h.setZoom(I):h.setZoomAround(l.containerPoint,I)}});gn.addInitHook("addHandler","doubleClickZoom",Kk),gn.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var Zk=hr.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new Yo(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))}ce(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){we(this._map._container,"leaflet-grab"),we(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=ti(this._map.options.maxBounds);this._offsetLimit=lt(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,_=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(_),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),_=this._initialWorldOffset,S=this._draggable._newPos.x,I=(S-h+_)%l+h-_,R=(S+h+_)%l-h-_,J=Math.abs(I+_)<Math.abs(R+_)?I:R;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=J},_onDragEnd:function(l){var h=this._map,_=h.options,S=!_.inertia||l.noInertia||this._times.length<2;if(h.fire("dragend",l),S)h.fire("moveend");else{this._prunePositions(+new Date);var I=this._lastPos.subtract(this._positions[0]),R=(this._lastTime-this._times[0])/1e3,J=_.easeLinearity,_e=I.multiplyBy(J/R),Ne=_e.distanceTo([0,0]),_t=Math.min(_.inertiaMaxSpeed,Ne),hi=_e.multiplyBy(_t/Ne),Ji=_t/(_.inertiaDeceleration*J),kn=hi.multiplyBy(-Ji/2).round();!kn.x&&!kn.y?h.fire("moveend"):(kn=h._limitOffset(kn,h.options.maxBounds),Oe(function(){h.panBy(kn,{duration:Ji,easeLinearity:J,noMoveStart:!0,animate:!0})}))}}});gn.addInitHook("addHandler","dragging",Zk),gn.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Xk=hr.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"),tt(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(),Xt(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,_=l.scrollTop||h.scrollTop,S=l.scrollLeft||h.scrollLeft;this._map._container.focus(),window.scrollTo(S,_)}},_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={},_=this.keyCodes,S,I;for(S=0,I=_.left.length;S<I;S++)h[_.left[S]]=[-1*l,0];for(S=0,I=_.right.length;S<I;S++)h[_.right[S]]=[l,0];for(S=0,I=_.down.length;S<I;S++)h[_.down[S]]=[0,l];for(S=0,I=_.up.length;S<I;S++)h[_.up[S]]=[0,-1*l]},_setZoomDelta:function(l){var h=this._zoomKeys={},_=this.keyCodes,S,I;for(S=0,I=_.zoomIn.length;S<I;S++)h[_.zoomIn[S]]=l;for(S=0,I=_.zoomOut.length;S<I;S++)h[_.zoomOut[S]]=-l},_addHooks:function(){tt(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Xt(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(l){if(!(l.altKey||l.ctrlKey||l.metaKey)){var h=l.keyCode,_=this._map,S;if(h in this._panKeys){if(!_._panAnim||!_._panAnim._inProgress)if(S=this._panKeys[h],l.shiftKey&&(S=Ye(S).multiplyBy(3)),_.options.maxBounds&&(S=_._limitOffset(Ye(S),_.options.maxBounds)),_.options.worldCopyJump){var I=_.wrapLatLng(_.unproject(_.project(_.getCenter()).add(S)));_.panTo(I)}else _.panBy(S)}else if(h in this._zoomKeys)_.setZoom(_.getZoom()+(l.shiftKey?3:1)*this._zoomKeys[h]);else if(h===27&&_._popup&&_._popup.options.closeOnEscapeKey)_.closePopup();else return;es(l)}}});gn.addInitHook("addHandler","keyboard",Xk),gn.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var Yk=hr.extend({addHooks:function(){tt(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Xt(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var h=dr(l),_=this._map.options.wheelDebounceTime;this._delta+=h,this._lastMousePos=this._map.mouseEventToContainerPoint(l),this._startTime||(this._startTime=+new Date);var S=Math.max(_-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(r(this._performZoom,this),S),es(l)},_performZoom:function(){var l=this._map,h=l.getZoom(),_=this._map.options.zoomSnap||0;l._stop();var S=this._delta/(this._map.options.wheelPxPerZoomLevel*4),I=4*Math.log(2/(1+Math.exp(-Math.abs(S))))/Math.LN2,R=_?Math.ceil(I/_)*_:I,J=l._limitZoom(h+(this._delta>0?R:-R))-h;this._delta=0,this._startTime=null,J&&(l.options.scrollWheelZoom==="center"?l.setZoom(h+J):l.setZoomAround(this._lastMousePos,h+J))}});gn.addInitHook("addHandler","scrollWheelZoom",Yk);var CA=600;gn.mergeOptions({tapHold:We.touchNative&&We.safari&&We.mobile,tapTolerance:15});var Qk=hr.extend({addHooks:function(){tt(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Xt(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 Fe(h.clientX,h.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(tt(document,"touchend",en),tt(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",h))},this),CA),tt(document,"touchend touchcancel contextmenu",this._cancel,this),tt(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){Xt(document,"touchend",en),Xt(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),Xt(document,"touchend touchcancel contextmenu",this._cancel,this),Xt(document,"touchmove",this._onMove,this)},_onMove:function(l){var h=l.touches[0];this._newPos=new Fe(h.clientX,h.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(l,h){var _=new MouseEvent(l,{bubbles:!0,cancelable:!0,view:window,screenX:h.screenX,screenY:h.screenY,clientX:h.clientX,clientY:h.clientY});_._simulated=!0,h.target.dispatchEvent(_)}});gn.addInitHook("addHandler","tapHold",Qk),gn.mergeOptions({touchZoom:We.touch,bounceAtZoomLimits:!0});var Jk=hr.extend({addHooks:function(){ce(this._map._container,"leaflet-touch-zoom"),tt(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){we(this._map._container,"leaflet-touch-zoom"),Xt(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 _=h.mouseEventToContainerPoint(l.touches[0]),S=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(_.add(S)._divideBy(2))),this._startDist=_.distanceTo(S),this._startZoom=h.getZoom(),this._moved=!1,this._zooming=!0,h._stop(),tt(document,"touchmove",this._onTouchMove,this),tt(document,"touchend touchcancel",this._onTouchEnd,this),en(l)}},_onTouchMove:function(l){if(!(!l.touches||l.touches.length!==2||!this._zooming)){var h=this._map,_=h.mouseEventToContainerPoint(l.touches[0]),S=h.mouseEventToContainerPoint(l.touches[1]),I=_.distanceTo(S)/this._startDist;if(this._zoom=h.getScaleZoom(I,this._startZoom),!h.options.bounceAtZoomLimits&&(this._zoom<h.getMinZoom()&&I<1||this._zoom>h.getMaxZoom()&&I>1)&&(this._zoom=h._limitZoom(this._zoom)),h.options.touchZoom==="center"){if(this._center=this._startLatLng,I===1)return}else{var R=_._add(S)._divideBy(2)._subtract(this._centerPoint);if(I===1&&R.x===0&&R.y===0)return;this._center=h.unproject(h.project(this._pinchStartLatLng,this._zoom).subtract(R),this._zoom)}this._moved||(h._moveStart(!0,!1),this._moved=!0),rt(this._animRequest);var J=r(h._move,h,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=Oe(J,this,!0),en(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,rt(this._animRequest),Xt(document,"touchmove",this._onTouchMove,this),Xt(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))}});gn.addInitHook("addHandler","touchZoom",Jk),gn.BoxZoom=Gk,gn.DoubleClickZoom=Kk,gn.Drag=Zk,gn.Keyboard=Xk,gn.ScrollWheelZoom=Yk,gn.TapHold=Qk,gn.TouchZoom=Jk,t.Bounds=ge,t.Browser=We,t.CRS=Pt,t.Canvas=jk,t.Circle=ci,t.CircleMarker=wt,t.Class=Ce,t.Control=fs,t.DivIcon=Ur,t.DivOverlay=Ps,t.DomEvent=Zo,t.DomUtil=gt,t.Draggable=Yo,t.Evented=Rt,t.FeatureGroup=Vr,t.GeoJSON=Qi,t.GridLayer=qc,t.Handler=hr,t.Icon=Wl,t.ImageOverlay=Vs,t.LatLng=Ot,t.LatLngBounds=Nt,t.Layer=Qo,t.LayerGroup=Hl,t.LineUtil=j_,t.Map=gn,t.Marker=de,t.Mixin=O_,t.Path=Se,t.Point=Fe,t.PolyUtil=uw,t.Polygon=Xi,t.Polyline=Zi,t.Popup=$r,t.PosAnimation=ur,t.Projection=hw,t.Rectangle=qk,t.Renderer=Qa,t.SVG=fg,t.SVGOverlay=xn,t.TileLayer=ms,t.Tooltip=Bl,t.Transformation=Zt,t.Util=vt,t.VideoOverlay=jr,t.bind=r,t.bounds=lt,t.canvas=$k,t.circle=cn,t.circleMarker=Yt,t.control=ns,t.divIcon=_w,t.extend=n,t.featureGroup=gw,t.geoJSON=ps,t.geoJson=Ss,t.gridLayer=Pn,t.icon=pw,t.imageOverlay=ma,t.latLng=Lt,t.latLngBounds=ti,t.layerGroup=fw,t.map=Ds,t.marker=$e,t.point=Ye,t.polygon=dn,t.polyline=_n,t.popup=dg,t.rectangle=SA,t.setOptions=x,t.stamp=d,t.svg=Uk,t.svgOverlay=Jo,t.tileLayer=Gc,t.tooltip=ug,t.transformation=Ti,t.version=i,t.videoOverlay=js;var xA=window.L;t.noConflict=function(){return window.L=xA,this},window.L=t}))})(Vg,Vg.exports)),Vg.exports}var NK=RK();const xg=tA(NK),AK="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=",OK="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==",FK="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",Nn=(o,e=Ny)=>{var t=HK(),i=v(m(t),2),n=m(i);V(()=>O(n,e())),E(o,t)};var HK=T('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),WK=T("<button> </button>"),BK=T('<span class="err svelte-767znw"> </span>'),zK=T('<span class="ok svelte-767znw"> </span>'),VK=T('<div class="loading svelte-767znw">Loading…</div>'),jK=T('<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>'),$K=T('<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),UK=T('<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>'),qK=T('<div class="field svelte-767znw"><label class="svelte-767znw"> <!></label> <input type="password" placeholder="Enter new password" autocomplete="new-password" class="svelte-767znw"/></div>'),GK=T('<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),KK=T('<div class="field-error svelte-767znw"> </div>'),ZK=T('<div class="field-ok svelte-767znw"> </div>'),XK=T('<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>'),YK=T('<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>'),QK=T('<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>'),JK=T('<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>'),cD=T("<option> </option>"),eZ=T('<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=T('<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>'),iZ=T('<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>'),nZ=T('<div class="field field--check svelte-767znw"><span></span> <label><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Retain document messages <!></label></div>'),sZ=T('<section id="sec-shedb" class="svelte-767znw"><h3 class="svelte-767znw">sheDB</h3> <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><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Publish documents to MQTT <!></label></div> <!></section>'),oZ=T('<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>'),rZ=T('<span class="free-badge svelte-767znw">FREE</span> ',1),aZ=T('&nbsp;— <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),lZ=T("<div><!> <!></div>"),cZ=T('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),dZ=T('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),uZ=T('<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>'),hZ=T('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),fZ=T('<!> <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 gZ(o,e){Fs(e,!0),delete xg.Icon.Default.prototype._getIconUrl,xg.Icon.Default.mergeOptions({iconUrl:AK,iconRetinaUrl:OK,shadowUrl:FK});let t=M(mi(TK())),i=M("~/.she"),n=M("mqtt"),s=M(""),r=M(""),a=M(""),d=M(""),u=M(""),f=M(""),g=M("logic"),p=M("var"),w=M(""),y=M(!1),x=M(8080),k=M(""),D=M("none"),P=M(""),A=M("X-Remote-User"),q=M(""),z=M(!1),oe=M(""),ie=M(""),be=M(""),ye=M(!1),qe=M(!1),Oe=M(!1),rt=M(""),vt=M(48.7408),Ce=M(9.1778),yt=M(!1),ut=M(void 0),Rt=M(!1),Fe=M(null),Ht=M("info"),Ye=M(""),ge=M(""),lt=M(!1),Nt=M(!1),ti=M("");const Ot=[{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 Lt=M("ollama"),Pt=M("ollama"),Ct=M(""),_i=M(""),fi=M("");const Zt={};let Ti="ollama";function Mi(Z,re){return Z==="anthropic"?"anthropic":Z==="ollama"?"ollama":re?re.includes("localhost:1234")?"lmstudio":re.includes("groq.com")?"groq":re.includes("googleapis.com")?"gemini":"openai":"openai"}function Ni(){Zt[Ti]={baseUrl:c(Ct),model:c(_i),apiKey:c(fi)};const Z=Ot.find(ae=>ae.id===c(Lt));if(!Z)return;b(Pt,Z.provider,!0);const re=Zt[c(Lt)];b(Ct,(re==null?void 0:re.baseUrl)??Z.baseUrl,!0),b(_i,(re==null?void 0:re.model)??Z.defaultModel,!0),b(fi,(re==null?void 0:re.apiKey)??"",!0),Ti=c(Lt)}const Ci=dt(()=>Ot.find(Z=>Z.id===c(Lt)));let di=M(mi({}));const vi=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"]);Vn(()=>{if(!c(ut))return;const Z=typeof c(vt)=="number"?c(vt):48.7408,re=typeof c(Ce)=="number"?c(Ce):9.1778,ae=xg.map(c(ut)).setView([Z,re],10);xg.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(ae);const Ve=xg.marker([Z,re],{draggable:!0}).addTo(ae);b(Fe,Ve,!0);const et=Be=>{b(vt,+Be.lat.toFixed(6)),b(Ce,+Be.lng.toFixed(6))};return Ve.on("dragend",()=>et(Ve.getLatLng())),ae.on("click",Be=>{Ve.setLatLng(Be.latlng),et(Be.latlng)}),()=>{b(Fe,null),ae.remove()}}),Vn(()=>{!c(Fe)||c(vt)===""||c(Ce)===""||c(Fe).setLatLng([Number(c(vt)),Number(c(Ce))])});let Je;function $t(){if(!navigator.geolocation){Je.show("Geolocation is not supported by this browser.",{alert:!0});return}b(Rt,!0),navigator.geolocation.getCurrentPosition(Z=>{b(vt,+Z.coords.latitude.toFixed(6)),b(Ce,+Z.coords.longitude.toFixed(6)),b(Rt,!1)},()=>{b(Rt,!1)})}let yi=M(!0),Oi=M(!1),on=M(""),Ri=M(""),Gi=M(""),Fi=M("appearance");const nn=[{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","path","retain"]},{id:"redis",label:"Redis",terms:["redis","cache"]},{id:"ai",label:"AI Assistant",terms:["llm","ollama","openai","anthropic","model","provider","base url"]}];let Hi=dt(()=>nn.filter(Z=>{const re=c(Gi).trim().toLowerCase();return!re||Z.label.toLowerCase().includes(re)||Z.terms.some(ae=>ae.includes(re))}));function Cn(Z){var re;b(Fi,Z,!0),(re=document.getElementById("sec-"+Z))==null||re.scrollIntoView({behavior:"smooth",block:"start"})}co(async()=>{try{const Z=await Bg();Z.dataDir&&b(i,Z.dataDir,!0)}catch{}try{const Z=await Dl();if(typeof Z.url=="string"&&Z.url)try{const Ve=new URL(Z.url);b(n,Ve.protocol.replace(":",""),!0),b(s,Ve.host,!0)}catch{b(s,Z.url,!0)}typeof Z.mqttUsername=="string"&&b(r,Z.mqttUsername,!0),typeof Z.mqttPassword=="string"&&b(a,Z.mqttPassword,!0),typeof Z.mqttCa=="string"&&b(d,Z.mqttCa,!0),typeof Z.mqttCert=="string"&&b(u,Z.mqttCert,!0),typeof Z.mqttKey=="string"&&b(f,Z.mqttKey,!0),typeof Z.mqttVersion=="string"&&b(w,Z.mqttVersion,!0),typeof Z.name=="string"&&b(g,Z.name,!0),typeof Z.variablePrefix=="string"&&b(p,Z.variablePrefix,!0),typeof Z.disableVariables=="boolean"&&b(y,Z.disableVariables,!0),typeof Z.port=="number"&&b(x,Z.port,!0),typeof Z.bindAddress=="string"&&b(k,Z.bindAddress,!0),typeof Z.auth=="string"&&b(D,Z.auth,!0),typeof Z.proxyHeader=="string"&&b(A,Z.proxyHeader,!0),typeof Z.proxyLogoutUrl=="string"&&b(q,Z.proxyLogoutUrl,!0),typeof Z.dir=="string"&&b(be,Z.dir,!0),typeof Z.disableWatch=="boolean"&&b(ye,Z.disableWatch,!0),typeof Z.gitAutoCommit=="boolean"&&b(qe,Z.gitAutoCommit,!0),typeof Z.gitAutoPush=="boolean"&&b(Oe,Z.gitAutoPush,!0),typeof Z.latitude=="number"&&b(vt,Z.latitude,!0),typeof Z.longitude=="number"&&b(Ce,Z.longitude,!0),typeof Z.timezone=="string"&&b(rt,Z.timezone,!0),typeof Z.verbosity=="string"&&b(Ht,Z.verbosity,!0),typeof Z.dbPath=="string"&&b(Ye,Z.dbPath,!0),typeof Z.dbPrefix=="string"&&b(ge,Z.dbPrefix,!0),typeof Z.dbPublish=="boolean"&&b(lt,Z.dbPublish,!0),typeof Z.dbRetain=="boolean"&&b(Nt,Z.dbRetain,!0);const re=Z.redis;re!=null&&re.url&&b(ti,re.url,!0);const ae=Z.ai;ae!=null&&ae.provider&&b(Pt,ae.provider,!0),ae!=null&&ae.baseUrl&&b(Ct,ae.baseUrl,!0),ae!=null&&ae.model&&b(_i,ae.model,!0),ae!=null&&ae.apiKey&&b(fi,ae.apiKey,!0),b(Lt,Mi(c(Pt),c(Ct)),!0),Ti=c(Lt),b(di,Object.fromEntries(Object.entries(Z).filter(([Ve])=>!vi.has(Ve))),!0)}catch(Z){b(Ri,Z.message,!0)}finally{b(yi,!1)}});async function Ue(){if(b(ie,""),b(oe,""),c(D)==="password"&&!c(P)){b(ie,"A password is required to enable password authentication.");return}b(z,!0);try{await C7(c(D),c(D)==="password"?c(P):void 0,c(D)==="proxy"?c(A):void 0,c(D)==="proxy"?c(q):void 0),b(P,""),b(oe,"Authentication settings saved.")}catch(Z){b(ie,Z.message,!0)}finally{b(z,!1)}}async function zt(){b(Ri,""),b(on,"");const Z={...c(di)};c(s)&&(Z.url=`${c(n)}://${c(s)}`),Z.name=c(g),Z.variablePrefix=c(p),c(w)&&(Z.mqttVersion=c(w)),c(y)&&(Z.disableVariables=!0),c(r)&&(Z.mqttUsername=c(r)),c(a)&&(Z.mqttPassword=c(a)),c(d)&&(Z.mqttCa=c(d)),c(u)&&(Z.mqttCert=c(u)),c(f)&&(Z.mqttKey=c(f)),c(x)!==""&&(Z.port=Number(c(x))),c(k)&&(Z.bindAddress=c(k)),c(be)&&(Z.dir=c(be)),c(ye)&&(Z.disableWatch=!0),c(qe)&&(Z.gitAutoCommit=!0),c(Oe)&&(Z.gitAutoPush=!0),c(vt)!==""&&(Z.latitude=Number(c(vt))),c(Ce)!==""&&(Z.longitude=Number(c(Ce))),c(rt)&&(Z.timezone=c(rt)),Z.verbosity=c(Ht),c(Ye)&&(Z.dbPath=c(Ye),c(ge)&&(Z.dbPrefix=c(ge)),c(lt)&&(Z.dbPublish=!0,c(Nt)&&(Z.dbRetain=!0))),c(ti)&&(Z.redis={url:c(ti)}),c(Pt)&&(Z.ai={provider:c(Pt),...c(Ct)?{baseUrl:c(Ct)}:{},...c(_i)?{model:c(_i)}:{},...c(fi)?{apiKey:c(fi)}:{}}),b(Oi,!0);try{const re=await Xp(Z);window.dispatchEvent(new CustomEvent("she:config-changed")),b(on,re.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(re){b(Ri,re.message,!0)}finally{b(Oi,!1)}}var ui=fZ(),xi=St(ui);ks(Gu(xi,{}),Z=>Je=Z,()=>Je);var ki=v(xi,2),mn=m(ki),Ii=m(mn),nt=v(m(Ii),2),Et=v(Ii,2);ai(Et,21,()=>nn,Z=>Z.id,(Z,re)=>{var ae=Ms(),Ve=St(ae);{var et=We=>{var bt=WK();let Vt;var Ft=m(bt);V(()=>{Vt=Tt(bt,1,"section-link svelte-767znw",null,Vt,{active:c(Fi)===c(re).id}),O(Ft,c(re).label)}),U("click",bt,()=>Cn(c(re).id)),E(We,bt)},Be=dt(()=>c(Hi).some(We=>We.id===c(re).id));H(Ve,We=>{c(Be)&&We(et)})}E(Z,ae)});var Me=v(mn,2),Q=m(Me),Ae=v(m(Q),2);{var ot=Z=>{var re=BK(),ae=m(re);V(()=>O(ae,c(Ri))),E(Z,re)};H(Ae,Z=>{c(Ri)&&Z(ot)})}var at=v(Ae,2);{var ht=Z=>{var re=zK(),ae=m(re);V(()=>O(ae,c(on))),E(Z,re)};H(at,Z=>{c(on)&&Z(ht)})}var F=v(at,2),ne=m(F),he=v(Q,2);{var He=Z=>{var re=VK();E(Z,re)},Ze=Z=>{var re=hZ(),ae=m(re);{var Ve=ee=>{var le=jK(),ze=v(m(le),2),ce=v(m(ze),2),we=m(ce);we.value=we.__value="dark";var st=v(we);st.value=st.__value="light";var j=v(st);j.value=j.__value="system",U("change",ce,()=>PK(c(t))),fo(ce,()=>c(t),te=>b(t,te)),E(ee,le)},et=dt(()=>c(Hi).some(ee=>ee.id==="appearance"));H(ae,ee=>{c(et)&&ee(Ve)})}var Be=v(ae,2);{var We=ee=>{var le=UK(),ze=v(m(le),2),ce=m(ze),we=v(m(ce));Nn(we,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var st=v(ce,2),j=m(st);j.value=j.__value="mqtt";var te=v(j);te.value=te.__value="mqtts";var fe=v(te);fe.value=fe.__value="ws";var Te=v(fe);Te.value=Te.__value="wss";var Ie=v(ze,2),Ee=m(Ie),kt=v(m(Ee));Nn(kt,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var ct=v(Ee,2),Ke=v(Ie,2),Mt=m(Ke),it=v(m(Mt));Nn(it,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var ve=v(Mt,2),Re=v(Ke,2),Pe=m(Re),je=v(m(Pe));Nn(je,()=>"MQTT broker password. Stored in plain text in config.json.");var Dt=v(Pe,2),Le=v(Re,2);{var Ge=Xn=>{var Zo=$K(),ur=St(Zo),gn=m(ur),Ds=v(m(gn));Nn(Ds,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var fs=v(gn,2),ns=v(ur,2),Ts=m(ns),Wr=v(m(Ts));Nn(Wr,()=>"PEM-encoded client certificate for mutual TLS authentication.");var Za=v(Ts,2),Fl=v(ns,2),Xa=m(Fl),Xo=v(m(Xa));Nn(Xo,()=>"PEM-encoded private key matching the client certificate.");var Br=v(Xa,2);Qt(fs,()=>c(d),zr=>b(d,zr)),Qt(Za,()=>c(u),zr=>b(u,zr)),Qt(Br,()=>c(f),zr=>b(f,zr)),E(Xn,Zo)};H(Le,Xn=>{(c(n)==="mqtts"||c(n)==="wss")&&Xn(Ge)})}var ft=v(Le,2),gt=m(ft),tt=v(m(gt));Nn(tt,()=>"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 Gt=v(gt,2),Xt=m(Gt);Xt.value=Xt.__value="";var an=v(Xt);an.value=an.__value="5";var $i=v(ft,2),pn=m($i),Wn=v(m(pn));Nn(Wn,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var Vi=v(pn,2),ri=v($i,2),ln=m(ri),en=v(m(ln));Nn(en,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var es=v(ln,2),Bs=v(ri,2),ho=v(m(Bs),2),Ko=m(ho),dr=v(Ko,4);Nn(dr,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),fo(st,()=>c(n),Xn=>b(n,Xn)),Qt(ct,()=>c(s),Xn=>b(s,Xn)),Qt(ve,()=>c(r),Xn=>b(r,Xn)),Qt(Dt,()=>c(a),Xn=>b(a,Xn)),fo(Gt,()=>c(w),Xn=>b(w,Xn)),Qt(Vi,()=>c(g),Xn=>b(g,Xn)),Qt(es,()=>c(p),Xn=>b(p,Xn)),xs(Ko,()=>c(y),Xn=>b(y,Xn)),E(ee,le)},bt=dt(()=>c(Hi).some(ee=>ee.id==="mqtt"));H(Be,ee=>{c(bt)&&ee(We)})}var Vt=v(Be,2);{var Ft=ee=>{var le=XK(),ze=v(m(le),2),ce=m(ze),we=v(m(ce));Nn(we,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var st=v(ce,2),j=m(st);j.value=j.__value="none";var te=v(j);te.value=te.__value="password";var fe=v(te);fe.value=fe.__value="proxy";var Te=v(ze,2);{var Ie=je=>{var Dt=qK(),Le=m(Dt),Ge=m(Le),ft=v(Ge);Nn(ft,()=>"Set a new password. Leave empty to keep the current password (if already set).");var gt=v(Le,2);V(()=>O(Ge,`${c(P)?"New password":"Password"} `)),Qt(gt,()=>c(P),tt=>b(P,tt)),E(je,Dt)};H(Te,je=>{c(D)==="password"&&je(Ie)})}var Ee=v(Te,2);{var kt=je=>{var Dt=GK(),Le=St(Dt),Ge=m(Le),ft=v(m(Ge));Nn(ft,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var gt=v(Ge,2),tt=v(Le,2),Gt=m(tt),Xt=v(m(Gt));Nn(Xt,()=>"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 an=v(Gt,2);Qt(gt,()=>c(A),$i=>b(A,$i)),Qt(an,()=>c(q),$i=>b(q,$i)),E(je,Dt)};H(Ee,je=>{c(D)==="proxy"&&je(kt)})}var ct=v(Ee,2);{var Ke=je=>{var Dt=KK(),Le=m(Dt);V(()=>O(Le,c(ie))),E(je,Dt)};H(ct,je=>{c(ie)&&je(Ke)})}var Mt=v(ct,2);{var it=je=>{var Dt=ZK(),Le=m(Dt);V(()=>O(Le,c(oe))),E(je,Dt)};H(Mt,je=>{c(oe)&&je(it)})}var ve=v(Mt,2),Re=v(m(ve),2),Pe=m(Re);V(()=>{Re.disabled=c(z)||c(D)==="password"&&!c(P),O(Pe,c(z)?"Saving…":"Apply authentication settings")}),fo(st,()=>c(D),je=>b(D,je)),U("click",Re,Ue),E(ee,le)},ii=dt(()=>c(Hi).some(ee=>ee.id==="auth"));H(Vt,ee=>{c(ii)&&ee(Ft)})}var pi=v(Vt,2);{var si=ee=>{var le=YK(),ze=v(m(le),2),ce=m(ze),we=v(m(ce));Nn(we,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var st=v(ce,2),j=v(ze,2),te=m(j),fe=v(m(te));Nn(fe,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var Te=v(te,2);Qt(st,()=>c(x),Ie=>b(x,Ie)),Qt(Te,()=>c(k),Ie=>b(k,Ie)),E(ee,le)},wi=dt(()=>c(Hi).some(ee=>ee.id==="webserver"));H(pi,ee=>{c(wi)&&ee(si)})}var Ei=v(pi,2);{var Pi=ee=>{var le=QK(),ze=v(m(le),2),ce=m(ze),we=v(m(ce));Nn(we,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var st=v(ce,2),j=v(ze,2),te=v(m(j),2),fe=m(te),Te=v(fe,4);Nn(Te,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),V(()=>Ai(st,"placeholder",`${c(i)??""}/scripts (default)`)),Qt(st,()=>c(be),Ie=>b(be,Ie)),xs(fe,()=>c(ye),Ie=>b(ye,Ie)),E(ee,le)},Ki=dt(()=>c(Hi).some(ee=>ee.id==="scripts"));H(Ei,ee=>{c(Ki)&&ee(Pi)})}var zi=v(Ei,2);{var ke=ee=>{var le=JK(),ze=v(m(le),2),ce=v(m(ze),2),we=m(ce),st=v(we,4);Nn(st,()=>"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 j=v(ze,2),te=v(m(j),2),fe=m(te),Te=v(fe,4);Nn(Te,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),xs(we,()=>c(qe),Ie=>b(qe,Ie)),xs(fe,()=>c(Oe),Ie=>b(Oe,Ie)),E(ee,le)},Qe=dt(()=>c(Hi).some(ee=>ee.id==="git"));H(zi,ee=>{c(Qe)&&ee(ke)})}var xt=v(zi,2);{var jt=ee=>{var le=tZ(),ze=v(m(le),2),ce=m(ze),we=v(m(ce));Nn(we,()=>"IANA timezone for cron scheduling (e.g. Europe/Berlin). Leave empty to use the system timezone. Requires daemon restart.");var st=v(ce,2),j=v(st,2);ai(j,20,()=>{var gt;return((gt=Intl.supportedValuesOf)==null?void 0:gt.call(Intl,"timeZone"))??[]},Wi,(gt,tt)=>{var Gt=cD(),Xt=m(Gt),an={};V(()=>{O(Xt,tt),an!==(an=tt)&&(Gt.value=(Gt.__value=tt)??"")}),E(gt,Gt)});var te=v(ze,2),fe=m(te),Te=v(m(fe));Nn(Te,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Ie=v(fe,2),Ee=v(te,2),kt=m(Ee),ct=v(m(kt));Nn(ct,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Ke=v(kt,2),Mt=v(Ee,2),it=v(m(Mt),2),ve=m(it),Re=m(ve);{var Pe=gt=>{var tt=Dr("…");E(gt,tt)},je=gt=>{var tt=Dr("📍 Use my location");E(gt,tt)};H(Re,gt=>{c(Rt)?gt(Pe):gt(je,-1)})}var Dt=v(ve,2),Le=m(Dt),Ge=v(Mt,2);{var ft=gt=>{var tt=eZ(),Gt=v(m(tt),2);ks(Gt,Xt=>b(ut,Xt),()=>c(ut)),E(gt,tt)};H(Ge,gt=>{c(yt)&&gt(ft)})}V(()=>{ve.disabled=c(Rt),O(Le,c(yt)?"Hide map":"Pick on map")}),Qt(st,()=>c(rt),gt=>b(rt,gt)),Qt(Ie,()=>c(vt),gt=>b(vt,gt)),Qt(Ke,()=>c(Ce),gt=>b(Ce,gt)),U("click",ve,$t),U("click",Dt,()=>b(yt,!c(yt))),E(ee,le)},Si=dt(()=>c(Hi).some(ee=>ee.id==="solar"));H(xt,ee=>{c(Si)&&ee(jt)})}var gi=v(xt,2);{var li=ee=>{var le=iZ(),ze=v(m(le),2),ce=m(ze),we=v(m(ce));Nn(we,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var st=v(ce,2),j=m(st);j.value=j.__value="debug";var te=v(j);te.value=te.__value="info";var fe=v(te);fe.value=fe.__value="warn";var Te=v(fe);Te.value=Te.__value="error",fo(st,()=>c(Ht),Ie=>b(Ht,Ie)),E(ee,le)},It=dt(()=>c(Hi).some(ee=>ee.id==="logging"));H(gi,ee=>{c(It)&&ee(li)})}var oi=v(gi,2);{var N=ee=>{var le=sZ(),ze=v(m(le),2),ce=m(ze),we=v(m(ce));Nn(we,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var st=v(ce,2),j=v(ze,2),te=m(j),fe=v(m(te));Nn(fe,()=>"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 Te=v(te,2),Ie=v(j,2),Ee=v(m(Ie),2);let kt;var ct=m(Ee),Ke=v(ct,4);Nn(Ke,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var Mt=v(Ie,2);{var it=ve=>{var Re=nZ(),Pe=v(m(Re),2);let je;var Dt=m(Pe),Le=v(Dt,4);Nn(Le,()=>"When enabled, MQTT messages for document changes are published as retained messages."),V(()=>{je=Tt(Pe,1,"check-label svelte-767znw",null,je,{muted:!c(Ye)}),Dt.disabled=!c(Ye)}),xs(Dt,()=>c(Nt),Ge=>b(Nt,Ge)),E(ve,Re)};H(Mt,ve=>{c(lt)&&ve(it)})}V(()=>{Ai(st,"placeholder",`defaults to ${c(i)??""}/db`),Te.disabled=!c(Ye),kt=Tt(Ee,1,"check-label svelte-767znw",null,kt,{muted:!c(Ye)}),ct.disabled=!c(Ye)}),Qt(st,()=>c(Ye),ve=>b(Ye,ve)),Qt(Te,()=>c(ge),ve=>b(ge,ve)),xs(ct,()=>c(lt),ve=>b(lt,ve)),E(ee,le)},Y=dt(()=>c(Hi).some(ee=>ee.id==="shedb"));H(oi,ee=>{c(Y)&&ee(N)})}var pe=v(oi,2);{var K=ee=>{var le=oZ(),ze=v(m(le),2),ce=m(ze),we=v(m(ce));Nn(we,()=>"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 st=v(ce,2);Qt(st,()=>c(ti),j=>b(ti,j)),E(ee,le)},B=dt(()=>c(Hi).some(ee=>ee.id==="redis"));H(pe,ee=>{c(B)&&ee(K)})}var G=v(pe,2);{var se=ee=>{var le=uZ(),ze=v(m(le),2),ce=m(ze),we=v(m(ce));Nn(we,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var st=v(ce,2);ai(st,21,()=>Ot,Wi,(it,ve)=>{var Re=cD(),Pe=m(Re),je={};V(()=>{O(Pe,c(ve).label),je!==(je=c(ve).id)&&(Re.value=(Re.__value=c(ve).id)??"")}),E(it,Re)});var j=v(ze,2);{var te=it=>{var ve=lZ();let Re;var Pe=m(ve);{var je=Ge=>{var ft=rZ(),gt=v(St(ft));V(()=>O(gt,` ${c(Ci).freeNote??""}`)),E(Ge,ft)};H(Pe,Ge=>{c(Ci).freeNote&&Ge(je)})}var Dt=v(Pe,2);{var Le=Ge=>{var ft=aZ(),gt=v(St(ft));V(()=>Ai(gt,"href",c(Ci).apiKeyUrl)),E(Ge,ft)};H(Dt,Ge=>{c(Ci).apiKeyUrl&&Ge(Le)})}V(()=>Re=Tt(ve,1,"preset-note svelte-767znw",null,Re,{free:!!c(Ci).freeNote})),E(it,ve)};H(j,it=>{var ve,Re;((ve=c(Ci))!=null&&ve.freeNote||(Re=c(Ci))!=null&&Re.apiKeyUrl)&&it(te)})}var fe=v(j,2);{var Te=it=>{var ve=cZ(),Re=m(ve),Pe=v(m(Re));Nn(Pe,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var je=v(Re,2);V(()=>{var Dt;return Ai(je,"placeholder",c(Lt)==="ollama"?"http://localhost:11434":c(Lt)==="lmstudio"?"http://localhost:1234":((Dt=c(Ci))==null?void 0:Dt.baseUrl)??"")}),Qt(je,()=>c(Ct),Dt=>b(Ct,Dt)),E(it,ve)};H(fe,it=>{c(Lt)!=="anthropic"&&it(Te)})}var Ie=v(fe,2),Ee=m(Ie),kt=v(m(Ee));Nn(kt,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var ct=v(Ee,2),Ke=v(Ie,2);{var Mt=it=>{var ve=dZ(),Re=m(ve),Pe=v(m(Re));Nn(Pe,()=>"Stored in config.json. Not needed for local providers.");var je=v(Re,2);Qt(je,()=>c(fi),Dt=>b(fi,Dt)),E(it,ve)};H(Ke,it=>{c(Lt)!=="ollama"&&c(Lt)!=="lmstudio"&&it(Mt)})}V(()=>{var it;return Ai(ct,"placeholder",((it=c(Ci))==null?void 0:it.defaultModel)||"e.g. llama3.2")}),U("change",st,Ni),fo(st,()=>c(Lt),it=>b(Lt,it)),Qt(ct,()=>c(_i),it=>b(_i,it)),E(ee,le)},xe=dt(()=>c(Hi).some(ee=>ee.id==="ai"));H(G,ee=>{c(xe)&&ee(se)})}E(Z,re)};H(he,Z=>{c(yi)?Z(He):Z(Ze,-1)})}V(()=>{F.disabled=c(Oi),O(ne,c(Oi)?"Saving…":"Save")}),Qt(nt,()=>c(Gi),Z=>b(Gi,Z)),U("click",F,zt),E(o,ui),Hs()}Qs(["click","change"]);var pZ=T("<option> </option>"),_Z=T('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),mZ=T('<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 vZ(o,e){Fs(e,!0);let t=M(mi(JN())),i,n=M(!0),s=M("all"),r=M(""),a=M(!1);const d=["all","debug","info","warn","error"],u={debug:0,info:1,warn:2,error:3};Ek(ie=>{b(t,[...c(t).slice(-1999),ie],!0)}),co(()=>{i&&(i.scrollTop=i.scrollHeight)}),Vn(()=>{c(t).length,c(n)&&i&&(i.scrollTop=i.scrollHeight)});function f(){b(t,[],!0)}function g(ie){if(c(s)!=="all"&&u[ie.level]<u[c(s)])return!1;if(!c(r))return!0;if(c(a))try{return new RegExp(c(r),"i").test(ie.msg)}catch{}return ie.msg.toLowerCase().includes(c(r).toLowerCase())}function p(ie){return new Date(ie).toLocaleTimeString()}var w=mZ(),y=m(w),x=v(m(y),2);ai(x,21,()=>d,Wi,(ie,be)=>{var ye=pZ(),qe=m(ye),Oe={};V(()=>{O(qe,c(be)),Oe!==(Oe=c(be))&&(ye.value=(ye.__value=c(be))??"")}),E(ie,ye)});var k=v(x,2),D=v(k,2),P=m(D),A=v(D,2),q=m(A),z=v(A,2),oe=v(y,2);ai(oe,21,()=>c(t).filter(g),ie=>ie.ts+ie.msg,(ie,be)=>{var ye=_Z(),qe=m(ye),Oe=m(qe),rt=v(qe,2),vt=m(rt),Ce=v(rt,2),yt=m(Ce);V((ut,Rt)=>{Tt(ye,1,`line ${c(be).level??""}`,"svelte-18loop9"),O(Oe,ut),O(vt,Rt),O(yt,c(be).msg)},[()=>p(c(be).ts),()=>c(be).level.toUpperCase()]),E(ie,ye)}),ks(oe,ie=>i=ie,()=>i),fo(x,()=>c(s),ie=>b(s,ie)),Qt(k,()=>c(r),ie=>b(r,ie)),xs(P,()=>c(a),ie=>b(a,ie)),xs(q,()=>c(n),ie=>b(n,ie)),U("click",z,f),E(o,w),Hs()}Qs(["click"]);var bZ=T('<span class="chat-model svelte-1twuiul"><!></span>'),yZ=T('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),wZ=T('<div class="unconfigured svelte-1twuiul">Configure an AI provider in the <strong class="svelte-1twuiul">Config</strong> tab to use the AI assistant.</div>'),SZ=T('Working on view <code class="svelte-1twuiul"> </code>',1),CZ=T('<button class="chip svelte-1twuiul"> </button>'),xZ=T('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),kZ=T('<div class="msg-content user-text svelte-1twuiul"> </div>'),dD=T('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),uD=T('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),hD=T('<div class="tool-events svelte-1twuiul"></div>'),fD=T('<div class="text-block svelte-1twuiul"></div>'),LZ=T('<button class="expand-btn svelte-1twuiul"> </button>'),IZ=T('<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>'),EZ=T('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),DZ=T('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),TZ=T("<div><!></div>"),PZ=T('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),MZ=T('<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>'),RZ=T('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),NZ=T('<div class="chat-error svelte-1twuiul"> </div>'),AZ=T('<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>'),OZ=T('<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>'),FZ=T('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),HZ=T('<button class="send-btn svelte-1twuiul">↑</button>'),WZ=T('<option class="svelte-1twuiul"> </option>'),BZ=T('<select class="model-select svelte-1twuiul"></select>'),zZ=T('<span class="model-name svelte-1twuiul"> </span>'),VZ=T('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),jZ=T('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),$Z=T('<p class="info-status svelte-1twuiul">Loading…</p>'),UZ=T('<p class="info-status info-err svelte-1twuiul"> </p>'),qZ=T('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),GZ=T('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),KZ=T('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),ZZ=T('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),XZ=T('<div class="running-model svelte-1twuiul"> </div>'),YZ=T('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),QZ=T('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),JZ=T('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),eX=T('<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>'),tX=T('<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 iX(o,e){Fs(e,!0),pb.registerLanguage("javascript",oA),qn.use({breaks:!0,gfm:!0});let t=Su(e,"currentView",3,null);const i="she:viewchat:messages";let n=M(mi(JSON.parse(localStorage.getItem(i)??"[]"))),s=M(null),r=M(""),a=M(!1),d=M(""),u=M(null),f=M(mi([])),g=M(mi(localStorage.getItem("she:selectedModel")??""));Vn(()=>{localStorage.setItem(i,JSON.stringify(c(n)))});let p=M(mi(new Set)),w=M(!1),y=M(null),x=M(!1),k=M(""),D=null,P=M(0);const A=["[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 q=M(!0),z=M(!0),oe=M(!0),ie=M(mi([])),be=M(!0),ye=M(!1),qe,Oe=M(mi([])),rt=M(0),vt,Ce;const yt=dt(()=>({apiref:!1,shedb:c(q),sampleDocs:c(z),tools:c(oe)})),ut=dt(()=>{var N;return((N=c(u))==null?void 0:N.configured)??!1}),Rt=dt(()=>c(rt)+new TextEncoder().encode(c(r)).length),Fe=dt(()=>c(be)?t():null);async function Ht(){try{const N=await UN();b(u,N,!0),N.configured&&!c(g)&&b(g,N.model,!0)}catch{}}Vn(()=>(window.addEventListener("she:config-changed",Ht),()=>window.removeEventListener("she:config-changed",Ht))),co(()=>{Ht()}),Vn(()=>{c(g)&&localStorage.setItem("she:selectedModel",c(g))}),Vn(()=>{var N;(N=c(u))!=null&&N.provider&&qN().then(Y=>{b(f,Y.models,!0),!c(g)&&Y.models.length>0&&b(g,Y.models[0],!0)}).catch(()=>{})}),Vn(()=>{c(g),b(y,null),b(k,"")}),Vn(()=>{const N=c(yt),Y=c(Fe),pe=c(ie);c(ut)&&GN({context:N,currentView:Y??null,extraFiles:pe.length>0?pe:void 0}).then(K=>{b(rt,new TextEncoder().encode(K.prompt).length,!0)}).catch(()=>{})}),Vn(()=>{if(!c(a))return;b(P,Math.floor(Math.random()*A.length),!0);const N=setInterval(()=>{b(P,(c(P)+1)%A.length)},1e4);return()=>clearInterval(N)}),Vn(()=>{var N;Ce&&(c(n).length+(((N=c(s))==null?void 0:N.length)??0),requestAnimationFrame(()=>{Ce&&(Ce.scrollTop=Ce.scrollHeight)}))});function Ye(N){const Y=[],pe=/```(\w*)\n([\s\S]*?)```/g;let K=0,B;for(;(B=pe.exec(N))!==null;)B.index>K&&Y.push({type:"text",text:N.slice(K,B.index)}),Y.push({type:"code",lang:B[1]||"text",text:B[2].trimEnd()}),K=B.index+B[0].length;return K<N.length&&Y.push({type:"text",text:N.slice(K)}),Y}function ge(N){const Y=[],pe=/```(\w*)\n([\s\S]*?)```/g;let K=0,B;for(;(B=pe.exec(N))!==null;)B.index>K&&Y.push({type:"text",text:N.slice(K,B.index)}),Y.push({type:"code",lang:B[1]||"text",text:B[2].trimEnd()}),K=B.index+B[0].length;const G=N.slice(K),se=G.match(/```(\w*)\n([\s\S]*)$/);return se?(se.index>0&&Y.push({type:"text",text:G.slice(0,se.index)}),Y.push({type:"code",lang:se[1]||"text",text:se[2]})):G&&Y.push({type:"text",text:G}),Y}function lt(N){const Y={};for(const pe of N)if(pe.type==="code"){if(pe.lang==="filter")Y.filter=pe.text.trim();else if(fi(pe.lang)){const K=pe.text.split(`
223
+ `)[0].trim();K==="// @view-map"?Y.map=pe.text.split(`
224
+ `).slice(1).join(`
225
+ `).trim():K==="// @view-reduce"&&(Y.reduce=pe.text.split(`
226
+ `).slice(1).join(`
227
+ `).trim())}}return Y}function Nt(N){return N.filter!==void 0||N.map!==void 0||N.reduce!==void 0}function ti(N){const Y=[];return N.filter!==void 0&&Y.push("filter"),N.map!==void 0&&Y.push("map"),N.reduce!==void 0&&Y.push("reduce"),`Apply ${Y.join(" + ")}`}const Ot=15;function Lt(N){return N.split(`
228
+ `).length>Ot}function Pt(N){const Y=new Set(c(p));Y.has(N)?Y.delete(N):Y.add(N),b(p,Y,!0)}function Ct(N,Y){if(fi(Y))try{return pb.highlight(N,{language:"javascript"}).value}catch{}return N.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function _i(N){return qn.parse(N)}function fi(N){return!N||N==="js"||N==="javascript"}function Zt(N){navigator.clipboard.writeText(N).catch(()=>{})}async function Ti(){if(b(w,!0),!(c(y)||c(x))){b(x,!0),b(k,"");try{b(y,await Nx(c(g)||c(u).model),!0)}catch(N){b(k,N.message,!0)}b(x,!1)}}function Mi(N){return N>=1e9?`${(N/1e9).toFixed(1)} GB`:N>=1e6?`${(N/1e6).toFixed(0)} MB`:`${N} B`}function Ni(N){const Y=N.match(/\.([^.]+)$/);return Y?Y[1].toUpperCase():"?"}function Ci(N){switch(N){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return N}}function di(N){b(ie,c(ie).filter((Y,pe)=>pe!==N),!0)}function vi(){qe.click()}async function Je(N){if(!(!N||N.length===0))for(const Y of Array.from(N)){const pe=await Y.text();b(ie,[...c(ie),{name:Y.name,content:pe}],!0)}}function $t(N){const Y=N.target;Je(Y.files),Y.value=""}function yi(N){var Y;N.preventDefault(),b(ye,!1),Je(((Y=N.dataTransfer)==null?void 0:Y.files)??null)}function Oi(N){var Y;(Y=N.dataTransfer)!=null&&Y.types.includes("Files")&&(N.preventDefault(),b(ye,!0))}function on(){b(ye,!1)}async function Ri(){const N=c(r).trim();if(!(!N||c(a))){b(r,""),b(d,""),b(a,!0),b(n,[...c(n),{role:"user",content:N}],!0),D=new AbortController,b(Oe,[],!0);try{await KN({messages:c(n),currentView:c(Fe),context:c(yt),modelOverride:c(g)||void 0,extraFiles:c(ie).length>0?c(ie):void 0},Y=>{b(s,(c(s)??"")+Y)},D.signal,Y=>{b(Oe,[...c(Oe),Y],!0)}),b(n,[...c(n),{role:"assistant",content:c(s)??"",toolEvents:c(Oe).length>0?[...c(Oe)]:void 0}],!0),b(Oe,[],!0)}catch(Y){if(Y.name==="AbortError"){const pe=c(s);pe!=null&&pe.trim()&&b(n,[...c(n),{role:"assistant",content:pe+`
229
+
230
+ *[stopped]*`,toolEvents:c(Oe).length>0?[...c(Oe)]:void 0}],!0)}else b(d,Y.message,!0)}finally{D=null,b(s,null),b(Oe,[],!0),b(a,!1)}}}function Gi(){D==null||D.abort()}function Fi(N){N.key==="Enter"&&!N.shiftKey&&(N.preventDefault(),Ri())}function nn(){b(n,[],!0),b(d,"")}const Hi=["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 Cn(N){b(r,N,!0),vt==null||vt.focus()}var Ue=tX(),zt=St(Ue),ui=m(zt),xi=v(m(ui),2);{var ki=N=>{var Y=bZ(),pe=m(Y);{var K=G=>{var se=Dr();V(()=>O(se,`${c(u).provider??""} · ${(c(g)||c(u).model)??""}`)),E(G,se)},B=G=>{var se=Dr("Not configured");E(G,se)};H(pe,G=>{c(ut)?G(K):G(B,-1)})}V(()=>Ai(Y,"title",`Provider: ${c(u).provider??""}`)),E(N,Y)};H(xi,N=>{c(u)&&N(ki)})}var mn=v(xi,2);{var Ii=N=>{var Y=yZ();U("click",Y,nn),E(N,Y)};H(mn,N=>{c(n).length>0&&N(Ii)})}var nt=v(ui,2),Et=m(nt);{var Me=N=>{var Y=wZ();E(N,Y)},Q=N=>{var Y=xZ(),pe=m(Y),K=m(pe);{var B=xe=>{var ee=SZ(),le=v(St(ee)),ze=m(le);V(()=>O(ze,t().id)),E(xe,ee)},G=xe=>{var ee=Dr("No view selected. Ask a general sheDB view question.");E(xe,ee)};H(K,xe=>{t()?xe(B):xe(G,-1)})}var se=v(pe,2);ai(se,17,()=>Hi,Wi,(xe,ee)=>{var le=CZ(),ze=m(le);V(()=>O(ze,c(ee))),U("click",le,()=>Cn(c(ee))),E(xe,le)}),E(N,Y)};H(Et,N=>{c(ut)?c(n).length===0&&c(s)===null&&N(Q,1):N(Me)})}var Ae=v(Et,2);ai(Ae,17,()=>c(n),Wi,(N,Y,pe)=>{var K=TZ(),B=m(K);{var G=xe=>{var ee=kZ(),le=m(ee);V(()=>O(le,c(Y).content)),E(xe,ee)},se=xe=>{const ee=dt(()=>Ye(c(Y).content)),le=dt(()=>lt(c(ee)));var ze=DZ(),ce=St(ze);{var we=Ie=>{var Ee=hD();ai(Ee,21,()=>c(Y).toolEvents,Wi,(kt,ct)=>{var Ke=Ms(),Mt=St(Ke);{var it=Re=>{var Pe=dD(),je=v(m(Pe)),Dt=m(je);V(Le=>O(Dt,Le),[()=>c(ct).name.replace(/_/g," ")]),E(Re,Pe)},ve=Re=>{var Pe=uD(),je=v(m(Pe)),Dt=m(je);V(Le=>O(Dt,Le),[()=>c(ct).name.replace(/_/g," ")]),E(Re,Pe)};H(Mt,Re=>{c(ct).type==="tool_call"?Re(it):Re(ve,-1)})}E(kt,Ke)}),E(Ie,Ee)};H(ce,Ie=>{var Ee;(Ee=c(Y).toolEvents)!=null&&Ee.length&&Ie(we)})}var st=v(ce,2),j=m(st);ai(j,17,()=>c(ee),Wi,(Ie,Ee,kt)=>{var ct=Ms(),Ke=St(ct);{var Mt=ve=>{var Re=fD();sc(Re,()=>_i(c(Ee).text),!0),E(ve,Re)},it=ve=>{const Re=dt(()=>`${pe}:${kt}`),Pe=dt(()=>Lt(c(Ee).text)),je=dt(()=>c(p).has(c(Re))),Dt=dt(()=>c(Ee).lang==="filter");var Le=IZ(),Ge=m(Le),ft=m(Ge),gt=m(ft),tt=v(ft,2),Gt=m(tt),Xt=v(Ge,2);let an;var $i=m(Xt),pn=m($i);sc(pn,()=>Ct(c(Ee).text,c(Ee).lang??""),!0);var Wn=v($i,2);{var Vi=ri=>{var ln=LZ(),en=m(ln);V(()=>O(en,c(je)?"▲ collapse":"▼ expand")),U("click",ln,()=>Pt(c(Re))),E(ri,ln)};H(Wn,ri=>{c(Pe)&&ri(Vi)})}V(()=>{O(gt,c(Dt)?"filter":c(Ee).lang),an=Tt(Xt,1,"code-body svelte-1twuiul",null,an,{collapsed:c(Pe)&&!c(je)})}),U("click",Gt,()=>Zt(c(Ee).text)),E(ve,Le)};H(Ke,ve=>{c(Ee).type==="text"?ve(Mt):ve(it,-1)})}E(Ie,ct)});var te=v(j,2);{var fe=Ie=>{var Ee=EZ(),kt=m(Ee),ct=m(kt);V(Ke=>O(ct,Ke),[()=>ti(c(le))]),U("click",kt,()=>e.onApplyView(c(le))),E(Ie,Ee)},Te=dt(()=>Nt(c(le))&&e.onApplyView);H(te,Ie=>{c(Te)&&Ie(fe)})}E(xe,ze)};H(B,xe=>{c(Y).role==="user"?xe(G):xe(se,-1)})}V(()=>Tt(K,1,`message ${c(Y).role??""}`,"svelte-1twuiul")),E(N,K)});var ot=v(Ae,2);{var at=N=>{var Y=hD();ai(Y,21,()=>c(Oe),Wi,(pe,K)=>{var B=Ms(),G=St(B);{var se=ee=>{var le=dD(),ze=v(m(le)),ce=m(ze);V(we=>O(ce,we),[()=>c(K).name.replace(/_/g," ")]),E(ee,le)},xe=ee=>{var le=uD(),ze=v(m(le)),ce=m(ze);V(we=>O(ce,we),[()=>c(K).name.replace(/_/g," ")]),E(ee,le)};H(G,ee=>{c(K).type==="tool_call"?ee(se):ee(xe,-1)})}E(pe,B)}),E(N,Y)};H(ot,N=>{c(Oe).length>0&&N(at)})}var ht=v(ot,2);{var F=N=>{var Y=PZ(),pe=m(Y),K=m(pe),B=m(K);V(()=>O(B,A[c(P)])),E(N,Y)};H(ht,N=>{c(a)&&c(s)===null&&c(Oe).length===0&&N(F)})}var ne=v(ht,2);{var he=N=>{var Y=RZ(),pe=m(Y);ai(pe,21,()=>ge(c(s)),Wi,(K,B)=>{var G=Ms(),se=St(G);{var xe=le=>{var ze=fD();sc(ze,()=>_i(c(B).text),!0),E(le,ze)},ee=le=>{var ze=MZ(),ce=m(ze),we=m(ce),st=m(we),j=v(ce,2),te=m(j);sc(te,()=>Ct(c(B).text,c(B).lang??""),!0),V(()=>O(st,c(B).lang)),E(le,ze)};H(se,le=>{c(B).type==="text"?le(xe):le(ee,-1)})}E(K,G)}),E(N,Y)};H(ne,N=>{c(s)!==null&&N(he)})}ks(nt,N=>Ce=N,()=>Ce);var He=v(nt,2);{var Ze=N=>{var Y=NZ(),pe=m(Y);V(()=>O(pe,c(d))),E(N,Y)};H(He,N=>{c(d)&&N(Ze)})}var Z=v(He,2),re=m(Z),ae=m(re),Ve=v(re,2),et=m(Ve),Be=v(Ve,2),We=m(Be),bt=v(Be,2),Vt=m(bt),Ft=v(Z,2),ii=m(Ft);{var pi=N=>{var Y=AZ();let pe;var K=v(m(Y),2),B=m(K),G=v(K,2),se=m(G);V(()=>{pe=Tt(Y,1,"file-chip svelte-1twuiul",null,pe,{inactive:!c(be)}),O(B,t().id),Ai(G,"title",c(be)?"Remove from context":"Re-add to context"),O(se,c(be)?"×":"+")}),U("click",G,()=>b(be,!c(be))),E(N,Y)};H(ii,N=>{t()&&N(pi)})}var si=v(ii,2);ai(si,17,()=>c(ie),Wi,(N,Y,pe)=>{const K=dt(()=>Ni(c(Y).name));var B=OZ(),G=m(B),se=m(G),xe=v(G,2),ee=m(xe),le=v(xe,2);V((ze,ce)=>{Tt(G,1,`badge badge-${ze??""}`,"svelte-1twuiul"),O(se,ce),O(ee,c(Y).name)},[()=>c(K).toLowerCase(),()=>Ci(c(K))]),U("click",le,()=>di(pe)),E(N,B)});var wi=v(si,2),Ei=v(wi,2);ks(Ei,N=>qe=N,()=>qe);var Pi=v(Ft,2);let Ki;var zi=m(Pi);let ke;var Qe=m(zi);ks(Qe,N=>vt=N,()=>vt);var xt=v(zi,2);{var jt=N=>{var Y=FZ();U("click",Y,Gi),E(N,Y)},Si=N=>{var Y=HZ();V(pe=>Y.disabled=pe,[()=>!c(r).trim()||!c(ut)]),U("click",Y,Ri),E(N,Y)};H(xt,N=>{c(a)?N(jt):N(Si,-1)})}var gi=v(Pi,2);{var li=N=>{var Y=jZ(),pe=m(Y),K=m(pe),B=v(pe,2);{var G=le=>{var ze=BZ();ai(ze,21,()=>c(f),Wi,(ce,we)=>{var st=WZ(),j=m(st),te={};V(()=>{O(j,c(we)),te!==(te=c(we))&&(st.value=(st.__value=c(we))??"")}),E(ce,st)}),V(()=>ze.disabled=c(a)),fo(ze,()=>c(g),ce=>b(g,ce)),E(le,ze)},se=le=>{var ze=zZ(),ce=m(ze);V(()=>O(ce,c(g)||c(u).model)),E(le,ze)};H(B,le=>{c(f).length>0?le(G):le(se,-1)})}var xe=v(B,2);{var ee=le=>{var ze=VZ();U("click",ze,Ti),E(le,ze)};H(xe,le=>{c(u).provider==="ollama"&&le(ee)})}V(()=>O(K,c(u).provider)),E(N,Y)};H(gi,N=>{c(ut)&&c(u)&&N(li)})}var It=v(zt,2);{var oi=N=>{var Y=eX(),pe=m(Y),K=m(pe),B=m(K),G=m(B),se=v(B,2),xe=v(K,2),ee=m(xe);{var le=we=>{var st=$Z();E(we,st)},ze=we=>{var st=UZ(),j=m(st);V(()=>O(j,c(k))),E(we,st)},ce=we=>{var st=JZ(),j=m(st);{var te=ve=>{var Re=qZ(),Pe=v(St(Re)),je=m(Pe);V(()=>O(je,c(y).version)),E(ve,Re)};H(j,ve=>{c(y).version&&ve(te)})}var fe=v(j,2);{var Te=ve=>{var Re=GZ(),Pe=v(St(Re)),je=m(Pe);V(()=>O(je,c(y).details.family)),E(ve,Re)};H(fe,ve=>{var Re;(Re=c(y).details)!=null&&Re.family&&ve(Te)})}var Ie=v(fe,2);{var Ee=ve=>{var Re=KZ(),Pe=v(St(Re)),je=m(Pe);V(()=>O(je,c(y).details.parameter_size)),E(ve,Re)};H(Ie,ve=>{var Re;(Re=c(y).details)!=null&&Re.parameter_size&&ve(Ee)})}var kt=v(Ie,2);{var ct=ve=>{var Re=ZZ(),Pe=v(St(Re)),je=m(Pe);V(()=>O(je,c(y).details.quantization_level)),E(ve,Re)};H(kt,ve=>{var Re;(Re=c(y).details)!=null&&Re.quantization_level&&ve(ct)})}var Ke=v(kt,2);{var Mt=ve=>{var Re=YZ(),Pe=v(St(Re),2);ai(Pe,21,()=>c(y).running,Wi,(je,Dt)=>{var Le=XZ(),Ge=m(Le);V(ft=>O(Ge,`${c(Dt).name??""} · ${ft??""} VRAM`),[()=>Mi(c(Dt).size_vram)]),E(je,Le)}),E(ve,Re)},it=ve=>{var Re=QZ();E(ve,Re)};H(Ke,ve=>{c(y).running&&c(y).running.length>0?ve(Mt):c(y).running!==null&&ve(it,1)})}E(we,st)};H(ee,we=>{c(x)?we(le):c(k)?we(ze,1):c(y)&&we(ce,2)})}V(()=>{var we;return O(G,`Ollama · ${(c(g)||((we=c(u))==null?void 0:we.model))??""}`)}),U("click",Y,()=>b(w,!1)),U("click",pe,we=>we.stopPropagation()),U("click",se,()=>b(w,!1)),E(N,Y)};H(It,N=>{c(w)&&N(oi)})}V(N=>{O(Vt,N),Ki=Tt(Pi,1,"input-row svelte-1twuiul",null,Ki,{"drag-over":c(ye)}),ke=Tt(zi,1,"textarea-wrap svelte-1twuiul",null,ke,{loading:c(a)}),Ai(Qe,"placeholder",c(ut)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),Qe.disabled=c(a)||!c(ut)},[()=>Mi(c(Rt))]),xs(ae,()=>c(q),N=>b(q,N)),xs(et,()=>c(z),N=>b(z,N)),xs(We,()=>c(oe),N=>b(oe,N)),U("click",wi,vi),U("change",Ei,$t),ds("dragover",Pi,Oi),ds("dragleave",Pi,on),ds("drop",Pi,yi),U("keydown",Qe,Fi),Qt(Qe,()=>c(r),N=>b(r,N)),E(o,Ue),Hs()}Qs(["click","change","keydown"]);var nX=T('<div class="me svelte-1pxdb1"></div>');function pS(o,e){Fs(e,!0);let t=Su(e,"value",15,""),i=Su(e,"language",3,"javascript"),n,s,r=!1;co(()=>{const d=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=pr.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())})}),Wy(()=>s==null?void 0:s.dispose()),Vn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=nX();ks(a,d=>n=d,()=>n),E(o,a),Hs()}var sX=T('<!> <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),oX=T('<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>'),gD=T('<div class="form-error svelte-rrt0o"> </div>'),rX=T('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),pD=T("<li> </li>"),_D=T('<div class="error-bar svelte-rrt0o"> </div>'),mD=T('<div class="loading svelte-rrt0o">Loading…</div>'),aX=T('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),lX=T('<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),cX=T('<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>'),dX=T('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),uX=T('<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>'),hX=T('<span class="badge-error svelte-rrt0o">error</span>'),fX=T('<span class="badge-ok svelte-rrt0o"> </span>'),gX=T('<pre class="result-error svelte-rrt0o"> </pre>'),pX=T('<pre class="result-json svelte-rrt0o"> </pre>'),_X=T('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),mX=T('<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>'),vX=T('<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),bX=T('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),yX=T('<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>'),wX=T('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function SX(o,e){Fs(e,!0);const t=Me=>{var Q=sX(),Ae=St(Q);ks(Gu(Ae,{}),ot=>Ci=ot,()=>Ci),E(Me,Q)};let i=M(mi([])),n=M(null),s=M("{}"),r=M(!1),a=M(null);const d="she-db-selected-view";let u=M(mi([])),f=M(mi(localStorage.getItem(d))),g=M("#"),p=M("// emit(this.someProperty)"),w=M(""),y=M(""),x=M(!1),k=M(!1),D=M(null),P=M(!1),A=M(null),q=M("she/db/view/");const z="she-db-panel";let oe=M(mi(localStorage.getItem(z)??"docs")),ie=M(""),be=M(!1),ye=M(null),qe=M(""),Oe=M(!1),rt=M(null);const vt="she-db-sidebar-width";let Ce=M(mi(parseInt(localStorage.getItem(vt)??"220",10))),yt=!1,ut=0,Rt=0;const Fe="she-db-chat-width",Ht="she-db-chat-open";let Ye=M(localStorage.getItem(Ht)==="true"),ge=M(mi(parseInt(localStorage.getItem(Fe)??"320",10))),lt=!1,Nt=0,ti=0;const Ot=dt(()=>c(f)?{id:c(f),filter:c(g),map:c(p),reduce:c(w)}:null);function Lt(Me){Me.filter!==void 0&&b(g,Me.filter,!0),Me.map!==void 0&&b(p,Me.map,!0),Me.reduce!==void 0&&b(w,Me.reduce,!0)}Vn(()=>{localStorage.setItem(Ht,String(c(Ye)))}),Vn(()=>{localStorage.setItem(z,c(oe))}),Vn(()=>{c(f)?localStorage.setItem(d,c(f)):localStorage.removeItem(d)});function Pt(Me){yt=!0,ut=Me.clientX,Rt=c(Ce),Me.preventDefault()}function Ct(Me){yt&&b(Ce,Math.max(140,Math.min(500,Rt+Me.clientX-ut)),!0),lt&&b(ge,Math.max(240,Math.min(600,ti-(Me.clientX-Nt))),!0)}function _i(){yt&&(yt=!1,localStorage.setItem(vt,String(c(Ce)))),lt&&(lt=!1,localStorage.setItem(Fe,String(c(ge))))}function fi(Me){lt=!0,Nt=Me.clientX,ti=c(ge),Me.preventDefault()}async function Zt(){try{b(i,await BN(),!0)}catch{}}async function Ti(){try{b(u,await zN(),!0)}catch{}}async function Mi(Me){b(n,Me,!0),b(a,null),b(r,!0);try{const Q=await M7(Me);b(s,JSON.stringify(Q,null,2),!0)}catch(Q){b(a,Q instanceof Error?Q.message:String(Q),!0)}finally{b(r,!1)}}async function Ni(){if(c(n)){b(a,null);try{const Me=JSON.parse(c(s));await HE(c(n),Me)}catch(Me){b(a,Me instanceof Error?Me.message:String(Me),!0)}}}let Ci;async function di(){if(c(n)&&await Ci.show(`Delete document "${c(n)}"?`,{confirm:"Delete",danger:!0}))try{await R7(c(n)),b(n,null),b(s,"{}")}catch(Me){b(a,Me instanceof Error?Me.message:String(Me),!0)}}async function vi(){const Me=c(ie).trim();if(Me){b(ye,null);try{await HE(Me,{}),b(be,!1),b(ie,""),await Mi(Me)}catch(Q){b(ye,Q instanceof Error?Q.message:String(Q),!0)}}}async function Je(Me){b(f,Me,!0),b(A,null),b(P,!0),b(D,null);try{const Q=await N7(Me);b(g,Q.filter??"",!0),b(p,Q.map,!0),b(w,Q.reduce??"",!0),b(y,Q.description??"",!0),b(x,Q.mqttpub??!1,!0),b(k,Q.retain??!1,!0),b(D,await fS(Me).catch(()=>null),!0)}catch(Q){b(A,Q instanceof Error?Q.message:String(Q),!0)}finally{b(P,!1)}}async function $t(){if(c(f)){b(A,null);try{const Me={map:c(p)};c(g).trim()&&(Me.filter=c(g).trim()),c(w).trim()&&(Me.reduce=c(w).trim()),c(y).trim()&&(Me.description=c(y).trim()),c(x)&&(Me.mqttpub=!0),c(k)&&(Me.retain=!0),await WE(c(f),Me)}catch(Me){b(A,Me instanceof Error?Me.message:String(Me),!0)}}}async function yi(){if(c(f))try{b(D,await fS(c(f)),!0)}catch(Me){b(A,Me instanceof Error?Me.message:String(Me),!0)}}async function Oi(){if(c(f)&&await Ci.show(`Delete view "${c(f)}"?`,{confirm:"Delete",danger:!0}))try{await A7(c(f)),b(f,null),b(g,""),b(p,"// emit(this.someProperty)"),b(w,""),b(y,""),b(x,!1),b(k,!1),b(D,null)}catch(Me){b(A,Me instanceof Error?Me.message:String(Me),!0)}}async function on(){if(!c(qe).trim())return;const Me=c(qe).trim();b(rt,null);try{await WE(Me,{map:"// emit(this.someProperty)"}),b(Oe,!1),b(qe,""),await Ti(),await Je(Me)}catch(Q){b(rt,Q instanceof Error?Q.message:String(Q),!0)}}let Ri=M(""),Gi=M(""),Fi=dt(()=>[...c(i)].filter(Me=>!c(Ri)||Me.toLowerCase().includes(c(Ri).toLowerCase())).sort()),nn=dt(()=>[...c(u)].filter(Me=>!c(Gi)||Me.toLowerCase().includes(c(Gi).toLowerCase())).sort());co(()=>{Zt(),Ti().then(()=>{c(f)&&c(u).includes(c(f))?Je(c(f)):b(f,null)}),Dl().then(at=>{const ht=at.dbPrefix||"she/db/",F=ht.endsWith("/")?ht:ht+"/";b(q,F+"view/")}).catch(()=>{});const Me=Pr("db:ids",at=>{b(i,at.ids??[],!0)}),Q=Pr("db:viewIds",at=>{b(u,at.ids??[],!0)}),Ae=Pr("db:change",async at=>{const ht=at.id;c(n)===ht&&(at.doc===null?(b(n,null),b(s,"{}")):b(s,JSON.stringify(at.doc,null,2),!0))}),ot=Pr("db:viewUpdate",async at=>{const ht=at.id;c(f)===ht&&b(D,await fS(ht).catch(()=>null),!0)});return()=>{Me(),Q(),Ae(),ot()}});var Hi=wX(),Cn=m(Hi),Ue=m(Cn);let zt;var ui=v(Ue,2);let xi;var ki=v(ui,2);{var mn=Me=>{var Q=oX();let Ae;V(()=>{Ae=Tt(Q,1,"ai-toggle svelte-rrt0o",null,Ae,{"ai-open":c(Ye)}),Ai(Q,"title",c(Ye)?"Close AI assistant":"Open AI assistant")}),U("click",Q,()=>b(Ye,!c(Ye))),E(Me,Q)};H(ki,Me=>{c(oe)==="views"&&Me(mn)})}var Ii=v(Cn,2);{var nt=Me=>{var Q=cX(),Ae=m(Q);let ot;var at=m(Ae),ht=m(at),F=v(at,2);{var ne=Be=>{var We=rX(),bt=St(We),Vt=m(bt),Ft=v(Vt,2),ii=v(bt,2);{var pi=si=>{var wi=gD(),Ei=m(wi);V(()=>O(Ei,c(ye))),E(si,wi)};H(ii,si=>{c(ye)&&si(pi)})}U("keydown",Vt,si=>si.key==="Enter"&&vi()),Qt(Vt,()=>c(ie),si=>b(ie,si)),U("click",Ft,vi),E(Be,We)};H(F,Be=>{c(be)&&Be(ne)})}var he=v(F,2),He=m(he),Ze=v(he,2);ai(Ze,20,()=>c(Fi),Be=>Be,(Be,We)=>{var bt=pD();let Vt;var Ft=m(bt);V(()=>{Vt=Tt(bt,1,"flat-item svelte-rrt0o",null,Vt,{"active-item":c(n)===We}),O(Ft,We)}),U("click",bt,()=>Mi(We)),E(Be,bt)});var Z=v(Ae,2),re=v(Z,2),ae=m(re);{var Ve=Be=>{var We=lX(),bt=St(We),Vt=m(bt),Ft=m(Vt),ii=v(Vt,2),pi=v(ii,2),si=v(bt,2);{var wi=zi=>{var ke=_D(),Qe=m(ke);V(()=>O(Qe,c(a))),E(zi,ke)};H(si,zi=>{c(a)&&zi(wi)})}var Ei=v(si,2);{var Pi=zi=>{var ke=mD();E(zi,ke)},Ki=zi=>{var ke=aX(),Qe=m(ke);pS(Qe,{language:"json",get value(){return c(s)},set value(xt){b(s,xt,!0)}}),E(zi,ke)};H(Ei,zi=>{c(r)?zi(Pi):zi(Ki,-1)})}V(()=>O(Ft,c(n))),U("click",ii,Ni),U("click",pi,di),E(Be,We)},et=Be=>{t(Be)};H(ae,Be=>{c(n)?Be(Ve):Be(et,-1)})}V(()=>ot=Bo(Ae,"",ot,{width:`${c(Ce)??""}px`})),U("click",ht,()=>{b(be,!c(be)),b(ye,null)}),Qt(He,()=>c(Ri),Be=>b(Ri,Be)),U("mousedown",Z,Pt),E(Me,Q)},Et=Me=>{var Q=yX(),Ae=m(Q);let ot;var at=m(Ae),ht=m(at),F=v(at,2);{var ne=bt=>{var Vt=dX(),Ft=St(Vt),ii=m(Ft),pi=v(ii,2),si=v(Ft,2);{var wi=Ei=>{var Pi=gD(),Ki=m(Pi);V(()=>O(Ki,c(rt))),E(Ei,Pi)};H(si,Ei=>{c(rt)&&Ei(wi)})}U("keydown",ii,Ei=>Ei.key==="Enter"&&on()),Qt(ii,()=>c(qe),Ei=>b(qe,Ei)),U("click",pi,on),E(bt,Vt)};H(F,bt=>{c(Oe)&&bt(ne)})}var he=v(F,2),He=m(he),Ze=v(he,2);ai(Ze,20,()=>c(nn),bt=>bt,(bt,Vt)=>{var Ft=pD();let ii;var pi=m(Ft);V(()=>{ii=Tt(Ft,1,"flat-item svelte-rrt0o",null,ii,{"active-item":c(f)===Vt}),O(pi,Vt)}),U("click",Ft,()=>Je(Vt)),E(bt,Ft)});var Z=v(Ae,2),re=v(Z,2),ae=m(re);{var Ve=bt=>{var Vt=vX(),Ft=St(Vt),ii=m(Ft),pi=m(ii),si=v(ii,2),wi=v(si,2),Ei=v(wi,2),Pi=v(Ft,2);{var Ki=xt=>{var jt=_D(),Si=m(jt);V(()=>O(Si,c(A))),E(xt,jt)};H(Pi,xt=>{c(A)&&xt(Ki)})}var zi=v(Pi,2);{var ke=xt=>{var jt=mD();E(xt,jt)},Qe=xt=>{var jt=mX(),Si=m(jt),gi=v(m(Si),2),li=m(gi),It=v(Si,2),oi=v(m(It),2),N=m(oi),Y=v(It,2),pe=v(m(Y),2),K=m(pe);pS(K,{language:"javascript",get value(){return c(p)},set value(Te){b(p,Te,!0)}});var B=v(Y,2),G=v(m(B),2),se=m(G);pS(se,{language:"javascript",get value(){return c(w)},set value(Te){b(w,Te,!0)}});var xe=v(B,2),ee=m(xe),le=m(ee),ze=v(le,4),ce=v(m(ze)),we=m(ce),st=v(ee,2);{var j=Te=>{var Ie=uX(),Ee=m(Ie);xs(Ee,()=>c(k),kt=>b(k,kt)),E(Te,Ie)};H(st,Te=>{c(x)&&Te(j)})}var te=v(xe,2);{var fe=Te=>{var Ie=_X(),Ee=m(Ie),kt=v(m(Ee));{var ct=Re=>{var Pe=hX();E(Re,Pe)},Ke=Re=>{var Pe=fX(),je=m(Pe);V(()=>O(je,`${c(D).length??0??""} items · rev ${c(D)._rev??""}`)),E(Re,Pe)};H(kt,Re=>{c(D).error?Re(ct):Re(Ke,-1)})}var Mt=v(Ee,2);{var it=Re=>{var Pe=gX(),je=m(Pe);V(()=>O(je,c(D).error)),E(Re,Pe)},ve=Re=>{var Pe=pX(),je=m(Pe);V(Dt=>O(je,Dt),[()=>JSON.stringify(c(D).result,null,2)]),E(Re,Pe)};H(Mt,Re=>{c(D).error?Re(it):Re(ve,-1)})}E(Te,Ie)};H(te,Te=>{c(D)&&Te(fe)})}V(()=>O(we,`${c(q)??""}${c(f)??""} on every update`)),Qt(li,()=>c(y),Te=>b(y,Te)),Qt(N,()=>c(g),Te=>b(g,Te)),xs(le,()=>c(x),Te=>b(x,Te)),E(xt,jt)};H(zi,xt=>{c(P)?xt(ke):xt(Qe,-1)})}V(()=>O(pi,c(f))),U("click",si,$t),U("click",wi,yi),U("click",Ei,Oi),E(bt,Vt)},et=bt=>{t(bt)};H(ae,bt=>{c(f)?bt(Ve):bt(et,-1)})}var Be=v(re,2);{var We=bt=>{var Vt=bX(),Ft=St(Vt),ii=v(Ft,2);let pi;var si=m(ii);iX(si,{get currentView(){return c(Ot)},onApplyView:Lt}),V(()=>pi=Bo(ii,"",pi,{width:`${c(ge)??""}px`})),U("mousedown",Ft,fi),E(bt,Vt)};H(Be,bt=>{c(Ye)&&bt(We)})}V(()=>ot=Bo(Ae,"",ot,{width:`${c(Ce)??""}px`})),U("click",ht,()=>{b(Oe,!c(Oe)),b(rt,null)}),Qt(He,()=>c(Gi),bt=>b(Gi,bt)),U("mousedown",Z,Pt),E(Me,Q)};H(Ii,Me=>{c(oe)==="docs"?Me(nt):Me(Et,-1)})}V(()=>{zt=Tt(Ue,1,"svelte-rrt0o",null,zt,{active:c(oe)==="docs"}),xi=Tt(ui,1,"svelte-rrt0o",null,xi,{active:c(oe)==="views"})}),U("mousemove",Hi,Ct),U("mouseup",Hi,_i),ds("mouseleave",Hi,_i),U("click",Ue,()=>b(oe,"docs")),U("click",ui,()=>b(oe,"views")),E(o,Hi),Hs()}Qs(["mousemove","mouseup","click","keydown","mousedown"]);var CX=T('<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),xX=T('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),vD=T('<p class="err svelte-1ua3isv"> </p>'),kX=T('<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>'),LX=T('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),IX=T('<span class="device-name svelte-1ua3isv"> </span>'),EX=T('<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>'),DX=T('<li class="empty svelte-1ua3isv">No paired devices</li>'),TX=T('<p class="info svelte-1ua3isv">Loading…</p>'),PX=T('<p class="device-subtitle svelte-1ua3isv"> </p>'),MX=T('<span class="ep-chip svelte-1ua3isv"> </span>'),RX=T('<span class="attr-id svelte-1ua3isv"> </span>'),NX=T('<button class="attr-action-btn svelte-1ua3isv"> </button>'),AX=T('<div class="attr-actions svelte-1ua3isv"></div>'),OX=T('<span class="cmd-sep svelte-1ua3isv">,</span>'),FX=T('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),HX=T('<span class="cmd-id svelte-1ua3isv"> </span>'),WX=T("<!> <!>",1),BX=T('<span class="cmd-list svelte-1ua3isv"></span>'),zX=T(' <span class="cmd-id svelte-1ua3isv"> </span>',1),VX=T('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),jX=T('<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>'),$X=T('<th class="svelte-1ua3isv"> </th>'),UX=T('<td class="svelte-1ua3isv"> </td>'),qX=T('<tr class="svelte-1ua3isv"></tr>'),GX=T('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),KX=T('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),ZX=T('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),XX=T('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),YX=T('<span class="attr-val svelte-1ua3isv"> </span>'),QX=T('<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>'),JX=T('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),eY=T('<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>'),tY=T('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),iY=T('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),nY=T('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),sY=T('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),oY=T('<span class="stream-badge svelte-1ua3isv"> </span>'),rY=T('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),_S=T('&nbsp;<span class="e-sub svelte-1ua3isv"> </span>',1),aY=T('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),lY=T('<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),cY=T('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),dY=T('<div class="stream-body svelte-1ua3isv"><!></div>'),uY=T('<!> <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 hY(o,e){Fs(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(Q,Ae,ot,at,ht){try{await G7(Q,Ae,ot,at,ht)}catch(F){console.error("matter command failed",F)}}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(Q,Ae){const ot=n[Q];return Ae.map(at=>{const ht=typeof at=="number"?at:Number(at);return{id:ht,name:(ot==null?void 0:ot[ht])??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(Q){return"0x"+Q.toString(16).toUpperCase().padStart(4,"0")}let f=M(mi([])),g=mi(new Map);function p(Q){if(Q==null)return"—";if(typeof Q=="boolean"||typeof Q=="number")return String(Q);if(typeof Q=="string")return Q.length>50?Q.slice(0,47)+"…":Q;const Ae=JSON.stringify(Q);return Ae.length>60?Ae.slice(0,57)+"…":Ae}function w(Q){return Q==null?"—":typeof Q=="boolean"||typeof Q=="number"?String(Q):typeof Q=="string"?Q:JSON.stringify(Q)}function y(Q){return Q!==null&&typeof Q=="object"&&!Array.isArray(Q)}function x(Q){return Array.isArray(Q)&&Q.length>0&&Q.every(y)}function k(Q,Ae){return!!(Ae==="attributeList"||Array.isArray(Q)&&Q.length===0||y(Q)&&Object.keys(Q).length===0)}function D(Q){return new Date(Q).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const P=500,A=20,q=32;let z=0,oe=M(mi([])),ie=M(!0),be=M(180),ye=dt(()=>{const Q=Math.max(1,Math.floor((c(be)-q)/A)+1);return c(oe).slice(0,Q)});function qe(Q){Q.preventDefault();const Ae=Q.clientY,ot=c(be);function at(F){b(be,Math.max(60,Math.min(600,ot+Ae-F.clientY)),!0)}function ht(){document.removeEventListener("mousemove",at),document.removeEventListener("mouseup",ht)}document.addEventListener("mousemove",at),document.addEventListener("mouseup",ht)}let Oe=M(null),rt=M(!1),vt=M(null),Ce=M(!1),yt=M("passcode"),ut=M(""),Rt=M(""),Fe=M(""),Ht=M(!1),Ye=M(null),ge=M("");const lt="she:matter:selectedNodeId";async function Nt(){try{b(f,await jN(),!0);for(const Q of c(f))Xm(Q.nodeId).then(Ae=>{g.set(Q.nodeId,Ae)}).catch(()=>{});if(c(f).length>0&&!c(Oe)){const Q=localStorage.getItem(lt),Ae=Q&&c(f).find(ot=>ot.nodeId===Q)?Q:c(f)[0].nodeId;ti(Ae)}}catch{b(f,[],!0)}}async function ti(Q){b(rt,!0),b(vt,null);try{b(Oe,await Xm(Q),!0),g.set(Q,c(Oe)),localStorage.setItem(lt,Q)}catch(Ae){b(vt,Ae instanceof Error?Ae.message:String(Ae),!0)}finally{b(rt,!1)}}let Ot;async function Lt(Q){var Ae;if(await Ot.show(`Unpair device ${Q}?`,{confirm:"Unpair",danger:!0}))try{await q7(Q),((Ae=c(Oe))==null?void 0:Ae.nodeId)===Q&&b(Oe,null),await Nt()}catch(ot){b(vt,ot instanceof Error?ot.message:String(ot),!0)}}async function Pt(){b(Ht,!0),b(Ye,null);try{let Q;c(yt)==="passcode"?(Q={passcode:Number(c(ut))},c(Rt)&&(Q={...Q,discriminator:Number(c(Rt))})):Q={pairingCode:c(Fe).trim()},c(ge).trim()&&(Q={...Q,discoveryAddress:c(ge).trim()}),await U7(Q),b(Ce,!1),b(ut,""),b(Rt,""),b(Fe,""),b(ge,""),await Nt()}catch(Q){b(Ye,Q instanceof Error?Q.message:String(Q),!0)}finally{b(Ht,!1)}}co(()=>{Nt()});const Ct=Pr("matter:deviceList",Q=>{if(!Array.isArray(Q.devices))return;const Ae=Q.devices;for(const ot of Ae)g.has(ot.nodeId)||Xm(ot.nodeId).then(at=>{g.set(ot.nodeId,at)}).catch(()=>{});b(f,Ae,!0)}),_i=Pr("matter:deviceStatus",Q=>{if(Q.nodeId===void 0)return;const Ae=String(Q.nodeId),ot=!!Q.online;b(f,c(f).map(at=>at.nodeId===Ae?{...at,online:ot}:at),!0),b(oe,[{id:z++,kind:"status",nodeId:Ae,online:ot,ts:Date.now()},...c(oe).slice(0,P-1)],!0)}),fi=Pr("matter:attr",Q=>{const Ae=String(Q.nodeId),ot=Q.endpointId,at=String(Q.clusterName),ht=String(Q.attrName),F=Q.value;if(c(Oe)&&c(Oe).nodeId===Ae){const he=c(Oe).endpoints.find(Ze=>Ze.endpointId===ot),He=he==null?void 0:he.clusters.find(Ze=>Ze.name===at);He&&(He.attrs[ht]=F)}const ne=g.get(Ae);if(ne){const he=ne.endpoints.find(Ze=>Ze.endpointId===ot),He=he==null?void 0:he.clusters.find(Ze=>Ze.name===at);He&&(He.attrs[ht]=F)}b(oe,[{id:z++,kind:"attr",nodeId:Ae,endpointId:ot,clusterName:at,attrName:ht,value:F,ts:Q.ts??Date.now()},...c(oe).slice(0,P-1)],!0)});Wy(()=>{Ct(),_i(),fi()});var Zt=uY(),Ti=St(Zt);ks(Gu(Ti,{}),Q=>Ot=Q,()=>Ot);var Mi=v(Ti,2),Ni=m(Mi),Ci=m(Ni),di=m(Ci),vi=v(m(di),2),Je=v(di,2);{var $t=Q=>{var Ae=kX(),ot=m(Ae),at=m(ot);let ht;var F=v(at,2);let ne;var he=v(ot,2);{var He=We=>{var bt=CX(),Vt=St(bt),Ft=v(m(Vt)),ii=v(Vt,2),pi=v(m(ii));Qt(Ft,()=>c(ut),si=>b(ut,si)),Qt(pi,()=>c(Rt),si=>b(Rt,si)),E(We,bt)},Ze=We=>{var bt=xX(),Vt=v(m(bt));Qt(Vt,()=>c(Fe),Ft=>b(Fe,Ft)),E(We,bt)};H(he,We=>{c(yt)==="passcode"?We(He):We(Ze,-1)})}var Z=v(he,2),re=v(m(Z)),ae=v(Z,2);{var Ve=We=>{var bt=vD(),Vt=m(bt);V(()=>O(Vt,c(Ye))),E(We,bt)};H(ae,We=>{c(Ye)&&We(Ve)})}var et=v(ae,2),Be=m(et);V(()=>{ht=Tt(at,1,"svelte-1ua3isv",null,ht,{active:c(yt)==="passcode"}),ne=Tt(F,1,"svelte-1ua3isv",null,ne,{active:c(yt)==="pairingCode"}),et.disabled=c(Ht),O(Be,c(Ht)?"Commissioning…":"Commission")}),U("click",at,()=>b(yt,"passcode")),U("click",F,()=>b(yt,"pairingCode")),Qt(re,()=>c(ge),We=>b(ge,We)),U("click",et,Pt),E(Q,Ae)};H(Je,Q=>{c(Ce)&&Q($t)})}var yi=v(Je,2),Oi=m(yi);ai(Oi,17,()=>c(f),Q=>Q.nodeId,(Q,Ae)=>{var ot=EX();let at;var ht=m(ot),F=m(ht);let ne;var he=v(F,2),He=m(he);{var Ze=ae=>{var Ve=LX(),et=St(Ve),Be=m(et),We=v(et,2),bt=m(We);V(()=>{O(Be,c(Ae).name),O(bt,`#${c(Ae).nodeId??""}`)}),E(ae,Ve)},Z=ae=>{var Ve=IX(),et=m(Ve);V(()=>O(et,`Node ${c(Ae).nodeId??""}`)),E(ae,Ve)};H(He,ae=>{c(Ae).name?ae(Ze):ae(Z,-1)})}var re=v(ht,2);V(()=>{var ae;at=Tt(ot,1,"svelte-1ua3isv",null,at,{selected:((ae=c(Oe))==null?void 0:ae.nodeId)===c(Ae).nodeId}),ne=Tt(F,1,"status-dot svelte-1ua3isv",null,ne,{online:c(Ae).online})}),U("click",ht,()=>ti(c(Ae).nodeId)),U("click",re,()=>Lt(c(Ae).nodeId)),E(Q,ot)});var on=v(Oi,2);{var Ri=Q=>{var Ae=DX();E(Q,Ae)};H(on,Q=>{c(f).length===0&&Q(Ri)})}var Gi=v(Ci,2),Fi=m(Gi);{var nn=Q=>{var Ae=TX();E(Q,Ae)},Hi=Q=>{var Ae=vD(),ot=m(Ae);V(()=>O(ot,c(vt))),E(Q,Ae)},Cn=Q=>{var Ae=nY(),ot=St(Ae),at=m(ot),ht=m(at),F=v(at,2);{var ne=Z=>{var re=PX(),ae=m(re);V(()=>O(ae,c(Oe).subtitle)),E(Z,re)};H(F,Z=>{c(Oe).subtitle&&Z(ne)})}var he=v(F,2),He=m(he),Ze=v(ot,2);ai(Ze,17,()=>c(Oe).endpoints,Z=>Z.endpointId,(Z,re)=>{var ae=iY(),Ve=m(ae),et=m(Ve),Be=v(et),We=m(Be),bt=v(Be,2);ai(bt,21,()=>c(re).clusters,Wi,(pi,si)=>{var wi=MX(),Ei=m(wi);V(()=>O(Ei,c(si).name)),E(pi,wi)});var Vt=v(Ve,2);{var Ft=pi=>{var si=eY(),wi=v(m(si));ai(wi,21,()=>c(re).clusters,Wi,(Ei,Pi)=>{var Ki=JX(),zi=St(Ki),ke=m(zi),Qe=m(ke),xt=v(zi,2);ai(xt,17,()=>Object.entries(c(Pi).attrs),Wi,(jt,Si)=>{var gi=dt(()=>OL(c(Si),2));let li=()=>c(gi)[0],It=()=>c(gi)[1];var oi=Ms(),N=St(oi);{var Y=K=>{const B=dt(()=>{var Pe;return(Pe=t[c(Pi).name])==null?void 0:Pe[li()]}),G=dt(()=>(li()==="acceptedCommandList"||li()==="generatedCommandList")&&Array.isArray(It())),se=dt(()=>{var Pe;return((Pe=d[c(Pi).name])==null?void 0:Pe[li()])??a[li()]});var xe=QX(),ee=m(xe),le=m(ee),ze=m(le),ce=v(le);{var we=Pe=>{var je=RX(),Dt=m(je);V(Le=>O(Dt,`(${Le??""})`),[()=>u(c(se))]),E(Pe,je)};H(ce,Pe=>{c(se)!==void 0&&Pe(we)})}var st=v(ee),j=m(st);{var te=Pe=>{var je=AX();ai(je,21,()=>c(B),Wi,(Dt,Le)=>{var Ge=NX(),ft=m(Ge);V(()=>O(ft,c(Le).label)),U("click",Ge,()=>i(c(Oe).nodeId,c(re).endpointId,c(Pi).name,c(Le).command,c(Le).args)),E(Dt,Ge)}),E(Pe,je)};H(j,Pe=>{c(B)&&Pe(te)})}var fe=v(st),Te=m(fe);{var Ie=Pe=>{var je=BX();ai(je,21,()=>s(c(Pi).name,It()),Wi,(Dt,Le,Ge)=>{var ft=WX(),gt=St(ft);{var tt=$i=>{var pn=OX();E($i,pn)};H(gt,$i=>{Ge>0&&$i(tt)})}var Gt=v(gt,2);{var Xt=$i=>{var pn=FX(),Wn=St(pn),Vi=m(Wn),ri=v(Wn),ln=m(ri);V(()=>{O(Vi,c(Le).name),O(ln,`(${c(Le).id??""})`)}),E($i,pn)},an=$i=>{var pn=HX(),Wn=m(pn);V(()=>O(Wn,c(Le).id)),E($i,pn)};H(Gt,$i=>{c(Le).name?$i(Xt):$i(an,-1)})}E(Dt,ft)}),E(Pe,je)},Ee=Pe=>{var je=jX(),Dt=v(m(je));ai(Dt,21,It,Wi,(Le,Ge)=>{const ft=dt(()=>c(Ge)),gt=dt(()=>c(ft).deviceType),tt=dt(()=>r[c(gt)]);var Gt=VX(),Xt=m(Gt),an=m(Xt);{var $i=ri=>{var ln=zX(),en=St(ln),es=v(en),Bs=m(es);V(ho=>{O(en,`${c(tt)??""} `),O(Bs,`(${ho??""})`)},[()=>u(c(gt))]),E(ri,ln)},pn=ri=>{var ln=Dr();V(en=>O(ln,en),[()=>u(c(gt))]),E(ri,ln)};H(an,ri=>{c(tt)?ri($i):ri(pn,-1)})}var Wn=v(Xt),Vi=m(Wn);V(ri=>O(Vi,ri),[()=>w(c(ft).revision)]),E(Le,Gt)}),E(Pe,je)},kt=dt(()=>li()==="deviceTypeList"&&Array.isArray(It())),ct=Pe=>{const je=dt(()=>[...new Set(It().flatMap(gt=>Object.keys(gt)))]);var Dt=GX(),Le=m(Dt),Ge=m(Le);ai(Ge,21,()=>c(je),Wi,(gt,tt)=>{var Gt=$X(),Xt=m(Gt);V(()=>O(Xt,c(tt))),E(gt,Gt)});var ft=v(Le);ai(ft,21,It,Wi,(gt,tt)=>{var Gt=qX();ai(Gt,21,()=>c(je),Wi,(Xt,an)=>{var $i=UX(),pn=m($i);V(Wn=>O(pn,Wn),[()=>w(c(tt)[c(an)])]),E(Xt,$i)}),E(gt,Gt)}),E(Pe,Dt)},Ke=dt(()=>x(It())),Mt=Pe=>{var je=ZX(),Dt=m(je);ai(Dt,21,()=>Object.entries(It()),Wi,(Le,Ge)=>{var ft=dt(()=>OL(c(Ge),2));let gt=()=>c(ft)[0],tt=()=>c(ft)[1];var Gt=KX(),Xt=m(Gt),an=m(Xt),$i=v(Xt),pn=m($i);V(Wn=>{O(an,gt()),O(pn,Wn)},[()=>w(tt())]),E(Le,Gt)}),E(Pe,je)},it=dt(()=>y(It())),ve=Pe=>{var je=XX(),Dt=m(je);V(()=>{Ai(je,"href",It()),O(Dt,It())}),E(Pe,je)},Re=Pe=>{var je=YX(),Dt=m(je);V(Le=>O(Dt,Le),[()=>w(It())]),E(Pe,je)};H(Te,Pe=>{c(G)?Pe(Ie):c(kt)?Pe(Ee,1):c(Ke)?Pe(ct,2):c(it)?Pe(Mt,3):(li()==="productUrl"||li()==="productURL")&&typeof It()=="string"?Pe(ve,4):Pe(Re,-1)})}V(()=>{Ai(ee,"title",li()),O(ze,li())}),E(K,xe)},pe=dt(()=>!k(It(),li()));H(N,K=>{c(pe)&&K(Y)})}E(jt,oi)}),V(()=>O(Qe,c(Pi).name)),E(Ei,Ki)}),E(pi,si)},ii=pi=>{var si=tY();E(pi,si)};H(Vt,pi=>{c(re).clusters.length>0?pi(Ft):pi(ii,-1)})}V(()=>{O(et,`${c(re).name??`Endpoint ${c(re).endpointId}`??""} `),O(We,`ep${c(re).endpointId??""}`)}),E(Z,ae)}),V(()=>{O(ht,c(Oe).name??`Node ${c(Oe).nodeId}`),O(He,`Node ID: ${c(Oe).nodeId??""}`)}),E(Q,Ae)},Ue=Q=>{var Ae=sY();E(Q,Ae)};H(Fi,Q=>{c(rt)?Q(nn):c(vt)?Q(Hi,1):c(Oe)?Q(Cn,2):Q(Ue,-1)})}var zt=v(Ni,2),ui=m(zt),xi=v(ui,2),ki=v(m(xi),2);{var mn=Q=>{var Ae=oY(),ot=m(Ae);V(()=>O(ot,c(oe).length)),E(Q,Ae)};H(ki,Q=>{!c(ie)&&c(oe).length>0&&Q(mn)})}var Ii=v(ki,2),nt=m(Ii),Et=v(xi,2);{var Me=Q=>{var Ae=dY(),ot=m(Ae);{var at=F=>{var ne=rY();E(F,ne)},ht=F=>{var ne=Ms(),he=St(ne);ai(he,17,()=>c(ye),He=>He.id,(He,Ze)=>{const Z=dt(()=>{var Ft,ii;return((Ft=g.get(c(Ze).nodeId))==null?void 0:Ft.name)??((ii=c(f).find(pi=>pi.nodeId===c(Ze).nodeId))==null?void 0:ii.name)??null}),re=dt(()=>{var Ft,ii;return c(Ze).endpointId!==void 0?((ii=(Ft=g.get(c(Ze).nodeId))==null?void 0:Ft.endpoints.find(pi=>pi.endpointId===c(Ze).endpointId))==null?void 0:ii.name)??null:null}),ae=dt(()=>c(Ze).attrName??c(Ze).clusterName);var Ve=cY(),et=m(Ve),Be=m(et),We=v(et,2);{var bt=Ft=>{var ii=aY(),pi=v(St(ii),2),si=m(pi),wi=v(si);{var Ei=ke=>{var Qe=_S(),xt=v(St(Qe)),jt=m(xt);V(()=>O(jt,`(#${c(Ze).nodeId??""})`)),E(ke,Qe)};H(wi,ke=>{c(Z)&&ke(Ei)})}var Pi=v(pi,2);let Ki;var zi=m(Pi);V(()=>{O(si,c(Z)??`#${c(Ze).nodeId}`),Ki=Tt(Pi,1,"e-val svelte-1ua3isv",null,Ki,{"e-online":c(Ze).online,"e-offline":!c(Ze).online}),O(zi,c(Ze).online?"online":"offline")}),E(Ft,ii)},Vt=Ft=>{var ii=lY(),pi=v(St(ii),2),si=m(pi),wi=v(si);{var Ei=It=>{var oi=_S(),N=v(St(oi)),Y=m(N);V(()=>O(Y,`(#${c(Ze).nodeId??""})`)),E(It,oi)};H(wi,It=>{c(Z)&&It(Ei)})}var Pi=v(pi,2),Ki=m(Pi),zi=v(Ki);{var ke=It=>{var oi=_S(),N=v(St(oi)),Y=m(N);V(()=>O(Y,`(ep ${c(Ze).endpointId??""})`)),E(It,oi)};H(zi,It=>{c(re)&&It(ke)})}var Qe=v(Pi,2),xt=m(Qe),jt=v(Qe,2),Si=m(jt),gi=v(jt,2),li=m(gi);V(It=>{O(si,c(Z)??`#${c(Ze).nodeId}`),O(Ki,c(re)??`ep${c(Ze).endpointId}`),O(xt,c(Ze).clusterName),O(Si,c(ae)),O(li,It)},[()=>p(c(Ze).value)]),E(Ft,ii)};H(We,Ft=>{c(Ze).kind==="status"?Ft(bt):Ft(Vt,-1)})}V(Ft=>O(Be,Ft),[()=>D(c(Ze).ts)]),E(He,Ve)}),E(F,ne)};H(ot,F=>{c(ye).length===0?F(at):F(ht,-1)})}E(Q,Ae)};H(Et,Q=>{c(ie)&&Q(Me)})}V(()=>{Bo(zt,c(ie)?`height: ${c(be)}px;`:""),O(nt,c(ie)?"▾":"▸")}),U("click",vi,()=>b(Ce,!c(Ce))),U("mousedown",ui,qe),U("click",Ii,()=>{b(ie,!c(ie))}),E(o,Zt),Hs()}Qs(["click","mousedown"]);var fY=T("<button>›</button>"),gY=T('<span class="chev-ph svelte-1vejtrc"></span>'),pY=T('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),_Y=T("<button>🔒</button>"),mY=T("<span> </span>"),vY=T('<span class="acl-dyn svelte-1vejtrc" title="per-user/client pattern — cannot evaluate statically">⚠%u/%c</span>'),bY=T('<span class="acl-members svelte-1vejtrc"> </span>'),yY=T('<span class="acl-group svelte-1vejtrc"> </span>'),wY=T('<span> <strong class="svelte-1vejtrc"> </strong> <!> <!> <!></span>'),SY=T('<div class="acl-sec svelte-1vejtrc"><span class="acl-sec-hdr svelte-1vejtrc"> </span> <!></div>'),CY=T('<div class="acl-panel svelte-1vejtrc"></div>'),xY=T('<div class="tc svelte-1vejtrc"></div>'),kY=T('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!> <!></div> <!> <!></div>'),LY=T('<button class="acl-refresh svelte-1vejtrc" title="Refresh ACL data">↺</button>'),IY=T('<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),EY=T("<option></option>"),DY=T('<span class="pub-ok svelte-1vejtrc">✓</span>'),TY=T('<span class="pub-err svelte-1vejtrc"> </span>'),PY=T('<div class="info svelte-1vejtrc">Loading…</div>'),MY=T('<div class="info err svelte-1vejtrc"> </div>'),RY=T('<div class="info svelte-1vejtrc">No topics match.</div>'),NY=T('<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>'),AY=T('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),OY=T('<div class="info svelte-1vejtrc">No topics yet.</div>'),FY=T('<div class="tree-wrap svelte-1vejtrc"><!></div>'),HY=T('<span class="stream-badge"> </span>'),WY=T('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),BY=T('<span class="s-ret svelte-1vejtrc" title="retained snapshot">&#x229B;</span>'),zY=T('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),VY=T('<div class="stream-body svelte-1vejtrc"><!></div>'),jY=T('<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),$Y=T('<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>'),UY=T('<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),qY=T('<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 GY(o,e){Fs(e,!0);const t=(K,B=Ny)=>{const G=dt(()=>c(g).has(B().path)),se=dt(()=>c(a)>=0&&B().children.size>0),xe=dt(()=>c(a)>=0&&B().isLeaf&&!n.has(B().path));var ee=kY(),le=m(ee);let ze;var ce=m(le);{var we=ve=>{var Re=fY();let Pe;V(()=>{Pe=Tt(Re,1,"chev svelte-1vejtrc",null,Pe,{open:c(G)}),Ai(Re,"aria-label",c(G)?"Collapse":"Expand")}),U("click",Re,()=>p(B().path)),E(ve,Re)},st=ve=>{var Re=gY();E(ve,Re)};H(ce,ve=>{c(se)?ve(we):ve(st,-1)})}var j=v(ce,2),te=m(j),fe=v(j,2);{var Te=ve=>{var Re=pY(),Pe=St(Re),je=m(Pe),Dt=v(Pe,2),Le=m(Dt);V((Ge,ft,gt)=>{Ai(Pe,"title",Ge),O(je,ft),O(Le,gt)},[()=>{var Ge;return Mi((Ge=di(B().path))==null?void 0:Ge.val)},()=>{var Ge;return Mi((Ge=di(B().path))==null?void 0:Ge.val)},()=>{var Ge;return((Ge=di(B().path))==null?void 0:Ge.ts)!=null?Ni(di(B().path).ts):""}]),E(ve,Re)},Ie=dt(()=>B().isLeaf&&i.has(B().path));H(fe,ve=>{c(Ie)&&ve(Te)})}var Ee=v(fe,2);{var kt=ve=>{const Re=dt(()=>!!c(Fi)&&Cn(B().path));var Pe=_Y();let je;V(()=>{je=Tt(Pe,1,"acl-badge svelte-1vejtrc",null,je,{matched:c(Re)}),Ai(Pe,"title",c(Re)?"Has explicit ACL — click to inspect":"No explicit ACL — uses defaults")}),U("click",Pe,Dt=>{Dt.stopPropagation(),b(nn,c(nn)===B().path?null:B().path,!0)}),E(ve,Pe)};H(Ee,ve=>{c(Ri)&&B().isLeaf&&ve(kt)})}var ct=v(le,2);{var Ke=ve=>{const Re=dt(()=>Ue(B().path,$t)),Pe=dt(()=>Ue(B().path,yi)),je=dt(()=>Ue(B().path,Oi));var Dt=CY();ai(Dt,21,()=>[{label:"Send",roles:c(Re),defType:"publishClientSend"},{label:"Subscribe",roles:c(Pe),defType:"subscribePattern"},{label:"Receive",roles:c(je),defType:"publishClientReceive"}],Wi,(Le,Ge)=>{var ft=SY(),gt=m(ft),tt=m(gt),Gt=v(gt,2);{var Xt=$i=>{var pn=mY();let Wn;var Vi=m(pn);V((ri,ln)=>{Wn=Tt(pn,1,"acl-def svelte-1vejtrc",null,Wn,ri),O(Vi,`${ln??""} (default)`)},[()=>({allow:ui(c(Ge).defType),deny:!ui(c(Ge).defType)}),()=>ui(c(Ge).defType)?"allow":"deny"]),E($i,pn)},an=$i=>{var pn=Ms(),Wn=St(pn);ai(Wn,17,()=>c(Ge).roles,Wi,(Vi,ri)=>{const ln=dt(()=>zt(c(ri).rolename));var en=wY();let es;var Bs=m(en),ho=v(Bs),Ko=m(ho),dr=v(ho,2);{var Xn=Ds=>{var fs=vY();E(Ds,fs)};H(dr,Ds=>{c(ri).dynamic&&Ds(Xn)})}var Zo=v(dr,2);{var ur=Ds=>{var fs=bY(),ns=m(fs);V(Ts=>O(ns,Ts),[()=>c(ln).direct.join(", ")]),E(Ds,fs)};H(Zo,Ds=>{c(ln).direct.length>0&&Ds(ur)})}var gn=v(Zo,2);ai(gn,17,()=>c(ln).viaGroup,Wi,(Ds,fs)=>{var ns=yY(),Ts=m(ns);V(()=>O(Ts,c(fs).groupname)),E(Ds,ns)}),V(()=>{es=Tt(en,1,"acl-role svelte-1vejtrc",null,es,{allow:c(ri).allow,deny:!c(ri).allow}),O(Bs,`${c(ri).allow?"✓":"✗"} `),O(Ko,c(ri).rolename)}),E(Vi,en)}),E($i,pn)};H(Gt,$i=>{c(Ge).roles.length===0?$i(Xt):$i(an,-1)})}V(()=>O(tt,c(Ge).label)),E(Le,ft)}),E(ve,Dt)};H(ct,ve=>{c(Ri)&&B().isLeaf&&c(nn)===B().path&&c(Fi)&&ve(Ke)})}var Mt=v(ct,2);{var it=ve=>{var Re=xY();ai(Re,21,()=>[...B().children.values()].sort((Pe,je)=>Pe.seg.localeCompare(je.seg)),Pe=>Pe.path,(Pe,je)=>{t(Pe,()=>c(je))}),E(ve,Re)};H(Mt,ve=>{c(se)&&c(G)&&ve(it)})}V(()=>{ze=Tt(le,1,"tr svelte-1vejtrc",null,ze,{stale:c(xe)}),O(te,B().seg)}),U("click",le,()=>{b(rt,B().path+"/#")}),U("contextmenu",le,ve=>{ve.preventDefault(),b(ge,{x:ve.clientX,y:ve.clientY,topic:B().path},!0)}),E(K,ee)},i=new Map,n=new Set,s=new Set;let r=null,a=M(0);function d(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const K of s)f(K);s.clear(),WL(a)}))}const u=new Map;function f(K){const B=K.split("/");let G=u,se="";for(let xe=0;xe<B.length;xe++){const ee=B[xe];se=xe===0?ee:`${se}/${ee}`,G.has(ee)||G.set(ee,{seg:ee,path:se,children:new Map,isLeaf:!1});const le=G.get(ee);xe===B.length-1&&(le.isLeaf=!0),G=le.children}}let g=M(mi(new Set));function p(K){const B=new Set(c(g));B.has(K)?B.delete(K):B.add(K),b(g,B,!0)}let w=M("");const y=24,x=5;let k=M(0),D=M(300),P=dt(()=>{if(c(a),!c(w))return[];const K=c(w).toLowerCase().split(/\s+/).filter(Boolean),B=[];for(const[G,se]of i){const xe=G.toLowerCase();K.every(ee=>xe.includes(ee))&&B.push({topic:G,...se})}return B.sort((G,se)=>G.topic.localeCompare(se.topic))}),A=dt(()=>{const K=c(P).length,B=Math.max(0,Math.floor(c(k)/y)-x),G=Math.min(K,Math.ceil((c(k)+c(D))/y)+x);return{start:B,end:G,totalH:K*y,top:B*y}});const q=1e3,z=200,oe=20,ie=36;let be=0,ye=M(mi([])),qe=M(mi([])),Oe=M(!0),rt=M("#"),vt=M(200);Vn(()=>{const K=c(rt).trim(),B=Al(()=>c(ye)),G=!K||K==="#"?B.slice(0,z):B.filter(se=>Ce(K,se.topic)).slice(0,z);if(K&&K!=="#"){const se=new Set(G.map(ee=>ee.topic)),xe=[];for(const[ee,le]of i)se.has(ee)||Ce(K,ee)&&xe.push({id:-(xe.length+1),topic:ee,val:le.val,ts:le.ts,retained:!0});xe.sort((ee,le)=>ee.topic.localeCompare(le.topic)),b(qe,[...G,...xe],!0)}else b(qe,G,!0)});function Ce(K,B){if(K==="#")return!0;const G=K.split("/"),se=B.split("/");for(let xe=0;xe<G.length;xe++){if(G[xe]==="#")return!0;if(xe>=se.length||G[xe]!=="+"&&G[xe]!==se[xe])return!1}return G.length===se.length}function yt(K){K.preventDefault();const B=K.clientY,G=c(vt);function se(ee){b(vt,Math.max(60,Math.min(800,G+B-ee.clientY)),!0)}function xe(){document.removeEventListener("mousemove",se),document.removeEventListener("mouseup",xe)}document.addEventListener("mousemove",se),document.addEventListener("mouseup",xe)}let ut=dt(()=>{const K=Math.max(1,Math.floor((c(vt)-ie)/oe)+1);return c(qe).slice(0,K)}),Rt=M(!0),Fe=M(null);async function Ht(){b(Rt,!0),b(Fe,null);try{const K=await $N();for(const B of K)i.set(B.topic,{val:B.val,ts:B.ts}),f(B.topic)}catch(K){b(Fe,K instanceof Error?K.message:String(K),!0)}finally{b(Rt,!1),WL(a)}}const Ye=Pr("mqtt",K=>{const{topic:B,val:G,ts:se}=K;i.set(B,{val:G,ts:se}),n.add(B),s.add(B),d();const xe={id:be++,topic:B,val:G,ts:se};b(ye,[xe,...c(ye).slice(0,q-1)],!0);const ee=c(rt).trim();(!ee||ee==="#"||Ce(ee,B))&&b(qe,[xe,...c(qe).filter(le=>!(le.retained&&le.topic===B)).slice(0,z-1)],!0)});let ge=M(null),lt=M(null);async function Nt(K,B){const G=[K];if(B){const se=K+"/";for(const xe of i.keys())xe.startsWith(se)&&G.push(xe)}for(const se of G)await zE(se,"",!0,0)}let ti=dt(()=>(c(a),[...i.keys()].sort())),Ot=M(""),Lt=M(""),Pt=M(!1),Ct=M(0),_i=M(!1),fi=M(null),Zt=M(!1);async function Ti(){if(c(Ot)){b(_i,!0),b(fi,null),b(Zt,!1);try{await zE(c(Ot),c(Lt),c(Pt),c(Ct)),b(Zt,!0),setTimeout(()=>{b(Zt,!1)},2e3)}catch(K){b(fi,K instanceof Error?K.message:String(K),!0)}finally{b(_i,!1)}}}function Mi(K){return K==null?"":typeof K=="object"?JSON.stringify(K):String(K)}function Ni(K){return new Date(K).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Ci(K){return new Date(K).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function di(K){return c(a),i.get(K)}let vi=dt(()=>(c(a),[...u.values()].sort((K,B)=>K.seg.localeCompare(B.seg)))),Je=dt(()=>(c(a),i.size));const $t=new Set(["publishClientSend"]),yi=new Set(["subscribePattern","subscribeLiteral"]),Oi=new Set(["publishClientReceive"]);let on=M(!1),Ri=M(!1),Gi=M(!1),Fi=M(null),nn=M(null);function Hi(K,B,G){return B.includes("%u")||B.includes("%c")?"dynamic":K==="subscribeLiteral"||K==="unsubscribeLiteral"?B===G?"match":"no-match":Ce(B,G)?"match":"no-match"}function Cn(K){if(!c(Fi))return!1;for(const B of c(Fi).roles)if(B.acls){for(const G of B.acls)if(Hi(G.acltype,G.topic,K)!=="no-match")return!0}return!1}function Ue(K,B){if(!c(Fi))return[];const G=[];for(const se of c(Fi).roles)if(se.acls)for(const xe of se.acls){if(!B.has(xe.acltype))continue;const ee=Hi(xe.acltype,xe.topic,K);if(ee!=="no-match"){G.push({rolename:se.rolename,allow:xe.allow,dynamic:ee==="dynamic"});break}}return G}function zt(K){if(!c(Fi))return{direct:[],viaGroup:[]};const B=c(Fi).users.filter(se=>{var xe;return(xe=se.roles)==null?void 0:xe.some(ee=>ee.rolename===K)}).map(se=>se.username),G=c(Fi).groups.filter(se=>{var xe;return(xe=se.roles)==null?void 0:xe.some(ee=>ee.rolename===K)}).map(se=>({groupname:se.groupname,members:(se.clients??[]).map(xe=>xe.username)}));return{direct:B,viaGroup:G}}function ui(K){if(!c(Fi))return!1;const B=c(Fi).defaults.find(G=>G.acltype===K);return(B==null?void 0:B.allow)??!1}async function xi(){b(Gi,!0);try{const[K,B,G,se]=await Promise.all([XN(),Lk(),YN(),QN()]);b(Fi,{roles:K.roles,users:B.users,groups:G.groups,defaults:se.acls},!0)}catch{b(Fi,null),b(Ri,!1)}finally{b(Gi,!1)}}async function ki(){c(Ri)?(b(Ri,!1),b(nn,null)):(b(Ri,!0),b(nn,null),c(Fi)||await xi())}co(async()=>{Ht();try{const K=await lw();b(on,K.dynsec.dynsecReady,!0)}catch{b(on,!1)}}),Wy(()=>{Ye(),r!==null&&cancelAnimationFrame(r)});var mn=qY(),Ii=m(mn),nt=v(m(Ii),2);{var Et=K=>{var B=IY(),G=St(B);let se;var xe=v(m(G),2);{var ee=ce=>{var we=Dr("…");E(ce,we)};H(xe,ce=>{c(Gi)&&ce(ee)})}var le=v(G,2);{var ze=ce=>{var we=LY();V(()=>we.disabled=c(Gi)),U("click",we,xi),E(ce,we)};H(le,ce=>{c(Ri)&&ce(ze)})}V(()=>{se=Tt(G,1,"acl-btn svelte-1vejtrc",null,se,{active:c(Ri)}),G.disabled=c(Gi)}),U("click",G,ki),E(K,B)};H(nt,K=>{c(on)&&K(Et)})}var Me=v(Ii,2),Q=m(Me),Ae=m(Q),ot=v(Ae,2);ai(ot,20,()=>c(ti),K=>K,(K,B)=>{var G=EY(),se={};V(()=>{se!==(se=B)&&(G.value=(G.__value=B)??"")}),E(K,G)});var at=v(ot,2),ht=v(at,2),F=m(ht),ne=v(ht,2),he=m(ne);he.value=he.__value=0;var He=v(he);He.value=He.__value=1;var Ze=v(He);Ze.value=Ze.__value=2;var Z=v(ne,2),re=v(Z,2);{var ae=K=>{var B=DY();E(K,B)};H(re,K=>{c(Zt)&&K(ae)})}var Ve=v(re,2);{var et=K=>{var B=TY(),G=m(B);V(()=>O(G,c(fi))),E(K,B)};H(Ve,K=>{c(fi)&&K(et)})}var Be=v(Q,2),We=m(Be),bt=v(We,2),Vt=m(bt);{var Ft=K=>{var B=Dr();V(()=>O(B,`${c(P).length??""} /`)),E(K,B)};H(Vt,K=>{c(w)&&K(Ft)})}var ii=v(Vt),pi=v(Be,2);{var si=K=>{var B=PY();E(K,B)},wi=K=>{var B=MY(),G=m(B);V(()=>O(G,c(Fe))),E(K,B)},Ei=K=>{var B=Ms(),G=St(B);{var se=ee=>{var le=RY();E(ee,le)},xe=ee=>{var le=AY(),ze=m(le),ce=m(ze);ai(ce,21,()=>c(P).slice(c(A).start,c(A).end),we=>we.topic,(we,st)=>{var j=NY(),te=m(j),fe=m(te),Te=v(te,2),Ie=m(Te),Ee=v(Te,2),kt=m(Ee);V((ct,Ke,Mt)=>{O(fe,c(st).topic),Ai(Te,"title",ct),O(Ie,Ke),O(kt,Mt)},[()=>Mi(c(st).val),()=>Mi(c(st).val),()=>Ni(c(st).ts)]),E(we,j)}),V(()=>{Bo(ze,`height: ${c(A).totalH??""}px; position: relative;`),Bo(ce,`top: ${c(A).top??""}px;`)}),ds("scroll",le,we=>{b(k,we.currentTarget.scrollTop,!0)}),JH(le,"clientHeight",we=>b(D,we)),E(ee,le)};H(G,ee=>{c(P).length===0?ee(se):ee(xe,-1)})}E(K,B)},Pi=K=>{var B=FY(),G=m(B);{var se=ee=>{var le=OY();E(ee,le)},xe=ee=>{var le=Ms(),ze=St(le);ai(ze,17,()=>c(vi),ce=>ce.path,(ce,we)=>{t(ce,()=>c(we))}),E(ee,le)};H(G,ee=>{c(vi).length===0?ee(se):ee(xe,-1)})}E(K,B)};H(pi,K=>{c(Rt)?K(si):c(Fe)?K(wi,1):c(w)?K(Ei,2):K(Pi,-1)})}var Ki=v(Me,2),zi=m(Ki),ke=v(zi,2),Qe=m(ke),xt=v(Qe,2);{var jt=K=>{var B=HY(),G=m(B);V(()=>O(G,c(qe).length)),E(K,B)};H(xt,K=>{!c(Oe)&&c(qe).length>0&&K(jt)})}var Si=v(xt,2),gi=m(Si),li=v(ke,2);{var It=K=>{var B=VY(),G=m(B);{var se=ee=>{var le=WY();E(ee,le)},xe=ee=>{var le=Ms(),ze=St(le);ai(ze,17,()=>c(ut),ce=>ce.id,(ce,we)=>{var st=zY();let j;var te=m(st),fe=m(te),Te=v(te,2);{var Ie=Mt=>{var it=BY();E(Mt,it)};H(Te,Mt=>{c(we).retained&&Mt(Ie)})}var Ee=v(Te,2),kt=m(Ee),ct=v(Ee,2),Ke=m(ct);V((Mt,it,ve)=>{j=Tt(st,1,"sr svelte-1vejtrc",null,j,{retained:c(we).retained}),O(fe,Mt),O(kt,c(we).topic),Ai(ct,"title",it),O(Ke,ve)},[()=>Ci(c(we).ts),()=>Mi(c(we).val),()=>Mi(c(we).val)]),E(ce,st)}),E(ee,le)};H(G,ee=>{c(ut).length===0?ee(se):ee(xe,-1)})}E(K,B)};H(li,K=>{c(Oe)&&K(It)})}var oi=v(Ki,2);{var N=K=>{var B=jY(),G=St(B),se=v(G,2);let xe;var ee=m(se),le=v(ee,2);V(()=>xe=Bo(se,"",xe,{left:`${c(ge).x??""}px`,top:`${c(ge).y??""}px`})),U("click",G,()=>b(ge,null)),U("contextmenu",G,ze=>{ze.preventDefault(),b(ge,null)}),U("click",ee,()=>{navigator.clipboard.writeText(c(ge).topic),b(ge,null)}),U("click",le,()=>{const ze=c(ge).topic,ce=ze+"/",we=[...i.keys()].some(st=>st.startsWith(ce));b(lt,{topic:ze,hasChildren:we,recursive:!1},!0),b(ge,null)}),E(K,B)};H(oi,K=>{c(ge)&&K(N)})}var Y=v(oi,2);{var pe=K=>{var B=UY(),G=St(B),se=v(G,2),xe=v(m(se),2),ee=m(xe),le=v(m(ee)),ze=m(le),ce=v(ee,2);{var we=fe=>{var Te=$Y(),Ie=m(Te);xs(Ie,()=>c(lt).recursive,Ee=>c(lt).recursive=Ee),E(fe,Te)};H(ce,fe=>{c(lt).hasChildren&&fe(we)})}var st=v(xe,2),j=m(st),te=v(j,2);V(()=>O(ze,c(lt).topic)),U("click",G,()=>b(lt,null)),U("click",j,()=>b(lt,null)),U("click",te,()=>{const{topic:fe,recursive:Te}=c(lt);b(lt,null),Nt(fe,Te)}),E(K,B)};H(Y,K=>{c(lt)&&K(pe)})}V(()=>{Z.disabled=c(_i)||!c(Ot),O(ii,` ${c(Je)??""}`),Bo(Ki,c(Oe)?`height: ${c(vt)}px;`:""),O(gi,c(Oe)?"▾":"▸")}),Qt(Ae,()=>c(Ot),K=>b(Ot,K)),Qt(at,()=>c(Lt),K=>b(Lt,K)),xs(F,()=>c(Pt),K=>b(Pt,K)),fo(ne,()=>c(Ct),K=>b(Ct,K)),U("click",Z,Ti),Qt(We,()=>c(w),K=>b(w,K)),U("mousedown",zi,yt),Qt(Qe,()=>c(rt),K=>b(rt,K)),U("click",Si,()=>{b(Oe,!c(Oe))}),E(o,mn),Hs()}Qs(["click","contextmenu","mousedown"]);var KY=T('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),ZY=T('<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>'),XY=T('<div class="err svelte-twakcj"> </div>'),YY=T('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),QY=T('<p class="empty svelte-twakcj">No packages installed.</p>'),JY=T('<p class="empty svelte-twakcj">No match.</p>'),eQ=T("<span> </span>"),tQ=KP('<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>'),iQ=KP('<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>'),nQ=T('<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>'),sQ=T('<span class="result-author svelte-twakcj"> </span>'),oQ=T('<span class="result-date svelte-twakcj"> </span>'),rQ=T('<span class="result-desc svelte-twakcj"> </span>'),aQ=T('<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>'),lQ=T('<div class="results-list svelte-twakcj"></div>'),cQ=T('<pre class="npm-output svelte-twakcj"> </pre>'),dQ=T(`<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>`),uQ=T('<!> <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 hQ(o,e){Fs(e,!0);let t=M(mi([])),i=M(""),n=M(mi({})),s=M(mi([])),r=M(!1),a=M(""),d=M(mi([])),u=M(!1),f=M(!1),g=M(!1),p=M(""),w=M(""),y=mi({});const x=dt(()=>c(i).trim()?c(t).filter(Ue=>Ue.name.toLowerCase().includes(c(i).toLowerCase())):c(t)),k=dt(()=>Object.keys(c(n)).filter(Ue=>!c(s).includes(Ue)).length);co(async()=>{await Promise.all([D(),P(),A()])});async function D(){try{b(t,await O7(),!0),b(p,"")}catch(Ue){b(p,Ue.message,!0)}}async function P(){try{b(n,await VN(),!0)}catch{}}async function A(){try{const Ue=await Dl();b(s,Array.isArray(Ue.pinnedPackages)?Ue.pinnedPackages:[],!0)}catch{}}async function q(Ue){const zt=c(s).includes(Ue)?c(s).filter(ui=>ui!==Ue):[...c(s),Ue];b(s,zt,!0);try{const ui=await Dl();await Xp({...ui,pinnedPackages:zt})}catch{}}async function z(){b(r,!0);try{b(n,await z7(),!0)}catch{}finally{b(r,!1)}}async function oe(){const Ue=c(a).trim();if(!Ue){b(d,[],!0);return}b(g,!0),b(p,"");try{b(d,await F7(Ue),!0)}catch(zt){b(p,zt.message,!0)}finally{b(g,!1)}}function ie(Ue){if(!Ue)return"";try{return new Date(Ue).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function be(Ue,zt){y[Ue]=!0,b(p,""),b(w,"");try{const ui=await H7(Ue,zt);b(w,ui.stdout||ui.stderr||"Done.",!0),b(u,!0),await D()}catch(ui){b(p,ui.message,!0)}finally{y[Ue]=!1}}async function ye(Ue){y[Ue]=!0,b(p,""),b(w,"");try{const zt=await W7(Ue);b(w,zt.stdout||zt.stderr||"Done.",!0),b(u,!0);const ui={...c(n)};delete ui[Ue],b(n,ui,!0),await D()}catch(zt){b(p,zt.message,!0)}finally{y[Ue]=!1}}async function qe(Ue){y[Ue]=!0,b(p,""),b(w,"");try{const zt=await B7(Ue);b(w,zt.stdout||zt.stderr||"Done.",!0),b(u,!0);const ui={...c(n)};delete ui[Ue],b(n,ui,!0),await D()}catch(zt){b(p,zt.message,!0)}finally{y[Ue]=!1}}let Oe;async function rt(){if(await Oe.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){b(f,!0);try{await WN()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var vt=uQ(),Ce=St(vt);ks(Gu(Ce,{}),Ue=>Oe=Ue,()=>Oe);var yt=v(Ce,2),ut=m(yt);{var Rt=Ue=>{var zt=KY();E(Ue,zt)},Fe=Ue=>{var zt=ZY(),ui=v(m(zt));U("click",ui,rt),E(Ue,zt)};H(ut,Ue=>{c(f)?Ue(Rt):c(u)&&Ue(Fe,1)})}var Ht=v(ut,2);{var Ye=Ue=>{var zt=XY(),ui=m(zt);V(()=>O(ui,c(p))),E(Ue,zt)};H(Ht,Ue=>{c(p)&&Ue(Ye)})}var ge=v(Ht,2),lt=m(ge),Nt=m(lt),ti=v(m(Nt),2),Ot=m(ti),Lt=v(ti,2);{var Pt=Ue=>{var zt=YY(),ui=m(zt);V(()=>O(ui,`${c(k)??""} outdated`)),E(Ue,zt)};H(Lt,Ue=>{c(k)>0&&Ue(Pt)})}var Ct=v(Lt,2),_i=m(Ct);let fi;var Zt=v(Nt,2),Ti=m(Zt),Mi=v(Zt,2),Ni=m(Mi);{var Ci=Ue=>{var zt=QY();E(Ue,zt)},di=Ue=>{var zt=JY();E(Ue,zt)},vi=Ue=>{var zt=Ms(),ui=St(zt);ai(ui,17,()=>c(x),xi=>xi.name,(xi,ki)=>{var mn=nQ();let Ii;var nt=m(mn),Et=m(nt),Me=m(Et),Q=v(Et,2),Ae=m(Q),ot=v(Q,2);{var at=Ve=>{var et=eQ();let Be;var We=m(et);V(bt=>{Be=Tt(et,1,"dep-latest svelte-twakcj",null,Be,bt),O(We,`→ v${c(n)[c(ki).name].latest??""}`)},[()=>({"dep-latest--pinned":c(s).includes(c(ki).name)})]),E(Ve,et)};H(ot,Ve=>{c(n)[c(ki).name]&&Ve(at)})}var ht=v(nt,2),F=m(ht);let ne;var he=v(F,2);let He;var Ze=m(he);{var Z=Ve=>{var et=tQ();E(Ve,et)},re=Ve=>{var et=iQ();E(Ve,et)};H(Ze,Ve=>{y[c(ki).name]?Ve(Z):Ve(re,-1)})}var ae=v(he,2);V((Ve,et,Be)=>{Ii=Tt(mn,1,"dep-row svelte-twakcj",null,Ii,{"dep-busy":!!y[c(ki).name]}),Ai(Et,"href",c(ki).url??`https://www.npmjs.com/package/${c(ki).name}`),O(Me,c(ki).name),O(Ae,c(ki).installedVersion??c(ki).version),ne=Tt(F,1,"icon-btn svelte-twakcj",null,ne,Ve),Ai(F,"title",et),He=Tt(he,1,"icon-btn svelte-twakcj",null,He,Be),he.disabled=!!y[c(ki).name],Ai(he,"title",c(n)[c(ki).name]?`Update to v${c(n)[c(ki).name].latest}`:"Update to latest"),ae.disabled=!!y[c(ki).name]},[()=>({"icon-btn--pinned":c(s).includes(c(ki).name)}),()=>c(s).includes(c(ki).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!c(n)[c(ki).name]&&!c(s).includes(c(ki).name)})]),U("click",F,()=>q(c(ki).name)),U("click",he,()=>qe(c(ki).name)),U("click",ae,()=>ye(c(ki).name)),E(xi,mn)}),E(Ue,zt)};H(Ni,Ue=>{c(t).length===0?Ue(Ci):c(x).length===0?Ue(di,1):Ue(vi,-1)})}var Je=v(lt,2),$t=v(m(Je),2),yi=m($t),Oi=v(yi,2),on=m(Oi),Ri=v($t,2);{var Gi=Ue=>{var zt=lQ();ai(zt,21,()=>c(d),ui=>ui.name,(ui,xi)=>{var ki=aQ(),mn=m(ki),Ii=m(mn),nt=m(Ii),Et=v(Ii,2),Me=m(Et),Q=v(Et,2);{var Ae=He=>{var Ze=sQ(),Z=m(Ze);V(()=>O(Z,c(xi).author)),E(He,Ze)};H(Q,He=>{c(xi).author&&He(Ae)})}var ot=v(Q,2);{var at=He=>{var Ze=oQ(),Z=m(Ze);V(re=>{Ai(Ze,"title",c(xi).date),O(Z,re)},[()=>ie(c(xi).date)]),E(He,Ze)};H(ot,He=>{c(xi).date&&He(at)})}var ht=v(ot,2);{var F=He=>{var Ze=rQ(),Z=m(Ze);V(()=>O(Z,c(xi).description)),E(He,Ze)};H(ht,He=>{c(xi).description&&He(F)})}var ne=v(mn,2),he=m(ne);V(()=>{Ai(Ii,"href",c(xi).url??`https://www.npmjs.com/package/${c(xi).name}`),O(nt,c(xi).name),O(Me,c(xi).version),ne.disabled=!!y[c(xi).name],O(he,y[c(xi).name]?"Installing…":"Install")}),U("click",ne,()=>be(c(xi).name)),E(ui,ki)}),E(Ue,zt)};H(Ri,Ue=>{c(d).length>0&&Ue(Gi)})}var Fi=v(Ri,2);{var nn=Ue=>{var zt=cQ(),ui=m(zt);V(()=>O(ui,c(w))),E(Ue,zt)};H(Fi,Ue=>{c(w)&&Ue(nn)})}var Hi=v(Fi,2);{var Cn=Ue=>{var zt=dQ();E(Ue,zt)};H(Hi,Ue=>{!c(d).length&&!c(w)&&Ue(Cn)})}V(()=>{O(Ot,c(t).length),Ct.disabled=c(r),fi=Tt(_i,0,"svelte-twakcj",null,fi,{spinning:c(r)}),Oi.disabled=c(g),O(on,c(g)?"Searching…":"Search")}),U("click",Ct,z),Qt(Ti,()=>c(i),Ue=>b(i,Ue)),U("keydown",yi,Ue=>Ue.key==="Enter"&&oe()),Qt(yi,()=>c(a),Ue=>b(a,Ue)),U("click",Oi,oe),E(o,vt),Hs()}Qs(["click","keydown"]);var fQ=T('<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>'),qr=T('<div class="err svelte-3itf14"> </div>'),gQ=T('<div class="empty svelte-3itf14">No users found.</div>'),bD=T('<span class="tag svelte-3itf14"> </span>'),yD=T('<span class="tag tag--group svelte-3itf14"> </span>'),pQ=T('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="tags svelte-3itf14"></td><td class="tags svelte-3itf14"></td><td class="actions svelte-3itf14"><button title="Edit roles" class="svelte-3itf14">Roles</button> <button title="Set password" class="svelte-3itf14">🔑</button> <button class="danger svelte-3itf14" title="Delete">✕</button></td></tr>'),_Q=T('<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>'),mQ=T('<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>'),vQ=T('<div class="empty svelte-3itf14">No roles found.</div>'),bQ=T('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="actions svelte-3itf14"><button title="Edit ACLs" class="svelte-3itf14">Edit ACLs</button> <button class="danger svelte-3itf14" title="Delete">✕</button></td></tr>'),yQ=T('<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>'),wQ=T('<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>'),SQ=T('<div class="empty svelte-3itf14">No groups found.</div>'),CQ=T('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="tags svelte-3itf14"></td><td class="tags svelte-3itf14"></td><td class="actions svelte-3itf14"><button title="Edit members" class="svelte-3itf14">Members</button> <button title="Edit roles" class="svelte-3itf14">Roles</button> <button class="danger svelte-3itf14" title="Delete">✕</button></td></tr>'),xQ=T('<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>'),kQ=T('<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>'),wD=T('<div class="empty svelte-3itf14">Loading…</div>'),LQ=T('<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>'),IQ=T('<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>'),mS=T("<option> </option>"),EQ=T('<div class="anon-current svelte-3itf14">Current: <span class="mono svelte-3itf14"> </span></div>'),DQ=T('<div class="anon-current muted svelte-3itf14">No anonymous group configured.</div>'),TQ=T('<div class="anon-row svelte-3itf14"><select class="svelte-3itf14"><option>— none —</option><!></select> <button class="svelte-3itf14"> </button></div> <!>',1),PQ=T('<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>'),MQ=T('<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>'),RQ=T('<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>'),NQ=T('<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>'),AQ=T('<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>'),OQ=T('<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>'),FQ=T('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),HQ=T('<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>'),WQ=T('<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>'),BQ=T('<li class="svelte-3itf14"><span class="mono svelte-3itf14"> </span> <button class="danger svelte-3itf14">✕</button></li>'),zQ=T('<ul class="member-list svelte-3itf14"></ul>'),VQ=T('<div class="empty svelte-3itf14">None assigned yet.</div>'),jQ=T('<div class="member-add-row svelte-3itf14"><select class="svelte-3itf14"><option>— select —</option><!></select> <button class="svelte-3itf14">Add</button></div>'),$Q=T('<div class="empty svelte-3itf14">No more items to add.</div>'),UQ=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-3itf14"><h3 class="svelte-3itf14"> </h3> <!> <!> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Close</button></div></div></div>'),qQ=T('<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 GQ(o,e){Fs(e,!0);let t=Su(e,"dynsecReady",3,!1),i=M(mi([])),n=M(mi([])),s=M(mi([])),r=M(""),a=M(""),d=M(""),u=M("users"),f=M(!1),g=M(""),p=M(""),w=M(!1),y=M(""),x=M(!1),k=M(!1),D=M(""),P=M(""),A=M(""),q=M(!1),z=M(!1),oe=M(""),ie=M(""),be=M(!1),ye=M(null),qe=M(!1),Oe=M("publishClientSend"),rt=M(""),vt=M(!0),Ce=M(""),yt=M(!1),ut=M(""),Rt=M(""),Fe=M(!1),Ht=M(mi([])),Ye=M(""),ge=M(!1),lt=M(null),Nt=M(""),ti=M(""),Ot=M(!1),Lt=M(!1);const Pt=[{acltype:"publishClientSend",label:"Publish (send)"},{acltype:"publishClientReceive",label:"Publish (receive)"},{acltype:"subscribe",label:"Subscribe"},{acltype:"unsubscribe",label:"Unsubscribe"}];async function Ct(){var ke,Qe;b(Lt,!1),b(Ye,""),b(ti,"");try{const[xt,jt]=await Promise.allSettled([QN(),_q()]);if(xt.status==="fulfilled"){const Si=Object.fromEntries(xt.value.acls.map(gi=>[gi.acltype,gi.allow]));b(Ht,Pt.map(({acltype:gi})=>({acltype:gi,allow:Si[gi]??(gi==="publishClientReceive"||gi==="unsubscribe")})),!0)}else b(Ye,((ke=xt.reason)==null?void 0:ke.message)??"Failed to load default ACLs",!0);jt.status==="fulfilled"?(b(lt,jt.value.group,!0),b(Nt,jt.value.group??"",!0)):b(ti,((Qe=jt.reason)==null?void 0:Qe.message)??"Failed to load anonymous group",!0)}finally{b(Lt,!0)}}async function _i(ke,Qe){b(Ht,c(Ht).map(xt=>xt.acltype===ke?{...xt,allow:Qe}:xt),!0),b(ge,!0),b(Ye,"");try{await pq(c(Ht))}catch(xt){b(Ye,xt.message,!0)}finally{b(ge,!1)}}async function fi(){b(Ot,!0),b(ti,"");try{await mq(c(Nt)||null),b(lt,c(Nt)||null,!0)}catch(ke){b(ti,ke.message,!0)}finally{b(Ot,!1)}}let Zt=M(null),Ti=M(""),Mi=M("");const Ni=dt(()=>{var ke,Qe,xt,jt,Si,gi;return c(Zt)?c(Zt).type==="user-roles"?((Qe=(ke=c(i).find(li=>li.username===c(Zt).target))==null?void 0:ke.roles)==null?void 0:Qe.map(li=>li.rolename))??[]:c(Zt).type==="group-members"?((jt=(xt=c(s).find(li=>li.groupname===c(Zt).target))==null?void 0:xt.clients)==null?void 0:jt.map(li=>li.username))??[]:((gi=(Si=c(s).find(li=>li.groupname===c(Zt).target))==null?void 0:Si.roles)==null?void 0:gi.map(li=>li.rolename))??[]:[]}),Ci=dt(()=>c(Zt)?(c(Zt).type==="user-roles"||c(Zt).type==="group-roles"?c(n).map(ke=>ke.rolename):c(i).map(ke=>ke.username)).filter(ke=>!c(Ni).includes(ke)):[]),di=dt(()=>c(Zt)?c(Zt).type==="user-roles"?`Roles for user "${c(Zt).target}"`:c(Zt).type==="group-members"?`Members of group "${c(Zt).target}"`:`Roles for group "${c(Zt).target}"`:""),vi=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function Je(){var ke,Qe,xt;try{const[jt,Si,gi]=await Promise.allSettled([Lk(),XN(),YN()]);jt.status==="fulfilled"?(b(i,jt.value.users,!0),b(r,"")):b(r,((ke=jt.reason)==null?void 0:ke.message)??"Failed to load users",!0),Si.status==="fulfilled"?(b(n,Si.value.roles,!0),b(a,"")):b(a,((Qe=Si.reason)==null?void 0:Qe.message)??"Failed to load roles",!0),gi.status==="fulfilled"?(b(s,gi.value.groups,!0),b(d,"")):b(d,((xt=gi.reason)==null?void 0:xt.message)??"Failed to load groups",!0)}catch{}}co(()=>{Je()});async function $t(){b(y,""),b(x,!0);try{await ZN(c(g),c(p)),b(g,""),b(p,""),b(f,!1),await Je()}catch(ke){b(y,ke.message??"Failed to create user",!0)}finally{b(x,!1)}}async function yi(ke){if(confirm(`Delete user "${ke}"?`))try{await tq(ke),await Je()}catch(Qe){b(r,Qe.message,!0)}}async function Oi(ke){b(D,ke,!0),b(P,""),b(A,""),b(k,!0)}async function on(){b(A,""),b(q,!0);try{await iq(c(D),c(P)),b(k,!1)}catch(ke){b(A,ke.message,!0)}finally{b(q,!1)}}async function Ri(){b(ie,""),b(be,!0);try{await oq(c(oe)),b(oe,""),b(z,!1),await Je()}catch(ke){b(ie,ke.message??"Failed to create role",!0)}finally{b(be,!1)}}async function Gi(ke){var Qe;if(confirm(`Delete role "${ke}"?`))try{await rq(ke),((Qe=c(ye))==null?void 0:Qe.rolename)===ke&&(b(ye,null),b(qe,!1)),await Je()}catch(xt){b(a,xt.message,!0)}}function Fi(ke){b(ye,ke,!0),b(qe,!0),b(Oe,"publishClientSend"),b(rt,""),b(vt,!0),b(Ce,"")}async function nn(){if(c(ye)){b(Ce,"");try{await aq(c(ye).rolename,{acltype:c(Oe),topic:c(rt),allow:c(vt)}),b(rt,""),await Je(),b(ye,c(n).find(ke=>ke.rolename===c(ye).rolename)??c(ye),!0)}catch(ke){b(Ce,ke.message,!0)}}}async function Hi(ke,Qe,xt){try{await lq(ke,Qe,xt),await Je(),b(ye,c(n).find(jt=>jt.rolename===ke)??c(ye),!0)}catch(jt){b(Ce,jt.message,!0)}}async function Cn(){b(Rt,""),b(Fe,!0);try{await cq(c(ut)),b(ut,""),b(yt,!1),await Je()}catch(ke){b(Rt,ke.message??"Failed to create group",!0)}finally{b(Fe,!1)}}async function Ue(ke){if(confirm(`Delete group "${ke}"?`))try{await dq(ke),await Je()}catch(Qe){b(d,Qe.message,!0)}}function zt(ke,Qe){b(Zt,{type:ke,target:Qe},!0),b(Ti,""),b(Mi,"")}async function ui(){if(!(!c(Zt)||!c(Ti))){b(Mi,"");try{const{type:ke,target:Qe}=c(Zt);ke==="user-roles"?await nq(Qe,c(Ti)):ke==="group-members"?await uq(Qe,c(Ti)):await fq(Qe,c(Ti)),b(Ti,""),await Je()}catch(ke){b(Mi,ke.message,!0)}}}async function xi(ke){if(c(Zt)){b(Mi,"");try{const{type:Qe,target:xt}=c(Zt);Qe==="user-roles"?await sq(xt,ke):Qe==="group-members"?await hq(xt,ke):await gq(xt,ke),await Je()}catch(Qe){b(Mi,Qe.message,!0)}}}var ki=qQ(),mn=St(ki),Ii=m(mn);{var nt=ke=>{var Qe=fQ();E(ke,Qe)};H(Ii,ke=>{t()||ke(nt)})}var Et=v(Ii,2),Me=m(Et);let Q;var Ae=v(Me,2);let ot;var at=v(Ae,2);let ht;var F=v(at,2);let ne;var he=v(F,2),He=v(Et,2);{var Ze=ke=>{var Qe=mQ(),xt=m(Qe),jt=v(m(xt),2),Si=v(xt,2);{var gi=N=>{var Y=qr(),pe=m(Y);V(()=>O(pe,c(r))),E(N,Y)};H(Si,N=>{c(r)&&N(gi)})}var li=v(Si,2);{var It=N=>{var Y=gQ();E(N,Y)},oi=N=>{var Y=_Q(),pe=v(m(Y));ai(pe,21,()=>c(i),Wi,(K,B)=>{var G=pQ(),se=m(G),xe=m(se),ee=v(se);ai(ee,21,()=>c(B).roles??[],Wi,(j,te)=>{var fe=bD(),Te=m(fe);V(()=>O(Te,c(te).rolename)),E(j,fe)});var le=v(ee);ai(le,21,()=>c(B).groups??[],Wi,(j,te)=>{var fe=yD(),Te=m(fe);V(()=>O(Te,c(te).groupname)),E(j,fe)});var ze=v(le),ce=m(ze),we=v(ce,2),st=v(we,2);V(()=>O(xe,c(B).username)),U("click",ce,()=>zt("user-roles",c(B).username)),U("click",we,()=>Oi(c(B).username)),U("click",st,()=>yi(c(B).username)),E(K,G)}),E(N,Y)};H(li,N=>{c(i).length===0?N(It):N(oi,-1)})}U("click",jt,()=>{b(f,!0),b(y,"")}),E(ke,Qe)};H(He,ke=>{c(u)==="users"&&ke(Ze)})}var Z=v(He,2);{var re=ke=>{var Qe=wQ(),xt=m(Qe),jt=v(m(xt),2),Si=v(xt,2);{var gi=N=>{var Y=qr(),pe=m(Y);V(()=>O(pe,c(a))),E(N,Y)};H(Si,N=>{c(a)&&N(gi)})}var li=v(Si,2);{var It=N=>{var Y=vQ();E(N,Y)},oi=N=>{var Y=yQ(),pe=v(m(Y));ai(pe,21,()=>c(n),Wi,(K,B)=>{var G=bQ(),se=m(G),xe=m(se),ee=v(se),le=m(ee),ze=v(ee),ce=m(ze),we=v(ce,2);V(()=>{var st;O(xe,c(B).rolename),O(le,((st=c(B).acls)==null?void 0:st.length)??0)}),U("click",ce,()=>Fi(c(B))),U("click",we,()=>Gi(c(B).rolename)),E(K,G)}),E(N,Y)};H(li,N=>{c(n).length===0?N(It):N(oi,-1)})}U("click",jt,()=>{b(z,!0),b(ie,""),b(oe,"")}),E(ke,Qe)};H(Z,ke=>{c(u)==="roles"&&ke(re)})}var ae=v(Z,2);{var Ve=ke=>{var Qe=kQ(),xt=m(Qe),jt=v(m(xt),2),Si=v(xt,2);{var gi=N=>{var Y=qr(),pe=m(Y);V(()=>O(pe,c(d))),E(N,Y)};H(Si,N=>{c(d)&&N(gi)})}var li=v(Si,2);{var It=N=>{var Y=SQ();E(N,Y)},oi=N=>{var Y=xQ(),pe=v(m(Y));ai(pe,21,()=>c(s),Wi,(K,B)=>{var G=CQ(),se=m(G),xe=m(se),ee=v(se);ai(ee,21,()=>c(B).clients??[],Wi,(j,te)=>{var fe=bD(),Te=m(fe);V(()=>O(Te,c(te).username)),E(j,fe)});var le=v(ee);ai(le,21,()=>c(B).roles??[],Wi,(j,te)=>{var fe=yD(),Te=m(fe);V(()=>O(Te,c(te).rolename)),E(j,fe)});var ze=v(le),ce=m(ze),we=v(ce,2),st=v(we,2);V(()=>O(xe,c(B).groupname)),U("click",ce,()=>zt("group-members",c(B).groupname)),U("click",we,()=>zt("group-roles",c(B).groupname)),U("click",st,()=>Ue(c(B).groupname)),E(K,G)}),E(N,Y)};H(li,N=>{c(s).length===0?N(It):N(oi,-1)})}U("click",jt,()=>{b(yt,!0),b(Rt,""),b(ut,"")}),E(ke,Qe)};H(ae,ke=>{c(u)==="groups"&&ke(Ve)})}var et=v(ae,2);{var Be=ke=>{var Qe=PQ(),xt=m(Qe),jt=v(m(xt),4);{var Si=G=>{var se=qr(),xe=m(se);V(()=>O(xe,c(Ye))),E(G,se)};H(jt,G=>{c(Ye)&&G(Si)})}var gi=v(jt,2);{var li=G=>{var se=wD();E(G,se)},It=G=>{var se=IQ(),xe=v(m(se));ai(xe,21,()=>Pt,Wi,(ee,le)=>{let ze=()=>c(le).acltype,ce=()=>c(le).label;const we=dt(()=>c(Ht).find(ct=>ct.acltype===ze()));var st=LQ();let j;var te=m(st),fe=m(te),Te=v(te),Ie=m(Te),Ee=v(Te),kt=m(Ee);V(()=>{var ct,Ke;j=Tt(st,1,"svelte-3itf14",null,j,{saving:c(ge)}),O(fe,ce()),Ai(Ie,"name",ze()),hd(Ie,((ct=c(we))==null?void 0:ct.allow)===!0),Ai(kt,"name",ze()),hd(kt,((Ke=c(we))==null?void 0:Ke.allow)===!1)}),U("change",Ie,()=>_i(ze(),!0)),U("change",kt,()=>_i(ze(),!1)),E(ee,st)}),E(G,se)};H(gi,G=>{c(Lt)?G(It,-1):G(li)})}var oi=v(xt,2),N=v(m(oi),4);{var Y=G=>{var se=qr(),xe=m(se);V(()=>O(xe,c(ti))),E(G,se)};H(N,G=>{c(ti)&&G(Y)})}var pe=v(N,2);{var K=G=>{var se=wD();E(G,se)},B=G=>{var se=TQ(),xe=St(se),ee=m(xe),le=m(ee);le.value=le.__value="";var ze=v(le);ai(ze,17,()=>c(s),Wi,(fe,Te)=>{var Ie=mS(),Ee=m(Ie),kt={};V(()=>{O(Ee,c(Te).groupname),kt!==(kt=c(Te).groupname)&&(Ie.value=(Ie.__value=c(Te).groupname)??"")}),E(fe,Ie)});var ce=v(ee,2),we=m(ce),st=v(xe,2);{var j=fe=>{var Te=EQ(),Ie=v(m(Te)),Ee=m(Ie);V(()=>O(Ee,c(lt))),E(fe,Te)},te=fe=>{var Te=DQ();E(fe,Te)};H(st,fe=>{c(lt)?fe(j):fe(te,-1)})}V(()=>{ce.disabled=c(Ot)||c(Nt)===(c(lt)??""),O(we,c(Ot)?"Saving…":"Save")}),fo(ee,()=>c(Nt),fe=>b(Nt,fe)),U("click",ce,fi),E(G,se)};H(pe,G=>{c(Lt)?G(B,-1):G(K)})}E(ke,Qe)};H(et,ke=>{c(u)==="settings"&&ke(Be)})}var We=v(mn,2);{var bt=ke=>{var Qe=MQ(),xt=m(Qe),jt=v(m(xt),2),Si=v(m(jt)),gi=v(jt,2),li=v(m(gi)),It=m(li),oi=v(It,2),N=m(oi),Y=v(gi,2);{var pe=xe=>{var ee=qr(),le=m(ee);V(()=>O(le,c(y))),E(xe,ee)};H(Y,xe=>{c(y)&&xe(pe)})}var K=v(Y,2),B=m(K),G=v(B,2),se=m(G);V(()=>{Ai(It,"type",c(w)?"text":"password"),O(N,c(w)?"Hide":"Show"),G.disabled=c(x)||!c(g)||!c(p),O(se,c(x)?"Creating…":"Create")}),Qt(Si,()=>c(g),xe=>b(g,xe)),Qt(It,()=>c(p),xe=>b(p,xe)),U("click",oi,()=>b(w,!c(w))),U("click",B,()=>b(f,!1)),U("click",G,$t),E(ke,Qe)};H(We,ke=>{c(f)&&ke(bt)})}var Vt=v(We,2);{var Ft=ke=>{var Qe=RQ(),xt=m(Qe),jt=m(xt),Si=v(m(jt)),gi=m(Si),li=v(jt,2),It=v(m(li)),oi=v(li,2);{var N=G=>{var se=qr(),xe=m(se);V(()=>O(xe,c(A))),E(G,se)};H(oi,G=>{c(A)&&G(N)})}var Y=v(oi,2),pe=m(Y),K=v(pe,2),B=m(K);V(()=>{O(gi,c(D)),K.disabled=c(q)||!c(P),O(B,c(q)?"Saving…":"Set password")}),Qt(It,()=>c(P),G=>b(P,G)),U("click",pe,()=>b(k,!1)),U("click",K,on),E(ke,Qe)};H(Vt,ke=>{c(k)&&ke(Ft)})}var ii=v(Vt,2);{var pi=ke=>{var Qe=NQ(),xt=m(Qe),jt=v(m(xt),2),Si=v(m(jt)),gi=v(jt,2);{var li=pe=>{var K=qr(),B=m(K);V(()=>O(B,c(ie))),E(pe,K)};H(gi,pe=>{c(ie)&&pe(li)})}var It=v(gi,2),oi=m(It),N=v(oi,2),Y=m(N);V(()=>{N.disabled=c(be)||!c(oe),O(Y,c(be)?"Creating…":"Create")}),Qt(Si,()=>c(oe),pe=>b(oe,pe)),U("click",oi,()=>b(z,!1)),U("click",N,Ri),E(ke,Qe)};H(ii,ke=>{c(z)&&ke(pi)})}var si=v(ii,2);{var wi=ke=>{var Qe=HQ(),xt=m(Qe),jt=m(xt),Si=v(m(jt)),gi=m(Si),li=v(jt,2);{var It=ze=>{var ce=OQ(),we=v(m(ce));ai(we,21,()=>c(ye).acls??[],Wi,(st,j)=>{var te=AQ(),fe=m(te),Te=m(fe),Ie=v(fe),Ee=m(Ie),kt=v(Ie),ct=m(kt),Ke=v(kt),Mt=m(Ke);V(()=>{O(Te,c(j).acltype),O(Ee,c(j).topic),O(ct,c(j).allow?"✓":"✗")}),U("click",Mt,()=>Hi(c(ye).rolename,c(j).acltype,c(j).topic)),E(st,te)}),E(ze,ce)},oi=ze=>{var ce=FQ();E(ze,ce)};H(li,ze=>{var ce;(((ce=c(ye).acls)==null?void 0:ce.length)??0)>0?ze(It):ze(oi,-1)})}var N=v(li,2),Y=m(N);ai(Y,21,()=>vi,Wi,(ze,ce)=>{var we=mS(),st=m(we),j={};V(()=>{O(st,c(ce)),j!==(j=c(ce))&&(we.value=(we.__value=c(ce))??"")}),E(ze,we)});var pe=v(Y,2),K=v(pe,2),B=m(K),G=v(K,2),se=v(N,2);{var xe=ze=>{var ce=qr(),we=m(ce);V(()=>O(we,c(Ce))),E(ze,ce)};H(se,ze=>{c(Ce)&&ze(xe)})}var ee=v(se,2),le=m(ee);V(()=>{O(gi,c(ye).rolename),G.disabled=!c(rt)}),fo(Y,()=>c(Oe),ze=>b(Oe,ze)),Qt(pe,()=>c(rt),ze=>b(rt,ze)),xs(B,()=>c(vt),ze=>b(vt,ze)),U("click",G,nn),U("click",le,()=>b(qe,!1)),E(ke,Qe)};H(si,ke=>{c(qe)&&c(ye)&&ke(wi)})}var Ei=v(si,2);{var Pi=ke=>{var Qe=WQ(),xt=m(Qe),jt=v(m(xt),2),Si=v(m(jt)),gi=v(jt,2);{var li=pe=>{var K=qr(),B=m(K);V(()=>O(B,c(Rt))),E(pe,K)};H(gi,pe=>{c(Rt)&&pe(li)})}var It=v(gi,2),oi=m(It),N=v(oi,2),Y=m(N);V(()=>{N.disabled=c(Fe)||!c(ut),O(Y,c(Fe)?"Creating…":"Create")}),Qt(Si,()=>c(ut),pe=>b(ut,pe)),U("click",oi,()=>b(yt,!1)),U("click",N,Cn),E(ke,Qe)};H(Ei,ke=>{c(yt)&&ke(Pi)})}var Ki=v(Ei,2);{var zi=ke=>{var Qe=UQ(),xt=m(Qe),jt=m(xt),Si=m(jt),gi=v(jt,2);{var li=se=>{var xe=zQ();ai(xe,21,()=>c(Ni),Wi,(ee,le)=>{var ze=BQ(),ce=m(ze),we=m(ce),st=v(ce,2);V(()=>O(we,c(le))),U("click",st,()=>xi(c(le))),E(ee,ze)}),E(se,xe)},It=se=>{var xe=VQ();E(se,xe)};H(gi,se=>{c(Ni).length>0?se(li):se(It,-1)})}var oi=v(gi,2);{var N=se=>{var xe=jQ(),ee=m(xe),le=m(ee);le.value=le.__value="";var ze=v(le);ai(ze,17,()=>c(Ci),Wi,(we,st)=>{var j=mS(),te=m(j),fe={};V(()=>{O(te,c(st)),fe!==(fe=c(st))&&(j.value=(j.__value=c(st))??"")}),E(we,j)});var ce=v(ee,2);V(()=>ce.disabled=!c(Ti)),fo(ee,()=>c(Ti),we=>b(Ti,we)),U("click",ce,ui),E(se,xe)},Y=se=>{var xe=$Q();E(se,xe)};H(oi,se=>{c(Ci).length>0?se(N):se(Y,-1)})}var pe=v(oi,2);{var K=se=>{var xe=qr(),ee=m(xe);V(()=>O(ee,c(Mi))),E(se,xe)};H(pe,se=>{c(Mi)&&se(K)})}var B=v(pe,2),G=m(B);V(()=>O(Si,c(di))),U("click",G,()=>b(Zt,null)),E(ke,Qe)};H(Ki,ke=>{c(Zt)&&ke(zi)})}V(()=>{Q=Tt(Me,1,"svelte-3itf14",null,Q,{active:c(u)==="users"}),ot=Tt(Ae,1,"svelte-3itf14",null,ot,{active:c(u)==="roles"}),ht=Tt(at,1,"svelte-3itf14",null,ht,{active:c(u)==="groups"}),ne=Tt(F,1,"svelte-3itf14",null,ne,{active:c(u)==="settings"})}),U("click",Me,()=>b(u,"users")),U("click",Ae,()=>b(u,"roles")),U("click",at,()=>b(u,"groups")),U("click",F,()=>{b(u,"settings"),c(Lt)||Ct()}),U("click",he,Je),E(o,ki),Hs()}Qs(["click","change"]);var SD=T('<div class="err svelte-9i68x"> </div>'),KQ=T('<div class="ok svelte-9i68x">Saved.</div>'),ZQ=T('<div class="reload-msg svelte-9i68x"> </div>'),XQ=T('<div class="loading svelte-9i68x">Loading…</div>'),YQ=T('<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"/> Require client certificate (require_certificate)</label> <label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> Use cert CN as username (use_identity_as_username)</label></div></div>'),QQ=T('<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></div> <div class="tls-toggle-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox"/> TLS</label></div> <!></div>'),JQ=T('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),eJ=T('<div class="cards svelte-9i68x"><!> <!></div>'),tJ=T('<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 iJ(o,e){Fs(e,!0);let t=M(null),i=M(""),n=M(!1),s=M(""),r=M(!1),a=M(!1),d=M(""),u=M(mi([])),f=M(null);co(()=>{g()});async function g(){try{b(t,await K7(),!0),b(u,JSON.parse(JSON.stringify(c(t).listeners)),!0),b(f,c(t).checksum,!0),b(i,"")}catch(ge){b(i,ge.message??"Failed to load broker config",!0)}}function p(){b(u,[...c(u),{port:1883,bindAddress:"",protocol:"mqtt",tls:{}}],!0)}function w(ge){b(u,c(u).filter((lt,Nt)=>Nt!==ge),!0)}async function y(){if(c(t)){b(n,!0),b(s,""),b(r,!1);try{await Z7({listeners:c(u),managed:c(t).managed,passthrough:c(t).passthrough,checksum:c(f)}),b(r,!0),setTimeout(()=>b(r,!1),3e3),await g()}catch(ge){b(s,ge.message??"Save failed",!0)}finally{b(n,!1)}}}async function x(){b(a,!0),b(d,"");try{const ge=await X7();b(d,ge.stderr||ge.stdout||"Reloaded",!0)}catch(ge){b(d,"Error: "+(ge.message??"reload failed"))}finally{b(a,!1)}}function k(ge){var lt,Nt,ti,Ot;return!!((lt=ge.tls)!=null&&lt.certfile||(Nt=ge.tls)!=null&&Nt.keyfile||(ti=ge.tls)!=null&&ti.capath||(Ot=ge.tls)!=null&&Ot.cafile)}function D(ge,lt){lt||(ge.tls={}),b(u,[...c(u)],!0)}var P=tJ(),A=m(P),q=v(m(A),2),z=m(q),oe=v(z,2),ie=m(oe),be=v(oe,2),ye=m(be),qe=v(A,2);{var Oe=ge=>{var lt=SD(),Nt=m(lt);V(()=>O(Nt,c(i))),E(ge,lt)};H(qe,ge=>{c(i)&&ge(Oe)})}var rt=v(qe,2);{var vt=ge=>{var lt=SD(),Nt=m(lt);V(()=>O(Nt,c(s))),E(ge,lt)};H(rt,ge=>{c(s)&&ge(vt)})}var Ce=v(rt,2);{var yt=ge=>{var lt=KQ();E(ge,lt)};H(Ce,ge=>{c(r)&&ge(yt)})}var ut=v(Ce,2);{var Rt=ge=>{var lt=ZQ(),Nt=m(lt);V(()=>O(Nt,c(d))),E(ge,lt)};H(ut,ge=>{c(d)&&ge(Rt)})}var Fe=v(ut,2);{var Ht=ge=>{var lt=XQ();E(ge,lt)},Ye=ge=>{var lt=eJ(),Nt=m(lt);ai(Nt,17,()=>c(u),Wi,(Lt,Pt,Ct)=>{var _i=QQ(),fi=m(_i),Zt=m(fi),Ti=m(Zt),Mi=v(Zt,2),Ni=v(fi,2),Ci=m(Ni),di=v(m(Ci)),vi=v(Ci,2),Je=v(m(vi)),$t=m(Je);$t.value=$t.__value="mqtt";var yi=v($t);yi.value=yi.__value="websockets";var Oi=v(vi,2),on=v(m(Oi)),Ri=v(Ni,2),Gi=m(Ri),Fi=m(Gi),nn=v(Ri,2);{var Hi=Ue=>{var zt=YQ(),ui=m(zt),xi=m(ui),ki=v(m(xi)),mn=v(xi,2),Ii=v(m(mn)),nt=v(ui,2),Et=m(nt),Me=v(m(Et)),Q=v(Et,2),Ae=v(m(Q)),ot=v(nt,2),at=m(ot),ht=v(m(at)),F=v(at,2),ne=v(m(F)),he=m(ne);he.value=he.__value="";var He=v(he);He.value=He.__value="tlsv1.3";var Ze=v(He);Ze.value=Ze.__value="tlsv1.2";var Z=v(ot,2),re=m(Z),ae=m(re),Ve=v(re,2),et=m(Ve);Qt(ki,()=>c(Pt).tls.certfile,Be=>c(Pt).tls.certfile=Be),Qt(Ii,()=>c(Pt).tls.keyfile,Be=>c(Pt).tls.keyfile=Be),Qt(Me,()=>c(Pt).tls.cafile,Be=>c(Pt).tls.cafile=Be),Qt(Ae,()=>c(Pt).tls.capath,Be=>c(Pt).tls.capath=Be),Qt(ht,()=>c(Pt).tls.crlfile,Be=>c(Pt).tls.crlfile=Be),fo(ne,()=>c(Pt).tls.tls_version,Be=>c(Pt).tls.tls_version=Be),xs(ae,()=>c(Pt).tls.require_certificate,Be=>c(Pt).tls.require_certificate=Be),xs(et,()=>c(Pt).tls.use_identity_as_username,Be=>c(Pt).tls.use_identity_as_username=Be),E(Ue,zt)},Cn=dt(()=>k(c(Pt)));H(nn,Ue=>{c(Cn)&&Ue(Hi)})}V(Ue=>{O(Ti,`Port ${c(Pt).port??""}`),hd(Fi,Ue)},[()=>k(c(Pt))]),U("click",Mi,()=>w(Ct)),Qt(di,()=>c(Pt).port,Ue=>c(Pt).port=Ue),fo(Je,()=>c(Pt).protocol,Ue=>c(Pt).protocol=Ue),Qt(on,()=>c(Pt).bindAddress,Ue=>c(Pt).bindAddress=Ue),U("change",Fi,Ue=>D(c(Pt),Ue.target.checked)),E(Lt,_i)});var ti=v(Nt,2);{var Ot=Lt=>{var Pt=JQ();E(Lt,Pt)};H(ti,Lt=>{c(u).length===0&&Lt(Ot)})}E(ge,lt)};H(Fe,ge=>{c(t)===null&&!c(i)?ge(Ht):ge(Ye,-1)})}V(()=>{oe.disabled=c(n),O(ie,c(n)?"Saving…":"Save"),be.disabled=c(a),O(ye,c(a)?"Reloading…":"Apply & Reload")}),U("click",z,p),U("click",oe,y),U("click",be,x),E(o,P),Hs()}Qs(["click","change"]);var mh=T('<div class="err svelte-9auejo"> </div>'),nJ=T('<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 class="card-actions svelte-9auejo"><a class="btn-download svelte-9auejo" download="ca.crt">Download ca.crt</a></div></div>'),sJ=T('<div class="empty svelte-9auejo">No local CA generated yet.</div>'),oJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Local Certificate Authority</h3> <button class="svelte-9auejo"> </button></div> <!></div>'),rJ=T('<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>'),aJ=T('<div class="empty svelte-9auejo">No managed server certificate yet. Generate one or configure paths manually in Listeners.</div>'),lJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Server Certificate</h3> <button class="svelte-9auejo"> </button></div> <!></div>'),cJ=T('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),dJ=T('<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>'),uJ=T('<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>'),hJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Trusted CA Certificates (capath)</h3> <button class="svelte-9auejo">+ Add CA cert</button></div> <!></div>'),fJ=T('<div class="empty svelte-9auejo">No client certificates issued yet.</div>'),gJ=T('<th class="svelte-9auejo">User</th>'),pJ=T('<span class="badge-revoked svelte-9auejo">Revoked</span>'),_J=T('<span class="badge-expired svelte-9auejo">Expired</span>'),mJ=T('<span class="badge-expiring svelte-9auejo">Expiring soon</span>'),vJ=T('<span class="badge-ok svelte-9auejo">Valid</span>'),bJ=T('<span class="badge-user-linked svelte-9auejo" title="dynsec user exists with matching username">linked</span>'),yJ=T('<span class="badge-user-none svelte-9auejo" title="No dynsec user with this CN">—</span>'),wJ=T('<td class="svelte-9auejo"><!></td>'),SJ=T('<a class="btn-dl svelte-9auejo">.p12</a> <a class="btn-dl svelte-9auejo">.crt</a> <a class="btn-dl svelte-9auejo">.key</a> <button class="danger svelte-9auejo">Revoke</button>',1),CJ=T('<tr><td class="mono svelte-9auejo"> </td><td class="mono small svelte-9auejo"> </td><td class="svelte-9auejo"> </td><td> </td><td class="svelte-9auejo"><!></td><!><td class="actions svelte-9auejo"><!></td></tr>'),xJ=T('<table class="svelte-9auejo"><thead><tr><th class="svelte-9auejo">CN</th><th class="svelte-9auejo">Serial</th><th class="svelte-9auejo">Issued</th><th class="svelte-9auejo">Expires</th><th class="svelte-9auejo">Status</th><!><th class="svelte-9auejo"></th></tr></thead><tbody></tbody></table>'),kJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Issued Client Certificates</h3> <button class="svelte-9auejo">+ Issue cert</button></div> <!></div>'),LJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate Local CA</h3> <label class="svelte-9auejo">Common Name<input 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">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),IJ=T('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Server cert generated</p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Cert path</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Key path</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd></dl> <p class="hint svelte-9auejo">Update your Listeners config to use these paths, then Apply & Reload.</p></div>'),EJ=T('<button class="btn-primary svelte-9auejo"> </button>'),DJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate Server Certificate</h3> <label class="svelte-9auejo">Common Name (hostname)<input placeholder="mybroker.local" class="svelte-9auejo"/></label> <label class="svelte-9auejo">SANs (comma-separated IPs/hostnames)<input placeholder="192.168.1.10, mybroker.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>'),TJ=T("<option></option>"),PJ=T('<datalist id="issue-cn-list"></datalist> <div class="mtls-hint svelte-9auejo">ℹ For mTLS auth the CN must match a dynsec username. Enable <em>use_identity_as_username</em> in the Listeners tab.</div> <label class="toggle-label svelte-9auejo"><input type="checkbox" class="svelte-9auejo"/> </label>',1),MJ=T('<label class="svelte-9auejo">Common Name (device ID) <input placeholder="esp32-bedroom" list="issue-cn-list" autocomplete="off" 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">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),RJ=T('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Certificate issued for <strong> </strong></p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Serial</dt><dd class="mono svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">PKCS#12 passphrase</dt> <dd class="svelte-9auejo"><code class="passphrase svelte-9auejo"> </code> <small>(shown once — save it now)</small></dd></dl> <div class="download-row svelte-9auejo"><a class="btn-dl svelte-9auejo">Download .p12</a> <a class="btn-dl svelte-9auejo">Download .crt</a> <a class="btn-dl svelte-9auejo">Download .key</a> <a class="btn-dl svelte-9auejo" download="ca.crt">Download CA</a></div></div> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button></div>',1),NJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Issue Client Certificate</h3> <!></div></div>'),AJ=T('<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> <label class="svelte-9auejo">PEM certificate <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></div></div>'),OJ=T('<div class="certs-page svelte-9auejo"><div class="panel-tabs svelte-9auejo"><button>Local CA</button> <button>Server Cert</button> <button>Trusted CAs</button> <button>Client Certs</button> <button class="reload-btn svelte-9auejo" title="Refresh">↺</button></div> <!> <!> <!></div> <!> <!> <!> <!>',1);function FJ(o,e){Fs(e,!0);let t=M("ca"),i=M(null),n=M(null),s=M(mi([])),r=M(mi([])),a=M(""),d=M(!1),u=M("she-broker-ca"),f=M(365),g=M(!1),p=M(""),w=M(!1),y=M(""),x=M(""),k=M(365),D=M(!1),P=M(""),A=M(null),q=M(!1),z=M(""),oe=M(365),ie=M(!1),be=M(""),ye=M(null),qe=M(!1),Oe=M(!1),rt=M(mi([])),vt=M(!1),Ce=M(""),yt=M(!1),ut=M(""),Rt=M("");async function Fe(){try{const[nt,Et,Me,Q,Ae]=await Promise.allSettled([vq(),yq(),Sq(),kq(),lw()]);if(nt.status==="fulfilled"&&b(i,nt.value.ca,!0),Et.status==="fulfilled"&&b(n,Et.value.server,!0),Me.status==="fulfilled"&&b(s,Me.value.certs,!0),Q.status==="fulfilled"&&b(r,Q.value.certs,!0),Ae.status==="fulfilled"&&b(Oe,Ae.value.dynsec.dynsecReady,!0),c(Oe))try{const{users:ot}=await Lk();b(rt,ot.map(at=>at.username),!0)}catch{b(rt,[],!0)}b(a,"")}catch(nt){b(a,nt.message,!0)}}co(()=>{Fe()});async function Ht(){b(p,""),b(g,!0);try{await bq({cn:c(u),days:c(f)}),b(d,!1),await Fe()}catch(nt){b(p,nt.message,!0)}finally{b(g,!1)}}async function Ye(){b(P,""),b(D,!0),b(A,null);try{const nt=c(x).split(",").map(Me=>Me.trim()).filter(Boolean),Et=await wq({cn:c(y),san:nt,days:c(k)});b(A,Et,!0),await Fe()}catch(nt){b(P,nt.message,!0)}finally{b(D,!1)}}async function ge(){b(be,""),b(ie,!0),b(ye,null);try{const nt=await Cq({cn:c(z),days:c(oe)});if(b(ye,nt,!0),c(qe)&&c(Oe)&&!c(rt).includes(c(z))){const Et=Array.from(crypto.getRandomValues(new Uint8Array(16))).map(Me=>Me.toString(16).padStart(2,"0")).join("");try{await ZN(c(z),Et)}catch{}}b(z,""),await Fe()}catch(nt){b(be,nt.message,!0)}finally{b(ie,!1)}}async function lt(nt){if(confirm(`Revoke certificate for "${nt.cn}" (serial ${nt.serial})?`))try{await xq(nt.serial),await Fe()}catch(Et){b(Rt,Et.message,!0)}}async function Nt(){b(ut,""),b(yt,!0);try{await Lq(c(Ce)),b(Ce,""),b(vt,!1),await Fe()}catch(nt){b(ut,nt.message,!0)}finally{b(yt,!1)}}async function ti(nt){if(confirm("Remove this trusted CA cert?"))try{await Iq(nt),await Fe()}catch(Et){b(Rt,Et.message,!0)}}function Ot(nt){const Et=new Date(nt).getTime()-Date.now();return Et<0?"expired":Et<30*864e5?"expiring":""}function Lt(nt){return new Date(nt).toLocaleDateString()}var Pt=OJ(),Ct=St(Pt),_i=m(Ct),fi=m(_i);let Zt;var Ti=v(fi,2);let Mi;var Ni=v(Ti,2);let Ci;var di=v(Ni,2);let vi;var Je=v(di,2),$t=v(_i,2);{var yi=nt=>{var Et=mh(),Me=m(Et);V(()=>O(Me,c(a))),E(nt,Et)};H($t,nt=>{c(a)&&nt(yi)})}var Oi=v($t,2);{var on=nt=>{var Et=mh(),Me=m(Et);V(()=>O(Me,c(Rt))),E(nt,Et)};H(Oi,nt=>{c(Rt)&&nt(on)})}var Ri=v(Oi,2);{var Gi=nt=>{var Et=oJ(),Me=m(Et),Q=v(m(Me),2),Ae=m(Q),ot=v(Me,2);{var at=F=>{var ne=nJ(),he=m(ne),He=v(m(he)),Ze=m(He),Z=v(He,3),re=m(Z),ae=v(Z,3),Ve=m(ae),et=v(he,2),Be=m(et);V((We,bt,Vt)=>{O(Ze,c(i).cn),O(re,c(i).fingerprint),Tt(ae,1,We,"svelte-9auejo"),O(Ve,bt),Ai(Be,"href",`data:application/x-pem-file;charset=utf-8,${Vt??""}`)},[()=>ud(Ot(c(i).expires)),()=>Lt(c(i).expires),()=>encodeURIComponent(c(i).crt)]),E(F,ne)},ht=F=>{var ne=sJ();E(F,ne)};H(ot,F=>{c(i)?F(at):F(ht,-1)})}V(()=>O(Ae,c(i)?"Regenerate CA":"Generate CA")),U("click",Q,()=>{b(d,!0),b(p,"")}),E(nt,Et)},Fi=nt=>{var Et=lJ(),Me=m(Et),Q=v(m(Me),2),Ae=m(Q),ot=v(Me,2);{var at=F=>{var ne=rJ(),he=m(ne),He=v(m(he)),Ze=m(He),Z=v(He,3),re=m(Z),ae=v(Z,3),Ve=m(ae);V((et,Be)=>{O(Ze,c(n).cn),O(re,c(n).fingerprint),Tt(ae,1,et,"svelte-9auejo"),O(Ve,Be)},[()=>ud(Ot(c(n).expires)),()=>Lt(c(n).expires)]),E(F,ne)},ht=F=>{var ne=aJ();E(F,ne)};H(ot,F=>{c(n)?F(at):F(ht,-1)})}V(()=>O(Ae,c(n)?"Regenerate":"Generate server cert")),U("click",Q,()=>{b(w,!0),b(P,""),b(A,null)}),E(nt,Et)},nn=nt=>{var Et=hJ(),Me=m(Et),Q=v(m(Me),2),Ae=v(Me,2);{var ot=ht=>{var F=cJ();E(ht,F)},at=ht=>{var F=uJ(),ne=v(m(F));ai(ne,21,()=>c(r),Wi,(he,He)=>{var Ze=dJ(),Z=m(Ze),re=m(Z),ae=v(Z),Ve=m(ae),et=v(ae),Be=m(et),We=v(et),bt=m(We);V((Vt,Ft,ii)=>{O(re,c(He).cn),O(Ve,`${Vt??""}…`),Tt(et,1,Ft,"svelte-9auejo"),O(Be,ii)},[()=>c(He).fingerprint.slice(0,29),()=>ud(Ot(c(He).expires)),()=>Lt(c(He).expires)]),U("click",bt,()=>ti(c(He).fingerprint)),E(he,Ze)}),E(ht,F)};H(Ae,ht=>{c(r).length===0?ht(ot):ht(at,-1)})}U("click",Q,()=>{b(vt,!0),b(ut,""),b(Ce,"")}),E(nt,Et)},Hi=nt=>{var Et=kJ(),Me=m(Et),Q=v(m(Me),2),Ae=v(Me,2);{var ot=ht=>{var F=fJ();E(ht,F)},at=ht=>{var F=xJ(),ne=m(F),he=m(ne),He=v(m(he),5);{var Ze=re=>{var ae=gJ();E(re,ae)};H(He,re=>{c(Oe)&&re(Ze)})}var Z=v(ne);ai(Z,21,()=>c(s),Wi,(re,ae)=>{var Ve=CJ(),et=m(Ve),Be=m(et),We=v(et),bt=m(We),Vt=v(We),Ft=m(Vt),ii=v(Vt),pi=m(ii),si=v(ii),wi=m(si);{var Ei=It=>{var oi=pJ();E(It,oi)},Pi=It=>{var oi=_J();E(It,oi)},Ki=dt(()=>Ot(c(ae).expires)==="expired"),zi=It=>{var oi=mJ();E(It,oi)},ke=dt(()=>Ot(c(ae).expires)==="expiring"),Qe=It=>{var oi=vJ();E(It,oi)};H(wi,It=>{c(ae).revoked?It(Ei):c(Ki)?It(Pi,1):c(ke)?It(zi,2):It(Qe,-1)})}var xt=v(si);{var jt=It=>{var oi=wJ(),N=m(oi);{var Y=B=>{var G=bJ();E(B,G)},pe=dt(()=>c(rt).includes(c(ae).cn)),K=B=>{var G=yJ();E(B,G)};H(N,B=>{c(pe)?B(Y):B(K,-1)})}E(It,oi)};H(xt,It=>{c(Oe)&&It(jt)})}var Si=v(xt),gi=m(Si);{var li=It=>{var oi=SJ(),N=St(oi),Y=v(N,2),pe=v(Y,2),K=v(pe,2);V((B,G,se)=>{Ai(N,"href",B),Ai(N,"download",`${c(ae).cn??""}.p12`),Ai(Y,"href",G),Ai(Y,"download",`${c(ae).cn??""}.crt`),Ai(pe,"href",se),Ai(pe,"download",`${c(ae).cn??""}.key`)},[()=>Jc(c(ae).serial,"p12"),()=>Jc(c(ae).serial,"crt"),()=>Jc(c(ae).serial,"key")]),U("click",K,()=>lt(c(ae))),E(It,oi)};H(gi,It=>{c(ae).revoked||It(li)})}V((It,oi,N)=>{O(Be,c(ae).cn),O(bt,c(ae).serial),O(Ft,It),Tt(ii,1,oi,"svelte-9auejo"),O(pi,N)},[()=>new Date(c(ae).issued).toLocaleDateString(),()=>ud(c(ae).revoked?"":Ot(c(ae).expires)),()=>Lt(c(ae).expires)]),E(re,Ve)}),E(ht,F)};H(Ae,ht=>{c(s).length===0?ht(ot):ht(at,-1)})}U("click",Q,()=>{b(q,!0),b(be,""),b(ye,null),b(z,""),b(oe,365),b(qe,!1)}),E(nt,Et)};H(Ri,nt=>{c(t)==="ca"?nt(Gi):c(t)==="server"?nt(Fi,1):c(t)==="trusted"?nt(nn,2):c(t)==="clients"&&nt(Hi,3)})}var Cn=v(Ct,2);{var Ue=nt=>{var Et=LJ(),Me=m(Et),Q=v(m(Me),2),Ae=v(m(Q)),ot=v(Q,2),at=v(m(ot)),ht=v(ot,2);{var F=Z=>{var re=mh(),ae=m(re);V(()=>O(ae,c(p))),E(Z,re)};H(ht,Z=>{c(p)&&Z(F)})}var ne=v(ht,2),he=m(ne),He=v(he,2),Ze=m(He);V(()=>{He.disabled=c(g)||!c(u),O(Ze,c(g)?"Generating…":"Generate")}),Qt(Ae,()=>c(u),Z=>b(u,Z)),Qt(at,()=>c(f),Z=>b(f,Z)),U("click",he,()=>b(d,!1)),U("click",He,Ht),E(nt,Et)};H(Cn,nt=>{c(d)&&nt(Ue)})}var zt=v(Cn,2);{var ui=nt=>{var Et=DJ(),Me=m(Et),Q=v(m(Me),2),Ae=v(m(Q)),ot=v(Q,2),at=v(m(ot)),ht=v(ot,2),F=v(m(ht)),ne=v(ht,2);{var he=et=>{var Be=mh(),We=m(Be);V(()=>O(We,c(P))),E(et,Be)};H(ne,et=>{c(P)&&et(he)})}var He=v(ne,2);{var Ze=et=>{var Be=IJ(),We=v(m(Be),2),bt=v(m(We)),Vt=m(bt),Ft=v(bt,3),ii=m(Ft),pi=v(Ft,3),si=m(pi);V(()=>{O(Vt,c(A).certPath),O(ii,c(A).keyPath),O(si,c(A).fingerprint)}),E(et,Be)};H(He,et=>{c(A)&&et(Ze)})}var Z=v(He,2),re=m(Z),ae=v(re,2);{var Ve=et=>{var Be=EJ(),We=m(Be);V(()=>{Be.disabled=c(D)||!c(y),O(We,c(D)?"Generating…":"Generate")}),U("click",Be,Ye),E(et,Be)};H(ae,et=>{c(A)||et(Ve)})}Qt(Ae,()=>c(y),et=>b(y,et)),Qt(at,()=>c(x),et=>b(x,et)),Qt(F,()=>c(k),et=>b(k,et)),U("click",re,()=>b(w,!1)),E(nt,Et)};H(zt,nt=>{c(w)&&nt(ui)})}var xi=v(zt,2);{var ki=nt=>{var Et=NJ(),Me=m(Et),Q=v(m(Me),2);{var Ae=at=>{var ht=MJ(),F=St(ht),ne=v(m(F)),he=v(F,2);{var He=bt=>{var Vt=PJ(),Ft=St(Vt);ai(Ft,21,()=>c(rt),Wi,(wi,Ei)=>{var Pi=TJ(),Ki={};V(()=>{Ki!==(Ki=c(Ei))&&(Pi.value=(Pi.__value=c(Ei))??"")}),E(wi,Pi)});var ii=v(Ft,4),pi=m(ii),si=v(pi);V(wi=>O(si,` Also create dynsec user "${(c(z)||"…")??""}"${wi??""}`),[()=>c(rt).includes(c(z))?" (already exists)":""]),xs(pi,()=>c(qe),wi=>b(qe,wi)),E(bt,Vt)};H(he,bt=>{c(Oe)&&bt(He)})}var Ze=v(he,2),Z=v(m(Ze)),re=v(Ze,2);{var ae=bt=>{var Vt=mh(),Ft=m(Vt);V(()=>O(Ft,c(be))),E(bt,Vt)};H(re,bt=>{c(be)&&bt(ae)})}var Ve=v(re,2),et=m(Ve),Be=v(et,2),We=m(Be);V(()=>{Be.disabled=c(ie)||!c(z),O(We,c(ie)?"Issuing…":"Issue")}),Qt(ne,()=>c(z),bt=>b(z,bt)),Qt(Z,()=>c(oe),bt=>b(oe,bt)),U("click",et,()=>b(q,!1)),U("click",Be,ge),E(at,ht)},ot=at=>{var ht=RJ(),F=St(ht),ne=m(F),he=v(m(ne)),He=m(he),Ze=v(ne,2),Z=v(m(Ze)),re=m(Z),ae=v(Z,3),Ve=m(ae),et=v(ae,3),Be=m(et),We=v(et,4),bt=m(We),Vt=m(bt),Ft=v(Ze,2),ii=m(Ft),pi=v(ii,2),si=v(pi,2),wi=v(si,2),Ei=v(F,2),Pi=m(Ei);V((Ki,zi,ke,Qe,xt)=>{O(He,c(ye).cn),O(re,c(ye).serial),O(Ve,c(ye).fingerprint),O(Be,Ki),O(Vt,c(ye).passphrase),Ai(ii,"href",zi),Ai(ii,"download",`${c(ye).cn??""}.p12`),Ai(pi,"href",ke),Ai(pi,"download",`${c(ye).cn??""}.crt`),Ai(si,"href",Qe),Ai(si,"download",`${c(ye).cn??""}.key`),Ai(wi,"href",xt)},[()=>Lt(c(ye).expires),()=>Jc(c(ye).serial,"p12"),()=>Jc(c(ye).serial,"crt"),()=>Jc(c(ye).serial,"key"),()=>Jc(c(ye).serial,"ca")]),U("click",Pi,()=>b(q,!1)),E(at,ht)};H(Q,at=>{c(ye)?at(ot,-1):at(Ae)})}E(nt,Et)};H(xi,nt=>{c(q)&&nt(ki)})}var mn=v(xi,2);{var Ii=nt=>{var Et=AJ(),Me=m(Et),Q=v(m(Me),2),Ae=v(m(Q)),ot=v(Q,2);{var at=He=>{var Ze=mh(),Z=m(Ze);V(()=>O(Z,c(ut))),E(He,Ze)};H(ot,He=>{c(ut)&&He(at)})}var ht=v(ot,2),F=m(ht),ne=v(F,2),he=m(ne);V(()=>{ne.disabled=c(yt)||!c(Ce),O(he,c(yt)?"Adding…":"Add")}),Qt(Ae,()=>c(Ce),He=>b(Ce,He)),U("click",F,()=>b(vt,!1)),U("click",ne,Nt),E(nt,Et)};H(mn,nt=>{c(vt)&&nt(Ii)})}V(()=>{Zt=Tt(fi,1,"svelte-9auejo",null,Zt,{active:c(t)==="ca"}),Mi=Tt(Ti,1,"svelte-9auejo",null,Mi,{active:c(t)==="server"}),Ci=Tt(Ni,1,"svelte-9auejo",null,Ci,{active:c(t)==="trusted"}),vi=Tt(di,1,"svelte-9auejo",null,vi,{active:c(t)==="clients"})}),U("click",fi,()=>b(t,"ca")),U("click",Ti,()=>b(t,"server")),U("click",Ni,()=>b(t,"trusted")),U("click",di,()=>b(t,"clients")),U("click",Je,Fe),E(o,Pt),Hs()}Qs(["click"]);var vS=T('<div class="err svelte-17yczfe"> </div>'),HJ=T('<div class="ok svelte-17yczfe">Saved.</div>'),WJ=T('<label class="svelte-17yczfe">Install command (run on your local machine) <div class="pubkey-row svelte-17yczfe"><input readonly="" class="svelte-17yczfe"/> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),BJ=T('<label class="svelte-17yczfe">Public key (copy and install on the broker host) <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),zJ=T('<div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>'),VJ=T("<span> </span>"),jJ=T(`<div class="ssh-page svelte-17yczfe"><!> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH / Remote Mode</h3> <p class="hint svelte-17yczfe">SSH is used only for file operations (mosquitto.conf, certificates). User/ACL management works without SSH as long as she is connected to the broker's MQTT port.</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 class="row svelte-17yczfe"><button class="btn-primary svelte-17yczfe"> </button></div></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH Keypair</h3> <p class="hint svelte-17yczfe">Generate a dedicated Ed25519 keypair for she to authenticate to the broker host. The private key is stored at <code class="svelte-17yczfe"> </code>.</p> <!> <!></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Test SSH Connection</h3> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button> <!></div></div></div>`);function $J(o,e){Fs(e,!0);let t=M(mi({})),i=M(""),n=M(!1),s=M(!1),r=M(""),a=M("~/.she/ssh/broker_id_ed25519"),d=M(""),u=M(!1),f=M(""),g=M(!1),p=M(""),w=M(mi({}));co(async()=>{try{const[Je,$t,yi]=await Promise.all([Dl(),lw(),fetch("/she/broker/ssh/pubkey").then(on=>on.json()).catch(()=>({publicKey:null}))]);b(w,Je,!0),$t.sshKeyDefault&&b(a,$t.sshKeyDefault,!0);const Oi=c(w).broker??{};b(t,Oi.ssh??{},!0),c(t).port||(c(t).port=22),c(t).identityFile||(c(t).identityFile=c(a)),yi.publicKey&&b(d,yi.publicKey,!0)}catch(Je){b(i,Je.message,!0)}});async function y(){b(n,!0),b(r,""),b(s,!1);try{const Je=c(w).broker??{},$t={...c(w),broker:{...Je,ssh:c(t)}};await Xp($t),b(s,!0),setTimeout(()=>b(s,!1),3e3)}catch(Je){b(r,Je.message,!0)}finally{b(n,!1)}}async function x(){b(u,!0),b(f,"");try{const Je=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),$t=await Je.json();if(!Je.ok)throw new Error($t.error??Je.statusText);b(d,$t.publicKey,!0)}catch(Je){b(f,Je.message,!0)}finally{b(u,!1)}}async function k(){b(g,!0),b(p,"");try{const Je=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),$t=await Je.json();if(!Je.ok)throw new Error($t.error??Je.statusText);b(p,$t.ok?"✓ Connection successful":"✗ "+($t.error??"Failed"),!0)}catch(Je){b(p,"✗ "+Je.message)}finally{b(g,!1)}}function D(Je){navigator.clipboard.writeText(Je).catch(()=>{})}const P=dt(()=>c(t).identityFile&&c(t).user&&c(t).host?`ssh-copy-id -i ${c(t).identityFile}.pub ${c(t).user}@${c(t).host}`:"");var A=jJ(),q=m(A);{var z=Je=>{var $t=vS(),yi=m($t);V(()=>O(yi,c(i))),E(Je,$t)};H(q,Je=>{c(i)&&Je(z)})}var oe=v(q,2),ie=v(m(oe),4),be=m(ie),ye=v(m(be)),qe=v(be,2),Oe=v(m(qe)),rt=v(qe,2),vt=v(m(rt)),Ce=v(rt,2),yt=v(m(Ce)),ut=v(ie,2);{var Rt=Je=>{var $t=vS(),yi=m($t);V(()=>O(yi,c(r))),E(Je,$t)};H(ut,Je=>{c(r)&&Je(Rt)})}var Fe=v(ut,2);{var Ht=Je=>{var $t=HJ();E(Je,$t)};H(Fe,Je=>{c(s)&&Je(Ht)})}var Ye=v(Fe,2),ge=m(Ye),lt=m(ge),Nt=v(oe,2),ti=v(m(Nt),2),Ot=v(m(ti)),Lt=m(Ot),Pt=v(ti,2);{var Ct=Je=>{var $t=BJ(),yi=St($t),Oi=v(m(yi)),on=m(Oi),Ri=v(on,2),Gi=v(yi,2);{var Fi=Ue=>{var zt=WJ(),ui=v(m(zt)),xi=m(ui),ki=v(xi,2);V(()=>KL(xi,c(P))),U("click",ki,()=>D(c(P))),E(Ue,zt)};H(Gi,Ue=>{c(P)&&Ue(Fi)})}var nn=v(Gi,2),Hi=m(nn),Cn=m(Hi);V(()=>{KL(on,c(d)),Hi.disabled=c(u),O(Cn,c(u)?"Generating…":"Regenerate keypair")}),U("click",Ri,()=>D(c(d))),U("click",Hi,x),E(Je,$t)},_i=Je=>{var $t=zJ(),yi=m($t),Oi=m(yi);V(()=>{yi.disabled=c(u),O(Oi,c(u)?"Generating…":"Generate keypair")}),U("click",yi,x),E(Je,$t)};H(Pt,Je=>{c(d)?Je(Ct):Je(_i,-1)})}var fi=v(Pt,2);{var Zt=Je=>{var $t=vS(),yi=m($t);V(()=>O(yi,c(f))),E(Je,$t)};H(fi,Je=>{c(f)&&Je(Zt)})}var Ti=v(Nt,2),Mi=v(m(Ti),2),Ni=m(Mi),Ci=m(Ni),di=v(Ni,2);{var vi=Je=>{var $t=VJ();let yi;var Oi=m($t);V(on=>{yi=Tt($t,1,"test-result svelte-17yczfe",null,yi,on),O(Oi,c(p))},[()=>({ok:c(p).startsWith("✓"),fail:c(p).startsWith("✗")})]),E(Je,$t)};H(di,Je=>{c(p)&&Je(vi)})}V(()=>{Ai(yt,"placeholder",c(a)),ge.disabled=c(n),O(lt,c(n)?"Saving…":"Save"),O(Lt,c(t).identityFile||c(a)),Ni.disabled=c(g)||!c(t).host,O(Ci,c(g)?"Testing…":"Test SSH connection")}),Qt(ye,()=>c(t).host,Je=>c(t).host=Je),Qt(Oe,()=>c(t).port,Je=>c(t).port=Je),Qt(vt,()=>c(t).user,Je=>c(t).user=Je),Qt(yt,()=>c(t).identityFile,Je=>c(t).identityFile=Je),U("click",ge,y),U("click",Ni,k),E(o,A),Hs()}Qs(["click"]);var UJ=T('<div class="err svelte-d31be1"> </div>'),qJ=T('<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>'),GJ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),KJ=T('<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>'),ZJ=T('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),XJ=T(`<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>`),YJ=T('<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>'),QJ=T('<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>'),JJ=T('<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 eee(o,e){Fs(e,!0);let t=M("intro"),i=M(""),n=M(!1),s=M("she-admin"),r=M(""),a=M("/etc/mosquitto"),d=M(null),u=M(!1),f=M(!1),g=M("she-admin"),p=M(""),w=M(!1);async function y(){b(n,!0),b(i,"");try{(await(await fetch("/she/broker/wizard/probe",{method:"POST",headers:{"Content-Type":"application/json"}})).json()).active?b(t,"done"):b(t,"config")}catch(Ce){b(i,Ce.message,!0)}finally{b(n,!1)}}async function x(){b(n,!0),b(i,"");try{const Ce=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)})}),yt=await Ce.json();if(!Ce.ok||!yt.ok)throw new Error(yt.error??"Bootstrap failed");b(d,yt,!0);const ut=await Dl(),Rt=ut.broker??{};await Xp({...ut,broker:{...Rt,dynsec:{adminUsername:yt.adminUsername,adminPassword:yt.adminPassword}}}),await J7().catch(()=>{}),b(t,"restart")}catch(Ce){b(i,Ce.message,!0)}finally{b(n,!1)}}async function k(){b(f,!0),b(i,"");try{await Y7(),await new Promise(Ce=>setTimeout(Ce,2e3)),b(u,!0),b(t,"done")}catch(Ce){b(i,Ce.message,!0)}finally{b(f,!1)}}async function D(){b(w,!0),b(i,"");try{const Ce=await Dl(),yt=Ce.broker??{};await Xp({...Ce,broker:{...yt,dynsec:{adminUsername:c(g),adminPassword:c(p)}}}),b(t,"done")}catch(Ce){b(i,Ce.message,!0)}finally{b(w,!1)}}var P=JJ(),A=m(P),q=v(m(A),2),z=v(A,2);{var oe=Ce=>{var yt=UJ(),ut=m(yt);V(()=>O(ut,c(i))),E(Ce,yt)};H(z,Ce=>{c(i)&&Ce(oe)})}var ie=v(z,2);{var be=Ce=>{var yt=qJ(),ut=v(m(yt),6),Rt=m(ut);V(()=>Rt.disabled=c(n)),U("click",Rt,()=>{b(t,"probe"),y()}),E(Ce,yt)},ye=Ce=>{var yt=GJ(),ut=m(yt),Rt=m(ut);V(()=>O(Rt,c(n)?"Probing dynsec…":"Checking dynsec status…")),E(Ce,yt)},qe=Ce=>{var yt=KJ(),ut=v(m(yt),2),Rt=v(m(ut)),Fe=v(ut,2),Ht=v(m(Fe)),Ye=v(Fe,2),ge=v(m(Ye)),lt=v(Ye,2),Nt=m(lt),ti=m(Nt);V(()=>{Nt.disabled=c(n)||!c(s),O(ti,c(n)?"Bootstrapping…":"Bootstrap dynsec")}),Qt(Rt,()=>c(s),Ot=>b(s,Ot)),Qt(Ht,()=>c(r),Ot=>b(r,Ot)),Qt(ge,()=>c(a),Ot=>b(a,Ot)),U("click",Nt,x),E(Ce,yt)},Oe=Ce=>{var yt=XJ(),ut=v(m(yt),2),Rt=v(m(ut),3),Fe=m(Rt),Ht=v(ut,4),Ye=m(Ht),ge=m(Ye),lt=v(Ye,2),Nt=v(Ht,2);{var ti=Ot=>{var Lt=ZJ();E(Ot,Lt)};H(Nt,Ot=>{c(f)&&Ot(ti)})}V(()=>{O(Fe,c(d).confFilePath),Ye.disabled=c(f),O(ge,c(f)?"Restarting…":"Restart mosquitto now")}),U("click",Ye,k),U("click",lt,()=>{b(t,"done")}),E(Ce,yt)},rt=Ce=>{var yt=YJ(),ut=v(m(yt),4),Rt=m(ut);U("click",Rt,function(...Fe){var Ht;(Ht=e.onDone)==null||Ht.apply(this,Fe)}),E(Ce,yt)},vt=Ce=>{var yt=QJ(),ut=v(m(yt),2),Rt=v(m(ut)),Fe=v(ut,2),Ht=v(m(Fe)),Ye=v(Fe,2),ge=m(Ye),lt=v(ge,2),Nt=m(lt);V(()=>{lt.disabled=c(w)||!c(g)||!c(p),O(Nt,c(w)?"Saving…":"Save credentials")}),Qt(Rt,()=>c(g),ti=>b(g,ti)),Qt(Ht,()=>c(p),ti=>b(p,ti)),U("click",ge,()=>b(t,"intro")),U("click",lt,D),E(Ce,yt)};H(ie,Ce=>{c(t)==="intro"?Ce(be):c(t)==="probe"?Ce(ye,1):c(t)==="config"?Ce(qe,2):c(t)==="restart"&&c(d)?Ce(Oe,3):c(t)==="done"?Ce(rt,4):c(t)==="manual"&&Ce(vt,5)})}U("click",q,()=>b(t,"manual")),E(o,P),Hs()}Qs(["click"]);var tee=T('<div class="loading svelte-zuhcpo">Loading…</div>'),iee=T('<div class="error-banner svelte-zuhcpo"> </div>'),nee=T('<button class="deactivate-btn svelte-zuhcpo"> </button>'),see=T('<div class="error-inline svelte-zuhcpo"> </div>'),oee=T('<div class="status-badge ok svelte-zuhcpo">Connected</div>'),ree=T('<button class="diag-btn svelte-zuhcpo"> </button>'),CD=T('<p class="diag-issue svelte-zuhcpo"> </p>'),aee=T('<p class="diag-ok-msg svelte-zuhcpo">✓ dynamic-security.json looks correct. Verify mosquitto restarted with the plugin loaded.</p>'),lee=T('<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),cee=T('<div><!></div> <button class="diag-btn svelte-zuhcpo" style="margin-top:6px"> </button>',1),xD=T('<button class="wizard-btn svelte-zuhcpo">Run Setup Wizard</button>'),dee=T('<div class="status-badge warn svelte-zuhcpo">Connected — plugin not responding</div> <p class="hint svelte-zuhcpo">The MQTT connection is up but the dynamic-security plugin is not responding.</p> <!> <!>',1),uee=T('<div class="status-badge err svelte-zuhcpo">Disconnected</div>'),hee=T('<div class="status-badge warn svelte-zuhcpo">Not configured</div> <!>',1),fee=T('<div style="margin-top: 20px;"><!></div>'),gee=T('<div class="status-grid svelte-zuhcpo"><div class="status-card svelte-zuhcpo"><div class="card-header svelte-zuhcpo"><h3 class="svelte-zuhcpo">Dynamic Security</h3> <!></div> <!> <!></div> <div class="status-card svelte-zuhcpo"><h3 class="svelte-zuhcpo">Broker</h3> <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 connected</dt> <dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Clients total</dt> <dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Messages received</dt> <dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Messages sent</dt> <dd class="svelte-zuhcpo"> </dd></dl></div></div> <!>',1),pee=T('<div class="tab-content svelte-zuhcpo"><!></div>'),_ee=T('<div class="broker-page svelte-zuhcpo"><div class="sub-nav svelte-zuhcpo"><button>Status</button> <button>Users & Roles</button> <button>Listeners</button> <button>Certificates</button> <button>SSH / Remote</button></div> <!></div> <!>',1);function mee(o,e){Fs(e,!0);let t=M(!1),i,n=M(!1),s=M(""),r=M(!1),a=M(null);const d="she-broker-tab";let u=M(mi(localStorage.getItem(d)??"status"));Vn(()=>{localStorage.setItem(d,c(u))});let f=M(null),g=M(""),p=M(!0);async function w(){try{b(f,await lw(),!0),b(g,"")}catch(ge){b(g,ge.message??"Failed to load broker status",!0)}finally{b(p,!1)}}co(()=>{w();const ge=setInterval(w,1e4);return()=>clearInterval(ge)});async function y(){b(r,!0),b(a,null);try{b(a,await eq(),!0)}catch(ge){b(a,{ok:!1,dynSecPath:"",issues:[ge.message??"Diagnose request failed"]},!0)}finally{b(r,!1)}}async function x(){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})){b(n,!0),b(s,"");try{await Q7(),await w()}catch(ge){b(s,ge.message??"Deactivate failed",!0)}finally{b(n,!1)}}}function k(ge){var Nt;if(!((Nt=c(f))!=null&&Nt.sys))return"—";const lt=c(f).sys[ge];return lt?String(lt.val??"—"):"—"}var D=_ee(),P=St(D),A=m(P),q=m(A);let z;var oe=v(q,2);let ie;var be=v(oe,2);let ye;var qe=v(be,2);let Oe;var rt=v(qe,2);let vt;var Ce=v(A,2);{var yt=ge=>{var lt=pee(),Nt=m(lt);{var ti=Pt=>{var Ct=tee();E(Pt,Ct)},Ot=Pt=>{var Ct=iee(),_i=m(Ct);V(()=>O(_i,c(g))),E(Pt,Ct)},Lt=Pt=>{var Ct=gee(),_i=St(Ct),fi=m(_i),Zt=m(fi),Ti=v(m(Zt),2);{var Mi=Ii=>{var nt=nee(),Et=m(nt);V(()=>{nt.disabled=c(n),O(Et,c(n)?"Deactivating…":"Deactivate")}),U("click",nt,x),E(Ii,nt)};H(Ti,Ii=>{c(f).dynsec.configured&&Ii(Mi)})}var Ni=v(Zt,2);{var Ci=Ii=>{var nt=see(),Et=m(nt);V(()=>O(Et,c(s))),E(Ii,nt)};H(Ni,Ii=>{c(s)&&Ii(Ci)})}var di=v(Ni,2);{var vi=Ii=>{var nt=Ms(),Et=St(nt);{var Me=Ae=>{var ot=Ms(),at=St(ot);{var ht=ne=>{var he=oee();E(ne,he)},F=ne=>{var he=dee(),He=v(St(he),4);{var Ze=Ve=>{var et=ree(),Be=m(et);V(()=>{et.disabled=c(r),O(Be,c(r)?"Running diagnostics…":"Run diagnostics")}),U("click",et,y),E(Ve,et)},Z=Ve=>{var et=cee(),Be=St(et);let We;var bt=m(Be);{var Vt=si=>{var wi=CD(),Ei=m(wi);V(()=>O(Ei,`⚠ ${c(a).error??""}`)),E(si,wi)},Ft=si=>{var wi=lee(),Ei=St(wi),Pi=v(m(Ei)),Ki=m(Pi),zi=v(Ei,2),ke=v(m(zi)),Qe=m(ke),xt=v(zi,2),jt=v(m(xt)),Si=m(jt),gi=v(xt,2),li=v(m(gi)),It=m(li),oi=v(gi,2);ai(oi,17,()=>c(a).issues,Wi,(pe,K)=>{var B=CD(),G=m(B);V(()=>O(G,`⚠ ${c(K)??""}`)),E(pe,B)});var N=v(oi,2);{var Y=pe=>{var K=aee();E(pe,K)};H(N,pe=>{c(a).ok&&pe(Y)})}V(()=>{O(Ki,c(a).dynSecPath),Tt(ke,1,ud(c(a).adminClientExists?"ok":"fail"),"svelte-zuhcpo"),O(Qe,c(a).adminClientExists?"✓ yes":"✗ no"),Tt(jt,1,ud(c(a).hasAdminRole?"ok":"fail"),"svelte-zuhcpo"),O(Si,c(a).hasAdminRole?"✓ yes":"✗ no"),Tt(li,1,ud(c(a).hasControlSendAcl?"ok":"fail"),"svelte-zuhcpo"),O(It,c(a).hasControlSendAcl?"✓ present":"✗ missing")}),E(si,wi)};H(bt,si=>{c(a).error?si(Vt):si(Ft,-1)})}var ii=v(Be,2),pi=m(ii);V(()=>{We=Tt(Be,1,"diag-card svelte-zuhcpo",null,We,{"diag-ok":c(a).ok,"diag-fail":!c(a).ok}),ii.disabled=c(r),O(pi,c(r)?"Running…":"Re-run")}),U("click",ii,y),E(Ve,et)};H(He,Ve=>{c(a)?Ve(Z,-1):Ve(Ze)})}var re=v(He,2);{var ae=Ve=>{var et=xD();U("click",et,()=>b(t,!0)),E(Ve,et)};H(re,Ve=>{c(t)||Ve(ae)})}E(ne,he)};H(at,ne=>{c(f).dynsec.dynsecReady?ne(ht):ne(F,-1)})}E(Ae,ot)},Q=Ae=>{var ot=uee();E(Ae,ot)};H(Et,Ae=>{c(f).dynsec.connected?Ae(Me):Ae(Q,-1)})}E(Ii,nt)},Je=Ii=>{var nt=hee(),Et=v(St(nt),2);{var Me=Q=>{var Ae=xD();U("click",Ae,()=>b(t,!0)),E(Q,Ae)};H(Et,Q=>{c(t)||Q(Me)})}E(Ii,nt)};H(di,Ii=>{c(f).dynsec.configured?Ii(vi):Ii(Je,-1)})}var $t=v(fi,2),yi=v(m($t),2),Oi=v(m(yi),2),on=m(Oi),Ri=v(Oi,4),Gi=m(Ri),Fi=v(Ri,4),nn=m(Fi),Hi=v(Fi,4),Cn=m(Hi),Ue=v(Hi,4),zt=m(Ue),ui=v(Ue,4),xi=m(ui),ki=v(_i,2);{var mn=Ii=>{var nt=fee(),Et=m(nt);eee(Et,{onDone:()=>{b(t,!1),w()}}),E(Ii,nt)};H(ki,Ii=>{c(t)&&(!c(f).dynsec.configured||!c(f).dynsec.dynsecReady)&&Ii(mn)})}V((Ii,nt,Et,Me,Q,Ae)=>{O(on,Ii),O(Gi,nt),O(nn,Et),O(Cn,Me),O(zt,Q),O(xi,Ae)},[()=>k("$SYS/broker/version"),()=>k("$SYS/broker/uptime"),()=>k("$SYS/broker/clients/connected"),()=>k("$SYS/broker/clients/total"),()=>k("$SYS/broker/messages/received"),()=>k("$SYS/broker/messages/sent")]),E(Pt,Ct)};H(Nt,Pt=>{c(p)?Pt(ti):c(g)?Pt(Ot,1):c(f)&&Pt(Lt,2)})}E(ge,lt)},ut=ge=>{{let lt=dt(()=>{var Nt;return((Nt=c(f))==null?void 0:Nt.dynsec.dynsecReady)??!1});GQ(ge,{get dynsecReady(){return c(lt)}})}},Rt=ge=>{iJ(ge,{})},Fe=ge=>{FJ(ge,{})},Ht=ge=>{$J(ge,{})};H(Ce,ge=>{c(u)==="status"?ge(yt):c(u)==="users"?ge(ut,1):c(u)==="listeners"?ge(Rt,2):c(u)==="certs"?ge(Fe,3):c(u)==="ssh"&&ge(Ht,4)})}var Ye=v(P,2);ks(Gu(Ye,{}),ge=>i=ge,()=>i),V(()=>{z=Tt(q,1,"svelte-zuhcpo",null,z,{active:c(u)==="status"}),ie=Tt(oe,1,"svelte-zuhcpo",null,ie,{active:c(u)==="users"}),ye=Tt(be,1,"svelte-zuhcpo",null,ye,{active:c(u)==="listeners"}),Oe=Tt(qe,1,"svelte-zuhcpo",null,Oe,{active:c(u)==="certs"}),vt=Tt(rt,1,"svelte-zuhcpo",null,vt,{active:c(u)==="ssh"})}),U("click",q,()=>b(u,"status")),U("click",oe,()=>b(u,"users")),U("click",be,()=>b(u,"listeners")),U("click",qe,()=>b(u,"certs")),U("click",rt,()=>b(u,"ssh")),E(o,D),Hs()}Qs(["click"]);var vee=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),bee=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),yee=T('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),wee=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),See=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),Cee=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),xee=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),kee=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),Lee=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),Iee=T('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),Eee=T('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),Dee=T('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),Tee=T('<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>'),Pee=T('<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>'),Mee=T('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),Ree=T('<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),Nee=T('<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),Aee=T('<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>'),Oee=T('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),Fee=T('<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>'),Hee=T('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),Wee=T('<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>'),Bee=T('<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" stroke-linejoin="round" class="svelte-1n46o8q"><rect x="2.5" y="7" width="11" height="8" rx="1.5" class="svelte-1n46o8q"></rect><path d="M5.5,7 V5 A2.5,2.5 0,0,1 10.5,5 V7" class="svelte-1n46o8q"></path><circle cx="8" cy="11.5" r="1" fill="currentColor" stroke="none" class="svelte-1n46o8q"></circle></svg> Security</button> <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> <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> <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>'),zee=T('<div class="login-error svelte-1n46o8q"> </div>'),Vee=T('<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>'),jee=T('<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>'),$ee=T('<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>'),Uee=T("<!> <!> <!> <!>",1);function qee(o,e){Fs(e,!0);const t=["scripts","mqtt","matter","security","db","logs","config","packages"];function i(){const Ct=location.hash.slice(1);return t.includes(Ct)?Ct:"scripts"}let n=M(mi(i())),s=M(null),r=M(!1),a=M(!1),d=M(!1),u=M(!1),f=M("none"),g=M(""),p=M(!1),w=M(""),y=M(""),x=M(!1),k=M(!1);v7(()=>{b(p,!0)});async function D(){b(y,""),b(x,!0);try{await w7(c(w)),b(w,""),b(p,!1)}catch(Ct){b(y,Ct.message??"Login failed",!0)}finally{b(x,!1)}}async function P(){if(c(f)==="proxy"&&c(g)){window.location.href=c(g);return}await S7(),b(p,!0)}let A=M(null),q=M(!1),z=M(!1),oe=M(!1),ie=M(!1),be=M(mi([])),ye=M(0),qe=M(mi([]));const Oe=dt(()=>c(qe).filter(Ct=>Ct.online).length),rt=dt(()=>c(qe).length===0?"none":c(Oe)===c(qe).length?"all":c(Oe)>0?"some":"offline");let vt=M(!1),Ce=M(!1);async function yt(){if(!await c(A).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;b(q,!0);let Ct;try{Ct=(await Bg()).startedAt}catch{}try{await WN()}catch{}const _i=Date.now()+6e4;for(;Date.now()<_i;){await new Promise(fi=>setTimeout(fi,250));try{const fi=await Bg();if(Ct===void 0||fi.startedAt!==Ct){location.reload();return}}catch{}}location.reload()}async function ut(){b(d,!0);try{const Ct=await E7();c(s)&&b(s,{...c(s),latestVersion:Ct.latestVersion??void 0},!0)}catch{}finally{b(d,!1)}}async function Rt(){var fi,Zt;if(!await c(A).show(`Update to v${(fi=c(s))==null?void 0:fi.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;b(a,!1),b(u,!0);const Ct=(Zt=c(s))==null?void 0:Zt.startedAt;try{await I7()}catch{}const _i=Date.now()+18e4;for(;Date.now()<_i;){await new Promise(Ti=>setTimeout(Ti,1e3));try{const Ti=await Bg();if(Ct===void 0||Ti.startedAt!==Ct){location.reload();return}}catch{b(u,!1),b(q,!0)}}location.reload()}function Fe(Ct){b(n,Ct,!0),location.hash=Ct}co(async()=>{location.hash||(location.hash=c(n));const Ct=()=>{b(n,i(),!0)};window.addEventListener("hashchange",Ct);try{const di=await y7();b(f,di.mode,!0),b(g,di.proxyLogoutUrl??"",!0),c(f)==="password"&&(await fetch("/she/scripts")).status===401&&b(p,!0)}catch{}b(k,!0);async function _i(){try{b(s,await Bg(),!0)}catch{}try{const[di,vi]=await Promise.all([VN(),Dl()]);b(be,Array.isArray(vi.pinnedPackages)?vi.pinnedPackages:[],!0),b(ye,Object.keys(di).filter(Je=>!c(be).includes(Je)).length,!0)}catch{}}_i();const fi=setInterval(_i,5e3),Zt=Pr("mqtt:status",di=>{di.connected===!1?(b(ie,!0),b(z,!1),b(oe,!1)):(b(ie,!1),b(z,di.ready===!1),b(oe,di.ready===!0))}),Ti=Pr("matter:deviceList",di=>{Array.isArray(di.devices)&&b(qe,di.devices.map(vi=>({nodeId:String(vi.nodeId),online:!!vi.online})),!0)}),Mi=Pr("matter:deviceStatus",di=>{if(di.nodeId===void 0)return;const vi=String(di.nodeId),Je=!!di.online;b(qe,c(qe).map($t=>$t.nodeId===vi?{...$t,online:Je}:$t),!0)}),Ni=JN();b(vt,Ni.some(di=>di.level==="error"),!0),b(Ce,!c(vt)&&Ni.some(di=>di.level==="warn"),!0);const Ci=Ek(di=>{di.level==="error"?(b(vt,!0),b(Ce,!1)):di.level==="warn"&&!c(vt)&&b(Ce,!0)});return()=>{window.removeEventListener("hashchange",Ct),clearInterval(fi),Zt(),Ti(),Mi(),Ci()}});var Ht=Uee();ds("click",IP,()=>{c(r)&&b(r,!1),c(a)&&b(a,!1)});var Ye=St(Ht);{var ge=Ct=>{var _i=Bee(),fi=m(_i),Zt=v(m(fi),2);let Ti;var Mi=v(Zt,2);let Ni;var Ci=v(m(Mi),2);{var di=B=>{var G=vee();V(()=>Ai(G,"title",`${c(ye)??""} package update${c(ye)===1?"":"s"} available`)),E(B,G)};H(Ci,B=>{c(ye)>0&&B(di)})}var vi=v(Mi,2);let Je;var $t=v(m(vi),2);{var yi=B=>{var G=bee();E(B,G)},Oi=B=>{var G=yee();E(B,G)},on=B=>{var G=wee();E(B,G)};H($t,B=>{c(ie)?B(yi):c(z)?B(Oi,1):c(oe)&&B(on,2)})}var Ri=v(vi,2);let Gi;var Fi=v(Ri,2);let nn;var Hi=v(m(Fi),2);{var Cn=B=>{var G=See();E(B,G)},Ue=B=>{var G=Cee();E(B,G)},zt=B=>{var G=xee();E(B,G)};H(Hi,B=>{c(rt)==="all"?B(Cn):c(rt)==="some"?B(Ue,1):c(rt)==="offline"&&B(zt,2)})}var ui=v(Fi,2);let xi;var ki=v(ui,2);let mn;var Ii=v(m(ki),2);{var nt=B=>{var G=kee();E(B,G)},Et=B=>{var G=Lee();E(B,G)};H(Ii,B=>{c(vt)?B(nt):c(Ce)&&B(Et,1)})}var Me=v(ki,4),Q=v(m(Me),2),Ae=m(Q),ot=m(Ae);ot.nodeValue="v1.3.0 ";var at=v(ot);{var ht=B=>{var G=Iee();E(B,G)};H(at,B=>{var G,se;(G=c(s))!=null&&G.latestVersion&&!((se=c(s))!=null&&se.docker)&&B(ht)})}var F=v(Ae,2);{var ne=B=>{var G=Pee(),se=m(G),xe=v(m(se));xe.textContent="v1.3.0";var ee=v(xe,2);{var le=Ie=>{var Ee=Eee(),kt=v(St(Ee)),ct=m(kt);V(()=>O(ct,`v${c(s).latestVersion??""}`)),E(Ie,Ee)},ze=Ie=>{var Ee=Dee();E(Ie,Ee)};H(ee,Ie=>{var Ee;(Ee=c(s))!=null&&Ee.latestVersion?Ie(le):Ie(ze,-1)})}var ce=v(se,2),we=m(ce);{var st=Ie=>{var Ee=Tee(),kt=v(m(Ee));V(()=>O(kt,` Update to v${c(s).latestVersion??""}`)),U("click",Ee,Rt),E(Ie,Ee)};H(we,Ie=>{var Ee;(Ee=c(s))!=null&&Ee.latestVersion&&Ie(st)})}var j=v(we,2),te=m(j);let fe;var Te=v(te);V(()=>{j.disabled=c(d),fe=Tt(te,0,"svelte-1n46o8q",null,fe,{spinning:c(d)}),O(Te,` ${c(d)?"Checking…":"Check for updates"}`)}),U("click",G,Ie=>Ie.stopPropagation()),U("click",j,ut),E(B,G)};H(F,B=>{var G;c(a)&&!((G=c(s))!=null&&G.docker)&&B(ne)})}var he=v(Q,2),He=m(he),Ze=v(He,2);{var Z=B=>{var G=Hee(),se=m(G);{var xe=we=>{var st=Aee(),j=m(st);{var te=ft=>{const gt=dt(()=>Math.floor((Date.now()-c(s).startedAt)/1e3)),tt=dt(()=>Math.floor(c(gt)/86400)),Gt=dt(()=>Math.floor(c(gt)%86400/3600)),Xt=dt(()=>Math.floor(c(gt)%3600/60));var an=Mee(),$i=v(St(an)),pn=m($i);V(()=>O(pn,`${c(tt)>0?c(tt)+"d ":""}${c(Gt)>0||c(tt)>0?c(Gt)+"h ":""}${c(Xt)??""}m`)),E(ft,an)};H(j,ft=>{c(s).startedAt&&ft(te)})}var fe=v(j,3),Te=m(fe),Ie=v(fe,3),Ee=m(Ie),kt=v(Ie,3),ct=m(kt),Ke=v(kt,2);{var Mt=ft=>{var gt=Ree(),tt=v(St(gt)),Gt=m(tt),Xt=v(tt,3),an=m(Xt);V(()=>{O(Gt,c(s).matterNodes??0),O(an,c(s).matterEndpoints??0)}),E(ft,gt)};H(Ke,ft=>{c(s).matterEnabled&&ft(Mt)})}var it=v(Ke,2);{var ve=ft=>{var gt=Nee(),tt=v(St(gt)),Gt=m(tt),Xt=v(tt,3),an=m(Xt);V(()=>{O(Gt,c(s).dbDocs??"—"),O(an,c(s).dbViews??"—")}),E(ft,gt)};H(it,ft=>{c(s).dbEnabled&&ft(ve)})}var Re=v(it,3),Pe=m(Re),je=v(Re,3),Dt=m(je),Le=v(je,3),Ge=m(Le);V(()=>{O(Te,c(s).scripts),O(Ee,c(s).topics),O(ct,c(s).mqttMsgPerSec??"—"),O(Pe,c(s).handlers??"—"),O(Dt,c(s).memMb!=null?c(s).memMb+" MB":"—"),O(Ge,c(s).cpuPercent!=null?c(s).cpuPercent+" %":"—")}),E(we,st)},ee=we=>{var st=Oee();E(we,st)};H(se,we=>{c(s)?we(xe):we(ee,-1)})}var le=v(se,2),ze=m(le);{var ce=we=>{var st=Fee();U("click",st,()=>{b(r,!1),yt()}),E(we,st)};H(ze,we=>{var st;(st=c(s))!=null&&st.docker||we(ce)})}U("click",G,we=>we.stopPropagation()),E(B,G)};H(Ze,B=>{c(r)&&B(Z)})}var re=v(he,2);let ae;var Ve=v(re,2);{var et=B=>{var G=Wee();U("click",G,P),E(B,G)};H(Ve,B=>{c(f)==="password"&&B(et)})}var Be=v(fi,2),We=m(Be);ks(Gu(We,{}),B=>b(A,B,!0),()=>c(A));var bt=v(We,2);let Vt;var Ft=m(bt);{let B=dt(()=>c(n)==="scripts");DK(Ft,{get active(){return c(B)}})}var ii=v(bt,2);let pi;var si=m(ii);hQ(si,{});var wi=v(ii,2);let Ei;var Pi=m(wi);GY(Pi,{});var Ki=v(wi,2);let zi;var ke=m(Ki);hY(ke,{});var Qe=v(Ki,2);let xt;var jt=m(Qe);mee(jt,{});var Si=v(Qe,2);let gi;var li=m(Si);SX(li,{});var It=v(Si,2);let oi;var N=m(It);gZ(N,{});var Y=v(It,2);let pe;var K=m(Y);vZ(K,{}),V(()=>{Ti=Tt(Zt,1,"svelte-1n46o8q",null,Ti,{active:c(n)==="scripts"}),Ni=Tt(Mi,1,"svelte-1n46o8q",null,Ni,{active:c(n)==="packages"}),Je=Tt(vi,1,"svelte-1n46o8q",null,Je,{active:c(n)==="mqtt"}),Gi=Tt(Ri,1,"svelte-1n46o8q",null,Gi,{active:c(n)==="security"}),nn=Tt(Fi,1,"svelte-1n46o8q",null,nn,{active:c(n)==="matter"}),xi=Tt(ui,1,"svelte-1n46o8q",null,xi,{active:c(n)==="db"}),mn=Tt(ki,1,"svelte-1n46o8q",null,mn,{active:c(n)==="logs"}),ae=Tt(re,1,"nav-settings svelte-1n46o8q",null,ae,{active:c(n)==="config"}),Vt=Tt(bt,1,"page-wrap svelte-1n46o8q",null,Vt,{hidden:c(n)!=="scripts"}),pi=Tt(ii,1,"page-wrap svelte-1n46o8q",null,pi,{hidden:c(n)!=="packages"}),Ei=Tt(wi,1,"page-wrap svelte-1n46o8q",null,Ei,{hidden:c(n)!=="mqtt"}),zi=Tt(Ki,1,"page-wrap svelte-1n46o8q",null,zi,{hidden:c(n)!=="matter"}),xt=Tt(Qe,1,"page-wrap svelte-1n46o8q",null,xt,{hidden:c(n)!=="security"}),gi=Tt(Si,1,"page-wrap svelte-1n46o8q",null,gi,{hidden:c(n)!=="db"}),oi=Tt(It,1,"page-wrap svelte-1n46o8q",null,oi,{hidden:c(n)!=="config"}),pe=Tt(Y,1,"page-wrap svelte-1n46o8q",null,pe,{hidden:c(n)!=="logs"})}),U("click",Zt,()=>Fe("scripts")),U("click",Mi,()=>Fe("packages")),U("click",vi,()=>Fe("mqtt")),U("click",Ri,()=>Fe("security")),U("click",Fi,()=>Fe("matter")),U("click",ui,()=>Fe("db")),U("click",ki,()=>{Fe("logs"),b(vt,!1),b(Ce,!1)}),U("click",Ae,B=>{B.stopPropagation(),b(a,!c(a)),b(r,!1)}),U("click",He,B=>{B.stopPropagation(),b(r,!c(r)),b(a,!1)}),U("click",re,()=>Fe("config")),E(Ct,_i)};H(Ye,Ct=>{c(k)&&!c(p)&&Ct(ge)})}var lt=v(Ye,2);{var Nt=Ct=>{var _i=Vee(),fi=m(_i),Zt=v(m(fi),4),Ti=v(m(Zt),2),Mi=v(Zt,2);{var Ni=vi=>{var Je=zee(),$t=m(Je);V(()=>O($t,c(y))),E(vi,Je)};H(Mi,vi=>{c(y)&&vi(Ni)})}var Ci=v(Mi,2),di=m(Ci);V(()=>{Ti.disabled=c(x),Ci.disabled=c(x)||!c(w),O(di,c(x)?"Signing in…":"Sign in")}),ds("submit",fi,vi=>{vi.preventDefault(),D()}),Qt(Ti,()=>c(w),vi=>b(w,vi)),E(Ct,_i)};H(lt,Ct=>{c(p)&&Ct(Nt)})}var ti=v(lt,2);{var Ot=Ct=>{var _i=jee();E(Ct,_i)};H(ti,Ct=>{c(q)&&Ct(Ot)})}var Lt=v(ti,2);{var Pt=Ct=>{var _i=$ee();E(Ct,_i)};H(Lt,Ct=>{c(u)&&Ct(Pt)})}E(o,Ht),Hs()}Qs(["click"]);FH(qee,{target:document.getElementById("app")});export{aM as t};