smart-home-engine 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web/assets/index-AxQ546-B.js +230 -0
- package/dist/web/assets/{index-CiR8cZ_Y.css → index-Cp5N3a9H.css} +1 -1
- package/dist/web/assets/{tsMode-Dj2ZPBcc.js → tsMode-DEX2KSLC.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/src/lib/ca.js +112 -3
- package/src/lib/dynsec.js +13 -0
- package/src/web/broker-api.js +62 -0
- package/dist/web/assets/index-CY1IzFyN.js +0 -230
|
@@ -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-DEX2KSLC.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
var NA=Object.defineProperty;var sL=o=>{throw TypeError(o)};var AA=(o,e,t)=>e in o?NA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var vn=(o,e,t)=>AA(o,typeof e!="symbol"?e+"":e,t),vw=(o,e,t)=>e.has(o)||sL("Cannot "+t);var ge=(o,e,t)=>(vw(o,e,"read from private field"),t?t.call(o):e.get(o)),un=(o,e,t)=>e.has(o)?sL("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 TD,m as PD,l as ii,A as bo,C as Re,I as Un,D as s_,a as as,g as MD,M as $t,b as Pi,E as da,c as B,r as Dn,d as Nr,e as C,f as OA,h as Hn,R as fn,S as xi,i as eo,j as Ar,k as yn,n as Yi,o as ve,p as Ye,K as us,q as Xt,s as _t,t as bs,u as X,v as rn,O as Ha,w as _s,P as ai,x as bw,y as o_,z as RD,B as fl,F as ua,G as bS,H as Os,U as Tn,J as hf,L as li,N as bl,Q as FA,T as go,V as yS,W as HA,X as ND,$ as Zt,Y as Cn,Z as bn,a0 as Zn,a1 as Bi,a2 as qo,a3 as cp,a4 as ft,a5 as km,a6 as WA,a7 as BA,a8 as vs,a9 as zA,aa as ha,ab as yo,ac as ui,ad as AD,ae as jn,af as VA,ag as jA,ah as _o,ai as Vf,aj as hs,ak as fy,al as lo,am as Hc,an as qx,ao as gy,ap as Rs,aq as ff,ar as Ns,as as py,at as _y,au as $A,av as r_,aw as jf,ax as Tl,ay as UA,az as $f,aA as qA,aB as Gx,aC as GA,aD as KA,aE as oL,aF as rs,aG as gl,aH as co,aI as Ki,aJ as cl,aK as ZA,aL as Va,aM as jo,aN as Is,aO as fa,aP as Kx,aQ as ys,aR as is,aS as Qm,aT as Gi,aU as OD,aV as XA,aW as Zx,aX as my,aY as Xx,aZ as Yx,a_ as yd,a$ as YA,b0 as Qx,b1 as QA,b2 as Jx,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 e0,bd as l_,be as vy,bf as JA,bg as FD,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 eO,bq as tO,br as t0,bs as iO,bt as ev,bu as cr,bv as i0,bw as _f,bx as Rl,by as Uf,bz as on,bA as mf,bB as HD,bC as u_,bD as nO,bE as wd,bF as qt,bG as rL,bH as Lm,bI as WD,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 Hu,bS as wS,bT as BD,bU as zD,bV as VD,bW as n0,bX as ko,bY as In,bZ as h_,b_ as jD,b$ as pl,c0 as yy,c1 as sO,c2 as xh,c3 as aL,c4 as f_,c5 as $D,c6 as kh,c7 as oO,c8 as br,c9 as wy,ca as rO,cb as wo,cc as ga,cd as g_,ce as gp,cf as UD,cg as rr,ch as p_,ci as Sy,cj as aO,ck as lO,cl as cO,cm as qf,cn as ja,co as Es,cp as dO,cq as s0,cr as uO,cs as hO,ct as lL,cu as fO,cv as __,cw as yl,cx as SS,cy as vu,cz as wl,cA as gO,cB as Wa,cC as Ir,cD as Wo,cE as cL,cF as io,cG as m_,cH as Dc,cI as $a,cJ as pO,cK as pa,cL as pp,cM as Cy,cN as qD,cO as _O,cP as mO,cQ as o0,cR as vO,cS as _p,cT as bO,cU as ic,cV as mp,cW as dL,cX as yO,cY as wO,cZ as Ga,c_ as SO,c$ as r0,d0 as GD,d1 as KD,d2 as ZD,d3 as XD,d4 as CO,d5 as xO,d6 as YD,d7 as QD,d8 as kO,d9 as a0,da as LO,db as IO,dc as Qn,dd as EO,de as l0,df as DO,dg as Lh,dh as uL,di as TO,dj as PO,dk as MO,dl as RO,dm as NO,dn as AO,dp as yf,dq as xy,dr as CS,ds as OO,dt as FO,du as hL,dv as xS,dw as HO,dx as fL,dy as ww,dz as WO,dA as JD,dB as BO,dC as eT,dD as kS,dE as zO,dF as VO,dG as jO,dH as tT,dI as iT,dJ as $O,dK as tv,dL as nT,dM as ky,dN as UO,dO as qO,dP as Tc,dQ as c0,dR as GO,dS as gL,dT as pL,dU as KO,dV as Ih,dW as sT,dX as ZO,dY as XO,dZ as YO,d_ as QO,d$ as oT,e0 as rT,e1 as aT,e2 as lT,e3 as JO,e4 as Ba,e5 as _L,e6 as e2,e7 as v_,e8 as t2,e9 as kg,ea as cT,eb as mL,ec as vp,ed as dT,ee as iv,ef as i2,eg as uT,eh as n2,ei as hT,ej as s2,ek as o2,el as fT,em as gT,en as Sl,eo as Ly,ep as r2,eq as pT,er as $o,es as Sd,et as _T,eu as a2,ev as l2,ew as mT,ex as vT,ey as c2,ez as bT,eA as yT,eB as bp,eC as d2,eD as u2,eE as h2,eF as f2,eG as gg,eH as vL,eI as g2,eJ as p2,eK as _2,eL as nv,eM as Us,eN as m2,eO as LS,eP as Wu,eQ as v2,eR as ll,eS as b2,eT as y2,eU as wT,eV as w2,eW as jg,eX as S2,eY as C2,eZ as x2,e_ as k2,e$ as bL,f0 as yL,f1 as wL,f2 as Bu,f3 as d0,f4 as ST,f5 as IS,f6 as Im,f7 as CT,f8 as sv,f9 as L2,fa as I2,fb as E2,fc as D2,fd as u0,fe as xT,ff as T2,fg as ov,fh as kT,fi as LT,fj as P2,fk as M2,fl as R2,fm as N2,fn as A2,fo as O2,fp as F2,fq as H2,fr as IT,fs as W2,ft as rv,fu as ET,fv as B2,fw as DT,fx as z2,fy as TT,fz as PT,fA as V2,fB as SL,fC as MT,fD as CL,fE as j2,fF as Sw,fG as xL,fH as $2,fI as U2,fJ as q2,fK as Pa,fL as Pc,fM as G2,fN as kL,fO as Em,fP as K2,fQ as dl,fR as Iy,fS as ES,fT as Z2,fU as RT,fV as NT,fW as no,fX as LL,fY as K_,fZ as h0,f_ as X2,f$ as Y2,g0 as Q2,g1 as J2,g2 as eF,g3 as tF,g4 as iF,g5 as nF,g6 as IL,g7 as sF,g8 as oF,g9 as rF,ga as wf,gb as $g,gc as AT,gd as aF,ge as f0,gf as Dm,gg as Z_,gh as Cw,gi as lF,gj as cF,gk as OT,gl as dF,gm as g0,gn as uF,go as hF,gp as FT,gq as Ey,gr as fF,gs as av,gt as p0,gu as _0,gv as m0,gw as HT,gx as WT,gy as BT,gz as zT,gA as VT,gB as jT,gC as $T,gD as EL,gE as UT,gF as ih,gG as gF,gH as pF,gI as _F,gJ as mF,gK as qT,gL as vF,gM as bF,gN as DL,gO as DS,gP as cc,gQ as yF,gR as wF,gS as SF,gT as CF,gU as xF,gV as kF,gW as TL,gX as v0,gY as TS,gZ as LF,g_ as PS,g$ as IF,h0 as EF,h1 as DF,h2 as TF,h3 as b0,h4 as GT,h5 as PL,h6 as ML,h7 as PF,h8 as MF,h9 as RF,ha as RL,hb as xw,hc as NF,hd as AF,he as OF,hf as kw,hg as KT,hh as ZT,hi as XT,hj as YT,hk as Cl,hl as QT,hm as y0,hn as NL,ho as FF,hp as JT,hq as HF,hr as WF,hs as Dy,ht as Ty,hu as zu,hv as Py,hw as b_,hx as BF,hy as My,hz as zF,hA as VF,hB as jF,hC as eP,hD as pg,hE as $F,hF as UF,hG as qF,hH as GF,hI as y_,hJ as KF,hK as tP,hL as iP,hM as nP,hN as MS,hO as ZF,hP as XF,hQ as YF,hR as QF,hS as JF,hT as RS,hU as e3,hV as t3,hW as i3,hX as n3,hY as s3,hZ as o3,h_ as r3,h$ as a3,i0 as sP,i1 as l3,i2 as c3,i3 as d3,i4 as AL,i5 as u3,i6 as h3,i7 as sd,i8 as pr,i9 as f3,ia as g3}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 oP=!1;var w0=Array.isArray,p3=Array.prototype.indexOf,lv=Array.prototype.includes,Ry=Array.from,_3=Object.defineProperty,Vh=Object.getOwnPropertyDescriptor,m3=Object.getOwnPropertyDescriptors,v3=Object.prototype,b3=Array.prototype,rP=Object.getPrototypeOf,OL=Object.isExtensible;const Ny=()=>{};function y3(o){for(var e=0;e<o.length;e++)o[e]()}function aP(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function w3(o,e,t=!1){return o===void 0?t?e():e:o}function FL(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 ro=2,Sf=4,Ay=8,lP=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,S3=1<<18,Kf=1<<19,C3=1<<20,Aa=1<<25,bu=65536,dv=1<<21,jh=1<<22,dc=1<<23,Cd=Symbol("$state"),x3=Symbol("legacy props"),k3=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 ID;const L3=!!((ID=globalThis.document)!=null&&ID.contentType)&&globalThis.document.contentType.includes("xml");function cP(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function I3(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function E3(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function D3(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function T3(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function P3(o){throw new Error("https://svelte.dev/e/effect_orphan")}function M3(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function R3(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function N3(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function A3(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function O3(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function F3(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const H3=1,W3=2,dP=4,B3=8,z3=16,V3=1,j3=4,$3=8,U3=16,q3=1,G3=2,$s=Symbol("uninitialized"),uP="http://www.w3.org/1999/xhtml",K3="http://www.w3.org/2000/svg",Z3="http://www.w3.org/1998/Math/MathML";function X3(){console.warn("https://svelte.dev/e/derived_inert")}function Y3(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Q3(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function hP(o){return o===this.v}function J3(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function fP(o){return!J3(o,this.v)}let eH=!1,oo=null;function xf(o){oo=o}function Fs(o,e=!1,t){oo={p:oo,i:!1,c:null,e:null,s:o,x:null,r:En,l:null}}function Hs(o){var e=oo,t=e.e;if(t!==null){e.e=null;for(var i of t)AP(i)}return o!==void 0&&(e.x=o),e.i=!0,oo=e.p,o??{}}function gP(){return!0}let cd=[];function pP(){var o=cd;cd=[],y3(o)}function uc(o){if(cd.length===0&&!qg){var e=cd;queueMicrotask(()=>{e===cd&&pP()})}cd.push(o)}function tH(){for(;cd.length>0;)pP()}function _P(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 iH=-7169;function Cs(o,e){o.f=o.f&iH|e}function S0(o){(o.f&Mr)!==0||o.deps===null?Cs(o,qs):Cs(o,Ua)}function mP(o){if(o!==null)for(const e of o)(e.f&ro)===0||(e.f&bu)===0||(e.f^=bu,mP(e.deps))}function vP(o,e,t){(o.f&Xs)!==0?e.add(o):(o.f&Ua)!==0&&t.add(o),mP(o.deps),Cs(o,qs)}let X_=!1;function nH(o){var e=X_;try{return X_=!1,[o(),X_]}finally{X_=e}}let Lw=null,nh=null,$i=null,Ug=null,to=null,HS=null,qg=!1,Iw=!1,Eh=null,Mm=null;var HL=0;let sH=1;var Gh,Jl,pd,Kh,Zh,Xh,sl,Yh,Oo,Qp,ol,Yr,Ia,Qh,_d,Jn,WS,Ig,BS,bP,yP,vh,oH,Eg;const yb=class yb{constructor(){un(this,Jn);vn(this,"id",sH++);un(this,Gh,!1);vn(this,"linked",!0);un(this,Jl,null);un(this,pd,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,_d,!1);nh===null?Lw=nh=this:(hn(nh,pd,this),hn(this,Jl,nh)),nh=this}skip_effect(e){ge(this,Ia).has(e)||ge(this,Ia).set(e,{d:[],m:[]}),ge(this,Qh).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=ge(this,Ia).get(e);if(i){ge(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)}ge(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]),to==null||to.set(e,t)),this.is_fork||(e.v=t)}activate(){$i=this}deactivate(){$i=null,to=null}flush(){try{Iw=!0,$i=this,zn(this,Jn,Ig).call(this)}finally{HL=0,HS=null,Eh=null,Mm=null,Iw=!1,$i=null,to=null,xd.clear()}}discard(){var e;for(const t of ge(this,Zh))t(this);ge(this,Zh).clear(),zn(this,Jn,Eg).call(this),(e=ge(this,Yh))==null||e.resolve()}register_created_effect(e){ge(this,Qp).push(e)}increment(e,t){if(hn(this,Xh,ge(this,Xh)+1),e){let i=ge(this,sl).get(t)??0;ge(this,sl).set(t,i+1)}}decrement(e,t){if(hn(this,Xh,ge(this,Xh)-1),e){let i=ge(this,sl).get(t)??0;i===1?ge(this,sl).delete(t):ge(this,sl).set(t,i-1)}ge(this,_d)||(hn(this,_d,!0),uc(()=>{hn(this,_d,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)ge(this,ol).add(i);for(const i of t)ge(this,Yr).add(i);e.clear(),t.clear()}oncommit(e){ge(this,Kh).add(e)}ondiscard(e){ge(this,Zh).add(e)}settled(){return(ge(this,Yh)??hn(this,Yh,aP())).promise}static ensure(){if($i===null){const e=$i=new yb;!Iw&&!qg&&uc(()=>{ge(e,Gh)||e.flush()})}return $i}apply(){{to=null;return}}schedule(e){var n;if(HS=e,(n=e.b)!=null&&n.is_pending&&(e.f&(Sf|Ay|lP))!==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&ro)===0))return;if((i&(Mc|ca))!==0){if((i&qs)===0)return;t.f^=qs}}ge(this,Oo).push(t)}};Gh=new WeakMap,Jl=new WeakMap,pd=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,_d=new WeakMap,Jn=new WeakSet,WS=function(){if(this.is_fork)return!0;for(const i of ge(this,sl).keys()){for(var e=i,t=!1;e.parent!==null;){if(ge(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),HL++>1e3&&(zn(this,Jn,Eg).call(this),aH());for(const p of ge(this,ol))ge(this,Yr).delete(p),Cs(p,Xs),this.schedule(p);for(const p of ge(this,Yr))Cs(p,Ua),this.schedule(p);const e=ge(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 CP(p),zn(this,Jn,WS).call(this)||this.discard(),w}if($i=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 ge(this,Ia))SP(p,w);n.length>0&&zn(d=$i,Jn,Ig).call(d);return}const r=zn(this,Jn,bP).call(this);if(r){zn(this,Jn,vh).call(this,i),zn(this,Jn,vh).call(this,t),zn(u=r,Jn,yP).call(u,this);return}ge(this,ol).clear(),ge(this,Yr).clear();for(const p of ge(this,Kh))p(this);ge(this,Kh).clear(),Ug=this,WL(i),WL(t),Ug=null,(f=ge(this,Yh))==null||f.resolve();var a=$i;if(ge(this,Xh)===0&&(ge(this,Oo).length===0||a!==null)&&zn(this,Jn,Eg).call(this),ge(this,Oo).length>0)if(a!==null){const p=a;ge(p,Oo).push(...ge(this,Oo).filter(w=>!ge(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||ge(this,Ia).has(n);if(!d&&n.fn!==null){r?n.f^=qs:(s&Sf)!==0?t.push(n):S_(n)&&((s&aa)!==0&&ge(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}}},bP=function(){for(var e=ge(this,Jl);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=ge(e,Jl)}return null},yP=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(ge(e,ol),ge(e,Yr));const t=n=>{var s=n.reactions;if(s!==null)for(const d of s){var r=d.f;if((r&ro)!==0)t(d);else{var a=d;r&(jh|aa)&&!this.async_deriveds.has(a)&&(ge(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),$i=this,zn(this,Jn,Ig).call(this)},vh=function(e){for(var t=0;t<e.length;t+=1)vP(e[t],ge(this,ol),ge(this,Yr))},oH=function(){var f;for(let g=Lw;g!==null;g=ge(g,pd)){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(ge(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 ge(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)wP(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 ge(this,Qp))(p.f&(Rr|Io|cv))===0&&C0(p,d,r)&&((p.f&(jh|aa))!==0?(Cs(p,Xs),g.schedule(p)):ge(g,ol).add(p));if(ge(g,Oo).length>0&&!ge(g,_d)){g.apply();for(var u of ge(g,Oo))zn(f=g,Jn,BS).call(f,u,[],[]);hn(g,Oo,[])}g.deactivate()}}}},Eg=function(){if(this.linked){var e=ge(this,Jl),t=ge(this,pd);e===null?Lw=t:hn(e,pd,t),t===null?nh=e:hn(t,Jl,e),this.linked=!1}};let yu=yb;function rH(o){var e=qg;qg=!0;try{for(var t;;){if(tH(),$i===null)return t;$i.flush()}}finally{qg=e}}function aH(){try{M3()}catch(o){nc(o,HS)}}let Kr=null;function WL(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&&HP(i),(Kr==null?void 0:Kr.size)>0)){xd.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 wP(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&ro)!==0?wP(n,e,t,i):(s&(jh|aa))!==0&&(s&Xs)===0&&C0(n,e,i)&&(Cs(n,Xs),x0(n))}}function C0(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&ro)!==0&&C0(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function x0(o){$i.schedule(o)}function SP(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;)SP(t,e),t=t.next}}function CP(o){Cs(o,qs);for(var e=o.first;e!==null;)CP(e),e=e.next}function lH(o){let e=0,t=wu(0),i;return()=>{E0()&&(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 cH=Cf|Kf;function dH(o,e,t,i){new uH(o,e,t,i)}var wr,Ux,Sr,md,Fo,Cr,Co,ir,rl,vd,ec,Jh,Jp,e_,al,wb,Ls,hH,fH,gH,zS,Rm,Nm,VS,jS;class uH{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,Ux,null);un(this,Sr);un(this,md);un(this,Fo);un(this,Cr,null);un(this,Co,null);un(this,ir,null);un(this,rl,null);un(this,vd,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,lH(()=>(hn(this,al,wu(ge(this,vd))),()=>{hn(this,al,null)})));var s;hn(this,wr,e),hn(this,Sr,t),hn(this,md,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,P0(()=>{zn(this,Ls,zS).call(this)},cH))}defer_effect(e){vP(e,ge(this,Jp),ge(this,e_))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!ge(this,Sr).pending}update_pending_count(e,t){zn(this,Ls,VS).call(this,e,t),hn(this,vd,ge(this,vd)+e),!(!ge(this,al)||ge(this,Jh))&&(hn(this,Jh,!0),uc(()=>{hn(this,Jh,!1),ge(this,al)&&kf(ge(this,al),ge(this,vd))}))}get_effect_pending(){return ge(this,wb).call(this),c(ge(this,al))}error(e){if(!ge(this,Sr).onerror&&!ge(this,Sr).failed)throw e;$i!=null&&$i.is_fork?(ge(this,Cr)&&$i.skip_effect(ge(this,Cr)),ge(this,Co)&&$i.skip_effect(ge(this,Co)),ge(this,ir)&&$i.skip_effect(ge(this,ir)),$i.oncommit(()=>{zn(this,Ls,jS).call(this,e)})):zn(this,Ls,jS).call(this,e)}}wr=new WeakMap,Ux=new WeakMap,Sr=new WeakMap,md=new WeakMap,Fo=new WeakMap,Cr=new WeakMap,Co=new WeakMap,ir=new WeakMap,rl=new WeakMap,vd=new WeakMap,ec=new WeakMap,Jh=new WeakMap,Jp=new WeakMap,e_=new WeakMap,al=new WeakMap,wb=new WeakMap,Ls=new WeakSet,hH=function(){try{hn(this,Cr,xr(()=>ge(this,md).call(this,ge(this,wr))))}catch(e){this.error(e)}},fH=function(e){const t=ge(this,Sr).failed;t&&hn(this,ir,xr(()=>{t(ge(this,wr),()=>e,()=>()=>{})}))},gH=function(){const e=ge(this,Sr).pending;e&&(this.is_pending=!0,hn(this,Co,xr(()=>e(ge(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(()=>ge(this,md).call(this,i)))),ge(this,ec)===0&&(ge(this,wr).before(t),hn(this,rl,null),Ld(ge(this,Co),()=>{hn(this,Co,null)}),zn(this,Ls,Rm).call(this,$i))}))},zS=function(){try{if(this.is_pending=this.has_pending_snippet(),hn(this,ec,0),hn(this,vd,0),hn(this,Cr,xr(()=>{ge(this,md).call(this,ge(this,wr))})),ge(this,ec)>0){var e=hn(this,rl,document.createDocumentFragment());R0(ge(this,Cr),e);const t=ge(this,Sr).pending;hn(this,Co,xr(()=>t(ge(this,wr))))}else zn(this,Ls,Rm).call(this,$i)}catch(t){this.error(t)}},Rm=function(e){this.is_pending=!1,e.transfer_effects(ge(this,Jp),ge(this,e_))},Nm=function(e){var t=En,i=Ln,n=oo;qa(ge(this,Fo)),Or(ge(this,Fo)),xf(ge(this,Fo).ctx);try{return yu.ensure(),e()}catch(s){return _P(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,ge(this,ec)+e),ge(this,ec)===0&&(zn(this,Ls,Rm).call(this,t),ge(this,Co)&&Ld(ge(this,Co),()=>{hn(this,Co,null)}),ge(this,rl)&&(ge(this,wr).before(ge(this,rl)),hn(this,rl,null)))},jS=function(e){ge(this,Cr)&&(Uo(ge(this,Cr)),hn(this,Cr,null)),ge(this,Co)&&(Uo(ge(this,Co)),hn(this,Co,null)),ge(this,ir)&&(Uo(ge(this,ir)),hn(this,ir,null));var t=ge(this,Sr).onerror;let i=ge(this,Sr).failed;var n=!1,s=!1;const r=()=>{if(n){Q3();return}n=!0,s&&F3(),ge(this,ir)!==null&&Ld(ge(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,ge(this,Fo)&&ge(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(ge(this,wr),()=>d,()=>r)})}catch(u){return nc(u,ge(this,Fo).parent),null}}))};uc(()=>{var d;try{d=this.transform_error(e)}catch(u){nc(u,ge(this,Fo)&&ge(this,Fo).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(a,u=>nc(u,ge(this,Fo)&&ge(this,Fo).parent)):a(d)})};function pH(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=_H(),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=xP();if(t.length===0){d.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>mH(p))).then(p=>u([...e.map(n),...p])).catch(p=>nc(p,r)).finally(f)}d?d.then(()=>{a(),g(),uv()}):g()}function _H(){var o=En,e=Ln,t=oo,i=$i;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&&($i==null||$i.deactivate())}function xP(){var o=En,e=o.b,t=$i,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=ro|Xs;return En!==null&&(En.f|=Kf),{ctx:oo,deps:null,effects:null,equals:hP,f:e,fn:o,reactions:null,rv:0,v:$s,wv:0,parent:En,ac:null}}const Y_=Symbol("obsolete");function mH(o,e,t){let i=En;i===null&&I3();var n=void 0,s=wu($s),r=!Ln,a=new Set;return DH(()=>{var w,y;var d=En,u=aP();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=$i;if(r){if((d.f&Gf)!==0)var g=xP();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"))}),D0(()=>{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 at(o){const e=yp(o);return zP(e),e}function k0(o){const e=yp(o);return e.equals=fP,e}function vH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Uo(e[t])}}function L0(o){var e,t=En,i=o.parent;if(!xl&&i!==null&&o.v!==$s&&(i.f&(Rr|Io))!==0)return X3(),o.v;qa(i);try{o.f&=~bu,vH(o),e=UP(o)}finally{qa(t)}return e}function kP(o){var e=L0(o);if(!o.equals(e)&&(o.wv=jP(),(!($i!=null&&$i.is_fork)||o.deps===null)&&($i!==null?($i.capture(o,e,!0),Ug==null||Ug.capture(o,e,!0)):o.v=e,o.deps===null))){Cs(o,qs);return}xl||(to!==null?(E0()||$i!=null&&$i.is_fork)&&to.set(o,e):S0(o))}function bH(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),M0(i))}function LP(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&Lf(e)}let hv=new Set;const xd=new Map;let IP=!1;function wu(o,e){var t={f:0,v:o,reactions:null,equals:hP,rv:0,wv:0};return t}function P(o,e){const t=wu(o);return zP(t),t}function yH(o,e=!1,t=!0){const i=wu(o);return e||(i.equals=fP),i}function b(o,e,t=!1){Ln!==null&&(!la||(Ln.f&cv)!==0)&&gP()&&(Ln.f&(ro|aa|jh|cv))!==0&&(za===null||!za.has(o))&&O3();let i=t?Ci(e):e;return kf(o,i,Mm)}function kf(o,e,t=null){if(!o.equals(e)){xd.set(o,xl?e:o.v);var i=yu.ensure();if(i.capture(o,e),(o.f&ro)!==0){const n=o;(o.f&Xs)!==0&&L0(n),to===null&&S0(n)}o.wv=jP(),EP(o,Xs,t),En!==null&&(En.f&qs)!==0&&(En.f&(ca|Mc))===0&&(yr===null?PH([o]):yr.push(o)),!i.is_fork&&hv.size>0&&!IP&&wH()}return e}function wH(){IP=!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 BL(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 EP(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&ro)!==0){var u=r;to==null||to.delete(u),(a&bu)===0&&(a&Mr&&(En===null||(En.f&dv)===0)&&(r.f|=bu),EP(u,Ua,t))}else if(d){var f=r;(a&aa)!==0&&Kr!==null&&Kr.add(f),t!==null?t.push(f):x0(f)}}}function Ci(o){if(typeof o!="object"||o===null||Cd in o)return o;const e=rP(o);if(e!==v3&&e!==b3)return o;var t=new Map,i=w0(o),n=P(0),s=Id,r=a=>{if(Id===s)return a();var d=Ln,u=Id;Or(null),$L(s);var f=a();return Or(d),$L(u),f};return i&&t.set("length",P(o.length)),new Proxy(o,{defineProperty(a,d,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&N3();var f=t.get(d);return f===void 0?r(()=>{var g=P(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(()=>P($s));t.set(d,f),Gg(n)}}else b(u,$s),Gg(n);return!0},get(a,d,u){var w;if(d===Cd)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=Ci(g?a[d]:$s),x=P(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===Cd)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?Ci(a[d]):$s,y=P(w);return y}),t.set(d,u));var g=c(u);if(g===$s)return!1}return f},set(a,d,u,f){var O;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(()=>P($s)),t.set(w+"",y))}if(g===void 0)(!p||(O=Vh(a,d))!=null&&O.writable)&&(g=r(()=>P(void 0)),b(g,Ci(u)),t.set(d,g));else{p=g.v!==$s;var x=r(()=>Ci(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"),M=Number(d);Number.isInteger(M)&&M>=D.v&&b(D,M+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(){A3()}})}function zL(o){try{if(o!==null&&typeof o=="object"&&Cd in o)return o[Cd]}catch{}return o}function SH(o,e){return Object.is(zL(o),zL(e))}var kd,DP,TP,PP,MP;function CH(){if(kd===void 0){kd=window,DP=document,TP=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;PP=Vh(e,"firstChild").get,MP=Vh(e,"nextSibling").get,OL(o)&&(o[OS]=void 0,o[Tm]=null,o[FS]=void 0,o.__e=void 0),OL(t)&&(t[Lg]=void 0)}}function _l(o=""){return document.createTextNode(o)}function Oa(o){return PP.call(o)}function w_(o){return MP.call(o)}function v(o,e){return Oa(o)}function mt(o,e=!1){{var t=Oa(o);return t instanceof Comment&&t.data===""?w_(t):t}}function m(o,e=1,t=!1){let i=o;for(;e--;)i=w_(i);return i}function xH(o){o.textContent=""}function RP(){return!1}function NP(o,e,t){return e==null||e===uP?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let VL=!1;function kH(){VL||(VL=!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 I0(o,e,t,i=t){o.addEventListener(e,()=>Fy(t));const n=o[Pm];n?o[Pm]=()=>{n(),i(!0)}:o[Pm]=()=>i(!0),kH()}function LH(o){En===null&&(Ln===null&&P3(),T3()),xl&&D3()}function IH(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:oo,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};$i==null||$i.register_created_effect(i);var n=i;if((o&Sf)!==0)Eh!==null?Eh.push(i):yu.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&&IH(n,t),Ln!==null&&(Ln.f&ro)!==0&&(o&Mc)===0)){var s=Ln;(s.effects??(s.effects=[])).push(n)}return i}function E0(){return Ln!==null&&!la}function D0(o){const e=Nl(Ay,null);return Cs(e,qs),e.teardown=o,e}function Vn(o){LH();var e=En.f,t=!Ln&&(e&ca)!==0&&oo!==null&&!oo.i;if(t){var i=oo;(i.e??(i.e=[])).push(o)}else return AP(o)}function AP(o){return Nl(Sf|C3,o)}function EH(o){yu.ensure();const e=Nl(Mc|Kf,o);return(t={})=>new Promise(i=>{t.outro?Ld(e,()=>{Uo(e),i(void 0)}):(Uo(e),i(void 0))})}function T0(o){return Nl(Sf,o)}function DH(o){return Nl(jh|Kf,o)}function Hy(o,e=0){return Nl(Ay|e,o)}function z(o,e=[],t=[],i=[]){pH(i,e,t,n=>{Nl(Ay,()=>o(...n.map(c)))})}function P0(o,e=0){var t=Nl(aa|e,o);return t}function xr(o){return Nl(ca|Kf,o)}function OP(o){var e=o.teardown;if(e!==null){const t=xl,i=Ln;jL(!0),Or(null);try{e.call(null)}finally{jL(t),Or(i)}}}function M0(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 TH(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&S3)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(FP(o.nodes.start,o.nodes.end),t=!0),Cs(o,AS),M0(o,e&&!t),wp(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();OP(o),o.f^=AS,o.f|=Rr;var n=o.parent;n!==null&&n.first!==null&&HP(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function FP(o,e){for(;o!==null;){var t=o===e?null:w_(o);o.remove(),o=t}}function HP(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 Ld(o,e,t=!0){var i=[];WP(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 WP(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;WP(n,e,r?t:!1)}n=s}}}function fv(o){BP(o,!0)}function BP(o,e){if((o.f&Io)!==0){o.f^=Io,(o.f&qs)===0&&(Cs(o,Xs),yu.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&Cf)!==0||(t.f&ca)!==0;BP(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 R0(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 jL(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 zP(o){Ln!==null&&(za??(za=new Set)).add(o)}let Ho=null,er=0,yr=null;function PH(o){yr=o}let VP=1,dd=0,Id=dd;function $L(o){Id=o}function jP(){return++VP}function S_(o){var e=o.f;if((e&Xs)!==0)return!0;if(e&ro&&(o.f&=~bu),(e&Ua)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(S_(s)&&kP(s),s.wv>o.wv)return!0}(e&Mr)!==0&&to===null&&Cs(o,qs)}return!1}function $P(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&ro)!==0?$P(s,e,!1):e===s&&(t?Cs(s,Xs):(s.f&qs)!==0&&Cs(s,Ua),x0(s))}}function UP(o){var x;var e=Ho,t=er,i=yr,n=Ln,s=za,r=oo,a=la,d=Id,u=o.f;Ho=null,er=0,yr=null,Ln=(u&(ca|Mc))===0?o:null,za=null,xf(o.ctx),la=!1,Id=++dd,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=$i==null?void 0:$i.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(E0()&&(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(gP()&&yr!==null&&!la&&p!==null&&(o.f&(ro|Ua|Xs))===0)for(y=0;y<yr.length;y++)$P(yr[y],o);if(n!==null&&n!==o){if(dd++,n.deps!==null)for(let k=0;k<t;k+=1)n.deps[k].rv=dd;if(e!==null)for(const k of e)k.rv=dd;yr!==null&&(i===null?i=yr:i.push(...yr))}return(o.f&dc)!==0&&(o.f^=dc),g}catch(k){return _P(k)}finally{o.f^=dv,Ho=e,er=t,yr=i,Ln=n,za=s,xf(r),la=a,Id=d}}function MH(o,e){let t=e.reactions;if(t!==null){var i=p3.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&ro)!==0&&(Ho===null||!lv.call(Ho,e))){var s=e;(s.f&Mr)!==0&&(s.f^=Mr,s.f&=~bu),s.v!==$s&&S0(s),bH(s),wp(s,0)}}function wp(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)MH(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|lP))!==0?TH(o):M0(o),OP(o);var n=UP(o);o.teardown=typeof n=="function"?n:null,o.wv=VP;var s;oP&&eH&&(o.f&Xs)!==0&&o.deps}finally{Am=i,En=t}}}async function Om(){await Promise.resolve(),rH()}function c(o){var e=o.f,t=(e&ro)!==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<dd&&(o.rv=dd,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&&xd.has(o))return xd.get(o);if(t){var r=o;if(xl){var a=r.v;return((r.f&qs)===0&&r.reactions!==null||GP(r))&&(a=L0(r)),xd.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),kP(r)),d&&!u&&(LP(r),qP(r))}if(to!=null&&to.has(o))return to.get(o);if((o.f&dc)!==0)throw o.v;return o.v}function qP(o){if(o.f|=Mr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&ro)!==0&&(e.f&Mr)===0&&(LP(e),qP(e))}function GP(o){if(o.v===$s)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(xd.has(e)||(e.f&ro)!==0&&GP(e))return!0;return!1}function Al(o){var e=la;try{return la=!0,o()}finally{la=e}}const RH=["touchstart","touchmove"];function NH(o){return RH.includes(o)}const ud=Symbol("events"),KP=new Set,$S=new Set;function AH(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=AH(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&D0(()=>{e.removeEventListener(o,r,s)})}function U(o,e,t){(e[ud]??(e[ud]={}))[o]=t}function Js(o){for(var e=0;e<o.length;e++)KP.add(o[e]);for(var t of $S)t(o)}let UL=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;UL=o;var r=0,a=UL===o&&o[ud];if(a){var d=n.indexOf(a);if(d!==-1&&(e===document||e===window)){o[ud]=e;return}var u=n.indexOf(e);if(u===-1)return;d<=u&&(r=d)}if(s=n[r]||o.target,s!==e){_3(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[ud])==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[ud]=e,delete o.currentTarget,Or(f),qa(g)}}}var ED;const Ew=((ED=globalThis==null?void 0:globalThis.window)==null?void 0:ED.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function OH(o){return(Ew==null?void 0:Ew.createHTML(o))??o}function ZP(o){var e=NP("template");return e.innerHTML=OH(o.replaceAll("<!>","<!---->")),e.content}function Su(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&q3)!==0,i=(e&G3)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=ZP(s?o:"<!>"+o),t||(n=Oa(n)));var r=i||TP?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Oa(r),d=r.lastChild;Su(a,d)}else Su(r,r);return r}}function FH(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=ZP(n),a=Oa(r);s=Oa(a)}var d=s.cloneNode(!0);return Su(d,d),d}}function XP(o,e){return FH(o,e,"svg")}function Dr(o=""){{var e=_l(o+"");return Su(e,e),e}}function Ms(){var o=document.createDocumentFragment(),e=document.createComment(""),t=_l();return o.append(e,t),Su(e,t),o}function I(o,e){o!==null&&o.before(e)}function A(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 HH(o,e){return WH(o,e)}const Q_=new Map;function WH(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){CH();var d=void 0,u=EH(()=>{var f=t??e.appendChild(_l());dH(f,{pending:()=>{}},w=>{Fs({});var y=oo;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=NH(x);for(const O of[e,document]){var D=Q_.get(O);D===void 0&&(D=new Map,Q_.set(O,D));var M=D.get(x);M===void 0?(O.addEventListener(x,US,{passive:k}),D.set(x,1)):D.set(x,M+1)}}}};return p(Ry(KP)),$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 BH.set(d,u),d}let BH=new WeakMap;var Qr,Ea,nr,bd,t_,i_,Sb;class zH{constructor(e,t=!0){vn(this,"anchor");un(this,Qr,new Map);un(this,Ea,new Map);un(this,nr,new Map);un(this,bd,new Set);un(this,t_,!0);un(this,i_,e=>{if(ge(this,Qr).has(e)){var t=ge(this,Qr).get(e),i=ge(this,Ea).get(t);if(i)fv(i),ge(this,bd).delete(t);else{var n=ge(this,nr).get(t);n&&(fv(n.effect),ge(this,Ea).set(t,n.effect),ge(this,nr).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of ge(this,Qr)){if(ge(this,Qr).delete(s),s===e)break;const a=ge(this,nr).get(r);a&&(Uo(a.effect),ge(this,nr).delete(r))}for(const[s,r]of ge(this,Ea)){if(s===t||ge(this,bd).has(s))continue;const a=()=>{if(Array.from(ge(this,Qr).values()).includes(s)){var u=document.createDocumentFragment();R0(r,u),u.append(_l()),ge(this,nr).set(s,{effect:r,fragment:u})}else Uo(r);ge(this,bd).delete(s),ge(this,Ea).delete(s)};ge(this,t_)||!i?(ge(this,bd).add(s),Ld(r,a,!1)):a()}}});un(this,Sb,e=>{ge(this,Qr).delete(e);const t=Array.from(ge(this,Qr).values());for(const[i,n]of ge(this,nr))t.includes(i)||(Uo(n.effect),ge(this,nr).delete(i))});this.anchor=e,hn(this,t_,t)}ensure(e,t){var i=$i,n=RP();if(t&&!ge(this,Ea).has(e)&&!ge(this,nr).has(e))if(n){var s=document.createDocumentFragment(),r=_l();s.append(r),ge(this,nr).set(e,{effect:xr(()=>t(r)),fragment:s})}else ge(this,Ea).set(e,xr(()=>t(this.anchor)));if(ge(this,Qr).set(i,e),n){for(const[a,d]of ge(this,Ea))a===e?i.unskip_effect(d):i.skip_effect(d);for(const[a,d]of ge(this,nr))a===e?i.unskip_effect(d.effect):i.skip_effect(d.effect);i.oncommit(ge(this,i_)),i.ondiscard(ge(this,Sb))}else ge(this,i_).call(this,i)}}Qr=new WeakMap,Ea=new WeakMap,nr=new WeakMap,bd=new WeakMap,t_=new WeakMap,i_=new WeakMap,Sb=new WeakMap;function F(o,e,t=!1){var i=new zH(o),n=t?Cf:0;function s(r,a){i.ensure(r,a)}P0(()=>{var r=!1;e((a,d=0)=>{r=!0,s(d,a)}),r||s(-1,null)},n)}function Wi(o,e){return e}function VH(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let g=e[a];Ld(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;xH(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();R0(s,r)}else Uo(e[n],t)}}var qL;function fi(o,e,t,i,n,s=null){var r=o,a=new Map,d=(e&dP)!==0;if(d){var u=o;r=u.appendChild(_l())}var f=null,g=k0(()=>{var O=t();return w0(O)?O:O==null?[]:Ry(O)}),p,w=new Map,y=!0;function x(O){(M.effect.f&Rr)===0&&(M.pending.delete(O),M.fallback=f,jH(M,p,r,e,i),f!==null&&(p.length===0?(f.f&Aa)===0?fv(f):(f.f^=Aa,Dg(f,null,r)):Ld(f,()=>{f=null})))}function k(O){M.pending.delete(O)}var D=P0(()=>{p=c(g);for(var O=p.length,K=new Set,V=$i,se=RP(),ie=0;ie<O;ie+=1){var we=p[ie],Se=i(we,ie),Ge=y?null:a.get(Se);Ge?(Ge.v&&kf(Ge.v,we),Ge.i&&kf(Ge.i,ie),se&&V.unskip_effect(Ge.e)):(Ge=$H(a,y?r:qL??(qL=_l()),we,Se,ie,n,e,t),y||(Ge.e.f|=Aa),a.set(Se,Ge)),K.add(Se)}if(O===0&&s&&!f&&(y?f=xr(()=>s(r)):(f=xr(()=>s(qL??(qL=_l()))),f.f|=Aa)),O>K.size&&E3(),!y)if(w.set(V,K),se){for(const[He,st]of a)K.has(He)||V.skip_effect(st.e);V.oncommit(x),V.ondiscard(k)}else x(V);c(g)}),M={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 jH(o,e,t,i,n){var Ge,He,st,bt,Le,wt,ct,At,We;var s=(i&B3)!==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&&((He=(Ge=k.nodes)==null?void 0:Ge.a)==null||He.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 Nt of o.outrogroups)Nt.pending.delete(k),Nt.done.delete(k);if((k.f&Io)!==0&&(fv(k),s&&((bt=(st=k.nodes)==null?void 0:st.a)==null||bt.unfix(),(g??(g=new Set)).delete(k))),(k.f&Aa)!==0)if(k.f^=Aa,k===d)Dg(k,null,t);else{var M=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,M),Dg(k,M,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 O=w[0],K;f=O.prev;var V=p[0],se=p[p.length-1];for(K=0;K<p.length;K+=1)Dg(p[K],O,t);for(K=0;K<w.length;K+=1)u.delete(w[K]);zl(o,V.prev,se.next),zl(o,f,V),zl(o,se,O),d=O,f=se,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 Nt of o.outrogroups)Nt.pending.size===0&&(qS(o,Ry(Nt.done)),(Le=o.outrogroups)==null||Le.delete(Nt));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 we=ie.length;if(we>0){var Se=(i&dP)!==0&&r===0?t:null;if(s){for(D=0;D<we;D+=1)(ct=(wt=ie[D].nodes)==null?void 0:wt.a)==null||ct.measure();for(D=0;D<we;D+=1)(We=(At=ie[D].nodes)==null?void 0:At.a)==null||We.fix()}VH(o,ie,Se)}}s&&uc(()=>{var Nt,Xe;if(g!==void 0)for(k of g)(Xe=(Nt=k.nodes)==null?void 0:Nt.a)==null||Xe.apply()})}function $H(o,e,t,i,n,s,r,a){var d=(r&H3)!==0?(r&z3)===0?yH(t,!1,!1):wu(t):null,u=(r&W3)!==0?wu(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;z(()=>{var u=En;if(a!==(a=e()??"")){if(t){u.nodes=null,d.innerHTML=a,a!==""&&Su(Oa(d),d.lastChild);return}if(u.nodes!==null&&(FP(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?K3:n?Z3:void 0,g=NP(i?"svg":n?"math":"template",f);g.innerHTML=a;var p=i||n?g:g.content;if(Su(Oa(p),p.lastChild),i||n)for(;Oa(p);)r.before(Oa(p));else r.before(p)}}})}function YP(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=YP(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function UH(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=YP(o))&&(i&&(i+=" "),i+=e);return i}function hd(o){return typeof o=="object"?UH(o):o??""}const GL=[...`
|
|
3
|
+
\r\f \v\uFEFF`];function qH(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||GL.includes(i[r-1]))&&(a===i.length||GL.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function KL(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 GH(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+=KL(i)),n&&(t+=KL(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function Dt(o,e,t,i,n,s){var r=o[OS];if(r!==t||r===void 0){var a=qH(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=GH(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 QP(o,e,t=!1){if(o.multiple){if(e==null)return;if(!w0(e))return Y3();for(var i of o.options)i.selected=e.includes(Kg(i));return}for(i of o.options){var n=Kg(i);if(SH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function KH(o){var e=new MutationObserver(()=>{QP(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),D0(()=>{e.disconnect()})}function fo(o,e,t=e){var i=new WeakSet,n=!0;I0(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,$i!==null&&i.add($i)}),T0(()=>{var s=e();if(o===document.activeElement){var r=$i;if(i.has(r))return}if(QP(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=Kg(a),t(s))}o.__value=s,n=!1}),KH(o)}function Kg(o){return"__value"in o?o.__value:o.value}const ZH=Symbol("is custom element"),XH=Symbol("is html"),YH=L3?"progress":"PROGRESS";function ZL(o,e){var t=N0(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==YH)||(o.value=e??"")}function fd(o,e){var t=N0(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function Ri(o,e,t,i){var n=N0(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[k3]=t),t==null?o.removeAttribute(e):typeof t!="string"&&QH(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function N0(o){return o[Tm]??(o[Tm]={[ZH]:o.nodeName.includes("-"),[XH]:o.namespaceURI===uP})}var XL=new Map;function QH(o){var e=o.getAttribute("is")||o.nodeName,t=XL.get(e);if(t)return t;XL.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=m3(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=rP(n)}return t}function Kt(o,e,t=e){var i=new WeakSet;I0(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=Pw(o)?Mw(s):s,t(s),$i!==null&&i.add($i),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),$i!==null&&i.add($i)),Hy(()=>{var n=e();if(o===document.activeElement){var s=$i;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){I0(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,JP;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=ge(this,tc).get(e)||new Set;return i.add(t),ge(this,tc).set(e,i),zn(this,Cb,JP).call(this).observe(e,ge(this,n_)),()=>{var n=ge(this,tc).get(e);n.delete(t),n.size===0&&(ge(this,tc).delete(e),ge(this,ef).unobserve(e))}}};tc=new WeakMap,ef=new WeakMap,n_=new WeakMap,Cb=new WeakSet,JP=function(){return ge(this,ef)??hn(this,ef,new ResizeObserver(e=>{for(var t of e){xb.entries.set(t.target,t);for(var i of ge(this,tc).get(t.target)||[])i(t)}}))},vn(xb,"entries",new WeakMap);let GS=xb;var JH=new GS({box:"border-box"});function eW(o,e,t){var i=JH.observe(o,()=>t(o[e]));T0(()=>(Al(()=>t(o[e])),i))}function Rw(o,e){return o===e||(o==null?void 0:o[Cd])===e}function ks(o={},e,t,i){var n=oo.r,s=En;return T0(()=>{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 Cu(o,e,t,i){var K;var n=!0,s=(t&$3)!==0,r=(t&U3)!==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=Cd in o||x3 in o;g=((K=Vh(o,e))==null?void 0:K.set)??(p&&e in o?V=>o[e]=V:void 0)}var w,y=!1;s?[w,y]=nH(()=>o[e]):w=o[e],w===void 0&&i!==void 0&&(w=f(),g&&(R3(),g(w)));var x;if(x=()=>{var V=o[e];return V===void 0?f():(d=!0,V)},(t&j3)===0)return x;if(g){var k=o.$$legacy;return(function(V,se){return arguments.length>0?((!se||k||y)&&g(se?x():V),V):x()})}var D=!1,M=((t&V3)!==0?yp:k0)(()=>(D=!1,x()));s&&c(M);var O=En;return(function(V,se){if(arguments.length>0){const ie=se?c(M):s?Ci(V):V;return b(M,ie),D=!0,a!==void 0&&(a=ie),V}return xl&&D||(O.f&Rr)!==0?M.v:c(M)})}function Ys(o){oo===null&&cP(),Vn(()=>{const e=Al(o);if(typeof e=="function")return e})}function Wy(o){oo===null&&cP(),Ys(()=>()=>Al(o))}const tW="5";var DD;typeof window<"u"&&((DD=window.__svelte??(window.__svelte={})).v??(DD.v=new Set)).add(tW);/*!-----------------------------------------------------------------------------
|
|
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 iW=Object.defineProperty,nW=Object.getOwnPropertyDescriptor,sW=Object.getOwnPropertyNames,oW=Object.prototype.hasOwnProperty,rW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of sW(e))!oW.call(o,n)&&n!==t&&iW(o,n,{get:()=>e[n],enumerable:!(i=nW(e,n))||i.enumerable});return o},aW=(o,e,t)=>(rW(o,e,"default"),t),C_={};aW(C_,PD);var lW=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)}},cW={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},dW={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},eM=new lW("json",cW,dW),uW=()=>tM().then(o=>o.getWorker());C_.languages.json={jsonDefaults:eM,getWorker:uW};function tM(){return TD(()=>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",()=>{tM().then(o=>o.setupMode(eM))});/*!-----------------------------------------------------------------------------
|
|
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 hW=Object.defineProperty,fW=Object.getOwnPropertyDescriptor,gW=Object.getOwnPropertyNames,pW=Object.prototype.hasOwnProperty,_W=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of gW(e))!pW.call(o,n)&&n!==t&&hW(o,n,{get:()=>e[n],enumerable:!(i=fW(e,n))||i.enumerable});return o},mW=(o,e,t)=>(_W(o,e,"default"),t),vW="5.4.5",If={};mW(If,PD);var iM=(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))(iM||{}),nM=(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))(nM||{}),sM=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(sM||{}),oM=(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))(oM||{}),rM=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(rM||{}),aM=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)}},bW=vW,lM={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},cM=new aM({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},lM),dM=new aM({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},lM),yW=()=>By().then(o=>o.getTypeScriptWorker()),wW=()=>By().then(o=>o.getJavaScriptWorker());If.languages.typescript={ModuleKind:iM,JsxEmit:nM,NewLineKind:sM,ScriptTarget:oM,ModuleResolutionKind:rM,typescriptVersion:bW,typescriptDefaults:cM,javascriptDefaults:dM,getTypeScriptWorker:yW,getJavaScriptWorker:wW};function By(){return TD(()=>import("./tsMode-DEX2KSLC.js"),__vite__mapDeps([3,1,2]))}If.languages.onLanguage("typescript",()=>By().then(o=>o.setupTypeScript(cM)));If.languages.onLanguage("javascript",()=>By().then(o=>o.setupJavaScript(dM)));class SW extends bo{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:ii("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Pi.map,toggled:Re.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:Re.has("isInDiffEditor"),menu:{when:Re.has("isInDiffEditor"),id:$t.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 uM extends bo{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:ii("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:Re.has("isInDiffEditor")})}run(e,...t){const i=e.get(Un),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class hM extends bo{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:ii("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:Re.has("isInDiffEditor")})}run(e,...t){const i=e.get(Un),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const x_=ii("diffEditor","Diff Editor");class CW extends da{constructor(){super({id:"diffEditor.switchSide",title:ii("switchSide","Switch Side"),icon:Pi.arrowSwap,precondition:Re.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 xW extends da{constructor(){super({id:"diffEditor.exitCompareMove",title:ii("exitCompareMove","Exit Compare Move"),icon:Pi.close,precondition:B.comparingMovedCode,f1:!1,category:x_,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=Zf(e);n instanceof s_&&n.exitCompareMove()}}class kW extends da{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:ii("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Pi.fold,precondition:Re.has("isInDiffEditor"),f1:!0,category:x_})}runEditorCommand(e,t,...i){const n=Zf(e);n instanceof s_&&n.collapseAllUnchangedRegions()}}class LW extends da{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:ii("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Pi.unfold,precondition:Re.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:ii("revert","Revert"),f1:!1,category:x_})}run(e,t){const i=IW(e,t.originalUri,t.modifiedUri);i instanceof s_&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const fM=ii("accessibleDiffViewer","Accessible Diff Viewer"),kb=class kb extends bo{constructor(){super({id:kb.id,title:ii("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:fM,precondition:Re.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:ii("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:fM,precondition:Re.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 IW(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=MD();if(i)for(const n of t){const s=n.getContainerDomNode();if(EW(s,i))return n}return null}function EW(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Dn(SW);Dn(uM);Dn(hM);Nr.appendMenuItem($t.EditorTitle,{command:{id:new hM().desc.id,title:C("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:Re.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:Re.has("isInDiffEditor")},order:11,group:"1_diff",when:Re.and(B.diffEditorRenderSideBySideInlineBreakpointReached,Re.has("isInDiffEditor"))});Nr.appendMenuItem($t.EditorTitle,{command:{id:new uM().desc.id,title:C("showMoves","Show Moved Code Blocks"),icon:Pi.move,toggled:OA.create("config.diffEditor.experimental.showMoves",!0),precondition:Re.has("isInDiffEditor")},order:10,group:"1_diff",when:Re.has("isInDiffEditor")});Dn(KS);for(const o of[{icon:Pi.arrowRight,key:B.diffEditorInlineMode.toNegated()},{icon:Pi.discard,key:B.diffEditorInlineMode}])Nr.appendMenuItem($t.DiffEditorHunkToolbar,{command:{id:new KS().desc.id,title:C("revertHunk","Revert Block"),icon:o.icon},when:Re.and(B.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Nr.appendMenuItem($t.DiffEditorSelectionToolbar,{command:{id:new KS().desc.id,title:C("revertSelection","Revert Selection"),icon:o.icon},when:Re.and(B.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Dn(CW);Dn(xW);Dn(kW);Dn(LW);Nr.appendMenuItem($t.EditorTitle,{command:{id:Sp.id,title:C("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:Re.has("isInDiffEditor")},order:10,group:"2_diff",when:Re.and(B.accessibleDiffViewerVisible.negate(),Re.has("isInDiffEditor"))});Hn.registerCommandAlias("editor.action.diffReview.next",Sp.id);Dn(Sp);Hn.registerCommandAlias("editor.action.diffReview.prev",gv.id);Dn(gv);var DW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},TW=function(o,e){return function(t,i){e(t,i,o)}},ZS;const zy=new fn("selectionAnchorSet",!1);var Pd;let Rc=(Pd=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(xi.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new eo().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(xi.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=Pd,Pd.ID="editor.contrib.selectionAnchorController",Pd);Rc=ZS=DW([TW(1,yn)],Rc);class PW extends Ye{constructor(){super({id:"editor.action.setSelectionAnchor",label:C("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,2080),weight:100}})}async run(e,t){var i;(i=Rc.get(t))==null||i.setSelectionAnchor()}}class MW extends Ye{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 RW extends Ye{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:C("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:zy,kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,2089),weight:100}})}async run(e,t){var i;(i=Rc.get(t))==null||i.selectFromAnchorToCursor()}}class NW extends Ye{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:C("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:zy,kbOpts:{kbExpr:B.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=Rc.get(t))==null||i.cancelSelectionAnchor()}}Yi(Rc.ID,Rc,4);ve(PW);ve(MW);ve(RW);ve(NW);const AW=Xt("editorOverviewRuler.bracketMatchForeground","#A0A0A0",C("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class OW extends Ye{constructor(){super({id:"editor.action.jumpToBracket",label:C("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:B.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=xu.get(t))==null||i.jumpToBracket()}}class FW extends Ye{constructor(){super({id:"editor.action.selectToBracket",label:C("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:ii("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=xu.get(t))==null||s.selectToBracket(n)}}class HW extends Ye{constructor(){super({id:"editor.action.removeBrackets",label:C("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:B.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=xu.get(t))==null||i.removeBrackets(this.id)}}class WW{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const Kl=class Kl extends _t{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 xi(r.lineNumber,r.column,r.lineNumber,r.column):new xi(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 xi(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(ai.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 WW(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(AW),position:Ha.Center}}),Kl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=rn.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let xu=Kl;Yi(xu.ID,xu,1);ve(FW);ve(OW);ve(HW);Nr.appendMenuItem($t.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:C({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class BW{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 xi(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new xi(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class gM extends Ye{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 BW(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class zW extends gM{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:C("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:B.writable})}}class VW extends gM{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:C("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:B.writable})}}ve(zW);ve(VW);class jW extends Ye{constructor(){super({id:"editor.action.transposeLetters",label:C("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:B.writable,kbOpts:{kbExpr:B.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())}}ve(jW);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 A0(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function $W(o,e,t){const i={id:Vy(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class pM{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"),mM(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 _M(o,e){return mM(pv(o),e.map(pv))}function mM(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=>RD(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 YL={EDITORS:"CodeEditors",FILES:"CodeFiles"};class UW{}const qW={DragAndDropContribution:"workbench.contributions.dragAndDrop"};ua.add(qW.DragAndDropContribution,new UW);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 vM(o){const e=new pM;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,A0(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,GW(n))}}return e}function GW(o){const e=o.path?Tn.parse(o.path):void 0;return $W(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const KW=Object.freeze([YL.EDITORS,YL.FILES,bS.RESOURCES,bS.INTERNAL_URI_LIST]);function bM(o,e=!1){const t=vM(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,A0(jy.create(n)))}for(const n of KW)t.delete(n);return t}var O0=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 F0{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 F0{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 ku=rp;class yM extends F0{constructor(){super(...arguments),this.kind=new $n("uri.absolute"),this.dropMimeTypes=[Os.uriList],this.pasteMimeTypes=[Os.uriList]}async getEdit(e,t){const i=await wM(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 F0{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 wM(e);if(!i.length||t.isCancellationRequested)return;const n=bl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?FA(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=O0([Cp(0,hf)],_v);class ZW{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 wM(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 _t{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new ku)),this._register(e.documentDropEditProvider.register("*",new yM)),this._register(e.documentDropEditProvider.register("*",new _v(t)))}};YS=O0([Cp(0,li),Cp(1,hf)],YS);let QS=class extends _t{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new ku)),this._register(e.documentPasteEditProvider.register("*",new yM)),this._register(e.documentPasteEditProvider.register("*",new _v(t))),this._register(e.documentPasteEditProvider.register("*",new ZW))}};QS=O0([Cp(0,li),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 SM extends Xf{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new SM(this.value)}};class CM extends Xf{}class ar extends CM{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 H0 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 H0;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 CM{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 QL(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 QL([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){QL(this.children,e)}}class Lu{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 H0;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 xM(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 HA(o,{range:s,text:typeof t.insertText=="string"?Lu.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function kM(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 XW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},YW=function(o,e){return function(t,i){e(t,i,o)}};const QW=rn.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:ND,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Ib=class Ib extends _t{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=Zt(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=Zt("span.icon");this.domNode.append(t),t.classList.add(...Cn.asClassNameArray(Pi.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 _t{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:QW}]).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=XW([YW(2,Bi)],mv);var JW=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)}},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 ft,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)?WA(e,{actionHandler:{callback:n=>{this.closeMessage(),BA(this._openerService,n,km(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new eI(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&&zA(MD(),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(eI.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=JW([JL(1,yn),JL(2,ha)],Eo);const e4=yo.bindToContribution(Eo.get);ui(new e4({id:"leaveEditorMessage",precondition:Eo.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let eI=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}",iI(o),tI(o.stack)||tI(o.stacktrace)):iI(o)}function tI(o){return Array.isArray(o)?o.join(`
|
|
16
|
+
`):o}function iI(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(AD(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 LM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$h=function(o,e){return function(t,i){e(t,i,o)}},tC,Md;let iC=(Md=class extends _t{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=Zt(".post-edit-widget"),this.button=this._register(new VA(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)=>jA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},tC=Md,Md.baseId="editor.widget.postEditWidget",Md);iC=tC=LM([$h(7,Vf),$h(8,yn),$h(9,hs)],iC);let bv=class extends _t{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=xM(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=LM([$h(4,Bi),$h(5,fy),$h(6,lo)],bv);var t4=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)}},td;const IM="editor.changePasteType",W0=new fn("pasteWidgetVisible",!1,C("pasteWidgetVisible","Whether the paste widget is showing")),Aw="application/vnd.code.copyMetadata";var Rd;let kl=(Rd=class extends _t{static get(e){return e.getContribution(td.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,W0,{id:IM,label:C("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},qx().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,M;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(O=>!!O.prepareDocumentPaste);if(!f.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:u});return}const g=vM(e.clipboardData),p=f.flatMap(O=>O.copyMimeTypes??[]),w=Vy();this.setCopyMetadata(e.clipboardData,{id:w,providerCopyMimeTypes:p,defaultPastePayload:u});const y=Rs(async O=>{const K=bl(await Promise.all(f.map(async V=>{try{return await V.prepareDocumentPaste(t,s,g,O)}catch(se){console.error(se);return}})));K.reverse();for(const V of K)for(const[se,ie]of V)g.replace(se,ie);return g});(M=td._currentCopyOperation)==null||M.dataTransferPromise.cancel(),td._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=bM(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=>_M(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 ft,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(M=>this.isSupportedPasteProvider(M,i));if(!x.length||x.length===1&&x[0]instanceof ku)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 ku)return this.applyDefaultPasteHandler(i,n,y,s);if(D.edits.length){const M=f.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:D.edits},M,(O,K)=>new Promise((V,se)=>{(async()=>{var ie,we;try{const Se=(we=(ie=O.provider).resolveDocumentPasteEdit)==null?void 0:we.call(ie,O,K),Ge=new py,He=Se&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),C("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([Ge.p,Se]),{cancel:()=>(Ge.cancel(),se(new _y))},0);return He&&(O.additionalEdit=He.additionalEdit),V(O)}catch(Se){return se(Se)}})()}),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 ft,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(M=>{var O;return{label:M.title,description:(O=M.kind)==null?void 0:O.value,edit:M}}),{placeHolder:C("pasteAsPickerPlaceholder","Select Paste Action")});x=D==null?void 0:D.edit}if(!x)return;const k=xM(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]=$A.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=td._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await td._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,A0(jy.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new ft,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:kM(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}},td=Rd,Rd.ID="editor.contrib.copyPasteActionController",Rd);kl=td=t4([sh(1,Bi),sh(2,fy),sh(3,jf),sh(4,li),sh(5,Tl),sh(6,UA)],kl);const Iu="9_cutcopypaste",i4=$f||document.queryCommandSupported("cut"),EM=$f||document.queryCommandSupported("copy"),n4=typeof navigator.clipboard>"u"||qA?document.queryCommandSupported("paste"):!0;function B0(o){return o.register(),o}const s4=i4?B0(new Gx({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:$f?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:$t.MenubarEditMenu,group:"2_ccp",title:C({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:$t.EditorContext,group:Iu,title:C("actions.clipboard.cutLabel","Cut"),when:B.writable,order:1},{menuId:$t.CommandPalette,group:"",title:C("actions.clipboard.cutLabel","Cut"),order:1},{menuId:$t.SimpleEditorContext,group:Iu,title:C("actions.clipboard.cutLabel","Cut"),when:B.writable,order:1}]})):void 0,o4=EM?B0(new Gx({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:$f?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:$t.MenubarEditMenu,group:"2_ccp",title:C({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:$t.EditorContext,group:Iu,title:C("actions.clipboard.copyLabel","Copy"),order:2},{menuId:$t.CommandPalette,group:"",title:C("actions.clipboard.copyLabel","Copy"),order:1},{menuId:$t.SimpleEditorContext,group:Iu,title:C("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;Nr.appendMenuItem($t.MenubarEditMenu,{submenu:$t.MenubarCopy,title:ii("copy as","Copy As"),group:"2_ccp",order:3});Nr.appendMenuItem($t.EditorContext,{submenu:$t.EditorContextCopy,title:ii("copy as","Copy As"),group:Iu,order:3});Nr.appendMenuItem($t.EditorContext,{submenu:$t.EditorContextShare,title:ii("share","Share"),group:"11_share",order:-1,when:Re.and(Re.notEquals("resourceScheme","output"),B.editorTextFocus)});Nr.appendMenuItem($t.ExplorerContext,{submenu:$t.ExplorerContextShare,title:ii("share","Share"),group:"11_share",order:-1});const Ow=n4?B0(new Gx({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:$t.MenubarEditMenu,group:"2_ccp",title:C({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:$t.EditorContext,group:Iu,title:C("actions.clipboard.pasteLabel","Paste"),when:B.writable,order:4},{menuId:$t.CommandPalette,group:"",title:C("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:$t.SimpleEditorContext,group:Iu,title:C("actions.clipboard.pasteLabel","Paste"),when:B.writable,order:4}]})):void 0;class r4 extends Ye{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:B.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(oL.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),oL.forceCopyWithSyntaxHighlighting=!1)}}function DM(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)=>(qx().execCommand(e),!0)))}DM(s4,"cut");DM(o4,"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():GA?(async()=>{const a=await i.readText();if(a!==""){const d=KA.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)=>(qx().execCommand("paste"),!0)));EM&&ve(r4);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 a4(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>TM(e,t,o.include))||!o.includeSourceActions&&On.Source.contains(e))}function l4(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=>TM(t,i,o.include))||!o.includeSourceActions&&t&&On.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function TM(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 c4{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 PM="editor.action.codeAction",z0="editor.action.quickFix",MM="editor.action.autoFix",RM="editor.action.refactor",NM="editor.action.sourceAction",nC="editor.action.organizeImports",sC="editor.action.fixAll";class Zg extends _t{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 nI={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 ZA(e,s),f=i.type===2,g=d4(o,e,f?a:r),p=new ft,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 nI;const M=((D==null?void 0:D.actions)||[]).filter(K=>K&&l4(r,K)),O=h4(k,M,r.include);return{actions:M.map(K=>new c4(K,k)),documentation:O}}catch(D){if(Hc(D))throw D;return rs(D),nI}}),y=o.onDidChange(()=>{const k=o.all(e);Va(k,g)||u.cancel()});try{const k=await Promise.all(w),D=k.map(O=>O.actions).flat(),M=[...bl(k.map(O=>O.documentation)),...u4(o,e,i,D)];return new Zg(D,M,p)}finally{y.dispose(),u.dispose()}}function d4(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>a4(t,new $n(n))):!0)}function*u4(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 h4(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 gd;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(gd||(gd={}));async function f4(o,e,t,i,n=Ki.None){var u;const s=o.get(fy),r=o.get(Is),a=o.get(fa),d=o.get(lo);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!==gd.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=g4(f);d.error(typeof g=="string"?g:C("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function g4(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(li),r=o.get(co).getModel(e);if(!r)throw gl();const a=xi.isISelection(t)?xi.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,Ki.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(Ki.None));try{return await Promise.all(f),u.validActions.map(p=>p.action)}finally{setTimeout(()=>u.dispose(),100)}});var p4=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},_4=function(o,e){return function(t,i){e(t,i,o)}},oC,Nd;let rC=(Nd=class{constructor(e){this.keybindingService=e}getResolver(){const e=new Kx(()=>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=Nd,Nd.codeActionCommands=[RM,PM,NM,nC,sC],Nd);rC=oC=p4([_4(0,hs)],rC);Xt("symbolIcon.arrayForeground",ys,C("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.booleanForeground",ys,C("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("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."));Xt("symbolIcon.colorForeground",ys,C("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.constantForeground",ys,C("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("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."));Xt("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."));Xt("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."));Xt("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."));Xt("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."));Xt("symbolIcon.fileForeground",ys,C("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.folderForeground",ys,C("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("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."));Xt("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."));Xt("symbolIcon.keyForeground",ys,C("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.keywordForeground",ys,C("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("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."));Xt("symbolIcon.moduleForeground",ys,C("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.namespaceForeground",ys,C("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.nullForeground",ys,C("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.numberForeground",ys,C("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.objectForeground",ys,C("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.operatorForeground",ys,C("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.packageForeground",ys,C("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.propertyForeground",ys,C("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.referenceForeground",ys,C("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.snippetForeground",ys,C("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.stringForeground",ys,C("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.structForeground",ys,C("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.textForeground",ys,C("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.typeParameterForeground",ys,C("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("symbolIcon.unitForeground",ys,C("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Xt("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 AM=Object.freeze({kind:$n.Empty,title:C("codeAction.widget.id.more","More Actions...")}),m4=Object.freeze([{kind:On.QuickFix,title:C("codeAction.widget.id.quickfix","Quick Fix")},{kind:On.RefactorExtract,title:C("codeAction.widget.id.extract","Extract"),icon:Pi.wrench},{kind:On.RefactorInline,title:C("codeAction.widget.id.inline","Inline"),icon:Pi.wrench},{kind:On.RefactorRewrite,title:C("codeAction.widget.id.convert","Rewrite"),icon:Pi.wrench},{kind:On.RefactorMove,title:C("codeAction.widget.id.move","Move"),icon:Pi.wrench},{kind:On.SurroundWith,title:C("codeAction.widget.id.surround","Surround With"),icon:Pi.surroundWith},{kind:On.Source,title:C("codeAction.widget.id.source","Source Action"),icon:Pi.symbolFile},AM]);function v4(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:AM,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=m4.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:Pi.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var b4=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},y4=function(o,e){return function(t,i){e(t,i,o)}},bh;const sI=is("gutter-lightbulb",Pi.lightBulb,C("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),oI=is("gutter-lightbulb-auto-fix",Pi.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.")),rI=is("gutter-lightbulb-sparkle",Pi.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.")),aI=is("gutter-lightbulb-aifix-auto-fix",Pi.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.")),lI=is("gutter-lightbulb-sparkle-filled",Pi.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 _t{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new Gi),this.onClick=this._onClick.event,this._state=Zr.Hidden,this._gutterState=Zr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+sI.id,"codicon-"+aI.id,"codicon-"+oI.id,"codicon-"+rI.id,"codicon-"+lI.id],this.gutterDecoration=bh.GUTTER_DECORATION,this._domNode=Zt("div.lightBulbWidget"),this._domNode.role="listbox",this._register(OD.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(XA(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(MM))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(z0))==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=Zx(g,u),w=f.spaceWidth*p>22,y=V=>V>2&&this._editor.getTopForLineNumber(V)===this._editor.getTopForLineNumber(V-1),x=this._editor.getLineDecorations(a);let k=!1;if(x)for(const V of x){const se=V.options.glyphMarginClassName;if(se&&!this.lightbulbClasses.some(ie=>se.includes(ie))){k=!0;break}}let D=a,M=1;if(!w){const V=se=>{const ie=r.getLineContent(se);return/^\s*$|^\s+/.test(ie)||ie.length<=M};if(a>1&&!y(a-1)){const se=r.getLineCount(),ie=a===se,we=a>1&&V(a-1),Se=!ie&&V(a+1),Ge=V(a),He=!Se&&!we;if(!Se&&!we&&!k)return this.gutterState=new Zr.Showing(e,t,i,{position:{lineNumber:D,column:M},preference:bh._posPref}),this.renderGutterLightbub(),this.hide();we||ie||we&&!Ge?D-=1:(Se||He&&Ge)&&(D+=1)}else if(a===1&&(a===r.getLineCount()||!V(a+1)&&!V(a)))if(this.gutterState=new Zr.Showing(e,t,i,{position:{lineNumber:D,column:M},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();M=/^\S\s*$/.test(r.getLineContent(D))?2:1}this.state=new Zr.Showing(e,t,i,{position:{lineNumber:D,column:M},preference:bh._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const O=e.validActions,K=e.validActions[0].action.kind;if(O.length!==1||!K){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=Pi.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=Pi.lightbulbSparkleAutofix:e=Pi.lightbulbAutofix:this.state.actions.hasAIFix?e=Pi.lightbulbSparkle:e=Pi.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=Cn.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=lI,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=aI:e=oI:this.gutterState.actions.hasAIFix?e=rI:e=sI,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=rn.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Cn.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:Cn.asClassName(Pi.lightBulb),glyphMargin:{position:Qm.Left},stickiness:1}),ul.ID="editor.contrib.lightbulbWidget",ul._posPref=[0],ul);kp=bh=b4([y4(1,hs)],kp);var OM=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 FM="acceptSelectedCodeAction",HM="previewSelectedCodeAction";class w4{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 Xx(e,Yx);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=Cn.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=yd(e.group.icon.color.id))):(i.icon.className=Cn.asClassName(Pi.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=WM(e.label),i.keybinding.set(e.keybinding),YA(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(FM))==null?void 0:a.getLabel(),s=(d=this._keybindingService.lookupKeybinding(HM))==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=OM([aC(1,hs)],lC);class S4 extends UIEvent{constructor(){super("acceptSelectedAction")}}class cI extends UIEvent{constructor(){super("previewSelectedAction")}}function C4(o){if(o.kind==="action")return o.label}let cC=class extends _t{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 Qx(e,this.domNode,a,[new lC(t,this._keybindingService),new w4],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:C4},accessibilityProvider:{getAriaLabel:d=>{if(d.kind==="action"){let u=d.label?WM(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(QA),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 cI:new S4;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 cI):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=OM([aC(4,my),aC(5,hs)],cC);function WM(o){return o.replace(/\r\n|\r|\n/g," ")}var x4=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)}};Xt("actionBar.toggledBackground",Jx,C("actionBar.toggledBackground","Background color for toggled action items in action bar."));const Eu={Visible:new fn("codeActionMenuVisible",!1,C("codeActionMenuVisible","Whether the action widget list is visible"))},Vu=Pl("actionWidgetService");let Du=class extends _t{get isVisible(){return Eu.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=Eu.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 ft,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=Zt(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)}};Du=x4([Fw(0,my),Fw(1,yn),Fw(2,Bi)],Du);Ml(Vu,Du,1);const L_=1100;Dn(class extends bo{constructor(){super({id:"hideCodeActionWidget",title:ii("hideCodeActionWidget.title","Hide action widget"),precondition:Eu.Visible,keybinding:{weight:L_,primary:9,secondary:[1033]}})}run(o){o.get(Vu).hide(!0)}});Dn(class extends bo{constructor(){super({id:"selectPrevCodeAction",title:ii("selectPrevCodeAction.title","Select previous action"),precondition:Eu.Visible,keybinding:{weight:L_,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(Vu);e instanceof Du&&e.focusPrevious()}});Dn(class extends bo{constructor(){super({id:"selectNextCodeAction",title:ii("selectNextCodeAction.title","Select next action"),precondition:Eu.Visible,keybinding:{weight:L_,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(Vu);e instanceof Du&&e.focusNext()}});Dn(class extends bo{constructor(){super({id:FM,title:ii("acceptSelected.title","Accept selected action"),precondition:Eu.Visible,keybinding:{weight:L_,primary:3,secondary:[2137]}})}run(o){const e=o.get(Vu);e instanceof Du&&e.acceptSelected()}});Dn(class extends bo{constructor(){super({id:HM,title:ii("previewSelected.title","Preview selected action"),precondition:Eu.Visible,keybinding:{weight:L_,primary:2051}})}run(o){const e=o.get(Vu);e instanceof Du&&e.acceptSelected(!0)}});const BM=new fn("supportedCodeAction",""),dI="_typescript.applyFixAllCodeAction";class k4 extends _t{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 od;(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 zM;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(od||(od={}));const zM=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class L4 extends _t{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=od.Empty,this._onDidChangeState=this._register(new Gi),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=BM.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(od.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(od.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 k4(this._editor,this._markerService,i=>{var d;if(!i){this.setState(od.Empty);return}const n=i.selection.getStartPosition(),s=Rs(async u=>{var f,g,p,w,y,x,k,D,M,O;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 K=await Dh(this._registry,e,i.selection,i.trigger,cl.None,u),V=[...K.allActions];if(u.isCancellationRequested)return zM;const se=(p=K.validActions)==null?void 0:p.some(we=>we.action.kind?On.QuickFix.contains(new $n(we.action.kind)):!1),ie=this._markerService.read({resource:e.uri});if(se){for(const we of K.validActions)(y=(w=we.action.command)==null?void 0:w.arguments)!=null&&y.some(Se=>typeof Se=="string"&&Se.includes(dI))&&(we.action.diagnostics=[...ie.filter(Se=>Se.relatedInformation)]);return{validActions:K.validActions,allActions:V,documentation:K.documentation,hasAutoFix:K.hasAutoFix,hasAIFix:K.hasAIFix,allAIFixes:K.allAIFixes,dispose:()=>{K.dispose()}}}else if(!se&&ie.length>0){const we=i.selection.getPosition();let Se=we,Ge=Number.MAX_VALUE;const He=[...K.validActions];for(const bt of ie){const Le=bt.endColumn,wt=bt.endLineNumber,ct=bt.startLineNumber;if(wt===we.lineNumber||ct===we.lineNumber){Se=new ai(wt,Le);const At={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:Se}},We=new xi(Se.lineNumber,Se.column,Se.lineNumber,Se.column),Nt=await Dh(this._registry,e,We,At,cl.None,u);if(Nt.validActions.length!==0){for(const Xe of Nt.validActions)(O=(M=Xe.action.command)==null?void 0:M.arguments)!=null&&O.some(pe=>typeof pe=="string"&&pe.includes(dI))&&(Xe.action.diagnostics=[...ie.filter(pe=>pe.relatedInformation)]);K.allActions.length===0&&V.push(...Nt.allActions),Math.abs(we.column-Le)<Ge?He.unshift(...Nt.validActions):He.push(...Nt.validActions)}Ge=Math.abs(we.column-Le)}}const st=He.filter((bt,Le,wt)=>wt.findIndex(ct=>ct.action.title===bt.action.title)===Le);return st.sort((bt,Le)=>bt.action.isPreferred&&!Le.action.isPreferred?-1:!bt.action.isPreferred&&Le.action.isPreferred||bt.action.isAI&&!Le.action.isAI?1:!bt.action.isAI&&Le.action.isAI?-1:0),{validActions:st,allActions:V,documentation:K.documentation,hasAutoFix:K.hasAutoFix,hasAIFix:K.hasAIFix,allAIFixes:K.allAIFixes,dispose:()=>{K.dispose()}}}}if(i.trigger.type===1){const K=new Po,V=await Dh(this._registry,e,i.selection,i.trigger,cl.None,u);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:V.validActions.length,duration:K.elapsed()}),V}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 od.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 I4=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 E4="quickfix-edit-highlight";var gc;let Ef=(gc=class extends _t{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 L4(this._editor,s.codeActionProvider,t,i,r,d,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new Kx(()=>{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,gd.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(f4,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,gd.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=ai.isIPosition(t)?this.toCoords(t):t,d={onSelect:async(u,f)=>{this._applyCodeAction(u,!0,!!f,i.fromLightbulb?gd.FromAILightbulb:gd.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,v4(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:E4}),gc);Ef=yh=I4([va(1,e0),va(2,yn),va(3,Bi),va(4,li),va(5,l_),va(6,Is),va(7,Un),va(8,Vu),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(JA));const i=o.getColor(FD);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${up(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function I_(o){return Re.regex(BM.keys()[0],new RegExp("(\\s|^)"+hp(o.value)+"\\b"))}const V0={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 ju(o,e,t,i,n=Mo.Default){if(o.hasModel()){const s=Ef.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class D4 extends Ye{constructor(){super({id:z0,label:C("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:Re.and(B.writable,B.hasCodeActionsProvider),kbOpts:{kbExpr:B.textInputFocus,primary:2137,weight:100}})}run(e,t){return ju(t,C("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,Mo.QuickFix)}}class T4 extends yo{constructor(){super({id:PM,precondition:Re.and(B.writable,B.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:V0}]}})}runEditorCommand(e,t,i){const n=Ma.fromUser(i,{kind:$n.Empty,apply:"ifSingle"});return ju(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 P4 extends Ye{constructor(){super({id:RM,label:C("refactor.label","Refactor..."),alias:"Refactor...",precondition:Re.and(B.writable,B.hasCodeActionsProvider),kbOpts:{kbExpr:B.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:Re.and(B.writable,I_(On.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:V0}]}})}run(e,t,i){const n=Ma.fromUser(i,{kind:On.Refactor,apply:"never"});return ju(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 M4 extends Ye{constructor(){super({id:NM,label:C("source.label","Source Action..."),alias:"Source Action...",precondition:Re.and(B.writable,B.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:Re.and(B.writable,I_(On.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:V0}]}})}run(e,t,i){const n=Ma.fromUser(i,{kind:On.Source,apply:"never"});return ju(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 R4 extends Ye{constructor(){super({id:nC,label:C("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:Re.and(B.writable,I_(On.SourceOrganizeImports)),kbOpts:{kbExpr:B.textInputFocus,primary:1581,weight:100}})}run(e,t){return ju(t,C("editor.action.organize.noneMessage","No organize imports action available"),{include:On.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Mo.OrganizeImports)}}class N4 extends Ye{constructor(){super({id:sC,label:C("fixAll.label","Fix All"),alias:"Fix All",precondition:Re.and(B.writable,I_(On.SourceFixAll))})}run(e,t){return ju(t,C("fixAll.noneMessage","No fix all action available"),{include:On.SourceFixAll,includeSourceActions:!0},"ifSingle",Mo.FixAll)}}class A4 extends Ye{constructor(){super({id:MM,label:C("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:Re.and(B.writable,I_(On.QuickFix)),kbOpts:{kbExpr:B.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return ju(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);ve(D4);ve(P4);ve(M4);ve(R4);ve(A4);ve(N4);ui(new T4);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 ft}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 VM(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(li),s=o.get(co).getModel(t);if(!s)throw gl();const r=[],a=new ft;return VM(n,s,Ki.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,Ki.None)).then(g=>r.push(g||f.symbol)));return Promise.all(u)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var O4=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},F4=function(o,e){return function(t,i){e(t,i,o)}};const jM=Pl("ICodeLensCache");class uI{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";eO(tO,()=>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===t0.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 uI(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 uI(n.lineCount,r))}}catch{}}};uC=O4([F4(0,Wc)],uC);Ml(jM,uC,1);class H4{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=iO(r.command.title.trim());if(r.command.id){const d=`c${ap._idPool++}`;i.push(Zt("a",{id:d,title:r.command.tooltip,role:"button"},...a)),this._commands.set(d,r.command)}else i.push(Zt("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(Zt("span",void 0," | "))}}n?(ev(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):ev(this._domNode,Zt("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 hI=rn.register({collapseOnReplaceEdit:!0,description:"codelens"});class fI{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:hI},g=>this._decorationIds[f]=g),a?a=X.plusRange(a,u.symbol.range):a=X.lift(u.symbol.range)}),this._viewZone=new H4(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:hI},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 W4=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 ft,this._localToDispose=new ft,this._lenses=[],this._oldCodeLensModels=new ft,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",i0.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=>VM(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 fI(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 fI(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=W4([mg(1,li),mg(2,cr),mg(3,Is),mg(4,lo),mg(5,jM)],Lp);Yi(Lp.ID,Lp,1);ve(class extends Ye{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:B.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(lo),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 $M=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 on(new mf(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),d=r?on.Format.CSS.formatRGB(a):on.Format.CSS.formatRGBA(a),u=r?on.Format.CSS.formatHSL(a):on.Format.CSS.formatHSLA(a),f=r?on.Format.CSS.formatHex(a):on.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=$M([fC(0,Rl)],Ip);let gC=class extends _t{constructor(e,t){super(),this._register(e.colorProvider.register("*",new Ip(t)))}};gC=$M([fC(0,li),fC(1,Rl)],gC);Uf(gC);async function UM(o,e,t,i=!0){return j0(new B4,o,e,t,i)}function qM(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}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({colorInfo:r,provider:e});return Array.isArray(s)}}class z4{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 V4{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,Ki.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function j0(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 GM(o,e){const{colorProvider:t}=o.get(li),i=o.get(co).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}=GM(o,t);return j0(new z4,n,i,Ki.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}=GM(o,n),[u,f,g,p]=t;return j0(new V4({range:s,color:{red:u,green:f,blue:g,alpha:p}}),a,r,Ki.None,d)});var j4=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 KM=Object.create({});var pc;let Df=(pc=class extends _t{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new ft),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new HD(this._editor),this._decoratorLimitReporter=new $4,this._colorDecorationClassRefs=this._register(new ft),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 UM(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:ND,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:KM}}})}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=j4([Ww(1,Un),Ww(2,li),Ww(3,cr)],Df);class $4{constructor(){this._onDidChange=new Gi,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 U4{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 Gi,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new Gi,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new Gi,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=Zt;class q4 extends _t{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Vo(".colorpicker-header"),qt(e,this._domNode),this._pickedColorNode=qt(this._domNode,Vo(".picked-color")),qt(this._pickedColorNode,Vo("span.codicon.codicon-color-mode")),this._pickedColorPresentation=qt(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=qt(this._domNode,Vo(".original-color")),this._originalColorNode.style.backgroundColor=on.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(rL)||on.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(rL)||on.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=on.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 G4(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=on.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 G4 extends _t{constructor(e){super(),this._onClicked=this._register(new Gi),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),qt(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),qt(this._button,t),qt(t,Vo(".button"+Cn.asCSSSelector(is("color-picker-close",Pi.close,C("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(bn(this._button,Zn.CLICK,()=>{this._onClicked.fire()}))}}class K4 extends _t{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Vo(".colorpicker-body"),qt(e,this._domNode),this._saturationBox=new Z4(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 X4(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 Y4(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 Q4(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 on(new Lm(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new on(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 on(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 Z4 extends _t{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new Gi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Gi,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Vo(".saturation-wrap"),qt(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",qt(this._domNode,this._canvas),this.selection=Vo(".saturation-selection"),qt(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 WD);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 on(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=on.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 ZM extends _t{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new Gi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Gi,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=qt(e,Vo(".standalone-strip")),this.overlay=qt(this.domNode,Vo(".standalone-overlay"))):(this.domNode=qt(e,Vo(".strip")),this.overlay=qt(this.domNode,Vo(".overlay"))),this.slider=qt(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 WD),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 X4 extends ZM{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 on(new mf(t,i,n,1)),r=new on(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 Y4 extends ZM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class Q4 extends _t{constructor(e){super(),this._onClicked=this._register(new Gi),this.onClicked=this._onClicked.event,this._button=qt(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 J4 extends u_{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(nO.getInstance(wd(e)).onDidChange(()=>this.layout())),this._domNode=Vo(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new q4(this._domNode,this.model,n,s)),this.body=this._register(new K4(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 Tu{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const $u=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};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},YM=function(o,e){return function(t,i){e(t,i,o)}};class eB{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 QM(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=JM(this,this._editor,this._themeService,t,e);if(!i)return new Tu([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new Tu([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};Ep=XM([YM(1,Hr)],Ep);class tB{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 UM(i,this._editor.getModel(),Ki.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 QM(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=eR(this._editor,i,t))}renderHoverParts(e,t){return JM(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};Dp=XM([YM(1,Hr)],Dp);async function QM(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 on(u),g=await qM(e,t,i,Ki.None),p=new U4(f,[],0);return p.colorPresentations=g||[],p.guessColorPresentation(f,n),o instanceof Ep?new eB(o,X.lift(t.range),p,i):new tB(o,X.lift(t.range),p,i)}function JM(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 ft,r=i[0],a=e.getModel(),d=r.model,u=s.add(new J4(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=eR(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 eR(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 qM(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,Ki.None);e.colorPresentations=s||[]}const tR="editor.action.showHover",iB="editor.action.showDefinitionPreviewHover",nB="editor.action.scrollUpHover",sB="editor.action.scrollDownHover",oB="editor.action.scrollLeftHover",rB="editor.action.scrollRightHover",aB="editor.action.pageUpHover",lB="editor.action.pageDownHover",cB="editor.action.goToTopHover",dB="editor.action.goToBottomHover",$y="editor.action.increaseHoverVerbosityLevel",uB=C({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),Uy="editor.action.decreaseHoverVerbosityLevel",hB=C({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),iR="editor.action.inlineSuggest.commit",nR="editor.action.inlineSuggest.showPrevious",sR="editor.action.inlineSuggest.showNext";var $0=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 _t{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 ai(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(h_((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=jD((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=$0([kr(2,Bi)],_C);const fB=is("inline-suggestion-hints-next",Pi.chevronRight,C("parameterHintsNextIcon","Icon for show next parameter hint.")),gB=is("inline-suggestion-hints-previous",Pi.chevronLeft,C("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var _c;let Tf=(_c=class extends _t{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(nR,C("previous","Previous"),Cn.asClassName(gB)),this.availableSuggestionCountAction=new vf("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(sR,C("next","Next"),Cn.asClassName(fB)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu($t.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,$t.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,w)=>{if(p instanceof bf)return d.createInstance(_B,p,void 0);if(p===this.availableSuggestionCountAction){const y=new pB(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=$0([kr(6,Is),kr(7,Bi),kr(8,hs),kr(9,yn),kr(10,Hu)],Tf);class pB 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 _B=class extends BD{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 Xx(t,Yx,{disableTitle:!0,...zD})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},mC=class extends VD{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=[];n0(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=$0([kr(3,Hu),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 mB=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class oR extends _t{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new Gi),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=sO(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 mB(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 U0{constructor(){this._onDidWillResize=new Gi,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new Gi,this.onDidResize=this._onDidResize.event,this._sashListener=new ft,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:aL.North}),this._southSash=new xh(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:aL.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 vB=30,bB=24;class yB extends _t{constructor(e,t=new An(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new U0),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?ai.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-vB}_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-bB}_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 wB=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 gI=30,SB=6;var mc;let vC=(mc=class extends yB{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 $D),this._onDidResize=this._register(new Gi),this.onDidResize=this._onDidResize.event,this._minimumSize=d,this._hoverVisibleKey=B.hoverVisible.bindTo(t),this._hoverFocusedKey=B.hoverFocused.bindTo(t),qt(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=SB;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=pI(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=pI(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&&oO(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-gI})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+gI})}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=wB([J_(1,yn),J_(2,Un),J_(3,wy),J_(4,hs)],vC);function pI(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 rR{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 CB(this,this.anchor,t,this.isComplete)}}class CB extends rR{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var xB=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},kB=function(o,e){return function(t,i){e(t,i,o)}};const _I=Zt;let wv=class extends _t{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=_I("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=qt(this.hoverElement,_I("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(rO.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=qt(this.actionsElement,e);return this._hasContent=!0,t}};wv=xB([kB(0,hs)],wv);class LB{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function IB(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(rs);if(!(!s||!EB(s)))return new LB(o,s,e)}function q0(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,d)=>IB(a,d,e,t,i));return ra.fromPromises(r).coalesce()}function aR(o,e,t,i,n=!1){return q0(o,e,t,i,n).map(s=>s.hover).toPromise()}wo("_executeHoverProvider",(o,e,t)=>{const i=o.get(li);return aR(i.hoverProvider,e,t,Ki.None)});wo("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(li);return aR(i.hoverProvider,e,t,Ki.None,!0)});function EB(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var DB=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=Zt,TB=is("hover-increase-verbosity",Pi.add,C("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),PB=is("hover-decrease-verbosity",Pi.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 lR{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 eo().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 M=new X(e.range.startLineNumber,x,e.range.startLineNumber,k);r.push(new Er(this,M,UD(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 q0(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 lR(d.hover,d.provider,s);return new Er(this,u,d.hover.contents,!1,d.ordinal,f)})}renderHoverParts(e,t){return this._renderedHoverParts=new MB(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=DB([Kc(1,ga),Kc(2,ha),Kc(3,Un),Kc(4,li),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 MB{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 ft,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 ft;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 cR(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new ft,s=t===rr.Increase,r=qt(e,Th(Cn.asCSSSelector(s?TB:PB)));r.tabIndex=0;const a=new aO("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,NB(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 lO(r,d)),n.add(new cO(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 lR(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 RB(o,e,t,i,n){e.sort(p_(r=>r.ordinal,Sy));const s=[];for(const r of e)s.push(cR(t,r,i,n,o.onContentsChanged));return new Tu(s)}function cR(o,e,t,i,n){const s=new ft,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=qt(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 NB(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 mI{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 vI(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 _t{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new Gi),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new Gi),this.onExecute=this._onExecute.event,this._onCancel=this._register(new Gi),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=vI(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=vI(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 mI(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new mI(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 dR{constructor(e,t){this.range=e,this.direction=t}}class G0{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new G0(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 ft,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 G0(a,new dR(g,u),r))}}this.items=n.sort((s,r)=>ai.compare(s.hint.position,r.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const i=t.lineNumber,n=e.getWordAtPosition(t);if(n)return new 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 AB(o){return Tn.from({scheme:go.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var OB=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 dO{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){s0(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Fr=OB([Ja(4,Bi),Ja(5,as),Ja(6,Is),Ja(7,yn),Ja(8,Hr),Ja(9,lo),Ja(10,wy),Ja(11,Es),Ja(12,li)],Fr);const bI=new on(new mf(0,122,204)),FB={showArrow:!0,showFrame:!0,className:"",frameColor:bI,arrowColor:bI,keepEditorSelection:!1},HB="vs.editor.contrib.zoneWidget";class WB{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 BB{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(),lL(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(){lL(this._ruleName),fO(`.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 hO(".arrow-decoration-");let yC=Eb;class zB{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new ft,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=uO(t),s0(this.options,FB,!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 WB(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 BB(HB+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 uR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},hR=function(o,e){return function(t,i){e(t,i,o)}};const fR=Pl("IPeekViewService");Ml(fR,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=uR([hR(1,yn)],Cv);Yi(Cv.ID,Cv,0);function VB(o){const e=o.get(as).getFocusedCodeEditor();return e instanceof Fr?e.getParentEditor():e}const jB={headerBackgroundColor:on.white,primaryHeadingColor:on.fromHex("#333333"),secondaryHeadingColor:on.fromHex("#6c6c6cb3")};let xv=class extends zB{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new Gi,this.onDidClose=this._onDidClose.event,s0(this.options,jB,!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=Zt(".head"),this._bodyElement=Zt(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=Zt(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),wl(this._titleElement,"click",s=>this._onTitleClick(s))),qt(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=Zt("span.filename"),this._secondaryHeading=Zt("span.dirname"),this._metaHeading=Zt("span.meta"),qt(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=Zt(".peekview-actions");qt(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"),Cn.asClassName(Pi.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:gO.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=uR([hR(2,Bi)],xv);const $B=Xt("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:on.black,hcLight:on.white},C("peekViewTitleBackground","Background color of the peek view title area.")),gR=Xt("peekViewTitleLabel.foreground",{dark:on.white,light:on.black,hcDark:on.white,hcLight:__},C("peekViewTitleForeground","Color of the peek view title.")),pR=Xt("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},C("peekViewTitleInfoForeground","Color of the peek view title info.")),UB=Xt("peekView.border",{dark:SS,light:SS,hcDark:yl,hcLight:yl},C("peekViewBorder","Color of the peek view borders and arrow.")),qB=Xt("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:on.black,hcLight:on.white},C("peekViewResultsBackground","Background color of the peek view result list."));Xt("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:on.white,hcLight:__},C("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));Xt("peekViewResult.fileForeground",{dark:on.white,light:"#1E1E1E",hcDark:on.white,hcLight:__},C("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));Xt("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},C("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));Xt("peekViewResult.selectionForeground",{dark:on.white,light:"#6C6C6C",hcDark:on.white,hcLight:__},C("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const _R=Xt("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:on.black,hcLight:on.white},C("peekViewEditorBackground","Background color of the peek view editor."));Xt("peekViewEditorGutter.background",_R,C("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));Xt("peekViewEditorStickyScroll.background",_R,C("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));Xt("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},C("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));Xt("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},C("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));Xt("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:vu,hcLight:vu},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=pO.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 GB{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(){io(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 GB(i))}catch(i){Rn(i)}return this}}class Do{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new Gi,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||!cL.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(){io(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 cL.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 KB{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 ZB{getId(e){return e instanceof Nc?e.id:e.uri}}let xC=class extends _t{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new qD(i,{supportHighlights:!0})),this.badge=new _O(qt(i,Zt(".count")),{},mO),e.appendChild(i)}set(e,t){const i=o0(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 Ad;let kv=(Ad=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=Ad,Ad.id="FileReferencesRenderer",Ad);kv=wC=Ky([Zy(0,Bi)],kv);class XB extends _t{constructor(e){super(),this.label=this._register(new vO(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 XB(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Db.id="OneReferenceRenderer";let Lv=Db;class YB{getWidgetAriaLabel(){return C("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var QB=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)}};const Tb=class Tb{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new ft,this._callOnModelChange=new ft,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 JB{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 ez extends wO{}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 ft,this._callOnDispose=new ft,this._onDidSelectReference=new Gi,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(),io(this._preview),io(this._previewNotAvailableMessage),io(this._tree),io(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(UB)||on.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor($B)||on.transparent,primaryHeadingColor:e.getColor(gR),secondaryHeadingColor:e.getColor(pR)})}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=qt(e,Zt("div.messages")),Wo(this._messageContainer),this._splitView=new bO(e,{orientation:1}),this._previewContainer=qt(e,Zt("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=qt(e,Zt("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new YB,keyboardNavigationLabelProvider:this._instantiationService.createInstance(CC),identityProvider:new ZB,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:qB}};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(ez,"ReferencesWidget",this._treeContainer,new KB,[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})}},dL.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)}},dL.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(yO(e.uri),this._uriLabel.getUriLabel(o0(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}io(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=QB([oh(3,Hr),oh(4,pa),oh(5,Bi),oh(6,fR),oh(7,pp),oh(8,hs)],LC);var tz=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)}},zm;const Uu=new fn("referenceSearchVisible",!1,C("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var Od;let Pu=(Od=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 ft,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=Uu.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=JB.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 ai(e.startLineNumber,e.startColumn),p=this._model.nearestReference(f,g);if(p)return this._widget.setSelection(p).then(()=>{this._widget&&this._editor.getOption(87)==="editor"&&this._widget.focusOnPreviewEditor()})}})},d=>{this._notificationService.error(d)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const n=this._model.nextOrPreviousReference(i,e),s=this._editor.hasTextFocus(),r=this._widget.isPreviewEditorFocused();await this._widget.setSelection(n),await this._gotoReference(n,!1),s?this._editor.focus():this._widget&&r&&this._widget.focusOnPreviewEditor()}async revealReference(e){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(e)}closeWidget(e=!0){var t,i;(t=this._widget)==null||t.dispose(),(i=this._model)==null||i.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){var n;(n=this._widget)==null||n.hide(),this._ignoreModelChangeEvent=!0;const i=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=Od,Od.ID="editor.contrib.referencesController",Od);Pu=zm=tz([rh(2,yn),rh(3,as),rh(4,lo),rh(5,Bi),rh(6,Wc),rh(7,Un)],Pu);function qu(o,e){const t=VB(o);if(!t)return;const i=Pu.get(t);i&&e(i)}Ga.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:us(2089,60),when:Re.or(Uu,mo.inPeekEditor),handler(o){qu(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Ga.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:Re.or(Uu,mo.inPeekEditor),handler(o){qu(o,e=>{e.goToNextOrPreviousReference(!0)})}});Ga.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:Re.or(Uu,mo.inPeekEditor),handler(o){qu(o,e=>{e.goToNextOrPreviousReference(!1)})}});Hn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");Hn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");Hn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");Hn.registerCommand("closeReferenceSearch",o=>qu(o,e=>e.closeWidget()));Ga.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:Re.and(mo.inPeekEditor,Re.not("config.editor.stablePeek"))});Ga.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:Re.and(Uu,Re.not("config.editor.stablePeek"),Re.or(B.editorTextFocus,SO.negate()))});Ga.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:Re.and(Uu,GD,KD.negate(),ZD.negate()),handler(o){var i;const t=(i=o.get(r0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Nc&&qu(o,n=>n.revealReference(t[0]))}});Ga.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:Re.and(Uu,GD,KD.negate(),ZD.negate()),handler(o){var i;const t=(i=o.get(r0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Nc&&qu(o,n=>n.openReference(t[0],!0,!0))}});Hn.registerCommand("openReference",o=>{var i;const t=(i=o.get(r0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Nc&&qu(o,n=>n.openReference(t[0],!1,!0))});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},Tg=function(o,e){return function(t,i){e(t,i,o)}};const K0=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=K0.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=XD(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=mR([Tg(0,yn),Tg(1,as),Tg(2,lo),Tg(3,hs)],IC);Ml(Xy,IC,1);ui(new class extends yo{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:K0,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(Xy).revealNext(e)}});Ga.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:K0,primary:9,handler(o){o.get(Xy).reset()}});let EC=class{constructor(e){this._listener=new Map,this._disposables=new ft,this._onDidChange=new Gi,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(),io(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,XD(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=mR([Tg(0,as)],EC);function DC(o,e){return e.uri.scheme===o.uri.scheme?!0:!CO(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 Z0(o,e,t,i,n){return E_(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function X0(o,e,t,i,n){return E_(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function Y0(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(li),n=D_(i.definitionProvider,e,t,!1,Ki.None);return Ka(()=>n)});wo("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(li),n=D_(i.definitionProvider,e,t,!0,Ki.None);return Ka(()=>n)});wo("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(li),n=Y0(i.typeDefinitionProvider,e,t,!1,Ki.None);return Ka(()=>n)});wo("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(li),n=Y0(i.typeDefinitionProvider,e,t,!0,Ki.None);return Ka(()=>n)});wo("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(li),n=Z0(i.declarationProvider,e,t,!1,Ki.None);return Ka(()=>n)});wo("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(li),n=Z0(i.declarationProvider,e,t,!0,Ki.None);return Ka(()=>n)});wo("_executeReferenceProvider",(o,e,t)=>{const i=o.get(li),n=T_(i.referenceProvider,e,t,!1,!1,Ki.None);return Ka(()=>n)});wo("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(li),n=T_(i.referenceProvider,e,t,!1,!0,Ki.None);return Ka(()=>n)});wo("_executeImplementationProvider",(o,e,t)=>{const i=o.get(li),n=X0(i.implementationProvider,e,t,!1,Ki.None);return Ka(()=>n)});wo("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(li),n=X0(i.implementationProvider,e,t,!0,Ki.None);return Ka(()=>n)});Nr.appendMenuItem($t.EditorContext,{submenu:$t.EditorContextPeek,title:C("peek.submenu","Peek"),group:"navigation",order:100});class Pf{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof Pf||ai.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===$t.EditorContext||i.id===$t.EditorContextPeek)&&(i.when=Re.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(lo),r=e.get(as),a=e.get(l_),d=e.get(Xy),u=e.get(li),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 O;if(!k||y.token.isCancellationRequested)return;Ar(k.ariaMessage);let D;if(k.referenceAt(g.uri,p)){const K=this._getAlternativeCommand(t);!mr._activeAlternativeCommands.has(K)&&mr._allSymbolNavigationCommands.has(K)&&(D=mr._allSymbolNavigationCommands.get(K))}const M=k.references.length;if(M===0){if(!this.configuration.muteMessage){const K=g.getWordAtPosition(p);(O=Eo.get(t))==null||O.showMessage(this._getNoResultFoundMessage(K),p)}}else if(M===1&&D)mr._activeAlternativeCommands.add(this.desc.id),f.invokeFunction(K=>D.runEditorCommand(K,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(xO(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=Pu.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:{...ii("actions.goToDecl.label","Go to Definition"),mnemonicTitle:C({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:B.hasDefinitionProvider,keybinding:[{when:B.editorTextFocus,primary:70,weight:100},{when:Re.and(B.editorTextFocus,YD),primary:2118,weight:100}],menu:[{id:$t.EditorContext,group:"navigation",order:1.1},{id:$t.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:ii("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:Re.and(B.hasDefinitionProvider,B.isInEmbeddedEditor.toNegated()),keybinding:[{when:B.editorTextFocus,primary:us(2089,70),weight:100},{when:Re.and(B.editorTextFocus,YD),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:ii("actions.previewDecl.label","Peek Definition"),precondition:Re.and(B.hasDefinitionProvider,mo.notInPeekEditor,B.isInEmbeddedEditor.toNegated()),keybinding:{when:B.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:$t.EditorContextPeek,group:"peek",order:2}}),Hn.registerCommandAlias("editor.action.previewDeclaration",yc.id)}},yc.id="editor.action.peekDefinition",yc));class vR extends Ll{async _getLocationModel(e,t,i,n){return new Do(await Z0(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 Fd;Dn((Fd=class extends vR{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Fd.id,title:{...ii("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:C({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:Re.and(B.hasDeclarationProvider,B.isInEmbeddedEditor.toNegated()),menu:[{id:$t.EditorContext,group:"navigation",order:1.3},{id:$t.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")}},Fd.id="editor.action.revealDeclaration",Fd));Dn(class extends vR{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:ii("actions.peekDecl.label","Peek Declaration"),precondition:Re.and(B.hasDeclarationProvider,mo.notInPeekEditor,B.isInEmbeddedEditor.toNegated()),menu:{id:$t.EditorContextPeek,group:"peek",order:3}})}});class bR extends Ll{async _getLocationModel(e,t,i,n){return new Do(await Y0(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 Hd;Dn((Hd=class extends bR{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Hd.ID,title:{...ii("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:C({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:B.hasTypeDefinitionProvider,keybinding:{when:B.editorTextFocus,primary:0,weight:100},menu:[{id:$t.EditorContext,group:"navigation",order:1.4},{id:$t.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Hd.ID="editor.action.goToTypeDefinition",Hd));var Wd;Dn((Wd=class extends bR{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Wd.ID,title:ii("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:Re.and(B.hasTypeDefinitionProvider,mo.notInPeekEditor,B.isInEmbeddedEditor.toNegated()),menu:{id:$t.EditorContextPeek,group:"peek",order:4}})}},Wd.ID="editor.action.peekTypeDefinition",Wd));class yR extends Ll{async _getLocationModel(e,t,i,n){return new Do(await X0(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 Bd;Dn((Bd=class extends yR{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Bd.ID,title:{...ii("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:C({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:B.hasImplementationProvider,keybinding:{when:B.editorTextFocus,primary:2118,weight:100},menu:[{id:$t.EditorContext,group:"navigation",order:1.45},{id:$t.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Bd.ID="editor.action.goToImplementation",Bd));var zd;Dn((zd=class extends yR{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:zd.ID,title:ii("actions.peekImplementation.label","Peek Implementations"),precondition:Re.and(B.hasImplementationProvider,mo.notInPeekEditor,B.isInEmbeddedEditor.toNegated()),keybinding:{when:B.editorTextFocus,primary:3142,weight:100},menu:{id:$t.EditorContextPeek,group:"peek",order:5}})}},zd.ID="editor.action.peekImplementation",zd));class wR 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 wR{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...ii("goToReferences.label","Go to References"),mnemonicTitle:C({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:Re.and(B.hasReferenceProvider,mo.notInPeekEditor,B.isInEmbeddedEditor.toNegated()),keybinding:{when:B.editorTextFocus,primary:1094,weight:100},menu:[{id:$t.EditorContext,group:"navigation",order:1.45},{id:$t.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 wR{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:ii("references.action.label","Peek References"),precondition:Re.and(B.hasReferenceProvider,mo.notInPeekEditor,B.isInEmbeddedEditor.toNegated()),menu:{id:$t.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 iz extends Ll{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:ii("label.generic","Go to Any Symbol"),precondition:Re.and(mo.notInPeekEditor,B.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:ai.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(o,e,t,i,n,s,r)=>{wn(Tn.isUri(e)),wn(ai.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(QD(d))return d.setPosition(t),d.revealPositionInCenterIfOutsideViewport(t,0),d.invokeWithinContext(u=>{const f=new class extends iz{_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:ai.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(o,e,t,i,n)=>{o.get(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(ai.isIPosition(t));const i=o.get(li),n=o.get(as);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!QD(s)||!s.hasModel())return;const r=Pu.get(s);if(!r)return;const a=Rs(u=>T_(i.referenceProvider,s.getModel(),ai.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 nz(o,e,t,i){const n=o.get(pa),s=o.get(Vf),r=o.get(Is),a=o.get(Bi),d=o.get(lo);if(await i.item.resolve(Ki.None),!i.part.location)return;const u=i.part.location,f=[],g=new Set(Nr.getMenuItems($t.EditorContext).map(w=>kO(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:a0.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 SR(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 sz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ah=function(o,e){return function(t,i){e(t,i,o)}},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 CR=Pl("IInlayHintsCache");Ml(CR,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 oz{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 ft,this._sessionDisposables=new ft,this._decorationsMetadata=new Map,this._ruleFactory=new HD(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(LO.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 ft,t=e.add(new Gy(this._editor)),i=new ft;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 oz(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(SR,n,this._editor,r.location):IO.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(Ki.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(!EO(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(nz,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 l0&&(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:a0.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 dR(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,M,O,K)=>{const V={content:M,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:D.className,cursorStops:O,attachedData:K};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?V:void 0}}})},s=(k,D)=>{const M=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(k,M," ",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 M=0;M<D.length;M++){const O=D[M],K=M===0,V=M===D.length-1,se={fontSize:`${r}px`,fontFamily:`var(${f}), ${i0.fontFamily}`,verticalAlign:u?"baseline":"middle",unicodeBidi:"isolate"};jo(k.hint.textEdits)&&(se.cursor="default"),this._fillInColors(se,k.hint),(O.command||O.location)&&((y=this._activeInlayHintPart)==null?void 0:y.part.item)===k&&this._activeInlayHintPart.part.index===M&&(se.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(se.color=_s(DO),se.cursor="pointer")),d&&(K&&V?(se.padding=`1px ${Math.max(1,r/4)|0}px`,se.borderRadius=`${r/4|0}px`):K?(se.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,se.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):V?(se.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,se.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):se.padding="1px 0 1px 0");let ie=O.label;g.totalLen+=ie.length;let we=!1;const Se=g.totalLen-wh._MAX_LABEL_LEN;if(Se>0&&(ie=ie.slice(0,-Se)+"…",we=!0),n(k,this._ruleFactory.createClassNameRef(se),rz(ie),V&&!k.hint.paddingRight?Lh.Right:Lh.None,new TC(k,M)),we)break}if(k.hint.paddingRight&&s(k,!0),i.length>wh._MAX_DECORATORS)break}const p=[];for(const[k,D]of this._decorationsMetadata){const M=(x=this._editor.getModel())==null?void 0:x.getDecorationRange(k);M&&e.some(O=>O.containsRange(M))&&(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(M=>M.decoration));for(let M=0;M<D.length;M++){const O=i[M];this._decorationsMetadata.set(D[M],O)}}),w.restore(this._editor)}_fillInColors(e,t){t.kind===uL.Parameter?(e.backgroundColor=_s(TO),e.color=_s(PO)):t.kind===uL.Type?(e.backgroundColor=_s(MO),e.color=_s(RO)):(e.backgroundColor=_s(NO),e.color=_s(AO))}_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=sz([ah(1,li),ah(2,cr),ah(3,CR),ah(4,Is),ah(5,lo),ah(6,Bi)],Mp);function rz(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(li),s=await o.get(pa).createModelReference(t);try{const r=await Sv.create(n,s.object.textEditorModel,[X.lift(i)],Ki.None),a=r.items.map(d=>d.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var az=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 yI 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 l0&&i.attachedData instanceof TC?new yI(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof yI?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 eo().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 eo().appendText(C("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new eo().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 eo().appendText(C("hint.defAndCommand","Go to Definition ({0}), right click for more",g)):s.part.location?u=new eo().appendText(C("hint.def","Go to Definition ({0})",g)):s.part.command&&(u=new eo(`[${C("hint.cmd","Execute Command")}](${AB(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)?q0(this._languageFeaturesService.hoverProvider,r,new ai(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=az([Vl(1,ga),Vl(2,ha),Vl(3,hs),Vl(4,g_),Vl(5,Un),Vl(6,pa),Vl(7,li),Vl(8,Is)],Ev);class Q0 extends _t{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}=Q0.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 ai(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 ai(s,r);return{showAtPosition:d,showAtSecondaryPosition:u}}}class lz{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 _t{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 _t.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 ft;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 Tu([])}_renderStatusBar(e,t){if(t.hasContent)return new lz(e,t)}_registerListenersOnRenderedParts(){const e=new ft;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 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)}};let MC=class extends _t{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new Gi),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 oR(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of $u.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 rR(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 Q0(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=cz([wI(1,Bi),wI(2,hs)],MC);var dz=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},SI=function(o,e){return function(t,i){e(t,i,o)}},RC,Vd;let Qs=(Vd=class extends _t{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new Gi),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new ft,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===tR||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=Vd,Vd.ID="editor.contrib.contentHover",Vd);Qs=RC=dz([SI(1,Bi),SI(2,hs)],Qs);const Wk=class Wk extends _t{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!==KM||!i.range)return;const n=this._editor.getContribution(Qs.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)}}};Wk.ID="editor.contrib.colorContribution";let Dv=Wk;Yi(Dv.ID,Dv,2);$u.register(Ep);var xR=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,jd;let Mu=(jd=class extends _t{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=B.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=B.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=jd,jd.ID="editor.contrib.standaloneColorPickerController",jd);Mu=NC=xR([Ph(1,yn),Ph(2,Bi)],Mu);Yi(Mu.ID,Mu,1);const CI=8,uz=22;var $d;let OC=($d=class extends _t{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 Gi),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 hz(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-uz-CI,g=a.body.enterButton;g==null||g.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,w=p.pickedColorNode;w.style.width=u+CI+"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=$d,$d.ID="editor.contrib.standaloneColorPickerWidget",$d);OC=AC=xR([Ph(3,Bi),Ph(4,hs),Ph(5,li),Ph(6,Rl)],OC);class hz{constructor(e,t){this.value=e,this.foundInEditor=t}}class fz extends da{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...ii("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:$t.CommandPalette}],metadata:{description:ii("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=Mu.get(t))==null||i.showOrFocus()}}class gz extends Ye{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:B.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:ii("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=Mu.get(t))==null||i.hide()}}class pz extends Ye{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:B.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:ii("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=Mu.get(t))==null||i.insertColor()}}ve(gz);ve(pz);Dn(fz);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 ai(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(Qn.insert(new ai(e.endLineNumber,e.endColumn),(n?" ":"")+i))),s}getEditOperations(e,t){const i=this._selection.startLineNumber,n=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const s=e.getLanguageIdAtPosition(i,n),r=this.languageConfigurationService.getLanguageConfiguration(s).comments;!r||!r.blockCommentStartToken||!r.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,r.blockCommentStartToken,r.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(i.length===2){const n=i[0],s=i[1];return new xi(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 xi(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 ai(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 xi(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 ai(t+s,a.commentStrOffset+1),a.commentStr+n))}return i}static nextVisibleColumn(e,t,i,n){return i?e+(t-e%t):e+n}static _normalizeInsertionPoint(e,t,i,n){let s=1073741824,r,a;for(let d=0,u=t.length;d<u;d++){if(t[d].ignore)continue;const f=e.getLineContent(i+d);let g=0;for(let p=0,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 J0 extends Ye{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 _z extends J0{constructor(){super(0,{id:"editor.action.commentLine",label:C("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:B.writable,kbOpts:{kbExpr:B.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:$t.MenubarEditMenu,group:"5_insert",title:C({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class mz extends J0{constructor(){super(1,{id:"editor.action.addCommentLine",label:C("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:B.writable,kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,2081),weight:100}})}}class vz extends J0{constructor(){super(2,{id:"editor.action.removeCommentLine",label:C("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:B.writable,kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,2099),weight:100}})}}class bz extends Ye{constructor(){super({id:"editor.action.blockComment",label:C("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:B.writable,kbOpts:{kbExpr:B.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:$t.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()}}ve(_z);ve(mz);ve(vz);ve(bz);var yz=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,Ud;let Mf=(Ud=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 ft,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&&OO(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 FO){const u=this._getMenuActions(e,d.item.submenu);u.length>0&&(i.push(new hL(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()||HO(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 hL(`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=Ud,Ud.ID="editor.contrib.contextmenu",Ud);Mf=FC=yz([Zc(1,Vf),Zc(2,my),Zc(3,yn),Zc(4,hs),Zc(5,Hu),Zc(6,Un),Zc(7,hf)],Mf);class wz extends Ye{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:B.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=Mf.get(t))==null||i.showContextMenu()}}Yi(Mf.ID,Mf,2);ve(wz);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 _t{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 Sz extends Ye{constructor(){super({id:"cursorUndo",label:C("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:B.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=Rf.get(t))==null||n.cursorUndo()}}class Cz extends Ye{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);ve(Sz);ve(Cz);class xz{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 xi(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 xi(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 xi(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 xi(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 xi(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 lh(o){return ja?o.altKey:o.ctrlKey}const Zl=class Zl extends _t{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)||(lh(e)&&(this._modifierPressed=!0),this._mouseDown&&lh(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(lh(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}lh(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new ai(e.target.position.lineNumber,e.target.position.column);if(this._dragSelection===null){let i=null;if(e.event.shiftKey){const n=this._editor.getSelection();if(n){const{selectionStartLineNumber:s,selectionStartColumn:r}=n;i=[new xi(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new xi(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(lh(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Zl.ID,new xz(this._dragSelection,t,lh(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);ui(new class extends yo{constructor(){super({id:IM,precondition:W0,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=kl.get(e))==null?void 0:t.changePasteType()}});ui(new class extends yo{constructor(){super({id:"editor.hidePasteWidget",precondition:W0,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=kl.get(e))==null||t.clearWidgets()}});var qd;ve((qd=class extends Ye{constructor(){super({id:"editor.action.pasteAs",label:C("pasteAs","Paste As..."),alias:"Paste As...",precondition:B.writable,metadata:{description:"Paste as",args:[{name:"args",schema:qd.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)}},qd.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.")}}},qd));ve(class extends Ye{constructor(){super({id:"editor.action.pasteAsText",label:C("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:B.writable})}run(o,e){var t;return(t=kl.get(e))==null?void 0:t.pasteAs({providerId:ku.id})}});class kz{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 xI{constructor(e){this.identifier=e}}const kR=Pl("treeViewsDndService");Ml(kR,kz,1);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},im=function(o,e){return function(t,i){e(t,i,o)}},HC;const LR="editor.experimental.dropIntoEditor.defaultProvider",IR="editor.changeDropType",ek=new fn("dropWidgetVisible",!1,C("dropWidgetVisible","Whether the drop widget is showing"));var Gd;let Nf=(Gd=class extends _t{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,ek,{id:IR,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 ft,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 ft,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:kM(d),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(LR,{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&&_M(n,[d.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new pM;const t=bM(e.dataTransfer);if(this.treeItemsTransfer.hasData(xI.prototype)){const i=this.treeItemsTransfer.getData(xI.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=Gd,Gd.ID="editor.contrib.dropIntoEditorController",Gd);Nf=HC=Lz([im(1,Bi),im(2,Un),im(3,li),im(4,kR)],Nf);Yi(Nf.ID,Nf,2);Uf(YS);ui(new class extends yo{constructor(){super({id:IR,precondition:ek,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=Nf.get(e))==null||i.changeDropType()}});ui(new class extends yo{constructor(){super({id:"editor.hideDropWidget",precondition:ek,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:{[LR]:{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(fL),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(fL),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 Iz{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 ER(o,e){if(o&&o[0]!==""){const t=kI(o,e,"-"),i=kI(o,e,"_");return t&&!i?LI(o,e,"-"):!t&&i?LI(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():WO(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 kI(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function LI(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=ER([n[a]],r)+t}),s.slice(0,-1)}class II{constructor(e){this.staticValue=e,this.kind=0}}class Ez{constructor(e){this.pieces=e,this.kind=1}}class Af{static fromStaticValue(e){return new Af([Ed.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new II(""):e.length===1&&e[0].staticValue!==null?this._state=new II(e[0].staticValue):this._state=new Ez(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?ER(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 Ed{static staticValue(e){return new Ed(e,-1,null)}static caseOps(e,t){return new Ed(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 Dz{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++]=Ed.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=Ed.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Ed.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new Af(this._result)}}function Tz(o){if(!o||o.length===0)return new Af(null);const e=[],t=new Dz(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),tk=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,Pz=240;class Xg{constructor(e,t){this._toDispose=new ft,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,io(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)},Pz)):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=JD(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 ai(i,n)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const f=this._decorations.matchAfterPosition(e);f&&this._setCurrentFindMatch(f);return}if(this._decorations.getCount()<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 ai(s,r),u=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1);if(u&&u.range.isEmpty()&&u.range.getStartPosition().equals(d)&&(d=this._prevSearchPosition(d),u=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1)),!!u){if(!t&&!n.containsRange(u.range))return this._moveToPrevMatch(u.range.getStartPosition(),!0);this._setCurrentFindMatch(u.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||n===s.getLineMaxColumn(i)?(i===s.getLineCount()?i=1:i++,n=1):n++,new ai(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<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 ai(a,d),g=u.findNextMatch(this._state.searchString,f,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t);return i&&g&&g.range.isEmpty()&&g.range.getStartPosition().equals(f)&&(f=this._nextSearchPosition(f),g=u.findNextMatch(this._state.searchString,f,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t)),g?!n&&!r.containsRange(g.range)?this._getNextMatch(g.range.getEndPosition(),t,i,!0):g:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(e){const t=this._decorations.getDecorationRangeAt(e);t&&this._setCurrentFindMatch(t)}moveToMatch(e){this._moveToMatch(e)}_getReplacePattern(){return this._state.isRegex?Tz(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 ai(t.startLineNumber,t.startColumn+n.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(i.range)}_findMatches(e,t,i){const n=(e||[null]).map(s=>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 BO(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 eT(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 Iz(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 xi(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:yd(iT),inputActiveOptionForeground:yd(tT),inputActiveOptionBackground:yd(Jx)},s=this._register(kS());this.caseSensitive=this._register(new zO({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 VO({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 jO({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 Mz extends _t{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 Gi),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 Rz=C("defaultLabel","input"),Nz=C("label.preserveCaseToggle","Preserve Case");class Az extends nT{constructor(e){super({icon:Pi.preserveCase,title:Nz+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ky("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class Oz extends u_{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new Gi),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Gi),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Gi),this._onInput=this._register(new Gi),this._onKeyUp=this._register(new Gi),this._onPreserveCaseKeyDown=this._register(new Gi),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||Rz;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 $O(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 Az({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 DR=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},TR=function(o,e){return function(t,i){e(t,i,o)}};const ik=new fn("suggestWidgetVisible",!1,C("suggestWidgetVisible","Whether suggestion are visible")),nk="historyNavigationWidgetFocus",PR="historyNavigationForwardsEnabled",MR="historyNavigationBackwardsEnabled";let ml;const cm=[];function RR(o,e){if(cm.includes(e))throw new Error("Cannot register the same widget multiple times");cm.push(e);const t=new ft,i=new fn(nk,!1).bindTo(o),n=new fn(PR,!0).bindTo(o),s=new fn(MR,!0).bindTo(o),r=()=>{i.set(!0),ml=e},a=()=>{i.set(!1),ml===e&&(ml=void 0)};return qO(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 UO{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(RR(s,this.inputBox))}};zC=DR([TR(3,yn)],zC);let VC=class extends Oz{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(RR(r,this.inputBox))}};VC=DR([TR(3,yn)],VC);Ga.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:Re.and(Re.has(nk),Re.equals(MR,!0),Re.not("isComposing"),ik.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{ml==null||ml.showPreviousValue()}});Ga.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:Re.and(Re.has(nk),Re.equals(PR,!0),Re.not("isComposing"),ik.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{ml==null||ml.showNextValue()}});function EI(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 DI=is("find-collapsed",Pi.chevronRight,C("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),TI=is("find-expanded",Pi.chevronDown,C("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),Fz=is("find-selection",Pi.selection,C("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),Hz=is("find-replace",Pi.replace,C("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),Wz=is("find-replace-all",Pi.replaceAll,C("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),Bz=is("find-previous-match",Pi.arrowUp,C("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),zz=is("find-next-match",Pi.arrowDown,C("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),Vz=C("label.findDialog","Find / Replace"),jz=C("label.find","Find"),$z=C("placeholder.find","Find"),Uz=C("label.previousMatchButton","Previous Match"),qz=C("label.nextMatchButton","Next Match"),Gz=C("label.toggleSelectionFind","Find in Selection"),Kz=C("label.closeButton","Close"),Zz=C("label.replace","Replace"),Xz=C("placeholder.replace","Replace"),Yz=C("label.replaceButton","Replace"),Qz=C("label.replaceAllButton","Replace All"),Jz=C("label.toggleReplaceButton","Toggle Replace"),eV=C("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",rc),tV=C("label.matchesLocation","{0} of {1}"),PI=C("label.noResults","No results"),ba=419,iV=275,nV=iV-54;let vg=69;const sV=33,MI="ctrlEnterReplaceAll.windows.donotask",RI=ja?256:2048;class $w{constructor(e){this.afterLineNumber=e,this.heightInPx=sV,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function NI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function AI(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(MI,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=tk.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=eV: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=c0(tV,n,i)}else e=PI;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===PI)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=GO(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(RI|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 NI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return AI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(RI|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(MI,!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 NI(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return AI(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:nV,label:jz,placeholder:$z,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:()=>EI(this._keybindingService),inputBoxStyles:pL,toggleStyles:gL},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()})),KO&&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 ch({label:Uz+this._keybindingLabelFor(Mn.PreviousMatchFindAction),icon:Bz,hoverDelegate:i,onTrigger:()=>{Ih(this._codeEditor.getAction(Mn.PreviousMatchFindAction)).run().then(void 0,Rn)}},this._hoverService)),this._nextBtn=this._register(new ch({label:qz+this._keybindingLabelFor(Mn.NextMatchFindAction),icon:zz,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 nT({icon:Fz,title:Gz+this._keybindingLabelFor(Mn.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:yd(Jx),inputActiveOptionBorder:yd(iT),inputActiveOptionForeground:yd(tT)})),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 ch({label:Kz+this._keybindingLabelFor(Mn.CloseFindWidgetCommand),icon:sT,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:Zz,placeholder:Xz,appendPreserveCaseLabel:this._keybindingLabelFor(Mn.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>EI(this._keybindingService),inputBoxStyles:pL,toggleStyles:gL},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 ch({label:Yz+this._keybindingLabelFor(Mn.ReplaceOneAction),icon:Hz,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:f=>{f.equals(1026)&&(this._closeBtn.focus(),f.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new ch({label:Qz+this._keybindingLabelFor(Mn.ReplaceAllAction),icon:Wz,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 ch({label:Jz,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=Vz,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(ZO(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 ch 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+" "+Cn.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(...Cn.asClassNameArray(DI)),this._domNode.classList.add(...Cn.asClassNameArray(TI))):(this._domNode.classList.remove(...Cn.asClassNameArray(TI)),this._domNode.classList.add(...Cn.asClassNameArray(DI)))}}vy((o,e)=>{const t=o.getColor(FD);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${up(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(XO);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(YO);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(QO);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});var NR=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 oV=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)<oV)return o.getModel().getValueInRange(i)}return null}var Kd;let vo=(Kd=class extends _t{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 Mz),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=Kd,Kd.ID="editor.contrib.findController",Kd);vo=$C=NR([sr(1,yn),sr(2,Wc),sr(3,jf),sr(4,lo),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=NR([sr(1,my),sr(2,yn),sr(3,hs),sr(4,Hr),sr(5,lo),sr(6,Wc),sr(7,jf),sr(8,g_)],qC);const rV=oT(new rT({id:Mn.StartFindAction,label:C("startFindAction","Find"),alias:"Find",precondition:Re.or(B.focus,Re.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:$t.MenubarEditMenu,group:"3_find",title:C({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));rV.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 aV={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 lV extends Ye{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:aV})}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 cV extends Ye{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 AR extends Ye{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 dV extends AR{constructor(){super({id:Mn.NextMatchFindAction,label:C("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:B.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:Re.and(B.focus,Yy),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class uV extends AR{constructor(){super({id:Mn.PreviousMatchFindAction,label:C("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:B.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:Re.and(B.focus,Yy),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class hV extends Ye{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(lo).notify({severity:a0.Warning,message:C("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(Tl),a=new ft,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(aT),position:Ha.Full}}}])})}}class OR extends Ye{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 fV extends OR{constructor(){super({id:Mn.NextSelectionMatchFindAction,label:C("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:B.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class gV extends OR{constructor(){super({id:Mn.PreviousSelectionMatchFindAction,label:C("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:B.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const pV=oT(new rT({id:Mn.StartFindReplaceAction,label:C("startReplace","Replace"),alias:"Replace",precondition:Re.or(B.focus,Re.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:$t.MenubarEditMenu,group:"3_find",title:C({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));pV.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);ve(lV);ve(cV);ve(dV);ve(uV);ve(hV);ve(fV);ve(gV);const _a=yo.bindToContribution(vo.get);ui(new _a({id:Mn.CloseFindWidgetCommand,precondition:Ol,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:Re.and(B.focus,Re.not("isComposing")),primary:9,secondary:[1033]}}));ui(new _a({id:Mn.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:B.focus,primary:nm.primary,mac:nm.mac,win:nm.win,linux:nm.linux}}));ui(new _a({id:Mn.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:B.focus,primary:sm.primary,mac:sm.mac,win:sm.win,linux:sm.linux}}));ui(new _a({id:Mn.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:B.focus,primary:om.primary,mac:om.mac,win:om.win,linux:om.linux}}));ui(new _a({id:Mn.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:B.focus,primary:rm.primary,mac:rm.mac,win:rm.win,linux:rm.linux}}));ui(new _a({id:Mn.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:B.focus,primary:am.primary,mac:am.mac,win:am.win,linux:am.linux}}));ui(new _a({id:Mn.ReplaceOneAction,precondition:Ol,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:B.focus,primary:3094}}));ui(new _a({id:Mn.ReplaceOneAction,precondition:Ol,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:Re.and(B.focus,tk),primary:3}}));ui(new _a({id:Mn.ReplaceAllAction,precondition:Ol,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:B.focus,primary:2563}}));ui(new _a({id:Mn.ReplaceAllAction,precondition:Ol,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:Re.and(B.focus,tk),primary:void 0,mac:{primary:2051}}}));ui(new _a({id:Mn.SelectAllMatchesAction,precondition:Ol,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:B.focus,primary:515}}));const _V={0:" ",1:"u",2:"r"},OI=65535,ea=16777215,FI=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>OI)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 mV(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&FI)>>>24)+((this._endIndexes[e]&FI)>>>16);return t===OI?-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]=`[${_V[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)?(M=>M<D?k[M]:void 0):(M=>M<D?k.toFoldRange(M):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,M=g;for(;;){if(!M||M.startLineNumber>f.endLineNumber){k=f;break}if(M.source===1&&M.endLineNumber>f.endLineNumber)break;M=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 mV{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 vV{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new Gi,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 lT(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 sk(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 FR(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 bV(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 yV(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 HR(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 ok(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 rk(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 wV(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 SV(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 CV(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 xV{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new Gi,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||JO(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 HI(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!kV(r,n))&&(n=HI(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 kV(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function HI(o,e){const t=JD(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const LV=5e3,IV="indent";class ak{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=IV}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(TV(this.editorModel,i,n,this.foldingRangesLimit))}}let EV=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=Zx(g,s);(p<n||p===n&&i++<t)&&(r[u]=f,a[u]=this._endIndexes[d],u++)}return new zo(r,a)}}};const DV={limit:LV,update:()=>{}};function TV(o,e,t,i=DV){const n=o.getOptions().tabSize,s=new EV(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=Zx(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 PV=Xt("editor.foldBackground",{light:Ba(_L,.3),dark:Ba(_L,.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);Xt("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."));Xt("editorGutter.foldingControlForeground",e2,C("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const Pv=is("folding-expanded",Pi.chevronDown,C("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),Mv=is("folding-collapsed",Pi.chevronRight,C("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),WI=is("folding-manual-collapsed",Mv,C("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),BI=is("folding-manual-expanded",Pv,C("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),qw={color:_s(PV),position:1},dh=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:dh,firstLineDecorationClassName:Cn.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:dh,firstLineDecorationClassName:Cn.asClassName(Mv)}),os.MANUALLY_COLLAPSED_VISUAL_DECORATION=rn.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:dh,firstLineDecorationClassName:Cn.asClassName(WI)}),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:dh,firstLineDecorationClassName:Cn.asClassName(WI)}),os.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=rn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:dh}),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:dh}),os.EXPANDED_VISUAL_DECORATION=rn.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Cn.asClassName(Pv),linesDecorationsTooltip:dm}),os.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=rn.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Cn.asClassName(Pv),linesDecorationsTooltip:dm}),os.MANUALLY_EXPANDED_VISUAL_DECORATION=rn.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Cn.asClassName(BI),linesDecorationsTooltip:dm}),os.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=rn.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Cn.asClassName(BI),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 MV={},RV="syntax";class lk{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=RV,this.disposables=new ft,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return NV(this.providers,this.editorModel,e).then(t=>{var i;return t?OV(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function NV(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,MV,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 AV{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 OV(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 AV(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 FV=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)}},id;const Ws=new fn("foldingEnabled",!1);var Zd;let Ac=(Zd=class extends _t{static get(e){return e.getContribution(id.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=id._foldingRangeSelector)==null?void 0:n.call(id,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 ft),this.editor=e,this._foldingLimitReporter=new WR(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 vV(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new xV(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 ak(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=id.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new lk(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,HV(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)}},id=Zd,Zd.ID="editor.contrib.folding",Zd);Ac=id=FV([bg(1,yn),bg(2,Es),bg(3,lo),bg(4,cr),bg(5,li)],Ac);class WR{constructor(e){this.editor=e,this._onDidChange=new Gi,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 Ye{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 HV(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 BR(o){if(!kg(o)){if(!cT(o))return!1;const e=o;if(!kg(e.levels)&&!mL(e.levels)||!kg(e.direction)&&!AD(e.direction)||!kg(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(mL)))return!1}return!0}class WV extends Gs{constructor(){super({id:"editor.unfold",label:C("unfoldAction.label","Unfold"),alias:"Unfold",precondition:Ws,kbOpts:{kbExpr:B.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:BR,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"?FR(t,!1,s,r):Qf(t,!1,s,r)}}class BV extends Gs{constructor(){super({id:"editor.unfoldRecursively",label:C("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:Ws,kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,2142),weight:100}})}invoke(e,t,i,n){Qf(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class zV extends Gs{constructor(){super({id:"editor.fold",label:C("foldAction.label","Fold"),alias:"Fold",precondition:Ws,kbOpts:{kbExpr:B.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:BR,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"?bV(t,!0,s):a==="up"?FR(t,!0,r||1,s):Qf(t,!0,r||1,s)}}class VV extends Gs{constructor(){super({id:"editor.toggleFold",label:C("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:Ws,kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);sk(t,1,n)}}class jV extends Gs{constructor(){super({id:"editor.foldRecursively",label:C("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:Ws,kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Qf(t,!0,Number.MAX_VALUE,n)}}class $V extends Gs{constructor(){super({id:"editor.toggleFoldRecursively",label:C("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:Ws,kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);sk(t,Number.MAX_VALUE,n)}}class UV extends Gs{constructor(){super({id:"editor.foldAllBlockComments",label:C("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:Ws,kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())rk(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));ok(t,d,!0)}}}}class qV extends Gs{constructor(){super({id:"editor.foldAllMarkerRegions",label:C("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:Ws,kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())rk(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);ok(t,d,!0)}}}}class GV extends Gs{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:C("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:Ws,kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())rk(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);ok(t,d,!1)}}}}class KV extends Gs{constructor(){super({id:"editor.foldAllExcept",label:C("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:Ws,kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);HR(t,!0,n)}}class ZV extends Gs{constructor(){super({id:"editor.unfoldAllExcept",label:C("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:Ws,kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);HR(t,!1,n)}}class XV extends Gs{constructor(){super({id:"editor.foldAll",label:C("foldAllAction.label","Fold All"),alias:"Fold All",precondition:Ws,kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,2069),weight:100}})}invoke(e,t,i){Qf(t,!0)}}class YV extends Gs{constructor(){super({id:"editor.unfoldAll",label:C("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:Ws,kbOpts:{kbExpr:B.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){yV(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};Hh.ID_PREFIX="editor.foldLevel",Hh.ID=e=>Hh.ID_PREFIX+e;let Rv=Hh;class QV extends Gs{constructor(){super({id:"editor.gotoParentFold",label:C("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:Ws,kbOpts:{kbExpr:B.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.gotoPreviousFold",label:C("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:Ws,kbOpts:{kbExpr:B.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.gotoNextFold",label:C("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:Ws,kbOpts:{kbExpr:B.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=CV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class tj 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:B.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 ij extends Gs{constructor(){super({id:"editor.removeManualFoldingRanges",label:C("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:Ws,kbOpts:{kbExpr:B.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);ve(WV);ve(BV);ve(zV);ve(jV);ve($V);ve(XV);ve(YV);ve(UV);ve(qV);ve(GV);ve(KV);ve(ZV);ve(VV);ve(QV);ve(JV);ve(ej);ve(tj);ve(ij);for(let o=1;o<=7;o++)t2(new Rv({id:Rv.ID(o),label:C("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:Ws,kbOpts:{kbExpr:B.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(li),n=o.get(co).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 ak(n,r,d);let f=u;if(a!=="indentation"){const w=Ac.getFoldingRangeProviders(i,n);w.length&&(f=new lk(n,w,()=>{},d,u))}const g=await f.compute(Ki.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 nj extends Ye{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 sj extends Ye{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 oj extends Ye{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)}}ve(nj);ve(sj);ve(oj);var zR=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 ft,this._sessionDisposables=new ft,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}});i2(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||jo(r)&&(this._accessibilitySignalService.playSignal(uT.format,{userGesture:!1}),n2.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},sf.ID="editor.contrib.autoFormat",sf);Nv=zR([Yg(1,li),Yg(2,Rl),Yg(3,dT)],Nv);var of;let Av=(of=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new ft,this._callOnModel=new ft,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(hT,this.editor,e,2,cl.None,Ki.None,!1).catch(Rn))}},of.ID="editor.contrib.formatOnPaste",of);Av=zR([Yg(1,li),Yg(2,Bi)],Av);class rj extends Ye{constructor(){super({id:"editor.action.formatDocument",label:C("formatDocument.label","Format Document"),alias:"Format Document",precondition:Re.and(B.notInCompositeEditor,B.writable,B.hasDocumentFormattingProvider),kbOpts:{kbExpr:B.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(s2,t,1,cl.None,Ki.None,!0),250)}}}class aj extends Ye{constructor(){super({id:"editor.action.formatSelection",label:C("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:Re.and(B.writable,B.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,2084),weight:100},contextMenuOpts:{when:B.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(hT,t,s,1,cl.None,Ki.None,!0),250)}}Yi(Nv.ID,Nv,2);Yi(Av.ID,Av,2);ve(rj);ve(aj);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 lj=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 VR 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 VR(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)=>ai.compare(X.getStartPosition(i.range),X.getStartPosition(n.range))||ai.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 ft,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=lj([Gw(0,li),Gw(1,cr),Gw(2,co)],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,Ki.None)).getTopLevelSymbols()}finally{s.dispose()}});const xa=class xa extends _t{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=o2.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 cj(o){const e=new ft,t=e.add(fT());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 gT([...this.parts.map(s=>new Sl(X.fromPositions(new ai(1,s.column)),s.lines.join(`
|
|
32
|
+
`)))]).applyToString(i).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>e.lines.length===0)}get lineCount(){return 1+this.parts.reduce((e,t)=>e+t.lines.length-1,0)}}class 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 zI(o,e){return Va(o,e,jR)}function jR(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 dj=[];function uj(){return dj}class $R{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 UR(o,e){const t=new ft,i=o.createDecorationsCollection();return t.add(r2({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function hj(o,e){return new ai(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function VI(o,e){return new ai(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var fj=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)}};const jI="ghost-text";let YC=class extends _t{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,jI),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 $R(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 ai(s.lineNumber,a.column)),options:{description:jI,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 pj(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(UR(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};YC=fj([gj(2,ga)],YC);class pj extends _t{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=Sd("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");_j(d,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:d,afterColumnAffinity:1})}})}}function _j(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 _T(1e4);p.appendString('<div class="suggest-preview-text">');for(let x=0,k=t.length;x<k;x++){const D=t[x],M=D.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(x*g)),p.appendString('px;width:1000000px;">');const O=yT(M),K=a2(M),V=l2.createEmpty(M,n);mT(new vT(f.isMonospace&&!s,f.canUseHalfwidthRightwardsArrow,M,!1,O,K,0,V,D.decorations,e,0,f.spaceWidth,f.middotWidth,f.wsmiddotWidth,r,a,d,u!==c2.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),bT(o,f);const w=p.build(),y=$I?$I.createHTML(w):w;o.innerHTML=y}const $I=pT("editorGhostText",{createHTML:o=>o});function mj(o,e){const t=new f2,i=new u2(t,u=>e.getLanguageConfiguration(u)),n=new d2(new vj([o]),i),s=h2(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(vL(f),vL(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,g2),r}class vj{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 qR(o,e,t,i,n=Ki.None,s){const r=e instanceof ai?wj(e,t):e,a=o.all(t),d=new p2;for(const D of a)D.groupId&&d.add(D.groupId,D);function u(D){if(!D.yieldsToGroupIds)return[];const M=[];for(const O of D.yieldsToGroupIds||[]){const K=d.get(O);for(const V of K)M.push(V)}return M}const f=new Map,g=new Set;function p(D,M){if(M=[...M,D],g.has(D))return M;g.add(D);try{const O=u(D);for(const K of O){const V=p(K,M);if(V)return V}}finally{g.delete(D)}}function w(D){const M=f.get(D);if(M)return M;const O=p(D,[]);O&&rs(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${O.map(V=>V.toString?V.toString():""+V).join(" -> ")}`));const K=new py;return f.set(D,K.p),(async()=>{var V;if(!O){const se=u(D);for(const ie of se){const we=await w(ie);if(we&&we.items.length>0)return}}try{return e instanceof ai?await D.provideInlineCompletions(t,e,i,n):await((V=D.provideInlineEdits)==null?void 0:V.call(D,t,e,i,n))}catch(se){rs(se);return}})().then(V=>K.complete(V),V=>K.error(V)),K.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 M=D.completions;if(!M)continue;const O=new yj(M,D.provider);k.push(O);for(const K of M.items){const V=Fv.from(K,O,r,t,s);x.set(V.hash(),V)}}return new bj(Array.from(x.values()),new Set(x.keys()),k)}class bj{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 yj{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=UI(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=UI(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 Lu().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 _2(e.insertText);return new Fv(r,e.command,d,r,a,e.additionalTextEdits||uj(),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 wj(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 UI(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?mj(a,i):o}function Dd(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 GR(o,e){return o.text.startsWith(e.text)&&Sj(o.range,e.range)}function qI(o,e,t,i,n=0){let s=Dd(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()],M=k.column+x.length<=D.column?k.delta(0,x.length):D,O=X.fromPositions(M,D),K=s.text.startsWith(x)?s.text.substring(x.length):s.text.substring(y);s=new Sl(O,K)}const u=e.getValueInRange(s.range),f=Cj(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)),M=s.text.substring(y.modifiedStart,D),O=s.text.substring(D,Math.max(y.modifiedStart,k));M.length>0&&p.push(new Ov(x,M,!1)),O.length>0&&p.push(new Ov(x,O,!0))}return new Rp(g,p)}function Sj(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let ya;function Cj(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=KI(o,e,!0);if(t){const i=GI(t);if(i>0){const n=KI(o,e,!1);n&&GI(n)<i&&(t=n)}}return ya={originalValue:o,newValue:e,changes:t},t}}function GI(o){let e=0;for(const t of o)e+=t.originalLength;return e}function KI(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 m2({getElements:()=>a},{getElements:()=>d}).ComputeDiff(!1).changes}var xj=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},ZI=function(o,e){return function(t,i){e(t,i,o)}};let QC=class extends _t{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 Lj(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 kj(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 qR(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 Ej(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(),Wu(D=>{s.set(k,D)}),!0})(),u=new Ij(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=xj([ZI(3,li),ZI(4,Es)],QC);function kj(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 Lj{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&v2(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,y2())&&(e.context.triggerKind===pl.Automatic||this.context.triggerKind===pl.Explicit)&&this.versionId===e.versionId}}class Ij{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class Ej{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 XI(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 XI(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class XI{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=Dd(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)&&!!b2(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),Ei={Visible:ik,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 $t("suggestWidgetStatusBar");class Dj{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 ai(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new ai(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new ai(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||X.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new ai(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new ai(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new ai(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||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 Tj{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function ck(o,e,t,i=Np.default,n={triggerKind:0},s=Ki.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 ft,p=[];let w=!1;const y=(k,D,M)=>{var K;let O=!1;if(!D)return O;for(const V of D.suggestions)if(!i.kindFilter.has(V.kind)){if(!i.showDeprecated&&((K=V==null?void 0:V.tags)!=null&&K.includes(1)))continue;V.range||(V.range=u),V.sortText||(V.sortText=typeof V.label=="string"?V.label:V.label.label),!w&&V.insertTextRules&&V.insertTextRules&4&&(w=Lu.guessNeedsClipboard(V.insertText)),f.push(new Dj(t,V,D,k)),O=!0}return wT(D)&&g.add(D),p.push({providerName:k._debugDisplayName??"unknown_provider",elapsedProvider:D.duration??-1,elapsedOverall:M.elapsed()}),O},x=(async()=>{})();for(const k of o.orderedGroups(e)){let D=!1;if(await Promise.all(k.map(async M=>{if(i.providerItemsToReuse.has(M)){const O=i.providerItemsToReuse.get(M);O.forEach(K=>f.push(K)),D=D||O.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(M)))try{const O=new Po,K=await M.provideCompletionItems(e,t,n,s);D=y(M,K,O)||D}catch(O){rs(O)}})),D||s.isCancellationRequested)break}return await x,s.isCancellationRequested?(g.dispose(),Promise.reject(new _y)):new Tj(f.sort(Rj(i.snippetSortOrder)),w,{entries:p,elapsed:r.elapsed()},g)}function dk(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 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 dk(o,e)}function Mj(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return dk(o,e)}const Qy=new Map;Qy.set(0,Pj);Qy.set(2,Mj);Qy.set(1,dk);function Rj(o){return Qy.get(o)}Hn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;wn(Tn.isUri(t)),wn(ai.isIPosition(i)),wn(typeof n=="string"||!n),wn(typeof s=="number"||!s);const{completionProvider:r}=o.get(li),a=await o.get(pa).createModelReference(t);try{const d={incomplete:!1,suggestions:[]},u=[],f=a.object.textEditorModel.validatePosition(i),g=await ck(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(Ki.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 Nj(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 YI(o,e=gy){return w2(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}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},Oj=function(o,e){return function(t,i){e(t,i,o)}};class QI{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 JI{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 eE{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 S2(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(o0(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 tE{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=>!C2(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=Aj([Oj(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 iE{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=x2(this._workspaceService.getWorkspace());if(!k2(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(bL(e))return jg(e.uri.path);let t=jg(e.configPath.path);return t.endsWith(yL)&&(t=t.substr(0,t.length-yL.length-1)),t}_resoveWorkspacePath(e){if(bL(e))return YI(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?YI(i):"/"}}class nE{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 Fj=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},Hj=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=wL(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 xi(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=wL(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 sE={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=xi.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(K=>K.get(hf)),y=e.invokeWithinContext(K=>new eE(K.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)),M=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),O=e.getSelections().map((K,V)=>({selection:K,idx:V})).sort((K,V)=>X.compareRangesUsingStarts(K.selection,V.selection));for(const{selection:K,idx:V}of O){let se=Gr.adjustSelection(p,K,i,0),ie=Gr.adjustSelection(p,K,0,n);k!==p.getValueInRange(se)&&(se=K),D!==p.getValueInRange(ie)&&(ie=K);const we=K.setStartPosition(se.startLineNumber,se.startColumn).setEndPosition(ie.endLineNumber,ie.endColumn),Se=new Lu().parse(t,!0,s),Ge=we.getStartPosition(),He=Gr.adjustWhitespace(p,Ge,r||V>0&&M!==p.getLineFirstNonWhitespaceColumn(K.positionLineNumber),Se);Se.resolveVariables(new QI([y,new tE(x,V,O.length,e.getOption(79)==="spread"),new JI(p,K,V,d),new Hv(p,K,u),new Wv,new iE(w),new nE])),f[V]=Qn.replace(we,Se.toString()),f[V].identifier={major:V,minor:0},f[V]._isTracked=!0,g[V]=new Bv(e,Se,He)}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 Lu,g=new k_,p=new QI([e.invokeWithinContext(y=>new eE(y.get(pp),u)),new tE(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new JI(u,e.getSelection(),0,r),new Hv(u,e.getSelection(),a),new Wv,new iE(e.invokeWithinContext(y=>y.get(hf))),new nE]);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 V=t[y-1].range,se=X.fromPositions(V.getEndPosition(),x.getStartPosition()),ie=new Lo(u.getValueInRange(se));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 M=g.toString(),O=M.slice(w);w=M.length;const K=Qn.replace(x,O);K.identifier={major:y,minor:0},K._isTracked=!0,d.push(K)}return f.ensureFinalTabstop(g,i,!0),{edits:d,snippets:[new Bv(e,g,"")]}}constructor(e,t,i=sE,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){io(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=>xi.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=sE){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=>xi.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=Fj([Hj(3,Es)],zv);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},um=function(o,e){return function(t,i){e(t,i,o)}},Sh;const oE={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var Ra;let ao=(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 ft,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"?oE:{...oE,...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()||!ai.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(()=>{Nj(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);ao=Sh=Wj([um(1,Bu),um(2,li),um(3,yn),um(4,Es)],ao);Yi(ao.ID,ao,4);const Jy=yo.bindToContribution(ao.get);ui(new Jy({id:"jumpToNextSnippetPlaceholder",precondition:Re.and(ao.InSnippetMode,ao.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:B.textInputFocus,primary:2}}));ui(new Jy({id:"jumpToPrevSnippetPlaceholder",precondition:Re.and(ao.InSnippetMode,ao.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:B.textInputFocus,primary:1026}}));ui(new Jy({id:"leaveSnippet",precondition:ao.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:B.textInputFocus,primary:9,secondary:[1033]}}));ui(new Jy({id:"acceptSnippet",precondition:ao.InSnippetMode,handler:o=>o.finish()}));var Bj=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 _t{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=d0(this),this._selectedInlineCompletionId=$o(this,void 0),this._primaryPosition=In(this,y=>this._positions.read(y)[0]??new ai(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([il.Redo,il.Undo,il.AcceptWord]),this._fetchInlineCompletionsPromise=ST({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(),M=this.selectedSuggestItem.read(y);if(D&&!M){const ie=this._source.inlineCompletions.get();Wu(we=>{(!ie||D.request.versionId>ie.request.versionId)&&this._source.inlineCompletions.set(D.clone(),we),this._source.clearSuggestWidgetInlineCompletions(we)})}const O=this._primaryPosition.read(y),K={triggerKind:x.inlineCompletionTriggerKind,selectedSuggestionInfo:M==null?void 0:M.toSelectedSuggestionInfo()},V=this.selectedInlineCompletion.get(),se=x.preserveCurrentCompletion||V!=null&&V.forwardStable?V:void 0;return this._source.fetch(O,K,se)}),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(M=>M.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(M=>M.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:zI(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=Dd(k.toSingleTextEdit(),x),M=this._computeAugmentation(D,y);if(!this._suggestPreviewEnabled.read(y)&&!M)return;const K=(M==null?void 0:M.edit)??D,V=M?M.edit.text.length-D.text.length:0,se=this._suggestPreviewMode.read(y),ie=this._positions.read(y),we=[K,...Xw(this.textModel,ie,K)],Se=we.map((He,st)=>qI(He,x,se,ie[st],V)).filter(Im),Ge=Se[0]??new Rp(K.range.endLineNumber,[]);return{edits:we,primaryGhostText:Ge,ghostTexts:Se,inlineCompletion:M==null?void 0:M.completion,suggestItem:k}}else{if(!this._isActive.read(y))return;const D=this.selectedInlineCompletion.read(y);if(!D)return;const M=D.toSingleTextEdit(y),O=this._inlineSuggestMode.read(y),K=this._positions.read(y),V=[M,...Xw(this.textModel,K,M)],se=V.map((ie,we)=>qI(ie,x,O,K[we],0)).filter(Im);return se[0]?{edits:V,primaryGhostText:se[0],ghostTexts:se,inlineCompletion:D,suggestItem:void 0}:void 0}}),this.ghostTexts=ll({owner:this,equalsFn:zI},y=>{const x=this.state.read(y);if(x)return x.ghostTexts}),this.primaryGhostText=ll({owner:this,equalsFn:jR},y=>{const x=this.state.read(y);if(x)return x==null?void 0:x.primaryGhostText}),this._register(CT(this._fetchInlineCompletionsPromise));let w;this._register(Kn(y=>{var D,M;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 O=k.inlineCompletion,K=O.source;(M=(D=K.provider).handleItemDidShow)==null||M.call(D,K.inlineCompletions,O.sourceInlineCompletion,O.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 L2(s,a=>{let d=a.toSingleTextEdit(t);return d=Dd(d,i,X.fromPositions(d.range.getStartPosition(),e.range.getEndPosition())),GR(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=ao.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=rE(s).map(a=>xi.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 ai(s.lineNumber,a.column),u=a.text,f=t(d,u);if(f===u.length&&s.parts.length===1){this.accept(e);return}const g=u.substring(0,f),p=this._positions.get(),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)],M=rE(D).map(O=>xi.fromPositions(O));e.executeEdits("inlineSuggestion.accept",D.map(O=>Qn.replace(O.range,O.text))),e.setSelections(M,"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=Dd(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=Bj([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=VI(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=zj(t.text,d);return n.map(f=>{const g=hj(VI(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 zj(o,e){let t="";const i=E2(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 rE(o){const e=I2.createSortPermutation(o,p_(s=>s.range,X.compareRangesUsingStarts)),i=new gT(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var Vj=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},aE=function(o,e){return function(t,i){e(t,i,o)}},Pg;class uk{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 lE extends uk{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class jj extends uk{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:u0.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class $j extends uk{constructor(){super("recentlyUsedByPrefix"),this._trie=D2.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:u0.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 ft,this._persistSoon=new bs(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===t0.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)||lE;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",$j],["recentlyUsed",jj],["first",lE]]),wc._storagePrefix="suggest/memories",wc);e1=Pg=Vj([aE(0,Wc),aE(1,Un)],e1);const ew=Pl("ISuggestMemories");Ml(ew,e1,1);var Uj=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},qj=function(o,e){return function(t,i){e(t,i,o)}},t1,Xd;let Vv=(Xd=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=Xd,Xd.AtEnd=new fn("atEndOfWord",!1),Xd);Vv=t1=Uj([qj(1,yn)],Vv);var Gj=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},Kj=function(o,e){return function(t,i){e(t,i,o)}},Mg,Yd;let Of=(Yd=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=Yd,Yd.OtherSuggestions=new fn("hasOtherSuggestions",!1),Yd);Of=Mg=Gj([Kj(1,yn)],Of);class Zj{constructor(e,t,i,n){this._disposables=new ft,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 xT,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 ai(n,s),t.getEndPosition())}),i.push({range:X.fromPositions(new ai(n,1),t.getEndPosition())}));const r=n-1;if(r>0){const a=e.getLineFirstNonWhitespaceColumn(r);a===t.startColumn&&a!==e.getLineLastNonWhitespaceColumn(r)&&(i.push({range:X.fromPositions(new ai(r,a),t.getEndPosition())}),i.push({range:X.fromPositions(new ai(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(T2(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,cE=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Yl{constructor(e,t,i,n,s,r,a=kT.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?LT:P2;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;M2(f.completion.filterText,f.textLabel)===0?f.score=x:(f.score=R2(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?N2(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 Xj=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 Yj(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 Qj(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 ft,this._triggerCharacterListener=new ft,this._triggerQuickSuggest=new a_,this._triggerState=void 0,this._completionDisposables=new ft,this._onDidCancel=new Gi,this._onDidTrigger=new Gi,this._onDidSuggest=new Gi,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new xi(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(){io(this._triggerCharacterListener),io([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(!Qj(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="";O2(i.charCodeAt(i.length-1))?F2(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=ao.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}Yj(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=ck(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),u,n,this._requestToken.token);Promise.all([g,f]).then(async([x,k])=>{var V;if((V=this._requestToken)==null||V.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 M=this._editor.getModel(),O=new Xc(M,this._editor.getPosition(),e),K={...kT.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new Yl(x.items,this._context.column,{leadingLineContent:O.leadingLineContent,characterCountDelta:O.column-this._context.column},k,this._editor.getOption(119),this._editor.getOption(113),K,D),this._completionDisposables.add(x.disposable),this._onNewContext(O),this._reportDurationsTelemetry(x.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const se of x.items)se.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${se.provider._debugDisplayName}`,se.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=Xj([jl(1,Rl),jl(2,jf),jl(3,fa),jl(4,Bu),jl(5,yn),jl(6,Un),jl(7,li),jl(8,A2)],Uv);const Ob=class Ob{constructor(e,t){this._disposables=new ft,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 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},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 ft,this.element=qt(e,Zt(".suggest-status-bar"));const r=(a=>a instanceof bf?i.createInstance(H2,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=Jj([Yw(2,Bi),Yw(3,Hu),Yw(4,yn)],s1);var e6=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},t6=function(o,e){return function(t,i){e(t,i,o)}};function hk(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 Gi,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new Gi,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new ft,this._renderDisposeable=new ft,this._borderWidth=1,this._size=new An(330,0),this.domNode=Zt(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(qf,{editor:e}),this._body=Zt(".body"),this._scrollbar=new IT(this._body,{alwaysConsumeMouseWheel:!0}),qt(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=qt(this._body,Zt(".header")),this._close=qt(this._header,Zt("span"+Cn.asCSSSelector(Pi.close))),this._close.title=C("details.close","Close"),this._type=qt(this._header,Zt("p.type")),this._docs=qt(this._body,Zt("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 eo().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!hk(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,W2(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=e6([t6(1,Bi)],o1);class i6{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new ft,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new U0,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 V=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),se=-s.borderWidth+e.left+e.width,ie=new An(V,n.height-e.top-s.borderHeight-s.verticalPadding),we=ie.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:se,fit:V-t.width,maxSizeTop:ie,maxSizeBottom:we,minSize:r.with(Math.min(V,r.width))}})(),u=(function(){const V=e.left-s.borderWidth-s.horizontalPadding,se=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),ie=new An(V,n.height-e.top-s.borderHeight-s.verticalPadding),we=ie.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:se,fit:V-t.width,maxSizeTop:ie,maxSizeBottom:we,minSize:r.with(Math.min(V,r.width))}})(),f=(function(){const V=e.left,se=-s.borderWidth+e.top+e.height,ie=new An(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:se,left:V,fit:ie.height-t.height,maxSizeBottom:ie,maxSizeTop:ie,minSize:r.with(ie.width)}})(),g=[d,u,f],p=g.find(V=>V.fit>=0)??g.sort((V,se)=>se.fit-V.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:M,left:O}=p;!y&&x>e.height&&(M=w-x);const K=this._editor.getDomNode();if(K){const V=K.getBoundingClientRect();M-=V.top,O-=V.left}this._applyTopLeft({left:O,top:M}),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 n6=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function hm(o,e,t,i,n){if(Cn.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(n6);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=s6(o,e,t);a&&s.push(`${fm(a)}-lang-file-icon`)}}return s}function s6(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 o6=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 KR(o){return`suggest-aria-id:${o}`}const r6=is("suggest-more-info",Pi.chevronRight,C("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var na;const a6=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 Gi,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new ft,i=e;i.classList.add("show-file-icons");const n=qt(e,Zt(".icon")),s=qt(n,Zt("span.colorspan")),r=qt(e,Zt(".contents")),a=qt(r,Zt(".main")),d=qt(a,Zt(".icon-label.codicon")),u=qt(a,Zt("span.left")),f=qt(a,Zt("span.right")),g=new qD(u,{supportHighlights:!0,supportIcons:!0});t.add(g);const p=qt(u,Zt("span.signature-label")),w=qt(u,Zt("span.qualifier-label")),y=qt(f,Zt("span.details-label")),x=qt(f,Zt("span.readMore"+Cn.asCSSSelector(r6)));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(),M=D.get(50),O=M.getMassagedFontFamily(),K=M.fontFeatureSettings,V=D.get(120)||M.fontSize,se=D.get(121)||M.lineHeight,ie=M.fontWeight,we=M.letterSpacing,Se=`${V}px`,Ge=`${se}px`,He=`${we}px`;i.style.fontSize=Se,i.style.fontWeight=ie,i.style.letterSpacing=He,a.style.fontFamily=O,a.style.fontFeatureSettings=K,a.style.lineHeight=Ge,n.style.height=Ge,n.style.width=Ge,x.style.height=Ge,x.style.width=Ge}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=KR(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:Cy(e.score)},r=[];if(n.kind===19&&a6.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",...Cn.asClassNameArray(u0.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),hk(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=o6([Qw(1,co),Qw(2,ga),Qw(3,Hr)],r1);function Jw(o){return o.replace(/\r\n|\r|\n/g,"")}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},gm=function(o,e){return function(t,i){e(t,i,o)}},Ch;Xt("editorSuggestWidget.background",ET,C("editorSuggestWidgetBackground","Background color of the suggest widget."));Xt("editorSuggestWidget.border",B2,C("editorSuggestWidgetBorder","Border color of the suggest widget."));const c6=Xt("editorSuggestWidget.foreground",__,C("editorSuggestWidgetForeground","Foreground color of the suggest widget."));Xt("editorSuggestWidget.selectedForeground",DT,C("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));Xt("editorSuggestWidget.selectedIconForeground",z2,C("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const d6=Xt("editorSuggestWidget.selectedBackground",TT,C("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));Xt("editorSuggestWidget.highlightForeground",PT,C("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));Xt("editorSuggestWidget.focusHighlightForeground",V2,C("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));Xt("editorSuggestWidgetStatus.foreground",Ba(c6,.5),C("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class u6{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 ft,this._onDidSelect=new SL,this._onDidFocus=new SL,this._onDidHide=new Gi,this._onDidShow=new Gi,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new Gi,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new U0,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new h6(this,e),this._persistedSize=new u6(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:M,height:O}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-O)<=D)&&(O=((w=a.persistedSize)==null?void 0:w.height)??k.height),(!a.persistWidth||Math.abs(a.currentSize.width-M)<=D)&&(M=((y=a.persistedSize)==null?void 0:y.width)??k.width),this._persistedSize.store(new An(M,O))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=qt(this.element.domNode,Zt(".message")),this._listElement=qt(this.element.domNode,Zt(".tree"));const d=this._disposables.add(s.createInstance(o1,this.editor));d.onDidClose(this.toggleDetails,this,this._disposables),this._details=new i6(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 Qx("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:M}=p.completion.label;D&&M?w=C("label.full","{0} {1}, {2}",w,D,M):D?w=C("label.detail","{0} {1}",w,D):M&&(w=C("label.desc","{0}, {1}",w,M))}if(!p.isResolved||!this._isDetailsVisible())return w;const{documentation:y,detail:x}=p.completion,k=c0("{0}{1}",x||"",y?typeof y=="string"?y:y.value:"");return C("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",w,k)}}}),this._list.style(MT({listInactiveFocusBackground:d6,listInactiveFocusOutline:vu})),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=Ei.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Ei.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Ei.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Ei.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:KR(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=CL(wd(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")):(hk(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=CL(wd(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 M=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>M&&(n=M),n>x||this._forceRenderingAbove&&k>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),M=D):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),M=x),this.element.preferredSize=new An(u,i.defaultSize.height),this.element.maxSize=new An(d,M),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=j2(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=l6([gm(1,Wc),gm(2,yn),gm(3,Hr),gm(4,Bi)],a1);class h6{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 f6=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)}},l1;class g6{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 Qd;let Tr=(Qd=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 ft,this._selectors=new p6(g=>g.priority),this._onWillInsertSuggestItem=new Gi,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=Ei.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(wd(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 Zj(this.editor,g,this.model,k=>this._insertSuggestion(k,2));this._toDispose.add(p);const w=Ei.MakesTextEdit.bindTo(this._contextKeyService),y=Ei.HasInsertAndReplaceRange.bindTo(this._contextKeyService),x=Ei.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(),M=k.editStart.column,O=D.column;let K=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!k.completion.additionalTextEdits&&!(k.completion.insertTextRules&4)&&O-M===k.completion.insertText.length&&(K=this.editor.getModel().getValueInRange({startLineNumber:D.lineNumber,startColumn:M,endLineNumber:D.lineNumber,endColumn:O})!==k.completion.insertText),w.set(K),y.set(!ai.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 xL(!0,!1,!1,!1,33))||ja&&k.toKeyCodeChord().equals(new xL(!1,!1,!1,!0,33))){k.stopPropagation();return}k.toKeyCodeChord().isModifierKey()||this.editor.focus()})),g})),this._overtypingCapturer=this._toDispose.add(new Sw(wd(e.getDomNode()),()=>this._toDispose.add(new n1(this.editor,this.model)))),this._alternatives=this._toDispose.add(new Sw(wd(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 g6(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=Ei.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=ao.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,M=D,O=X.spansMultipleLines(k)?0:D;k=new X(k.startLineNumber,k.startColumn+M,k.endLineNumber,k.endColumn+O)}return Qn.replaceMove(k,x.text)})),y.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!f){const y=new Po;let x;const k=n.onDidChangeContent(K=>{if(K.isFlush){d.cancel(),k.dispose();return}for(const V of K.changes){const se=X.getEndPosition(V.range);(!x||ai.isBefore(se,x))&&(x=se)}}),D=t;t|=2;let M=!1;const O=this.editor.onWillType(()=>{O.dispose(),M=!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(V=>ai.isBefore(x,X.getStartPosition(V.range))))return!1;M&&this.editor.pushUndoStop();const K=_f.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(V=>Qn.replaceMove(X.lift(V.range),V.text))),K.restoreRelativeVerticalPositionOfCursor(this.editor),(M||!(D&2))&&this.editor.pushUndoStop(),!0}).then(K=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",y.elapsed(),K),p=K===!0?1:K===!1?0:-2}).finally(()=>{k.dispose(),O.dispose()}))}let{insertText:w}=r.completion;if(r.completion.insertTextRules&4||(w=Lu.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:lT($a(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:$2(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)(()=>{io(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(io(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=Qd,Qd.ID="editor.contrib.suggestController",Qd);Tr=l1=f6([uh(1,ew),uh(2,Is),uh(3,yn),uh(4,Bi),uh(5,Bu),uh(6,fa)],Tr);class p6{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 Ye{constructor(){super({id:Fb.id,label:C("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:Re.and(B.writable,B.hasCompletionItemProvider,Ei.Visible.toNegated()),kbOpts:{kbExpr:B.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);ve(qv);const Go=190,uo=yo.bindToContribution(Tr.get);ui(new uo({id:"acceptSelectedSuggestion",precondition:Re.and(Ei.Visible,Ei.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:Re.and(Ei.Visible,B.textInputFocus),weight:Go},{primary:3,kbExpr:Re.and(Ei.Visible,B.textInputFocus,Ei.AcceptSuggestionsOnEnter,Ei.MakesTextEdit),weight:Go}],menuOpts:[{menuId:hc,title:C("accept.insert","Insert"),group:"left",order:1,when:Ei.HasInsertAndReplaceRange.toNegated()},{menuId:hc,title:C("accept.insert","Insert"),group:"left",order:1,when:Re.and(Ei.HasInsertAndReplaceRange,Ei.InsertMode.isEqualTo("insert"))},{menuId:hc,title:C("accept.replace","Replace"),group:"left",order:1,when:Re.and(Ei.HasInsertAndReplaceRange,Ei.InsertMode.isEqualTo("replace"))}]}));ui(new uo({id:"acceptAlternativeSelectedSuggestion",precondition:Re.and(Ei.Visible,B.textInputFocus,Ei.HasFocusedSuggestion),kbOpts:{weight:Go,kbExpr:B.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:hc,group:"left",order:2,when:Re.and(Ei.HasInsertAndReplaceRange,Ei.InsertMode.isEqualTo("insert")),title:C("accept.replace","Replace")},{menuId:hc,group:"left",order:2,when:Re.and(Ei.HasInsertAndReplaceRange,Ei.InsertMode.isEqualTo("replace")),title:C("accept.insert","Insert")}]}));Hn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");ui(new uo({id:"hideSuggestWidget",precondition:Ei.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:Go,kbExpr:B.textInputFocus,primary:9,secondary:[1033]}}));ui(new uo({id:"selectNextSuggestion",precondition:Re.and(Ei.Visible,Re.or(Ei.MultipleSuggestions,Ei.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:Go,kbExpr:B.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));ui(new uo({id:"selectNextPageSuggestion",precondition:Re.and(Ei.Visible,Re.or(Ei.MultipleSuggestions,Ei.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:Go,kbExpr:B.textInputFocus,primary:12,secondary:[2060]}}));ui(new uo({id:"selectLastSuggestion",precondition:Re.and(Ei.Visible,Re.or(Ei.MultipleSuggestions,Ei.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));ui(new uo({id:"selectPrevSuggestion",precondition:Re.and(Ei.Visible,Re.or(Ei.MultipleSuggestions,Ei.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:Go,kbExpr:B.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));ui(new uo({id:"selectPrevPageSuggestion",precondition:Re.and(Ei.Visible,Re.or(Ei.MultipleSuggestions,Ei.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:Go,kbExpr:B.textInputFocus,primary:11,secondary:[2059]}}));ui(new uo({id:"selectFirstSuggestion",precondition:Re.and(Ei.Visible,Re.or(Ei.MultipleSuggestions,Ei.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));ui(new uo({id:"focusSuggestion",precondition:Re.and(Ei.Visible,Ei.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:Go,kbExpr:B.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));ui(new uo({id:"focusAndAcceptSuggestion",precondition:Re.and(Ei.Visible,Ei.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));ui(new uo({id:"toggleSuggestionDetails",precondition:Re.and(Ei.Visible,Ei.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:Go,kbExpr:B.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:hc,group:"right",order:1,when:Re.and(Ei.DetailsVisible,Ei.CanResolve),title:C("detail.more","Show Less")},{menuId:hc,group:"right",order:1,when:Re.and(Ei.DetailsVisible.toNegated(),Ei.CanResolve),title:C("detail.less","Show More")}]}));ui(new uo({id:"toggleExplainMode",precondition:Ei.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));ui(new uo({id:"toggleSuggestionFocus",precondition:Ei.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:Go,kbExpr:B.textInputFocus,primary:2570,mac:{primary:778}}}));ui(new uo({id:"insertBestCompletion",precondition:Re.and(B.textInputFocus,Re.equals("config.editor.tabCompletion","on"),Vv.AtEnd,Ei.Visible.toNegated(),Of.OtherSuggestions.toNegated(),ao.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(cT(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:Go,primary:2}}));ui(new uo({id:"insertNextSuggestion",precondition:Re.and(B.textInputFocus,Re.equals("config.editor.tabCompletion","on"),Of.OtherSuggestions,Ei.Visible.toNegated(),ao.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:Go,kbExpr:B.textInputFocus,primary:2}}));ui(new uo({id:"insertPrevSuggestion",precondition:Re.and(B.textInputFocus,Re.equals("config.editor.tabCompletion","on"),Of.OtherSuggestions,Ei.Visible.toNegated(),ao.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:Go,kbExpr:B.textInputFocus,primary:1026}}));ve(class extends Ye{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 _6 extends _t{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 Gi),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?Dd(g,f):void 0;if(!p)return-1;const w=ai.lift(d),y=u.map((k,D)=>{const M=Qg.fromSuggestion(n,f,w,k,this.isShiftKeyPressed),O=Dd(M.toSingleTextEdit(),f),K=GR(p,O);return{index:D,valid:K,prefixLength:O.text.length,suggestItem:k}}).filter(k=>k&&k.valid&&k.prefixLength>0),x=U2(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||!m6(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 Lu().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 q2(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new Sl(this.range,this.insertText)}}function m6(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var v6=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,Jd;let lr=(Jd=class extends _t{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 ai(1,1)]}),this._suggestWidgetAdaptor=this._register(new _6(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=b6(this._ghostTexts,this._store),this._ghostTextWidgets=G2(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=d0(this),this._fontFamily=ko(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new To(this._contextKeyService,this.model)),this._register(kL(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,iR,"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(kL(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||Wu(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(K2(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 Z2(this._suggestWidgetSelectedItem,kg,()=>!1,ES(y)),await this._accessibilitySignalService.playSignal(uT.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(k.primaryGhostText.renderForScreenReader(D))})),this._register(new _C(this.editor,this.model,this._instantiationService)),this._register(cj(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 ai(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},c1=Jd,Jd.ID="editor.contrib.inlineCompletionsController",Jd);lr=c1=v6([el(1,Bi),el(2,yn),el(3,Un),el(4,Is),el(5,cr),el(6,li),el(7,dT),el(8,hs),el(9,wy)],lr);function b6(o,e){const t=$o("result",[]),i=[];return e.add(Kn(n=>{const s=o.read(n);Wu(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 Ye{constructor(){super({id:Hb.ID,label:C("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:Re.and(B.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=sR;let d1=Hb;const Wb=class Wb extends Ye{constructor(){super({id:Wb.ID,label:C("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:Re.and(B.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=nR;let u1=Wb;class y6 extends Ye{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:C("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:B.writable})}async run(e,t){const i=lr.get(t);await RT(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 w6 extends Ye{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:Re.and(B.writable,To.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:Re.and(B.writable,To.inlineSuggestionVisible)},menuOpts:[{menuId:$t.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 S6 extends Ye{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:Re.and(B.writable,To.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:$t.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 C6 extends Ye{constructor(){super({id:iR,label:C("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:To.inlineSuggestionVisible,menuOpts:[{menuId:$t.InlineSuggestionToolbar,title:C("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:Re.and(To.inlineSuggestionVisible,B.tabMovesFocus.toNegated(),To.inlineSuggestionHasIndentationLessThanTabSize,Ei.Visible.toNegated(),B.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 Ye{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);Wu(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:$t.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:Re.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 x6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yg=function(o,e){return function(t,i){e(t,i,o)}};class k6{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 k6(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new ft,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 Tu([d])}renderScreenReaderText(e,t){const i=new ft,n=Zt,s=n("div.hover-row.markdown-hover"),r=qt(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 eo().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=x6([yg(1,ga),yg(2,ha),yg(3,wy),yg(4,Bi),yg(5,fa)],g1);class L6{}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);ve(y6);ve(d1);ve(u1);ve(w6);ve(S6);ve(C6);ve(h1);Dn(f1);$u.register(g1);tw.register(new L6);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},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 ft,this.toUnhookForKeyboard=new ft,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 NT(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 eo().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 eo().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 l0)&&(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=I6([eS(1,pa),eS(2,ga),eS(3,li)],Ap);Yi(Ap.ID,Ap,2);var ZR=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 dE{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 Gi,this.onDidChange=this._onDidChange.event,this._dispoables=new ft,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=LL(a.resource.toString(),d.resource.toString());return u===0&&(n==="position"?u=X.compareRangesUsingStarts(a,d)||no.compare(a.severity,d.severity):u=no.compare(a.severity,d.severity)||X.compareRangesUsingStarts(a,d)),u},r=()=>{this._markers=this._markerService.read({resource:Tn.isUri(e)?e:void 0,severities:no.Error|no.Warning|no.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 dE(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)=>LL(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 dE(this._markers[i],i+1,this._markers.length)}}};p1=ZR([Gv(1,e0),Gv(2,Un)],p1);const XR=Pl("IMarkerNavigationService");let _1=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new xT}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=ZR([Gv(0,e0),Gv(1,Un)],_1);Ml(XR,_1,1);var m1;(function(o){function e(t){switch(t){case K_.Ignore:return"severity-ignore "+Cn.asClassName(Pi.info);case K_.Info:return Cn.asClassName(Pi.info);case K_.Warning:return Cn.asClassName(Pi.warning);case K_.Error:return Cn.asClassName(Pi.error);default:return""}}o.className=e})(m1||(m1={}));var E6=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)}},v1;class D6{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 ft,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 iF(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(){io(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=Zt("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=qt(this._codeLink,Zt("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 no.Error:t=C("Error","Error");break;case no.Warning:t=C("Warning","Warning");break;case no.Info:t=C("Info","Info");break;case no.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 eu;let Op=(eu=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 ft,this._onDidSelectRelatedInformation=new Gi,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=no.Warning,this._backgroundColor=on.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(R6);let t=b1,i=T6;this._severity===no.Warning?(t=Vm,i=P6):this._severity===no.Info&&(t=y1,i=M6);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(gR),secondaryHeadingColor:e.getColor(pR)})}_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);n0(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=qt(e,Zt(""))}_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 D6(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(no.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=eu,eu.TitleMenu=new $t("gotoErrorTitleMenu"),eu);Op=v1=E6([hh(1,Hr),hh(2,ha),hh(3,Hu),hh(4,Bi),hh(5,yn),hh(6,pp)],Op);const uE=h0(Y2,X2),hE=h0(J2,Q2),fE=h0(SS,eF),b1=Xt("editorMarkerNavigationError.background",{dark:uE,light:uE,hcDark:yl,hcLight:yl},C("editorMarkerNavigationError","Editor marker navigation widget error color.")),T6=Xt("editorMarkerNavigationError.headerBackground",{dark:Ba(b1,.1),light:Ba(b1,.1),hcDark:null,hcLight:null},C("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),Vm=Xt("editorMarkerNavigationWarning.background",{dark:hE,light:hE,hcDark:yl,hcLight:yl},C("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),P6=Xt("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=Xt("editorMarkerNavigationInfo.background",{dark:fE,light:fE,hcDark:yl,hcLight:yl},C("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),M6=Xt("editorMarkerNavigationInfo.headerBackground",{dark:Ba(y1,.1),light:Ba(y1,.1),hcDark:null,hcLight:null},C("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),R6=Xt("editorMarkerNavigation.background",tF,C("editorMarkerNavigationBackground","Editor marker navigation widget background."));var N6=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,tu;let Ru=(tu=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 ft,this._editor=e,this._widgetVisible=YR.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 ai(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){var i,n;if(this._editor.hasModel()){const s=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(s.move(e,this._editor.getModel(),this._editor.getPosition()),!s.selected)return;if(s.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const r=await this._editorService.openCodeEditor({resource:s.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:s.selected.marker}},this._editor);r&&((i=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=tu,tu.ID="editor.contrib.markerController",tu);Ru=Ng=N6([pm(1,XR),pm(2,yn),pm(3,as),pm(4,Bi)],Ru);class iw extends Ye{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=Ru.get(t))==null||i.nagivate(this._next,this._multiFile))}}const ad=class ad extends iw{constructor(){super(!0,!1,{id:ad.ID,label:ad.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:B.focus,primary:578,weight:100},menuOpts:{menuId:Op.TitleMenu,title:ad.LABEL,icon:is("marker-navigation-next",Pi.arrowDown,C("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};ad.ID="editor.action.marker.next",ad.LABEL=C("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let Kv=ad;const ld=class ld extends iw{constructor(){super(!1,!1,{id:ld.ID,label:ld.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:B.focus,primary:1602,weight:100},menuOpts:{menuId:Op.TitleMenu,title:ld.LABEL,icon:is("marker-navigation-previous",Pi.arrowUp,C("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};ld.ID="editor.action.marker.prev",ld.LABEL=C("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let w1=ld;class A6 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:B.focus,primary:66,weight:100},menuOpts:{menuId:$t.MenubarGoMenu,title:C({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class O6 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:B.focus,primary:1090,weight:100},menuOpts:{menuId:$t.MenubarGoMenu,title:C({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}Yi(Ru.ID,Ru,4);ve(Kv);ve(w1);ve(A6);ve(O6);const YR=new fn("markersNavigationVisible",!1),F6=yo.bindToContribution(Ru.get);ui(new F6({id:"closeMarkersNavigation",precondition:YR,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:B.focus,primary:9,secondary:[1033]}}));var Xr;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(Xr||(Xr={}));class H6 extends Ye{constructor(){super({id:tR,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:ii("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:B.editorTextFocus,primary:us(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=Qs.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 W6 extends Ye{constructor(){super({id:iB,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:ii("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=Qs.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 B6 extends Ye{constructor(){super({id:nB,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:B.hoverFocused,kbOpts:{kbExpr:B.hoverFocused,primary:16,weight:100},metadata:{description:ii("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=Qs.get(t);i&&i.scrollUp()}}class z6 extends Ye{constructor(){super({id:sB,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:B.hoverFocused,kbOpts:{kbExpr:B.hoverFocused,primary:18,weight:100},metadata:{description:ii("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=Qs.get(t);i&&i.scrollDown()}}class V6 extends Ye{constructor(){super({id:oB,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:B.hoverFocused,kbOpts:{kbExpr:B.hoverFocused,primary:15,weight:100},metadata:{description:ii("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=Qs.get(t);i&&i.scrollLeft()}}class j6 extends Ye{constructor(){super({id:rB,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:B.hoverFocused,kbOpts:{kbExpr:B.hoverFocused,primary:17,weight:100},metadata:{description:ii("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=Qs.get(t);i&&i.scrollRight()}}class $6 extends Ye{constructor(){super({id:aB,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:B.hoverFocused,kbOpts:{kbExpr:B.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:ii("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=Qs.get(t);i&&i.pageUp()}}class U6 extends Ye{constructor(){super({id:lB,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:B.hoverFocused,kbOpts:{kbExpr:B.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:ii("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=Qs.get(t);i&&i.pageDown()}}class q6 extends Ye{constructor(){super({id:cB,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:B.hoverFocused,kbOpts:{kbExpr:B.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:ii("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=Qs.get(t);i&&i.goToTop()}}class G6 extends Ye{constructor(){super({id:dB,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:B.hoverFocused,kbOpts:{kbExpr:B.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:ii("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=Qs.get(t);i&&i.goToBottom()}}class K6 extends Ye{constructor(){super({id:$y,label:uB,alias:"Increase Hover Verbosity Level",precondition:B.hoverVisible})}run(e,t,i){const n=Qs.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 Z6 extends Ye{constructor(){super({id:Uy,label:hB,alias:"Decrease Hover Verbosity Level",precondition:B.hoverVisible})}run(e,t,i){var r;const n=Qs.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=Qs.get(t))==null||r.updateHoverVerbosityLevel(rr.Decrease,s,i==null?void 0:i.focus)}}var X6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},tS=function(o,e){return function(t,i){e(t,i,o)}};const gr=Zt;class Y6{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 gE={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 Y6(this,g,f))}return r}renderHoverParts(e,t){if(!t.length)return new Tu([]);const i=new ft,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)=>no.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new Tu(n)}_renderMarkerHover(e){const t=new ft,i=gr("div.hover-row"),n=qt(i,gr("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:d}=e.marker;this._editor.applyFontInfo(n);const u=qt(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=qt(g,gr("span"));x.innerText=s}const p=qt(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=qt(p,gr("span"));w.innerText=a.value;const y=qt(n,g);y.style.opacity="0.6",y.style.paddingLeft="6px"}else{const g=qt(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=qt(n,gr("div"));x.style.marginTop="8px";const k=qt(x,gr("a"));k.innerText=`${$a(p)}(${w}, ${y}): `,k.style.cursor="pointer",t.add(bn(k,"click",M=>{if(M.stopPropagation(),M.preventDefault(),this._openerService){const O={selection:{startLineNumber:w,startColumn:y}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:O}).catch(Rn)}}));const D=qt(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===no.Error||t.marker.severity===no.Warning||t.marker.severity===no.Info){const n=Ru.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&&(IL.makeKey(this.recentMarkerCodeActionsInfo.marker)===IL.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?_t.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:z0,run:u=>{d=!0;const f=Ef.get(this._editor),g=_o(u);e.hide(),f==null||f.showCodeActions(gE,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),gE,cl.None,t))}};S1=X6([tS(1,nF),tS(2,ha),tS(3,li)],S1);class Q6{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(...UD(d).map(e))}return i}}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},pE=function(o,e){return function(t,i){e(t,i,o)}},C1;const _E=Zt;var iu;let x1=(iu=class extends _t{constructor(e,t,i){super(),this._renderDisposeables=this._register(new ft),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new $D),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new qf({editor:this._editor},t,i)),this._computer=new Q6(this._editor),this._hoverOperation=this._register(new oR(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=_E("div.hover-row.markdown-hover"),r=qt(s,_E("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=iu,iu.ID="editor.contrib.modesGlyphHoverWidget",iu);x1=C1=J6([pE(1,ga),pE(2,ha)],x1);var e5=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},t5=function(o,e){return function(t,i){e(t,i,o)}},rf;let Zv=(rf=class extends _t{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new ft,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=e5([t5(1,Bi)],Zv);class i5{}class n5{}class s5{}Yi(Qs.ID,Qs,2);Yi(Zv.ID,Zv,2);ve(H6);ve(W6);ve(B6);ve(z6);ve(V6);ve(j6);ve($6);ve(U6);ve(q6);ve(G6);ve(K6);ve(Z6);$u.register(Tp);$u.register(S1);vy((o,e)=>{const t=o.getColor(sF);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 i5);tw.register(new n5);tw.register(new s5);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 QR(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 oF(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(o5(o,x))continue;const k=o.getLineContent(x),D=Us(k),M=y;s.shouldDecrease(x,M)&&(y=f(y),w=f(w)),D!==y&&g.push(Qn.replaceMove(new xi(x,1,x,D.length+1),rF(y,a,d))),!s.shouldIgnore(x)&&(s.shouldIncrease(x,M)?(w=u(w),y=w):s.shouldIndentNextLine(x,M)?y=u(y):y=w)}return g}function o5(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var r5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},a5=function(o,e){return function(t,i){e(t,i,o)}};const Vb=class Vb extends Ye{constructor(){super({id:Vb.ID,label:C("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:B.writable,metadata:{description:ii("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 h5(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 Ye{constructor(){super({id:jb.ID,label:C("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:B.writable,metadata:{description:ii("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 f5(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 fk extends Ye{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Tl),n=e.get(co),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 fk{constructor(){super(!1,!1,{id:$b.ID,label:C("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:ii("indentUsingTabsDescription","Use indentation with tabs.")}})}};$b.ID="editor.action.indentUsingTabs";let I1=$b;const Ub=class Ub extends fk{constructor(){super(!0,!1,{id:Ub.ID,label:C("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:ii("indentUsingSpacesDescription","Use indentation with spaces.")}})}};Ub.ID="editor.action.indentUsingSpaces";let E1=Ub;const qb=class qb extends fk{constructor(){super(!0,!0,{id:qb.ID,label:C("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:ii("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};qb.ID="editor.action.changeTabDisplaySize";let D1=qb;const Gb=class Gb extends Ye{constructor(){super({id:Gb.ID,label:C("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:ii("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(co),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 l5 extends Ye{constructor(){super({id:"editor.action.reindentlines",label:C("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:B.writable,metadata:{description:ii("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(Es),n=t.getModel();if(!n)return;const s=QR(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class c5 extends Ye{constructor(){super({id:"editor.action.reindentselectedlines",label:C("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:B.writable,metadata:{description:ii("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=QR(n,i,d,u);r.push(...f)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class d5{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 ft,this.callOnModel=new ft,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)||u5(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 M=Jg(k,r,d);u.push({range:new X(g,1,g,x.length+1),text:M}),p=M+p.substring(x.length)}else{const M=AT(i,g,this._languageConfigurationService);if(M===0||M===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 M=k-D;for(let O=g+1;O<=e.endLineNumber;O++){const K=i.getLineContent(O),V=Us(K),ie=xo(V,r)+M,we=Jg(ie,r,d);we!==V&&u.push({range:new X(O,1,O,V.length+1),text:we})}}}}if(u.length>0){this.editor.pushUndoStop();const y=new d5(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=r5([a5(1,Es)],Xv);function u5(o,e){const t=i=>aF(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function JR(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 h5{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),JR(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class f5{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),JR(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}Yi(Xv.ID,Xv,2);ve(k1);ve(L1);ve(I1);ve(E1);ve(D1);ve(T1);ve(l5);ve(c5);Yi(Mp.ID,Mp,1);$u.register(Ev);class g5{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 xi(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new xi(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var p5=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},_5=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 NT(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 xi(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const w=new g5(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=p5([_5(1,Rl)],Ff);class m5 extends Ye{constructor(){super({id:"editor.action.inPlaceReplace.up",label:C("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:B.writable,kbOpts:{kbExpr:B.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 v5 extends Ye{constructor(){super({id:"editor.action.inPlaceReplace.down",label:C("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:B.writable,kbOpts:{kbExpr:B.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);ve(m5);ve(v5);class b5 extends Ye{constructor(){super({id:"expandLineSelection",label:C("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:B.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,f0.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}ve(b5);class y5{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=w5(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 w5(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 eN{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=xi.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var S5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},C5=function(o,e){return function(t,i){e(t,i,o)}};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 xi(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:M=>M===r.startLineNumber?e.tokenization.getLineTokens(g):e.tokenization.getLineTokens(M),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:M=>M===r.startLineNumber?e.getLineContent(g):e.getLineContent(M)},D=$g(this._autoIndent,k,e.getLanguageIdAtPosition(g,1),r.startLineNumber,f,this._languageConfigurationService);if(D!==null){const M=Us(e.getLineContent(g)),O=xo(D,a),K=xo(M,a);O!==K&&(w=Jg(O,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:M=>M===r.startLineNumber?e.tokenization.getLineTokens(g):M>=r.startLineNumber+1&&M<=r.endLineNumber+1?e.tokenization.getLineTokens(M-1):e.tokenization.getLineTokens(M),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:M=>M===r.startLineNumber?w:M>=r.startLineNumber+1&&M<=r.endLineNumber+1?e.getLineContent(M-1):e.getLineContent(M)},D=$g(this._autoIndent,k,e.getLanguageIdAtPosition(g,1),r.startLineNumber+1,f,this._languageConfigurationService);if(D!==null){const M=Us(e.getLineContent(r.startLineNumber)),O=xo(D,a),K=xo(M,a);if(O!==K){const V=O-K;this.getIndentEditsOfMovingBlock(e,t,r,a,u,V)}}}}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),M=xo(k,a);if(D!==M){const O=D-M;this.getIndentEditsOfMovingBlock(e,t,r,a,u,O)}}}}}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=AT(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=S5([C5(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=x5(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=tN(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 tN(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 x5(o,e,t){const i=tN(o,e,t);return i?Qn.replace(new X(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
|
|
55
|
+
`)):null}class iN extends Ye{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 eN(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class k5 extends iN{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:C("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:B.writable,kbOpts:{kbExpr:B.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:$t.MenubarSelectionMenu,group:"2_line",title:C({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class L5 extends iN{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:C("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:B.writable,kbOpts:{kbExpr:B.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:$t.MenubarSelectionMenu,group:"2_line",title:C({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class I5 extends Ye{constructor(){super({id:"editor.action.duplicateSelection",label:C("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:B.writable,menuOpts:{menuId:$t.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 eN(a,!0));else{const d=new xi(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new lF(d,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class nN extends Ye{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 E5 extends nN{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:C("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:B.writable,kbOpts:{kbExpr:B.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:$t.MenubarSelectionMenu,group:"2_line",title:C({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class D5 extends nN{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:C("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:B.writable,kbOpts:{kbExpr:B.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:$t.MenubarSelectionMenu,group:"2_line",title:C({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class sN extends Ye{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 xi(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 T5 extends sN{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:C("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:B.writable})}}class P5 extends sN{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:C("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:B.writable})}}class M5 extends Ye{constructor(){super({id:"editor.action.removeDuplicateLines",label:C("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:B.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 xi(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 xi(u.startLineNumber,1,u.endLineNumber,i.getLineMaxColumn(u.endLineNumber)),w=u.startLineNumber-r,y=new xi(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 Ye{constructor(){super({id:Kb.ID,label:C("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:B.writable,kbOpts:{kbExpr:B.editorTextFocus,primary:us(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(f=>new ai(f.positionLineNumber,f.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(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 y5(s,n,d);t.pushUndoStop(),t.executeCommands(this.id,[u]),t.pushUndoStop()}};Kb.ID="editor.action.trimTrailingWhitespace";let M1=Kb;class R5 extends Ye{constructor(){super({id:"editor.action.deleteLines",label:C("lines.delete","Delete Line"),alias:"Delete Line",precondition:B.writable,kbOpts:{kbExpr:B.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 xi(g,w,p,y),"")),a.push(new xi(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 N5 extends Ye{constructor(){super({id:"editor.action.indentLines",label:C("lines.indent","Indent Line"),alias:"Indent Line",precondition:B.writable,kbOpts:{kbExpr:B.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,cF.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class A5 extends Ye{constructor(){super({id:"editor.action.outdentLines",label:C("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:B.writable,kbOpts:{kbExpr:B.editorTextFocus,primary:2140,weight:100}})}run(e,t){Em.Outdent.runEditorCommand(e,t,null)}}class O5 extends Ye{constructor(){super({id:"editor.action.insertLineBefore",label:C("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:B.writable,kbOpts:{kbExpr:B.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,OT.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class F5 extends Ye{constructor(){super({id:"editor.action.insertLineAfter",label:C("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:B.writable,kbOpts:{kbExpr:B.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,OT.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class oN extends Ye{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 H5 extends oN{constructor(){super({id:"deleteAllLeft",label:C("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:B.writable,kbOpts:{kbExpr:B.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 xi(d,r.startColumn,d,r.startColumn)}else a=new xi(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 W5 extends oN{constructor(){super({id:"deleteAllRight",label:C("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:B.writable,kbOpts:{kbExpr:B.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 xi(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 B5 extends Ye{constructor(){super({id:"editor.action.joinLines",label:C("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:B.writable,kbOpts:{kbExpr:B.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 xi(p.startLineNumber,p.startColumn,w.endLineNumber,w.endColumn):w.startLineNumber>p.endLineNumber?(s.push(p),w):new xi(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,M,O;const K=a.getLineLength(y.endLineNumber)-y.endColumn;if(y.isEmpty()||y.startLineNumber===y.endLineNumber){const ie=y.getStartPosition();ie.lineNumber<a.getLineCount()?(M=x+1,O=a.getLineMaxColumn(M)):(M=ie.lineNumber,O=a.getLineMaxColumn(ie.lineNumber))}else M=y.endLineNumber,O=a.getLineMaxColumn(M);let V=a.getLineContent(x);for(let ie=x+1;ie<=M;ie++){const we=a.getLineContent(ie),Se=a.getLineFirstNonWhitespaceColumn(ie);if(Se>=1){let Ge=!0;V===""&&(Ge=!1),Ge&&(V.charAt(V.length-1)===" "||V.charAt(V.length-1)===" ")&&(Ge=!1,V=V.replace(/[\s\uFEFF\xA0]+$/g," "));const He=we.substr(Se-1);V+=(Ge?" ":"")+He,Ge?D=He.length+1:D=He.length}else D=0}const se=new X(x,k,M,O);if(!se.isEmpty()){let ie;y.isEmpty()?(d.push(Qn.replace(se,V)),ie=new xi(se.startLineNumber-g,V.length-D+1,x-g,V.length-D+1)):y.startLineNumber===y.endLineNumber?(d.push(Qn.replace(se,V)),ie=new xi(y.startLineNumber-g,y.startColumn,y.endLineNumber-g,y.endColumn)):(d.push(Qn.replace(se,V)),ie=new xi(y.startLineNumber-g,y.startColumn,y.startLineNumber-g,V.length-K)),X.intersectRanges(se,n)!==null?f=ie:u.push(ie)}g+=se.endLineNumber-se.startLineNumber}u.unshift(f),t.pushUndoStop(),t.executeEdits(this.id,d,u),t.pushUndoStop()}}class z5 extends Ye{constructor(){super({id:"editor.action.transpose",label:C("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:B.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 xi(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 eT(g,p,new xi(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Gu extends Ye{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 V5 extends Gu{constructor(){super({id:"editor.action.transformToUppercase",label:C("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:B.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class j5 extends Gu{constructor(){super({id:"editor.action.transformToLowercase",label:C("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:B.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 Gu{constructor(){super({id:"editor.action.transformToTitlecase",label:C("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:B.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 Gu{constructor(){super({id:"editor.action.transformToSnakecase",label:C("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:B.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 Gu{constructor(){super({id:"editor.action.transformToCamelcase",label:C("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:B.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 Gu{constructor(){super({id:"editor.action.transformToPascalcase",label:C("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:B.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 Gu{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:B.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;ve(k5);ve(L5);ve(I5);ve(E5);ve(D5);ve(T5);ve(P5);ve(M5);ve(M1);ve(R5);ve(N5);ve(A5);ve(O5);ve(F5);ve(H5);ve(W5);ve(B5);ve(z5);ve(V5);ve(j5);ep.caseBoundary.isSupported()&&ep.singleLetters.isSupported()&&ve(ep);Qv.wordBoundary.isSupported()&&ve(Qv);Jv.wordBoundary.isSupported()&&ve(Jv);Yv.titleBoundary.isSupported()&&ve(Yv);eb.isSupported()&&ve(eb);var $5=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 rN=new fn("LinkedEditingInputVisible",!1),U5="linked-editing-decoration";var kc;let Hf=(kc=class extends _t{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 ft),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=rN.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 ft),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=dF(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 aN(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:U5}),kc);Hf=$m=$5([_m(1,yn),_m(2,li),_m(3,Es),_m(4,cr)],Hf);class q5 extends Ye{constructor(){super({id:"editor.action.linkedEditing",label:C("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:Re.and(B.writable,B.hasRenameProvider),kbOpts:{kbExpr:B.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)&&ai.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(s),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},Rn):super.runCommand(e,t)}run(e,t){const i=Hf.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const G5=yo.bindToContribution(Hf.get);ui(new G5({id:"cancelLinkedEditingInput",precondition:rN,handler:o=>o.clearRanges(),kbOpts:{kbExpr:B.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function aN(o,e,t,i){const n=o.ordered(e);return g0(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))}Xt("editor.linkedEditingBackground",{dark:on.fromHex("#f00").transparent(.3),light:on.fromHex("#f00").transparent(.3),hcDark:on.fromHex("#f00").transparent(.3),hcLight:on.white},C("editorLinkedEditingBackground","Background color when the editor auto renames on type."));wo("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(li);return aN(i,e,t,Ki.None)});Yi(Hf.ID,Hf,1);ve(q5);let K5=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 ft;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new K5(r,n));t=tb._union(t,s),wT(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 lN(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(li),s=o.get(co).getModel(t);if(!s)return[];const r=await lN(n,s,Ki.None);if(!r)return[];for(let d=0;d<Math.min(i,r.links.length);d++)await r.links[d].resolve(Ki.None);const a=r.links.slice(0);return r.dispose(),a});var Z5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mm=function(o,e){return function(t,i){e(t,i,o)}},R1,nu;let Hp=(nu=class extends _t{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=>lN(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(Ki.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=uF(a);let u=null;d.startsWith("/./")||d.startsWith("\\.\\")?u=`.${d.substr(1)}`:(d.startsWith("//./")||d.startsWith("\\\\.\\"))&&(u=`.${d.substr(2)}`),u&&(s=hF(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=nu,nu.ID="editor.linkDetector",nu);Hp=R1=Z5([mm(1,ha),mm(2,lo),mm(3,li),mm(4,cr)],Hp);const mE={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?mE.active:mE.general};return n.hoverMessage=X5(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 X5(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 eo("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new eo().appendText(`${i} (${n})`)}class Y5 extends Ye{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);ve(Y5);const Bk=class Bk extends _t{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})}))}};Bk.ID="editor.contrib.longLinesHelper";let ib=Bk;Yi(ib.ID,ib,2);const Q5=Xt("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);Xt("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);Xt("editor.wordHighlightTextBackground",Q5,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 J5=Xt("editor.wordHighlightBorder",{light:null,dark:null,hcDark:vu,hcLight:vu},C("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));Xt("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:vu,hcLight:vu},C("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));Xt("editor.wordHighlightTextBorder",J5,C("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const e$=Xt("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),t$=Xt("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),i$=Xt("editorOverviewRuler.wordHighlightTextForeground",FT,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),n$=rn.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:_s(t$),position:Ha.Center},minimap:{color:_s(Ey),position:1}}),s$=rn.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:_s(i$),position:Ha.Center},minimap:{color:_s(Ey),position:1}}),o$=rn.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:_s(FT),position:Ha.Center},minimap:{color:_s(Ey),position:1}}),r$=rn.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),a$=rn.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:_s(e$),position:Ha.Center},minimap:{color:_s(Ey),position:1}});function l$(o){return o===av.Write?n$:o===av.Text?s$:a$}function c$(o){return o?r$:o$}vy((o,e)=>{const t=o.getColor(fF);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});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},u$=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 h$ extends Ye{constructor(){super({id:"editor.action.insertCursorAbove",label:C("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:B.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:$t.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,f0.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Bc(r,s.getCursorStates())}}class f$ extends Ye{constructor(){super({id:"editor.action.insertCursorBelow",label:C("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:B.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:$t.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,f0.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Bc(r,s.getCursorStates())}}class g$ extends Ye{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:B.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:$t.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 xi(n,s,n,s))}e.endColumn>1&&i.push(new xi(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 p$ extends Ye{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 xi(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 _$ extends Ye{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 xi(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 xi(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 xi(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 xi(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 _t{static get(e){return e.getContribution(Yb.ID)}constructor(e){super(),this._sessionDispose=this._register(new ft),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 xi(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(!cN(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 xi(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};Yb.ID="editor.contrib.multiCursorController";let Wf=Yb;class Jf extends Ye{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 m$ 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:B.focus,primary:2082,weight:100},menuOpts:{menuId:$t.MenubarSelectionMenu,group:"3_multi",title:C({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class v$ 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:$t.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 b$ 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:B.focus,primary:us(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class y$ 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 w$ 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:B.focus,primary:3114,weight:100},menuOpts:{menuId:$t.MenubarSelectionMenu,group:"3_multi",title:C({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class S$ extends Jf{constructor(){super({id:"editor.action.changeAll",label:C("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:Re.and(B.writable,B.editorTextFocus),kbOpts:{kbExpr:B.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class C${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 su;let nb=(su=class extends _t{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(!cN(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 C$(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:c$(a)}));this._decorations.set(d)}dispose(){this._setState(null),super.dispose()}},N1=su,su.ID="editor.contrib.selectionHighlighter",su);nb=N1=d$([u$(1,li)],nb);function cN(o,e,t){const i=vE(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=vE(o,r,!t);if(i!==a)return!1}return!0}function vE(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class x$ extends Ye{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 k$ extends Ye{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);ve(h$);ve(f$);ve(g$);ve(m$);ve(v$);ve(b$);ve(y$);ve(w$);ve(S$);ve(p$);ve(_$);ve(x$);ve(k$);const L$="editor.action.inlineEdit.accept",I$="editor.action.inlineEdit.reject",E$="editor.action.inlineEdit.jumpTo",D$="editor.action.inlineEdit.jumpBack";var T$=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},P$=function(o,e){return function(t,i){e(t,i,o)}};const iS="inline-edit";let A1=class extends _t{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 M;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=(M=this.model.range)==null?void 0:M.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(O=>O.length===0),f=[],g=[];function p(O,K){if(g.length>0){const V=g[g.length-1];K&&V.decorations.push(new bp(V.content.length+1,V.content.length+1+O[0].length,K,0)),V.content+=O[0],O=O.slice(1)}for(const V of O)g.push({content:V,decorations:K?[new bp(1,V.length+1,K,0)]:[]})}const w=s.getLineContent(r.lineNumber);let y,x=0;if(!u&&(d||!a)){for(const O of r.parts){let K=O.lines;a&&!d&&(p(K,iS),K=[]),y===void 0?(f.push({column:O.column,text:K[0],preview:O.preview}),K=K.slice(1)):p([w.substring(x,O.column-1)],void 0),K.length>0&&(p(K,iS),y===void 0&&O.column<=w.length&&(y=O.column)),x=O.column-1}y!==void 0&&p([w.substring(x)],void 0)}const k=y!==void 0?new $R(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:p0})}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:_0})}for(const a of s.inlineTexts)r.push({range:X.fromPositions(new ai(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(UR(this.editor,this.decorations))}};A1=T$([P$(2,ga)],A1);var gk=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 _t{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 ai(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(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=gk([Da(2,Bi)],O1);var Lc;let F1=(Lc=class extends _t{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($t.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(H1,this.nodes.toolBar,this.editor,$t.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,d)=>{if(a instanceof bf)return n.createInstance(M$,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=gk([Da(3,Bi),Da(4,yn),Da(5,Hu)],F1);class M$ extends BD{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 Xx(t,Yx,{disableTitle:!0,...zD})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let H1=class extends VD{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=[];n0(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=gk([Da(4,Hu),Da(5,yn),Da(6,Vf),Da(7,hs),Da(8,Is),Da(9,fa)],H1);var dN=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*R$(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 ou;let B1=(ou=class extends _t{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(R$(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 ai(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 HT.fromFn(async()=>{const p=await g.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},Ki.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=ou,ou._modelId=0,ou);B1=Ag=dN([qm(2,Bi),qm(3,m0),qm(4,co)],B1);var ru;let z1=(ru=class extends _t{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=Zt("div.inlineEditSideBySide",void 0),this._scrollChanged=Sd("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:_0}),x.modified.isEmpty||p.push({range:x.modified.toInclusiveRange(),options:WT}),x.modified.isEmpty||x.original.isEmpty)x.original.isEmpty||g.push({range:y(x.original.toInclusiveRange()),options:BT}),x.modified.isEmpty||p.push({range:x.modified.toInclusiveRange(),options:zT});else for(const k of x.innerChanges||[])x.original.contains(k.originalRange.startLineNumber)&&g.push({range:y(k.originalRange),options:k.originalRange.isEmpty()?VT:p0}),x.modified.contains(k.modifiedRange.startLineNumber)&&p.push({range:k.modifiedRange,options:k.modifiedRange.isEmpty()?jT:$T});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 ai(e.top,1));if(!i)return null;const n=i.top-1,s=this._editor.getOffsetForColumn(e.left.lineNumber,e.left.column);return{preference:{left:t.contentLeft+s+10,top:n}}}},W1=ru,ru.id=0,ru);z1=W1=dN([qm(5,Bi)],z1);var N$=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 so=(or=class extends _t{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,M=x.text.endsWith(`
|
|
65
|
+
`)&&!(x.range.startLineNumber===x.range.endLineNumber&&x.range.startColumn===x.range.endColumn)?x.text.slice(0,-1):x.text,O=new Rp(k,[new Ov(D,M,!1)]),K=x.range.startLineNumber===x.range.endLineNumber&&O.parts.length===1&&O.parts[0].lines.length===1,V=x.text==="";return!K&&!V?void 0:this.instantiationService.createInstance(A1,this.editor,{ghostText:dl(O),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=Sd("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=Sd("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=Sd("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(Kn(y=>{this._enabled.read(y)&&(p.read(y),this.getInlineEdit(e,!0))}));const w=this._register(fT());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?EL.Automatic:EL.Invoke;if(t&&await A$(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),Wu(i=>{this._currentEdit.set(void 0,i),this._isAccepting.set(!1,i)})}jumpToCurrent(){var i;this._jumpBackPosition=(i=this.editor.getSelection())==null?void 0:i.getStartPosition();const e=this._currentEdit.get();if(!e)return;const t=ai.lift({lineNumber:e.range.startLineNumber,column:e.range.startColumn});this.editor.setPosition(t),this.editor.revealPositionInCenterIfOutsideViewport(t)}async clear(e=!0){const t=this._currentEdit.get();t&&(t!=null&&t.rejected)&&e&&await this._commandService.executeCommand(t.rejected.id,...t.rejected.arguments||[]).then(void 0,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);so=Og=N$([Yc(1,Bi),Yc(2,yn),Yc(3,li),Yc(4,Is),Yc(5,Un),Yc(6,m0),Yc(7,co)],so);function A$(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 O$=class extends Ye{constructor(){super({id:L$,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:Re.and(B.writable,so.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:Re.and(B.writable,so.inlineEditVisibleContext,so.cursorAtInlineEditContext)}],menuOpts:[{menuId:$t.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=so.get(t);await(i==null?void 0:i.accept())}};class F$ extends Ye{constructor(){const e=Re.and(B.writable,Re.not(so.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=so.get(t);i==null||i.trigger()}}class H$ extends Ye{constructor(){const e=Re.and(B.writable,so.inlineEditVisibleContext,Re.not(so.cursorAtInlineEditKey));super({id:E$,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:$t.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=so.get(t);i==null||i.jumpToCurrent()}}class W$ extends Ye{constructor(){const e=Re.and(B.writable,so.cursorAtInlineEditContext);super({id:D$,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:$t.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=so.get(t);i==null||i.jumpBack()}}class B$ extends Ye{constructor(){const e=Re.and(B.writable,so.inlineEditVisibleContext);super({id:I$,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:$t.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=so.get(t);await(i==null?void 0:i.clear())}}ve(O$);ve(B$);ve(H$);ve(W$);ve(F$);Yi(so.ID,so,3);const z$="editor.action.inlineEdits.accept",V$="editor.action.inlineEdits.showPrevious",j$="editor.action.inlineEdits.showNext",Bf=new fn("inlineEditsVisible",!1,C("inlineEditsVisible","Whether an inline edit is visible")),$$=new fn("inlineEditsIsPinned",!1,C("isPinned","Whether an inline edit is visible")),zk=class zk extends _t{constructor(e){super(),this._editor=e,this._editorObs=Pa(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=ll({owner:this,equalsFn:UT},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=U$(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=jD((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)}};zk.ID="editor.contrib.placeholderText";let Bp=zk;function U$(o,e){return yy(o,(t,i)=>i===!0?!0:e(t))}var q$=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},G$=function(o,e){return function(t,i){e(t,i,o)}};class K${constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let V1=class extends _t{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"}})]),ih("svg",{style:{overflow:"visible",pointerEvents:"none"}},[ih("defs",[ih("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[ih("stop",{offset:"0%",class:"gradient-stop"}),ih("stop",{offset:"100%",class:"gradient-stop"})])]),ih("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:gF},{contributions:pF.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:_0}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:WT}),g.modified.isEmpty||g.original.isEmpty)g.original.isEmpty||d.push({range:g.original.toInclusiveRange(),options:BT}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:zT});else for(const p of g.innerChanges||[])g.original.contains(p.originalRange.startLineNumber)&&d.push({range:p.originalRange,options:p.originalRange.isEmpty()?VT:p0}),g.modified.contains(p.modifiedRange.startLineNumber)&&u.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?jT:$T});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,M=x-D,O=new Nh(f+k,g+M/2),K=new Nh(f+k,p-M/2);return{topCode:w,bottomCode:y,codeHeight:x,topEdit:O,bottomEdit:K,editHeight:D}});const s=In(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(_F(this._elements.root,{display:In(this,r=>s.read(r)?"block":"none")})),this._register(mF(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 X$().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(Y$(Z$(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=q$([G$(3,Bi)],V1);function Z$(o,e,t){return qT(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 X${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 Y$(o,e){const t=new ft;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 Q$=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,au;let j1=(au=class extends _t{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=d0(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 eU(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 M;const D=((M=k[0].match(/^\s*/))==null?void 0:M[0])??"";return k.map(O=>O.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 HT.fromFn(async()=>{const k=await x.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},Ki.None);if(!k.identical)return new K$(vF.fromRangeInclusive(f),p(g),k.changes)})}),this._fetchStore=this._register(new ft),this._inlineEditsFetchResult=LS(this,void 0),this._inlineEdits=ll({owner:this,equalsFn:UT},d=>{var u;return((u=this._inlineEditsFetchResult.read(d))==null?void 0:u.completions.map(f=>new J$(f)))??[]}),this._fetchInlineEditsPromise=ST({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 qR(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(CT(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=au,au._modelId=0,au);j1=Fg=Q$([sS(4,li),sS(5,m0),sS(6,co)],j1);class J${constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class eU extends _t{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 tU=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,lu;let Il=(lu=class extends _t{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=bF("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Pa(this.editor),this._selection=In(this,a=>this._editorObs.cursorSelection.read(a)??new xi(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)),iU(d=>{var u;return((u=this.model.read(d))==null?void 0:u.userPrompt)??$o("empty","")}))}),this._register(DL(Bf,this._contextKeyService,a=>{var d;return!!((d=this.model.read(a))!=null&&d.inlineEdit.read(a))})),this._register(DL($$,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=lu,lu.ID="editor.contrib.inlineEditsController",lu);Il=$1=tU([wg(1,Bi),wg(2,yn),wg(3,cr),wg(4,li),wg(5,Un)],Il);function iU(o){return qT(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 Ye{constructor(){super({id:Qb.ID,...R_(ii("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:Re.and(B.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=j$;let U1=Qb;const Jb=class Jb extends Ye{constructor(){super({id:Jb.ID,...R_(ii("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:Re.and(B.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=V$;let q1=Jb;class nU extends Ye{constructor(){super({id:"editor.action.inlineEdits.trigger",...R_(ii("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:B.writable})}async run(e,t){const i=Il.get(t);await RT(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class sU extends Ye{constructor(){super({id:z$,...R_(ii("action.inlineEdits.accept","Accept Inline Edit")),precondition:Bf,menuOpts:{menuId:$t.InlineEditsActions,title:C("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Pi.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 Ye{constructor(){super({id:ey.ID,...R_(ii("action.inlineEdits.hide","Hide Inline Edit")),precondition:Bf,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Il.get(t);Wu(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);ve(nU);ve(U1);ve(q1);ve(sU);ve(G1);const Nu={Visible:new fn("parameterHintsVisible",!1),MultipleSignatures:new fn("parameterHintsMultipleSignatures",!1)};async function uN(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(ai.isIPosition(i)),wn(typeof n=="string"||!n);const s=o.get(li),r=await o.get(pa).createModelReference(t);try{const a=await uN(s.signatureHelpProvider,r.object.textEditorModel,ai.lift(i),{triggerKind:cc.Invoke,isRetrigger:!1,triggerCharacter:n},Ki.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 _t{constructor(e,t,i=ty.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new Gi),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(oU);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=>uN(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 oU(o,e){switch(e.triggerKind){case cc.Invoke:return e;case cc.ContentChange:return o;case cc.TriggerCharacter:default:return e}}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},bm=function(o,e){return function(t,i){e(t,i,o)}},Z1;const Ao=Zt,aU=is("parameter-hints-next",Pi.chevronDown,C("parameterHintsNextIcon","Icon for show next parameter hint.")),lU=is("parameter-hints-previous",Pi.chevronUp,C("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var cu;let X1=(cu=class extends _t{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new ft),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new qf({editor:e},s,n)),this.keyVisible=Nu.Visible.bindTo(i),this.keyMultipleSignatures=Nu.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=Ao(".editor-widget.parameter-hints-widget"),t=qt(e,Ao(".phwrapper"));t.tabIndex=-1;const i=qt(t,Ao(".controls")),n=qt(i,Ao(".button"+Cn.asCSSSelector(lU))),s=qt(i,Ao(".overloads")),r=qt(i,Ao(".button"+Cn.asCSSSelector(aU)));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 IT(a,{alwaysConsumeMouseWheel:!0});this._register(d),t.appendChild(d.getDomNode());const u=qt(a,Ao(".signature")),f=qt(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",i0.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=qt(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=qt(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)}qt(this.domNodes.docs,Ao("p",{},u))}if(i.documentation!==void 0)if(typeof i.documentation=="string")qt(this.domNodes.docs,Ao("p",{},i.documentation));else{const u=this.renderMarkdownDocs(i.documentation);qt(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),qt(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=cu,cu.ID="editor.widget.parameterHintsWidget",cu);X1=Z1=rU([bm(2,yn),bm(3,ha),bm(4,ga),bm(5,fa)],X1);Xt("editorHoverWidget.highlightForeground",PT,C("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var cU=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)}},Y1,du;let zf=(du=class extends _t{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 Kx(()=>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=du,du.ID="editor.controller.parameterHints",du);zf=Y1=cU([bE(1,Bi),bE(2,li)],zf);class dU extends Ye{constructor(){super({id:"editor.action.triggerParameterHints",label:C("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:B.hasSignatureHelpProvider,kbOpts:{kbExpr:B.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);ve(dU);const pk=175,_k=yo.bindToContribution(zf.get);ui(new _k({id:"closeParameterHints",precondition:Nu.Visible,handler:o=>o.cancel(),kbOpts:{weight:pk,kbExpr:B.focus,primary:9,secondary:[1033]}}));ui(new _k({id:"showPrevParameterHint",precondition:Re.and(Nu.Visible,Nu.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:pk,kbExpr:B.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));ui(new _k({id:"showNextParameterHint",precondition:Re.and(Nu.Visible,Nu.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:pk,kbExpr:B.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var uU=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},hU=function(o,e){return function(t,i){e(t,i,o)}};class fU{constructor(e){this.instantiationService=e}init(...e){}}function gU(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 pU(o){return yF()?gU(o,Q1):o()}let Q1=class extends fU{constructor(e,t){super(t),this.init(e)}};Q1=uU([hU(1,Bi)],Q1);Yi(Bp.ID,pU(()=>Bp),0);Xt("editor.placeholder.foreground",wF,C("placeholderForeground","Foreground color of the placeholder text in the editor."));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},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 ft,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 mU,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 mk(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(SF),i=e.getColor(CF);this._domNode.style.backgroundColor=String(e.getColor(ET)??""),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(xF)??"");const n=e.getColor(kF);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(TL)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(TL)??""),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 ft;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 v0(f);(g.equals(3)||g.equals(10))&&(g.stopPropagation(),g.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new ai(e.startLineNumber,e.startColumn),this._currentName=t,this._inputWithButton.input.value=t,this._inputWithButton.input.setAttribute("selectionStart",r.toString()),this._inputWithButton.input.setAttribute("selectionEnd",a.toString()),this._inputWithButton.input.size=Math.max((e.endColumn-e.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),d.add(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=RD(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=_U([ym(2,Hr),ym(3,hs),ym(4,yn),ym(5,Bu)],J1);class mk{constructor(e,t){this._disposables=new ft,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=mk._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(MT({listInactiveFocusForeground:DT,listInactiveFocusBackground:TT}))}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 Qx("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class mU{constructor(){this._onDidInputChange=new Gi,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new ft}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=LF().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 v0(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(Pi.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(Pi.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(Pi.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),bT(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(IF.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 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},$l=function(o,e){return function(t,i){e(t,i,o)}},ex;class vk{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 bU(o,e,t,i){const n=new vk(e,t,o),s=await n.resolveRenameLocation(Ki.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,Ki.None)}var uu;let Oc=(uu=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 ft,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 vk(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 M=u.slice();return k===TS.Automatic&&(M=M.filter(([O,K])=>K)),M.map(([O])=>O.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=uu,uu.ID="editor.contrib.renameController",uu);Oc=ex=vU([$l(1,Bi),$l(2,lo),$l(3,fy),$l(4,l_),$l(5,Bu),$l(6,EF),$l(7,li),$l(8,fa)],Oc);class yU extends Ye{constructor(){super({id:"editor.action.rename",label:C("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:Re.and(B.writable,B.hasRenameProvider),kbOpts:{kbExpr:B.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)&&ai.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(s),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},Rn):super.runCommand(e,t)}run(e,t){const i=e.get(Bu),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);ve(yU);const bk=yo.bindToContribution(Oc.get);ui(new bk({id:"acceptRenameInput",precondition:eg,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:Re.and(B.focus,Re.not("isComposing")),primary:3}}));ui(new bk({id:"acceptRenameInputWithPreview",precondition:Re.and(eg,Re.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:Re.and(B.focus,Re.not("isComposing")),primary:2051}}));ui(new bk({id:"cancelRenameInput",precondition:eg,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:B.focus,primary:9,secondary:[1033]}}));Dn(class extends bo{constructor(){super({id:"focusNextRenameSuggestion",title:{...ii("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:{...ii("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(li);return bU(s,e,t,n)});wo("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(li),s=await new vk(e,t,i).resolveRenameLocation(Ki.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 wU=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},yE=function(o,e){return function(t,i){e(t,i,o)}},lf;let sb=(lf=class extends _t{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=>SU(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=wU([yE(1,Es),yE(2,Rl)],sb);function SU(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 CU(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 xU(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return DF()||CU(e),TF.wrap(e)}function hN(o){const e=new Uint32Array(kU(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 xU(e)}function kU(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 fN(o){return o&&Array.isArray(o.edits)}class LU{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function gN(o,e){return o.has(e)}function IU(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function pN(o,e,t,i,n){const s=IU(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)&&!fN(d))&&(d=null),new LU(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 EU(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class DU{constructor(e,t){this.provider=e,this.tokens=t}}function TU(o,e){return o.has(e)}function _N(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function yk(o,e,t,i){const n=_N(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 DU(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(co).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(li),s=EU(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(co).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(li);if(!gN(n,i))return o.get(Is).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await pN(n,i,null,null,Ki.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!nw(a))return;const d=hN({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(co).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(li),r=_N(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 yk(s,n,X.lift(i),Ki.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(co).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(li),r=await yk(s,n,X.lift(i),Ki.None);if(!(!r||!r.tokens))return hN({id:0,type:"full",data:r.tokens.data})});const wk="editor.semanticHighlighting";function Gm(o,e,t){var n;const i=(n=t.getValue(wk,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var mN=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 _t{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(wk)&&u()})),this._register(i.onDidColorThemeChange(u))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};tx=mN([Ta(0,b0),Ta(1,co),Ta(2,Hr),Ta(3,Un),Ta(4,cr),Ta(5,li)],tx);var Ic;let ix=(Ic=class extends _t{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=()=>{io(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),io(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!gN(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=pN(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(fN(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 PU(e,t.resultId,t.data);const a=GT(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=mN([Ta(1,b0),Ta(2,Hr),Ta(3,cr),Ta(4,li)],ix);class PU{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}Uf(tx);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},Sg=function(o,e){return function(t,i){e(t,i,o)}},cf;let ob=(cf=class extends _t{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(wk)&&(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(!TU(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(yk(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,GT(d,u,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},cf.ID="editor.contrib.viewportSemanticTokens",cf);ob=MU([Sg(1,b0),Sg(2,Hr),Sg(3,Un),Sg(4,cr),Sg(5,li)],ob);Yi(ob.ID,ob,1);class RU{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(PL(g)&&ML(f))break;f=g}for(d+=1;u<s.length;u++){const g=s.charCodeAt(u);if(ML(g)&&PL(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 NU=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},AU=function(o,e){return function(t,i){e(t,i,o)}},nx;class Sk{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 Sk(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var hu;let Vp=(hu=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 bN(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),Ki.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 Sk(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=>xi.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},nx=hu,hu.ID="editor.contrib.smartSelectController",hu);Vp=nx=NU([AU(1,li)],Vp);class vN extends Ye{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=Vp.get(t);i&&await i.run(this._forward)}}class OU extends vN{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:C("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:B.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:$t.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 FU extends vN{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:C("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:B.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:$t.MenubarSelectionMenu,group:"1_basic",title:C({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}Yi(Vp.ID,Vp,4);ve(OU);ve(FU);async function bN(o,e,t,i,n){const s=o.all(e).concat(new RU(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)=>ai.isBefore(p.getStartPosition(),w.getStartPosition())?1:ai.isBefore(w.getStartPosition(),p.getStartPosition())||ai.isBefore(p.getEndPosition(),w.getEndPosition())?-1:ai.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(li).selectionRangeProvider,s=await o.get(pa).createModelReference(t);try{return bN(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},Ki.None)}finally{s.dispose()}});const HU=Object.freeze({View:ii("view","View"),Help:ii("help","Help"),Test:ii("test","Test"),File:ii("file","File"),Preferences:ii("preferences","Preferences"),Developer:ii({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 wE=pT("stickyScrollViewLayer",{createHTML:o=>o}),oS="data-sticky-line-index",SE="data-sticky-is-line",WU="data-sticky-is-line-number",CE="data-sticky-is-folding-icon";class BU extends _t{constructor(e){super(),this._editor=e,this._foldingIconStore=new ft,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 ai(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 vT(!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 _T(2e3),p=mT(f,g);let w;wE?w=wE.createHTML(g.build()):w=g.build();const y=document.createElement("span");y.setAttribute(oS,String(e)),y.setAttribute(SE,""),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(WU,""),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 M=this._renderFoldingIconForLine(i,t);M&&x.appendChild(M.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 O=new zU(e,t,y,x,M,p.characterMapping,y.scrollWidth);return this._updateTopAndZIndexOfStickyLine(O)}_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 VU(d,r,n.getEndLineNumber(s),this._lineHeight);return u.setVisible(this._isOnGlyphMargin?!0:d||i==="always"),u.domNode.setAttribute(CE,""),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=PF(t.characterMapping,e,0);return new ai(t.lineNumber,i)}getLineNumberFromChildDomNode(e){var t;return((t=this._getRenderedStickyLineFromChildDomNode(e))==null?void 0:t.lineNumber)??null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return t===null||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,oS);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,SE)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,CE)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class zU{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 VU{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=Cn.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 yN{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 _t{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 ft),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,li)],sx);class wN extends _t{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 wN{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 yN(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 VR){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,li)],ox);class SN extends wN{constructor(e){super(e),this._foldingLimitReporter=new WR(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new yN(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 SN{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new ak(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};rx=sw([jp(1,Es)],rx);let ax=class extends SN{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 lk(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,li)],ax);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)}};class $U{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let lx=class extends _t{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new Gi),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new ft),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 $U(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=jU([xE(1,li),xE(2,Es)],lx);var UU=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)}},cx,fu;let El=(fu=class extends _t{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 ft,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 BU(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(wd(d),f)})),this._stickyScrollFocusedContextKey=B.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=B.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 ft,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 ft),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 ai(this._endLineNumbers[u],1);this._revealLineInCenterIfOutsideViewport(f);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(s.target)){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);this._toggleFoldingRegionForLine(u);return}if(!this._stickyScrollWidget.isInStickyLine(s.target))return;let d=this._stickyScrollWidget.getEditorPositionFromNode(s.target);if(!d){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);if(u===null)return;d=new ai(u,1)}this._revealPosition(d)})),this._register(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 ai(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(SR,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new MF(e,t);this._contextMenuService.showContextMenu({menuId:$t.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;sk(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,M=this._editor.getBottomForLineNumber(p)-i;if(y>D&&y<=M){s.push(g),r.push(p+1),n=M-x;break}else x>k&&x<=M&&(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=fu,fu.ID="store.contrib.stickyScrollController",fu);El=cx=UU([fh(1,Vf),fh(2,li),fh(3,Bi),fh(4,Es),fh(5,cr),fh(6,yn)],El);class qU extends bo{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...ii("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:C({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:ii("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:HU.View,toggled:{condition:Re.equals("config.editor.stickyScroll.enabled",!0),title:C("stickyScroll","Sticky Scroll"),mnemonicTitle:C({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:$t.CommandPalette},{id:$t.MenubarAppearanceMenu,group:"4_editor",order:3},{id:$t.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 GU extends da{constructor(){super({id:"editor.action.focusStickyScroll",title:{...ii("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:C({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:Re.and(Re.has("config.editor.stickyScroll.enabled"),B.stickyScrollVisible),menu:[{id:$t.CommandPalette}]})}runEditorCommand(e,t){var i;(i=El.get(t))==null||i.focus()}}class KU extends da{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:ii("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:B.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:18}})}runEditorCommand(e,t){var i;(i=El.get(t))==null||i.focusNext()}}class ZU extends da{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:ii("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:B.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:16}})}runEditorCommand(e,t){var i;(i=El.get(t))==null||i.focusPrevious()}}class XU extends da{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:ii("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:B.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:3}})}runEditorCommand(e,t){var i;(i=El.get(t))==null||i.goToFocused()}}class YU extends da{constructor(){super({id:"editor.action.selectEditor",title:ii("selectEditor.title","Select Editor"),precondition:B.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(qU);Dn(GU);Dn(ZU);Dn(KU);Dn(XU);Dn(YU);var CN=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 QU{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 RF{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 QU(d,u,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(Ki.None)}return e}};dx=CN([Hg(5,ew)],dx);let ux=class extends _t{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 cE(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=y,this._lastResult.acquire(),g=this._lastResult}else{const y=await ck(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 cE(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(Ki.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=CN([Hg(0,li),Hg(1,jf),Hg(2,ew),Hg(3,as)],ux);Uf(ux);class JU extends Ye{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()}`)}}ve(JU);const iy=class iy extends bo{constructor(){super({id:iy.ID,title:ii({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:ii("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=!RL.getTabFocusMode();RL.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 e8=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)}};let fx=class extends _t{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=qt(e,Zt("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 v0(p)).filter(p=>p.keyCode===3)),u=this._register(new xw(this.el,NF.Tap)).event;this._register(OD.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=e8([kE(3,g_),kE(4,ha)],fx);var xN=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},kN=function(o,e){return function(t,i){e(t,i,o)}};const t8=26;let gx=class extends _t{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,t8)}};gx=xN([kN(1,Bi)],gx);let px=class extends _t{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(qf,{}),this.element=Zt("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=Zt("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=qt(this.element,Zt("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(Zt(`div${Cn.asCSSSelector(e.icon)}`));const n=qt(this.element,Zt("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=qt(this.element,Zt("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=qt(this.element,Zt("div.action-container"));this.actionBar=this._register(new dp(s)),this.actionBar.push(this._register(new vf("banner.close","Close Banner",Cn.asClassName(sT),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};px=xN([kN(0,Bi)],px);var Ck=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 i8=is("extensions-warning-message",Pi.warning,C("warningIcon","Icon shown with a warning message in the extensions editor."));var df;let $p=(df=class extends _t{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 Au};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:i8,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=n8(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"?AF:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new _x(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new s8(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},df.ID="editor.contrib.unicodeHighlighter",df);$p=Ck([qh(1,Rl),qh(2,OF),qh(3,Bi)],$p);function n8(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 _t{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(!KT(t,e))return null;const i=t.getValueInRange(e.range);return{reason:IN(i,this._options),inComment:XT(t,e),inString:ZT(t,e)}}};_x=Ck([qh(3,Rl)],_x);class s8 extends _t{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=YT.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 KT(t,e)?{reason:IN(i,this._options),inComment:XT(t,e),inString:ZT(t,e)}:null}}const LN=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:{yT(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 eo("",!0).appendMarkdown(w).appendText(" ").appendLink(k,x,LN);s.push(new Er(this,d.range,[D],!1,a++))}return s}renderHoverParts(e,t){return RB(e,t,this._editor,this._languageService,this._openerService)}};mx=Ck([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 QT.isInvisibleCharacter(o)||(e+=` "${`${o8(o)}`}"`),e}function o8(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function IN(o,e){return YT.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 r8 extends Ye{constructor(){super({id:Au.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 a8 extends Ye{constructor(){super({id:Au.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 Ye{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 Au=sy;const oy=class oy extends Ye{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 Ye{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 Ye{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 QT.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()=>{c8(f,[y])}});if(p.push({label:g(n),run:()=>l8(f,[n])}),a){const y=new r8;p.push({label:y.label,run:async()=>y.runAction(f)})}else if(r){const y=new a8;p.push({label:y.label,run:async()=>y.runAction(f)})}if(s.kind===0){const y=new Au;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 d8(s);const w=await u.pick(p,{title:LN});w&&await w.run()}};ay.ID="editor.action.unicodeHighlight.showExcludeOptions";let lb=ay;async function l8(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 c8(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 d8(o){throw new Error(`Unexpected value: ${o}`)}ve(Au);ve(Up);ve(qp);ve(lb);Yi($p.ID,$p,1);$u.register(mx);var u8=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},LE=function(o,e){return function(t,i){e(t,i,o)}};const EN="ignoreUnusualLineTerminators";function h8(o,e,t){o.setModelProperty(e.uri,EN,t)}function f8(o,e){return o.getModelProperty(e.uri,EN)}var uf;let cb=(uf=class extends _t{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()||f8(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){h8(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},uf.ID="editor.contrib.unusualLineTerminatorsDetector",uf);cb=u8([LE(1,y0),LE(2,as)],cb);Yi(cb.ID,cb,1);var g8=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},p8=function(o,e){return function(t,i){e(t,i,o)}};class IE{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,NL,!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,NL,!1).map(f=>({range:f.range,kind:av.Text}));u&&s.set(a.uri,u)}return s}}let bx=class extends _t{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new IE)),this._register(e.multiDocumentHighlightProvider.register("*",new IE))}};bx=g8([p8(0,li)],bx);var DN=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 xk=new fn("hasWordHighlights",!1);function TN(o,e,t,i){const n=o.ordered(e);return g0(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 _8(o,e,t,i,n,s){const r=o.ordered(e);return g0(r.map(a=>()=>{const d=s.filter(u=>HF(u)).filter(u=>WF(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 PN{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 m8 extends PN{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return TN(this._providers,e,t.getPosition(),n).then(s=>s||new Dc)}}class v8 extends PN{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return _8(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new Dc)}}function b8(o,e,t,i,n){return new m8(e,t,n,o)}function y8(o,e,t,i,n,s){return new v8(e,t,n,o,s)}wo("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(li),n=await TN(i.documentHighlightProvider,e,t,Ki.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 ft,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=xk.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=>{FF(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(!JT(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?y8(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):b8(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:l$(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=DN([Km(4,as)],wx);var gu;let Fc=(gu=class extends _t{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=gu,gu.ID="editor.contrib.wordHighlighter",gu);Fc=yx=DN([Km(1,yn),Km(2,li),Km(3,as)],Fc);class MN extends Ye{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Fc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class w8 extends MN{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:xk,kbOpts:{kbExpr:B.editorTextFocus,primary:65,weight:100}})}}class S8 extends MN{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:xk,kbOpts:{kbExpr:B.editorTextFocus,primary:1089,weight:100}})}}class C8 extends Ye{constructor(){super({id:"editor.action.wordHighlight.trigger",label:C("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:B.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=Fc.get(t);n&&n.restoreViewState(!0)}}Yi(Fc.ID,Fc,0);ve(w8);ve(S8);ve(C8);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=zu(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,d=r.map(u=>{const f=new ai(u.positionLineNumber,u.positionColumn),g=this._move(n,s,f,this._wordNavigationType,a);return this._moveTo(u,g,this._inSelectionMode)});if(s.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,d.map(u=>BF.fromModelSelection(u))),d.length===1){const u=new ai(d[0].positionLineNumber,d[0].positionColumn);t.revealPosition(u,0)}}_moveTo(e,t,i){return i?new xi(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new xi(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 x8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class k8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class L8 extends zc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:Re.and(B.textInputFocus,(e=Re.and(Dy,Ty))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class I8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class E8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class D8 extends zc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:Re.and(B.textInputFocus,(e=Re.and(Dy,Ty))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class T8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(zu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class P8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(zu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class M8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class R8 extends Vc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:Re.and(B.textInputFocus,(e=Re.and(Dy,Ty))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class N8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class A8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class O8 extends Vc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:Re.and(B.textInputFocus,(e=Re.and(Dy,Ty))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class F8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class H8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(zu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class W8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(zu(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=zu(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 kk extends aw{_delete(e,t){const i=b_.deleteWordLeft(e,t);return i||new X(1,1,1,1)}}class Lk 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 B8 extends kk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:B.writable})}}class z8 extends kk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:B.writable})}}class V8 extends kk{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:B.writable,kbOpts:{kbExpr:B.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class j8 extends Lk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:B.writable})}}class $8 extends Lk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:B.writable})}}class U8 extends Lk{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:B.writable,kbOpts:{kbExpr:B.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class q8 extends Ye{constructor(){super({id:"deleteInsideWord",precondition:B.writable,label:C("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=zu(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()}}ui(new x8);ui(new k8);ui(new L8);ui(new I8);ui(new E8);ui(new D8);ui(new M8);ui(new R8);ui(new N8);ui(new A8);ui(new O8);ui(new F8);ui(new T8);ui(new P8);ui(new H8);ui(new W8);ui(new B8);ui(new z8);ui(new V8);ui(new j8);ui(new $8);ui(new U8);ve(q8);class G8 extends aw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:B.writable,kbOpts:{kbExpr:B.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 K8 extends aw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:B.writable,kbOpts:{kbExpr:B.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 RN extends rw{_move(e,t,i,n,s){return My.moveWordPartLeft(e,t,i,s)}}class Z8 extends RN{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:B.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}Hn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class X8 extends RN{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:B.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}Hn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class NN extends rw{_move(e,t,i,n,s){return My.moveWordPartRight(e,t,i)}}class Y8 extends NN{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:B.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class Q8 extends NN{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:B.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}ui(new G8);ui(new K8);ui(new Z8);ui(new X8);ui(new Y8);ui(new Q8);const Vk=class Vk extends _t{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 eo(C("editor.simple.readonly","Cannot edit in read-only input")):t=new eo(C("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};Vk.ID="editor.contrib.readOnlyMessageController";let db=Vk;Yi(db.ID,db,2);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)}};let Sx=class extends _t{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=$o(this,void 0);const n=Sd("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=Sd("_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 jF),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(VF(p_(s=>s.range.endLineNumber-s.range.startLineNumber,Sy))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};Sx=J8([EE(1,li),EE(2,M_)],Sx);zF.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(Sx,o));const jk=class jk extends _t{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)}};jk.ID="editor.contrib.iPadShowKeyboard";let ub=jk;const ly=class ly extends _t{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 e7=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)}},xx,pu;let Gp=(pu=class extends _t{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=pu,pu.ID="editor.contrib.inspectTokens",pu);Gp=xx=e7([DE(1,eP),DE(2,ga)],Gp);class t7 extends Ye{constructor(){super({id:"editor.action.inspectTokens",label:GF.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=Gp.get(t);i==null||i.launch()}}function i7(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 n7(o,e){const t=xy.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>$F,tokenize:(n,s,r)=>qF(e,r),tokenizeEncoded:(n,s,r)=>UF(i,r)}}const cy=class cy extends _t{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=n7(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,Zt("h2.tm-token",void 0,i7(r),Zt("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),qt(this._domNode,Zt("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;qt(this._domNode,Zt("table.tm-metadata-table",void 0,Zt("tbody",void 0,Zt("tr",void 0,Zt("td.tm-metadata-key",void 0,"language"),Zt("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),Zt("tr",void 0,Zt("td.tm-metadata-key",void 0,"token type"),Zt("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),Zt("tr",void 0,Zt("td.tm-metadata-key",void 0,"font style"),Zt("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),Zt("tr",void 0,Zt("td.tm-metadata-key",void 0,"foreground"),Zt("td.tm-metadata-value",void 0,`${a?on.Format.CSS.formatHex(a.foreground):"-?-"}`)),Zt("tr",void 0,Zt("td.tm-metadata-key",void 0,"background"),Zt("td.tm-metadata-value",void 0,`${a?on.Format.CSS.formatHex(a.background):"-?-"}`))))),qt(this._domNode,Zt("hr.tokens-inspect-separator")),i<t.tokens1.length&&qt(this._domNode,Zt("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);ve(t7);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},TE=function(o,e){return function(t,i){e(t,i,o)}},Wg,_u;let Lx=(_u=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=ua.as(y_.Quickaccess)}provide(e){const t=new ft;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=_u,_u.PREFIX="?",_u);Lx=Wg=s7([TE(0,Tl),TE(1,hs)],Lx);ua.as(y_.Quickaccess).registerQuickAccessProvider({ctor:Lx,prefix:"",helpEntries:[{description:KF.helpQuickAccessActionLabel}]});class AN{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new ft;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 ft,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=tP(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(iP(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 JT(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(aT),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 AN{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,_t.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new ft;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=tP(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 o7=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},r7=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=o7([r7(0,as)],Kp);var mu;let ON=(mu=class extends Ye{constructor(){super({id:mu.ID,label:nP.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:B.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Tl).quickAccess.show(Kp.PREFIX)}},mu.ID="editor.action.gotoLine",mu);ve(ON);ua.as(y_.Quickaccess).registerQuickAccessProvider({ctor:Kp,prefix:Kp.PREFIX,helpEntries:[{description:nP.gotoLineActionLabel,commandId:ON.ID}]});const FN=[void 0,[]];function aS(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?a7(o,n.values,t,i):HN(o,e,t,i)}function a7(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,d]=HN(o,r,t,i);if(typeof a!="number")return FN;n+=a,s.push(...d)}return[n,l7(s)]}function HN(o,e,t,i){const n=LT(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],Cy(n)]:FN}function l7(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!c7(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 c7(o,e){return!(o.end<e.start||e.end<o.start)}function PE(o){return o.startsWith('"')&&o.endsWith('"')}const WN=" ";function Ex(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=ME(o),s=t.indexOf(MS)>=0,r=PE(o);let a;const d=o.split(WN);if(d.length>1)for(const u of d){const f=PE(u),{pathNormalized:g,normalized:p,normalizedLowercase:w}=ME(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 ME(o){let e;gy?e=o.replace(/\//g,MS):e=o.replace(/\\/g,MS);const t=ZF(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function RE(o){return Array.isArray(o)?Ex(o.map(e=>e.original).join(WN)):Ex(o.original)}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},NE=function(o,e){return function(t,i){e(t,i,o)}},Zm,sa;let Td=(sa=class extends AN{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.")),_t.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):_t.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new ft;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 ft;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=JF(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=RE(t.values[0]),f=RE(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"?Cn.asClassName(Pi.splitHorizontal):Cn.asClassName(Pi.splitVertical),tooltip:p==="right"?C("openToSide","Open to the Side"):C("openToBottom","Open to the Bottom")}]);const w=[];for(let M=0;M<r.length;M++){const O=r[M],K=XF(O.name),V=`$(${YF.toIcon(O.kind).id}) ${K}`,se=V.length-K.length;let ie=O.containerName;i!=null&&i.extraContainerLabel&&(ie?ie=`${i.extraContainerLabel} • ${ie}`:ie=i.extraContainerLabel);let we,Se,Ge,He;if(t.original.length>d){let bt=!1;if(u!==t&&([we,Se]=aS(V,{...t,values:void 0},d,se),typeof we=="number"&&(bt=!0)),typeof we!="number"&&([we,Se]=aS(V,u,d,se),typeof we!="number"))continue;if(!bt&&f){if(ie&&f.original.length>0&&([Ge,He]=aS(ie,f)),typeof Ge!="number")continue;typeof we=="number"&&(we+=Ge)}}const st=O.tags&&O.tags.indexOf(1)>=0;w.push({index:M,kind:O.kind,score:we,label:V,ariaLabel:QF(O.name,O.kind),description:ie,highlights:st?void 0:{label:Se,description:He},range:{selection:X.collapseToStart(O.selectionRange),decoration:O.range},uri:s.uri,symbolName:K,strikethrough:st,buttons:g})}const y=w.sort((M,O)=>a?this.compareByKindAndScore(M,O):this.compareByScore(M,O));let x=[];if(a){let V=function(){O&&typeof M=="number"&&K>0&&(O.label=c0(cS[M]||lS,K))},M,O,K=0;for(const se of y)M!==se.kind?(V(),M=se.kind,K=1,O={type:"separator"},x.push(O)):K++,x.push(se);V()}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);Td=Zm=d7([NE(0,li),NE(1,M_)],Td);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 u7=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 Td{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=vs.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Dx=u7([dS(0,as),dS(1,li),dS(2,M_)],Dx);const uy=class uy extends Ye{constructor(){super({id:uy.ID,label:RS.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:B.hasDocumentSymbolProvider,kbOpts:{kbExpr:B.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Tl).quickAccess.show(Td.PREFIX,{itemActivation:e3.NONE})}};uy.ID="editor.action.quickOutline";let hb=uy;ve(hb);ua.as(y_.Quickaccess).registerQuickAccessProvider({ctor:Dx,prefix:Td.PREFIX,helpEntries:[{description:RS.quickOutlineActionLabel,prefix:Td.PREFIX,commandId:hb.ID},{description:RS.quickOutlineByCategoryActionLabel,prefix:Td.PREFIX_BY_CATEGORY}]});function h7(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 h7(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 f7(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 AE(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class g7 extends _t{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var u;const n=new ft;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 ft;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,M)=>{var V;let O,K;if(uS(D)?(O=D.items,K=D.active):O=D,O.length===0){if(M)return!1;(p.length>0||e.hideInput)&&((V=this.options)!=null&&V.noResultsPick)&&(t3(this.options.noResultsPick)?O=[this.options.noResultsPick(p)]:O=[this.options.noResultsPick])}return e.items=O,K&&(e.activeItems=[K]),!0},x=async D=>{let M=!1,O=!1;await Promise.all([(async()=>{typeof D.mergeDelay=="number"&&(await Iy(D.mergeDelay),g.isCancellationRequested)||O||(M=y(D.picks,!0))})(),(async()=>{e.busy=!0;try{const K=await D.additionalPicks;if(g.isCancellationRequested)return;let V,se;uS(D.picks)?(V=D.picks.items,se=D.picks.active):V=D.picks;let ie,we;if(uS(K)?(ie=K.items,we=K.active):ie=K,ie.length>0||!M){let Se;if(!se&&!we){const Ge=e.activeItems[0];Ge&&V.indexOf(Ge)!==-1&&(Se=Ge)}y({items:[...V,...ie],active:se||we||Se})}}finally{g.isCancellationRequested||(e.busy=!1),O=!0}})()])};if(w!==null)if(AE(w))await x(w);else if(!(w instanceof Promise))y(w);else{e.busy=!0;try{const D=await w;if(g.isCancellationRequested)return;AE(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(),M=D.splice(k,1),O=e.activeItems.filter(V=>V!==M[0]),K=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=D,O&&(e.activeItems=O),e.keepScrollPosition=K}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 BN=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)}},nd,cs,Na;let Tx=(Na=class extends g7{constructor(e,t,i,n,s,r){super(nd.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=iP(()=>{const x=new sp;x.updateDocuments(s.map(D=>({key:D.commandId,textChunks:[this.getTfIdfChunk(D)]})));const k=x.calculateScores(e,i);return f7(k).filter(D=>D.score>nd.TFIDF_THRESHOLD).slice(0,nd.TFIDF_MAX_RESULTS)}),a=[];for(const x of s){const k=nd.WORD_FILTER(e,x.label)??void 0,D=x.commandAlias?nd.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 M=r();if(i.isCancellationRequested)return[];const O=M.find(K=>K.key===x.commandId);O&&(x.tfIdfScore=O.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),M=this.commandsHistory.peek(k.commandId);if(D&&M)return D>M?-1:1;if(D)return-1;if(M)return 1;if(this.options.suggestedCommandIds){const O=this.options.suggestedCommandIds.has(x.commandId),K=this.options.suggestedCommandIds.has(k.commandId);if(O&&K)return 0;if(O)return-1;if(K)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(M=>this.toCommandPick(M,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}},nd=Na,Na.PREFIX=">",Na.TFIDF_THRESHOLD=.5,Na.TFIDF_MAX_RESULTS=5,Na.WORD_FILTER=i3(o3,s3,n3),Na);Tx=nd=BN([Ql(1,Bi),Ql(2,hs),Ql(3,Is),Ql(4,fa),Ql(5,y0)],Tx);var oa;let Px=(oa=class extends _t{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===t0.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=BN([Ql(0,Wc),Ql(1,Un),Ql(2,Bu)],Px);class p7 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&&(r3(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:a3(n.label)||n.id})}return t}}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 Zp=class extends p7{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=_7([gh(0,Bi),gh(1,as),gh(2,hs),gh(3,Is),gh(4,fa),gh(5,y0)],Zp);const hy=class hy extends Ye{constructor(){super({id:hy.ID,label:sP.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:B.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;ve(fb);ua.as(y_.Quickaccess).registerQuickAccessProvider({ctor:Zp,prefix:Zp.PREFIX,helpEntries:[{description:sP.quickCommandHelp,commandId:fb.ID}]});var m7=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)}};let Mx=class extends Pu{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};Mx=m7([ph(1,yn),ph(2,as),ph(3,lo),ph(4,Bi),ph(5,Wc),ph(6,Un)],Mx);Yi(Pu.ID,Mx,4);class v7 extends Ye{constructor(){super({id:"editor.action.toggleHighContrast",label:l3.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(eP),n=i.getColorTheme();up(n.type)?(i.setTheme(this._originalThemeName||(AL(n.type)?c3:d3)),this._originalThemeName=null):(i.setTheme(AL(n.type)?u3:h3),this._originalThemeName=n.themeName)}}ve(v7);let Rx=null;function b7(o){Rx=o}function y7(o={}){return{"Content-Type":"application/json",...o}}async function Ht(o,e,t){const i=await fetch(e,{method:o,headers:y7(),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 w7(){return await(await fetch("/she/auth/mode")).json()}async function S7(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 C7(){await fetch("/she/auth/logout",{method:"POST"})}async function x7(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 k7(){return Ht("GET","/she/scripts/tree")}function hS(o){return Ht("GET",`/she/scripts/${o}`)}function Qc(o,e){return Ht("PUT",`/she/scripts/${o}`,{content:e})}function wm(o){return Ht("DELETE",`/she/scripts/${o}`)}function OE(o,e){return Ht("POST",`/she/scripts/${o}/rename`,{newPath:e})}function L7(o){return Ht("POST","/she/scripts/mkdir",{path:o})}function I7(){return Ht("GET","/she/git/status")}function Bg(){return Ht("GET","/she/status")}function zN(){return Ht("POST","/she/restart")}function E7(){return Ht("POST","/she/update")}function D7(){return Ht("POST","/she/check-update")}function T7(o,e){return Ht("POST","/she/git/commit",{path:o,message:e})}function FE(o,e){return Ht("POST","/she/git/commit",{files:o,message:e})}function HE(o){return Ht("POST","/she/git/commit",{message:o})}function Sm(o){return Ht("POST","/she/git/push",{remote:o})}function P7(o,e){return Ht("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function M7(o,e){return Ht("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function Dl(){return Ht("GET","/she/config")}function Xp(o){return Ht("PUT","/she/config",o)}function VN(){return Ht("GET","/she/db/docs")}function R7(o){return Ht("GET",`/she/db/docs/${o}`)}function WE(o,e){return Ht("PUT",`/she/db/docs/${o}`,e)}function N7(o){return Ht("DELETE",`/she/db/docs/${o}`)}function jN(){return Ht("GET","/she/db/views")}function A7(o){return Ht("GET",`/she/db/views/${o}`)}function BE(o,e){return Ht("PUT",`/she/db/views/${o}`,e)}function O7(o){return Ht("DELETE",`/she/db/views/${o}`)}function F7(){return Ht("GET","/she/deps")}function H7(o){return Ht("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function W7(o,e){return Ht("POST","/she/deps/install",{name:o,version:null})}function B7(o){return Ht("POST","/she/deps/remove",{name:o})}function z7(o){return Ht("POST","/she/deps/update",{name:o})}function $N(){return Ht("GET","/she/deps/outdated")}function V7(){return Ht("POST","/she/deps/check-outdated")}function j7(){return Ht("GET","/she/ai/conversations")}function zE(o){return Ht("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function $7(o,e,t){return Ht("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function U7(o){return Ht("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function fS(o){return Ht("GET",`/she/db/views/${o}/result`)}function UN(){return Ht("GET","/she/matter/devices")}function Xm(o){return Ht("GET",`/she/matter/devices/${o}`)}function q7(o){return Ht("POST","/she/matter/commission",o)}function G7(o){return Ht("DELETE",`/she/matter/devices/${o}`)}function K7(o,e,t,i,n){return Ht("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function qN(){return Ht("GET","/she/mqtt/state")}function VE(o,e,t=!1,i=0){return Ht("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function GN(){return Ht("GET","/she/ai/config")}function KN(){return Ht("GET","/she/ai/models")}function Nx(o){return Ht("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function ZN(o){return Ht("POST","/she/ai/prompt",o)}async function XN(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 Ht("GET","/she/broker/status")}function Z7(){return Ht("GET","/she/broker/config")}function X7(o){return Ht("PUT","/she/broker/config",o)}function Y7(){return Ht("POST","/she/broker/reload")}function Q7(){return Ht("POST","/she/broker/restart")}function J7(){return Ht("POST","/she/broker/wizard/deactivate")}function eq(){return Ht("POST","/she/broker/wizard/reinit")}function tq(){return Ht("GET","/she/broker/wizard/diagnose")}function Ik(){return Ht("GET","/she/broker/users")}function Ax(o,e){return Ht("POST","/she/broker/users",{username:o,password:e})}function iq(o){return Ht("DELETE",`/she/broker/users/${encodeURIComponent(o)}`)}function nq(o,e){return Ht("PUT",`/she/broker/users/${encodeURIComponent(o)}/password`,{password:e})}function sq(o,e){return Ht("POST",`/she/broker/users/${encodeURIComponent(o)}/roles`,{rolename:e})}function oq(o,e){return Ht("DELETE",`/she/broker/users/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function YN(){return Ht("GET","/she/broker/roles")}function rq(o){return Ht("POST","/she/broker/roles",{rolename:o})}function aq(o){return Ht("DELETE",`/she/broker/roles/${encodeURIComponent(o)}`)}function lq(o,e){return Ht("POST",`/she/broker/roles/${encodeURIComponent(o)}/acls`,e)}function cq(o,e,t){return Ht("DELETE",`/she/broker/roles/${encodeURIComponent(o)}/acls`,{acltype:e,topic:t})}function QN(){return Ht("GET","/she/broker/groups")}function dq(o){return Ht("POST","/she/broker/groups",{groupname:o})}function uq(o){return Ht("DELETE",`/she/broker/groups/${encodeURIComponent(o)}`)}function hq(o,e){return Ht("POST",`/she/broker/groups/${encodeURIComponent(o)}/clients`,{username:e})}function fq(o,e){return Ht("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/clients/${encodeURIComponent(e)}`)}function gq(o,e){return Ht("POST",`/she/broker/groups/${encodeURIComponent(o)}/roles`,{rolename:e})}function pq(o,e){return Ht("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function JN(){return Ht("GET","/she/broker/acl-defaults")}function _q(o){return Ht("PUT","/she/broker/acl-defaults",{acls:o})}function mq(){return Ht("GET","/she/broker/anonymous-group")}function vq(o){return Ht("PUT","/she/broker/anonymous-group",{groupname:o})}function jE(o){return Ht("POST","/she/broker/ca/import",o)}function bq(){return Ht("GET","/she/broker/ca")}function yq(o){return Ht("POST","/she/broker/ca/generate",o??{})}function wq(){return Ht("GET","/she/broker/ca/server")}function Sq(o){return Ht("POST","/she/broker/ca/server/generate",o)}function Cq(){return Ht("GET","/she/broker/ca/certs")}function xq(o){return Ht("POST","/she/broker/ca/certs",o)}function kq(o){return Ht("DELETE",`/she/broker/ca/certs/${encodeURIComponent(o)}`)}function Jc(o,e){return`/she/broker/ca/certs/${encodeURIComponent(o)}/download?type=${e}`}function Lq(){return Ht("GET","/she/broker/ca/trusted")}function Iq(o){return Ht("POST","/she/broker/ca/trusted",{pem:o})}function Eq(o){return Ht("DELETE",`/she/broker/ca/trusted/${encodeURIComponent(o)}`)}const Dq=2e3,Ym=[];function eA(){return Ym.slice()}let lc=null;const gb=new Set,Oh=new Map;let Ox=null;function Yp(){let o=gb.size;for(const e of Oh.values())o+=e.size;return o}function Tq(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function Ek(){if(lc)return;const o=Tq(),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>=Dq&&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&&(Ox=setTimeout(Ek,3e3))},e.onerror=()=>{e.close()}}function tA(){Ox&&clearTimeout(Ox),lc==null||lc.close(),lc=null}function Dk(o){return gb.add(o),Yp()===1&&Ek(),()=>{gb.delete(o),Yp()===0&&tA()}}function Pr(o,e){return Oh.has(o)||Oh.set(o,new Set),Oh.get(o).add(e),Yp()===1&&Ek(),()=>{var t;(t=Oh.get(o))==null||t.delete(e),Yp()===0&&tA()}}var Pq=T('<button class="cancel svelte-1eh8v5n">Cancel</button>'),Mq=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 Ku(o,e){Fs(e,!0);let t=P(!1),i=P(""),n=P("Confirm"),s=P(!1),r=P(!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",kd,f);var w=mt(p);{var y=x=>{var k=Mq(),D=mt(k),M=m(D,2),O=v(M),K=v(O),V=m(O,2),se=v(V);{var ie=He=>{var st=Pq();U("click",st,()=>u(!1)),I(He,st)};F(se,He=>{c(r)||He(ie)})}var we=m(se,2);let Se;var Ge=v(we);z(()=>{A(K,c(i)),Se=Dt(we,1,"svelte-1eh8v5n",null,Se,{danger:c(s)}),A(Ge,c(n))}),U("click",D,()=>u(!1)),U("click",we,()=>u(!0)),I(x,k)};F(w,x=>{c(t)&&x(y)})}return I(o,p),Hs(g)}Js(["click"]);var Rq=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 Nq(o,e){Fs(e,!0);let t=P(!1),i=P(""),n=P(""),s=P("OK"),r=P(""),a=null,d=P(void 0);function u(D,M){return b(i,D,!0),b(n,(M==null?void 0:M.placeholder)??"",!0),b(s,(M==null?void 0:M.confirm)??"OK",!0),b(r,(M==null?void 0:M.initial)??"",!0),b(t,!0),setTimeout(()=>{if(c(d)){c(d).focus();const O=c(d).value.length;c(d).setSelectionRange(O,O)}},0),new Promise(O=>a=O)}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",kd,p);var x=mt(y);{var k=D=>{var M=Rq(),O=mt(M),K=m(O,2),V=v(K),se=v(V),ie=m(V,2);ks(ie,st=>b(d,st),()=>c(d));var we=m(ie,2),Se=v(we),Ge=m(Se,2),He=v(Ge);z(st=>{A(se,c(i)),Ri(ie,"placeholder",c(n)),Ge.disabled=st,A(He,c(s))},[()=>!c(r).trim()]),U("click",O,g),U("keydown",ie,st=>{st.key==="Enter"&&(st.preventDefault(),f())}),Kt(ie,()=>c(r),st=>b(r,st)),U("click",Se,g),U("click",Ge,f),I(D,M)};F(x,D=>{c(t)&&D(k)})}return I(o,y),Hs(w)}Js(["click","keydown"]);function iA(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var gS,$E;function Aq(){if($E)return gS;$E=1;function o(j){return j instanceof Map?j.clear=j.delete=j.set=function(){throw new Error("map is read-only")}:j instanceof Set&&(j.add=j.clear=j.delete=function(){throw new Error("set is read-only")}),Object.freeze(j),Object.getOwnPropertyNames(j).forEach(le=>{const Me=j[le],rt=typeof Me;(rt==="object"||rt==="function")&&!Object.isFrozen(Me)&&o(Me)}),j}class e{constructor(le){le.data===void 0&&(le.data={}),this.data=le.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(j){return j.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function i(j,...le){const Me=Object.create(null);for(const rt in j)Me[rt]=j[rt];return le.forEach(function(rt){for(const vt in rt)Me[vt]=rt[vt]}),Me}const n="</span>",s=j=>!!j.scope,r=(j,{prefix:le})=>{if(j.startsWith("language:"))return j.replace("language:","language-");if(j.includes(".")){const Me=j.split(".");return[`${le}${Me.shift()}`,...Me.map((rt,vt)=>`${rt}${"_".repeat(vt+1)}`)].join(" ")}return`${le}${j}`};class a{constructor(le,Me){this.buffer="",this.classPrefix=Me.classPrefix,le.walk(this)}addText(le){this.buffer+=t(le)}openNode(le){if(!s(le))return;const Me=r(le.scope,{prefix:this.classPrefix});this.span(Me)}closeNode(le){s(le)&&(this.buffer+=n)}value(){return this.buffer}span(le){this.buffer+=`<span class="${le}">`}}const d=(j={})=>{const le={children:[]};return Object.assign(le,j),le};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(le){this.top.children.push(le)}openNode(le){const Me=d({scope:le});this.add(Me),this.stack.push(Me)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(le){return this.constructor._walk(le,this.rootNode)}static _walk(le,Me){return typeof Me=="string"?le.addText(Me):Me.children&&(le.openNode(Me),Me.children.forEach(rt=>this._walk(le,rt)),le.closeNode(Me)),le}static _collapse(le){typeof le!="string"&&le.children&&(le.children.every(Me=>typeof Me=="string")?le.children=[le.children.join("")]:le.children.forEach(Me=>{u._collapse(Me)}))}}class f extends u{constructor(le){super(),this.options=le}addText(le){le!==""&&this.add(le)}startScope(le){this.openNode(le)}endScope(){this.closeNode()}__addSublanguage(le,Me){const rt=le.root;Me&&(rt.scope=`language:${Me}`),this.add(rt)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function g(j){return j?typeof j=="string"?j:j.source:null}function p(j){return x("(?=",j,")")}function w(j){return x("(?:",j,")*")}function y(j){return x("(?:",j,")?")}function x(...j){return j.map(Me=>g(Me)).join("")}function k(j){const le=j[j.length-1];return typeof le=="object"&&le.constructor===Object?(j.splice(j.length-1,1),le):{}}function D(...j){return"("+(k(j).capture?"":"?:")+j.map(rt=>g(rt)).join("|")+")"}function M(j){return new RegExp(j.toString()+"|").exec("").length-1}function O(j,le){const Me=j&&j.exec(le);return Me&&Me.index===0}const K=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function V(j,{joinWith:le}){let Me=0;return j.map(rt=>{Me+=1;const vt=Me;let J=g(rt),he="";for(;J.length>0;){const Ee=K.exec(J);if(!Ee){he+=J;break}he+=J.substring(0,Ee.index),J=J.substring(Ee.index+Ee[0].length),Ee[0][0]==="\\"&&Ee[1]?he+="\\"+String(Number(Ee[1])+vt):(he+=Ee[0],Ee[0]==="("&&Me++)}return he}).map(rt=>`(${rt})`).join(le)}const se=/\b\B/,ie="[a-zA-Z]\\w*",we="[a-zA-Z_]\\w*",Se="\\b\\d+(\\.\\d+)?",Ge="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",He="\\b(0b[01]+)",st="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",bt=(j={})=>{const le=/^#![ ]*\//;return j.binary&&(j.begin=x(le,/.*\b/,j.binary,/\b.*/)),i({scope:"meta",begin:le,end:/$/,relevance:0,"on:begin":(Me,rt)=>{Me.index!==0&&rt.ignoreMatch()}},j)},Le={begin:"\\\\[\\s\\S]",relevance:0},wt={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Le]},ct={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Le]},At={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/},We=function(j,le,Me={}){const rt=i({scope:"comment",begin:j,end:le,contains:[]},Me);rt.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 vt=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 rt.contains.push({begin:x(/[ ]+/,"(",vt,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),rt},Nt=We("//","$"),Xe=We("/\\*","\\*/"),pe=We("#","$"),ot={scope:"number",begin:Se,relevance:0},kt={scope:"number",begin:Ge,relevance:0},Jt={scope:"number",begin:He,relevance:0},jt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Le,{begin:/\[/,end:/\]/,relevance:0,contains:[Le]}]},Pt={scope:"title",begin:ie,relevance:0},Lt={scope:"title",begin:we,relevance:0},St={begin:"\\.\\s*"+we,relevance:0};var yi=Object.freeze({__proto__:null,APOS_STRING_MODE:wt,BACKSLASH_ESCAPE:Le,BINARY_NUMBER_MODE:Jt,BINARY_NUMBER_RE:He,COMMENT:We,C_BLOCK_COMMENT_MODE:Xe,C_LINE_COMMENT_MODE:Nt,C_NUMBER_MODE:kt,C_NUMBER_RE:Ge,END_SAME_AS_BEGIN:function(j){return Object.assign(j,{"on:begin":(le,Me)=>{Me.data._beginMatch=le[1]},"on:end":(le,Me)=>{Me.data._beginMatch!==le[1]&&Me.ignoreMatch()}})},HASH_COMMENT_MODE:pe,IDENT_RE:ie,MATCH_NOTHING_RE:se,METHOD_GUARD:St,NUMBER_MODE:ot,NUMBER_RE:Se,PHRASAL_WORDS_MODE:At,QUOTE_STRING_MODE:ct,REGEXP_MODE:jt,RE_STARTERS_RE:st,SHEBANG:bt,TITLE_MODE:Pt,UNDERSCORE_IDENT_RE:we,UNDERSCORE_TITLE_MODE:Lt});function ci(j,le){j.input[j.index-1]==="."&&le.ignoreMatch()}function Si(j,le){j.className!==void 0&&(j.scope=j.className,delete j.className)}function Ni(j,le){le&&j.beginKeywords&&(j.begin="\\b("+j.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",j.__beforeBegin=ci,j.keywords=j.keywords||j.beginKeywords,delete j.beginKeywords,j.relevance===void 0&&(j.relevance=0))}function Hi(j,le){Array.isArray(j.illegal)&&(j.illegal=D(...j.illegal))}function Di(j,le){if(j.match){if(j.begin||j.end)throw new Error("begin & end are not supported with match");j.begin=j.match,delete j.match}}function bi(j,le){j.relevance===void 0&&(j.relevance=1)}const ki=(j,le)=>{if(!j.beforeMatch)return;if(j.starts)throw new Error("beforeMatch cannot be used with starts");const Me=Object.assign({},j);Object.keys(j).forEach(rt=>{delete j[rt]}),j.keywords=Me.keywords,j.begin=x(Me.beforeMatch,p(Me.begin)),j.starts={relevance:0,contains:[Object.assign(Me,{endsParent:!0})]},j.relevance=0,delete Me.beforeMatch},Je=["of","and","for","in","not","or","if","then","parent","list","value"],Ut="keyword";function wi(j,le,Me=Ut){const rt=Object.create(null);return typeof j=="string"?vt(Me,j.split(" ")):Array.isArray(j)?vt(Me,j):Object.keys(j).forEach(function(J){Object.assign(rt,wi(j[J],le,J))}),rt;function vt(J,he){le&&(he=he.map(Ee=>Ee.toLowerCase())),he.forEach(function(Ee){const oe=Ee.split("|");rt[oe[0]]=[J,Fi(oe[0],oe[1])]})}}function Fi(j,le){return le?Number(le):sn(j)?0:1}function sn(j){return Je.includes(j.toLowerCase())}const Mi={},zi=j=>{console.error(j)},Ai=(j,...le)=>{console.log(`WARN: ${j}`,...le)},Qi=(j,le)=>{Mi[`${j}/${le}`]||(console.log(`Deprecated as of ${j}. ${le}`),Mi[`${j}/${le}`]=!0)},Oi=new Error;function Sn(j,le,{key:Me}){let rt=0;const vt=j[Me],J={},he={};for(let Ee=1;Ee<=le.length;Ee++)he[Ee+rt]=vt[Ee],J[Ee+rt]=!0,rt+=M(le[Ee-1]);j[Me]=he,j[Me]._emit=J,j[Me]._multi=!0}function je(j){if(Array.isArray(j.begin)){if(j.skip||j.excludeBegin||j.returnBegin)throw zi("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Oi;if(typeof j.beginScope!="object"||j.beginScope===null)throw zi("beginScope must be object"),Oi;Sn(j,j.begin,{key:"beginScope"}),j.begin=V(j.begin,{joinWith:""})}}function Gt(j){if(Array.isArray(j.end)){if(j.skip||j.excludeEnd||j.returnEnd)throw zi("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Oi;if(typeof j.endScope!="object"||j.endScope===null)throw zi("endScope must be object"),Oi;Sn(j,j.end,{key:"endScope"}),j.end=V(j.end,{joinWith:""})}}function pi(j){j.scope&&typeof j.scope=="object"&&j.scope!==null&&(j.beginScope=j.scope,delete j.scope)}function Ti(j){pi(j),typeof j.beginScope=="string"&&(j.beginScope={_wrap:j.beginScope}),typeof j.endScope=="string"&&(j.endScope={_wrap:j.endScope}),je(j),Gt(j)}function Li(j){function le(he,Ee){return new RegExp(g(he),"m"+(j.case_insensitive?"i":"")+(j.unicodeRegex?"u":"")+(Ee?"g":""))}class Me{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Ee,oe){oe.position=this.position++,this.matchIndexes[this.matchAt]=oe,this.regexes.push([oe,Ee]),this.matchAt+=M(Ee)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Ee=this.regexes.map(oe=>oe[1]);this.matcherRe=le(V(Ee,{joinWith:"|"}),!0),this.lastIndex=0}exec(Ee){this.matcherRe.lastIndex=this.lastIndex;const oe=this.matcherRe.exec(Ee);if(!oe)return null;const Ve=oe.findIndex((De,gt)=>gt>0&&De!==void 0),Pe=this.matchIndexes[Ve];return oe.splice(0,Ve),Object.assign(oe,Pe)}}class rt{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Ee){if(this.multiRegexes[Ee])return this.multiRegexes[Ee];const oe=new Me;return this.rules.slice(Ee).forEach(([Ve,Pe])=>oe.addRule(Ve,Pe)),oe.compile(),this.multiRegexes[Ee]=oe,oe}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Ee,oe){this.rules.push([Ee,oe]),oe.type==="begin"&&this.count++}exec(Ee){const oe=this.getMatcher(this.regexIndex);oe.lastIndex=this.lastIndex;let Ve=oe.exec(Ee);if(this.resumingScanAtSamePosition()&&!(Ve&&Ve.index===this.lastIndex)){const Pe=this.getMatcher(0);Pe.lastIndex=this.lastIndex+1,Ve=Pe.exec(Ee)}return Ve&&(this.regexIndex+=Ve.position+1,this.regexIndex===this.count&&this.considerAll()),Ve}}function vt(he){const Ee=new rt;return he.contains.forEach(oe=>Ee.addRule(oe.begin,{rule:oe,type:"begin"})),he.terminatorEnd&&Ee.addRule(he.terminatorEnd,{type:"end"}),he.illegal&&Ee.addRule(he.illegal,{type:"illegal"}),Ee}function J(he,Ee){const oe=he;if(he.isCompiled)return oe;[Si,Di,Ti,ki].forEach(Pe=>Pe(he,Ee)),j.compilerExtensions.forEach(Pe=>Pe(he,Ee)),he.__beforeBegin=null,[Ni,Hi,bi].forEach(Pe=>Pe(he,Ee)),he.isCompiled=!0;let Ve=null;return typeof he.keywords=="object"&&he.keywords.$pattern&&(he.keywords=Object.assign({},he.keywords),Ve=he.keywords.$pattern,delete he.keywords.$pattern),Ve=Ve||/\w+/,he.keywords&&(he.keywords=wi(he.keywords,j.case_insensitive)),oe.keywordPatternRe=le(Ve,!0),Ee&&(he.begin||(he.begin=/\B|\b/),oe.beginRe=le(oe.begin),!he.end&&!he.endsWithParent&&(he.end=/\B|\b/),he.end&&(oe.endRe=le(oe.end)),oe.terminatorEnd=g(oe.end)||"",he.endsWithParent&&Ee.terminatorEnd&&(oe.terminatorEnd+=(he.end?"|":"")+Ee.terminatorEnd)),he.illegal&&(oe.illegalRe=le(he.illegal)),he.contains||(he.contains=[]),he.contains=[].concat(...he.contains.map(function(Pe){return Ii(Pe==="self"?he:Pe)})),he.contains.forEach(function(Pe){J(Pe,oe)}),he.starts&&J(he.starts,Ee),oe.matcher=vt(oe),oe}if(j.compilerExtensions||(j.compilerExtensions=[]),j.contains&&j.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return j.classNameAliases=i(j.classNameAliases||{}),J(j)}function mn(j){return j?j.endsWithParent||mn(j.starts):!1}function Ii(j){return j.variants&&!j.cachedVariants&&(j.cachedVariants=j.variants.map(function(le){return i(j,{variants:null},le)})),j.cachedVariants?j.cachedVariants:mn(j)?i(j,{starts:j.starts?i(j.starts):null}):Object.isFrozen(j)?i(j):j}var Vi="11.11.1";class Ui extends Error{constructor(le,Me){super(le),this.name="HTMLInjectionError",this.html=Me}}const tt=t,ne=i,Ze=Symbol("nomatch"),Rt=7,Wt=function(j){const le=Object.create(null),Me=Object.create(null),rt=[];let vt=!0;const J="Could not find the language '{}', did you forget to load/include a language module?",he={disableAutodetect:!0,name:"Plain text",contains:[]};let Ee={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function oe(N){return Ee.noHighlightRe.test(N)}function Ve(N){let Z=N.className+" ";Z+=N.parentNode?N.parentNode.className:"";const ce=Ee.languageDetectRe.exec(Z);if(ce){const q=Be(ce[1]);return q||(Ai(J.replace("{}",ce[1])),Ai("Falling back to no-highlight mode for this block.",N)),q?ce[1]:"no-highlight"}return Z.split(/\s+/).find(q=>oe(q)||Be(q))}function Pe(N,Z,ce){let q="",H="";typeof Z=="object"?(q=N,ce=Z.ignoreIllegals,H=Z.language):(Qi("10.7.0","highlight(lang, code, ...args) has been deprecated."),Qi("10.7.0",`Please use highlight(code, options) instead.
|
|
80
|
+
https://github.com/highlightjs/highlight.js/issues/2277`),H=N,q=Z),ce===void 0&&(ce=!0);const G={code:q,language:H};Et("before:highlight",G);const te=G.result?G.result:De(G.language,G.code,ce);return te.code=G.code,Et("after:highlight",te),te}function De(N,Z,ce,q){const H=Object.create(null);function G(Te,Ke){return Te.keywords[Ke]}function te(){if(!$e.keywords){nt.addText(be);return}let Te=0;$e.keywordPatternRe.lastIndex=0;let Ke=$e.keywordPatternRe.exec(be),ut="";for(;Ke;){ut+=be.substring(Te,Ke.index);const ht=ke.case_insensitive?Ke[0].toLowerCase():Ke[0],et=G($e,ht);if(et){const[Qt,oi]=et;if(nt.addText(ut),ut="",H[ht]=(H[ht]||0)+1,H[ht]<=Rt&&(Ae+=oi),Qt.startsWith("_"))ut+=Ke[0];else{const an=ke.classNameAliases[Qt]||Qt;ae(Ke[0],an)}}else ut+=Ke[0];Te=$e.keywordPatternRe.lastIndex,Ke=$e.keywordPatternRe.exec(be)}ut+=be.substring(Te),nt.addText(ut)}function ye(){if(be==="")return;let Te=null;if(typeof $e.subLanguage=="string"){if(!le[$e.subLanguage]){nt.addText(be);return}Te=De($e.subLanguage,be,!0,xt[$e.subLanguage]),xt[$e.subLanguage]=Te._top}else Te=Bt(be,$e.subLanguage.length?$e.subLanguage:null);$e.relevance>0&&(Ae+=Te.relevance),nt.__addSublanguage(Te._emitter,Te.language)}function Q(){$e.subLanguage!=null?ye():te(),be=""}function ae(Te,Ke){Te!==""&&(nt.startScope(Ke),nt.addText(Te),nt.endScope())}function Oe(Te,Ke){let ut=1;const ht=Ke.length-1;for(;ut<=ht;){if(!Te._emit[ut]){ut++;continue}const et=ke.classNameAliases[Te[ut]]||Te[ut],Qt=Ke[ut];et?ae(Qt,et):(be=Qt,te(),be=""),ut++}}function de(Te,Ke){return Te.scope&&typeof Te.scope=="string"&&nt.openNode(ke.classNameAliases[Te.scope]||Te.scope),Te.beginScope&&(Te.beginScope._wrap?(ae(be,ke.classNameAliases[Te.beginScope._wrap]||Te.beginScope._wrap),be=""):Te.beginScope._multi&&(Oe(Te.beginScope,Ke),be="")),$e=Object.create(Te,{parent:{value:$e}}),$e}function _e(Te,Ke,ut){let ht=O(Te.endRe,ut);if(ht){if(Te["on:end"]){const et=new e(Te);Te["on:end"](Ke,et),et.isMatchIgnored&&(ht=!1)}if(ht){for(;Te.endsParent&&Te.parent;)Te=Te.parent;return Te}}if(Te.endsWithParent)return _e(Te.parent,Ke,ut)}function Qe(Te){return $e.matcher.regexIndex===0?(be+=Te[0],1):(Mt=!0,0)}function W(Te){const Ke=Te[0],ut=Te.rule,ht=new e(ut),et=[ut.__beforeBegin,ut["on:begin"]];for(const Qt of et)if(Qt&&(Qt(Te,ht),ht.isMatchIgnored))return Qe(Ke);return ut.skip?be+=Ke:(ut.excludeBegin&&(be+=Ke),Q(),!ut.returnBegin&&!ut.excludeBegin&&(be=Ke)),de(ut,Te),ut.returnBegin?0:Ke.length}function Y(Te){const Ke=Te[0],ut=Z.substring(Te.index),ht=_e($e,Te,ut);if(!ht)return Ze;const et=$e;$e.endScope&&$e.endScope._wrap?(Q(),ae(Ke,$e.endScope._wrap)):$e.endScope&&$e.endScope._multi?(Q(),Oe($e.endScope,Te)):et.skip?be+=Ke:(et.returnEnd||et.excludeEnd||(be+=Ke),Q(),et.excludeEnd&&(be=Ke));do $e.scope&&nt.closeNode(),!$e.skip&&!$e.subLanguage&&(Ae+=$e.relevance),$e=$e.parent;while($e!==ht.parent);return ht.starts&&de(ht.starts,Te),et.returnEnd?0:Ke.length}function ue(){const Te=[];for(let Ke=$e;Ke!==ke;Ke=Ke.parent)Ke.scope&&Te.unshift(Ke.scope);Te.forEach(Ke=>nt.openNode(Ke))}let Ie={};function Ce(Te,Ke){const ut=Ke&&Ke[0];if(be+=Te,ut==null)return Q(),0;if(Ie.type==="begin"&&Ke.type==="end"&&Ie.index===Ke.index&&ut===""){if(be+=Z.slice(Ke.index,Ke.index+1),!vt){const ht=new Error(`0 width match regex (${N})`);throw ht.languageName=N,ht.badRule=Ie.rule,ht}return 1}if(Ie=Ke,Ke.type==="begin")return W(Ke);if(Ke.type==="illegal"&&!ce){const ht=new Error('Illegal lexeme "'+ut+'" for mode "'+($e.scope||"<unnamed>")+'"');throw ht.mode=$e,ht}else if(Ke.type==="end"){const ht=Y(Ke);if(ht!==Ze)return ht}if(Ke.type==="illegal"&&ut==="")return be+=`
|
|
81
|
+
`,1;if(ze>1e5&&ze>Ke.index*3)throw new Error("potential infinite loop, way more iterations than matches");return be+=ut,ut.length}const ke=Be(N);if(!ke)throw zi(J.replace("{}",N)),new Error('Unknown language: "'+N+'"');const dt=Li(ke);let it="",$e=q||dt;const xt={},nt=new Ee.__emitter(Ee);ue();let be="",Ae=0,Ne=0,ze=0,Mt=!1;try{if(ke.__emitTokens)ke.__emitTokens(Z,nt);else{for($e.matcher.considerAll();;){ze++,Mt?Mt=!1:$e.matcher.considerAll(),$e.matcher.lastIndex=Ne;const Te=$e.matcher.exec(Z);if(!Te)break;const Ke=Z.substring(Ne,Te.index),ut=Ce(Ke,Te);Ne=Te.index+ut}Ce(Z.substring(Ne))}return nt.finalize(),it=nt.toHTML(),{language:N,value:it,relevance:Ae,illegal:!1,_emitter:nt,_top:$e}}catch(Te){if(Te.message&&Te.message.includes("Illegal"))return{language:N,value:tt(Z),illegal:!0,relevance:0,_illegalBy:{message:Te.message,index:Ne,context:Z.slice(Ne-100,Ne+100),mode:Te.mode,resultSoFar:it},_emitter:nt};if(vt)return{language:N,value:tt(Z),illegal:!1,relevance:0,errorRaised:Te,_emitter:nt,_top:$e};throw Te}}function gt(N){const Z={value:tt(N),illegal:!1,relevance:0,_top:he,_emitter:new Ee.__emitter(Ee)};return Z._emitter.addText(N),Z}function Bt(N,Z){Z=Z||Ee.languages||Object.keys(le);const ce=gt(N),q=Z.filter(Be).filter(lt).map(Q=>De(Q,N,!1));q.unshift(ce);const H=q.sort((Q,ae)=>{if(Q.relevance!==ae.relevance)return ae.relevance-Q.relevance;if(Q.language&&ae.language){if(Be(Q.language).supersetOf===ae.language)return 1;if(Be(ae.language).supersetOf===Q.language)return-1}return 0}),[G,te]=H,ye=G;return ye.secondBest=te,ye}function yt(N,Z,ce){const q=Z&&Me[Z]||ce;N.classList.add("hljs"),N.classList.add(`language-${q}`)}function It(N){let Z=null;const ce=Ve(N);if(oe(ce))return;if(Et("before:highlightElement",{el:N,language:ce}),N.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",N);return}if(N.children.length>0&&(Ee.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)),Ee.throwUnescapedHTML))throw new Ui("One of your code blocks includes unescaped HTML.",N.innerHTML);Z=N;const q=Z.textContent,H=ce?Pe(q,{language:ce,ignoreIllegals:!0}):Bt(q);N.innerHTML=H.value,N.dataset.highlighted="yes",yt(N,ce,H.language),N.result={language:H.language,re:H.relevance,relevance:H.relevance},H.secondBest&&(N.secondBest={language:H.secondBest.language,relevance:H.secondBest.relevance}),Et("after:highlightElement",{el:N,result:H,text:q})}function Ot(N){Ee=ne(Ee,N)}const Tt=()=>{si(),Qi("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function ti(){si(),Qi("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Vt=!1;function si(){function N(){si()}if(document.readyState==="loading"){Vt||window.addEventListener("DOMContentLoaded",N,!1),Vt=!0;return}document.querySelectorAll(Ee.cssSelector).forEach(It)}function gi(N,Z){let ce=null;try{ce=Z(j)}catch(q){if(zi("Language definition for '{}' could not be registered.".replace("{}",N)),vt)zi(q);else throw q;ce=he}ce.name||(ce.name=N),le[N]=ce,ce.rawDefinition=Z.bind(null,j),ce.aliases&&qe(ce.aliases,{languageName:N})}function di(N){delete le[N];for(const Z of Object.keys(Me))Me[Z]===N&&delete Me[Z]}function re(){return Object.keys(le)}function Be(N){return N=(N||"").toLowerCase(),le[N]||le[Me[N]]}function qe(N,{languageName:Z}){typeof N=="string"&&(N=[N]),N.forEach(ce=>{Me[ce.toLowerCase()]=Z})}function lt(N){const Z=Be(N);return Z&&!Z.disableAutodetect}function Yt(N){N["before:highlightBlock"]&&!N["before:highlightElement"]&&(N["before:highlightElement"]=Z=>{N["before:highlightBlock"](Object.assign({block:Z.el},Z))}),N["after:highlightBlock"]&&!N["after:highlightElement"]&&(N["after:highlightElement"]=Z=>{N["after:highlightBlock"](Object.assign({block:Z.el},Z))})}function Ft(N){Yt(N),rt.push(N)}function zt(N){const Z=rt.indexOf(N);Z!==-1&&rt.splice(Z,1)}function Et(N,Z){const ce=N;rt.forEach(function(q){q[ce]&&q[ce](Z)})}function ei(N){return Qi("10.7.0","highlightBlock will be removed entirely in v12.0"),Qi("10.7.0","Please use highlightElement now."),It(N)}Object.assign(j,{highlight:Pe,highlightAuto:Bt,highlightAll:si,highlightElement:It,highlightBlock:ei,configure:Ot,initHighlighting:Tt,initHighlightingOnLoad:ti,registerLanguage:gi,unregisterLanguage:di,listLanguages:re,getLanguage:Be,registerAliases:qe,autoDetection:lt,inherit:ne,addPlugin:Ft,removePlugin:zt}),j.debugMode=function(){vt=!1},j.safeMode=function(){vt=!0},j.versionString=Vi,j.regex={concat:x,lookahead:p,either:D,optional:y,anyNumberOfTimes:w};for(const N in yi)typeof yi[N]=="object"&&o(yi[N]);return Object.assign(j,yi),j},ni=Wt({});return ni.newInstance=()=>Wt({}),gS=ni,ni.HighlightJS=ni,ni.default=ni,gS}var Oq=Aq();const pb=iA(Oq),UE="[A-Za-z$_][0-9A-Za-z$_]*",Fq=["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"],Hq=["true","false","null","undefined","NaN","Infinity"],nA=["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"],sA=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],oA=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Wq=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Bq=[].concat(oA,nA,sA);function rA(o){const e=o.regex,t=(We,{after:Nt})=>{const Xe="</"+We[0].slice(1);return We.input.indexOf(Xe,Nt)!==-1},i=UE,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(We,Nt)=>{const Xe=We[0].length+We.index,pe=We.input[Xe];if(pe==="<"||pe===","){Nt.ignoreMatch();return}pe===">"&&(t(We,{after:Xe})||Nt.ignoreMatch());let ot;const kt=We.input.substring(Xe);if(ot=kt.match(/^\s*=/)){Nt.ignoreMatch();return}if((ot=kt.match(/^\s+extends\s+/))&&ot.index===0){Nt.ignoreMatch();return}}},a={$pattern:UE,keyword:Fq,literal:Hq,built_in:Bq,"variable.language":Wq},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]},M={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]},O=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,w,y,x,k,{match:/\$\d+/},g];p.contains=O.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(O)});const K=[].concat(M,p.contains),V=K.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(K)}]),se={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:V},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"}}]},we={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:{_:[...nA,...sA]}},Se={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Ge={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[se],illegal:/%/},He={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function st(We){return e.concat("(?!",We.join("|"),")")}const bt={match:e.concat(/\b/,st([...oA,"super","import"].map(We=>`${We}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},Le={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},wt={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},se]},ct="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",At={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(ct)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[se]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:V,CLASS_REFERENCE:we},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),Se,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,w,y,x,k,M,{match:/\$\d+/},g,we,{scope:"attr",match:i+e.lookahead(":"),relevance:0},At,{begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[M,o.REGEXP_MODE,{className:"function",begin:ct,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:V}]}]},{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"]}]}]},Ge,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[se,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},Le,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[se]},bt,He,ie,wt,{match:/\$[(.]/}]}}function Tk(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Zu=Tk();function aA(o){Zu=o}var rd={exec:()=>null};function _h(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 zq=((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:_h(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:_h(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:_h(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:_h(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:_h(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:_h(o=>new RegExp(`^ {0,${o}}>`))},Vq=/^(?:[ \t]*(?:\n|$))+/,jq=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,$q=/^ {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+|$)/,Uq=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Pk=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,lA=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,cA=Fn(lA).replace(/bull/g,Pk).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(),qq=Fn(lA).replace(/bull/g,Pk).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(),Mk=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Gq=/^[^\n]+/,Rk=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Kq=Fn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Rk).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Zq=Fn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Pk).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",Nk=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Xq=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",Nk).replace("tag",cw).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),dA=Fn(Mk).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(),Yq=Fn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",dA).getRegex(),Ak={blockquote:Yq,code:jq,def:Kq,fences:$q,heading:Uq,hr:N_,html:Xq,lheading:cA,list:Zq,newline:Vq,paragraph:dA,table:rd,text:Gq},qE=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(),Qq={...Ak,lheading:qq,table:qE,paragraph:Fn(Mk).replace("hr",N_).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",qE).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()},Jq={...Ak,html:Fn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Nk).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:rd,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Fn(Mk).replace("hr",N_).replace("heading",` *#{1,6} *[^
|
|
82
|
+
]`).replace("lheading",cA).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},e9=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,t9=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,uA=/^( {2,}|\\)\n(?!\s*$)/,i9=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,tg=/[\p{P}\p{S}]/u,dw=/[\s\p{P}\p{S}]/u,Ok=/[^\s\p{P}\p{S}]/u,n9=Fn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,dw).getRegex(),hA=/(?!~)[\p{P}\p{S}]/u,s9=/(?!~)[\s\p{P}\p{S}]/u,o9=/(?:[^\s\p{P}\p{S}]|~)/u,r9=Fn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",zq?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),fA=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,a9=Fn(fA,"u").replace(/punct/g,tg).getRegex(),l9=Fn(fA,"u").replace(/punct/g,hA).getRegex(),gA="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",c9=Fn(gA,"gu").replace(/notPunctSpace/g,Ok).replace(/punctSpace/g,dw).replace(/punct/g,tg).getRegex(),d9=Fn(gA,"gu").replace(/notPunctSpace/g,o9).replace(/punctSpace/g,s9).replace(/punct/g,hA).getRegex(),u9=Fn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Ok).replace(/punctSpace/g,dw).replace(/punct/g,tg).getRegex(),h9=Fn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,tg).getRegex(),f9="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",g9=Fn(f9,"gu").replace(/notPunctSpace/g,Ok).replace(/punctSpace/g,dw).replace(/punct/g,tg).getRegex(),p9=Fn(/\\(punct)/,"gu").replace(/punct/g,tg).getRegex(),_9=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(),m9=Fn(Nk).replace("(?:-->|$)","-->").getRegex(),v9=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",m9).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),_b=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,b9=Fn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",_b).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),pA=Fn(/^!?\[(label)\]\[(ref)\]/).replace("label",_b).replace("ref",Rk).getRegex(),_A=Fn(/^!?\[(ref)\](?:\[\])?/).replace("ref",Rk).getRegex(),y9=Fn("reflink|nolink(?!\\()","g").replace("reflink",pA).replace("nolink",_A).getRegex(),GE=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Fk={_backpedal:rd,anyPunctuation:p9,autolink:_9,blockSkip:r9,br:uA,code:t9,del:rd,delLDelim:rd,delRDelim:rd,emStrongLDelim:a9,emStrongRDelimAst:c9,emStrongRDelimUnd:u9,escape:e9,link:b9,nolink:_A,punctuation:n9,reflink:pA,reflinkSearch:y9,tag:v9,text:i9,url:rd},w9={...Fk,link:Fn(/^!?\[(label)\]\((.*?)\)/).replace("label",_b).getRegex(),reflink:Fn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",_b).getRegex()},Fx={...Fk,emStrongRDelimAst:d9,emStrongLDelim:l9,delLDelim:h9,delRDelim:g9,url:Fn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",GE).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",GE).getRegex()},S9={...Fx,br:Fn(uA).replace("{2,}","*").getRegex(),text:Fn(Fx.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Cm={normal:Ak,gfm:Qq,pedantic:Jq},Cg={normal:Fk,gfm:Fx,breaks:S9,pedantic:w9},C9={"&":"&","<":"<",">":">",'"':""","'":"'"},KE=o=>C9[o];function Sa(o,e){if(e){if(po.escapeTest.test(o))return o.replace(po.escapeReplace,KE)}else if(po.escapeTestNoEncode.test(o))return o.replace(po.escapeReplaceNoEncode,KE);return o}function ZE(o){try{o=encodeURI(o).replace(po.percentDecode,"%")}catch{return null}return o}function XE(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 YE(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 x9(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 k9(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 QE(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 L9(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||Zu}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]:YE(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=L9(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=k9(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),M=this.rules.other.headingBeginRegex(y),O=this.rules.other.htmlBeginRegex(y),K=this.rules.other.blockquoteBeginRegex(y);for(;o;){let V=o.split(`
|
|
103
|
+
`,1)[0],se;if(p=V,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),se=p):se=p.replace(this.rules.other.tabCharGlobal," "),D.test(p)||M.test(p)||O.test(p)||K.test(p)||x.test(p)||k.test(p))break;if(se.search(this.rules.other.nonSpaceChar)>=y||!p.trim())f+=`
|
|
104
|
+
`+se.slice(y);else{if(w||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||D.test(g)||M.test(g)||k.test(g))break;f+=`
|
|
105
|
+
`+p}w=!p.trim(),u+=V+`
|
|
106
|
+
`,o=o.substring(V.length+1),g=se.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=YE(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=XE(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(XE(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=x9(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)),QE(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 QE(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 Hx{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||Zu,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 Hx(t).lex(e)}static lexInline(e,t){return new Hx(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),M;this.options.extensions.startInline.forEach(O=>{M=O.call({lexer:this},D),typeof M=="number"&&M>=0&&(k=Math.min(k,M))}),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||Zu}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=ZE(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=ZE(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)}},Hk=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 Wx{constructor(e){vn(this,"options");vn(this,"renderer");vn(this,"textRenderer");this.options=e||Zu,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 Hk}static parse(e,t){return new Wx(t).parse(e)}static parseInline(e,t){return new Wx(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||Zu}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),I9=class{constructor(...o){vn(this,"defaults",Tk());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",Hk);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}}},Ou=new I9;function qn(o,e){return Ou.parse(o,e)}qn.options=qn.setOptions=function(o){return Ou.setOptions(o),qn.defaults=Ou.defaults,aA(qn.defaults),qn};qn.getDefaults=Tk;qn.defaults=Zu;qn.use=function(...o){return Ou.use(...o),qn.defaults=Ou.defaults,aA(qn.defaults),qn};qn.walkTokens=function(o,e){return Ou.walkTokens(o,e)};qn.parseInline=Ou.parseInline;qn.Parser=ia;qn.parser=ia.parse;qn.Renderer=vb;qn.TextRenderer=Hk;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 E9=T('<span class="chat-model svelte-10ayso4"><!></span>'),D9=T('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),T9=T('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),P9=T('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),M9=T('<ul class="history-list svelte-10ayso4"></ul>'),R9=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>'),N9=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>'),A9=T('Chatting in context of <code class="svelte-10ayso4"> </code>',1),O9=T('<button class="chip svelte-10ayso4"> </button>'),F9=T('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),H9=T('<div class="msg-content user-text svelte-10ayso4"> </div>'),JE=T('<span class="tool-args svelte-10ayso4"> </span>'),eD=T('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),tD=T('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),iD=T('<div class="tool-events svelte-10ayso4"></div>'),nD=T('<div class="text-block svelte-10ayso4"></div>'),W9=T('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),B9=T('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),z9=T('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),V9=T('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),j9=T('<button class="expand-btn svelte-10ayso4"> </button>'),$9=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>'),U9=T('<!> <div class="msg-content svelte-10ayso4"></div>',1),q9=T("<div><!></div>"),G9=T('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),K9=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>'),Z9=T('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),X9=T('<div class="chat-error svelte-10ayso4"> </div>'),Y9=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>'),Q9=T('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),J9=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>'),eG=T('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),tG=T('<button class="send-btn svelte-10ayso4">↑</button>'),iG=T('<option class="svelte-10ayso4"> </option>'),nG=T('<select class="model-select svelte-10ayso4"></select>'),sG=T('<span class="model-name svelte-10ayso4"> </span>'),oG=T('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),rG=T('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),aG=T('<p class="info-status svelte-10ayso4">Loading…</p>'),lG=T('<p class="info-status info-err svelte-10ayso4"> </p>'),cG=T('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),dG=T('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),uG=T('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),hG=T('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),fG=T('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),gG=T('<div class="running-model svelte-10ayso4"> </div>'),pG=T('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),_G=T('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),mG=T('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),vG=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>'),bG=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 yG(o,e){Fs(e,!0),pb.registerLanguage("javascript",rA),qn.use({breaks:!0,gfm:!0});let t=Cu(e,"currentScript",3,null),i=Cu(e,"extraFiles",31,()=>Ci([])),n=P(Ci([])),s=P(null),r=P(""),a=P(!1),d=P(""),u=P(null);const f="she:conversationId";function g(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=P(Ci(localStorage.getItem(f)??g())),w=P(Ci([])),y=P(!1);Vn(()=>{localStorage.setItem(f,c(p))});let x=P(Ci([])),k=P(Ci(localStorage.getItem("she:selectedModel")??"")),D=P(null);const M=at(()=>{var W;return c(D)!==null&&((W=t())==null?void 0:W.path)===c(D)});let O=P(Ci(new Set)),K=P(!1),V=P(null),se=P(!1),ie=P(""),we=P(0),Se=null,Ge=P(0);const He=["[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 st=P(!0),bt=P(!0),Le=P(!0),wt=P(!1),ct,At=P(Ci([])),We,Nt;const Xe=at(()=>({apiref:c(st),tools:c(bt)})),pe=at(()=>{var W;return((W=c(u))==null?void 0:W.configured)??!1}),ot=at(()=>{var W;return c(pe)||!!((W=c(u))!=null&&W.provider)&&!!c(k)}),kt=at(()=>c(we)+new TextEncoder().encode(c(r)).length),Jt=at(()=>c(Le)?t():null);Vn(()=>{var Y;const W=(Y=t())==null?void 0:Y.path;b(Le,!0),c(D)!==null&&W!==c(D)&&b(D,null)}),Vn(()=>{var Ie;if(!c(M))return;const W=c(n).at(-1);if(!W||W.role!=="assistant")return;const ue=Pt(W.content).find(Ce=>Ce.type==="code"&&Di(Ce.lang));if(ue){const Ce=bi(ue.text);(Ie=e.onApply)==null||Ie.call(e,Ce?Ce.code:ue.text)}});async function jt(){try{const W=await GN();b(u,W,!0),W.configured&&!c(k)&&b(k,W.model,!0)}catch{}}Vn(()=>(window.addEventListener("she:config-changed",jt),()=>window.removeEventListener("she:config-changed",jt))),Vn(()=>{c(k)&&localStorage.setItem("she:selectedModel",c(k))}),Vn(()=>{var W;(W=c(u))!=null&&W.provider&&KN().then(Y=>{b(x,Y.models,!0),!c(k)&&Y.models.length>0&&b(k,Y.models[0],!0)}).catch(()=>{})}),Vn(()=>{c(k),b(V,null),b(ie,"")}),Vn(()=>{var Y,ue;if(((Y=c(u))==null?void 0:Y.provider)!=="ollama")return;const W=c(k)||((ue=c(u))==null?void 0:ue.model);!W||c(V)||Nx(W).then(Ie=>{b(V,Ie,!0)}).catch(()=>{})}),Vn(()=>{if(!c(a))return;b(Ge,Math.floor(Math.random()*He.length),!0);const W=setInterval(()=>{b(Ge,(c(Ge)+1)%He.length)},1e4);return()=>clearInterval(W)}),Vn(()=>{var W;Nt&&(c(n).length+(((W=c(s))==null?void 0:W.length)??0),requestAnimationFrame(()=>{Nt&&(Nt.scrollTop=Nt.scrollHeight)}))}),Vn(()=>{const W=c(Xe),Y=c(Jt),ue=i();c(ot)&&ZN({context:W,currentScript:Y??null,extraFiles:ue.length>0?ue:void 0}).then(Ie=>{b(we,new TextEncoder().encode(Ie.prompt).length,!0)}).catch(()=>{})});function Pt(W){const Y=W.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
145
|
+
$2
|
|
146
|
+
`),ue=[],Ie=/```(\w*)\n([\s\S]*?)```/g;let Ce=0,ke;for(;(ke=Ie.exec(Y))!==null;)ke.index>Ce&&ue.push({type:"text",text:Y.slice(Ce,ke.index)}),ue.push({type:"code",lang:ke[1]||"text",text:ke[2].trimEnd()}),Ce=ke.index+ke[0].length;return Ce<Y.length&&ue.push({type:"text",text:Y.slice(Ce)}),ue}const Lt=15;function St(W){return W.split(`
|
|
147
|
+
`).length>Lt}function vi(W){const Y=new Set(c(O));Y.has(W)?Y.delete(W):Y.add(W),b(O,Y,!0)}function yi(W,Y){if(Di(Y))try{return pb.highlight(W,{language:"javascript"}).value}catch{}return W.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function ci(W){return qn.parse(W)}function Si(W){const Y=W.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
148
|
+
$2
|
|
149
|
+
`),ue=[],Ie=/```(\w*)\n([\s\S]*?)```/g;let Ce=0,ke;for(;(ke=Ie.exec(Y))!==null;)ke.index>Ce&&ue.push({type:"text",text:Y.slice(Ce,ke.index)}),ue.push({type:"code",lang:ke[1]||"text",text:ke[2].trimEnd()}),Ce=ke.index+ke[0].length;const dt=Y.slice(Ce),it=dt.match(/```(\w*)\n([\s\S]*)$/);return it?(it.index>0&&ue.push({type:"text",text:dt.slice(0,it.index)}),ue.push({type:"code",lang:it[1]||"text",text:it[2]})):dt&&ue.push({type:"text",text:dt}),ue}function Ni(W){navigator.clipboard.writeText(W).catch(()=>{})}function Hi(W,Y=!1){var ue;Y&&t()&&b(D,t().path,!0),(ue=e.onApply)==null||ue.call(e,W)}function Di(W){return!W||W==="js"||W==="javascript"}function bi(W){const Y=W.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return Y?{filename:Y[1],code:W.slice(Y[0].length)}:null}function ki(W){return W>=1e9?`${(W/1e9).toFixed(1)} GB`:W>=1e6?`${(W/1e6).toFixed(0)} MB`:W>=1024?`${(W/1024).toFixed(1)} kB`:`${W} B`}async function Je(){if(b(K,!0),!(c(V)||c(se))){b(se,!0),b(ie,"");try{b(V,await Nx(c(k)||c(u).model),!0)}catch(W){b(ie,W.message,!0)}b(se,!1)}}function Ut(W){const Y=W.match(/\.([^.]+)$/);return Y?Y[1].toUpperCase():"?"}function wi(W){switch(W){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return W}}function Fi(W){i(i().filter((Y,ue)=>ue!==W))}function sn(){ct.click()}async function Mi(W){if(!(!W||W.length===0))for(const Y of Array.from(W)){const ue=await Y.text();i([...i(),{name:Y.name,content:ue}])}}function zi(W){const Y=W.target;Mi(Y.files),Y.value=""}function Ai(W){var Y;W.preventDefault(),b(wt,!1),Mi(((Y=W.dataTransfer)==null?void 0:Y.files)??null)}function Qi(W){var Y;(Y=W.dataTransfer)!=null&&Y.types.includes("Files")&&(W.preventDefault(),b(wt,!0))}function Oi(){b(wt,!1)}async function Sn(){try{b(w,await j7(),!0)}catch{}}async function je(){var Y;if(c(n).length===0)return;const W=((Y=c(n).find(ue=>ue.role==="user"))==null?void 0:Y.content.slice(0,80))??c(p);try{await $7(c(p),W,c(n)),await Sn()}catch{}}async function Gt(W){try{const Y=await zE(W);b(n,Y.messages,!0),b(p,W,!0),b(y,!1),b(d,"")}catch{}}async function pi(W){try{await U7(W),await Sn(),W===c(p)&&Ti()}catch{}}function Ti(){b(n,[],!0),b(d,""),b(p,g(),!0),b(y,!1)}Ys(async()=>{jt();try{const W=await zE(c(p));b(n,W.messages,!0)}catch{}await Sn()});async function Li(){const W=c(r).trim();if(!W||c(a))return;b(r,""),b(d,""),b(a,!0);const Y={role:"user",content:W};b(n,[...c(n),Y],!0),Se=new AbortController,b(At,[],!0);try{await XN({messages:c(n),currentScript:c(Jt),context:c(Xe),modelOverride:c(k)||void 0,extraFiles:i().length>0?i():void 0},ue=>{b(s,(c(s)??"")+ue)},Se.signal,ue=>{b(At,[...c(At),ue],!0)}),b(n,[...c(n),{role:"assistant",content:c(s)??"",toolEvents:c(At).length>0?[...c(At)]:void 0}],!0),b(At,[],!0)}catch(ue){if(ue.name==="AbortError"){const Ie=c(s);Ie&&Ie.trim()&&b(n,[...c(n),{role:"assistant",content:Ie+`
|
|
150
|
+
|
|
151
|
+
*[stopped]*`,toolEvents:c(At).length>0?[...c(At)]:void 0}],!0)}else b(d,ue.message,!0)}finally{Se=null,b(s,null),b(At,[],!0),b(a,!1),je()}}function mn(){Se==null||Se.abort()}function Ii(W){W.key==="Enter"&&!W.shiftKey&&(W.preventDefault(),Li())}function Vi(){Ti()}const Ui=["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 tt(W){b(r,W,!0),We==null||We.focus()}var ne=bG(),Ze=mt(ne),Rt=v(Ze),Wt=m(v(Rt),2);{var ni=W=>{var Y=E9(),ue=v(Y);{var Ie=dt=>{var it=Dr();z(()=>A(it,`${c(u).provider??""} · ${(c(k)||c(u).model)??""}`)),I(dt,it)},Ce=dt=>{var it=Dr();z(()=>A(it,`${c(u).provider??""} · pick a model below`)),I(dt,it)},ke=dt=>{var it=Dr("Not configured");I(dt,it)};F(ue,dt=>{c(ot)?dt(Ie):c(u).provider?dt(Ce,1):dt(ke,-1)})}z(()=>Ri(Y,"title",`Provider: ${c(u).provider??""}`)),I(W,Y)};F(Wt,W=>{c(u)&&W(ni)})}var j=m(Wt,2);let le;var Me=m(j,2);{var rt=W=>{var Y=D9();U("click",Y,Vi),I(W,Y)};F(Me,W=>{c(n).length>0&&W(rt)})}var vt=m(Rt,2);{var J=W=>{var Y=R9(),ue=v(Y),Ie=m(v(ue),2),Ce=m(ue,2);{var ke=it=>{var $e=T9();I(it,$e)},dt=it=>{var $e=M9();fi($e,21,()=>c(w),xt=>xt.id,(xt,nt)=>{var be=P9();let Ae;var Ne=v(be),ze=v(Ne),Mt=m(Ne,2);z(()=>{Ae=Dt(be,1,"history-item svelte-10ayso4",null,Ae,{"history-active":c(nt).id===c(p)}),Ri(Ne,"title",c(nt).id),A(ze,c(nt).title||c(nt).id)}),U("click",Ne,()=>Gt(c(nt).id)),U("click",Mt,()=>pi(c(nt).id)),I(xt,be)}),I(it,$e)};F(Ce,it=>{c(w).length===0?it(ke):it(dt,-1)})}U("click",Ie,Ti),I(W,Y)};F(vt,W=>{c(y)&&W(J)})}var he=m(vt,2),Ee=v(he);{var oe=W=>{var Y=N9();I(W,Y)},Ve=W=>{var Y=F9(),ue=v(Y),Ie=v(ue);{var Ce=it=>{var $e=A9(),xt=m(mt($e)),nt=v(xt);z(be=>A(nt,be),[()=>t().path.split("/").pop()]),I(it,$e)},ke=it=>{var $e=Dr("No script open. Ask a general she scripting question.");I(it,$e)};F(Ie,it=>{t()?it(Ce):it(ke,-1)})}var dt=m(ue,2);fi(dt,17,()=>Ui,Wi,(it,$e)=>{var xt=O9(),nt=v(xt);z(()=>A(nt,c($e))),U("click",xt,()=>tt(c($e))),I(it,xt)}),I(W,Y)};F(Ee,W=>{c(pe)?c(n).length===0&&c(s)===null&&W(Ve,1):W(oe)})}var Pe=m(Ee,2);fi(Pe,17,()=>c(n),Wi,(W,Y,ue)=>{var Ie=q9(),Ce=v(Ie);{var ke=it=>{var $e=H9(),xt=v($e);z(()=>A(xt,c(Y).content)),I(it,$e)},dt=it=>{const $e=at(()=>Pt(c(Y).content));var xt=U9(),nt=mt(xt);{var be=Ne=>{var ze=iD();fi(ze,21,()=>c(Y).toolEvents,Wi,(Mt,Te)=>{var Ke=Ms(),ut=mt(Ke);{var ht=Qt=>{var oi=eD(),an=m(v(oi),2),qi=v(an),pn=m(an,2);{var Wn=hi=>{var ln=JE(),tn=v(ln);z(es=>A(tn,es),[()=>Object.entries(c(Te).args).map(([es,Bs])=>`${es}=${JSON.stringify(Bs)}`).join(", ")]),I(hi,ln)},ji=at(()=>c(Te).args&&Object.keys(c(Te).args).length>0);F(pn,hi=>{c(ji)&&hi(Wn)})}z(hi=>A(qi,hi),[()=>c(Te).name.replace(/_/g," ")]),I(Qt,oi)},et=Qt=>{var oi=tD(),an=m(v(oi),2),qi=v(an);z(pn=>A(qi,pn),[()=>c(Te).name.replace(/_/g," ")]),I(Qt,oi)};F(ut,Qt=>{c(Te).type==="tool_call"?Qt(ht):Qt(et,-1)})}I(Mt,Ke)}),I(Ne,ze)};F(nt,Ne=>{var ze;(ze=c(Y).toolEvents)!=null&&ze.length&&Ne(be)})}var Ae=m(nt,2);fi(Ae,21,()=>c($e),Wi,(Ne,ze,Mt)=>{var Te=Ms(),Ke=mt(Te);{var ut=et=>{var Qt=nD();sc(Qt,()=>ci(c(ze).text),!0),I(et,Qt)},ht=et=>{const Qt=at(()=>Di(c(ze).lang)?bi(c(ze).text):null),oi=at(()=>c(Qt)?c(Qt).code:c(ze).text),an=at(()=>`${ue}:${Mt}`),qi=at(()=>St(c(oi))),pn=at(()=>c(O).has(c(an)));var Wn=$9(),ji=v(Wn),hi=v(ji),ln=v(hi),tn=m(hi,2),es=v(tn),Bs=m(es,2);{var ho=ns=>{var Ts=W9();U("click",Ts,()=>e.onCreateFile(c(Qt).filename,c(Qt).code)),I(ns,Ts)},Ko=ns=>{var Ts=V9(),Wr=mt(Ts),Za=m(Wr,2);{var Fl=Xo=>{var Br=B9();I(Xo,Br)},Xa=Xo=>{var Br=z9();U("click",Br,()=>Hi(c(ze).text,!0)),I(Xo,Br)};F(Za,Xo=>{c(M)?Xo(Fl):Xo(Xa,-1)})}U("click",Wr,()=>Hi(c(ze).text)),I(ns,Ts)},dr=at(()=>Di(c(ze).lang)&&t());F(Bs,ns=>{c(Qt)&&e.onCreateFile?ns(ho):c(dr)&&ns(Ko,1)})}var Xn=m(ji,2);let Zo;var ur=v(Xn),gn=v(ur);sc(gn,()=>yi(c(oi),c(ze).lang??""),!0);var Ds=m(ur,2);{var fs=ns=>{var Ts=j9(),Wr=v(Ts);z(()=>A(Wr,c(pn)?"▲ collapse":"▼ expand")),U("click",Ts,()=>vi(c(an))),I(ns,Ts)};F(Ds,ns=>{c(qi)&&ns(fs)})}z(()=>{A(ln,c(Qt)?`new: ${c(Qt).filename}`:c(ze).lang),Zo=Dt(Xn,1,"code-body svelte-10ayso4",null,Zo,{collapsed:c(qi)&&!c(pn)})}),U("click",es,()=>Ni(c(oi))),I(et,Wn)};F(Ke,et=>{c(ze).type==="text"?et(ut):et(ht,-1)})}I(Ne,Te)}),I(it,xt)};F(Ce,it=>{c(Y).role==="user"?it(ke):it(dt,-1)})}z(()=>Dt(Ie,1,`message ${c(Y).role??""}`,"svelte-10ayso4")),I(W,Ie)});var De=m(Pe,2);{var gt=W=>{var Y=iD();fi(Y,21,()=>c(At),Wi,(ue,Ie)=>{var Ce=Ms(),ke=mt(Ce);{var dt=$e=>{var xt=eD(),nt=m(v(xt),2),be=v(nt),Ae=m(nt,2);{var Ne=Mt=>{var Te=JE(),Ke=v(Te);z(ut=>A(Ke,ut),[()=>Object.entries(c(Ie).args).map(([ut,ht])=>`${ut}=${JSON.stringify(ht)}`).join(", ")]),I(Mt,Te)},ze=at(()=>c(Ie).args&&Object.keys(c(Ie).args).length>0);F(Ae,Mt=>{c(ze)&&Mt(Ne)})}z(Mt=>A(be,Mt),[()=>c(Ie).name.replace(/_/g," ")]),I($e,xt)},it=$e=>{var xt=tD(),nt=m(v(xt),2),be=v(nt);z(Ae=>A(be,Ae),[()=>c(Ie).name.replace(/_/g," ")]),I($e,xt)};F(ke,$e=>{c(Ie).type==="tool_call"?$e(dt):$e(it,-1)})}I(ue,Ce)}),I(W,Y)};F(De,W=>{c(At).length>0&&W(gt)})}var Bt=m(De,2);{var yt=W=>{var Y=G9(),ue=v(Y),Ie=v(ue),Ce=v(Ie);z(()=>A(Ce,He[c(Ge)])),I(W,Y)};F(Bt,W=>{c(a)&&c(s)===null&&c(At).length===0&&W(yt)})}var It=m(Bt,2);{var Ot=W=>{var Y=Z9(),ue=v(Y);fi(ue,21,()=>Si(c(s)),Wi,(Ie,Ce)=>{var ke=Ms(),dt=mt(ke);{var it=xt=>{var nt=nD();sc(nt,()=>ci(c(Ce).text),!0),I(xt,nt)},$e=xt=>{var nt=K9(),be=v(nt),Ae=v(be),Ne=v(Ae),ze=m(be,2),Mt=v(ze);sc(Mt,()=>yi(c(Ce).text,c(Ce).lang??""),!0),z(()=>A(Ne,c(Ce).lang)),I(xt,nt)};F(dt,xt=>{c(Ce).type==="text"?xt(it):xt($e,-1)})}I(Ie,ke)}),I(W,Y)};F(It,W=>{c(s)!==null&&W(Ot)})}ks(he,W=>Nt=W,()=>Nt);var Tt=m(he,2);{var ti=W=>{var Y=X9(),ue=v(Y);z(()=>A(ue,c(d))),I(W,Y)};F(Tt,W=>{c(d)&&W(ti)})}var Vt=m(Tt,2),si=v(Vt),gi=v(si),di=m(si,2),re=v(di),Be=m(di,2),qe=v(Be),lt=m(qe);{var Yt=W=>{const Y=at(()=>Math.min(100,Math.round(c(kt)/4/c(V).contextLength*100)));var ue=Y9(),Ie=v(ue),Ce=m(v(Ie));z((ke,dt)=>{Ri(ue,"title",`~${c(Y)??""}% of ${ke??""} token context window used`),Ri(Ce,"stroke",c(Y)>80?"var(--fg-err)":c(Y)>50?"var(--fg-warn)":"var(--fg-ok)"),Ri(Ce,"stroke-dasharray",`${dt??""} 31.4`)},[()=>c(V).contextLength.toLocaleString(),()=>(c(Y)/100*31.4).toFixed(1)]),I(W,ue)};F(lt,W=>{var Y;(Y=c(V))!=null&&Y.contextLength&&W(Yt)})}var Ft=m(Vt,2),zt=v(Ft);{var Et=W=>{const Y=at(()=>Ut(t().path.split("/").pop()??t().path));var ue=Q9();let Ie;var Ce=v(ue),ke=v(Ce),dt=m(Ce,2),it=v(dt),$e=m(dt,2),xt=v($e);z((nt,be)=>{Ie=Dt(ue,1,"file-chip svelte-10ayso4",null,Ie,{inactive:!c(Le)}),Dt(Ce,1,`badge badge-${nt??""}`,"svelte-10ayso4"),A(ke,be),A(it,t().path),Ri($e,"title",c(Le)?"Remove from context":"Re-add to context"),A(xt,c(Le)?"×":"+")},[()=>c(Y).toLowerCase(),()=>wi(c(Y))]),U("click",$e,()=>b(Le,!c(Le))),I(W,ue)};F(zt,W=>{t()&&W(Et)})}var ei=m(zt,2);fi(ei,17,i,Wi,(W,Y,ue)=>{const Ie=at(()=>Ut(c(Y).name));var Ce=J9(),ke=v(Ce),dt=v(ke),it=m(ke,2),$e=v(it),xt=m(it,2);z((nt,be)=>{Dt(ke,1,`badge badge-${nt??""}`,"svelte-10ayso4"),A(dt,be),A($e,c(Y).name)},[()=>c(Ie).toLowerCase(),()=>wi(c(Ie))]),U("click",xt,()=>Fi(ue)),I(W,Ce)});var N=m(ei,2),Z=m(N,2);ks(Z,W=>ct=W,()=>ct);var ce=m(Ft,2);let q;var H=v(ce);let G;var te=v(H);ks(te,W=>We=W,()=>We);var ye=m(H,2);{var Q=W=>{var Y=eG();U("click",Y,mn),I(W,Y)},ae=W=>{var Y=tG();z(ue=>Y.disabled=ue,[()=>!c(r).trim()||!c(ot)]),U("click",Y,Li),I(W,Y)};F(ye,W=>{c(a)?W(Q):W(ae,-1)})}var Oe=m(ce,2);{var de=W=>{var Y=rG(),ue=v(Y),Ie=v(ue),Ce=m(ue,2);{var ke=xt=>{var nt=nG();fi(nt,21,()=>c(x),Wi,(be,Ae)=>{var Ne=iG(),ze=v(Ne),Mt={};z(()=>{A(ze,c(Ae)),Mt!==(Mt=c(Ae))&&(Ne.value=(Ne.__value=c(Ae))??"")}),I(be,Ne)}),z(()=>nt.disabled=c(a)),fo(nt,()=>c(k),be=>b(k,be)),I(xt,nt)},dt=xt=>{var nt=sG(),be=v(nt);z(()=>A(be,c(k)||c(u).model)),I(xt,nt)};F(Ce,xt=>{c(x).length>0?xt(ke):xt(dt,-1)})}var it=m(Ce,2);{var $e=xt=>{var nt=oG();U("click",nt,Je),I(xt,nt)};F(it,xt=>{c(u).provider==="ollama"&&xt($e)})}z(()=>A(Ie,c(u).provider)),I(W,Y)};F(Oe,W=>{var Y;(Y=c(u))!=null&&Y.provider&&(c(pe)||c(x).length>0)&&W(de)})}var _e=m(Ze,2);{var Qe=W=>{var Y=vG(),ue=v(Y),Ie=v(ue),Ce=v(Ie),ke=v(Ce),dt=m(Ce,2),it=m(Ie,2),$e=v(it);{var xt=Ae=>{var Ne=aG();I(Ae,Ne)},nt=Ae=>{var Ne=lG(),ze=v(Ne);z(()=>A(ze,c(ie))),I(Ae,Ne)},be=Ae=>{var Ne=mG(),ze=v(Ne);{var Mt=ji=>{var hi=cG(),ln=m(mt(hi)),tn=v(ln);z(()=>A(tn,c(V).version)),I(ji,hi)};F(ze,ji=>{c(V).version&&ji(Mt)})}var Te=m(ze,2);{var Ke=ji=>{var hi=dG(),ln=m(mt(hi)),tn=v(ln);z(()=>A(tn,c(V).details.family)),I(ji,hi)};F(Te,ji=>{var hi;(hi=c(V).details)!=null&&hi.family&&ji(Ke)})}var ut=m(Te,2);{var ht=ji=>{var hi=uG(),ln=m(mt(hi)),tn=v(ln);z(()=>A(tn,c(V).details.parameter_size)),I(ji,hi)};F(ut,ji=>{var hi;(hi=c(V).details)!=null&&hi.parameter_size&&ji(ht)})}var et=m(ut,2);{var Qt=ji=>{var hi=hG(),ln=m(mt(hi)),tn=v(ln);z(()=>A(tn,c(V).details.quantization_level)),I(ji,hi)};F(et,ji=>{var hi;(hi=c(V).details)!=null&&hi.quantization_level&&ji(Qt)})}var oi=m(et,2);{var an=ji=>{var hi=fG(),ln=m(mt(hi)),tn=v(ln);z(()=>A(tn,c(V).details.format)),I(ji,hi)};F(oi,ji=>{var hi;(hi=c(V).details)!=null&&hi.format&&ji(an)})}var qi=m(oi,2);{var pn=ji=>{var hi=pG(),ln=m(mt(hi),2);fi(ln,21,()=>c(V).running,Wi,(tn,es)=>{var Bs=gG(),ho=v(Bs);z(Ko=>A(ho,`${c(es).name??""} · ${Ko??""} VRAM`),[()=>ki(c(es).size_vram)]),I(tn,Bs)}),I(ji,hi)},Wn=ji=>{var hi=_G();I(ji,hi)};F(qi,ji=>{c(V).running&&c(V).running.length>0?ji(pn):c(V).running!==null&&ji(Wn,1)})}I(Ae,Ne)};F($e,Ae=>{c(se)?Ae(xt):c(ie)?Ae(nt,1):c(V)&&Ae(be,2)})}z(()=>{var Ae;return A(ke,`Ollama · ${(c(k)||((Ae=c(u))==null?void 0:Ae.model))??""}`)}),U("click",Y,()=>b(K,!1)),U("click",ue,Ae=>Ae.stopPropagation()),U("click",dt,()=>b(K,!1)),I(W,Y)};F(_e,W=>{c(K)&&W(Qe)})}z(W=>{le=Dt(j,1,"icon-hdr-btn svelte-10ayso4",null,le,{active:c(y)}),A(qe,W),q=Dt(ce,1,"input-row svelte-10ayso4",null,q,{"drag-over":c(wt)}),G=Dt(H,1,"textarea-wrap svelte-10ayso4",null,G,{loading:c(a)}),Ri(te,"placeholder",c(ot)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":c(pe)?"Select a model above to start chatting":"AI not configured"),te.disabled=c(a)||!c(ot)},[()=>ki(c(kt))]),U("click",j,()=>b(y,!c(y))),xs(gi,()=>c(st),W=>b(st,W)),xs(re,()=>c(bt),W=>b(bt,W)),U("click",N,sn),U("change",Z,zi),ds("dragover",ce,Qi),ds("dragleave",ce,Oi),ds("drop",ce,Ai),U("keydown",te,Ii),Kt(te,()=>c(r),W=>b(r,W)),I(o,ne),Hs()}Js(["click","change","keydown"]);const wG={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"]},SG={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 Bx=[],zx=[],Vx=[];const bb=new Map;let mA=[];const jx=new Map,$x=new Map;async function sD(){try{Bx=(await qN()).map(e=>e.topic)}catch{}}async function oD(){try{const[o,e]=await Promise.all([VN(),jN()]);zx=o,Vx=e}catch{}}async function rD(){try{const o=await UN();mA=o.map(e=>e.nodeId),jx.clear(),$x.clear();for(const e of o)e.name&&(jx.set(e.nodeId,e.name),$x.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 CG(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=xG(u),g=kG(u);if(f===0)return{type:"matter-nodeId",prefix:g};if(f===1){const p=mh(u,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(f===2){const p=mh(u,0),w=aD(u,1)??mh(u,1);if(p&&w!==null)return{type:"matter-cluster",nodeId:p,endpointId:w}}if(f>=3){const p=mh(u,0),w=aD(u,1)??mh(u,1),y=mh(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 xG(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 kG(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function mh(o,e){var s;const i=(s=vA(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function aD(o,e){var s;const i=(s=vA(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function vA(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 Fu=sd.CompletionItemKind;function LG(o,e){return(e?Bx.filter(i=>i.startsWith(e)):Bx).map(i=>({label:i,kind:Fu.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function IG(o,e,t){const i=t?[...zx,...Vx]:zx;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:Fu.Value,insertText:s,range:o,detail:Vx.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function EG(o,e){return mA.map(t=>{const i=jx.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:Fu.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function bA(o){return $x.get(o)??o}function DG(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 TG(o,e){const t=bb.get(bA(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:Fu.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function PG(o,e,t){const i=bb.get(bA(e));if(!i)return[];const n=DG(i,t);return n?n.clusters.map(s=>({label:s.name,kind:Fu.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function MG(o,e,t){return(t?SG[e]??[]:wG[e]??[]).map(n=>({label:n,kind:t?Fu.Function:Fu.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let lD=!1;function RG(){lD||(lD=!0,sD(),oD(),rD(),setInterval(sD,15e3),setInterval(oD,1e4),setInterval(rD,6e4),sd.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=CG(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:LG(a,i.prefix)};case"db":return{suggestions:IG(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:EG(a,i.prefix)};case"matter-endpointId":return{suggestions:TG(a,i.nodeId)};case"matter-cluster":return{suggestions:PG(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:MG(a,i.cluster,i.isSend)};default:return null}}}))}var NG=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),AG=T('<button class="svelte-1pyfjii">Show git history</button>'),OG=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),FG=T('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),HG=T('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),cD=T('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),WG=T('<ul class="tree-children svelte-1pyfjii"></ul>'),BG=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>'),zG=T('<span class="dirty-dot svelte-1pyfjii">●</span>'),VG=T('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),jG=T('<span class="err-dot svelte-1pyfjii">●</span>'),$G=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>'),UG=T('<span class="dis-spacer svelte-1pyfjii"></span>'),qG=T('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),GG=T('<div class="err svelte-1pyfjii"> </div>'),KG=T('<div class="history-empty svelte-1pyfjii">Loading…</div>'),ZG=T('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),XG=T('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),YG=T('<button class="history-load-more svelte-1pyfjii"> </button>'),QG=T("<!> <!>",1),JG=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>'),eK=T('<span class="tab-dirty svelte-1pyfjii">●</span>'),tK=T('<div role="button" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),iK=T('<div class="tab-bar svelte-1pyfjii"></div>'),nK=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>'),sK=T('<div class="changes-err svelte-1pyfjii"> </div>'),oK=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),rK=T('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),aK=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),lK=T('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),cK=T('<span class="git-behind svelte-1pyfjii"> </span>'),dK=T('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),uK=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 & Commit</button></div>',1),hK=T('<button class="danger svelte-1pyfjii">Delete</button>'),fK=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 & 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>`),gK=T('<button class="svelte-1pyfjii">Always accept in this session</button>'),pK=T('<button class="svelte-1pyfjii">Disable auto-accept</button>'),_K=T('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),mK=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>'),vK=T('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),bK=T('<div class="diff-container svelte-1pyfjii"></div>'),yK=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>'),wK=T('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),SK=T('<span class="log-file svelte-1pyfjii"> </span>'),CK=T("<option> </option>"),xK=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),kK=T('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),LK=T('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),IK=T('<div class="log-body svelte-1pyfjii"><!> <!></div>'),EK=T('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),DK=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 TK(o,e){Fs(e,!0);let t=P(Ci([])),i=P(Ci({})),n=P(null),s=P(null),r=P(null),a=P(null),d=P(Ci([])),u=P(null),f=P(!1),g=P(""),p=P(!1),w=P(!0),y=P(null),x=P(!1),k=P(!1),D=P(null),M=P(Ci([])),O=P(!1),K=P(30),V=P(void 0),se=null,ie=null,we=null,Se=P(!1),Ge=P(""),He=P(!1),st=P(void 0),bt=P(Ci(new Set));const Le=new Set;let wt=P(Ci(new Set)),ct=P(Ci([])),At=P("all"),We=P(""),Nt=P(!1);const Xe=["all","debug","info","warn","error"],pe={debug:0,info:1,warn:2,error:3};function ot($){if(c(At)!=="all"&&pe[$.level]<pe[c(At)])return!1;if(!c(We))return!0;if(c(Nt))try{return new RegExp(c(We),"i").test($.msg)}catch{}return $.msg.toLowerCase().includes(c(We).toLowerCase())}let kt=P(null);function Jt($){const fe=$.currentTarget.getBoundingClientRect();b(kt,{x:fe.left,y:fe.top},!0)}function jt(){b(kt,null)}let Pt,Lt,St,vi=!1,yi=null,ci=null,Si=!1,Ni=!1,Hi=P(!1),Di=P(null),bi=P(!1),ki=P(!1),Je=P(void 0),Ut=null,wi=null,Fi=null,sn=P(Ci(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),Mi=P(Ci(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),zi=P(Ci(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),Ai=P(Ci(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),Qi=!1,Oi=0,Sn=0,je=!1,Gt=0,pi=0,Ti=!1,Li=0,mn=0,Ii=!1,Vi=0,Ui=0;const tt=at(()=>{var $;return c(u)&&c(he)?{path:c(u),content:(($=c(he).model)==null?void 0:$.getValue())??c(he).savedContent}:null}),ne=at(()=>{var $;return new Set((($=c(y))==null?void 0:$.changes.map(fe=>fe.file))??[])}),Ze=at(()=>{const $=new Set;for(const fe of c(ne)){const Ue=fe.split("/");for(let xe=1;xe<Ue.length;xe++)$.add(Ue.slice(0,xe).join("/"))}return $});let Rt=P(!1),Wt=P(!1),ni=P(""),j=P(!1),le=P(""),Me=P(Ci(new Set));async function rt(){var $;if(!(!c(ni).trim()||c(Me).size===0)){b(j,!0),b(le,"");try{const fe=c(y).changes.filter(Ue=>c(Me).has(Ue.file)).map(Ue=>Ue.file);if(fe.length===c(y).changes.length?await HE(c(ni).trim()):await FE(fe,c(ni).trim()),c(k))try{await Sm()}catch{}b(ni,""),await re(),($=c(y))!=null&&$.changes.length?b(Me,new Set(c(y).changes.map(Ue=>Ue.file)),!0):b(Rt,!1)}catch(fe){b(le,fe.message,!0)}finally{b(j,!1)}}}let vt,J,he=at(()=>c(d).find($=>$.path===c(u))??null);const Ee="she-tabs",oe="she-active-tab",Ve="she-log-open",Pe="she-chat-open";let De=Cu(e,"active",3,!0);Vn(()=>{Ni&&(localStorage.setItem(Ee,JSON.stringify(c(d).map($=>$.path))),c(u)?localStorage.setItem(oe,c(u)):localStorage.removeItem(oe))}),Vn(()=>{Ni&&localStorage.setItem(Pe,String(c(Hi)))}),Vn(()=>{De()&&Lt&&Lt.layout()});const gt=`
|
|
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 Bt($){c(d).some(fe=>fe.dirty)&&$.preventDefault()}Ys(async()=>{var xe;window.addEventListener("beforeunload",Bt),b(w,localStorage.getItem(Ve)!=="false"),b(Hi,localStorage.getItem(Pe)==="true"),sd.typescript.javascriptDefaults.addExtraLib(gt,"she-api.d.ts"),sd.typescript.javascriptDefaults.setCompilerOptions({target:sd.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),sd.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),RG(),St=pr.createModel("","javascript"),Lt=pr.create(Pt,{model:St,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),Lt.onDidChangeModelContent(()=>{if(vi)return;const Ct=c(d).find(ri=>ri.path===c(u));Ct&&(Ct.dirty=Lt.getValue()!==Ct.savedContent),xt&&clearTimeout(xt),xt=setTimeout(nt,600)}),yi=Dk(Ct=>{const ri=Ct.msg.match(/^([^:\n]+\.js):\s/);if(!ri)return;const _i=ri[1];if(Ct.level==="error")Le.add(_i),c(bt).has(_i)||b(bt,new Set([...c(bt),_i]),!0);else if(Le.has(_i)){Le.delete(_i);const Zi=new Set(c(bt));Zi.delete(_i),b(bt,Zi,!0)}const cn=c(d).find(Zi=>Zi.path===_i);cn&&(cn.logEntries=[...cn.logEntries.slice(-199),Ct],cn.path===c(u)&&c(w)&&c(st)&&Om().then(()=>{c(st)&&(c(st).scrollTop=c(st).scrollHeight)}))}),ci=Pr("script:running",Ct=>{const ri=Ct.path;if(Ct.running)b(wt,new Set([...c(wt),ri]),!0);else{const _i=new Set(c(wt));_i.delete(ri),b(wt,_i,!0)}}),await yt(),re();try{const Ct=await Dl();typeof Ct.gitAutoCommit=="boolean"&&b(x,Ct.gitAutoCommit,!0),typeof Ct.gitAutoPush=="boolean"&&b(k,Ct.gitAutoPush,!0)}catch{}try{const Ct=await getDaemonStatus();b(wt,new Set(Ct.runningScripts??[]),!0)}catch{}const $=JSON.parse(localStorage.getItem(Ee)??"[]"),fe=localStorage.getItem(oe);for(const Ct of $)await Vt(Ct,!1);const Ue=fe&&c(d).some(Ct=>Ct.path===fe)?fe:((xe=c(d)[0])==null?void 0:xe.path)??null;Ue&&await gi(Ue),Ni=!0}),Wy(()=>{var $;window.removeEventListener("beforeunload",Bt),xt&&clearTimeout(xt),yi==null||yi(),ci==null||ci();for(const fe of c(d))($=fe.model)==null||$.dispose();St==null||St.dispose(),Lt==null||Lt.dispose()});async function yt(){try{if(b(t,await k7(),!0),!Si){let fe=function(Ue){for(const xe of Ue)xe.type==="dir"&&($[xe.path]=!0,xe.children&&fe(xe.children))};Si=!0;const $={};fe(c(t)),b(i,$,!0)}b(g,"")}catch($){b(g,$.message,!0)}}function It($){c(i)[$]=!c(i)[$]}function Ot($){switch($){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return $}}async function Tt($,fe){try{fe?await Qc(`${$}/.shelib`,""):await wm(`${$}/.shelib`),await yt(),await Be("all",fe?`lib ${$}`:`unlib ${$}`)}catch(Ue){b(g,Ue.message,!0)}}async function ti($,fe){const Ue=$.split("/").pop(),xe=$.includes("/")?$.slice(0,$.lastIndexOf("/")):"",Ct=xe?`${xe}/.shedisable-${Ue}`:`.shedisable-${Ue}`;try{fe?await Qc(Ct,""):await wm(Ct),await yt(),await Be("all",fe?`disable ${$}`:`enable ${$}`)}catch(ri){b(g,ri.message,!0)}}async function Vt($,fe=!0){var Ue;if(c(d).some(xe=>xe.path===$)){fe&&await gi($);return}try{const{content:xe}=await hS($),Ct=f3.parse(`file:///she-scripts/${encodeURIComponent($)}`);(Ue=pr.getModel(Ct))==null||Ue.dispose();const ri=pr.createModel(xe,$e($),Ct);b(d,[...c(d),{path:$,dirty:!1,savedContent:xe,model:ri,logEntries:[]}],!0),fe&&await gi($)}catch(xe){b(g,xe.message,!0)}}async function si($){await Vt($,!0)}async function gi($){const fe=c(d).find(Ue=>Ue.path===$);fe!=null&&fe.model&&(ce(),b(Di,null),b(u,$,!0),vi=!0,Lt.setModel(fe.model),vi=!1,nt())}async function di($){var xe;const fe=c(d).find(Ct=>Ct.path===$);if(!fe||fe.dirty&&!await vt.show(`Discard unsaved changes to ${$}?`,{confirm:"Discard"}))return;const Ue=c(d).findIndex(Ct=>Ct.path===$);if((xe=fe.model)==null||xe.dispose(),b(d,c(d).filter(Ct=>Ct.path!==$),!0),c(u)===$){const Ct=c(d)[Ue]??c(d)[Ue-1]??null;Ct?await gi(Ct.path):(b(u,null),Lt.setModel(St))}}async function re(){try{b(y,await I7(),!0)}catch{b(y,null)}}async function Be($,fe){if(c(y))try{if($==="all"?await HE(fe):await FE($,fe),c(k))try{await Sm()}catch{}await re()}catch{}}async function qe(){if(!c(u))return;const $=c(d).find(fe=>fe.path===c(u));if($){b(f,!0);try{const fe=Lt.getValue();await Qc(c(u),fe),$.savedContent=fe,$.dirty=!1,b(g,""),c(x)?await Be([c(u)],`update ${c(u)}`):re()}catch(fe){b(g,fe.message,!0)}finally{b(f,!1)}}}async function lt(){if(!c(u)||(await qe(),c(g)))return;const $=await J.show("Commit message:",{initial:`update ${c(u)}`,placeholder:"Update script",confirm:"Commit"});if($)try{if(await T7(c(u),$),c(k))try{await Sm()}catch{}re()}catch(fe){b(g,"Git: "+fe.message)}}async function Yt(){b(p,!1);try{await Sm(),await re(),b(g,"")}catch($){b(g,"Git push: "+$.message)}}function Ft($){const fe=Date.now()-new Date($).getTime(),Ue=Math.floor(fe/1e3);if(Ue<60)return"just now";const xe=Math.floor(Ue/60);if(xe<60)return`${xe}m ago`;const Ct=Math.floor(xe/60);if(Ct<24)return`${Ct}h ago`;const ri=Math.floor(Ct/24);if(ri<30)return`${ri}d ago`;const _i=Math.floor(ri/30);return _i<12?`${_i}mo ago`:`${Math.floor(_i/12)}y ago`}async function zt($){te(),b(D,$,!0),b(M,[],!0),b(K,30),await Et()}async function Et(){if(c(D)){b(O,!0);try{b(M,await P7(c(D).path,c(K)),!0)}catch{}finally{b(O,!1)}}}async function ei(){b(K,c(K)+30),await Et()}function N(){b(D,null),b(M,[],!0),ce()}async function Z($){if(!c(D))return;ce(),await si(c(D).path);let fe;try{fe=await M7($.hash,c(D).path)}catch{return}if(b(Ge,$.hash,!0),b(He,fe.binary,!0),b(Se,!0),fe.binary||fe.content===null)return;let Ue="";const xe=c(d).find(ri=>ri.path===c(D).path);if(xe!=null&&xe.model)Ue=xe.model.getValue();else try{Ue=(await hS(c(D).path)).content}catch{}if(await Om(),!c(V))return;const Ct=$e(c(D).path);ie=pr.createModel(fe.content,Ct),we=pr.createModel(Ue,Ct),se=pr.createDiffEditor(c(V),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),se.setModel({original:ie,modified:we})}function ce(){b(Se,!1),b(He,!1),se==null||se.dispose(),se=null,ie==null||ie.dispose(),ie=null,we==null||we.dispose(),we=null}async function q(){const $=c(n)?`${c(n)}/`:"",fe=await J.show("New script name:",{placeholder:$?`${$}myscript.js`:"myscript.js",initial:$,confirm:"Create"});if(!fe)return;const Ue=fe.endsWith(".js")?`/* global she */
|
|
217
|
+
'use strict';
|
|
218
|
+
|
|
219
|
+
`:"";await Qc(fe,Ue),await yt(),await Vt(fe,!0)}async function H(){const $=c(n)?`${c(n)}/`:"",fe=await J.show("New folder name:",{placeholder:$?`${$}subfolder`:"myfolder",initial:$,confirm:"Create"});fe&&(await L7(fe),c(i)[fe]=!0,await yt())}function G($,fe){$.preventDefault(),b(s,{x:$.clientX,y:$.clientY,entry:fe},!0)}function te(){b(s,null)}async function ye($){te(),b(n,$,!0),c(i)[$]=!0,await q()}async function Q($){te(),b(n,$,!0),await H()}async function ae($){te();const fe=$.path.includes("/")?$.path.slice(0,$.path.lastIndexOf("/")+1):"",Ue=await J.show($.type==="dir"?"Rename folder:":"Rename script:",{initial:$.name,placeholder:$.name,confirm:"Rename"});if(!Ue||Ue===$.name)return;const xe=fe+Ue;try{await OE($.path,xe);const Ct=c(d).find(ri=>ri.path===$.path);Ct&&(Ct.path=xe,c(u)===$.path&&b(u,xe)),await yt(),await Be("all",`rename ${$.path} → ${xe}`)}catch(Ct){b(g,Ct.message,!0)}}function Oe($){if(!$.children)return 0;let fe=0;for(const Ue of $.children)fe++,Ue.type==="dir"&&(fe+=Oe(Ue));return fe}async function de($){te();let fe=`Delete ${$.type==="dir"?"folder":"file"} "${$.path}"?`;if($.type==="dir"){const Ue=Oe($);Ue>0&&(fe+=` This will also delete ${Ue} item${Ue===1?"":"s"} inside.`)}if(await vt.show(fe,{confirm:"Delete",danger:!0})){if($.type==="dir")for(const Ue of[...c(d)])Ue.path.startsWith($.path+"/")&&await di(Ue.path);else await di($.path);await wm($.path),await yt(),await Be("all",`delete ${$.path}`)}}async function _e($){te();const{content:fe}=await hS($.path);c(ct).some(Ue=>Ue.name===$.path)||b(ct,[...c(ct),{name:$.path,content:fe}],!0),b(Hi,!0)}function Qe($,fe){var Ue;b(r,fe,!0),(Ue=$.dataTransfer)==null||Ue.setData("text/plain",fe)}function W($,fe){if($.preventDefault(),c(r)&&(c(r)===fe||fe.startsWith(c(r)+"/"))){$.dataTransfer&&($.dataTransfer.dropEffect="none"),b(a,null);return}$.dataTransfer&&($.dataTransfer.dropEffect="move"),b(a,fe,!0)}function Y(){b(a,null)}async function ue($,fe){var _i,cn,Zi;$.preventDefault(),b(a,null);const Ue=Array.from(((_i=$.dataTransfer)==null?void 0:_i.items)??[]).filter(_n=>_n.kind==="file");if(Ue.length>0&&!c(r)){for(const _n of Ue){const Xi=(cn=_n.webkitGetAsEntry)==null?void 0:cn.call(_n);Xi&&await Ie(Xi,fe,!0)}await yt();return}const xe=c(r)??((Zi=$.dataTransfer)==null?void 0:Zi.getData("text/plain"));if(b(r,null),!xe||xe===fe||fe.startsWith(xe+"/"))return;const Ct=xe.split("/").pop(),ri=fe?`${fe}/${Ct}`:Ct;if(ri!==xe)try{await OE(xe,ri);for(const _n of c(d))if(_n.path===xe)c(u)===xe&&b(u,ri,!0),_n.path=ri;else if(_n.path.startsWith(xe+"/")){const Xi=ri+_n.path.slice(xe.length);c(u)===_n.path&&b(u,Xi),_n.path=Xi}await yt(),await Be("all",`rename ${xe} → ${ri}`)}catch(_n){b(g,_n.message,!0)}}async function Ie($,fe,Ue){if($.isFile){const Ct=await(await new Promise((_i,cn)=>$.file(_i,cn))).text(),ri=fe?`${fe}/${$.name}`:$.name;await Qc(ri,Ct),Ue&&$.name.endsWith(".js")&&await ti(ri,!0)}else if($.isDirectory){const xe=$.createReader();let Ct=[],ri;do ri=await new Promise((_i,cn)=>xe.readEntries(_i,cn)),Ct=[...Ct,...ri];while(ri.length>0);for(const _i of Ct)await Ie(_i,fe?`${fe}/${$.name}`:$.name,!1);if(Ue){const _i=fe?`${fe}/${$.name}`:$.name;await ti(_i,!0)}}}async function Ce(){if(!c(u)||!await vt.show(`Delete ${c(u)}?`,{confirm:"Delete",danger:!0}))return;const $=c(u);await di($),await wm($),await yt(),await Be("all",`delete ${$}`)}function ke(){c(he)&&(c(he).logEntries=[])}function dt(){b(w,!c(w)),localStorage.setItem(Ve,String(c(w)))}function it($){return new Date($).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function $e($){var xe;const fe=((xe=$.split(".").pop())==null?void 0:xe.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"}[fe]??"plaintext"}let xt=null;async function nt(){const $=c(d).find(Ue=>Ue.path===c(u));if(!($!=null&&$.model))return;const fe=$.model;try{const ri=(await(await(await sd.typescript.getJavaScriptWorker())(fe.uri)).getSyntacticDiagnostics(fe.uri.toString())).map(_i=>{const cn=fe.getPositionAt(_i.start??0),Zi=fe.getPositionAt((_i.start??0)+(_i.length??0));return{severity:g3.Error,startLineNumber:cn.lineNumber,startColumn:cn.column,endLineNumber:Zi.lineNumber,endColumn:Zi.column,message:typeof _i.messageText=="string"?_i.messageText:JSON.stringify(_i.messageText),source:"she-syntax"}});if(pr.setModelMarkers(fe,"she-syntax",ri),c(u)){if(ri.length>0)Le.add(c(u)),c(bt).has(c(u))||b(bt,new Set([...c(bt),c(u)]),!0);else if(Le.has(c(u))){Le.delete(c(u));const _i=new Set(c(bt));_i.delete(c(u)),b(bt,_i,!0)}}}catch{}}function be($){Qi=!0,Oi=$.clientX,Sn=c(sn),$.preventDefault()}function Ae($){je=!0,Gt=$.clientY,pi=c(Mi),$.preventDefault()}function Ne($){Ti=!0,Li=$.clientX,mn=c(zi),$.preventDefault()}function ze($){Ii=!0,Vi=$.clientY,Ui=c(Ai),$.preventDefault()}function Mt($){Qi&&b(sn,Math.max(140,Math.min(500,Sn+$.clientX-Oi)),!0),je&&b(Mi,Math.max(60,Math.min(500,pi-($.clientY-Gt))),!0),Ti&&b(zi,Math.max(200,Math.min(700,mn-($.clientX-Li))),!0),Ii&&b(Ai,Math.max(80,Math.min(600,Ui-($.clientY-Vi))),!0)}function Te(){Qi&&(Qi=!1,localStorage.setItem("she-scripts-sidebar-width",String(c(sn)))),je&&(je=!1,localStorage.setItem("she-scripts-log-height",String(c(Mi)))),Ti&&(Ti=!1,localStorage.setItem("she-scripts-chat-width",String(c(zi)))),Ii&&(Ii=!1,localStorage.setItem("she-scripts-history-height",String(c(Ai))))}function Ke($){($.ctrlKey||$.metaKey)&&$.key==="s"&&($.preventDefault(),qe()),$.key==="Escape"&&(b(p,!1),b(s,null),b(Wt,!1))}async function ut($,fe){const Ue=await J.show("Save new script as:",{placeholder:"myscript.js",initial:$,confirm:"Create"});if(Ue)try{await Qc(Ue,fe),await yt(),await Vt(Ue,!0)}catch(xe){b(g,xe.message,!0)}}async function ht($){var Ue,xe;if(c(bi)&&c(u)){b(Di,$,!0),await et();return}if(b(Di,$,!0),await Om(),!c(Je))return;wi==null||wi.dispose(),Fi==null||Fi.dispose(),Ut==null||Ut.dispose();const fe=((xe=(Ue=c(he))==null?void 0:Ue.model)==null?void 0:xe.getValue())??"";wi=pr.createModel(fe,"javascript"),Fi=pr.createModel($,"javascript"),Ut=pr.createDiffEditor(c(Je),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),Ut.setModel({original:wi,modified:Fi})}Vn(()=>{c(u),b(bi,!1),b(ki,!1)});async function et(){if(c(Di)===null||!c(u))return;const $=c(Di);b(Di,null);const fe=c(d).find(Ue=>Ue.path===c(u));fe!=null&&fe.model&&(vi=!0,fe.model.setValue($),vi=!1,fe.dirty=!1,fe.savedContent=$);try{await Qc(c(u),$),b(g,""),c(x)?await Be([c(u)],`update ${c(u)}`):re()}catch(Ue){b(g,Ue.message,!0)}oi()}function Qt(){b(Di,null),oi()}function oi(){Ut==null||Ut.dispose(),Ut=null,wi==null||wi.dispose(),wi=null,Fi==null||Fi.dispose(),Fi=null}var an=DK();ds("keydown",kd,Ke),ds("mousemove",kd,Mt),ds("mouseup",kd,Te);var qi=mt(an);ks(Ku(qi,{}),$=>vt=$,()=>vt);var pn=m(qi,2);ks(Nq(pn,{}),$=>J=$,()=>J);var Wn=m(pn,2);{var ji=$=>{var fe=FG(),Ue=mt(fe),xe=m(Ue,2);let Ct;var ri=v(xe);{var _i=Zi=>{var _n=NG(),Xi=mt(_n),dn=m(Xi,2),Ji=m(dn,4),Bn=m(Ji,2);U("click",Xi,()=>ye(c(s).entry.path)),U("click",dn,()=>Q(c(s).entry.path)),U("click",Ji,()=>ae(c(s).entry)),U("click",Bn,()=>de(c(s).entry)),I(Zi,_n)},cn=Zi=>{var _n=OG(),Xi=mt(_n),dn=m(Xi,2),Ji=m(dn,2),Bn=m(Ji,2);{var Yn=nn=>{var gs=AG();U("click",gs,()=>zt(c(s).entry)),I(nn,gs)};F(Bn,nn=>{c(y)&&nn(Yn)})}var Gn=m(Bn,4);U("click",Xi,()=>si(c(s).entry.path)),U("click",dn,()=>ae(c(s).entry)),U("click",Ji,()=>_e(c(s).entry)),U("click",Gn,()=>de(c(s).entry)),I(Zi,_n)};F(ri,Zi=>{c(s).entry.type==="dir"?Zi(_i):Zi(cn,-1)})}z(()=>Ct=Bo(xe,"",Ct,{left:`${c(s).x??""}px`,top:`${c(s).y??""}px`})),U("click",Ue,te),U("contextmenu",Ue,Zi=>{Zi.preventDefault(),te()}),I($,fe)};F(Wn,$=>{c(s)&&$(ji)})}var hi=m(Wn,2);{var ln=$=>{var fe=HG();let Ue;z(()=>Ue=Bo(fe,"",Ue,{left:`${c(kt).x??""}px`,top:`${c(kt).y-4}px`})),I($,fe)};F(hi,$=>{c(kt)&&$(ln)})}var tn=m(hi,2),es=v(tn);let Bs;{const $=(Ue,xe=Ny,Ct)=>{let ri=k0(()=>w3(Ct==null?void 0:Ct(),!1));var _i=Ms(),cn=mt(_i);{var Zi=Xi=>{var dn=BG(),Ji=v(dn);let Bn;var Yn=v(Ji);let Gn;var nn=m(Yn,2);let gs;var zs=v(nn),ws=m(nn,2);{var ls=xn=>{var Jo=cD();I(xn,Jo)},ss=at(()=>c(ne).has(xe().path)||c(Ze).has(xe().path));F(ws,xn=>{c(ss)&&xn(ls)})}var ps=m(ws,2),Ss=v(ps),Vs=m(ps,2),ma=v(Vs),jr=m(Ji,2);{var js=xn=>{var Jo=WG();fi(Jo,21,()=>xe().children,Ps=>Ps.path,(Ps,$r)=>{$(Ps,()=>c($r),()=>xe().disabled||c(ri))}),I(xn,Jo)};F(jr,xn=>{c(i)[xe().path]&&xe().children&&xn(js)})}z(()=>{Bn=Dt(Ji,1,"dir-row svelte-1pyfjii",null,Bn,{"dir-selected":c(n)===xe().path,"drag-target":c(a)===xe().path}),Ri(Ji,"aria-selected",c(n)===xe().path),Gn=Dt(Yn,1,"chevron svelte-1pyfjii",null,Gn,{open:c(i)[xe().path]}),gs=Dt(nn,1,"dir-name svelte-1pyfjii",null,gs,{lib:xe().lib}),A(zs,xe().name),fd(Ss,xe().lib),fd(ma,xe().disabled)}),ds("dragstart",Ji,xn=>Qe(xn,xe().path)),ds("dragover",Ji,xn=>W(xn,xe().path)),ds("dragleave",Ji,Y),ds("drop",Ji,xn=>ue(xn,xe().path)),U("contextmenu",Ji,xn=>G(xn,xe())),U("click",Yn,()=>It(xe().path)),U("click",nn,()=>{b(n,xe().path,!0),c(i)[xe().path]=!0}),U("keydown",nn,xn=>xn.key==="Enter"&&b(n,xe().path,!0)),ds("mouseenter",ps,Jt),ds("mouseleave",ps,jt),U("change",Ss,()=>Tt(xe().path,!xe().lib)),U("change",ma,()=>ti(xe().path,!xe().disabled)),I(Xi,dn)},_n=Xi=>{const dn=at(()=>c(bt).has(xe().path)),Ji=at(()=>c(ne).has(xe().path)),Bn=at(()=>c(d).some(Pn=>Pn.path===xe().path&&Pn.dirty)),Yn=at(()=>(xe().name.split(".").pop()??"txt").toUpperCase()),Gn=at(()=>xe().name.endsWith(".js"));var nn=qG();let gs;var zs=v(nn),ws=v(zs);let ls;var ss=v(ws);let ps;var Ss=v(ss),Vs=m(ss,2),ma=v(Vs),jr=m(Vs,2);{var js=Pn=>{var ms=cD();I(Pn,ms)};F(jr,Pn=>{c(Ji)&&Pn(js)})}var xn=m(jr);{var Jo=Pn=>{var ms=zG();I(Pn,ms)};F(xn,Pn=>{c(Bn)&&Pn(Jo)})}var Ps=m(xn,2);{var $r=Pn=>{var ms=VG();I(Pn,ms)},dg=at(()=>c(Gn)&&c(wt).has(xe().path)&&!c(dn));F(Ps,Pn=>{c(dg)&&Pn($r)})}var Bl=m(Ps,2);{var ug=Pn=>{var ms=jG();I(Pn,ms)};F(Bl,Pn=>{c(dn)&&Pn(ug)})}var Ur=m(ws,2);{var _w=Pn=>{var ms=$G();let Gc;var eh=v(ms);z(()=>{Gc=Dt(ms,1,"dis-label svelte-1pyfjii",null,Gc,{"dis-locked":c(ri)}),Ri(ms,"title",c(ri)?"Disabled by parent directory":"Disable — this script will not be executed"),fd(eh,xe().disabled),eh.disabled=c(ri)}),U("change",eh,()=>ti(xe().path,!xe().disabled)),I(Pn,ms)},qc=Pn=>{var ms=UG();I(Pn,ms)};F(Ur,Pn=>{c(Gn)?Pn(_w):Pn(qc,-1)})}z((Pn,ms,Gc)=>{gs=Dt(nn,1,"tree-file svelte-1pyfjii",null,gs,Pn),ls=Dt(ws,1,"svelte-1pyfjii",null,ls,{lib:xe().lib,dis:xe().disabled,err:c(dn)}),ps=Dt(ss,1,`badge badge-${ms??""}`,"svelte-1pyfjii",ps,{"badge-shelib":xe().lib}),A(Ss,Gc),A(ma,xe().name)},[()=>({active:c(d).some(Pn=>Pn.path===xe().path),"active-tab":xe().path===c(u)}),()=>c(Yn).toLowerCase(),()=>Ot(c(Yn))]),ds("dragstart",nn,Pn=>Qe(Pn,xe().path)),U("contextmenu",nn,Pn=>G(Pn,xe())),U("click",ws,()=>si(xe().path)),I(Xi,nn)};F(cn,Xi=>{xe().type==="dir"?Xi(Zi):Xi(_n,-1)})}I(Ue,_i)};var ho=v(es),Ko=v(ho),dr=m(Ko,2),Xn=m(dr,2),Zo=m(ho,2);{var ur=Ue=>{var xe=GG(),Ct=v(xe);z(()=>A(Ct,c(g))),I(Ue,xe)};F(Zo,Ue=>{c(g)&&Ue(ur)})}var gn=m(Zo,2),Ds=v(gn);let fe;var fs=m(Ds,2);fi(fs,17,()=>c(t),Ue=>Ue.path,(Ue,xe)=>{$(Ue,()=>c(xe))});var ns=m(gn,2);{var Ts=Ue=>{var xe=JG();let Ct;var ri=v(xe),_i=m(ri,2),cn=v(_i),Zi=v(cn),_n=m(cn,2),Xi=m(_i,2),dn=v(Xi);{var Ji=Gn=>{var nn=KG();I(Gn,nn)},Bn=Gn=>{var nn=ZG();I(Gn,nn)},Yn=Gn=>{var nn=QG(),gs=mt(nn);fi(gs,17,()=>c(M),ls=>ls.hash,(ls,ss)=>{var ps=XG(),Ss=v(ps),Vs=v(Ss),ma=m(Ss,2),jr=v(ma);z((js,xn)=>{A(Vs,c(ss).subject),A(jr,`${js??""} · ${xn??""}`)},[()=>c(ss).hash.slice(0,7),()=>Ft(c(ss).date)]),U("click",ps,()=>Z(c(ss))),I(ls,ps)});var zs=m(gs,2);{var ws=ls=>{var ss=YG(),ps=v(ss);z(()=>{ss.disabled=c(O),A(ps,c(O)?"Loading…":"Load more")}),U("click",ss,ei),I(ls,ss)};F(zs,ls=>{c(M).length>=c(K)&&ls(ws)})}I(Gn,nn)};F(dn,Gn=>{c(O)&&c(M).length===0?Gn(Ji):c(M).length===0?Gn(Bn,1):Gn(Yn,-1)})}z(()=>{Ct=Bo(xe,"",Ct,{height:`${c(Ai)??""}px`}),Ri(cn,"title",c(D).path),A(Zi,`History: ${c(D).name??""}`)}),U("mousedown",ri,ze),U("click",_n,N),I(Ue,xe)};F(ns,Ue=>{c(D)&&Ue(Ts)})}z(()=>fe=Dt(Ds,1,"tree-root-drop svelte-1pyfjii",null,fe,{"drag-target":c(a)===""})),U("click",Ko,q),U("click",dr,H),U("click",Xn,yt),ds("dragover",Ds,Ue=>W(Ue,"")),ds("dragleave",Ds,Y),ds("drop",Ds,Ue=>ue(Ue,""))}var Wr=m(es,2),Za=m(Wr,2),Fl=v(Za);{var Xa=$=>{var fe=iK();fi(fe,21,()=>c(d),Ue=>Ue.path,(Ue,xe)=>{var Ct=tK();let ri;var _i=v(Ct),cn=v(_i),Zi=m(_i,2);{var _n=dn=>{var Ji=eK();I(dn,Ji)};F(Zi,dn=>{c(xe).dirty&&dn(_n)})}var Xi=m(Zi,2);z(dn=>{ri=Dt(Ct,1,"tab svelte-1pyfjii",null,ri,{active:c(xe).path===c(u)}),A(cn,dn)},[()=>c(xe).path.split("/").pop()]),U("click",Ct,()=>gi(c(xe).path)),U("keydown",Ct,dn=>dn.key==="Enter"&&gi(c(xe).path)),U("click",Xi,dn=>{dn.stopPropagation(),di(c(xe).path)}),I(Ue,Ct)}),I($,fe)};F(Fl,$=>{c(d).length>0&&$(Xa)})}var Xo=m(Fl,2),Br=v(Xo),zr=v(Br),A_=m(Br,2);{var hr=$=>{var fe=dK(),Ue=v(fe),xe=v(Ue),Ct=m(Ue,2);{var ri=Xi=>{var dn=rK(),Ji=v(dn),Bn=v(Ji),Yn=m(Ji,2);{var Gn=nn=>{var gs=oK(),zs=mt(gs),ws=m(zs,2),ls=m(v(ws),2);fi(ls,21,()=>c(y).changes,Wi,(js,xn)=>{var Jo=nK(),Ps=v(Jo),$r=m(Ps,2),dg=v($r),Bl=m($r,2),ug=v(Bl);z(Ur=>{fd(Ps,Ur),A(dg,c(xn).status),A(ug,c(xn).file)},[()=>c(Me).has(c(xn).file)]),U("change",Ps,()=>{const Ur=new Set(c(Me));Ur.has(c(xn).file)?Ur.delete(c(xn).file):Ur.add(c(xn).file),b(Me,Ur,!0)}),I(js,Jo)});var ss=m(ls,2),ps=v(ss),Ss=m(ps,2),Vs=v(Ss),ma=m(ss,2);{var jr=js=>{var xn=sK(),Jo=v(xn);z(()=>A(Jo,c(le))),I(js,xn)};F(ma,js=>{c(le)&&js(jr)})}z(js=>{var xn;Ss.disabled=js,A(Vs,c(j)?"…":c(Me).size===((xn=c(y))==null?void 0:xn.changes.length)?"Commit all":`Commit ${c(Me).size}`)},[()=>!c(ni).trim()||c(j)||c(Me).size===0]),U("click",zs,()=>b(Rt,!1)),U("keydown",ps,js=>js.key==="Enter"&&rt()),Kt(ps,()=>c(ni),js=>b(ni,js)),U("click",Ss,rt),I(nn,gs)};F(Yn,nn=>{c(Rt)&&nn(Gn)})}z(()=>{Ri(Ji,"title",`${c(y).changes.length??""} uncommitted change(s) — click to view`),A(Bn,`✎${c(y).changes.length??""}`)}),U("click",Ji,()=>{c(Rt)||b(Me,new Set(c(y).changes.map(nn=>nn.file)),!0),b(Rt,!c(Rt)),b(le,"")}),I(Xi,dn)};F(Ct,Xi=>{c(y).changes.length>0&&Xi(ri)})}var _i=m(Ct,2);{var cn=Xi=>{var dn=lK(),Ji=v(dn),Bn=v(Ji),Yn=m(Ji,2);{var Gn=nn=>{var gs=aK(),zs=mt(gs),ws=m(zs,2),ls=v(ws),ss=v(ls),ps=m(ls,2),Ss=v(ps);z(()=>A(ss,`${c(y).ahead??""} unpushed commit(s)`)),U("click",zs,()=>b(Wt,!1)),U("click",Ss,()=>{b(Wt,!1),Yt()}),I(nn,gs)};F(Yn,nn=>{c(Wt)&&nn(Gn)})}z(()=>{Ri(Ji,"title",`${c(y).ahead??""} commit(s) ahead of upstream — click to push`),A(Bn,`↑${c(y).ahead??""}`)}),U("click",Ji,()=>b(Wt,!c(Wt))),I(Xi,dn)};F(_i,Xi=>{c(y).ahead>0&&Xi(cn)})}var Zi=m(_i,2);{var _n=Xi=>{var dn=cK(),Ji=v(dn);z(()=>{Ri(dn,"title",`${c(y).behind??""} commit(s) behind upstream`),A(Ji,`↓${c(y).behind??""}`)}),I(Xi,dn)};F(Zi,Xi=>{c(y).behind>0&&Xi(_n)})}z(()=>{Ri(Ue,"title",`Branch: ${c(y).branch??""}`),A(xe,`⎇ ${c(y).branch??""}`)}),I($,fe)};F(A_,$=>{c(y)&&$(hr)})}var O_=m(A_,2),ig=v(O_),Yo=v(ig),F_=v(Yo),ng=m(Yo,2),sg=m(ig,2);{var uw=$=>{var fe=uK(),Ue=mt(fe),xe=m(Ue,2),Ct=v(xe),ri=m(Ct,2);U("click",Ue,()=>b(p,!1)),U("click",Ct,()=>{b(p,!1),qe()}),U("click",ri,()=>{b(p,!1),lt()}),I($,fe)};F(sg,$=>{c(p)&&$(uw)})}var og=m(O_,2);{var H_=$=>{var fe=hK();U("click",fe,Ce),I($,fe)};F(og,$=>{c(u)&&$(H_)})}var rg=m(og,2);let W_;var ag=m(Xo,2),B_=v(ag),lg=v(B_),cg=v(lg);ks(cg,$=>Pt=$,()=>Pt);var jc=m(cg,2);{var Ya=$=>{var fe=fK();I($,fe)};F(jc,$=>{c(u)||$(Ya)})}var z_=m(jc,2);{var $c=$=>{var fe=mK(),Ue=v(fe),xe=v(Ue),Ct=m(v(xe)),ri=v(Ct),_i=m(xe,2),cn=v(_i),Zi=v(cn),_n=v(Zi),Xi=v(_n),dn=m(_n,2),Ji=m(Zi,2);{var Bn=nn=>{var gs=_K(),zs=mt(gs),ws=m(zs,2),ls=v(ws);{var ss=Ss=>{var Vs=gK();U("click",Vs,()=>{b(ki,!1),b(bi,!0),et()}),I(Ss,Vs)},ps=Ss=>{var Vs=pK();U("click",Vs,()=>{b(ki,!1),b(bi,!1)}),I(Ss,Vs)};F(ls,Ss=>{c(bi)?Ss(ps,-1):Ss(ss)})}U("click",zs,()=>b(ki,!1)),I(nn,gs)};F(Ji,nn=>{c(ki)&&nn(Bn)})}var Yn=m(cn,2),Gn=m(Ue,2);ks(Gn,nn=>b(Je,nn),()=>c(Je)),z(nn=>{A(ri,nn),A(Xi,c(bi)?"Auto-accept ✓":"Accept")},[()=>{var nn;return(nn=c(u))==null?void 0:nn.split("/").pop()}]),U("click",_n,et),U("click",dn,()=>b(ki,!c(ki))),U("click",Yn,Qt),I($,fe)};F(z_,$=>{c(Di)!==null&&$($c)})}var Ro=m(z_,2);{var V_=$=>{var fe=yK(),Ue=v(fe),xe=v(Ue),Ct=m(v(xe)),ri=v(Ct),_i=m(Ct,2),cn=v(_i),Zi=m(xe,2),_n=v(Zi),Xi=m(Ue,2);{var dn=Bn=>{var Yn=vK();I(Bn,Yn)},Ji=Bn=>{var Yn=bK();ks(Yn,Gn=>b(V,Gn),()=>c(V)),I(Bn,Yn)};F(Xi,Bn=>{c(He)?Bn(dn):Bn(Ji,-1)})}z(Bn=>{var Yn;A(ri,Bn),A(cn,(Yn=c(D))==null?void 0:Yn.name)},[()=>c(Ge).slice(0,7)]),U("click",_n,ce),I($,fe)};F(Ro,$=>{c(Se)&&$(V_)})}var Xu=m(lg,2);let j_,Yu;var Qu=v(Xu);{var hw=$=>{var fe=wK();U("mousedown",fe,Ae),I($,fe)};F(Qu,$=>{c(w)&&$(hw)})}var $_=m(Qu,2),Ju=v($_),U_=v(Ju),Qo=m(U_);{var Hl=$=>{var fe=SK(),Ue=v(fe);z(xe=>A(Ue,`— ${xe??""}`),[()=>c(u).split("/").pop()]),I($,fe)};F(Qo,$=>{c(u)&&$(Hl)})}var fw=m(Ju,2);{var Vr=$=>{var fe=xK(),Ue=mt(fe);fi(Ue,21,()=>Xe,Wi,(cn,Zi)=>{var _n=CK(),Xi=v(_n),dn={};z(()=>{A(Xi,c(Zi)),dn!==(dn=c(Zi))&&(_n.value=(_n.__value=c(Zi))??"")}),I(cn,_n)});var xe=m(Ue,2),Ct=m(xe,2),ri=v(Ct),_i=m(Ct,2);fo(Ue,()=>c(At),cn=>b(At,cn)),Kt(xe,()=>c(We),cn=>b(We,cn)),xs(ri,()=>c(Nt),cn=>b(Nt,cn)),U("click",_i,ke),I($,fe)};F(fw,$=>{c(w)&&$(Vr)})}var gw=m($_,2);{var Wl=$=>{var fe=IK(),Ue=v(fe);fi(Ue,17,()=>{var ri;return(((ri=c(he))==null?void 0:ri.logEntries)??[]).filter(ot)},ri=>ri.ts+ri.msg,(ri,_i)=>{var cn=kK(),Zi=v(cn),_n=v(Zi),Xi=m(Zi,2),dn=v(Xi),Ji=m(Xi,2),Bn=v(Ji);z((Yn,Gn)=>{Dt(cn,1,`log-line ${c(_i).level??""}`,"svelte-1pyfjii"),A(_n,Yn),A(dn,Gn),A(Bn,c(_i).msg)},[()=>it(c(_i).ts),()=>c(_i).level.toUpperCase()]),I(ri,cn)});var xe=m(Ue,2);{var Ct=ri=>{var _i=LK();I(ri,_i)};F(xe,ri=>{var _i;(((_i=c(he))==null?void 0:_i.logEntries.length)??0)===0&&ri(Ct)})}ks(fe,ri=>b(st,ri),()=>c(st)),I($,fe)};F(gw,$=>{c(w)&&$(Wl)})}var pw=m(B_,2);{var Uc=$=>{var fe=EK(),Ue=mt(fe),xe=m(Ue,2);let Ct;var ri=v(xe);yG(ri,{get currentScript(){return c(tt)},onApply:ht,onCreateFile:ut,get extraFiles(){return c(ct)},set extraFiles(_i){b(ct,_i,!0)}}),z(()=>Ct=Bo(xe,"",Ct,{width:`${c(zi)??""}px`})),U("mousedown",Ue,Ne),I($,fe)};F(pw,$=>{c(Hi)&&$(Uc)})}z(()=>{var $;Bs=Bo(es,"",Bs,{width:`${c(sn)??""}px`}),A(zr,c(u)??"No file selected"),Yo.disabled=!(($=c(he))!=null&&$.dirty)||c(f),A(F_,c(f)?"Saving…":"Save"),ng.disabled=!c(u),W_=Dt(rg,1,"ai-toggle svelte-1pyfjii",null,W_,{"ai-open":c(Hi)}),Ri(rg,"title",c(Hi)?"Close AI assistant":"Open AI assistant"),j_=Dt(Xu,1,"log-panel svelte-1pyfjii",null,j_,{collapsed:!c(w)}),Yu=Bo(Xu,"",Yu,{height:c(w)?`${c(Mi)}px`:"26px"}),A(U_,`${c(w)?"▾":"▸"} Script Log `)}),U("mousedown",Wr,be),U("click",Yo,qe),U("click",ng,()=>b(p,!c(p))),U("click",rg,()=>b(Hi,!c(Hi))),U("click",Ju,dt),I(o,an),Hs()}Js(["click","contextmenu","keydown","change","mousedown"]);const yA="she-theme";function PK(){return localStorage.getItem(yA)??"dark"}function MK(o){localStorage.setItem(yA,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 RK=Vg.exports,dD;function NK(){return dD||(dD=1,(function(o,e){(function(t,i){i(e)})(RK,(function(t){var i="1.9.4";function n(l){var h,_,S,E;for(_=1,S=arguments.length;_<S;_++){E=arguments[_];for(h in E)l[h]=E[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,E,R,ee;return ee=function(){S=!1,E&&(R.apply(_,E),E=!1)},R=function(){S?E=arguments:(l.apply(_,arguments),setTimeout(ee,h),S=!0)},R}function f(l,h,_){var S=h[1],E=h[0],R=S-E;return l===S&&_?l:((l-E)%R+R)%R+E}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 E in l)S.push(encodeURIComponent(_?E.toUpperCase():E)+"="+encodeURIComponent(l[E]));return(!h||h.indexOf("?")===-1?"?":"&")+S.join("&")}var D=/\{ *([\w_ -]+) *\}/g;function M(l,h){return l.replace(D,function(_,S){var E=h[S];if(E===void 0)throw new Error("No value provided for variable "+_);return typeof E=="function"&&(E=E(h)),E})}var O=Array.isArray||function(l){return Object.prototype.toString.call(l)==="[object Array]"};function K(l,h){for(var _=0;_<l.length;_++)if(l[_]===h)return _;return-1}var V="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function se(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var ie=0;function we(l){var h=+new Date,_=Math.max(0,16-(h-ie));return ie=h+_,window.setTimeout(l,_)}var Se=window.requestAnimationFrame||se("RequestAnimationFrame")||we,Ge=window.cancelAnimationFrame||se("CancelAnimationFrame")||se("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function He(l,h,_){if(_&&Se===we)l.call(h);else return Se.call(window,r(l,h))}function st(l){l&&Ge.call(window,l)}var bt={__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:M,isArray:O,indexOf:K,emptyImageUrl:V,requestFn:Se,cancelFn:Ge,requestAnimFrame:He,cancelAnimFrame:st};function Le(){}Le.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 E in this)Object.prototype.hasOwnProperty.call(this,E)&&E!=="prototype"&&E!=="__super__"&&(h[E]=this[E]);return l.statics&&n(h,l.statics),l.includes&&(wt(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,ee=S._initHooks.length;R<ee;R++)S._initHooks[R].call(this)}},h},Le.include=function(l){var h=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=h,this.mergeOptions(l.options)),this},Le.mergeOptions=function(l){return n(this.prototype.options,l),this},Le.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 wt(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=O(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 ct={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 E=0,R=l.length;E<R;E++)this._on(l[E],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 E=arguments.length===1,R=0,ee=l.length;R<ee;R++)E?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 E={fn:h,ctx:_};S&&(E.once=!0),this._events=this._events||{},this._events[l]=this._events[l]||[],this._events[l].push(E)}},_off:function(l,h,_){var S,E,R;if(this._events&&(S=this._events[l],!!S)){if(arguments.length===1){if(this._firingCount)for(E=0,R=S.length;E<R;E++)S[E].fn=g;delete this._events[l];return}if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}var ee=this._listens(l,h,_);if(ee!==!1){var me=S[ee];this._firingCount&&(me.fn=g,this._events[l]=S=S.slice()),S.splice(ee,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 E=this._events[l];if(E){this._firingCount=this._firingCount+1||1;for(var R=0,ee=E.length;R<ee;R++){var me=E[R],Fe=me.fn;me.once&&this.off(l,Fe,me.ctx),Fe.call(me.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 E=h;typeof h!="function"&&(S=!!h,E=void 0,_=void 0);var R=this._events&&this._events[l];if(R&&R.length&&this._listens(l,E,_)!==!1)return!0;if(S){for(var ee in this._eventParents)if(this._eventParents[ee].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 E=0,R=S.length;E<R;E++)if(S[E].fn===h&&S[E].ctx===_)return E;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 E=0,R=l.length;E<R;E++)this._on(l[E],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)}};ct.addEventListener=ct.on,ct.removeEventListener=ct.clearAllEventListeners=ct.off,ct.addOneTimeEventListener=ct.once,ct.fireEvent=ct.fire,ct.hasEventListeners=ct.listens;var At=Le.extend(ct);function We(l,h,_){this.x=_?Math.round(l):l,this.y=_?Math.round(h):h}var Nt=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};We.prototype={clone:function(){return new We(this.x,this.y)},add:function(l){return this.clone()._add(Xe(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(Xe(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 We(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new We(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=Nt(this.x),this.y=Nt(this.y),this},distanceTo:function(l){l=Xe(l);var h=l.x-this.x,_=l.y-this.y;return Math.sqrt(h*h+_*_)},equals:function(l){return l=Xe(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=Xe(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 Xe(l,h,_){return l instanceof We?l:O(l)?new We(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new We(l.x,l.y):new We(l,h,_)}function pe(l,h){if(l)for(var _=h?[l,h]:l,S=0,E=_.length;S<E;S++)this.extend(_[S])}pe.prototype={extend:function(l){var h,_;if(!l)return this;if(l instanceof We||typeof l[0]=="number"||"x"in l)h=_=Xe(l);else if(l=ot(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 Xe((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return Xe(this.min.x,this.max.y)},getTopRight:function(){return Xe(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 We?l=Xe(l):l=ot(l),l instanceof pe?(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=ot(l);var h=this.min,_=this.max,S=l.min,E=l.max,R=E.x>=h.x&&S.x<=_.x,ee=E.y>=h.y&&S.y<=_.y;return R&&ee},overlaps:function(l){l=ot(l);var h=this.min,_=this.max,S=l.min,E=l.max,R=E.x>h.x&&S.x<_.x,ee=E.y>h.y&&S.y<_.y;return R&&ee},isValid:function(){return!!(this.min&&this.max)},pad:function(l){var h=this.min,_=this.max,S=Math.abs(h.x-_.x)*l,E=Math.abs(h.y-_.y)*l;return ot(Xe(h.x-S,h.y-E),Xe(_.x+S,_.y+E))},equals:function(l){return l?(l=ot(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function ot(l,h){return!l||l instanceof pe?l:new pe(l,h)}function kt(l,h){if(l)for(var _=h?[l,h]:l,S=0,E=_.length;S<E;S++)this.extend(_[S])}kt.prototype={extend:function(l){var h=this._southWest,_=this._northEast,S,E;if(l instanceof jt)S=l,E=l;else if(l instanceof kt){if(S=l._southWest,E=l._northEast,!S||!E)return this}else return l?this.extend(Pt(l)||Jt(l)):this;return!h&&!_?(this._southWest=new jt(S.lat,S.lng),this._northEast=new jt(E.lat,E.lng)):(h.lat=Math.min(S.lat,h.lat),h.lng=Math.min(S.lng,h.lng),_.lat=Math.max(E.lat,_.lat),_.lng=Math.max(E.lng,_.lng)),this},pad:function(l){var h=this._southWest,_=this._northEast,S=Math.abs(h.lat-_.lat)*l,E=Math.abs(h.lng-_.lng)*l;return new kt(new jt(h.lat-S,h.lng-E),new jt(_.lat+S,_.lng+E))},getCenter:function(){return new jt((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 jt(this.getNorth(),this.getWest())},getSouthEast:function(){return new jt(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 jt||"lat"in l?l=Pt(l):l=Jt(l);var h=this._southWest,_=this._northEast,S,E;return l instanceof kt?(S=l.getSouthWest(),E=l.getNorthEast()):S=E=l,S.lat>=h.lat&&E.lat<=_.lat&&S.lng>=h.lng&&E.lng<=_.lng},intersects:function(l){l=Jt(l);var h=this._southWest,_=this._northEast,S=l.getSouthWest(),E=l.getNorthEast(),R=E.lat>=h.lat&&S.lat<=_.lat,ee=E.lng>=h.lng&&S.lng<=_.lng;return R&&ee},overlaps:function(l){l=Jt(l);var h=this._southWest,_=this._northEast,S=l.getSouthWest(),E=l.getNorthEast(),R=E.lat>h.lat&&S.lat<_.lat,ee=E.lng>h.lng&&S.lng<_.lng;return R&&ee},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,h){return l?(l=Jt(l),this._southWest.equals(l.getSouthWest(),h)&&this._northEast.equals(l.getNorthEast(),h)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function Jt(l,h){return l instanceof kt?l:new kt(l,h)}function jt(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=+_)}jt.prototype={equals:function(l,h){if(!l)return!1;l=Pt(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 St.distance(this,Pt(l))},wrap:function(){return St.wrapLatLng(this)},toBounds:function(l){var h=180*l/40075017,_=h/Math.cos(Math.PI/180*this.lat);return Jt([this.lat-h,this.lng-_],[this.lat+h,this.lng+_])},clone:function(){return new jt(this.lat,this.lng,this.alt)}};function Pt(l,h,_){return l instanceof jt?l:O(l)&&typeof l[0]!="object"?l.length===3?new jt(l[0],l[1],l[2]):l.length===2?new jt(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new jt(l.lat,"lng"in l?l.lng:l.lon,l.alt):h===void 0?null:new jt(l,h,_)}var Lt={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,_),E=this.transformation.transform(h.max,_);return new pe(S,E)},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 jt(_,h,S)},wrapLatLngBounds:function(l){var h=l.getCenter(),_=this.wrapLatLng(h),S=h.lat-_.lat,E=h.lng-_.lng;if(S===0&&E===0)return l;var R=l.getSouthWest(),ee=l.getNorthEast(),me=new jt(R.lat-S,R.lng-E),Fe=new jt(ee.lat-S,ee.lng-E);return new kt(me,Fe)}},St=n({},Lt,{wrapLng:[-180,180],R:6371e3,distance:function(l,h){var _=Math.PI/180,S=l.lat*_,E=h.lat*_,R=Math.sin((h.lat-l.lat)*_/2),ee=Math.sin((h.lng-l.lng)*_/2),me=R*R+Math.cos(S)*Math.cos(E)*ee*ee,Fe=2*Math.atan2(Math.sqrt(me),Math.sqrt(1-me));return this.R*Fe}}),vi=6378137,yi={R:vi,MAX_LATITUDE:85.0511287798,project:function(l){var h=Math.PI/180,_=this.MAX_LATITUDE,S=Math.max(Math.min(_,l.lat),-_),E=Math.sin(S*h);return new We(this.R*l.lng*h,this.R*Math.log((1+E)/(1-E))/2)},unproject:function(l){var h=180/Math.PI;return new jt((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*h,l.x*h/this.R)},bounds:(function(){var l=vi*Math.PI;return new pe([-l,-l],[l,l])})()};function ci(l,h,_,S){if(O(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}ci.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 We((l.x/h-this._b)/this._a,(l.y/h-this._d)/this._c)}};function Si(l,h,_,S){return new ci(l,h,_,S)}var Ni=n({},St,{code:"EPSG:3857",projection:yi,transformation:(function(){var l=.5/(Math.PI*yi.R);return Si(l,.5,-l,.5)})()}),Hi=n({},Ni,{code:"EPSG:900913"});function Di(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function bi(l,h){var _="",S,E,R,ee,me,Fe;for(S=0,R=l.length;S<R;S++){for(me=l[S],E=0,ee=me.length;E<ee;E++)Fe=me[E],_+=(E?"L":"M")+Fe.x+" "+Fe.y;_+=h?De.svg?"z":"x":""}return _||"M0 0"}var ki=document.documentElement.style,Je="ActiveXObject"in window,Ut=Je&&!document.addEventListener,wi="msLaunchUri"in navigator&&!("documentMode"in document),Fi=Pe("webkit"),sn=Pe("android"),Mi=Pe("android 2")||Pe("android 3"),zi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Ai=sn&&Pe("Google")&&zi<537&&!("AudioNode"in window),Qi=!!window.opera,Oi=!wi&&Pe("chrome"),Sn=Pe("gecko")&&!Fi&&!Qi&&!Je,je=!Oi&&Pe("safari"),Gt=Pe("phantom"),pi="OTransition"in ki,Ti=navigator.platform.indexOf("Win")===0,Li=Je&&"transition"in ki,mn="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Mi,Ii="MozPerspective"in ki,Vi=!window.L_DISABLE_3D&&(Li||mn||Ii)&&!pi&&!Gt,Ui=typeof orientation<"u"||Pe("mobile"),tt=Ui&&Fi,ne=Ui&&mn,Ze=!window.PointerEvent&&window.MSPointerEvent,Rt=!!(window.PointerEvent||Ze),Wt="ontouchstart"in window||!!window.TouchEvent,ni=!window.L_NO_TOUCH&&(Wt||Rt),j=Ui&&Qi,le=Ui&&Sn,Me=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,rt=(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})(),vt=(function(){return!!document.createElement("canvas").getContext})(),J=!!(document.createElementNS&&Di("svg").createSVGRect),he=!!J&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),Ee=!J&&(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}})(),oe=navigator.platform.indexOf("Mac")===0,Ve=navigator.platform.indexOf("Linux")===0;function Pe(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var De={ie:Je,ielt9:Ut,edge:wi,webkit:Fi,android:sn,android23:Mi,androidStock:Ai,opera:Qi,chrome:Oi,gecko:Sn,safari:je,phantom:Gt,opera12:pi,win:Ti,ie3d:Li,webkit3d:mn,gecko3d:Ii,any3d:Vi,mobile:Ui,mobileWebkit:tt,mobileWebkit3d:ne,msPointer:Ze,pointer:Rt,touch:ni,touchNative:Wt,mobileOpera:j,mobileGecko:le,retina:Me,passiveEvents:rt,canvas:vt,svg:J,vml:Ee,inlineSvg:he,mac:oe,linux:Ve},gt=De.msPointer?"MSPointerDown":"pointerdown",Bt=De.msPointer?"MSPointerMove":"pointermove",yt=De.msPointer?"MSPointerUp":"pointerup",It=De.msPointer?"MSPointerCancel":"pointercancel",Ot={touchstart:gt,touchmove:Bt,touchend:yt,touchcancel:It},Tt={touchstart:Yt,touchmove:lt,touchend:lt,touchcancel:lt},ti={},Vt=!1;function si(l,h,_){return h==="touchstart"&&qe(),Tt[h]?(_=Tt[h].bind(this,_),l.addEventListener(Ot[h],_,!1),_):(console.warn("wrong event specified:",h),g)}function gi(l,h,_){if(!Ot[h]){console.warn("wrong event specified:",h);return}l.removeEventListener(Ot[h],_,!1)}function di(l){ti[l.pointerId]=l}function re(l){ti[l.pointerId]&&(ti[l.pointerId]=l)}function Be(l){delete ti[l.pointerId]}function qe(){Vt||(document.addEventListener(gt,di,!0),document.addEventListener(Bt,re,!0),document.addEventListener(yt,Be,!0),document.addEventListener(It,Be,!0),Vt=!0)}function lt(l,h){if(h.pointerType!==(h.MSPOINTER_TYPE_MOUSE||"mouse")){h.touches=[];for(var _ in ti)h.touches.push(ti[_]);h.changedTouches=[h],l(h)}}function Yt(l,h){h.MSPOINTER_TYPE_TOUCH&&h.pointerType===h.MSPOINTER_TYPE_TOUCH&&tn(h),lt(l,h)}function Ft(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 zt=200;function Et(l,h){l.addEventListener("dblclick",h);var _=0,S;function E(R){if(R.detail!==1){S=R.detail;return}if(!(R.pointerType==="mouse"||R.sourceCapabilities&&!R.sourceCapabilities.firesTouchEvents)){var ee=Bs(R);if(!(ee.some(function(Fe){return Fe instanceof HTMLLabelElement&&Fe.attributes.for})&&!ee.some(function(Fe){return Fe instanceof HTMLInputElement||Fe instanceof HTMLSelectElement}))){var me=Date.now();me-_<=zt?(S++,S===2&&h(Ft(R))):S=1,_=me}}}return l.addEventListener("click",E),{dblclick:h,simDblclick:E}}function ei(l,h){l.removeEventListener("dblclick",h.dblclick),l.removeEventListener("click",h.simDblclick)}var N=Ie(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),Z=Ie(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),ce=Z==="webkitTransition"||Z==="OTransition"?Z+"End":"transitionend";function q(l){return typeof l=="string"?document.getElementById(l):l}function H(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 te(l){var h=l.parentNode;h&&h.removeChild(l)}function ye(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function Q(l){var h=l.parentNode;h&&h.lastChild!==l&&h.appendChild(l)}function ae(l){var h=l.parentNode;h&&h.firstChild!==l&&h.insertBefore(l,h.firstChild)}function Oe(l,h){if(l.classList!==void 0)return l.classList.contains(h);var _=W(l);return _.length>0&&new RegExp("(^|\\s)"+h+"(\\s|$)").test(_)}function de(l,h){if(l.classList!==void 0)for(var _=y(h),S=0,E=_.length;S<E;S++)l.classList.add(_[S]);else if(!Oe(l,h)){var R=W(l);Qe(l,(R?R+" ":"")+h)}}function _e(l,h){l.classList!==void 0?l.classList.remove(h):Qe(l,w((" "+W(l)+" ").replace(" "+h+" "," ")))}function Qe(l,h){l.className.baseVal===void 0?l.className=h:l.className.baseVal=h}function W(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function Y(l,h){"opacity"in l.style?l.style.opacity=h:"filter"in l.style&&ue(l,h)}function ue(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 Ie(l){for(var h=document.documentElement.style,_=0;_<l.length;_++)if(l[_]in h)return l[_];return!1}function Ce(l,h,_){var S=h||new We(0,0);l.style[N]=(De.ie3d?"translate("+S.x+"px,"+S.y+"px)":"translate3d("+S.x+"px,"+S.y+"px,0)")+(_?" scale("+_+")":"")}function ke(l,h){l._leaflet_pos=h,De.any3d?Ce(l,h):(l.style.left=h.x+"px",l.style.top=h.y+"px")}function dt(l){return l._leaflet_pos||new We(0,0)}var it,$e,xt;if("onselectstart"in document)it=function(){et(window,"selectstart",tn)},$e=function(){oi(window,"selectstart",tn)};else{var nt=Ie(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);it=function(){if(nt){var l=document.documentElement.style;xt=l[nt],l[nt]="none"}},$e=function(){nt&&(document.documentElement.style[nt]=xt,xt=void 0)}}function be(){et(window,"dragstart",tn)}function Ae(){oi(window,"dragstart",tn)}var Ne,ze;function Mt(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(Te(),Ne=l,ze=l.style.outlineStyle,l.style.outlineStyle="none",et(window,"keydown",Te))}function Te(){Ne&&(Ne.style.outlineStyle=ze,Ne=void 0,ze=void 0,oi(window,"keydown",Te))}function Ke(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function ut(l){var h=l.getBoundingClientRect();return{x:h.width/l.offsetWidth||1,y:h.height/l.offsetHeight||1,boundingClientRect:h}}var ht={__proto__:null,TRANSFORM:N,TRANSITION:Z,TRANSITION_END:ce,get:q,getStyle:H,create:G,remove:te,empty:ye,toFront:Q,toBack:ae,hasClass:Oe,addClass:de,removeClass:_e,setClass:Qe,getClass:W,setOpacity:Y,testProp:Ie,setTransform:Ce,setPosition:ke,getPosition:dt,get disableTextSelection(){return it},get enableTextSelection(){return $e},disableImageDrag:be,enableImageDrag:Ae,preventOutline:Mt,restoreOutline:Te,getSizedParentNode:Ke,getScale:ut};function et(l,h,_,S){if(h&&typeof h=="object")for(var E in h)pn(l,E,h[E],_);else{h=y(h);for(var R=0,ee=h.length;R<ee;R++)pn(l,h[R],_,S)}return this}var Qt="_leaflet_events";function oi(l,h,_,S){if(arguments.length===1)an(l),delete l[Qt];else if(h&&typeof h=="object")for(var E in h)Wn(l,E,h[E],_);else if(h=y(h),arguments.length===2)an(l,function(me){return K(h,me)!==-1});else for(var R=0,ee=h.length;R<ee;R++)Wn(l,h[R],_,S);return this}function an(l,h){for(var _ in l[Qt]){var S=_.split(/\d/)[0];(!h||h(S))&&Wn(l,S,null,null,_)}}var qi={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function pn(l,h,_,S){var E=h+d(_)+(S?"_"+d(S):"");if(l[Qt]&&l[Qt][E])return this;var R=function(me){return _.call(S||l,me||window.event)},ee=R;!De.touchNative&&De.pointer&&h.indexOf("touch")===0?R=si(l,h,R):De.touch&&h==="dblclick"?R=Et(l,R):"addEventListener"in l?h==="touchstart"||h==="touchmove"||h==="wheel"||h==="mousewheel"?l.addEventListener(qi[h]||h,R,De.passiveEvents?{passive:!1}:!1):h==="mouseenter"||h==="mouseleave"?(R=function(me){me=me||window.event,Xn(l,me)&&ee(me)},l.addEventListener(qi[h],R,!1)):l.addEventListener(h,ee,!1):l.attachEvent("on"+h,R),l[Qt]=l[Qt]||{},l[Qt][E]=R}function Wn(l,h,_,S,E){E=E||h+d(_)+(S?"_"+d(S):"");var R=l[Qt]&&l[Qt][E];if(!R)return this;!De.touchNative&&De.pointer&&h.indexOf("touch")===0?gi(l,h,R):De.touch&&h==="dblclick"?ei(l,R):"removeEventListener"in l?l.removeEventListener(qi[h]||h,R,!1):l.detachEvent("on"+h,R),l[Qt][E]=null}function ji(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function hi(l){return pn(l,"wheel",ji),this}function ln(l){return et(l,"mousedown touchstart dblclick contextmenu",ji),l._leaflet_disable_click=!0,this}function tn(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function es(l){return tn(l),ji(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 We(l.clientX,l.clientY);var _=ut(h),S=_.boundingClientRect;return new We((l.clientX-S.left)/_.x-h.clientLeft,(l.clientY-S.top)/_.y-h.clientTop)}var Ko=De.linux&&De.chrome?window.devicePixelRatio:De.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function dr(l){return De.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:et,off:oi,stopPropagation:ji,disableScrollPropagation:hi,disableClickPropagation:ln,preventDefault:tn,stop:es,getPropagationPath:Bs,getMousePosition:ho,getWheelDelta:dr,isExternalTarget:Xn,addListener:et,removeListener:oi},ur=At.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=dt(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=He(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(),ke(this._el,_),this.fire("step")},_complete:function(){st(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),gn=At.extend({options:{crs:Ni,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(Pt(h.center),h.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=Z&&De.any3d&&!De.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),et(this._proxy,ce,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(Pt(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||(De.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,h)},zoomOut:function(l,h){return l=l||(De.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,h)},setZoomAround:function(l,h,_){var S=this.getZoomScale(h),E=this.getSize().divideBy(2),R=l instanceof We?l:this.latLngToContainerPoint(l),ee=R.subtract(E).multiplyBy(1-1/S),me=this.containerPointToLatLng(E.add(ee));return this.setView(me,h,{zoom:_})},_getBoundsCenterZoom:function(l,h){h=h||{},l=l.getBounds?l.getBounds():Jt(l);var _=Xe(h.paddingTopLeft||h.padding||[0,0]),S=Xe(h.paddingBottomRight||h.padding||[0,0]),E=this.getBoundsZoom(l,!1,_.add(S));if(E=typeof h.maxZoom=="number"?Math.min(h.maxZoom,E):E,E===1/0)return{center:l.getCenter(),zoom:E};var R=S.subtract(_).divideBy(2),ee=this.project(l.getSouthWest(),E),me=this.project(l.getNorthEast(),E),Fe=this.unproject(ee.add(me).divideBy(2).add(R),E);return{center:Fe,zoom:E}},fitBounds:function(l,h){if(l=Jt(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=Xe(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){de(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||!De.any3d)return this.setView(l,h,_);this._stop();var S=this.project(this.getCenter()),E=this.project(l),R=this.getSize(),ee=this._zoom;l=Pt(l),h=h===void 0?ee:h;var me=Math.max(R.x,R.y),Fe=me*this.getZoomScale(ee,h),pt=E.distanceTo(S)||1,mi=1.42,en=mi*mi;function kn(As){var G_=As?-1:1,TA=As?Fe:me,PA=Fe*Fe-me*me+G_*en*en*pt*pt,MA=2*TA*en*pt,mw=PA/MA,nL=Math.sqrt(mw*mw+1)-mw,RA=nL<1e-9?-18:Math.log(nL);return RA}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 th(As){return me*(Ks(No)/Ks(No+mi*As))}function LA(As){return me*(Ks(No)*fr(No+mi*As)-So(No))/en}function IA(As){return 1-Math.pow(1-As,1.5)}var EA=Date.now(),tL=(kn(1)-No)/mi,DA=_.duration?1e3*_.duration:1e3*tL*.8;function iL(){var As=(Date.now()-EA)/DA,G_=IA(As)*tL;As<=1?(this._flyToFrame=He(iL,this),this._move(this.unproject(S.add(E.subtract(S).multiplyBy(LA(G_)/pt)),ee),this.getScaleZoom(me/th(G_),ee),{flyTo:!0})):this._move(l,h)._moveEnd(!0)}return this._moveStart(!0,_.noMoveStart),iL.call(this),this},flyToBounds:function(l,h){var _=this._getBoundsCenterZoom(l,h);return this.flyTo(_.center,_.zoom,h)},setMaxBounds:function(l){return l=Jt(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,Jt(l));return _.equals(S)||this.panTo(S,h),this._enforcingBounds=!1,this},panInside:function(l,h){h=h||{};var _=Xe(h.paddingTopLeft||h.padding||[0,0]),S=Xe(h.paddingBottomRight||h.padding||[0,0]),E=this.project(this.getCenter()),R=this.project(l),ee=this.getPixelBounds(),me=ot([ee.min.add(_),ee.max.subtract(S)]),Fe=me.getSize();if(!me.contains(R)){this._enforcingBounds=!0;var pt=R.subtract(me.getCenter()),mi=me.extend(R).getSize().subtract(Fe);E.x+=pt.x<0?-mi.x:mi.x,E.y+=pt.y<0?-mi.y:mi.y,this.panTo(this.unproject(E),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(),E=_.divideBy(2).round(),R=S.subtract(E);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 jt(h,_),E=S.toBounds(l.coords.accuracy*2),R=this._locateOptions;if(R.setView){var ee=this.getBoundsZoom(E);this.setView(S,R.maxZoom?Math.min(ee,R.maxZoom):ee)}var me={latlng:S,bounds:E,timestamp:l.timestamp};for(var Fe in l.coords)typeof l.coords[Fe]=="number"&&(me[Fe]=l.coords[Fe]);this.fire("locationfound",me)}},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(),te(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(st(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)te(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 kt(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=Jt(l),_=Xe(_||[0,0]);var S=this.getZoom()||0,E=this.getMinZoom(),R=this.getMaxZoom(),ee=l.getNorthWest(),me=l.getSouthEast(),Fe=this.getSize().subtract(_),pt=ot(this.project(me,S),this.project(ee,S)).getSize(),mi=De.any3d?this.options.zoomSnap:1,en=Fe.x/pt.x,kn=Fe.y/pt.y,So=h?Math.max(en,kn):Math.min(en,kn);return S=this.getScaleZoom(So,S),mi&&(S=Math.round(S/(mi/100))*(mi/100),S=h?Math.ceil(S/mi)*mi:Math.floor(S/mi)*mi),Math.max(E,Math.min(R,S))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new We(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 pe(_,_.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(Pt(l),h)},unproject:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.pointToLatLng(Xe(l),h)},layerPointToLatLng:function(l){var h=Xe(l).add(this.getPixelOrigin());return this.unproject(h)},latLngToLayerPoint:function(l){var h=this.project(Pt(l))._round();return h._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(Pt(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(Jt(l))},distance:function(l,h){return this.options.crs.distance(Pt(l),Pt(h))},containerPointToLayerPoint:function(l){return Xe(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return Xe(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var h=this.containerPointToLayerPoint(Xe(l));return this.layerPointToLatLng(h)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Pt(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=q(l);if(h){if(h._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");et(h,"scroll",this._onScroll,this),this._containerId=d(h)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&De.any3d,de(l,"leaflet-container"+(De.touch?" leaflet-touch":"")+(De.retina?" leaflet-retina":"")+(De.ielt9?" leaflet-oldie":"")+(De.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var h=H(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),ke(this._mapPane,new We(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(de(l.markerPane,"leaflet-zoom-hide"),de(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,h,_){ke(this._mapPane,new We(0,0));var S=!this._loaded;this._loaded=!0,h=this._limitZoom(h),this.fire("viewprereset");var E=this._zoom!==h;this._moveStart(E,_)._move(l,h)._moveEnd(E),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 E=this._zoom!==h;return this._zoom=h,this._lastCenter=l,this._pixelOrigin=this._getNewPixelOrigin(l),S?_&&_.pinch&&this.fire("zoom",_):((E||_&&_.pinch)&&this.fire("zoom",_),this.fire("move",_)),this},_moveEnd:function(l){return l&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return st(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){ke(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?oi:et;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),De.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){st(this._resizeRequest),this._resizeRequest=He(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,E=h==="mouseout"||h==="mouseover",R=l.target||l.srcElement,ee=!1;R;){if(S=this._targets[d(R)],S&&(h==="click"||h==="preclick")&&this._draggableMoved(S)){ee=!0;break}if(S&&S.listens(h,!0)&&(E&&!Xn(R,l)||(_.push(S),E))||R===this._container)break;R=R.parentNode}return!_.length&&!ee&&!E&&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"&&Mt(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 E=this._findEventTargets(l,h);if(_){for(var R=[],ee=0;ee<_.length;ee++)_[ee].listens(h,!0)&&R.push(_[ee]);E=R.concat(E)}if(E.length){h==="contextmenu"&&tn(l);var me=E[0],Fe={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var pt=me.getLatLng&&(!me._radius||me._radius<=10);Fe.containerPoint=pt?this.latLngToContainerPoint(me.getLatLng()):this.mouseEventToContainerPoint(l),Fe.layerPoint=this.containerPointToLayerPoint(Fe.containerPoint),Fe.latlng=pt?me.getLatLng():this.layerPointToLatLng(Fe.layerPoint)}for(ee=0;ee<E.length;ee++)if(E[ee].fire(h,Fe,!0),Fe.originalEvent._stopped||E[ee].options.bubblingMouseEvents===!1&&K(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 dt(this._mapPane)||new We(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 ot([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),E=this.getSize().divideBy(2),R=new pe(S.subtract(E),S.add(E)),ee=this._getBoundsOffset(R,_,h);return Math.abs(ee.x)<=1&&Math.abs(ee.y)<=1?l:this.unproject(S.add(ee),h)},_limitOffset:function(l,h){if(!h)return l;var _=this.getPixelBounds(),S=new pe(_.min.add(l),_.max.add(l));return l.add(this._getBoundsOffset(S,h))},_getBoundsOffset:function(l,h,_){var S=ot(this.project(h.getNorthEast(),_),this.project(h.getSouthWest(),_)),E=S.min.subtract(l.min),R=S.max.subtract(l.max),ee=this._rebound(E.x,-R.x),me=this._rebound(E.y,-R.y);return new We(ee,me)},_rebound:function(l,h){return l+h>0?Math.round(l-h)/2:Math.max(0,Math.ceil(l))-Math.max(0,Math.floor(h))},_limitZoom:function(l){var h=this.getMinZoom(),_=this.getMaxZoom(),S=De.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(){_e(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[_];Ce(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(){te(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),h=this.getZoom();Ce(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),E=this._getCenterOffset(l)._divideBy(1-1/S);return _.animate!==!0&&!this.getSize().contains(E)?!1:(He(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,de(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&&_e(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=Le.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 de(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?(te(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(E,R){var ee=h+E+" "+h+R;l[E+R]=G("div",ee,_)}S("top","left"),S("top","right"),S("bottom","left"),S("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)te(this._controlCorners[l]);te(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(){de(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?(de(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):_e(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return _e(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),hi(h);var S=this._section=G("section",l+"-list");_&&(this._map.on("click",this.collapse,this),et(h,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var E=this._layersLink=G("a",l+"-toggle",h);E.href="#",E.title="Layers",E.setAttribute("role","button"),et(E,{keydown:function(R){R.keyCode===13&&this._expandSafely()},click:function(R){tn(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,E){return this.options.sortFunction(S.layer,E.layer,S.name,E.name)},this)),this.options.autoZIndex&&l.setZIndex&&(this._lastZIndex++,l.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;ye(this._baseLayersList),ye(this._overlaysList),this._layerControlInputs=[];var l,h,_,S,E=0;for(_=0;_<this._layers.length;_++)S=this._layers[_],this._addItem(S),h=h||S.overlay,l=l||!S.overlay,E+=S.overlay?0:1;return this.options.hideSingleBase&&(l=l&&E>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),et(S,"click",this._onInputClick,this);var E=document.createElement("span");E.innerHTML=" "+l.name;var R=document.createElement("span");h.appendChild(R),R.appendChild(S),R.appendChild(E);var ee=l.overlay?this._overlaysList:this._baseLayersList;return ee.appendChild(h),this._checkDisabledLayers(),h},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,h,_,S=[],E=[];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||E.push(_);for(R=0;R<E.length;R++)this._map.hasLayer(E[R])&&this._map.removeLayer(E[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(),E=l.length-1;E>=0;E--)h=l[E],_=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,et(l,"click",tn),this.expand();var h=this;setTimeout(function(){oi(l,"click",tn),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">−</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,E){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),et(R,"click",es),et(R,"click",E,this),et(R,"click",this._refocusOnMap,this),R},_updateDisabled:function(){var l=this._map,h="leaflet-disabled";_e(this._zoomInButton,h),_e(this._zoomOutButton,h),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(de(this._zoomOutButton,h),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(de(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,E;h>5280?(_=h/5280,S=this._getRoundNum(_),this._updateScale(this._iScale,S+" mi",S/_)):(E=this._getRoundNum(h),this._updateScale(this._iScale,E+" ft",E/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">'+(De.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=Le.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:ct},ig=De.touch?"touchstart mousedown":"mousedown",Yo=At.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||(et(this._dragStartTarget,ig,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Yo._dragging===this&&this.finishDrag(!0),oi(this._dragStartTarget,ig,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!Oe(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&&Mt(this._element),be(),it(),!this._moving)){this.fire("down");var h=l.touches?l.touches[0]:l,_=Ke(this._element);this._startPoint=new We(h.clientX,h.clientY),this._startPos=dt(this._element),this._parentScale=ut(_);var S=l.type==="mousedown";et(document,S?"mousemove":"touchmove",this._onMove,this),et(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 We(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,tn(l),this._moved||(this.fire("dragstart"),this._moved=!0,de(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),de(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),ke(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){_e(document.body,"leaflet-dragging"),this._lastTarget&&(_e(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),oi(document,"mousemove touchmove",this._onMove,this),oi(document,"mouseup touchend touchcancel",this._onUp,this),Ae(),$e();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,E=[1,4,2,8],R,ee,me,Fe,pt,mi,en,kn;for(R=0,mi=l.length;R<mi;R++)l[R]._code=Ya(l[R],h);for(me=0;me<4;me++){for(en=E[me],S=[],R=0,mi=l.length,ee=mi-1;R<mi;ee=R++)Fe=l[R],pt=l[ee],Fe._code&en?pt._code&en||(kn=jc(pt,Fe,en,h,_),kn._code=Ya(kn,h),S.push(kn)):(pt._code&en&&(kn=jc(pt,Fe,en,h,_),kn._code=Ya(kn,h),S.push(kn)),S.push(Fe));l=S}return l}function ng(l,h){var _,S,E,R,ee,me,Fe,pt,mi;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 en=Pt([0,0]),kn=Jt(l),So=kn.getNorthWest().distanceTo(kn.getSouthWest())*kn.getNorthEast().distanceTo(kn.getNorthWest());So<1700&&(en=sg(l));var Ks=l.length,fr=[];for(_=0;_<Ks;_++){var No=Pt(l[_]);fr.push(h.project(Pt([No.lat-en.lat,No.lng-en.lng])))}for(me=Fe=pt=0,_=0,S=Ks-1;_<Ks;S=_++)E=fr[_],R=fr[S],ee=E.y*R.x-R.y*E.x,Fe+=(E.x+R.x)*ee,pt+=(E.y+R.y)*ee,me+=ee*3;me===0?mi=fr[0]:mi=[Fe/me,pt/me];var th=h.unproject(Xe(mi));return Pt([th.lat+en.lat,th.lng+en.lng])}function sg(l){for(var h=0,_=0,S=0,E=0;E<l.length;E++){var R=Pt(l[E]);h+=R.lat,_+=R.lng,S++}return Pt([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,E=new S(_);E[0]=E[_-1]=1,ag(l,E,h,0,_-1);var R,ee=[];for(R=0;R<_;R++)E[R]&&ee.push(l[R]);return ee}function ag(l,h,_,S,E){var R=0,ee,me,Fe;for(me=S+1;me<=E-1;me++)Fe=$c(l[me],l[S],l[E],!0),Fe>R&&(ee=me,R=Fe);R>_&&(h[ee]=1,ag(l,h,_,S,ee),ag(l,h,_,ee,E))}function B_(l,h){for(var _=[l[0]],S=1,E=0,R=l.length;S<R;S++)z_(l[S],l[E])>h&&(_.push(l[S]),E=S);return E<R-1&&_.push(l[R-1]),_}var lg;function cg(l,h,_,S,E){var R=S?lg:Ya(l,_),ee=Ya(h,_),me,Fe,pt;for(lg=ee;;){if(!(R|ee))return[l,h];if(R&ee)return!1;me=R||ee,Fe=jc(l,h,me,_,E),pt=Ya(Fe,_),me===R?(l=Fe,R=pt):(h=Fe,ee=pt)}}function jc(l,h,_,S,E){var R=h.x-l.x,ee=h.y-l.y,me=S.min,Fe=S.max,pt,mi;return _&8?(pt=l.x+R*(Fe.y-l.y)/ee,mi=Fe.y):_&4?(pt=l.x+R*(me.y-l.y)/ee,mi=me.y):_&2?(pt=Fe.x,mi=l.y+ee*(Fe.x-l.x)/R):_&1&&(pt=me.x,mi=l.y+ee*(me.x-l.x)/R),new We(pt,mi,E)}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 E=h.x,R=h.y,ee=_.x-E,me=_.y-R,Fe=ee*ee+me*me,pt;return Fe>0&&(pt=((l.x-E)*ee+(l.y-R)*me)/Fe,pt>1?(E=_.x,R=_.y):pt>0&&(E+=ee*pt,R+=me*pt)),ee=l.x-E,me=l.y-R,S?ee*ee+me*me:new We(E,R)}function Ro(l){return!O(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 Xu(l,h){var _,S,E,R,ee,me,Fe,pt;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 mi=Pt([0,0]),en=Jt(l),kn=en.getNorthWest().distanceTo(en.getSouthWest())*en.getNorthEast().distanceTo(en.getNorthWest());kn<1700&&(mi=sg(l));var So=l.length,Ks=[];for(_=0;_<So;_++){var fr=Pt(l[_]);Ks.push(h.project(Pt([fr.lat-mi.lat,fr.lng-mi.lng])))}for(_=0,S=0;_<So-1;_++)S+=Ks[_].distanceTo(Ks[_+1])/2;if(S===0)pt=Ks[0];else for(_=0,R=0;_<So-1;_++)if(ee=Ks[_],me=Ks[_+1],E=ee.distanceTo(me),R+=E,R>S){Fe=(R-S)/E,pt=[me.x-Fe*(me.x-ee.x),me.y-Fe*(me.y-ee.y)];break}var No=h.unproject(Xe(pt));return Pt([No.lat+mi.lat,No.lng+mi.lng])}var j_={__proto__:null,simplify:og,pointToSegmentDistance:H_,closestPointOnSegment:rg,clipSegment:cg,_getEdgeIntersection:jc,_getBitCode:Ya,_sqClosestPointOnSegment:$c,isFlat:Ro,_flat:V_,polylineCenter:Xu},Yu={project:function(l){return new We(l.lng,l.lat)},unproject:function(l){return new jt(l.y,l.x)},bounds:new pe([-180,-90],[180,90])},Qu={R:6378137,R_MINOR:6356752314245179e-9,bounds:new pe([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(l){var h=Math.PI/180,_=this.R,S=l.lat*h,E=this.R_MINOR/_,R=Math.sqrt(1-E*E),ee=R*Math.sin(S),me=Math.tan(Math.PI/4-S/2)/Math.pow((1-ee)/(1+ee),R/2);return S=-_*Math.log(Math.max(me,1e-10)),new We(l.lng*h*_,S)},unproject:function(l){for(var h=180/Math.PI,_=this.R,S=this.R_MINOR/_,E=Math.sqrt(1-S*S),R=Math.exp(-l.y/_),ee=Math.PI/2-2*Math.atan(R),me=0,Fe=.1,pt;me<15&&Math.abs(Fe)>1e-7;me++)pt=E*Math.sin(ee),pt=Math.pow((1-pt)/(1+pt),E/2),Fe=Math.PI/2-2*Math.atan(R*pt)-ee,ee+=Fe;return new jt(ee*h,l.x*h/_)}},hw={__proto__:null,LonLat:Yu,Mercator:Qu,SphericalMercator:yi},$_=n({},St,{code:"EPSG:3395",projection:Qu,transformation:(function(){var l=.5/(Math.PI*Qu.R);return Si(l,.5,-l,.5)})()}),Ju=n({},St,{code:"EPSG:4326",projection:Yu,transformation:Si(1/180,1,-1/180,.5)}),U_=n({},Lt,{projection:Yu,transformation:Si(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});Lt.Earth=St,Lt.EPSG3395=$_,Lt.EPSG3857=Ni,Lt.EPSG900913=Hi,Lt.EPSG4326=Ju,Lt.Simple=U_;var Qo=At.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?O(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 E=this._zoomBoundLayers[S].options;l=E.minZoom===void 0?l:Math.min(l,E.minZoom),h=E.maxZoom===void 0?h:Math.max(h,E.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 kt;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=Le.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 E=Xe(S),R=Xe(h==="shadow"&&_.shadowAnchor||_.iconAnchor||E&&E.divideBy(2,!0));l.className="leaflet-marker-"+h+" "+(_.className||""),R&&(l.style.marginLeft=-R.x+"px",l.style.marginTop=-R.y+"px"),E&&(l.style.width=E.x+"px",l.style.height=E.y+"px")},_createImg:function(l,h){return h=h||document.createElement("img"),h.src=l,h},_getIconUrl:function(l){return De.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,E){var R=S.exec(_);return R&&R[E]};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=H(l,"background-image")||H(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(),de(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&&_e(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,E=this._marker.options.autoPanPadding,R=dt(h._icon),ee=_.getPixelBounds(),me=_.getPixelOrigin(),Fe=ot(ee.min._subtract(me).add(E),ee.max._subtract(me).subtract(E));if(!Fe.contains(R)){var pt=Xe((Math.max(Fe.max.x,R.x)-Fe.max.x)/(ee.max.x-Fe.max.x)-(Math.min(Fe.min.x,R.x)-Fe.min.x)/(ee.min.x-Fe.min.x),(Math.max(Fe.max.y,R.y)-Fe.max.y)/(ee.max.y-Fe.max.y)-(Math.min(Fe.min.y,R.y)-Fe.min.y)/(ee.min.y-Fe.min.y)).multiplyBy(S);_.panBy(pt,{animate:!1}),this._draggable._newPos._add(pt),this._draggable._startPos._add(pt),ke(h._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=He(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&&(st(this._panRequest),this._panRequest=He(this._adjustPan.bind(this,l)))},_onDrag:function(l){var h=this._marker,_=h._shadow,S=dt(h._icon),E=h._map.layerPointToLatLng(S);_&&ke(_,S),h._latlng=E,l.latlng=E,l.oldLatLng=this._oldLatLng,h.fire("move",l).fire("drag",l)},_onDragEnd:function(l){st(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),fe=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=Pt(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=Pt(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||"")),de(_,h),l.keyboard&&(_.tabIndex="0",_.setAttribute("role","button")),this._icon=_,l.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&et(_,"focus",this._panOnFocus,this);var E=l.icon.createShadow(this._shadow),R=!1;E!==this._shadow&&(this._removeShadow(),R=!0),E&&(de(E,h),E.alt=""),this._shadow=E,l.opacity<1&&this._updateOpacity(),S&&this.getPane().appendChild(this._icon),this._initInteraction(),E&&R&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&oi(this._icon,"focus",this._panOnFocus,this),te(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&te(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&ke(this._icon,l),this._shadow&&ke(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&&(de(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&&Y(this._icon,l),this._shadow&&Y(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?Xe(h.iconSize):Xe(0,0),S=h.iconAnchor?Xe(h.iconAnchor):Xe(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 Ue(l,h){return new fe(l,h)}var xe=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)}}),Ct=xe.extend({options:{fill:!0,radius:10},initialize:function(l,h){x(this,h),this._latlng=Pt(l),this._radius=this.options.radius},setLatLng:function(l){var h=this._latlng;return this._latlng=Pt(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 xe.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 pe(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 ri(l,h){return new Ct(l,h)}var _i=Ct.extend({initialize:function(l,h,_){if(typeof h=="number"&&(h=n({},_,{radius:h})),x(this,h),this._latlng=Pt(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 kt(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:xe.prototype.setStyle,_project:function(){var l=this._latlng.lng,h=this._latlng.lat,_=this._map,S=_.options.crs;if(S.distance===St.distance){var E=Math.PI/180,R=this._mRadius/St.R/E,ee=_.project([h+R,l]),me=_.project([h-R,l]),Fe=ee.add(me).divideBy(2),pt=_.unproject(Fe).lat,mi=Math.acos((Math.cos(R*E)-Math.sin(h*E)*Math.sin(pt*E))/(Math.cos(h*E)*Math.cos(pt*E)))/E;(isNaN(mi)||mi===0)&&(mi=R/Math.cos(Math.PI/180*h)),this._point=Fe.subtract(_.getPixelOrigin()),this._radius=isNaN(mi)?0:Fe.x-_.project([pt,l-mi]).x,this._radiusY=Fe.y-ee.y}else{var en=S.unproject(S.project(this._latlng).subtract([this._mRadius,0]));this._point=_.latLngToLayerPoint(this._latlng),this._radius=this._point.x-_.latLngToLayerPoint(en).x}this._updateBounds()}});function cn(l,h,_){return new _i(l,h,_)}var Zi=xe.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,E,R,ee=0,me=this._parts.length;ee<me;ee++)for(var Fe=this._parts[ee],pt=1,mi=Fe.length;pt<mi;pt++){E=Fe[pt-1],R=Fe[pt];var en=S(l,E,R,!0);en<h&&(h=en,_=S(l,E,R))}return _&&(_.distance=Math.sqrt(h)),_},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return Xu(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,h){return h=h||this._defaultShape(),l=Pt(l),h.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new kt,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,E=l.length;S<E;S++)_?(h[S]=Pt(l[S]),this._bounds.extend(h[S])):h[S]=this._convertLatLngs(l[S]);return h},_project:function(){var l=new pe;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 We(l,l);this._rawPxBounds&&(this._pxBounds=new pe([this._rawPxBounds.min.subtract(h),this._rawPxBounds.max.add(h)]))},_projectLatlngs:function(l,h,_){var S=l[0]instanceof jt,E=l.length,R,ee;if(S){for(ee=[],R=0;R<E;R++)ee[R]=this._map.latLngToLayerPoint(l[R]),_.extend(ee[R]);h.push(ee)}else for(R=0;R<E;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,E,R,ee,me,Fe;for(_=0,E=0,R=this._rings.length;_<R;_++)for(Fe=this._rings[_],S=0,ee=Fe.length;S<ee-1;S++)me=cg(Fe[S],Fe[S+1],l,S,!0),me&&(h[E]=h[E]||[],h[E].push(me[0]),(me[1]!==Fe[S+1]||S===ee-2)&&(h[E].push(me[1]),E++))}},_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,E,R,ee,me,Fe=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(_=0,R=this._parts.length;_<R;_++)for(me=this._parts[_],S=0,ee=me.length,E=ee-1;S<ee;E=S++)if(!(!h&&S===0)&&H_(l,me[E],me[S])<=Fe)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 jt&&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 We(h,h);if(l=new pe(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,E=this._rings.length,R;S<E;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,E,R,ee,me,Fe,pt;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(R=0,Fe=this._parts.length;R<Fe;R++)for(_=this._parts[R],ee=0,pt=_.length,me=pt-1;ee<pt;me=ee++)S=_[ee],E=_[me],S.y>l.y!=E.y>l.y&&l.x<(E.x-S.x)*(l.y-S.y)/(E.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 Ji=Vr.extend({initialize:function(l,h){x(this,h),this._layers={},l&&this.addData(l)},addData:function(l){var h=O(l)?l:l.features,_,S,E;if(h){for(_=0,S=h.length;_<S;_++)E=h[_],(E.geometries||E.geometry||E.features||E.coordinates)&&this.addData(E);return this}var R=this.options;if(R.filter&&!R.filter(l))return this;var ee=Bn(l,R);return ee?(ee.feature=ls(l),ee.defaultOptions=ee.options,this.resetStyle(ee),R.onEachFeature&&R.onEachFeature(l,ee),this.addLayer(ee)):this},resetStyle:function(l){return l===void 0?this.eachLayer(this.resetStyle,this):(l.options=n({},l.defaultOptions),this._setLayerStyle(l,this.options.style),this)},setStyle:function(l){return this.eachLayer(function(h){this._setLayerStyle(h,l)},this)},_setLayerStyle:function(l,h){l.setStyle&&(typeof h=="function"&&(h=h(l.feature)),l.setStyle(h))}});function Bn(l,h){var _=l.type==="Feature"?l.geometry:l,S=_?_.coordinates:null,E=[],R=h&&h.pointToLayer,ee=h&&h.coordsToLatLng||Gn,me,Fe,pt,mi;if(!S&&!_)return null;switch(_.type){case"Point":return me=ee(S),Yn(R,l,me,h);case"MultiPoint":for(pt=0,mi=S.length;pt<mi;pt++)me=ee(S[pt]),E.push(Yn(R,l,me,h));return new Vr(E);case"LineString":case"MultiLineString":return Fe=nn(S,_.type==="LineString"?0:1,ee),new Zi(Fe,h);case"Polygon":case"MultiPolygon":return Fe=nn(S,_.type==="Polygon"?1:2,ee),new Xi(Fe,h);case"GeometryCollection":for(pt=0,mi=_.geometries.length;pt<mi;pt++){var en=Bn({geometry:_.geometries[pt],type:"Feature",properties:l.properties},h);en&&E.push(en)}return new Vr(E);case"FeatureCollection":for(pt=0,mi=_.features.length;pt<mi;pt++){var kn=Bn(_.features[pt],h);kn&&E.push(kn)}return new Vr(E);default:throw new Error("Invalid GeoJSON object.")}}function Yn(l,h,_,S){return l?l(h,_):new fe(_,S&&S.markersInheritOptions&&S)}function Gn(l){return new jt(l[1],l[0],l[2])}function nn(l,h,_){for(var S=[],E=0,R=l.length,ee;E<R;E++)ee=h?nn(l[E],h-1,_):(_||Gn)(l[E]),S.push(ee);return S}function gs(l,h){return l=Pt(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 E=[],R=0,ee=l.length;R<ee;R++)E.push(h?zs(l[R],Ro(l[R])?0:h-1,_,S):gs(l[R],S));return!h&&_&&E.length>0&&E.push(E[0].slice()),E}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)})}};fe.include(ss),_i.include(ss),Ct.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(E){if(E.toGeoJSON){var R=E.toGeoJSON(l);if(_)S.push(R.geometry);else{var ee=ls(R);ee.type==="FeatureCollection"?S.push.apply(S,ee.features):S.push(ee)}}}),_?ws(this,{geometries:S,type:"GeometryCollection"}):{type:"FeatureCollection",features:S}}});function ps(l,h){return new Ji(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=Jt(h),x(this,_)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(de(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){te(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&&Q(this._image),this},bringToBack:function(){return this._map&&ae(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=Jt(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(de(h,"leaflet-image-layer"),this._zoomAnimated&&de(h,"leaflet-zoom-animated"),this.options.className&&de(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;Ce(this._image,_,h)},_reset:function(){var l=this._image,h=new pe(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),_=h.getSize();ke(l,h.min),l.style.width=_.x+"px",l.style.height=_.y+"px"},_updateOpacity:function(){Y(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(de(h,"leaflet-image-layer"),this._zoomAnimated&&de(h,"leaflet-zoom-animated"),this.options.className&&de(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onloadeddata=r(this.fire,this,"load"),l){for(var _=h.getElementsByTagName("source"),S=[],E=0;E<_.length;E++)S.push(_[E].src);this._url=_.length>0?S:[h.src];return}O(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 ee=G("source");ee.src=this._url[R],h.appendChild(ee)}}});function js(l,h,_){return new jr(l,h,_)}var xn=Vs.extend({_initImage:function(){var l=this._image=this._url;de(l,"leaflet-image-layer"),this._zoomAnimated&&de(l,"leaflet-zoom-animated"),this.options.className&&de(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 jt||O(l))?(this._latlng=Pt(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&&Y(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&Y(this._container,1),this.bringToFront(),this.options.interactive&&(de(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(Y(this._container,0),this._removeTimeout=setTimeout(r(te,void 0,this._container),200)):te(this._container),this.options.interactive&&(_e(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=Pt(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&&Q(this._container),this},bringToBack:function(){return this._map&&ae(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=Xe(this.options.offset),_=this._getAnchor();this._zoomAnimated?ke(this._container,l.add(_)):h=h.add(l).add(_);var S=this._containerBottom=-h.y,E=this._containerLeft=-Math.round(this._containerWidth/2)+h.x;this._container.style.bottom=S+"px",this._container.style.left=E+"px"}},_getAnchor:function(){return[0,0]}});gn.include({_initOverlay:function(l,h,_,S){var E=h;return E instanceof l||(E=new l(S).setContent(h)),_&&E.setLatLng(_),E}}),Qo.include({_initOverlay:function(l,h,_,S){var E=_;return E instanceof l?(x(E,S),E._source=this):(E=h&&!S?h:new l(S,this),E.setContent(_)),E}});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 xe||this._source.on("preclick",ji))},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 xe||this._source.off("preclick",ji))},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),hi(this._contentNode),et(h,"contextmenu",ji),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">×</span>',et(S,"click",function(E){tn(E),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,E=this.options.maxHeight,R="leaflet-popup-scrolled";E&&S>E?(h.height=E+"px",de(l,R)):_e(l,R),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),_=this._getAnchor();ke(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(H(this._container,"marginBottom"),10)||0,_=this._container.offsetHeight+h,S=this._containerWidth,E=new We(this._containerLeft,-_-this._containerBottom);E._add(dt(this._container));var R=l.layerPointToContainerPoint(E),ee=Xe(this.options.autoPanPadding),me=Xe(this.options.autoPanPaddingTopLeft||ee),Fe=Xe(this.options.autoPanPaddingBottomRight||ee),pt=l.getSize(),mi=0,en=0;R.x+S+Fe.x>pt.x&&(mi=R.x+S-pt.x+Fe.x),R.x-mi-me.x<0&&(mi=R.x-me.x),R.y+_+Fe.y>pt.y&&(en=R.y+_-pt.y+Fe.y),R.y-en-me.y<0&&(en=R.y-me.y),(mi||en)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([mi,en]))}},_getAnchor:function(){return Xe(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 xe)){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,E=this._container,R=S.latLngToContainerPoint(S.getCenter()),ee=S.layerPointToContainerPoint(l),me=this.options.direction,Fe=E.offsetWidth,pt=E.offsetHeight,mi=Xe(this.options.offset),en=this._getAnchor();me==="top"?(h=Fe/2,_=pt):me==="bottom"?(h=Fe/2,_=0):me==="center"?(h=Fe/2,_=pt/2):me==="right"?(h=0,_=pt/2):me==="left"?(h=Fe,_=pt/2):ee.x<R.x?(me="right",h=0,_=pt/2):(me="left",h=Fe+(mi.x+en.x)*2,_=pt/2),l=l.subtract(Xe(h,_,!0)).add(mi).add(en),_e(E,"leaflet-tooltip-right"),_e(E,"leaflet-tooltip-left"),_e(E,"leaflet-tooltip-top"),_e(E,"leaflet-tooltip-bottom"),de(E,"leaflet-tooltip-"+me),ke(E,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&Y(this._container,l)},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(h)},_getAnchor:function(){return Xe(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&&(et(h,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),et(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?(ye(h),h.appendChild(_.html)):h.innerHTML=_.html!==!1?_.html:"",_.bgPos){var S=Xe(_.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:De.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(),te(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(Q(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ae(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 We?l:new We(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,E=h.length,R;S<E;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&&!De.ielt9){Y(this._container,this.options.opacity);var l=+new Date,h=!1,_=!1;for(var S in this._tiles){var E=this._tiles[S];if(!(!E.current||!E.loaded)){var R=Math.min(1,(l-E.loaded)/200);Y(E.el,R),R<1?h=!0:(E.active?_=!0:this._onOpaqueTile(E),E.active=!0)}}_&&!this._noPrune&&this._pruneTiles(),h&&(st(this._fadeFrame),this._fadeFrame=He(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(_)):(te(this._levels[_].el),this._removeTilesAtZoom(_),this._onRemoveLevel(_),delete this._levels[_]);var S=this._levels[l],E=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=E.project(E.unproject(E.getPixelOrigin()),l).round(),S.zoom=l,this._setZoomTransform(S,E.getCenter(),E.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)te(this._levels[l].el),this._onRemoveLevel(Number(l)),delete this._levels[l];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(l,h,_,S){var E=Math.floor(l/2),R=Math.floor(h/2),ee=_-1,me=new We(+E,+R);me.z=+ee;var Fe=this._tileCoordsToKey(me),pt=this._tiles[Fe];return pt&&pt.active?(pt.retain=!0,!0):(pt&&pt.loaded&&(pt.retain=!0),ee>S?this._retainParent(E,R,ee,S):!1)},_retainChildren:function(l,h,_,S){for(var E=2*l;E<2*l+2;E++)for(var R=2*h;R<2*h+2;R++){var ee=new We(E,R);ee.z=_+1;var me=this._tileCoordsToKey(ee),Fe=this._tiles[me];if(Fe&&Fe.active){Fe.retain=!0;continue}else Fe&&Fe.loaded&&(Fe.retain=!0);_+1<S&&this._retainChildren(E,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 E=Math.round(h);this.options.maxZoom!==void 0&&E>this.options.maxZoom||this.options.minZoom!==void 0&&E<this.options.minZoom?E=void 0:E=this._clampZoom(E);var R=this.options.updateWhenZooming&&E!==this._tileZoom;(!S||R)&&(this._tileZoom=E,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),E!==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),E=l.origin.multiplyBy(S).subtract(this._map._getNewPixelOrigin(h,_)).round();De.any3d?Ce(l.el,E,S):ke(l.el,E)},_resetGrid:function(){var l=this._map,h=l.options.crs,_=this._tileSize=this.getTileSize(),S=this._tileZoom,E=this._map.getPixelWorldBounds(this._tileZoom);E&&(this._globalTileRange=this._pxBoundsToTileRange(E)),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),E=h.project(l,this._tileZoom).floor(),R=h.getSize().divideBy(S*2);return new pe(E.subtract(R),E.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),E=this._pxBoundsToTileRange(S),R=E.getCenter(),ee=[],me=this.options.keepBuffer,Fe=new pe(E.getBottomLeft().subtract([me,-me]),E.getTopRight().add([me,-me]));if(!(isFinite(E.min.x)&&isFinite(E.min.y)&&isFinite(E.max.x)&&isFinite(E.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var pt in this._tiles){var mi=this._tiles[pt].coords;(mi.z!==this._tileZoom||!Fe.contains(new We(mi.x,mi.y)))&&(this._tiles[pt].current=!1)}if(Math.abs(_-this._tileZoom)>1){this._setView(l,_);return}for(var en=E.min.y;en<=E.max.y;en++)for(var kn=E.min.x;kn<=E.max.x;kn++){var So=new We(kn,en);if(So.z=this._tileZoom,!!this._isValidTile(So)){var Ks=this._tiles[this._tileCoordsToKey(So)];Ks?Ks.current=!0:ee.push(So)}}if(ee.sort(function(No,th){return No.distanceTo(R)-th.distanceTo(R)}),ee.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var fr=document.createDocumentFragment();for(kn=0;kn<ee.length;kn++)this._addTile(ee[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 Jt(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(_),E=S.add(_),R=h.unproject(S,l.z),ee=h.unproject(E,l.z);return[R,ee]},_tileCoordsToBounds:function(l){var h=this._tileCoordsToNwSe(l),_=new kt(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 We(+h[0],+h[1]);return _.z=+h[2],_},_removeTile:function(l){var h=this._tiles[l];h&&(te(h.el),delete this._tiles[l],this.fire("tileunload",{tile:h.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){de(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,De.ielt9&&this.options.opacity<1&&Y(l,this.options.opacity)},_addTile:function(l,h){var _=this._getTilePos(l),S=this._tileCoordsToKey(l),E=this.createTile(this._wrapCoords(l),r(this._tileReady,this,l));this._initTile(E),this.createTile.length<2&&He(r(this._tileReady,this,l,null,E)),ke(E,_),this._tiles[S]={el:E,coords:l,current:!0},h.appendChild(E),this.fire("tileloadstart",{tile:E,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?(Y(_.el,0),st(this._fadeFrame),this._fadeFrame=He(this._updateOpacity,this)):(_.active=!0,this._pruneTiles()),h||(de(_.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:_.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),De.ielt9||!this._map._fadeAnimated?He(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 We(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 pe(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&&De.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 et(_,"load",r(this._tileOnLoad,this,h,_)),et(_,"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:De.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 M(this._url,n(h,this.options))},_tileOnLoad:function(l,h){De.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=V;var _=this._tiles[l].coords;te(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",V),qc.prototype._removeTile.call(this,l)},_tileReady:function(l,h,_){if(!(!this._map||_&&_.getAttribute("src")===V))return qc.prototype._tileReady.call(this,l,h,_)}});function Gc(l,h){return new ms(l,h)}var eh=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 E=h.detectRetina&&De.retina?2:1,R=this.getTileSize();_.width=R.x*E,_.height=R.y*E,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=ot(_.project(h[0]),_.project(h[1])),E=S.min,R=S.max,ee=(this._wmsVersion>=1.3&&this._crs===Ju?[E.y,E.x,R.y,R.x]:[E.x,E.y,R.x,R.y]).join(","),me=ms.prototype.getTileUrl.call(this,l);return me+k(this.wmsParams,me,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+ee},setParams:function(l,h){return n(this.wmsParams,l),h||this.redraw(),this}});function wA(l,h){return new eh(l,h)}ms.WMS=eh,Gc.wms=wA;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(),de(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),E=this._map.project(this._center,h),R=S.multiplyBy(-_).add(E).subtract(this._map._getNewPixelOrigin(l,h));De.any3d?Ce(this._container,R,_):ke(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 pe(_,_.add(h.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),$k=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");et(l,"mousemove",this._onMouseMove,this),et(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),et(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){st(this._redrawRequest),delete this._ctx,te(this._container),oi(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=De.retina?2:1;ke(h,l.min),h.width=S*_.x,h.height=S*_.y,h.style.width=_.x+"px",h.style.height=_.y+"px",De.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,E;for(E=0;E<h.length;E++){if(S=Number(h[E]),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||He(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var h=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new pe,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,E,R,ee=l._parts,me=ee.length,Fe=this._ctx;if(me){for(Fe.beginPath(),_=0;_<me;_++){for(S=0,E=ee[_].length;S<E;S++)R=ee[_][S],Fe[S?"lineTo":"moveTo"](R.x,R.y);h&&Fe.closePath()}this._fillStroke(Fe,l)}}},_updateCircle:function(l){if(!(!this._drawing||l._empty())){var h=l._point,_=this._ctx,S=Math.max(Math.round(l._radius),1),E=(Math.max(Math.round(l._radiusY),1)||S)/S;E!==1&&(_.save(),_.scale(1,E)),_.beginPath(),_.arc(h.x,h.y/E,S,0,Math.PI*2,!1),E!==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,E=this._drawFirst;E;E=E.next)_=E.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&&(_e(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,E=this._drawFirst;E;E=E.next)_=E.layer,_.options.interactive&&_._containsPoint(h)&&(S=_);S!==this._hoveredLayer&&(this._handleMouseOut(l),S&&(de(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 Uk(l){return De.canvas?new $k(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">')}})(),SA={_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");de(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;te(h),l.removeInteractiveTarget(h),delete this._layers[d(l)]},_updateStyle:function(l){var h=l._stroke,_=l._fill,S=l.options,E=l._container;E.stroked=!!S.stroke,E.filled=!!S.fill,S.stroke?(h||(h=l._stroke=hg("stroke")),E.appendChild(h),h.weight=S.weight+"px",h.color=S.color,h.opacity=S.opacity,S.dashArray?h.dashStyle=O(S.dashArray)?S.dashArray.join(" "):S.dashArray.replace(/( *, *)/g," "):h.dashStyle="",h.endcap=S.lineCap.replace("butt","flat"),h.joinstyle=S.lineJoin):h&&(E.removeChild(h),l._stroke=null),S.fill?(_||(_=l._fill=hg("fill")),E.appendChild(_),_.color=S.fillColor||S.color,_.opacity=S.fillOpacity):_&&(E.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){Q(l._container)},_bringToBack:function(l){ae(l._container)}},q_=De.vml?hg:Di,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(){te(this._container),oi(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)),ke(_,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&&de(h,l.options.className),l.options.interactive&&de(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){te(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,bi(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)||_,E="a"+_+","+S+" 0 1,0 ",R=l._empty()?"M0 0":"M"+(h.x-_)+","+h.y+E+_*2+",0 "+E+-_*2+",0 ";this._setPath(l,R)},_setPath:function(l,h){l._path.setAttribute("d",h)},_bringToFront:function(l){Q(l._path)},_bringToBack:function(l){ae(l._path)}});De.vml&&fg.include(SA);function qk(l){return De.svg||De.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&&Uk(l)||qk(l)}});var Gk=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=Jt(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function CA(l,h){return new Gk(l,h)}fg.create=q_,fg.pointsToPath=bi,Ji.geometryToLayer=Bn,Ji.coordsToLatLng=Gn,Ji.coordsToLatLngs=nn,Ji.latLngToCoords=gs,Ji.latLngsToCoords=zs,Ji.getFeature=ws,Ji.asFeature=ls,gn.mergeOptions({boxZoom:!0});var Kk=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(){et(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){oi(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){te(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(),it(),be(),this._startPoint=this._map.mouseEventToContainerPoint(l),et(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),de(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var h=new pe(this._point,this._startPoint),_=h.getSize();ke(this._box,h.min),this._box.style.width=_.x+"px",this._box.style.height=_.y+"px"},_finish:function(){this._moved&&(te(this._box),_e(this._container,"leaflet-crosshair")),$e(),Ae(),oi(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 kt(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",Kk),gn.mergeOptions({doubleClickZoom:!0});var Zk=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,E=l.originalEvent.shiftKey?_-S:_+S;h.options.doubleClickZoom==="center"?h.setZoom(E):h.setZoomAround(l.containerPoint,E)}});gn.addInitHook("addHandler","doubleClickZoom",Zk),gn.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var Xk=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))}de(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){_e(this._map._container,"leaflet-grab"),_e(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=Jt(this._map.options.maxBounds);this._offsetLimit=ot(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,E=(S-h+_)%l+h-_,R=(S+h+_)%l-h-_,ee=Math.abs(E+_)<Math.abs(R+_)?E:R;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=ee},_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 E=this._lastPos.subtract(this._positions[0]),R=(this._lastTime-this._times[0])/1e3,ee=_.easeLinearity,me=E.multiplyBy(ee/R),Fe=me.distanceTo([0,0]),pt=Math.min(_.inertiaMaxSpeed,Fe),mi=me.multiplyBy(pt/Fe),en=pt/(_.inertiaDeceleration*ee),kn=mi.multiplyBy(-en/2).round();!kn.x&&!kn.y?h.fire("moveend"):(kn=h._limitOffset(kn,h.options.maxBounds),He(function(){h.panBy(kn,{duration:en,easeLinearity:ee,noMoveStart:!0,animate:!0})}))}}});gn.addInitHook("addHandler","dragging",Xk),gn.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Yk=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"),et(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(),oi(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,E;for(S=0,E=_.left.length;S<E;S++)h[_.left[S]]=[-1*l,0];for(S=0,E=_.right.length;S<E;S++)h[_.right[S]]=[l,0];for(S=0,E=_.down.length;S<E;S++)h[_.down[S]]=[0,l];for(S=0,E=_.up.length;S<E;S++)h[_.up[S]]=[0,-1*l]},_setZoomDelta:function(l){var h=this._zoomKeys={},_=this.keyCodes,S,E;for(S=0,E=_.zoomIn.length;S<E;S++)h[_.zoomIn[S]]=l;for(S=0,E=_.zoomOut.length;S<E;S++)h[_.zoomOut[S]]=-l},_addHooks:function(){et(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){oi(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=Xe(S).multiplyBy(3)),_.options.maxBounds&&(S=_._limitOffset(Xe(S),_.options.maxBounds)),_.options.worldCopyJump){var E=_.wrapLatLng(_.unproject(_.project(_.getCenter()).add(S)));_.panTo(E)}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",Yk),gn.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var Qk=hr.extend({addHooks:function(){et(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){oi(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),E=4*Math.log(2/(1+Math.exp(-Math.abs(S))))/Math.LN2,R=_?Math.ceil(E/_)*_:E,ee=l._limitZoom(h+(this._delta>0?R:-R))-h;this._delta=0,this._startTime=null,ee&&(l.options.scrollWheelZoom==="center"?l.setZoom(h+ee):l.setZoomAround(this._lastMousePos,h+ee))}});gn.addInitHook("addHandler","scrollWheelZoom",Qk);var xA=600;gn.mergeOptions({tapHold:De.touchNative&&De.safari&&De.mobile,tapTolerance:15});var Jk=hr.extend({addHooks:function(){et(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){oi(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 We(h.clientX,h.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(et(document,"touchend",tn),et(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",h))},this),xA),et(document,"touchend touchcancel contextmenu",this._cancel,this),et(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){oi(document,"touchend",tn),oi(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),oi(document,"touchend touchcancel contextmenu",this._cancel,this),oi(document,"touchmove",this._onMove,this)},_onMove:function(l){var h=l.touches[0];this._newPos=new We(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",Jk),gn.mergeOptions({touchZoom:De.touch,bounceAtZoomLimits:!0});var eL=hr.extend({addHooks:function(){de(this._map._container,"leaflet-touch-zoom"),et(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){_e(this._map._container,"leaflet-touch-zoom"),oi(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(),et(document,"touchmove",this._onTouchMove,this),et(document,"touchend touchcancel",this._onTouchEnd,this),tn(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]),E=_.distanceTo(S)/this._startDist;if(this._zoom=h.getScaleZoom(E,this._startZoom),!h.options.bounceAtZoomLimits&&(this._zoom<h.getMinZoom()&&E<1||this._zoom>h.getMaxZoom()&&E>1)&&(this._zoom=h._limitZoom(this._zoom)),h.options.touchZoom==="center"){if(this._center=this._startLatLng,E===1)return}else{var R=_._add(S)._divideBy(2)._subtract(this._centerPoint);if(E===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),st(this._animRequest);var ee=r(h._move,h,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=He(ee,this,!0),tn(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,st(this._animRequest),oi(document,"touchmove",this._onTouchMove,this),oi(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",eL),gn.BoxZoom=Kk,gn.DoubleClickZoom=Zk,gn.Drag=Xk,gn.Keyboard=Yk,gn.ScrollWheelZoom=Qk,gn.TapHold=Jk,gn.TouchZoom=eL,t.Bounds=pe,t.Browser=De,t.CRS=Lt,t.Canvas=$k,t.Circle=_i,t.CircleMarker=Ct,t.Class=Le,t.Control=fs,t.DivIcon=Ur,t.DivOverlay=Ps,t.DomEvent=Zo,t.DomUtil=ht,t.Draggable=Yo,t.Evented=At,t.FeatureGroup=Vr,t.GeoJSON=Ji,t.GridLayer=qc,t.Handler=hr,t.Icon=Wl,t.ImageOverlay=Vs,t.LatLng=jt,t.LatLngBounds=kt,t.Layer=Qo,t.LayerGroup=Hl,t.LineUtil=j_,t.Map=gn,t.Marker=fe,t.Mixin=O_,t.Path=xe,t.Point=We,t.PolyUtil=uw,t.Polygon=Xi,t.Polyline=Zi,t.Popup=$r,t.PosAnimation=ur,t.Projection=hw,t.Rectangle=Gk,t.Renderer=Qa,t.SVG=fg,t.SVGOverlay=xn,t.TileLayer=ms,t.Tooltip=Bl,t.Transformation=ci,t.Util=bt,t.VideoOverlay=jr,t.bind=r,t.bounds=ot,t.canvas=Uk,t.circle=cn,t.circleMarker=ri,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=Pt,t.latLngBounds=Jt,t.layerGroup=fw,t.map=Ds,t.marker=Ue,t.point=Xe,t.polygon=dn,t.polyline=_n,t.popup=dg,t.rectangle=CA,t.setOptions=x,t.stamp=d,t.svg=qk,t.svgOverlay=Jo,t.tileLayer=Gc,t.tooltip=ug,t.transformation=Si,t.version=i,t.videoOverlay=js;var kA=window.L;t.noConflict=function(){return window.L=kA,this},window.L=t}))})(Vg,Vg.exports)),Vg.exports}var AK=NK();const xg=iA(AK),OK="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=",FK="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==",HK="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=WK(),i=m(v(t),2),n=v(i);z(()=>A(n,e())),I(o,t)};var WK=T('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),BK=T("<button> </button>"),zK=T('<span class="err svelte-767znw"> </span>'),VK=T('<span class="ok svelte-767znw"> </span>'),jK=T('<div class="loading svelte-767znw">Loading…</div>'),$K=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>'),UK=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),qK=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>'),GK=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>'),KK=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),ZK=T('<div class="field-error svelte-767znw"> </div>'),XK=T('<div class="field-ok svelte-767znw"> </div>'),YK=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>'),QK=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>'),JK=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>'),eZ=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>'),uD=T("<option> </option>"),tZ=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>'),iZ=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>'),nZ=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>'),sZ=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>'),oZ=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>'),rZ=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>'),aZ=T('<span class="free-badge svelte-767znw">FREE</span> ',1),lZ=T(' — <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),cZ=T("<div><!> <!></div>"),dZ=T('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),uZ=T('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),hZ=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>'),fZ=T('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),gZ=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 pZ(o,e){Fs(e,!0),delete xg.Icon.Default.prototype._getIconUrl,xg.Icon.Default.mergeOptions({iconUrl:OK,iconRetinaUrl:FK,shadowUrl:HK});let t=P(Ci(PK())),i=P("~/.she"),n=P("mqtt"),s=P(""),r=P(""),a=P(""),d=P(""),u=P(""),f=P(""),g=P("logic"),p=P("var"),w=P(""),y=P(!1),x=P(8080),k=P(""),D=P("none"),M=P(""),O=P("X-Remote-User"),K=P(""),V=P(!1),se=P(""),ie=P(""),we=P(""),Se=P(!1),Ge=P(!1),He=P(!1),st=P(""),bt=P(48.7408),Le=P(9.1778),wt=P(!1),ct=P(void 0),At=P(!1),We=P(null),Nt=P("info"),Xe=P(""),pe=P(""),ot=P(!1),kt=P(!1),Jt=P("");const jt=[{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 Pt=P("ollama"),Lt=P("ollama"),St=P(""),vi=P(""),yi=P("");const ci={};let Si="ollama";function Ni(J,he){return J==="anthropic"?"anthropic":J==="ollama"?"ollama":he?he.includes("localhost:1234")?"lmstudio":he.includes("groq.com")?"groq":he.includes("googleapis.com")?"gemini":"openai":"openai"}function Hi(){ci[Si]={baseUrl:c(St),model:c(vi),apiKey:c(yi)};const J=jt.find(Ee=>Ee.id===c(Pt));if(!J)return;b(Lt,J.provider,!0);const he=ci[c(Pt)];b(St,(he==null?void 0:he.baseUrl)??J.baseUrl,!0),b(vi,(he==null?void 0:he.model)??J.defaultModel,!0),b(yi,(he==null?void 0:he.apiKey)??"",!0),Si=c(Pt)}const Di=at(()=>jt.find(J=>J.id===c(Pt)));let bi=P(Ci({}));const ki=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(ct))return;const J=typeof c(bt)=="number"?c(bt):48.7408,he=typeof c(Le)=="number"?c(Le):9.1778,Ee=xg.map(c(ct)).setView([J,he],10);xg.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(Ee);const oe=xg.marker([J,he],{draggable:!0}).addTo(Ee);b(We,oe,!0);const Ve=Pe=>{b(bt,+Pe.lat.toFixed(6)),b(Le,+Pe.lng.toFixed(6))};return oe.on("dragend",()=>Ve(oe.getLatLng())),Ee.on("click",Pe=>{oe.setLatLng(Pe.latlng),Ve(Pe.latlng)}),()=>{b(We,null),Ee.remove()}}),Vn(()=>{!c(We)||c(bt)===""||c(Le)===""||c(We).setLatLng([Number(c(bt)),Number(c(Le))])});let Je;function Ut(){if(!navigator.geolocation){Je.show("Geolocation is not supported by this browser.",{alert:!0});return}b(At,!0),navigator.geolocation.getCurrentPosition(J=>{b(bt,+J.coords.latitude.toFixed(6)),b(Le,+J.coords.longitude.toFixed(6)),b(At,!1)},()=>{b(At,!1)})}let wi=P(!0),Fi=P(!1),sn=P(""),Mi=P(""),zi=P(""),Ai=P("appearance");const Qi=[{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 Oi=at(()=>Qi.filter(J=>{const he=c(zi).trim().toLowerCase();return!he||J.label.toLowerCase().includes(he)||J.terms.some(Ee=>Ee.includes(he))}));function Sn(J){var he;b(Ai,J,!0),(he=document.getElementById("sec-"+J))==null||he.scrollIntoView({behavior:"smooth",block:"start"})}Ys(async()=>{try{const J=await Bg();J.dataDir&&b(i,J.dataDir,!0)}catch{}try{const J=await Dl();if(typeof J.url=="string"&&J.url)try{const oe=new URL(J.url);b(n,oe.protocol.replace(":",""),!0),b(s,oe.host,!0)}catch{b(s,J.url,!0)}typeof J.mqttUsername=="string"&&b(r,J.mqttUsername,!0),typeof J.mqttPassword=="string"&&b(a,J.mqttPassword,!0),typeof J.mqttCa=="string"&&b(d,J.mqttCa,!0),typeof J.mqttCert=="string"&&b(u,J.mqttCert,!0),typeof J.mqttKey=="string"&&b(f,J.mqttKey,!0),typeof J.mqttVersion=="string"&&b(w,J.mqttVersion,!0),typeof J.name=="string"&&b(g,J.name,!0),typeof J.variablePrefix=="string"&&b(p,J.variablePrefix,!0),typeof J.disableVariables=="boolean"&&b(y,J.disableVariables,!0),typeof J.port=="number"&&b(x,J.port,!0),typeof J.bindAddress=="string"&&b(k,J.bindAddress,!0),typeof J.auth=="string"&&b(D,J.auth,!0),typeof J.proxyHeader=="string"&&b(O,J.proxyHeader,!0),typeof J.proxyLogoutUrl=="string"&&b(K,J.proxyLogoutUrl,!0),typeof J.dir=="string"&&b(we,J.dir,!0),typeof J.disableWatch=="boolean"&&b(Se,J.disableWatch,!0),typeof J.gitAutoCommit=="boolean"&&b(Ge,J.gitAutoCommit,!0),typeof J.gitAutoPush=="boolean"&&b(He,J.gitAutoPush,!0),typeof J.latitude=="number"&&b(bt,J.latitude,!0),typeof J.longitude=="number"&&b(Le,J.longitude,!0),typeof J.timezone=="string"&&b(st,J.timezone,!0),typeof J.verbosity=="string"&&b(Nt,J.verbosity,!0),typeof J.dbPath=="string"&&b(Xe,J.dbPath,!0),typeof J.dbPrefix=="string"&&b(pe,J.dbPrefix,!0),typeof J.dbPublish=="boolean"&&b(ot,J.dbPublish,!0),typeof J.dbRetain=="boolean"&&b(kt,J.dbRetain,!0);const he=J.redis;he!=null&&he.url&&b(Jt,he.url,!0);const Ee=J.ai;Ee!=null&&Ee.provider&&b(Lt,Ee.provider,!0),Ee!=null&&Ee.baseUrl&&b(St,Ee.baseUrl,!0),Ee!=null&&Ee.model&&b(vi,Ee.model,!0),Ee!=null&&Ee.apiKey&&b(yi,Ee.apiKey,!0),b(Pt,Ni(c(Lt),c(St)),!0),Si=c(Pt),b(bi,Object.fromEntries(Object.entries(J).filter(([oe])=>!ki.has(oe))),!0)}catch(J){b(Mi,J.message,!0)}finally{b(wi,!1)}});async function je(){if(b(ie,""),b(se,""),c(D)==="password"&&!c(M)){b(ie,"A password is required to enable password authentication.");return}b(V,!0);try{await x7(c(D),c(D)==="password"?c(M):void 0,c(D)==="proxy"?c(O):void 0,c(D)==="proxy"?c(K):void 0),b(M,""),b(se,"Authentication settings saved.")}catch(J){b(ie,J.message,!0)}finally{b(V,!1)}}async function Gt(){b(Mi,""),b(sn,"");const J={...c(bi)};c(s)&&(J.url=`${c(n)}://${c(s)}`),J.name=c(g),J.variablePrefix=c(p),c(w)&&(J.mqttVersion=c(w)),c(y)&&(J.disableVariables=!0),c(r)&&(J.mqttUsername=c(r)),c(a)&&(J.mqttPassword=c(a)),c(d)&&(J.mqttCa=c(d)),c(u)&&(J.mqttCert=c(u)),c(f)&&(J.mqttKey=c(f)),c(x)!==""&&(J.port=Number(c(x))),c(k)&&(J.bindAddress=c(k)),c(we)&&(J.dir=c(we)),c(Se)&&(J.disableWatch=!0),c(Ge)&&(J.gitAutoCommit=!0),c(He)&&(J.gitAutoPush=!0),c(bt)!==""&&(J.latitude=Number(c(bt))),c(Le)!==""&&(J.longitude=Number(c(Le))),c(st)&&(J.timezone=c(st)),J.verbosity=c(Nt),c(Xe)&&(J.dbPath=c(Xe),c(pe)&&(J.dbPrefix=c(pe)),c(ot)&&(J.dbPublish=!0,c(kt)&&(J.dbRetain=!0))),c(Jt)&&(J.redis={url:c(Jt)}),c(Lt)&&(J.ai={provider:c(Lt),...c(St)?{baseUrl:c(St)}:{},...c(vi)?{model:c(vi)}:{},...c(yi)?{apiKey:c(yi)}:{}}),b(Fi,!0);try{const he=await Xp(J);window.dispatchEvent(new CustomEvent("she:config-changed")),b(sn,he.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(he){b(Mi,he.message,!0)}finally{b(Fi,!1)}}var pi=gZ(),Ti=mt(pi);ks(Ku(Ti,{}),J=>Je=J,()=>Je);var Li=m(Ti,2),mn=v(Li),Ii=v(mn),Vi=m(v(Ii),2),Ui=m(Ii,2);fi(Ui,21,()=>Qi,J=>J.id,(J,he)=>{var Ee=Ms(),oe=mt(Ee);{var Ve=De=>{var gt=BK();let Bt;var yt=v(gt);z(()=>{Bt=Dt(gt,1,"section-link svelte-767znw",null,Bt,{active:c(Ai)===c(he).id}),A(yt,c(he).label)}),U("click",gt,()=>Sn(c(he).id)),I(De,gt)},Pe=at(()=>c(Oi).some(De=>De.id===c(he).id));F(oe,De=>{c(Pe)&&De(Ve)})}I(J,Ee)});var tt=m(mn,2),ne=v(tt),Ze=m(v(ne),2);{var Rt=J=>{var he=zK(),Ee=v(he);z(()=>A(Ee,c(Mi))),I(J,he)};F(Ze,J=>{c(Mi)&&J(Rt)})}var Wt=m(Ze,2);{var ni=J=>{var he=VK(),Ee=v(he);z(()=>A(Ee,c(sn))),I(J,he)};F(Wt,J=>{c(sn)&&J(ni)})}var j=m(Wt,2),le=v(j),Me=m(ne,2);{var rt=J=>{var he=jK();I(J,he)},vt=J=>{var he=fZ(),Ee=v(he);{var oe=Q=>{var ae=$K(),Oe=m(v(ae),2),de=m(v(Oe),2),_e=v(de);_e.value=_e.__value="dark";var Qe=m(_e);Qe.value=Qe.__value="light";var W=m(Qe);W.value=W.__value="system",U("change",de,()=>MK(c(t))),fo(de,()=>c(t),Y=>b(t,Y)),I(Q,ae)},Ve=at(()=>c(Oi).some(Q=>Q.id==="appearance"));F(Ee,Q=>{c(Ve)&&Q(oe)})}var Pe=m(Ee,2);{var De=Q=>{var ae=qK(),Oe=m(v(ae),2),de=v(Oe),_e=m(v(de));Nn(_e,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var Qe=m(de,2),W=v(Qe);W.value=W.__value="mqtt";var Y=m(W);Y.value=Y.__value="mqtts";var ue=m(Y);ue.value=ue.__value="ws";var Ie=m(ue);Ie.value=Ie.__value="wss";var Ce=m(Oe,2),ke=v(Ce),dt=m(v(ke));Nn(dt,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var it=m(ke,2),$e=m(Ce,2),xt=v($e),nt=m(v(xt));Nn(nt,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var be=m(xt,2),Ae=m($e,2),Ne=v(Ae),ze=m(v(Ne));Nn(ze,()=>"MQTT broker password. Stored in plain text in config.json.");var Mt=m(Ne,2),Te=m(Ae,2);{var Ke=Xn=>{var Zo=UK(),ur=mt(Zo),gn=v(ur),Ds=m(v(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=m(gn,2),ns=m(ur,2),Ts=v(ns),Wr=m(v(Ts));Nn(Wr,()=>"PEM-encoded client certificate for mutual TLS authentication.");var Za=m(Ts,2),Fl=m(ns,2),Xa=v(Fl),Xo=m(v(Xa));Nn(Xo,()=>"PEM-encoded private key matching the client certificate.");var Br=m(Xa,2);Kt(fs,()=>c(d),zr=>b(d,zr)),Kt(Za,()=>c(u),zr=>b(u,zr)),Kt(Br,()=>c(f),zr=>b(f,zr)),I(Xn,Zo)};F(Te,Xn=>{(c(n)==="mqtts"||c(n)==="wss")&&Xn(Ke)})}var ut=m(Te,2),ht=v(ut),et=m(v(ht));Nn(et,()=>"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 Qt=m(ht,2),oi=v(Qt);oi.value=oi.__value="";var an=m(oi);an.value=an.__value="5";var qi=m(ut,2),pn=v(qi),Wn=m(v(pn));Nn(Wn,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var ji=m(pn,2),hi=m(qi,2),ln=v(hi),tn=m(v(ln));Nn(tn,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var es=m(ln,2),Bs=m(hi,2),ho=m(v(Bs),2),Ko=v(ho),dr=m(Ko,4);Nn(dr,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),fo(Qe,()=>c(n),Xn=>b(n,Xn)),Kt(it,()=>c(s),Xn=>b(s,Xn)),Kt(be,()=>c(r),Xn=>b(r,Xn)),Kt(Mt,()=>c(a),Xn=>b(a,Xn)),fo(Qt,()=>c(w),Xn=>b(w,Xn)),Kt(ji,()=>c(g),Xn=>b(g,Xn)),Kt(es,()=>c(p),Xn=>b(p,Xn)),xs(Ko,()=>c(y),Xn=>b(y,Xn)),I(Q,ae)},gt=at(()=>c(Oi).some(Q=>Q.id==="mqtt"));F(Pe,Q=>{c(gt)&&Q(De)})}var Bt=m(Pe,2);{var yt=Q=>{var ae=YK(),Oe=m(v(ae),2),de=v(Oe),_e=m(v(de));Nn(_e,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var Qe=m(de,2),W=v(Qe);W.value=W.__value="none";var Y=m(W);Y.value=Y.__value="password";var ue=m(Y);ue.value=ue.__value="proxy";var Ie=m(Oe,2);{var Ce=ze=>{var Mt=GK(),Te=v(Mt),Ke=v(Te),ut=m(Ke);Nn(ut,()=>"Set a new password. Leave empty to keep the current password (if already set).");var ht=m(Te,2);z(()=>A(Ke,`${c(M)?"New password":"Password"} `)),Kt(ht,()=>c(M),et=>b(M,et)),I(ze,Mt)};F(Ie,ze=>{c(D)==="password"&&ze(Ce)})}var ke=m(Ie,2);{var dt=ze=>{var Mt=KK(),Te=mt(Mt),Ke=v(Te),ut=m(v(Ke));Nn(ut,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var ht=m(Ke,2),et=m(Te,2),Qt=v(et),oi=m(v(Qt));Nn(oi,()=>"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=m(Qt,2);Kt(ht,()=>c(O),qi=>b(O,qi)),Kt(an,()=>c(K),qi=>b(K,qi)),I(ze,Mt)};F(ke,ze=>{c(D)==="proxy"&&ze(dt)})}var it=m(ke,2);{var $e=ze=>{var Mt=ZK(),Te=v(Mt);z(()=>A(Te,c(ie))),I(ze,Mt)};F(it,ze=>{c(ie)&&ze($e)})}var xt=m(it,2);{var nt=ze=>{var Mt=XK(),Te=v(Mt);z(()=>A(Te,c(se))),I(ze,Mt)};F(xt,ze=>{c(se)&&ze(nt)})}var be=m(xt,2),Ae=m(v(be),2),Ne=v(Ae);z(()=>{Ae.disabled=c(V)||c(D)==="password"&&!c(M),A(Ne,c(V)?"Saving…":"Apply authentication settings")}),fo(Qe,()=>c(D),ze=>b(D,ze)),U("click",Ae,je),I(Q,ae)},It=at(()=>c(Oi).some(Q=>Q.id==="auth"));F(Bt,Q=>{c(It)&&Q(yt)})}var Ot=m(Bt,2);{var Tt=Q=>{var ae=QK(),Oe=m(v(ae),2),de=v(Oe),_e=m(v(de));Nn(_e,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var Qe=m(de,2),W=m(Oe,2),Y=v(W),ue=m(v(Y));Nn(ue,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var Ie=m(Y,2);Kt(Qe,()=>c(x),Ce=>b(x,Ce)),Kt(Ie,()=>c(k),Ce=>b(k,Ce)),I(Q,ae)},ti=at(()=>c(Oi).some(Q=>Q.id==="webserver"));F(Ot,Q=>{c(ti)&&Q(Tt)})}var Vt=m(Ot,2);{var si=Q=>{var ae=JK(),Oe=m(v(ae),2),de=v(Oe),_e=m(v(de));Nn(_e,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var Qe=m(de,2),W=m(Oe,2),Y=m(v(W),2),ue=v(Y),Ie=m(ue,4);Nn(Ie,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),z(()=>Ri(Qe,"placeholder",`${c(i)??""}/scripts (default)`)),Kt(Qe,()=>c(we),Ce=>b(we,Ce)),xs(ue,()=>c(Se),Ce=>b(Se,Ce)),I(Q,ae)},gi=at(()=>c(Oi).some(Q=>Q.id==="scripts"));F(Vt,Q=>{c(gi)&&Q(si)})}var di=m(Vt,2);{var re=Q=>{var ae=eZ(),Oe=m(v(ae),2),de=m(v(Oe),2),_e=v(de),Qe=m(_e,4);Nn(Qe,()=>"When enabled, saving or renaming/deleting a script automatically creates a git commit. Only effective when the scripts directory is inside a git repository.");var W=m(Oe,2),Y=m(v(W),2),ue=v(Y),Ie=m(ue,4);Nn(Ie,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),xs(_e,()=>c(Ge),Ce=>b(Ge,Ce)),xs(ue,()=>c(He),Ce=>b(He,Ce)),I(Q,ae)},Be=at(()=>c(Oi).some(Q=>Q.id==="git"));F(di,Q=>{c(Be)&&Q(re)})}var qe=m(di,2);{var lt=Q=>{var ae=iZ(),Oe=m(v(ae),2),de=v(Oe),_e=m(v(de));Nn(_e,()=>"IANA timezone for cron scheduling (e.g. Europe/Berlin). Leave empty to use the system timezone. Requires daemon restart.");var Qe=m(de,2),W=m(Qe,2);fi(W,20,()=>{var ht;return((ht=Intl.supportedValuesOf)==null?void 0:ht.call(Intl,"timeZone"))??[]},Wi,(ht,et)=>{var Qt=uD(),oi=v(Qt),an={};z(()=>{A(oi,et),an!==(an=et)&&(Qt.value=(Qt.__value=et)??"")}),I(ht,Qt)});var Y=m(Oe,2),ue=v(Y),Ie=m(v(ue));Nn(Ie,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Ce=m(ue,2),ke=m(Y,2),dt=v(ke),it=m(v(dt));Nn(it,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var $e=m(dt,2),xt=m(ke,2),nt=m(v(xt),2),be=v(nt),Ae=v(be);{var Ne=ht=>{var et=Dr("…");I(ht,et)},ze=ht=>{var et=Dr("📍 Use my location");I(ht,et)};F(Ae,ht=>{c(At)?ht(Ne):ht(ze,-1)})}var Mt=m(be,2),Te=v(Mt),Ke=m(xt,2);{var ut=ht=>{var et=tZ(),Qt=m(v(et),2);ks(Qt,oi=>b(ct,oi),()=>c(ct)),I(ht,et)};F(Ke,ht=>{c(wt)&&ht(ut)})}z(()=>{be.disabled=c(At),A(Te,c(wt)?"Hide map":"Pick on map")}),Kt(Qe,()=>c(st),ht=>b(st,ht)),Kt(Ce,()=>c(bt),ht=>b(bt,ht)),Kt($e,()=>c(Le),ht=>b(Le,ht)),U("click",be,Ut),U("click",Mt,()=>b(wt,!c(wt))),I(Q,ae)},Yt=at(()=>c(Oi).some(Q=>Q.id==="solar"));F(qe,Q=>{c(Yt)&&Q(lt)})}var Ft=m(qe,2);{var zt=Q=>{var ae=nZ(),Oe=m(v(ae),2),de=v(Oe),_e=m(v(de));Nn(_e,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var Qe=m(de,2),W=v(Qe);W.value=W.__value="debug";var Y=m(W);Y.value=Y.__value="info";var ue=m(Y);ue.value=ue.__value="warn";var Ie=m(ue);Ie.value=Ie.__value="error",fo(Qe,()=>c(Nt),Ce=>b(Nt,Ce)),I(Q,ae)},Et=at(()=>c(Oi).some(Q=>Q.id==="logging"));F(Ft,Q=>{c(Et)&&Q(zt)})}var ei=m(Ft,2);{var N=Q=>{var ae=oZ(),Oe=m(v(ae),2),de=v(Oe),_e=m(v(de));Nn(_e,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var Qe=m(de,2),W=m(Oe,2),Y=v(W),ue=m(v(Y));Nn(ue,()=>"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 Ie=m(Y,2),Ce=m(W,2),ke=m(v(Ce),2);let dt;var it=v(ke),$e=m(it,4);Nn($e,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var xt=m(Ce,2);{var nt=be=>{var Ae=sZ(),Ne=m(v(Ae),2);let ze;var Mt=v(Ne),Te=m(Mt,4);Nn(Te,()=>"When enabled, MQTT messages for document changes are published as retained messages."),z(()=>{ze=Dt(Ne,1,"check-label svelte-767znw",null,ze,{muted:!c(Xe)}),Mt.disabled=!c(Xe)}),xs(Mt,()=>c(kt),Ke=>b(kt,Ke)),I(be,Ae)};F(xt,be=>{c(ot)&&be(nt)})}z(()=>{Ri(Qe,"placeholder",`defaults to ${c(i)??""}/db`),Ie.disabled=!c(Xe),dt=Dt(ke,1,"check-label svelte-767znw",null,dt,{muted:!c(Xe)}),it.disabled=!c(Xe)}),Kt(Qe,()=>c(Xe),be=>b(Xe,be)),Kt(Ie,()=>c(pe),be=>b(pe,be)),xs(it,()=>c(ot),be=>b(ot,be)),I(Q,ae)},Z=at(()=>c(Oi).some(Q=>Q.id==="shedb"));F(ei,Q=>{c(Z)&&Q(N)})}var ce=m(ei,2);{var q=Q=>{var ae=rZ(),Oe=m(v(ae),2),de=v(Oe),_e=m(v(de));Nn(_e,()=>"redis:// URL for the optional Redis write-through cache. All state store changes are written to the she:state hash. Leave empty to disable.");var Qe=m(de,2);Kt(Qe,()=>c(Jt),W=>b(Jt,W)),I(Q,ae)},H=at(()=>c(Oi).some(Q=>Q.id==="redis"));F(ce,Q=>{c(H)&&Q(q)})}var G=m(ce,2);{var te=Q=>{var ae=hZ(),Oe=m(v(ae),2),de=v(Oe),_e=m(v(de));Nn(_e,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var Qe=m(de,2);fi(Qe,21,()=>jt,Wi,(nt,be)=>{var Ae=uD(),Ne=v(Ae),ze={};z(()=>{A(Ne,c(be).label),ze!==(ze=c(be).id)&&(Ae.value=(Ae.__value=c(be).id)??"")}),I(nt,Ae)});var W=m(Oe,2);{var Y=nt=>{var be=cZ();let Ae;var Ne=v(be);{var ze=Ke=>{var ut=aZ(),ht=m(mt(ut));z(()=>A(ht,` ${c(Di).freeNote??""}`)),I(Ke,ut)};F(Ne,Ke=>{c(Di).freeNote&&Ke(ze)})}var Mt=m(Ne,2);{var Te=Ke=>{var ut=lZ(),ht=m(mt(ut));z(()=>Ri(ht,"href",c(Di).apiKeyUrl)),I(Ke,ut)};F(Mt,Ke=>{c(Di).apiKeyUrl&&Ke(Te)})}z(()=>Ae=Dt(be,1,"preset-note svelte-767znw",null,Ae,{free:!!c(Di).freeNote})),I(nt,be)};F(W,nt=>{var be,Ae;((be=c(Di))!=null&&be.freeNote||(Ae=c(Di))!=null&&Ae.apiKeyUrl)&&nt(Y)})}var ue=m(W,2);{var Ie=nt=>{var be=dZ(),Ae=v(be),Ne=m(v(Ae));Nn(Ne,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var ze=m(Ae,2);z(()=>{var Mt;return Ri(ze,"placeholder",c(Pt)==="ollama"?"http://localhost:11434":c(Pt)==="lmstudio"?"http://localhost:1234":((Mt=c(Di))==null?void 0:Mt.baseUrl)??"")}),Kt(ze,()=>c(St),Mt=>b(St,Mt)),I(nt,be)};F(ue,nt=>{c(Pt)!=="anthropic"&&nt(Ie)})}var Ce=m(ue,2),ke=v(Ce),dt=m(v(ke));Nn(dt,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var it=m(ke,2),$e=m(Ce,2);{var xt=nt=>{var be=uZ(),Ae=v(be),Ne=m(v(Ae));Nn(Ne,()=>"Stored in config.json. Not needed for local providers.");var ze=m(Ae,2);Kt(ze,()=>c(yi),Mt=>b(yi,Mt)),I(nt,be)};F($e,nt=>{c(Pt)!=="ollama"&&c(Pt)!=="lmstudio"&&nt(xt)})}z(()=>{var nt;return Ri(it,"placeholder",((nt=c(Di))==null?void 0:nt.defaultModel)||"e.g. llama3.2")}),U("change",Qe,Hi),fo(Qe,()=>c(Pt),nt=>b(Pt,nt)),Kt(it,()=>c(vi),nt=>b(vi,nt)),I(Q,ae)},ye=at(()=>c(Oi).some(Q=>Q.id==="ai"));F(G,Q=>{c(ye)&&Q(te)})}I(J,he)};F(Me,J=>{c(wi)?J(rt):J(vt,-1)})}z(()=>{j.disabled=c(Fi),A(le,c(Fi)?"Saving…":"Save")}),Kt(Vi,()=>c(zi),J=>b(zi,J)),U("click",j,Gt),I(o,pi),Hs()}Js(["click","change"]);var _Z=T("<option> </option>"),mZ=T('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),vZ=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 bZ(o,e){Fs(e,!0);let t=P(Ci(eA())),i,n=P(!0),s=P("all"),r=P(""),a=P(!1);const d=["all","debug","info","warn","error"],u={debug:0,info:1,warn:2,error:3};Dk(ie=>{b(t,[...c(t).slice(-1999),ie],!0)}),Ys(()=>{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=vZ(),y=v(w),x=m(v(y),2);fi(x,21,()=>d,Wi,(ie,we)=>{var Se=_Z(),Ge=v(Se),He={};z(()=>{A(Ge,c(we)),He!==(He=c(we))&&(Se.value=(Se.__value=c(we))??"")}),I(ie,Se)});var k=m(x,2),D=m(k,2),M=v(D),O=m(D,2),K=v(O),V=m(O,2),se=m(y,2);fi(se,21,()=>c(t).filter(g),ie=>ie.ts+ie.msg,(ie,we)=>{var Se=mZ(),Ge=v(Se),He=v(Ge),st=m(Ge,2),bt=v(st),Le=m(st,2),wt=v(Le);z((ct,At)=>{Dt(Se,1,`line ${c(we).level??""}`,"svelte-18loop9"),A(He,ct),A(bt,At),A(wt,c(we).msg)},[()=>p(c(we).ts),()=>c(we).level.toUpperCase()]),I(ie,Se)}),ks(se,ie=>i=ie,()=>i),fo(x,()=>c(s),ie=>b(s,ie)),Kt(k,()=>c(r),ie=>b(r,ie)),xs(M,()=>c(a),ie=>b(a,ie)),xs(K,()=>c(n),ie=>b(n,ie)),U("click",V,f),I(o,w),Hs()}Js(["click"]);var yZ=T('<span class="chat-model svelte-1twuiul"><!></span>'),wZ=T('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),SZ=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>'),CZ=T('Working on view <code class="svelte-1twuiul"> </code>',1),xZ=T('<button class="chip svelte-1twuiul"> </button>'),kZ=T('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),LZ=T('<div class="msg-content user-text svelte-1twuiul"> </div>'),hD=T('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),fD=T('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),gD=T('<div class="tool-events svelte-1twuiul"></div>'),pD=T('<div class="text-block svelte-1twuiul"></div>'),IZ=T('<button class="expand-btn svelte-1twuiul"> </button>'),EZ=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>'),DZ=T('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),TZ=T('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),PZ=T("<div><!></div>"),MZ=T('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),RZ=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>'),NZ=T('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),AZ=T('<div class="chat-error svelte-1twuiul"> </div>'),OZ=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>'),FZ=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>'),HZ=T('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),WZ=T('<button class="send-btn svelte-1twuiul">↑</button>'),BZ=T('<option class="svelte-1twuiul"> </option>'),zZ=T('<select class="model-select svelte-1twuiul"></select>'),VZ=T('<span class="model-name svelte-1twuiul"> </span>'),jZ=T('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),$Z=T('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),UZ=T('<p class="info-status svelte-1twuiul">Loading…</p>'),qZ=T('<p class="info-status info-err svelte-1twuiul"> </p>'),GZ=T('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),KZ=T('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),ZZ=T('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),XZ=T('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),YZ=T('<div class="running-model svelte-1twuiul"> </div>'),QZ=T('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),JZ=T('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),eX=T('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),tX=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>'),iX=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 nX(o,e){Fs(e,!0),pb.registerLanguage("javascript",rA),qn.use({breaks:!0,gfm:!0});let t=Cu(e,"currentView",3,null);const i="she:viewchat:messages";let n=P(Ci(JSON.parse(localStorage.getItem(i)??"[]"))),s=P(null),r=P(""),a=P(!1),d=P(""),u=P(null),f=P(Ci([])),g=P(Ci(localStorage.getItem("she:selectedModel")??""));Vn(()=>{localStorage.setItem(i,JSON.stringify(c(n)))});let p=P(Ci(new Set)),w=P(!1),y=P(null),x=P(!1),k=P(""),D=null,M=P(0);const O=["[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 K=P(!0),V=P(!0),se=P(!0),ie=P(Ci([])),we=P(!0),Se=P(!1),Ge,He=P(Ci([])),st=P(0),bt,Le;const wt=at(()=>({apiref:!1,shedb:c(K),sampleDocs:c(V),tools:c(se)})),ct=at(()=>{var N;return((N=c(u))==null?void 0:N.configured)??!1}),At=at(()=>c(st)+new TextEncoder().encode(c(r)).length),We=at(()=>c(we)?t():null);async function Nt(){try{const N=await GN();b(u,N,!0),N.configured&&!c(g)&&b(g,N.model,!0)}catch{}}Vn(()=>(window.addEventListener("she:config-changed",Nt),()=>window.removeEventListener("she:config-changed",Nt))),Ys(()=>{Nt()}),Vn(()=>{c(g)&&localStorage.setItem("she:selectedModel",c(g))}),Vn(()=>{var N;(N=c(u))!=null&&N.provider&&KN().then(Z=>{b(f,Z.models,!0),!c(g)&&Z.models.length>0&&b(g,Z.models[0],!0)}).catch(()=>{})}),Vn(()=>{c(g),b(y,null),b(k,"")}),Vn(()=>{const N=c(wt),Z=c(We),ce=c(ie);c(ct)&&ZN({context:N,currentView:Z??null,extraFiles:ce.length>0?ce:void 0}).then(q=>{b(st,new TextEncoder().encode(q.prompt).length,!0)}).catch(()=>{})}),Vn(()=>{if(!c(a))return;b(M,Math.floor(Math.random()*O.length),!0);const N=setInterval(()=>{b(M,(c(M)+1)%O.length)},1e4);return()=>clearInterval(N)}),Vn(()=>{var N;Le&&(c(n).length+(((N=c(s))==null?void 0:N.length)??0),requestAnimationFrame(()=>{Le&&(Le.scrollTop=Le.scrollHeight)}))});function Xe(N){const Z=[],ce=/```(\w*)\n([\s\S]*?)```/g;let q=0,H;for(;(H=ce.exec(N))!==null;)H.index>q&&Z.push({type:"text",text:N.slice(q,H.index)}),Z.push({type:"code",lang:H[1]||"text",text:H[2].trimEnd()}),q=H.index+H[0].length;return q<N.length&&Z.push({type:"text",text:N.slice(q)}),Z}function pe(N){const Z=[],ce=/```(\w*)\n([\s\S]*?)```/g;let q=0,H;for(;(H=ce.exec(N))!==null;)H.index>q&&Z.push({type:"text",text:N.slice(q,H.index)}),Z.push({type:"code",lang:H[1]||"text",text:H[2].trimEnd()}),q=H.index+H[0].length;const G=N.slice(q),te=G.match(/```(\w*)\n([\s\S]*)$/);return te?(te.index>0&&Z.push({type:"text",text:G.slice(0,te.index)}),Z.push({type:"code",lang:te[1]||"text",text:te[2]})):G&&Z.push({type:"text",text:G}),Z}function ot(N){const Z={};for(const ce of N)if(ce.type==="code"){if(ce.lang==="filter")Z.filter=ce.text.trim();else if(yi(ce.lang)){const q=ce.text.split(`
|
|
223
|
+
`)[0].trim();q==="// @view-map"?Z.map=ce.text.split(`
|
|
224
|
+
`).slice(1).join(`
|
|
225
|
+
`).trim():q==="// @view-reduce"&&(Z.reduce=ce.text.split(`
|
|
226
|
+
`).slice(1).join(`
|
|
227
|
+
`).trim())}}return Z}function kt(N){return N.filter!==void 0||N.map!==void 0||N.reduce!==void 0}function Jt(N){const Z=[];return N.filter!==void 0&&Z.push("filter"),N.map!==void 0&&Z.push("map"),N.reduce!==void 0&&Z.push("reduce"),`Apply ${Z.join(" + ")}`}const jt=15;function Pt(N){return N.split(`
|
|
228
|
+
`).length>jt}function Lt(N){const Z=new Set(c(p));Z.has(N)?Z.delete(N):Z.add(N),b(p,Z,!0)}function St(N,Z){if(yi(Z))try{return pb.highlight(N,{language:"javascript"}).value}catch{}return N.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function vi(N){return qn.parse(N)}function yi(N){return!N||N==="js"||N==="javascript"}function ci(N){navigator.clipboard.writeText(N).catch(()=>{})}async function Si(){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 Ni(N){return N>=1e9?`${(N/1e9).toFixed(1)} GB`:N>=1e6?`${(N/1e6).toFixed(0)} MB`:`${N} B`}function Hi(N){const Z=N.match(/\.([^.]+)$/);return Z?Z[1].toUpperCase():"?"}function Di(N){switch(N){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return N}}function bi(N){b(ie,c(ie).filter((Z,ce)=>ce!==N),!0)}function ki(){Ge.click()}async function Je(N){if(!(!N||N.length===0))for(const Z of Array.from(N)){const ce=await Z.text();b(ie,[...c(ie),{name:Z.name,content:ce}],!0)}}function Ut(N){const Z=N.target;Je(Z.files),Z.value=""}function wi(N){var Z;N.preventDefault(),b(Se,!1),Je(((Z=N.dataTransfer)==null?void 0:Z.files)??null)}function Fi(N){var Z;(Z=N.dataTransfer)!=null&&Z.types.includes("Files")&&(N.preventDefault(),b(Se,!0))}function sn(){b(Se,!1)}async function Mi(){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(He,[],!0);try{await XN({messages:c(n),currentView:c(We),context:c(wt),modelOverride:c(g)||void 0,extraFiles:c(ie).length>0?c(ie):void 0},Z=>{b(s,(c(s)??"")+Z)},D.signal,Z=>{b(He,[...c(He),Z],!0)}),b(n,[...c(n),{role:"assistant",content:c(s)??"",toolEvents:c(He).length>0?[...c(He)]:void 0}],!0),b(He,[],!0)}catch(Z){if(Z.name==="AbortError"){const ce=c(s);ce!=null&&ce.trim()&&b(n,[...c(n),{role:"assistant",content:ce+`
|
|
229
|
+
|
|
230
|
+
*[stopped]*`,toolEvents:c(He).length>0?[...c(He)]:void 0}],!0)}else b(d,Z.message,!0)}finally{D=null,b(s,null),b(He,[],!0),b(a,!1)}}}function zi(){D==null||D.abort()}function Ai(N){N.key==="Enter"&&!N.shiftKey&&(N.preventDefault(),Mi())}function Qi(){b(n,[],!0),b(d,"")}const Oi=["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 Sn(N){b(r,N,!0),bt==null||bt.focus()}var je=iX(),Gt=mt(je),pi=v(Gt),Ti=m(v(pi),2);{var Li=N=>{var Z=yZ(),ce=v(Z);{var q=G=>{var te=Dr();z(()=>A(te,`${c(u).provider??""} · ${(c(g)||c(u).model)??""}`)),I(G,te)},H=G=>{var te=Dr("Not configured");I(G,te)};F(ce,G=>{c(ct)?G(q):G(H,-1)})}z(()=>Ri(Z,"title",`Provider: ${c(u).provider??""}`)),I(N,Z)};F(Ti,N=>{c(u)&&N(Li)})}var mn=m(Ti,2);{var Ii=N=>{var Z=wZ();U("click",Z,Qi),I(N,Z)};F(mn,N=>{c(n).length>0&&N(Ii)})}var Vi=m(pi,2),Ui=v(Vi);{var tt=N=>{var Z=SZ();I(N,Z)},ne=N=>{var Z=kZ(),ce=v(Z),q=v(ce);{var H=ye=>{var Q=CZ(),ae=m(mt(Q)),Oe=v(ae);z(()=>A(Oe,t().id)),I(ye,Q)},G=ye=>{var Q=Dr("No view selected. Ask a general sheDB view question.");I(ye,Q)};F(q,ye=>{t()?ye(H):ye(G,-1)})}var te=m(ce,2);fi(te,17,()=>Oi,Wi,(ye,Q)=>{var ae=xZ(),Oe=v(ae);z(()=>A(Oe,c(Q))),U("click",ae,()=>Sn(c(Q))),I(ye,ae)}),I(N,Z)};F(Ui,N=>{c(ct)?c(n).length===0&&c(s)===null&&N(ne,1):N(tt)})}var Ze=m(Ui,2);fi(Ze,17,()=>c(n),Wi,(N,Z,ce)=>{var q=PZ(),H=v(q);{var G=ye=>{var Q=LZ(),ae=v(Q);z(()=>A(ae,c(Z).content)),I(ye,Q)},te=ye=>{const Q=at(()=>Xe(c(Z).content)),ae=at(()=>ot(c(Q)));var Oe=TZ(),de=mt(Oe);{var _e=Ce=>{var ke=gD();fi(ke,21,()=>c(Z).toolEvents,Wi,(dt,it)=>{var $e=Ms(),xt=mt($e);{var nt=Ae=>{var Ne=hD(),ze=m(v(Ne)),Mt=v(ze);z(Te=>A(Mt,Te),[()=>c(it).name.replace(/_/g," ")]),I(Ae,Ne)},be=Ae=>{var Ne=fD(),ze=m(v(Ne)),Mt=v(ze);z(Te=>A(Mt,Te),[()=>c(it).name.replace(/_/g," ")]),I(Ae,Ne)};F(xt,Ae=>{c(it).type==="tool_call"?Ae(nt):Ae(be,-1)})}I(dt,$e)}),I(Ce,ke)};F(de,Ce=>{var ke;(ke=c(Z).toolEvents)!=null&&ke.length&&Ce(_e)})}var Qe=m(de,2),W=v(Qe);fi(W,17,()=>c(Q),Wi,(Ce,ke,dt)=>{var it=Ms(),$e=mt(it);{var xt=be=>{var Ae=pD();sc(Ae,()=>vi(c(ke).text),!0),I(be,Ae)},nt=be=>{const Ae=at(()=>`${ce}:${dt}`),Ne=at(()=>Pt(c(ke).text)),ze=at(()=>c(p).has(c(Ae))),Mt=at(()=>c(ke).lang==="filter");var Te=EZ(),Ke=v(Te),ut=v(Ke),ht=v(ut),et=m(ut,2),Qt=v(et),oi=m(Ke,2);let an;var qi=v(oi),pn=v(qi);sc(pn,()=>St(c(ke).text,c(ke).lang??""),!0);var Wn=m(qi,2);{var ji=hi=>{var ln=IZ(),tn=v(ln);z(()=>A(tn,c(ze)?"▲ collapse":"▼ expand")),U("click",ln,()=>Lt(c(Ae))),I(hi,ln)};F(Wn,hi=>{c(Ne)&&hi(ji)})}z(()=>{A(ht,c(Mt)?"filter":c(ke).lang),an=Dt(oi,1,"code-body svelte-1twuiul",null,an,{collapsed:c(Ne)&&!c(ze)})}),U("click",Qt,()=>ci(c(ke).text)),I(be,Te)};F($e,be=>{c(ke).type==="text"?be(xt):be(nt,-1)})}I(Ce,it)});var Y=m(W,2);{var ue=Ce=>{var ke=DZ(),dt=v(ke),it=v(dt);z($e=>A(it,$e),[()=>Jt(c(ae))]),U("click",dt,()=>e.onApplyView(c(ae))),I(Ce,ke)},Ie=at(()=>kt(c(ae))&&e.onApplyView);F(Y,Ce=>{c(Ie)&&Ce(ue)})}I(ye,Oe)};F(H,ye=>{c(Z).role==="user"?ye(G):ye(te,-1)})}z(()=>Dt(q,1,`message ${c(Z).role??""}`,"svelte-1twuiul")),I(N,q)});var Rt=m(Ze,2);{var Wt=N=>{var Z=gD();fi(Z,21,()=>c(He),Wi,(ce,q)=>{var H=Ms(),G=mt(H);{var te=Q=>{var ae=hD(),Oe=m(v(ae)),de=v(Oe);z(_e=>A(de,_e),[()=>c(q).name.replace(/_/g," ")]),I(Q,ae)},ye=Q=>{var ae=fD(),Oe=m(v(ae)),de=v(Oe);z(_e=>A(de,_e),[()=>c(q).name.replace(/_/g," ")]),I(Q,ae)};F(G,Q=>{c(q).type==="tool_call"?Q(te):Q(ye,-1)})}I(ce,H)}),I(N,Z)};F(Rt,N=>{c(He).length>0&&N(Wt)})}var ni=m(Rt,2);{var j=N=>{var Z=MZ(),ce=v(Z),q=v(ce),H=v(q);z(()=>A(H,O[c(M)])),I(N,Z)};F(ni,N=>{c(a)&&c(s)===null&&c(He).length===0&&N(j)})}var le=m(ni,2);{var Me=N=>{var Z=NZ(),ce=v(Z);fi(ce,21,()=>pe(c(s)),Wi,(q,H)=>{var G=Ms(),te=mt(G);{var ye=ae=>{var Oe=pD();sc(Oe,()=>vi(c(H).text),!0),I(ae,Oe)},Q=ae=>{var Oe=RZ(),de=v(Oe),_e=v(de),Qe=v(_e),W=m(de,2),Y=v(W);sc(Y,()=>St(c(H).text,c(H).lang??""),!0),z(()=>A(Qe,c(H).lang)),I(ae,Oe)};F(te,ae=>{c(H).type==="text"?ae(ye):ae(Q,-1)})}I(q,G)}),I(N,Z)};F(le,N=>{c(s)!==null&&N(Me)})}ks(Vi,N=>Le=N,()=>Le);var rt=m(Vi,2);{var vt=N=>{var Z=AZ(),ce=v(Z);z(()=>A(ce,c(d))),I(N,Z)};F(rt,N=>{c(d)&&N(vt)})}var J=m(rt,2),he=v(J),Ee=v(he),oe=m(he,2),Ve=v(oe),Pe=m(oe,2),De=v(Pe),gt=m(Pe,2),Bt=v(gt),yt=m(J,2),It=v(yt);{var Ot=N=>{var Z=OZ();let ce;var q=m(v(Z),2),H=v(q),G=m(q,2),te=v(G);z(()=>{ce=Dt(Z,1,"file-chip svelte-1twuiul",null,ce,{inactive:!c(we)}),A(H,t().id),Ri(G,"title",c(we)?"Remove from context":"Re-add to context"),A(te,c(we)?"×":"+")}),U("click",G,()=>b(we,!c(we))),I(N,Z)};F(It,N=>{t()&&N(Ot)})}var Tt=m(It,2);fi(Tt,17,()=>c(ie),Wi,(N,Z,ce)=>{const q=at(()=>Hi(c(Z).name));var H=FZ(),G=v(H),te=v(G),ye=m(G,2),Q=v(ye),ae=m(ye,2);z((Oe,de)=>{Dt(G,1,`badge badge-${Oe??""}`,"svelte-1twuiul"),A(te,de),A(Q,c(Z).name)},[()=>c(q).toLowerCase(),()=>Di(c(q))]),U("click",ae,()=>bi(ce)),I(N,H)});var ti=m(Tt,2),Vt=m(ti,2);ks(Vt,N=>Ge=N,()=>Ge);var si=m(yt,2);let gi;var di=v(si);let re;var Be=v(di);ks(Be,N=>bt=N,()=>bt);var qe=m(di,2);{var lt=N=>{var Z=HZ();U("click",Z,zi),I(N,Z)},Yt=N=>{var Z=WZ();z(ce=>Z.disabled=ce,[()=>!c(r).trim()||!c(ct)]),U("click",Z,Mi),I(N,Z)};F(qe,N=>{c(a)?N(lt):N(Yt,-1)})}var Ft=m(si,2);{var zt=N=>{var Z=$Z(),ce=v(Z),q=v(ce),H=m(ce,2);{var G=ae=>{var Oe=zZ();fi(Oe,21,()=>c(f),Wi,(de,_e)=>{var Qe=BZ(),W=v(Qe),Y={};z(()=>{A(W,c(_e)),Y!==(Y=c(_e))&&(Qe.value=(Qe.__value=c(_e))??"")}),I(de,Qe)}),z(()=>Oe.disabled=c(a)),fo(Oe,()=>c(g),de=>b(g,de)),I(ae,Oe)},te=ae=>{var Oe=VZ(),de=v(Oe);z(()=>A(de,c(g)||c(u).model)),I(ae,Oe)};F(H,ae=>{c(f).length>0?ae(G):ae(te,-1)})}var ye=m(H,2);{var Q=ae=>{var Oe=jZ();U("click",Oe,Si),I(ae,Oe)};F(ye,ae=>{c(u).provider==="ollama"&&ae(Q)})}z(()=>A(q,c(u).provider)),I(N,Z)};F(Ft,N=>{c(ct)&&c(u)&&N(zt)})}var Et=m(Gt,2);{var ei=N=>{var Z=tX(),ce=v(Z),q=v(ce),H=v(q),G=v(H),te=m(H,2),ye=m(q,2),Q=v(ye);{var ae=_e=>{var Qe=UZ();I(_e,Qe)},Oe=_e=>{var Qe=qZ(),W=v(Qe);z(()=>A(W,c(k))),I(_e,Qe)},de=_e=>{var Qe=eX(),W=v(Qe);{var Y=be=>{var Ae=GZ(),Ne=m(mt(Ae)),ze=v(Ne);z(()=>A(ze,c(y).version)),I(be,Ae)};F(W,be=>{c(y).version&&be(Y)})}var ue=m(W,2);{var Ie=be=>{var Ae=KZ(),Ne=m(mt(Ae)),ze=v(Ne);z(()=>A(ze,c(y).details.family)),I(be,Ae)};F(ue,be=>{var Ae;(Ae=c(y).details)!=null&&Ae.family&&be(Ie)})}var Ce=m(ue,2);{var ke=be=>{var Ae=ZZ(),Ne=m(mt(Ae)),ze=v(Ne);z(()=>A(ze,c(y).details.parameter_size)),I(be,Ae)};F(Ce,be=>{var Ae;(Ae=c(y).details)!=null&&Ae.parameter_size&&be(ke)})}var dt=m(Ce,2);{var it=be=>{var Ae=XZ(),Ne=m(mt(Ae)),ze=v(Ne);z(()=>A(ze,c(y).details.quantization_level)),I(be,Ae)};F(dt,be=>{var Ae;(Ae=c(y).details)!=null&&Ae.quantization_level&&be(it)})}var $e=m(dt,2);{var xt=be=>{var Ae=QZ(),Ne=m(mt(Ae),2);fi(Ne,21,()=>c(y).running,Wi,(ze,Mt)=>{var Te=YZ(),Ke=v(Te);z(ut=>A(Ke,`${c(Mt).name??""} · ${ut??""} VRAM`),[()=>Ni(c(Mt).size_vram)]),I(ze,Te)}),I(be,Ae)},nt=be=>{var Ae=JZ();I(be,Ae)};F($e,be=>{c(y).running&&c(y).running.length>0?be(xt):c(y).running!==null&&be(nt,1)})}I(_e,Qe)};F(Q,_e=>{c(x)?_e(ae):c(k)?_e(Oe,1):c(y)&&_e(de,2)})}z(()=>{var _e;return A(G,`Ollama · ${(c(g)||((_e=c(u))==null?void 0:_e.model))??""}`)}),U("click",Z,()=>b(w,!1)),U("click",ce,_e=>_e.stopPropagation()),U("click",te,()=>b(w,!1)),I(N,Z)};F(Et,N=>{c(w)&&N(ei)})}z(N=>{A(Bt,N),gi=Dt(si,1,"input-row svelte-1twuiul",null,gi,{"drag-over":c(Se)}),re=Dt(di,1,"textarea-wrap svelte-1twuiul",null,re,{loading:c(a)}),Ri(Be,"placeholder",c(ct)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),Be.disabled=c(a)||!c(ct)},[()=>Ni(c(At))]),xs(Ee,()=>c(K),N=>b(K,N)),xs(Ve,()=>c(V),N=>b(V,N)),xs(De,()=>c(se),N=>b(se,N)),U("click",ti,ki),U("change",Vt,Ut),ds("dragover",si,Fi),ds("dragleave",si,sn),ds("drop",si,wi),U("keydown",Be,Ai),Kt(Be,()=>c(r),N=>b(r,N)),I(o,je),Hs()}Js(["click","change","keydown"]);var sX=T('<div class="me svelte-1pxdb1"></div>');function pS(o,e){Fs(e,!0);let t=Cu(e,"value",15,""),i=Cu(e,"language",3,"javascript"),n,s,r=!1;Ys(()=>{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=sX();ks(a,d=>n=d,()=>n),I(o,a),Hs()}var oX=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 — 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),rX=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>'),_D=T('<div class="form-error svelte-rrt0o"> </div>'),aX=T('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),mD=T("<li> </li>"),vD=T('<div class="error-bar svelte-rrt0o"> </div>'),bD=T('<div class="loading svelte-rrt0o">Loading…</div>'),lX=T('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),cX=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),dX=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>'),uX=T('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),hX=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>'),fX=T('<span class="badge-error svelte-rrt0o">error</span>'),gX=T('<span class="badge-ok svelte-rrt0o"> </span>'),pX=T('<pre class="result-error svelte-rrt0o"> </pre>'),_X=T('<pre class="result-json svelte-rrt0o"> </pre>'),mX=T('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),vX=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 · 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>'),bX=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),yX=T('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),wX=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>'),SX=T('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function CX(o,e){Fs(e,!0);const t=tt=>{var ne=oX(),Ze=mt(ne);ks(Ku(Ze,{}),Rt=>Di=Rt,()=>Di),I(tt,ne)};let i=P(Ci([])),n=P(null),s=P("{}"),r=P(!1),a=P(null);const d="she-db-selected-view";let u=P(Ci([])),f=P(Ci(localStorage.getItem(d))),g=P("#"),p=P("// emit(this.someProperty)"),w=P(""),y=P(""),x=P(!1),k=P(!1),D=P(null),M=P(!1),O=P(null),K=P("she/db/view/");const V="she-db-panel";let se=P(Ci(localStorage.getItem(V)??"docs")),ie=P(""),we=P(!1),Se=P(null),Ge=P(""),He=P(!1),st=P(null);const bt="she-db-sidebar-width";let Le=P(Ci(parseInt(localStorage.getItem(bt)??"220",10))),wt=!1,ct=0,At=0;const We="she-db-chat-width",Nt="she-db-chat-open";let Xe=P(localStorage.getItem(Nt)==="true"),pe=P(Ci(parseInt(localStorage.getItem(We)??"320",10))),ot=!1,kt=0,Jt=0;const jt=at(()=>c(f)?{id:c(f),filter:c(g),map:c(p),reduce:c(w)}:null);function Pt(tt){tt.filter!==void 0&&b(g,tt.filter,!0),tt.map!==void 0&&b(p,tt.map,!0),tt.reduce!==void 0&&b(w,tt.reduce,!0)}Vn(()=>{localStorage.setItem(Nt,String(c(Xe)))}),Vn(()=>{localStorage.setItem(V,c(se))}),Vn(()=>{c(f)?localStorage.setItem(d,c(f)):localStorage.removeItem(d)});function Lt(tt){wt=!0,ct=tt.clientX,At=c(Le),tt.preventDefault()}function St(tt){wt&&b(Le,Math.max(140,Math.min(500,At+tt.clientX-ct)),!0),ot&&b(pe,Math.max(240,Math.min(600,Jt-(tt.clientX-kt))),!0)}function vi(){wt&&(wt=!1,localStorage.setItem(bt,String(c(Le)))),ot&&(ot=!1,localStorage.setItem(We,String(c(pe))))}function yi(tt){ot=!0,kt=tt.clientX,Jt=c(pe),tt.preventDefault()}async function ci(){try{b(i,await VN(),!0)}catch{}}async function Si(){try{b(u,await jN(),!0)}catch{}}async function Ni(tt){b(n,tt,!0),b(a,null),b(r,!0);try{const ne=await R7(tt);b(s,JSON.stringify(ne,null,2),!0)}catch(ne){b(a,ne instanceof Error?ne.message:String(ne),!0)}finally{b(r,!1)}}async function Hi(){if(c(n)){b(a,null);try{const tt=JSON.parse(c(s));await WE(c(n),tt)}catch(tt){b(a,tt instanceof Error?tt.message:String(tt),!0)}}}let Di;async function bi(){if(c(n)&&await Di.show(`Delete document "${c(n)}"?`,{confirm:"Delete",danger:!0}))try{await N7(c(n)),b(n,null),b(s,"{}")}catch(tt){b(a,tt instanceof Error?tt.message:String(tt),!0)}}async function ki(){const tt=c(ie).trim();if(tt){b(Se,null);try{await WE(tt,{}),b(we,!1),b(ie,""),await Ni(tt)}catch(ne){b(Se,ne instanceof Error?ne.message:String(ne),!0)}}}async function Je(tt){b(f,tt,!0),b(O,null),b(M,!0),b(D,null);try{const ne=await A7(tt);b(g,ne.filter??"",!0),b(p,ne.map,!0),b(w,ne.reduce??"",!0),b(y,ne.description??"",!0),b(x,ne.mqttpub??!1,!0),b(k,ne.retain??!1,!0),b(D,await fS(tt).catch(()=>null),!0)}catch(ne){b(O,ne instanceof Error?ne.message:String(ne),!0)}finally{b(M,!1)}}async function Ut(){if(c(f)){b(O,null);try{const tt={map:c(p)};c(g).trim()&&(tt.filter=c(g).trim()),c(w).trim()&&(tt.reduce=c(w).trim()),c(y).trim()&&(tt.description=c(y).trim()),c(x)&&(tt.mqttpub=!0),c(k)&&(tt.retain=!0),await BE(c(f),tt)}catch(tt){b(O,tt instanceof Error?tt.message:String(tt),!0)}}}async function wi(){if(c(f))try{b(D,await fS(c(f)),!0)}catch(tt){b(O,tt instanceof Error?tt.message:String(tt),!0)}}async function Fi(){if(c(f)&&await Di.show(`Delete view "${c(f)}"?`,{confirm:"Delete",danger:!0}))try{await O7(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(tt){b(O,tt instanceof Error?tt.message:String(tt),!0)}}async function sn(){if(!c(Ge).trim())return;const tt=c(Ge).trim();b(st,null);try{await BE(tt,{map:"// emit(this.someProperty)"}),b(He,!1),b(Ge,""),await Si(),await Je(tt)}catch(ne){b(st,ne instanceof Error?ne.message:String(ne),!0)}}let Mi=P(""),zi=P(""),Ai=at(()=>[...c(i)].filter(tt=>!c(Mi)||tt.toLowerCase().includes(c(Mi).toLowerCase())).sort()),Qi=at(()=>[...c(u)].filter(tt=>!c(zi)||tt.toLowerCase().includes(c(zi).toLowerCase())).sort());Ys(()=>{ci(),Si().then(()=>{c(f)&&c(u).includes(c(f))?Je(c(f)):b(f,null)}),Dl().then(Wt=>{const ni=Wt.dbPrefix||"she/db/",j=ni.endsWith("/")?ni:ni+"/";b(K,j+"view/")}).catch(()=>{});const tt=Pr("db:ids",Wt=>{b(i,Wt.ids??[],!0)}),ne=Pr("db:viewIds",Wt=>{b(u,Wt.ids??[],!0)}),Ze=Pr("db:change",async Wt=>{const ni=Wt.id;c(n)===ni&&(Wt.doc===null?(b(n,null),b(s,"{}")):b(s,JSON.stringify(Wt.doc,null,2),!0))}),Rt=Pr("db:viewUpdate",async Wt=>{const ni=Wt.id;c(f)===ni&&b(D,await fS(ni).catch(()=>null),!0)});return()=>{tt(),ne(),Ze(),Rt()}});var Oi=SX(),Sn=v(Oi),je=v(Sn);let Gt;var pi=m(je,2);let Ti;var Li=m(pi,2);{var mn=tt=>{var ne=rX();let Ze;z(()=>{Ze=Dt(ne,1,"ai-toggle svelte-rrt0o",null,Ze,{"ai-open":c(Xe)}),Ri(ne,"title",c(Xe)?"Close AI assistant":"Open AI assistant")}),U("click",ne,()=>b(Xe,!c(Xe))),I(tt,ne)};F(Li,tt=>{c(se)==="views"&&tt(mn)})}var Ii=m(Sn,2);{var Vi=tt=>{var ne=dX(),Ze=v(ne);let Rt;var Wt=v(Ze),ni=v(Wt),j=m(Wt,2);{var le=Pe=>{var De=aX(),gt=mt(De),Bt=v(gt),yt=m(Bt,2),It=m(gt,2);{var Ot=Tt=>{var ti=_D(),Vt=v(ti);z(()=>A(Vt,c(Se))),I(Tt,ti)};F(It,Tt=>{c(Se)&&Tt(Ot)})}U("keydown",Bt,Tt=>Tt.key==="Enter"&&ki()),Kt(Bt,()=>c(ie),Tt=>b(ie,Tt)),U("click",yt,ki),I(Pe,De)};F(j,Pe=>{c(we)&&Pe(le)})}var Me=m(j,2),rt=v(Me),vt=m(Me,2);fi(vt,20,()=>c(Ai),Pe=>Pe,(Pe,De)=>{var gt=mD();let Bt;var yt=v(gt);z(()=>{Bt=Dt(gt,1,"flat-item svelte-rrt0o",null,Bt,{"active-item":c(n)===De}),A(yt,De)}),U("click",gt,()=>Ni(De)),I(Pe,gt)});var J=m(Ze,2),he=m(J,2),Ee=v(he);{var oe=Pe=>{var De=cX(),gt=mt(De),Bt=v(gt),yt=v(Bt),It=m(Bt,2),Ot=m(It,2),Tt=m(gt,2);{var ti=di=>{var re=vD(),Be=v(re);z(()=>A(Be,c(a))),I(di,re)};F(Tt,di=>{c(a)&&di(ti)})}var Vt=m(Tt,2);{var si=di=>{var re=bD();I(di,re)},gi=di=>{var re=lX(),Be=v(re);pS(Be,{language:"json",get value(){return c(s)},set value(qe){b(s,qe,!0)}}),I(di,re)};F(Vt,di=>{c(r)?di(si):di(gi,-1)})}z(()=>A(yt,c(n))),U("click",It,Hi),U("click",Ot,bi),I(Pe,De)},Ve=Pe=>{t(Pe)};F(Ee,Pe=>{c(n)?Pe(oe):Pe(Ve,-1)})}z(()=>Rt=Bo(Ze,"",Rt,{width:`${c(Le)??""}px`})),U("click",ni,()=>{b(we,!c(we)),b(Se,null)}),Kt(rt,()=>c(Mi),Pe=>b(Mi,Pe)),U("mousedown",J,Lt),I(tt,ne)},Ui=tt=>{var ne=wX(),Ze=v(ne);let Rt;var Wt=v(Ze),ni=v(Wt),j=m(Wt,2);{var le=gt=>{var Bt=uX(),yt=mt(Bt),It=v(yt),Ot=m(It,2),Tt=m(yt,2);{var ti=Vt=>{var si=_D(),gi=v(si);z(()=>A(gi,c(st))),I(Vt,si)};F(Tt,Vt=>{c(st)&&Vt(ti)})}U("keydown",It,Vt=>Vt.key==="Enter"&&sn()),Kt(It,()=>c(Ge),Vt=>b(Ge,Vt)),U("click",Ot,sn),I(gt,Bt)};F(j,gt=>{c(He)&>(le)})}var Me=m(j,2),rt=v(Me),vt=m(Me,2);fi(vt,20,()=>c(Qi),gt=>gt,(gt,Bt)=>{var yt=mD();let It;var Ot=v(yt);z(()=>{It=Dt(yt,1,"flat-item svelte-rrt0o",null,It,{"active-item":c(f)===Bt}),A(Ot,Bt)}),U("click",yt,()=>Je(Bt)),I(gt,yt)});var J=m(Ze,2),he=m(J,2),Ee=v(he);{var oe=gt=>{var Bt=bX(),yt=mt(Bt),It=v(yt),Ot=v(It),Tt=m(It,2),ti=m(Tt,2),Vt=m(ti,2),si=m(yt,2);{var gi=qe=>{var lt=vD(),Yt=v(lt);z(()=>A(Yt,c(O))),I(qe,lt)};F(si,qe=>{c(O)&&qe(gi)})}var di=m(si,2);{var re=qe=>{var lt=bD();I(qe,lt)},Be=qe=>{var lt=vX(),Yt=v(lt),Ft=m(v(Yt),2),zt=v(Ft),Et=m(Yt,2),ei=m(v(Et),2),N=v(ei),Z=m(Et,2),ce=m(v(Z),2),q=v(ce);pS(q,{language:"javascript",get value(){return c(p)},set value(Ie){b(p,Ie,!0)}});var H=m(Z,2),G=m(v(H),2),te=v(G);pS(te,{language:"javascript",get value(){return c(w)},set value(Ie){b(w,Ie,!0)}});var ye=m(H,2),Q=v(ye),ae=v(Q),Oe=m(ae,4),de=m(v(Oe)),_e=v(de),Qe=m(Q,2);{var W=Ie=>{var Ce=hX(),ke=v(Ce);xs(ke,()=>c(k),dt=>b(k,dt)),I(Ie,Ce)};F(Qe,Ie=>{c(x)&&Ie(W)})}var Y=m(ye,2);{var ue=Ie=>{var Ce=mX(),ke=v(Ce),dt=m(v(ke));{var it=Ae=>{var Ne=fX();I(Ae,Ne)},$e=Ae=>{var Ne=gX(),ze=v(Ne);z(()=>A(ze,`${c(D).length??0??""} items · rev ${c(D)._rev??""}`)),I(Ae,Ne)};F(dt,Ae=>{c(D).error?Ae(it):Ae($e,-1)})}var xt=m(ke,2);{var nt=Ae=>{var Ne=pX(),ze=v(Ne);z(()=>A(ze,c(D).error)),I(Ae,Ne)},be=Ae=>{var Ne=_X(),ze=v(Ne);z(Mt=>A(ze,Mt),[()=>JSON.stringify(c(D).result,null,2)]),I(Ae,Ne)};F(xt,Ae=>{c(D).error?Ae(nt):Ae(be,-1)})}I(Ie,Ce)};F(Y,Ie=>{c(D)&&Ie(ue)})}z(()=>A(_e,`${c(K)??""}${c(f)??""} on every update`)),Kt(zt,()=>c(y),Ie=>b(y,Ie)),Kt(N,()=>c(g),Ie=>b(g,Ie)),xs(ae,()=>c(x),Ie=>b(x,Ie)),I(qe,lt)};F(di,qe=>{c(M)?qe(re):qe(Be,-1)})}z(()=>A(Ot,c(f))),U("click",Tt,Ut),U("click",ti,wi),U("click",Vt,Fi),I(gt,Bt)},Ve=gt=>{t(gt)};F(Ee,gt=>{c(f)?gt(oe):gt(Ve,-1)})}var Pe=m(he,2);{var De=gt=>{var Bt=yX(),yt=mt(Bt),It=m(yt,2);let Ot;var Tt=v(It);nX(Tt,{get currentView(){return c(jt)},onApplyView:Pt}),z(()=>Ot=Bo(It,"",Ot,{width:`${c(pe)??""}px`})),U("mousedown",yt,yi),I(gt,Bt)};F(Pe,gt=>{c(Xe)&>(De)})}z(()=>Rt=Bo(Ze,"",Rt,{width:`${c(Le)??""}px`})),U("click",ni,()=>{b(He,!c(He)),b(st,null)}),Kt(rt,()=>c(zi),gt=>b(zi,gt)),U("mousedown",J,Lt),I(tt,ne)};F(Ii,tt=>{c(se)==="docs"?tt(Vi):tt(Ui,-1)})}z(()=>{Gt=Dt(je,1,"svelte-rrt0o",null,Gt,{active:c(se)==="docs"}),Ti=Dt(pi,1,"svelte-rrt0o",null,Ti,{active:c(se)==="views"})}),U("mousemove",Oi,St),U("mouseup",Oi,vi),ds("mouseleave",Oi,vi),U("click",je,()=>b(se,"docs")),U("click",pi,()=>b(se,"views")),I(o,Oi),Hs()}Js(["mousemove","mouseup","click","keydown","mousedown"]);var xX=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),kX=T('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),yD=T('<p class="err svelte-1ua3isv"> </p>'),LX=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>'),IX=T('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),EX=T('<span class="device-name svelte-1ua3isv"> </span>'),DX=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>'),TX=T('<li class="empty svelte-1ua3isv">No paired devices</li>'),PX=T('<p class="info svelte-1ua3isv">Loading…</p>'),MX=T('<p class="device-subtitle svelte-1ua3isv"> </p>'),RX=T('<span class="ep-chip svelte-1ua3isv"> </span>'),NX=T('<span class="attr-id svelte-1ua3isv"> </span>'),AX=T('<button class="attr-action-btn svelte-1ua3isv"> </button>'),OX=T('<div class="attr-actions svelte-1ua3isv"></div>'),FX=T('<span class="cmd-sep svelte-1ua3isv">,</span>'),HX=T('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),WX=T('<span class="cmd-id svelte-1ua3isv"> </span>'),BX=T("<!> <!>",1),zX=T('<span class="cmd-list svelte-1ua3isv"></span>'),VX=T(' <span class="cmd-id svelte-1ua3isv"> </span>',1),jX=T('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),$X=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>'),UX=T('<th class="svelte-1ua3isv"> </th>'),qX=T('<td class="svelte-1ua3isv"> </td>'),GX=T('<tr class="svelte-1ua3isv"></tr>'),KX=T('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),ZX=T('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),XX=T('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),YX=T('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),QX=T('<span class="attr-val svelte-1ua3isv"> </span>'),JX=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>'),eY=T('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),tY=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>'),iY=T('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),nY=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>'),sY=T('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),oY=T('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),rY=T('<span class="stream-badge svelte-1ua3isv"> </span>'),aY=T('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),_S=T(' <span class="e-sub svelte-1ua3isv"> </span>',1),lY=T('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),cY=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),dY=T('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),uY=T('<div class="stream-body svelte-1ua3isv"><!></div>'),hY=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 fY(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(ne,Ze,Rt,Wt,ni){try{await K7(ne,Ze,Rt,Wt,ni)}catch(j){console.error("matter command failed",j)}}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(ne,Ze){const Rt=n[ne];return Ze.map(Wt=>{const ni=typeof Wt=="number"?Wt:Number(Wt);return{id:ni,name:(Rt==null?void 0:Rt[ni])??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(ne){return"0x"+ne.toString(16).toUpperCase().padStart(4,"0")}let f=P(Ci([])),g=Ci(new Map);function p(ne){if(ne==null)return"—";if(typeof ne=="boolean"||typeof ne=="number")return String(ne);if(typeof ne=="string")return ne.length>50?ne.slice(0,47)+"…":ne;const Ze=JSON.stringify(ne);return Ze.length>60?Ze.slice(0,57)+"…":Ze}function w(ne){return ne==null?"—":typeof ne=="boolean"||typeof ne=="number"?String(ne):typeof ne=="string"?ne:JSON.stringify(ne)}function y(ne){return ne!==null&&typeof ne=="object"&&!Array.isArray(ne)}function x(ne){return Array.isArray(ne)&&ne.length>0&&ne.every(y)}function k(ne,Ze){return!!(Ze==="attributeList"||Array.isArray(ne)&&ne.length===0||y(ne)&&Object.keys(ne).length===0)}function D(ne){return new Date(ne).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const M=500,O=20,K=32;let V=0,se=P(Ci([])),ie=P(!0),we=P(180),Se=at(()=>{const ne=Math.max(1,Math.floor((c(we)-K)/O)+1);return c(se).slice(0,ne)});function Ge(ne){ne.preventDefault();const Ze=ne.clientY,Rt=c(we);function Wt(j){b(we,Math.max(60,Math.min(600,Rt+Ze-j.clientY)),!0)}function ni(){document.removeEventListener("mousemove",Wt),document.removeEventListener("mouseup",ni)}document.addEventListener("mousemove",Wt),document.addEventListener("mouseup",ni)}let He=P(null),st=P(!1),bt=P(null),Le=P(!1),wt=P("passcode"),ct=P(""),At=P(""),We=P(""),Nt=P(!1),Xe=P(null),pe=P("");const ot="she:matter:selectedNodeId";async function kt(){try{b(f,await UN(),!0);for(const ne of c(f))Xm(ne.nodeId).then(Ze=>{g.set(ne.nodeId,Ze)}).catch(()=>{});if(c(f).length>0&&!c(He)){const ne=localStorage.getItem(ot),Ze=ne&&c(f).find(Rt=>Rt.nodeId===ne)?ne:c(f)[0].nodeId;Jt(Ze)}}catch{b(f,[],!0)}}async function Jt(ne){b(st,!0),b(bt,null);try{b(He,await Xm(ne),!0),g.set(ne,c(He)),localStorage.setItem(ot,ne)}catch(Ze){b(bt,Ze instanceof Error?Ze.message:String(Ze),!0)}finally{b(st,!1)}}let jt;async function Pt(ne){var Ze;if(await jt.show(`Unpair device ${ne}?`,{confirm:"Unpair",danger:!0}))try{await G7(ne),((Ze=c(He))==null?void 0:Ze.nodeId)===ne&&b(He,null),await kt()}catch(Rt){b(bt,Rt instanceof Error?Rt.message:String(Rt),!0)}}async function Lt(){b(Nt,!0),b(Xe,null);try{let ne;c(wt)==="passcode"?(ne={passcode:Number(c(ct))},c(At)&&(ne={...ne,discriminator:Number(c(At))})):ne={pairingCode:c(We).trim()},c(pe).trim()&&(ne={...ne,discoveryAddress:c(pe).trim()}),await q7(ne),b(Le,!1),b(ct,""),b(At,""),b(We,""),b(pe,""),await kt()}catch(ne){b(Xe,ne instanceof Error?ne.message:String(ne),!0)}finally{b(Nt,!1)}}Ys(()=>{kt()});const St=Pr("matter:deviceList",ne=>{if(!Array.isArray(ne.devices))return;const Ze=ne.devices;for(const Rt of Ze)g.has(Rt.nodeId)||Xm(Rt.nodeId).then(Wt=>{g.set(Rt.nodeId,Wt)}).catch(()=>{});b(f,Ze,!0)}),vi=Pr("matter:deviceStatus",ne=>{if(ne.nodeId===void 0)return;const Ze=String(ne.nodeId),Rt=!!ne.online;b(f,c(f).map(Wt=>Wt.nodeId===Ze?{...Wt,online:Rt}:Wt),!0),b(se,[{id:V++,kind:"status",nodeId:Ze,online:Rt,ts:Date.now()},...c(se).slice(0,M-1)],!0)}),yi=Pr("matter:attr",ne=>{const Ze=String(ne.nodeId),Rt=ne.endpointId,Wt=String(ne.clusterName),ni=String(ne.attrName),j=ne.value;if(c(He)&&c(He).nodeId===Ze){const Me=c(He).endpoints.find(vt=>vt.endpointId===Rt),rt=Me==null?void 0:Me.clusters.find(vt=>vt.name===Wt);rt&&(rt.attrs[ni]=j)}const le=g.get(Ze);if(le){const Me=le.endpoints.find(vt=>vt.endpointId===Rt),rt=Me==null?void 0:Me.clusters.find(vt=>vt.name===Wt);rt&&(rt.attrs[ni]=j)}b(se,[{id:V++,kind:"attr",nodeId:Ze,endpointId:Rt,clusterName:Wt,attrName:ni,value:j,ts:ne.ts??Date.now()},...c(se).slice(0,M-1)],!0)});Wy(()=>{St(),vi(),yi()});var ci=hY(),Si=mt(ci);ks(Ku(Si,{}),ne=>jt=ne,()=>jt);var Ni=m(Si,2),Hi=v(Ni),Di=v(Hi),bi=v(Di),ki=m(v(bi),2),Je=m(bi,2);{var Ut=ne=>{var Ze=LX(),Rt=v(Ze),Wt=v(Rt);let ni;var j=m(Wt,2);let le;var Me=m(Rt,2);{var rt=De=>{var gt=xX(),Bt=mt(gt),yt=m(v(Bt)),It=m(Bt,2),Ot=m(v(It));Kt(yt,()=>c(ct),Tt=>b(ct,Tt)),Kt(Ot,()=>c(At),Tt=>b(At,Tt)),I(De,gt)},vt=De=>{var gt=kX(),Bt=m(v(gt));Kt(Bt,()=>c(We),yt=>b(We,yt)),I(De,gt)};F(Me,De=>{c(wt)==="passcode"?De(rt):De(vt,-1)})}var J=m(Me,2),he=m(v(J)),Ee=m(J,2);{var oe=De=>{var gt=yD(),Bt=v(gt);z(()=>A(Bt,c(Xe))),I(De,gt)};F(Ee,De=>{c(Xe)&&De(oe)})}var Ve=m(Ee,2),Pe=v(Ve);z(()=>{ni=Dt(Wt,1,"svelte-1ua3isv",null,ni,{active:c(wt)==="passcode"}),le=Dt(j,1,"svelte-1ua3isv",null,le,{active:c(wt)==="pairingCode"}),Ve.disabled=c(Nt),A(Pe,c(Nt)?"Commissioning…":"Commission")}),U("click",Wt,()=>b(wt,"passcode")),U("click",j,()=>b(wt,"pairingCode")),Kt(he,()=>c(pe),De=>b(pe,De)),U("click",Ve,Lt),I(ne,Ze)};F(Je,ne=>{c(Le)&&ne(Ut)})}var wi=m(Je,2),Fi=v(wi);fi(Fi,17,()=>c(f),ne=>ne.nodeId,(ne,Ze)=>{var Rt=DX();let Wt;var ni=v(Rt),j=v(ni);let le;var Me=m(j,2),rt=v(Me);{var vt=Ee=>{var oe=IX(),Ve=mt(oe),Pe=v(Ve),De=m(Ve,2),gt=v(De);z(()=>{A(Pe,c(Ze).name),A(gt,`#${c(Ze).nodeId??""}`)}),I(Ee,oe)},J=Ee=>{var oe=EX(),Ve=v(oe);z(()=>A(Ve,`Node ${c(Ze).nodeId??""}`)),I(Ee,oe)};F(rt,Ee=>{c(Ze).name?Ee(vt):Ee(J,-1)})}var he=m(ni,2);z(()=>{var Ee;Wt=Dt(Rt,1,"svelte-1ua3isv",null,Wt,{selected:((Ee=c(He))==null?void 0:Ee.nodeId)===c(Ze).nodeId}),le=Dt(j,1,"status-dot svelte-1ua3isv",null,le,{online:c(Ze).online})}),U("click",ni,()=>Jt(c(Ze).nodeId)),U("click",he,()=>Pt(c(Ze).nodeId)),I(ne,Rt)});var sn=m(Fi,2);{var Mi=ne=>{var Ze=TX();I(ne,Ze)};F(sn,ne=>{c(f).length===0&&ne(Mi)})}var zi=m(Di,2),Ai=v(zi);{var Qi=ne=>{var Ze=PX();I(ne,Ze)},Oi=ne=>{var Ze=yD(),Rt=v(Ze);z(()=>A(Rt,c(bt))),I(ne,Ze)},Sn=ne=>{var Ze=sY(),Rt=mt(Ze),Wt=v(Rt),ni=v(Wt),j=m(Wt,2);{var le=J=>{var he=MX(),Ee=v(he);z(()=>A(Ee,c(He).subtitle)),I(J,he)};F(j,J=>{c(He).subtitle&&J(le)})}var Me=m(j,2),rt=v(Me),vt=m(Rt,2);fi(vt,17,()=>c(He).endpoints,J=>J.endpointId,(J,he)=>{var Ee=nY(),oe=v(Ee),Ve=v(oe),Pe=m(Ve),De=v(Pe),gt=m(Pe,2);fi(gt,21,()=>c(he).clusters,Wi,(Ot,Tt)=>{var ti=RX(),Vt=v(ti);z(()=>A(Vt,c(Tt).name)),I(Ot,ti)});var Bt=m(oe,2);{var yt=Ot=>{var Tt=tY(),ti=m(v(Tt));fi(ti,21,()=>c(he).clusters,Wi,(Vt,si)=>{var gi=eY(),di=mt(gi),re=v(di),Be=v(re),qe=m(di,2);fi(qe,17,()=>Object.entries(c(si).attrs),Wi,(lt,Yt)=>{var Ft=at(()=>FL(c(Yt),2));let zt=()=>c(Ft)[0],Et=()=>c(Ft)[1];var ei=Ms(),N=mt(ei);{var Z=q=>{const H=at(()=>{var Ne;return(Ne=t[c(si).name])==null?void 0:Ne[zt()]}),G=at(()=>(zt()==="acceptedCommandList"||zt()==="generatedCommandList")&&Array.isArray(Et())),te=at(()=>{var Ne;return((Ne=d[c(si).name])==null?void 0:Ne[zt()])??a[zt()]});var ye=JX(),Q=v(ye),ae=v(Q),Oe=v(ae),de=m(ae);{var _e=Ne=>{var ze=NX(),Mt=v(ze);z(Te=>A(Mt,`(${Te??""})`),[()=>u(c(te))]),I(Ne,ze)};F(de,Ne=>{c(te)!==void 0&&Ne(_e)})}var Qe=m(Q),W=v(Qe);{var Y=Ne=>{var ze=OX();fi(ze,21,()=>c(H),Wi,(Mt,Te)=>{var Ke=AX(),ut=v(Ke);z(()=>A(ut,c(Te).label)),U("click",Ke,()=>i(c(He).nodeId,c(he).endpointId,c(si).name,c(Te).command,c(Te).args)),I(Mt,Ke)}),I(Ne,ze)};F(W,Ne=>{c(H)&&Ne(Y)})}var ue=m(Qe),Ie=v(ue);{var Ce=Ne=>{var ze=zX();fi(ze,21,()=>s(c(si).name,Et()),Wi,(Mt,Te,Ke)=>{var ut=BX(),ht=mt(ut);{var et=qi=>{var pn=FX();I(qi,pn)};F(ht,qi=>{Ke>0&&qi(et)})}var Qt=m(ht,2);{var oi=qi=>{var pn=HX(),Wn=mt(pn),ji=v(Wn),hi=m(Wn),ln=v(hi);z(()=>{A(ji,c(Te).name),A(ln,`(${c(Te).id??""})`)}),I(qi,pn)},an=qi=>{var pn=WX(),Wn=v(pn);z(()=>A(Wn,c(Te).id)),I(qi,pn)};F(Qt,qi=>{c(Te).name?qi(oi):qi(an,-1)})}I(Mt,ut)}),I(Ne,ze)},ke=Ne=>{var ze=$X(),Mt=m(v(ze));fi(Mt,21,Et,Wi,(Te,Ke)=>{const ut=at(()=>c(Ke)),ht=at(()=>c(ut).deviceType),et=at(()=>r[c(ht)]);var Qt=jX(),oi=v(Qt),an=v(oi);{var qi=hi=>{var ln=VX(),tn=mt(ln),es=m(tn),Bs=v(es);z(ho=>{A(tn,`${c(et)??""} `),A(Bs,`(${ho??""})`)},[()=>u(c(ht))]),I(hi,ln)},pn=hi=>{var ln=Dr();z(tn=>A(ln,tn),[()=>u(c(ht))]),I(hi,ln)};F(an,hi=>{c(et)?hi(qi):hi(pn,-1)})}var Wn=m(oi),ji=v(Wn);z(hi=>A(ji,hi),[()=>w(c(ut).revision)]),I(Te,Qt)}),I(Ne,ze)},dt=at(()=>zt()==="deviceTypeList"&&Array.isArray(Et())),it=Ne=>{const ze=at(()=>[...new Set(Et().flatMap(ht=>Object.keys(ht)))]);var Mt=KX(),Te=v(Mt),Ke=v(Te);fi(Ke,21,()=>c(ze),Wi,(ht,et)=>{var Qt=UX(),oi=v(Qt);z(()=>A(oi,c(et))),I(ht,Qt)});var ut=m(Te);fi(ut,21,Et,Wi,(ht,et)=>{var Qt=GX();fi(Qt,21,()=>c(ze),Wi,(oi,an)=>{var qi=qX(),pn=v(qi);z(Wn=>A(pn,Wn),[()=>w(c(et)[c(an)])]),I(oi,qi)}),I(ht,Qt)}),I(Ne,Mt)},$e=at(()=>x(Et())),xt=Ne=>{var ze=XX(),Mt=v(ze);fi(Mt,21,()=>Object.entries(Et()),Wi,(Te,Ke)=>{var ut=at(()=>FL(c(Ke),2));let ht=()=>c(ut)[0],et=()=>c(ut)[1];var Qt=ZX(),oi=v(Qt),an=v(oi),qi=m(oi),pn=v(qi);z(Wn=>{A(an,ht()),A(pn,Wn)},[()=>w(et())]),I(Te,Qt)}),I(Ne,ze)},nt=at(()=>y(Et())),be=Ne=>{var ze=YX(),Mt=v(ze);z(()=>{Ri(ze,"href",Et()),A(Mt,Et())}),I(Ne,ze)},Ae=Ne=>{var ze=QX(),Mt=v(ze);z(Te=>A(Mt,Te),[()=>w(Et())]),I(Ne,ze)};F(Ie,Ne=>{c(G)?Ne(Ce):c(dt)?Ne(ke,1):c($e)?Ne(it,2):c(nt)?Ne(xt,3):(zt()==="productUrl"||zt()==="productURL")&&typeof Et()=="string"?Ne(be,4):Ne(Ae,-1)})}z(()=>{Ri(Q,"title",zt()),A(Oe,zt())}),I(q,ye)},ce=at(()=>!k(Et(),zt()));F(N,q=>{c(ce)&&q(Z)})}I(lt,ei)}),z(()=>A(Be,c(si).name)),I(Vt,gi)}),I(Ot,Tt)},It=Ot=>{var Tt=iY();I(Ot,Tt)};F(Bt,Ot=>{c(he).clusters.length>0?Ot(yt):Ot(It,-1)})}z(()=>{A(Ve,`${c(he).name??`Endpoint ${c(he).endpointId}`??""} `),A(De,`ep${c(he).endpointId??""}`)}),I(J,Ee)}),z(()=>{A(ni,c(He).name??`Node ${c(He).nodeId}`),A(rt,`Node ID: ${c(He).nodeId??""}`)}),I(ne,Ze)},je=ne=>{var Ze=oY();I(ne,Ze)};F(Ai,ne=>{c(st)?ne(Qi):c(bt)?ne(Oi,1):c(He)?ne(Sn,2):ne(je,-1)})}var Gt=m(Hi,2),pi=v(Gt),Ti=m(pi,2),Li=m(v(Ti),2);{var mn=ne=>{var Ze=rY(),Rt=v(Ze);z(()=>A(Rt,c(se).length)),I(ne,Ze)};F(Li,ne=>{!c(ie)&&c(se).length>0&&ne(mn)})}var Ii=m(Li,2),Vi=v(Ii),Ui=m(Ti,2);{var tt=ne=>{var Ze=uY(),Rt=v(Ze);{var Wt=j=>{var le=aY();I(j,le)},ni=j=>{var le=Ms(),Me=mt(le);fi(Me,17,()=>c(Se),rt=>rt.id,(rt,vt)=>{const J=at(()=>{var yt,It;return((yt=g.get(c(vt).nodeId))==null?void 0:yt.name)??((It=c(f).find(Ot=>Ot.nodeId===c(vt).nodeId))==null?void 0:It.name)??null}),he=at(()=>{var yt,It;return c(vt).endpointId!==void 0?((It=(yt=g.get(c(vt).nodeId))==null?void 0:yt.endpoints.find(Ot=>Ot.endpointId===c(vt).endpointId))==null?void 0:It.name)??null:null}),Ee=at(()=>c(vt).attrName??c(vt).clusterName);var oe=dY(),Ve=v(oe),Pe=v(Ve),De=m(Ve,2);{var gt=yt=>{var It=lY(),Ot=m(mt(It),2),Tt=v(Ot),ti=m(Tt);{var Vt=re=>{var Be=_S(),qe=m(mt(Be)),lt=v(qe);z(()=>A(lt,`(#${c(vt).nodeId??""})`)),I(re,Be)};F(ti,re=>{c(J)&&re(Vt)})}var si=m(Ot,2);let gi;var di=v(si);z(()=>{A(Tt,c(J)??`#${c(vt).nodeId}`),gi=Dt(si,1,"e-val svelte-1ua3isv",null,gi,{"e-online":c(vt).online,"e-offline":!c(vt).online}),A(di,c(vt).online?"online":"offline")}),I(yt,It)},Bt=yt=>{var It=cY(),Ot=m(mt(It),2),Tt=v(Ot),ti=m(Tt);{var Vt=Et=>{var ei=_S(),N=m(mt(ei)),Z=v(N);z(()=>A(Z,`(#${c(vt).nodeId??""})`)),I(Et,ei)};F(ti,Et=>{c(J)&&Et(Vt)})}var si=m(Ot,2),gi=v(si),di=m(gi);{var re=Et=>{var ei=_S(),N=m(mt(ei)),Z=v(N);z(()=>A(Z,`(ep ${c(vt).endpointId??""})`)),I(Et,ei)};F(di,Et=>{c(he)&&Et(re)})}var Be=m(si,2),qe=v(Be),lt=m(Be,2),Yt=v(lt),Ft=m(lt,2),zt=v(Ft);z(Et=>{A(Tt,c(J)??`#${c(vt).nodeId}`),A(gi,c(he)??`ep${c(vt).endpointId}`),A(qe,c(vt).clusterName),A(Yt,c(Ee)),A(zt,Et)},[()=>p(c(vt).value)]),I(yt,It)};F(De,yt=>{c(vt).kind==="status"?yt(gt):yt(Bt,-1)})}z(yt=>A(Pe,yt),[()=>D(c(vt).ts)]),I(rt,oe)}),I(j,le)};F(Rt,j=>{c(Se).length===0?j(Wt):j(ni,-1)})}I(ne,Ze)};F(Ui,ne=>{c(ie)&&ne(tt)})}z(()=>{Bo(Gt,c(ie)?`height: ${c(we)}px;`:""),A(Vi,c(ie)?"▾":"▸")}),U("click",ki,()=>b(Le,!c(Le))),U("mousedown",pi,Ge),U("click",Ii,()=>{b(ie,!c(ie))}),I(o,ci),Hs()}Js(["click","mousedown"]);var gY=T("<button>›</button>"),pY=T('<span class="chev-ph svelte-1vejtrc"></span>'),_Y=T('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),mY=T("<button>🔒</button>"),vY=T("<span> </span>"),bY=T('<span class="acl-dyn svelte-1vejtrc" title="per-user/client pattern — cannot evaluate statically">⚠%u/%c</span>'),yY=T('<span class="acl-members svelte-1vejtrc"> </span>'),wY=T('<span class="acl-group svelte-1vejtrc"> </span>'),SY=T('<span> <strong class="svelte-1vejtrc"> </strong> <!> <!> <!></span>'),CY=T('<div class="acl-sec svelte-1vejtrc"><span class="acl-sec-hdr svelte-1vejtrc"> </span> <!></div>'),xY=T('<div class="acl-panel svelte-1vejtrc"></div>'),kY=T('<div class="tc svelte-1vejtrc"></div>'),LY=T('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!> <!></div> <!> <!></div>'),IY=T('<button class="acl-refresh svelte-1vejtrc" title="Refresh ACL data">↺</button>'),EY=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),DY=T("<option></option>"),TY=T('<span class="pub-ok svelte-1vejtrc">✓</span>'),PY=T('<span class="pub-err svelte-1vejtrc"> </span>'),MY=T('<div class="info svelte-1vejtrc">Loading…</div>'),RY=T('<div class="info err svelte-1vejtrc"> </div>'),NY=T('<div class="info svelte-1vejtrc">No topics match.</div>'),AY=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>'),OY=T('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),FY=T('<div class="info svelte-1vejtrc">No topics yet.</div>'),HY=T('<div class="tree-wrap svelte-1vejtrc"><!></div>'),WY=T('<span class="stream-badge"> </span>'),BY=T('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),zY=T('<span class="s-ret svelte-1vejtrc" title="retained snapshot">⊛</span>'),VY=T('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),jY=T('<div class="stream-body svelte-1vejtrc"><!></div>'),$Y=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),UY=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>'),qY=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),GY=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 KY(o,e){Fs(e,!0);const t=(q,H=Ny)=>{const G=at(()=>c(g).has(H().path)),te=at(()=>c(a)>=0&&H().children.size>0),ye=at(()=>c(a)>=0&&H().isLeaf&&!n.has(H().path));var Q=LY(),ae=v(Q);let Oe;var de=v(ae);{var _e=be=>{var Ae=gY();let Ne;z(()=>{Ne=Dt(Ae,1,"chev svelte-1vejtrc",null,Ne,{open:c(G)}),Ri(Ae,"aria-label",c(G)?"Collapse":"Expand")}),U("click",Ae,()=>p(H().path)),I(be,Ae)},Qe=be=>{var Ae=pY();I(be,Ae)};F(de,be=>{c(te)?be(_e):be(Qe,-1)})}var W=m(de,2),Y=v(W),ue=m(W,2);{var Ie=be=>{var Ae=_Y(),Ne=mt(Ae),ze=v(Ne),Mt=m(Ne,2),Te=v(Mt);z((Ke,ut,ht)=>{Ri(Ne,"title",Ke),A(ze,ut),A(Te,ht)},[()=>{var Ke;return Ni((Ke=bi(H().path))==null?void 0:Ke.val)},()=>{var Ke;return Ni((Ke=bi(H().path))==null?void 0:Ke.val)},()=>{var Ke;return((Ke=bi(H().path))==null?void 0:Ke.ts)!=null?Hi(bi(H().path).ts):""}]),I(be,Ae)},Ce=at(()=>H().isLeaf&&i.has(H().path));F(ue,be=>{c(Ce)&&be(Ie)})}var ke=m(ue,2);{var dt=be=>{const Ae=at(()=>!!c(Ai)&&Sn(H().path));var Ne=mY();let ze;z(()=>{ze=Dt(Ne,1,"acl-badge svelte-1vejtrc",null,ze,{matched:c(Ae)}),Ri(Ne,"title",c(Ae)?"Has explicit ACL — click to inspect":"No explicit ACL — uses defaults")}),U("click",Ne,Mt=>{Mt.stopPropagation(),b(Qi,c(Qi)===H().path?null:H().path,!0)}),I(be,Ne)};F(ke,be=>{c(Mi)&&H().isLeaf&&be(dt)})}var it=m(ae,2);{var $e=be=>{const Ae=at(()=>je(H().path,Ut)),Ne=at(()=>je(H().path,wi)),ze=at(()=>je(H().path,Fi));var Mt=xY();fi(Mt,21,()=>[{label:"Send",roles:c(Ae),defType:"publishClientSend"},{label:"Subscribe",roles:c(Ne),defType:"subscribePattern"},{label:"Receive",roles:c(ze),defType:"publishClientReceive"}],Wi,(Te,Ke)=>{var ut=CY(),ht=v(ut),et=v(ht),Qt=m(ht,2);{var oi=qi=>{var pn=vY();let Wn;var ji=v(pn);z((hi,ln)=>{Wn=Dt(pn,1,"acl-def svelte-1vejtrc",null,Wn,hi),A(ji,`${ln??""} (default)`)},[()=>({allow:pi(c(Ke).defType),deny:!pi(c(Ke).defType)}),()=>pi(c(Ke).defType)?"allow":"deny"]),I(qi,pn)},an=qi=>{var pn=Ms(),Wn=mt(pn);fi(Wn,17,()=>c(Ke).roles,Wi,(ji,hi)=>{const ln=at(()=>Gt(c(hi).rolename));var tn=SY();let es;var Bs=v(tn),ho=m(Bs),Ko=v(ho),dr=m(ho,2);{var Xn=Ds=>{var fs=bY();I(Ds,fs)};F(dr,Ds=>{c(hi).dynamic&&Ds(Xn)})}var Zo=m(dr,2);{var ur=Ds=>{var fs=yY(),ns=v(fs);z(Ts=>A(ns,Ts),[()=>c(ln).direct.join(", ")]),I(Ds,fs)};F(Zo,Ds=>{c(ln).direct.length>0&&Ds(ur)})}var gn=m(Zo,2);fi(gn,17,()=>c(ln).viaGroup,Wi,(Ds,fs)=>{var ns=wY(),Ts=v(ns);z(()=>A(Ts,c(fs).groupname)),I(Ds,ns)}),z(()=>{es=Dt(tn,1,"acl-role svelte-1vejtrc",null,es,{allow:c(hi).allow,deny:!c(hi).allow}),A(Bs,`${c(hi).allow?"✓":"✗"} `),A(Ko,c(hi).rolename)}),I(ji,tn)}),I(qi,pn)};F(Qt,qi=>{c(Ke).roles.length===0?qi(oi):qi(an,-1)})}z(()=>A(et,c(Ke).label)),I(Te,ut)}),I(be,Mt)};F(it,be=>{c(Mi)&&H().isLeaf&&c(Qi)===H().path&&c(Ai)&&be($e)})}var xt=m(it,2);{var nt=be=>{var Ae=kY();fi(Ae,21,()=>[...H().children.values()].sort((Ne,ze)=>Ne.seg.localeCompare(ze.seg)),Ne=>Ne.path,(Ne,ze)=>{t(Ne,()=>c(ze))}),I(be,Ae)};F(xt,be=>{c(te)&&c(G)&&be(nt)})}z(()=>{Oe=Dt(ae,1,"tr svelte-1vejtrc",null,Oe,{stale:c(ye)}),A(Y,H().seg)}),U("click",ae,()=>{b(st,H().path+"/#")}),U("contextmenu",ae,be=>{be.preventDefault(),b(pe,{x:be.clientX,y:be.clientY,topic:H().path},!0)}),I(q,Q)},i=new Map,n=new Set,s=new Set;let r=null,a=P(0);function d(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const q of s)f(q);s.clear(),BL(a)}))}const u=new Map;function f(q){const H=q.split("/");let G=u,te="";for(let ye=0;ye<H.length;ye++){const Q=H[ye];te=ye===0?Q:`${te}/${Q}`,G.has(Q)||G.set(Q,{seg:Q,path:te,children:new Map,isLeaf:!1});const ae=G.get(Q);ye===H.length-1&&(ae.isLeaf=!0),G=ae.children}}let g=P(Ci(new Set));function p(q){const H=new Set(c(g));H.has(q)?H.delete(q):H.add(q),b(g,H,!0)}let w=P("");const y=24,x=5;let k=P(0),D=P(300),M=at(()=>{if(c(a),!c(w))return[];const q=c(w).toLowerCase().split(/\s+/).filter(Boolean),H=[];for(const[G,te]of i){const ye=G.toLowerCase();q.every(Q=>ye.includes(Q))&&H.push({topic:G,...te})}return H.sort((G,te)=>G.topic.localeCompare(te.topic))}),O=at(()=>{const q=c(M).length,H=Math.max(0,Math.floor(c(k)/y)-x),G=Math.min(q,Math.ceil((c(k)+c(D))/y)+x);return{start:H,end:G,totalH:q*y,top:H*y}});const K=1e3,V=200,se=20,ie=36;let we=0,Se=P(Ci([])),Ge=P(Ci([])),He=P(!0),st=P("#"),bt=P(200);Vn(()=>{const q=c(st).trim(),H=Al(()=>c(Se)),G=!q||q==="#"?H.slice(0,V):H.filter(te=>Le(q,te.topic)).slice(0,V);if(q&&q!=="#"){const te=new Set(G.map(Q=>Q.topic)),ye=[];for(const[Q,ae]of i)te.has(Q)||Le(q,Q)&&ye.push({id:-(ye.length+1),topic:Q,val:ae.val,ts:ae.ts,retained:!0});ye.sort((Q,ae)=>Q.topic.localeCompare(ae.topic)),b(Ge,[...G,...ye],!0)}else b(Ge,G,!0)});function Le(q,H){if(q==="#")return!0;const G=q.split("/"),te=H.split("/");for(let ye=0;ye<G.length;ye++){if(G[ye]==="#")return!0;if(ye>=te.length||G[ye]!=="+"&&G[ye]!==te[ye])return!1}return G.length===te.length}function wt(q){q.preventDefault();const H=q.clientY,G=c(bt);function te(Q){b(bt,Math.max(60,Math.min(800,G+H-Q.clientY)),!0)}function ye(){document.removeEventListener("mousemove",te),document.removeEventListener("mouseup",ye)}document.addEventListener("mousemove",te),document.addEventListener("mouseup",ye)}let ct=at(()=>{const q=Math.max(1,Math.floor((c(bt)-ie)/se)+1);return c(Ge).slice(0,q)}),At=P(!0),We=P(null);async function Nt(){b(At,!0),b(We,null);try{const q=await qN();for(const H of q)i.set(H.topic,{val:H.val,ts:H.ts}),f(H.topic)}catch(q){b(We,q instanceof Error?q.message:String(q),!0)}finally{b(At,!1),BL(a)}}const Xe=Pr("mqtt",q=>{const{topic:H,val:G,ts:te}=q;i.set(H,{val:G,ts:te}),n.add(H),s.add(H),d();const ye={id:we++,topic:H,val:G,ts:te};b(Se,[ye,...c(Se).slice(0,K-1)],!0);const Q=c(st).trim();(!Q||Q==="#"||Le(Q,H))&&b(Ge,[ye,...c(Ge).filter(ae=>!(ae.retained&&ae.topic===H)).slice(0,V-1)],!0)});let pe=P(null),ot=P(null);async function kt(q,H){const G=[q];if(H){const te=q+"/";for(const ye of i.keys())ye.startsWith(te)&&G.push(ye)}for(const te of G)await VE(te,"",!0,0)}let Jt=at(()=>(c(a),[...i.keys()].sort())),jt=P(""),Pt=P(""),Lt=P(!1),St=P(0),vi=P(!1),yi=P(null),ci=P(!1);async function Si(){if(c(jt)){b(vi,!0),b(yi,null),b(ci,!1);try{await VE(c(jt),c(Pt),c(Lt),c(St)),b(ci,!0),setTimeout(()=>{b(ci,!1)},2e3)}catch(q){b(yi,q instanceof Error?q.message:String(q),!0)}finally{b(vi,!1)}}}function Ni(q){return q==null?"":typeof q=="object"?JSON.stringify(q):String(q)}function Hi(q){return new Date(q).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Di(q){return new Date(q).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function bi(q){return c(a),i.get(q)}let ki=at(()=>(c(a),[...u.values()].sort((q,H)=>q.seg.localeCompare(H.seg)))),Je=at(()=>(c(a),i.size));const Ut=new Set(["publishClientSend"]),wi=new Set(["subscribePattern","subscribeLiteral"]),Fi=new Set(["publishClientReceive"]);let sn=P(!1),Mi=P(!1),zi=P(!1),Ai=P(null),Qi=P(null);function Oi(q,H,G){return H.includes("%u")||H.includes("%c")?"dynamic":q==="subscribeLiteral"||q==="unsubscribeLiteral"?H===G?"match":"no-match":Le(H,G)?"match":"no-match"}function Sn(q){if(!c(Ai))return!1;for(const H of c(Ai).roles)if(H.acls){for(const G of H.acls)if(Oi(G.acltype,G.topic,q)!=="no-match")return!0}return!1}function je(q,H){if(!c(Ai))return[];const G=[];for(const te of c(Ai).roles)if(te.acls)for(const ye of te.acls){if(!H.has(ye.acltype))continue;const Q=Oi(ye.acltype,ye.topic,q);if(Q!=="no-match"){G.push({rolename:te.rolename,allow:ye.allow,dynamic:Q==="dynamic"});break}}return G}function Gt(q){if(!c(Ai))return{direct:[],viaGroup:[]};const H=c(Ai).users.filter(te=>{var ye;return(ye=te.roles)==null?void 0:ye.some(Q=>Q.rolename===q)}).map(te=>te.username),G=c(Ai).groups.filter(te=>{var ye;return(ye=te.roles)==null?void 0:ye.some(Q=>Q.rolename===q)}).map(te=>({groupname:te.groupname,members:(te.clients??[]).map(ye=>ye.username)}));return{direct:H,viaGroup:G}}function pi(q){if(!c(Ai))return!1;const H=c(Ai).defaults.find(G=>G.acltype===q);return(H==null?void 0:H.allow)??!1}async function Ti(){b(zi,!0);try{const[q,H,G,te]=await Promise.all([YN(),Ik(),QN(),JN()]);b(Ai,{roles:q.roles,users:H.users,groups:G.groups,defaults:te.acls},!0)}catch{b(Ai,null),b(Mi,!1)}finally{b(zi,!1)}}async function Li(){c(Mi)?(b(Mi,!1),b(Qi,null)):(b(Mi,!0),b(Qi,null),c(Ai)||await Ti())}Ys(Nt),Ys(async()=>{var q;try{const H=await lw();b(sn,!!((q=H.dynsec)!=null&&q.dynsecReady),!0)}catch{b(sn,!1)}}),Wy(()=>{Xe(),r!==null&&cancelAnimationFrame(r)});var mn=GY(),Ii=v(mn),Vi=m(v(Ii),2);{var Ui=q=>{var H=EY(),G=mt(H);let te;var ye=m(v(G),2);{var Q=de=>{var _e=Dr("…");I(de,_e)};F(ye,de=>{c(zi)&&de(Q)})}var ae=m(G,2);{var Oe=de=>{var _e=IY();z(()=>_e.disabled=c(zi)),U("click",_e,Ti),I(de,_e)};F(ae,de=>{c(Mi)&&de(Oe)})}z(()=>{te=Dt(G,1,"acl-btn svelte-1vejtrc",null,te,{active:c(Mi)}),G.disabled=c(zi)}),U("click",G,Li),I(q,H)};F(Vi,q=>{c(sn)&&q(Ui)})}var tt=m(Ii,2),ne=v(tt),Ze=v(ne),Rt=m(Ze,2);fi(Rt,20,()=>c(Jt),q=>q,(q,H)=>{var G=DY(),te={};z(()=>{te!==(te=H)&&(G.value=(G.__value=H)??"")}),I(q,G)});var Wt=m(Rt,2),ni=m(Wt,2),j=v(ni),le=m(ni,2),Me=v(le);Me.value=Me.__value=0;var rt=m(Me);rt.value=rt.__value=1;var vt=m(rt);vt.value=vt.__value=2;var J=m(le,2),he=m(J,2);{var Ee=q=>{var H=TY();I(q,H)};F(he,q=>{c(ci)&&q(Ee)})}var oe=m(he,2);{var Ve=q=>{var H=PY(),G=v(H);z(()=>A(G,c(yi))),I(q,H)};F(oe,q=>{c(yi)&&q(Ve)})}var Pe=m(ne,2),De=v(Pe),gt=m(De,2),Bt=v(gt);{var yt=q=>{var H=Dr();z(()=>A(H,`${c(M).length??""} /`)),I(q,H)};F(Bt,q=>{c(w)&&q(yt)})}var It=m(Bt),Ot=m(Pe,2);{var Tt=q=>{var H=MY();I(q,H)},ti=q=>{var H=RY(),G=v(H);z(()=>A(G,c(We))),I(q,H)},Vt=q=>{var H=Ms(),G=mt(H);{var te=Q=>{var ae=NY();I(Q,ae)},ye=Q=>{var ae=OY(),Oe=v(ae),de=v(Oe);fi(de,21,()=>c(M).slice(c(O).start,c(O).end),_e=>_e.topic,(_e,Qe)=>{var W=AY(),Y=v(W),ue=v(Y),Ie=m(Y,2),Ce=v(Ie),ke=m(Ie,2),dt=v(ke);z((it,$e,xt)=>{A(ue,c(Qe).topic),Ri(Ie,"title",it),A(Ce,$e),A(dt,xt)},[()=>Ni(c(Qe).val),()=>Ni(c(Qe).val),()=>Hi(c(Qe).ts)]),I(_e,W)}),z(()=>{Bo(Oe,`height: ${c(O).totalH??""}px; position: relative;`),Bo(de,`top: ${c(O).top??""}px;`)}),ds("scroll",ae,_e=>{b(k,_e.currentTarget.scrollTop,!0)}),eW(ae,"clientHeight",_e=>b(D,_e)),I(Q,ae)};F(G,Q=>{c(M).length===0?Q(te):Q(ye,-1)})}I(q,H)},si=q=>{var H=HY(),G=v(H);{var te=Q=>{var ae=FY();I(Q,ae)},ye=Q=>{var ae=Ms(),Oe=mt(ae);fi(Oe,17,()=>c(ki),de=>de.path,(de,_e)=>{t(de,()=>c(_e))}),I(Q,ae)};F(G,Q=>{c(ki).length===0?Q(te):Q(ye,-1)})}I(q,H)};F(Ot,q=>{c(At)?q(Tt):c(We)?q(ti,1):c(w)?q(Vt,2):q(si,-1)})}var gi=m(tt,2),di=v(gi),re=m(di,2),Be=v(re),qe=m(Be,2);{var lt=q=>{var H=WY(),G=v(H);z(()=>A(G,c(Ge).length)),I(q,H)};F(qe,q=>{!c(He)&&c(Ge).length>0&&q(lt)})}var Yt=m(qe,2),Ft=v(Yt),zt=m(re,2);{var Et=q=>{var H=jY(),G=v(H);{var te=Q=>{var ae=BY();I(Q,ae)},ye=Q=>{var ae=Ms(),Oe=mt(ae);fi(Oe,17,()=>c(ct),de=>de.id,(de,_e)=>{var Qe=VY();let W;var Y=v(Qe),ue=v(Y),Ie=m(Y,2);{var Ce=xt=>{var nt=zY();I(xt,nt)};F(Ie,xt=>{c(_e).retained&&xt(Ce)})}var ke=m(Ie,2),dt=v(ke),it=m(ke,2),$e=v(it);z((xt,nt,be)=>{W=Dt(Qe,1,"sr svelte-1vejtrc",null,W,{retained:c(_e).retained}),A(ue,xt),A(dt,c(_e).topic),Ri(it,"title",nt),A($e,be)},[()=>Di(c(_e).ts),()=>Ni(c(_e).val),()=>Ni(c(_e).val)]),I(de,Qe)}),I(Q,ae)};F(G,Q=>{c(ct).length===0?Q(te):Q(ye,-1)})}I(q,H)};F(zt,q=>{c(He)&&q(Et)})}var ei=m(gi,2);{var N=q=>{var H=$Y(),G=mt(H),te=m(G,2);let ye;var Q=v(te),ae=m(Q,2);z(()=>ye=Bo(te,"",ye,{left:`${c(pe).x??""}px`,top:`${c(pe).y??""}px`})),U("click",G,()=>b(pe,null)),U("contextmenu",G,Oe=>{Oe.preventDefault(),b(pe,null)}),U("click",Q,()=>{navigator.clipboard.writeText(c(pe).topic),b(pe,null)}),U("click",ae,()=>{const Oe=c(pe).topic,de=Oe+"/",_e=[...i.keys()].some(Qe=>Qe.startsWith(de));b(ot,{topic:Oe,hasChildren:_e,recursive:!1},!0),b(pe,null)}),I(q,H)};F(ei,q=>{c(pe)&&q(N)})}var Z=m(ei,2);{var ce=q=>{var H=qY(),G=mt(H),te=m(G,2),ye=m(v(te),2),Q=v(ye),ae=m(v(Q)),Oe=v(ae),de=m(Q,2);{var _e=ue=>{var Ie=UY(),Ce=v(Ie);xs(Ce,()=>c(ot).recursive,ke=>c(ot).recursive=ke),I(ue,Ie)};F(de,ue=>{c(ot).hasChildren&&ue(_e)})}var Qe=m(ye,2),W=v(Qe),Y=m(W,2);z(()=>A(Oe,c(ot).topic)),U("click",G,()=>b(ot,null)),U("click",W,()=>b(ot,null)),U("click",Y,()=>{const{topic:ue,recursive:Ie}=c(ot);b(ot,null),kt(ue,Ie)}),I(q,H)};F(Z,q=>{c(ot)&&q(ce)})}z(()=>{J.disabled=c(vi)||!c(jt),A(It,` ${c(Je)??""}`),Bo(gi,c(He)?`height: ${c(bt)}px;`:""),A(Ft,c(He)?"▾":"▸")}),Kt(Ze,()=>c(jt),q=>b(jt,q)),Kt(Wt,()=>c(Pt),q=>b(Pt,q)),xs(j,()=>c(Lt),q=>b(Lt,q)),fo(le,()=>c(St),q=>b(St,q)),U("click",J,Si),Kt(De,()=>c(w),q=>b(w,q)),U("mousedown",di,wt),Kt(Be,()=>c(st),q=>b(st,q)),U("click",Yt,()=>{b(He,!c(He))}),I(o,mn),Hs()}Js(["click","contextmenu","mousedown"]);var ZY=T('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),XY=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>'),YY=T('<div class="err svelte-twakcj"> </div>'),QY=T('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),JY=T('<p class="empty svelte-twakcj">No packages installed.</p>'),eQ=T('<p class="empty svelte-twakcj">No match.</p>'),tQ=T("<span> </span>"),iQ=XP('<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>'),nQ=XP('<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>'),sQ=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>'),oQ=T('<span class="result-author svelte-twakcj"> </span>'),rQ=T('<span class="result-date svelte-twakcj"> </span>'),aQ=T('<span class="result-desc svelte-twakcj"> </span>'),lQ=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>'),cQ=T('<div class="results-list svelte-twakcj"></div>'),dQ=T('<pre class="npm-output svelte-twakcj"> </pre>'),uQ=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>`),hQ=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 fQ(o,e){Fs(e,!0);let t=P(Ci([])),i=P(""),n=P(Ci({})),s=P(Ci([])),r=P(!1),a=P(""),d=P(Ci([])),u=P(!1),f=P(!1),g=P(!1),p=P(""),w=P(""),y=Ci({});const x=at(()=>c(i).trim()?c(t).filter(je=>je.name.toLowerCase().includes(c(i).toLowerCase())):c(t)),k=at(()=>Object.keys(c(n)).filter(je=>!c(s).includes(je)).length);Ys(async()=>{await Promise.all([D(),M(),O()])});async function D(){try{b(t,await F7(),!0),b(p,"")}catch(je){b(p,je.message,!0)}}async function M(){try{b(n,await $N(),!0)}catch{}}async function O(){try{const je=await Dl();b(s,Array.isArray(je.pinnedPackages)?je.pinnedPackages:[],!0)}catch{}}async function K(je){const Gt=c(s).includes(je)?c(s).filter(pi=>pi!==je):[...c(s),je];b(s,Gt,!0);try{const pi=await Dl();await Xp({...pi,pinnedPackages:Gt})}catch{}}async function V(){b(r,!0);try{b(n,await V7(),!0)}catch{}finally{b(r,!1)}}async function se(){const je=c(a).trim();if(!je){b(d,[],!0);return}b(g,!0),b(p,"");try{b(d,await H7(je),!0)}catch(Gt){b(p,Gt.message,!0)}finally{b(g,!1)}}function ie(je){if(!je)return"";try{return new Date(je).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function we(je,Gt){y[je]=!0,b(p,""),b(w,"");try{const pi=await W7(je,Gt);b(w,pi.stdout||pi.stderr||"Done.",!0),b(u,!0),await D()}catch(pi){b(p,pi.message,!0)}finally{y[je]=!1}}async function Se(je){y[je]=!0,b(p,""),b(w,"");try{const Gt=await B7(je);b(w,Gt.stdout||Gt.stderr||"Done.",!0),b(u,!0);const pi={...c(n)};delete pi[je],b(n,pi,!0),await D()}catch(Gt){b(p,Gt.message,!0)}finally{y[je]=!1}}async function Ge(je){y[je]=!0,b(p,""),b(w,"");try{const Gt=await z7(je);b(w,Gt.stdout||Gt.stderr||"Done.",!0),b(u,!0);const pi={...c(n)};delete pi[je],b(n,pi,!0),await D()}catch(Gt){b(p,Gt.message,!0)}finally{y[je]=!1}}let He;async function st(){if(await He.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){b(f,!0);try{await zN()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var bt=hQ(),Le=mt(bt);ks(Ku(Le,{}),je=>He=je,()=>He);var wt=m(Le,2),ct=v(wt);{var At=je=>{var Gt=ZY();I(je,Gt)},We=je=>{var Gt=XY(),pi=m(v(Gt));U("click",pi,st),I(je,Gt)};F(ct,je=>{c(f)?je(At):c(u)&&je(We,1)})}var Nt=m(ct,2);{var Xe=je=>{var Gt=YY(),pi=v(Gt);z(()=>A(pi,c(p))),I(je,Gt)};F(Nt,je=>{c(p)&&je(Xe)})}var pe=m(Nt,2),ot=v(pe),kt=v(ot),Jt=m(v(kt),2),jt=v(Jt),Pt=m(Jt,2);{var Lt=je=>{var Gt=QY(),pi=v(Gt);z(()=>A(pi,`${c(k)??""} outdated`)),I(je,Gt)};F(Pt,je=>{c(k)>0&&je(Lt)})}var St=m(Pt,2),vi=v(St);let yi;var ci=m(kt,2),Si=v(ci),Ni=m(ci,2),Hi=v(Ni);{var Di=je=>{var Gt=JY();I(je,Gt)},bi=je=>{var Gt=eQ();I(je,Gt)},ki=je=>{var Gt=Ms(),pi=mt(Gt);fi(pi,17,()=>c(x),Ti=>Ti.name,(Ti,Li)=>{var mn=sQ();let Ii;var Vi=v(mn),Ui=v(Vi),tt=v(Ui),ne=m(Ui,2),Ze=v(ne),Rt=m(ne,2);{var Wt=oe=>{var Ve=tQ();let Pe;var De=v(Ve);z(gt=>{Pe=Dt(Ve,1,"dep-latest svelte-twakcj",null,Pe,gt),A(De,`→ v${c(n)[c(Li).name].latest??""}`)},[()=>({"dep-latest--pinned":c(s).includes(c(Li).name)})]),I(oe,Ve)};F(Rt,oe=>{c(n)[c(Li).name]&&oe(Wt)})}var ni=m(Vi,2),j=v(ni);let le;var Me=m(j,2);let rt;var vt=v(Me);{var J=oe=>{var Ve=iQ();I(oe,Ve)},he=oe=>{var Ve=nQ();I(oe,Ve)};F(vt,oe=>{y[c(Li).name]?oe(J):oe(he,-1)})}var Ee=m(Me,2);z((oe,Ve,Pe)=>{Ii=Dt(mn,1,"dep-row svelte-twakcj",null,Ii,{"dep-busy":!!y[c(Li).name]}),Ri(Ui,"href",c(Li).url??`https://www.npmjs.com/package/${c(Li).name}`),A(tt,c(Li).name),A(Ze,c(Li).installedVersion??c(Li).version),le=Dt(j,1,"icon-btn svelte-twakcj",null,le,oe),Ri(j,"title",Ve),rt=Dt(Me,1,"icon-btn svelte-twakcj",null,rt,Pe),Me.disabled=!!y[c(Li).name],Ri(Me,"title",c(n)[c(Li).name]?`Update to v${c(n)[c(Li).name].latest}`:"Update to latest"),Ee.disabled=!!y[c(Li).name]},[()=>({"icon-btn--pinned":c(s).includes(c(Li).name)}),()=>c(s).includes(c(Li).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!c(n)[c(Li).name]&&!c(s).includes(c(Li).name)})]),U("click",j,()=>K(c(Li).name)),U("click",Me,()=>Ge(c(Li).name)),U("click",Ee,()=>Se(c(Li).name)),I(Ti,mn)}),I(je,Gt)};F(Hi,je=>{c(t).length===0?je(Di):c(x).length===0?je(bi,1):je(ki,-1)})}var Je=m(ot,2),Ut=m(v(Je),2),wi=v(Ut),Fi=m(wi,2),sn=v(Fi),Mi=m(Ut,2);{var zi=je=>{var Gt=cQ();fi(Gt,21,()=>c(d),pi=>pi.name,(pi,Ti)=>{var Li=lQ(),mn=v(Li),Ii=v(mn),Vi=v(Ii),Ui=m(Ii,2),tt=v(Ui),ne=m(Ui,2);{var Ze=rt=>{var vt=oQ(),J=v(vt);z(()=>A(J,c(Ti).author)),I(rt,vt)};F(ne,rt=>{c(Ti).author&&rt(Ze)})}var Rt=m(ne,2);{var Wt=rt=>{var vt=rQ(),J=v(vt);z(he=>{Ri(vt,"title",c(Ti).date),A(J,he)},[()=>ie(c(Ti).date)]),I(rt,vt)};F(Rt,rt=>{c(Ti).date&&rt(Wt)})}var ni=m(Rt,2);{var j=rt=>{var vt=aQ(),J=v(vt);z(()=>A(J,c(Ti).description)),I(rt,vt)};F(ni,rt=>{c(Ti).description&&rt(j)})}var le=m(mn,2),Me=v(le);z(()=>{Ri(Ii,"href",c(Ti).url??`https://www.npmjs.com/package/${c(Ti).name}`),A(Vi,c(Ti).name),A(tt,c(Ti).version),le.disabled=!!y[c(Ti).name],A(Me,y[c(Ti).name]?"Installing…":"Install")}),U("click",le,()=>we(c(Ti).name)),I(pi,Li)}),I(je,Gt)};F(Mi,je=>{c(d).length>0&&je(zi)})}var Ai=m(Mi,2);{var Qi=je=>{var Gt=dQ(),pi=v(Gt);z(()=>A(pi,c(w))),I(je,Gt)};F(Ai,je=>{c(w)&&je(Qi)})}var Oi=m(Ai,2);{var Sn=je=>{var Gt=uQ();I(je,Gt)};F(Oi,je=>{!c(d).length&&!c(w)&&je(Sn)})}z(()=>{A(jt,c(t).length),St.disabled=c(r),yi=Dt(vi,0,"svelte-twakcj",null,yi,{spinning:c(r)}),Fi.disabled=c(g),A(sn,c(g)?"Searching…":"Search")}),U("click",St,V),Kt(Si,()=>c(i),je=>b(i,je)),U("keydown",wi,je=>je.key==="Enter"&&se()),Kt(wi,()=>c(a),je=>b(a,je)),U("click",Fi,se),I(o,bt),Hs()}Js(["click","keydown"]);var gQ=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>'),pQ=T('<div class="empty svelte-3itf14">No users found.</div>'),wD=T('<span class="tag svelte-3itf14"> </span>'),SD=T('<span class="tag tag--group svelte-3itf14"> </span>'),_Q=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>'),mQ=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>'),vQ=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>'),bQ=T('<div class="empty svelte-3itf14">No roles found.</div>'),yQ=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>'),wQ=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>'),SQ=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>'),CQ=T('<div class="empty svelte-3itf14">No groups found.</div>'),xQ=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>'),kQ=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>'),LQ=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>'),CD=T('<div class="empty svelte-3itf14">Loading…</div>'),IQ=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>'),EQ=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>"),DQ=T('<div class="anon-current svelte-3itf14">Current: <span class="mono svelte-3itf14"> </span></div>'),TQ=T('<div class="anon-current muted svelte-3itf14">No anonymous group configured.</div>'),PQ=T('<div class="anon-row svelte-3itf14"><select class="svelte-3itf14"><option>— none —</option><!></select> <button class="svelte-3itf14"> </button></div> <!>',1),MQ=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>'),RQ=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>'),NQ=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>'),AQ=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>'),OQ=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>'),FQ=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>'),HQ=T('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),WQ=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>'),BQ=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>'),zQ=T('<li class="svelte-3itf14"><span class="mono svelte-3itf14"> </span> <button class="danger svelte-3itf14">✕</button></li>'),VQ=T('<ul class="member-list svelte-3itf14"></ul>'),jQ=T('<div class="empty svelte-3itf14">None assigned yet.</div>'),$Q=T('<div class="member-add-row svelte-3itf14"><select class="svelte-3itf14"><option>— select —</option><!></select> <button class="svelte-3itf14">Add</button></div>'),UQ=T('<div class="empty svelte-3itf14">No more items to add.</div>'),qQ=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>'),GQ=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 KQ(o,e){Fs(e,!0);let t=Cu(e,"dynsecReady",3,!1),i=P(Ci([])),n=P(Ci([])),s=P(Ci([])),r=P(""),a=P(""),d=P(""),u=P("users"),f=P(!1),g=P(""),p=P(""),w=P(!1),y=P(""),x=P(!1),k=P(!1),D=P(""),M=P(""),O=P(""),K=P(!1),V=P(!1),se=P(""),ie=P(""),we=P(!1),Se=P(null),Ge=P(!1),He=P("publishClientSend"),st=P(""),bt=P(!0),Le=P(""),wt=P(!1),ct=P(""),At=P(""),We=P(!1),Nt=P(Ci([])),Xe=P(""),pe=P(!1),ot=P(null),kt=P(""),Jt=P(""),jt=P(!1),Pt=P(!1);const Lt=[{acltype:"publishClientSend",label:"Publish (send)"},{acltype:"publishClientReceive",label:"Publish (receive)"},{acltype:"subscribe",label:"Subscribe"},{acltype:"unsubscribe",label:"Unsubscribe"}];async function St(){var re,Be;b(Pt,!1),b(Xe,""),b(Jt,"");try{const[qe,lt]=await Promise.allSettled([JN(),mq()]);if(qe.status==="fulfilled"){const Yt=Object.fromEntries(qe.value.acls.map(Ft=>[Ft.acltype,Ft.allow]));b(Nt,Lt.map(({acltype:Ft})=>({acltype:Ft,allow:Yt[Ft]??(Ft==="publishClientReceive"||Ft==="unsubscribe")})),!0)}else b(Xe,((re=qe.reason)==null?void 0:re.message)??"Failed to load default ACLs",!0);lt.status==="fulfilled"?(b(ot,lt.value.group,!0),b(kt,lt.value.group??"",!0)):b(Jt,((Be=lt.reason)==null?void 0:Be.message)??"Failed to load anonymous group",!0)}finally{b(Pt,!0)}}async function vi(re,Be){b(Nt,c(Nt).map(qe=>qe.acltype===re?{...qe,allow:Be}:qe),!0),b(pe,!0),b(Xe,"");try{await _q(c(Nt))}catch(qe){b(Xe,qe.message,!0)}finally{b(pe,!1)}}async function yi(){b(jt,!0),b(Jt,"");try{await vq(c(kt)||null),b(ot,c(kt)||null,!0)}catch(re){b(Jt,re.message,!0)}finally{b(jt,!1)}}let ci=P(null),Si=P(""),Ni=P("");const Hi=at(()=>{var re,Be,qe,lt,Yt,Ft;return c(ci)?c(ci).type==="user-roles"?((Be=(re=c(i).find(zt=>zt.username===c(ci).target))==null?void 0:re.roles)==null?void 0:Be.map(zt=>zt.rolename))??[]:c(ci).type==="group-members"?((lt=(qe=c(s).find(zt=>zt.groupname===c(ci).target))==null?void 0:qe.clients)==null?void 0:lt.map(zt=>zt.username))??[]:((Ft=(Yt=c(s).find(zt=>zt.groupname===c(ci).target))==null?void 0:Yt.roles)==null?void 0:Ft.map(zt=>zt.rolename))??[]:[]}),Di=at(()=>c(ci)?(c(ci).type==="user-roles"||c(ci).type==="group-roles"?c(n).map(re=>re.rolename):c(i).map(re=>re.username)).filter(re=>!c(Hi).includes(re)):[]),bi=at(()=>c(ci)?c(ci).type==="user-roles"?`Roles for user "${c(ci).target}"`:c(ci).type==="group-members"?`Members of group "${c(ci).target}"`:`Roles for group "${c(ci).target}"`:""),ki=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function Je(){var re,Be,qe;try{const[lt,Yt,Ft]=await Promise.allSettled([Ik(),YN(),QN()]);lt.status==="fulfilled"?(b(i,lt.value.users,!0),b(r,"")):b(r,((re=lt.reason)==null?void 0:re.message)??"Failed to load users",!0),Yt.status==="fulfilled"?(b(n,Yt.value.roles,!0),b(a,"")):b(a,((Be=Yt.reason)==null?void 0:Be.message)??"Failed to load roles",!0),Ft.status==="fulfilled"?(b(s,Ft.value.groups,!0),b(d,"")):b(d,((qe=Ft.reason)==null?void 0:qe.message)??"Failed to load groups",!0)}catch{}}Ys(()=>{Je()});async function Ut(){b(y,""),b(x,!0);try{await Ax(c(g),c(p)),b(g,""),b(p,""),b(f,!1),await Je()}catch(re){b(y,re.message??"Failed to create user",!0)}finally{b(x,!1)}}async function wi(re){if(confirm(`Delete user "${re}"?`))try{await iq(re),await Je()}catch(Be){b(r,Be.message,!0)}}async function Fi(re){b(D,re,!0),b(M,""),b(O,""),b(k,!0)}async function sn(){b(O,""),b(K,!0);try{await nq(c(D),c(M)),b(k,!1)}catch(re){b(O,re.message,!0)}finally{b(K,!1)}}async function Mi(){b(ie,""),b(we,!0);try{await rq(c(se)),b(se,""),b(V,!1),await Je()}catch(re){b(ie,re.message??"Failed to create role",!0)}finally{b(we,!1)}}async function zi(re){var Be;if(confirm(`Delete role "${re}"?`))try{await aq(re),((Be=c(Se))==null?void 0:Be.rolename)===re&&(b(Se,null),b(Ge,!1)),await Je()}catch(qe){b(a,qe.message,!0)}}function Ai(re){b(Se,re,!0),b(Ge,!0),b(He,"publishClientSend"),b(st,""),b(bt,!0),b(Le,"")}async function Qi(){if(c(Se)){b(Le,"");try{await lq(c(Se).rolename,{acltype:c(He),topic:c(st),allow:c(bt)}),b(st,""),await Je(),b(Se,c(n).find(re=>re.rolename===c(Se).rolename)??c(Se),!0)}catch(re){b(Le,re.message,!0)}}}async function Oi(re,Be,qe){try{await cq(re,Be,qe),await Je(),b(Se,c(n).find(lt=>lt.rolename===re)??c(Se),!0)}catch(lt){b(Le,lt.message,!0)}}async function Sn(){b(At,""),b(We,!0);try{await dq(c(ct)),b(ct,""),b(wt,!1),await Je()}catch(re){b(At,re.message??"Failed to create group",!0)}finally{b(We,!1)}}async function je(re){if(confirm(`Delete group "${re}"?`))try{await uq(re),await Je()}catch(Be){b(d,Be.message,!0)}}function Gt(re,Be){b(ci,{type:re,target:Be},!0),b(Si,""),b(Ni,"")}async function pi(){if(!(!c(ci)||!c(Si))){b(Ni,"");try{const{type:re,target:Be}=c(ci);re==="user-roles"?await sq(Be,c(Si)):re==="group-members"?await hq(Be,c(Si)):await gq(Be,c(Si)),b(Si,""),await Je()}catch(re){b(Ni,re.message,!0)}}}async function Ti(re){if(c(ci)){b(Ni,"");try{const{type:Be,target:qe}=c(ci);Be==="user-roles"?await oq(qe,re):Be==="group-members"?await fq(qe,re):await pq(qe,re),await Je()}catch(Be){b(Ni,Be.message,!0)}}}var Li=GQ(),mn=mt(Li),Ii=v(mn);{var Vi=re=>{var Be=gQ();I(re,Be)};F(Ii,re=>{t()||re(Vi)})}var Ui=m(Ii,2),tt=v(Ui);let ne;var Ze=m(tt,2);let Rt;var Wt=m(Ze,2);let ni;var j=m(Wt,2);let le;var Me=m(j,2),rt=m(Ui,2);{var vt=re=>{var Be=vQ(),qe=v(Be),lt=m(v(qe),2),Yt=m(qe,2);{var Ft=N=>{var Z=qr(),ce=v(Z);z(()=>A(ce,c(r))),I(N,Z)};F(Yt,N=>{c(r)&&N(Ft)})}var zt=m(Yt,2);{var Et=N=>{var Z=pQ();I(N,Z)},ei=N=>{var Z=mQ(),ce=m(v(Z));fi(ce,21,()=>c(i),Wi,(q,H)=>{var G=_Q(),te=v(G),ye=v(te),Q=m(te);fi(Q,21,()=>c(H).roles??[],Wi,(W,Y)=>{var ue=wD(),Ie=v(ue);z(()=>A(Ie,c(Y).rolename)),I(W,ue)});var ae=m(Q);fi(ae,21,()=>c(H).groups??[],Wi,(W,Y)=>{var ue=SD(),Ie=v(ue);z(()=>A(Ie,c(Y).groupname)),I(W,ue)});var Oe=m(ae),de=v(Oe),_e=m(de,2),Qe=m(_e,2);z(()=>A(ye,c(H).username)),U("click",de,()=>Gt("user-roles",c(H).username)),U("click",_e,()=>Fi(c(H).username)),U("click",Qe,()=>wi(c(H).username)),I(q,G)}),I(N,Z)};F(zt,N=>{c(i).length===0?N(Et):N(ei,-1)})}U("click",lt,()=>{b(f,!0),b(y,"")}),I(re,Be)};F(rt,re=>{c(u)==="users"&&re(vt)})}var J=m(rt,2);{var he=re=>{var Be=SQ(),qe=v(Be),lt=m(v(qe),2),Yt=m(qe,2);{var Ft=N=>{var Z=qr(),ce=v(Z);z(()=>A(ce,c(a))),I(N,Z)};F(Yt,N=>{c(a)&&N(Ft)})}var zt=m(Yt,2);{var Et=N=>{var Z=bQ();I(N,Z)},ei=N=>{var Z=wQ(),ce=m(v(Z));fi(ce,21,()=>c(n),Wi,(q,H)=>{var G=yQ(),te=v(G),ye=v(te),Q=m(te),ae=v(Q),Oe=m(Q),de=v(Oe),_e=m(de,2);z(()=>{var Qe;A(ye,c(H).rolename),A(ae,((Qe=c(H).acls)==null?void 0:Qe.length)??0)}),U("click",de,()=>Ai(c(H))),U("click",_e,()=>zi(c(H).rolename)),I(q,G)}),I(N,Z)};F(zt,N=>{c(n).length===0?N(Et):N(ei,-1)})}U("click",lt,()=>{b(V,!0),b(ie,""),b(se,"")}),I(re,Be)};F(J,re=>{c(u)==="roles"&&re(he)})}var Ee=m(J,2);{var oe=re=>{var Be=LQ(),qe=v(Be),lt=m(v(qe),2),Yt=m(qe,2);{var Ft=N=>{var Z=qr(),ce=v(Z);z(()=>A(ce,c(d))),I(N,Z)};F(Yt,N=>{c(d)&&N(Ft)})}var zt=m(Yt,2);{var Et=N=>{var Z=CQ();I(N,Z)},ei=N=>{var Z=kQ(),ce=m(v(Z));fi(ce,21,()=>c(s),Wi,(q,H)=>{var G=xQ(),te=v(G),ye=v(te),Q=m(te);fi(Q,21,()=>c(H).clients??[],Wi,(W,Y)=>{var ue=wD(),Ie=v(ue);z(()=>A(Ie,c(Y).username)),I(W,ue)});var ae=m(Q);fi(ae,21,()=>c(H).roles??[],Wi,(W,Y)=>{var ue=SD(),Ie=v(ue);z(()=>A(Ie,c(Y).rolename)),I(W,ue)});var Oe=m(ae),de=v(Oe),_e=m(de,2),Qe=m(_e,2);z(()=>A(ye,c(H).groupname)),U("click",de,()=>Gt("group-members",c(H).groupname)),U("click",_e,()=>Gt("group-roles",c(H).groupname)),U("click",Qe,()=>je(c(H).groupname)),I(q,G)}),I(N,Z)};F(zt,N=>{c(s).length===0?N(Et):N(ei,-1)})}U("click",lt,()=>{b(wt,!0),b(At,""),b(ct,"")}),I(re,Be)};F(Ee,re=>{c(u)==="groups"&&re(oe)})}var Ve=m(Ee,2);{var Pe=re=>{var Be=MQ(),qe=v(Be),lt=m(v(qe),4);{var Yt=G=>{var te=qr(),ye=v(te);z(()=>A(ye,c(Xe))),I(G,te)};F(lt,G=>{c(Xe)&&G(Yt)})}var Ft=m(lt,2);{var zt=G=>{var te=CD();I(G,te)},Et=G=>{var te=EQ(),ye=m(v(te));fi(ye,21,()=>Lt,Wi,(Q,ae)=>{let Oe=()=>c(ae).acltype,de=()=>c(ae).label;const _e=at(()=>c(Nt).find(it=>it.acltype===Oe()));var Qe=IQ();let W;var Y=v(Qe),ue=v(Y),Ie=m(Y),Ce=v(Ie),ke=m(Ie),dt=v(ke);z(()=>{var it,$e;W=Dt(Qe,1,"svelte-3itf14",null,W,{saving:c(pe)}),A(ue,de()),Ri(Ce,"name",Oe()),fd(Ce,((it=c(_e))==null?void 0:it.allow)===!0),Ri(dt,"name",Oe()),fd(dt,(($e=c(_e))==null?void 0:$e.allow)===!1)}),U("change",Ce,()=>vi(Oe(),!0)),U("change",dt,()=>vi(Oe(),!1)),I(Q,Qe)}),I(G,te)};F(Ft,G=>{c(Pt)?G(Et,-1):G(zt)})}var ei=m(qe,2),N=m(v(ei),4);{var Z=G=>{var te=qr(),ye=v(te);z(()=>A(ye,c(Jt))),I(G,te)};F(N,G=>{c(Jt)&&G(Z)})}var ce=m(N,2);{var q=G=>{var te=CD();I(G,te)},H=G=>{var te=PQ(),ye=mt(te),Q=v(ye),ae=v(Q);ae.value=ae.__value="";var Oe=m(ae);fi(Oe,17,()=>c(s),Wi,(ue,Ie)=>{var Ce=mS(),ke=v(Ce),dt={};z(()=>{A(ke,c(Ie).groupname),dt!==(dt=c(Ie).groupname)&&(Ce.value=(Ce.__value=c(Ie).groupname)??"")}),I(ue,Ce)});var de=m(Q,2),_e=v(de),Qe=m(ye,2);{var W=ue=>{var Ie=DQ(),Ce=m(v(Ie)),ke=v(Ce);z(()=>A(ke,c(ot))),I(ue,Ie)},Y=ue=>{var Ie=TQ();I(ue,Ie)};F(Qe,ue=>{c(ot)?ue(W):ue(Y,-1)})}z(()=>{de.disabled=c(jt)||c(kt)===(c(ot)??""),A(_e,c(jt)?"Saving…":"Save")}),fo(Q,()=>c(kt),ue=>b(kt,ue)),U("click",de,yi),I(G,te)};F(ce,G=>{c(Pt)?G(H,-1):G(q)})}I(re,Be)};F(Ve,re=>{c(u)==="settings"&&re(Pe)})}var De=m(mn,2);{var gt=re=>{var Be=RQ(),qe=v(Be),lt=m(v(qe),2),Yt=m(v(lt)),Ft=m(lt,2),zt=m(v(Ft)),Et=v(zt),ei=m(Et,2),N=v(ei),Z=m(Ft,2);{var ce=ye=>{var Q=qr(),ae=v(Q);z(()=>A(ae,c(y))),I(ye,Q)};F(Z,ye=>{c(y)&&ye(ce)})}var q=m(Z,2),H=v(q),G=m(H,2),te=v(G);z(()=>{Ri(Et,"type",c(w)?"text":"password"),A(N,c(w)?"Hide":"Show"),G.disabled=c(x)||!c(g)||!c(p),A(te,c(x)?"Creating…":"Create")}),Kt(Yt,()=>c(g),ye=>b(g,ye)),Kt(Et,()=>c(p),ye=>b(p,ye)),U("click",ei,()=>b(w,!c(w))),U("click",H,()=>b(f,!1)),U("click",G,Ut),I(re,Be)};F(De,re=>{c(f)&&re(gt)})}var Bt=m(De,2);{var yt=re=>{var Be=NQ(),qe=v(Be),lt=v(qe),Yt=m(v(lt)),Ft=v(Yt),zt=m(lt,2),Et=m(v(zt)),ei=m(zt,2);{var N=G=>{var te=qr(),ye=v(te);z(()=>A(ye,c(O))),I(G,te)};F(ei,G=>{c(O)&&G(N)})}var Z=m(ei,2),ce=v(Z),q=m(ce,2),H=v(q);z(()=>{A(Ft,c(D)),q.disabled=c(K)||!c(M),A(H,c(K)?"Saving…":"Set password")}),Kt(Et,()=>c(M),G=>b(M,G)),U("click",ce,()=>b(k,!1)),U("click",q,sn),I(re,Be)};F(Bt,re=>{c(k)&&re(yt)})}var It=m(Bt,2);{var Ot=re=>{var Be=AQ(),qe=v(Be),lt=m(v(qe),2),Yt=m(v(lt)),Ft=m(lt,2);{var zt=ce=>{var q=qr(),H=v(q);z(()=>A(H,c(ie))),I(ce,q)};F(Ft,ce=>{c(ie)&&ce(zt)})}var Et=m(Ft,2),ei=v(Et),N=m(ei,2),Z=v(N);z(()=>{N.disabled=c(we)||!c(se),A(Z,c(we)?"Creating…":"Create")}),Kt(Yt,()=>c(se),ce=>b(se,ce)),U("click",ei,()=>b(V,!1)),U("click",N,Mi),I(re,Be)};F(It,re=>{c(V)&&re(Ot)})}var Tt=m(It,2);{var ti=re=>{var Be=WQ(),qe=v(Be),lt=v(qe),Yt=m(v(lt)),Ft=v(Yt),zt=m(lt,2);{var Et=Oe=>{var de=FQ(),_e=m(v(de));fi(_e,21,()=>c(Se).acls??[],Wi,(Qe,W)=>{var Y=OQ(),ue=v(Y),Ie=v(ue),Ce=m(ue),ke=v(Ce),dt=m(Ce),it=v(dt),$e=m(dt),xt=v($e);z(()=>{A(Ie,c(W).acltype),A(ke,c(W).topic),A(it,c(W).allow?"✓":"✗")}),U("click",xt,()=>Oi(c(Se).rolename,c(W).acltype,c(W).topic)),I(Qe,Y)}),I(Oe,de)},ei=Oe=>{var de=HQ();I(Oe,de)};F(zt,Oe=>{var de;(((de=c(Se).acls)==null?void 0:de.length)??0)>0?Oe(Et):Oe(ei,-1)})}var N=m(zt,2),Z=v(N);fi(Z,21,()=>ki,Wi,(Oe,de)=>{var _e=mS(),Qe=v(_e),W={};z(()=>{A(Qe,c(de)),W!==(W=c(de))&&(_e.value=(_e.__value=c(de))??"")}),I(Oe,_e)});var ce=m(Z,2),q=m(ce,2),H=v(q),G=m(q,2),te=m(N,2);{var ye=Oe=>{var de=qr(),_e=v(de);z(()=>A(_e,c(Le))),I(Oe,de)};F(te,Oe=>{c(Le)&&Oe(ye)})}var Q=m(te,2),ae=v(Q);z(()=>{A(Ft,c(Se).rolename),G.disabled=!c(st)}),fo(Z,()=>c(He),Oe=>b(He,Oe)),Kt(ce,()=>c(st),Oe=>b(st,Oe)),xs(H,()=>c(bt),Oe=>b(bt,Oe)),U("click",G,Qi),U("click",ae,()=>b(Ge,!1)),I(re,Be)};F(Tt,re=>{c(Ge)&&c(Se)&&re(ti)})}var Vt=m(Tt,2);{var si=re=>{var Be=BQ(),qe=v(Be),lt=m(v(qe),2),Yt=m(v(lt)),Ft=m(lt,2);{var zt=ce=>{var q=qr(),H=v(q);z(()=>A(H,c(At))),I(ce,q)};F(Ft,ce=>{c(At)&&ce(zt)})}var Et=m(Ft,2),ei=v(Et),N=m(ei,2),Z=v(N);z(()=>{N.disabled=c(We)||!c(ct),A(Z,c(We)?"Creating…":"Create")}),Kt(Yt,()=>c(ct),ce=>b(ct,ce)),U("click",ei,()=>b(wt,!1)),U("click",N,Sn),I(re,Be)};F(Vt,re=>{c(wt)&&re(si)})}var gi=m(Vt,2);{var di=re=>{var Be=qQ(),qe=v(Be),lt=v(qe),Yt=v(lt),Ft=m(lt,2);{var zt=te=>{var ye=VQ();fi(ye,21,()=>c(Hi),Wi,(Q,ae)=>{var Oe=zQ(),de=v(Oe),_e=v(de),Qe=m(de,2);z(()=>A(_e,c(ae))),U("click",Qe,()=>Ti(c(ae))),I(Q,Oe)}),I(te,ye)},Et=te=>{var ye=jQ();I(te,ye)};F(Ft,te=>{c(Hi).length>0?te(zt):te(Et,-1)})}var ei=m(Ft,2);{var N=te=>{var ye=$Q(),Q=v(ye),ae=v(Q);ae.value=ae.__value="";var Oe=m(ae);fi(Oe,17,()=>c(Di),Wi,(_e,Qe)=>{var W=mS(),Y=v(W),ue={};z(()=>{A(Y,c(Qe)),ue!==(ue=c(Qe))&&(W.value=(W.__value=c(Qe))??"")}),I(_e,W)});var de=m(Q,2);z(()=>de.disabled=!c(Si)),fo(Q,()=>c(Si),_e=>b(Si,_e)),U("click",de,pi),I(te,ye)},Z=te=>{var ye=UQ();I(te,ye)};F(ei,te=>{c(Di).length>0?te(N):te(Z,-1)})}var ce=m(ei,2);{var q=te=>{var ye=qr(),Q=v(ye);z(()=>A(Q,c(Ni))),I(te,ye)};F(ce,te=>{c(Ni)&&te(q)})}var H=m(ce,2),G=v(H);z(()=>A(Yt,c(bi))),U("click",G,()=>b(ci,null)),I(re,Be)};F(gi,re=>{c(ci)&&re(di)})}z(()=>{ne=Dt(tt,1,"svelte-3itf14",null,ne,{active:c(u)==="users"}),Rt=Dt(Ze,1,"svelte-3itf14",null,Rt,{active:c(u)==="roles"}),ni=Dt(Wt,1,"svelte-3itf14",null,ni,{active:c(u)==="groups"}),le=Dt(j,1,"svelte-3itf14",null,le,{active:c(u)==="settings"})}),U("click",tt,()=>b(u,"users")),U("click",Ze,()=>b(u,"roles")),U("click",Wt,()=>b(u,"groups")),U("click",j,()=>{b(u,"settings"),c(Pt)||St()}),U("click",Me,Je),I(o,Li),Hs()}Js(["click","change"]);var xD=T('<div class="err svelte-9i68x"> </div>'),ZQ=T('<div class="ok svelte-9i68x">Saved.</div>'),XQ=T('<div class="reload-msg svelte-9i68x"> </div>'),YQ=T('<div class="loading svelte-9i68x">Loading…</div>'),QQ=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>'),JQ=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>'),eJ=T('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),tJ=T('<div class="cards svelte-9i68x"><!> <!></div>'),iJ=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 & Reload mosquitto"> </button></div></div> <!> <!> <!> <!> <!></div>');function nJ(o,e){Fs(e,!0);let t=P(null),i=P(""),n=P(!1),s=P(""),r=P(!1),a=P(!1),d=P(""),u=P(Ci([])),f=P(null);Ys(()=>{g()});async function g(){try{b(t,await Z7(),!0),b(u,JSON.parse(JSON.stringify(c(t).listeners)),!0),b(f,c(t).checksum,!0),b(i,"")}catch(pe){b(i,pe.message??"Failed to load broker config",!0)}}function p(){b(u,[...c(u),{port:1883,bindAddress:"",protocol:"mqtt",tls:{}}],!0)}function w(pe){b(u,c(u).filter((ot,kt)=>kt!==pe),!0)}async function y(){if(c(t)){b(n,!0),b(s,""),b(r,!1);try{await X7({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(pe){b(s,pe.message??"Save failed",!0)}finally{b(n,!1)}}}async function x(){b(a,!0),b(d,"");try{const pe=await Y7();b(d,pe.stderr||pe.stdout||"Reloaded",!0)}catch(pe){b(d,"Error: "+(pe.message??"reload failed"))}finally{b(a,!1)}}function k(pe){var ot,kt,Jt,jt;return!!((ot=pe.tls)!=null&&ot.certfile||(kt=pe.tls)!=null&&kt.keyfile||(Jt=pe.tls)!=null&&Jt.capath||(jt=pe.tls)!=null&&jt.cafile)}function D(pe,ot){ot||(pe.tls={}),b(u,[...c(u)],!0)}var M=iJ(),O=v(M),K=m(v(O),2),V=v(K),se=m(V,2),ie=v(se),we=m(se,2),Se=v(we),Ge=m(O,2);{var He=pe=>{var ot=xD(),kt=v(ot);z(()=>A(kt,c(i))),I(pe,ot)};F(Ge,pe=>{c(i)&&pe(He)})}var st=m(Ge,2);{var bt=pe=>{var ot=xD(),kt=v(ot);z(()=>A(kt,c(s))),I(pe,ot)};F(st,pe=>{c(s)&&pe(bt)})}var Le=m(st,2);{var wt=pe=>{var ot=ZQ();I(pe,ot)};F(Le,pe=>{c(r)&&pe(wt)})}var ct=m(Le,2);{var At=pe=>{var ot=XQ(),kt=v(ot);z(()=>A(kt,c(d))),I(pe,ot)};F(ct,pe=>{c(d)&&pe(At)})}var We=m(ct,2);{var Nt=pe=>{var ot=YQ();I(pe,ot)},Xe=pe=>{var ot=tJ(),kt=v(ot);fi(kt,17,()=>c(u),Wi,(Pt,Lt,St)=>{var vi=JQ(),yi=v(vi),ci=v(yi),Si=v(ci),Ni=m(ci,2),Hi=m(yi,2),Di=v(Hi),bi=m(v(Di)),ki=m(Di,2),Je=m(v(ki)),Ut=v(Je);Ut.value=Ut.__value="mqtt";var wi=m(Ut);wi.value=wi.__value="websockets";var Fi=m(ki,2),sn=m(v(Fi)),Mi=m(Hi,2),zi=v(Mi),Ai=v(zi),Qi=m(Mi,2);{var Oi=je=>{var Gt=QQ(),pi=v(Gt),Ti=v(pi),Li=m(v(Ti)),mn=m(Ti,2),Ii=m(v(mn)),Vi=m(pi,2),Ui=v(Vi),tt=m(v(Ui)),ne=m(Ui,2),Ze=m(v(ne)),Rt=m(Vi,2),Wt=v(Rt),ni=m(v(Wt)),j=m(Wt,2),le=m(v(j)),Me=v(le);Me.value=Me.__value="";var rt=m(Me);rt.value=rt.__value="tlsv1.3";var vt=m(rt);vt.value=vt.__value="tlsv1.2";var J=m(Rt,2),he=v(J),Ee=v(he),oe=m(he,2),Ve=v(oe);Kt(Li,()=>c(Lt).tls.certfile,Pe=>c(Lt).tls.certfile=Pe),Kt(Ii,()=>c(Lt).tls.keyfile,Pe=>c(Lt).tls.keyfile=Pe),Kt(tt,()=>c(Lt).tls.cafile,Pe=>c(Lt).tls.cafile=Pe),Kt(Ze,()=>c(Lt).tls.capath,Pe=>c(Lt).tls.capath=Pe),Kt(ni,()=>c(Lt).tls.crlfile,Pe=>c(Lt).tls.crlfile=Pe),fo(le,()=>c(Lt).tls.tls_version,Pe=>c(Lt).tls.tls_version=Pe),xs(Ee,()=>c(Lt).tls.require_certificate,Pe=>c(Lt).tls.require_certificate=Pe),xs(Ve,()=>c(Lt).tls.use_identity_as_username,Pe=>c(Lt).tls.use_identity_as_username=Pe),I(je,Gt)},Sn=at(()=>k(c(Lt)));F(Qi,je=>{c(Sn)&&je(Oi)})}z(je=>{A(Si,`Port ${c(Lt).port??""}`),fd(Ai,je)},[()=>k(c(Lt))]),U("click",Ni,()=>w(St)),Kt(bi,()=>c(Lt).port,je=>c(Lt).port=je),fo(Je,()=>c(Lt).protocol,je=>c(Lt).protocol=je),Kt(sn,()=>c(Lt).bindAddress,je=>c(Lt).bindAddress=je),U("change",Ai,je=>D(c(Lt),je.target.checked)),I(Pt,vi)});var Jt=m(kt,2);{var jt=Pt=>{var Lt=eJ();I(Pt,Lt)};F(Jt,Pt=>{c(u).length===0&&Pt(jt)})}I(pe,ot)};F(We,pe=>{c(t)===null&&!c(i)?pe(Nt):pe(Xe,-1)})}z(()=>{se.disabled=c(n),A(ie,c(n)?"Saving…":"Save"),we.disabled=c(a),A(Se,c(a)?"Reloading…":"Apply & Reload")}),U("click",V,p),U("click",se,y),U("click",we,x),I(o,M),Hs()}Js(["click","change"]);var ed=T('<div class="err svelte-9auejo"> </div>'),sJ=T('<dt class="svelte-9auejo">Chain</dt><dd class="mono small svelte-9auejo"> <span class="badge-chain svelte-9auejo">chain</span></dd>',1),oJ=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>'),rJ=T('<div class="empty svelte-9auejo">No local CA generated yet.</div>'),aJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Local Certificate Authority</h3> <button class="btn-secondary svelte-9auejo">Import CA</button> <button class="svelte-9auejo"> </button></div> <!></div>'),lJ=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>'),cJ=T('<div class="empty svelte-9auejo">No managed server certificate yet. Generate one or configure paths manually in Listeners.</div>'),dJ=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>'),uJ=T('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),hJ=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>'),fJ=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>'),gJ=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>'),pJ=T('<div class="empty svelte-9auejo">No client certificates issued yet.</div>'),_J=T('<th class="svelte-9auejo">User</th>'),mJ=T('<span class="badge-revoked svelte-9auejo">Revoked</span>'),vJ=T('<span class="badge-expired svelte-9auejo">Expired</span>'),bJ=T('<span class="badge-expiring svelte-9auejo">Expiring soon</span>'),yJ=T('<span class="badge-ok svelte-9auejo">Valid</span>'),wJ=T('<span class="badge-user-linked svelte-9auejo" title="dynsec user exists with matching username">linked</span>'),SJ=T('<button class="btn-link-user svelte-9auejo" title="Create dynsec user with CN as username">+ Link</button>'),CJ=T('<td class="svelte-9auejo"><!></td>'),xJ=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),kJ=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>'),LJ=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>'),IJ=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>'),EJ=T('<label class="svelte-9auejo">CA certificate (PEM) <textarea rows="5" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <label class="svelte-9auejo">CA private key (PEM) <textarea rows="5" placeholder="-----BEGIN PRIVATE KEY----- … -----END PRIVATE KEY-----" class="svelte-9auejo"></textarea></label>',1),DJ=T('<span class="file-name mono small svelte-9auejo"> </span>'),TJ=T('<label class="svelte-9auejo">PKCS#12 file <div class="file-row svelte-9auejo"><input type="file" accept=".p12,.pfx" class="svelte-9auejo"/> <!></div></label> <label class="svelte-9auejo">Passphrase <div class="pw-row svelte-9auejo"><input autocomplete="off" class="svelte-9auejo"/> <button class="toggle-pw svelte-9auejo"> </button></div></label>',1),PJ=T('<label class="svelte-9auejo">Signing chain (PEM — intermediate and/or root CA certs) <textarea rows="5" placeholder="Paste the certificate(s) that signed this CA, from intermediate to root." class="svelte-9auejo"></textarea> <span class="field-hint svelte-9auejo">The chain is bundled into issued client .p12 files so clients can verify the full trust path.</span></label>'),MJ=T('<div class="import-warning svelte-9auejo">⚠ This will overwrite the existing local CA keypair. All previously issued certificates remain valid.</div>'),RJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Import existing CA</h3> <div class="import-mode-tabs svelte-9auejo"><button>PEM files</button> <button>PKCS#12 (.p12 / .pfx)</button></div> <!> <div class="chain-toggle svelte-9auejo"><button class="btn-text svelte-9auejo"> </button></div> <!> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),NJ=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>'),AJ=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>'),OJ=T('<button class="btn-primary svelte-9auejo"> </button>'),FJ=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>'),HJ=T("<option></option>"),WJ=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),BJ=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),zJ=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),VJ=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>'),jJ=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>'),$J=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 UJ(o,e){Fs(e,!0);let t=P("ca"),i=P(null),n=P(null),s=P(Ci([])),r=P(Ci([])),a=P(""),d=P(!1),u=P("she-broker-ca"),f=P(365),g=P(!1),p=P(""),w=P(!1),y=P(""),x=P(""),k=P(365),D=P(!1),M=P(""),O=P(null),K=P(!1),V=P(""),se=P(365),ie=P(!1),we=P(""),Se=P(null),Ge=P(!1),He=P(!1),st=P(Ci([])),bt=P(!1),Le=P(""),wt=P(!1),ct=P(""),At=P(""),We=P(!1),Nt=P("pem"),Xe=P(""),pe=P(""),ot=P(""),kt=P(!1),Jt=P(""),jt=P(""),Pt=P(""),Lt=P(!1),St=P(!1),vi=P("");function yi(oe){var De;const Ve=(De=oe.target.files)==null?void 0:De[0];if(!Ve)return;b(jt,Ve.name,!0);const Pe=new FileReader;Pe.onload=()=>{const gt=Pe.result;b(Jt,btoa(String.fromCharCode(...new Uint8Array(gt))),!0)},Pe.readAsArrayBuffer(Ve)}async function ci(){b(vi,""),b(St,!0);try{const oe=c(kt)&&c(ot).trim()?c(ot):void 0;if(c(Nt)==="p12"){if(!c(Jt))throw new Error("Select a .p12 / .pfx file");await jE({p12base64:c(Jt),passphrase:c(Pt),chain:oe})}else{if(!c(Xe).trim()||!c(pe).trim())throw new Error("Certificate and key are required");await jE({cert:c(Xe),key:c(pe),chain:oe})}b(We,!1),await Si()}catch(oe){b(vi,oe.message,!0)}finally{b(St,!1)}}async function Si(){try{const[oe,Ve,Pe,De,gt]=await Promise.allSettled([bq(),wq(),Cq(),Lq(),lw()]);if(oe.status==="fulfilled"&&b(i,oe.value.ca,!0),Ve.status==="fulfilled"&&b(n,Ve.value.server,!0),Pe.status==="fulfilled"&&b(s,Pe.value.certs,!0),De.status==="fulfilled"&&b(r,De.value.certs,!0),gt.status==="fulfilled"&&b(He,gt.value.dynsec.dynsecReady,!0),c(He))try{const{users:Bt}=await Ik();b(st,Bt.map(yt=>yt.username),!0)}catch{b(st,[],!0)}b(a,"")}catch(oe){b(a,oe.message,!0)}}Ys(()=>{Si()});async function Ni(){b(p,""),b(g,!0);try{await yq({cn:c(u),days:c(f)}),b(d,!1),await Si()}catch(oe){b(p,oe.message,!0)}finally{b(g,!1)}}async function Hi(){b(M,""),b(D,!0),b(O,null);try{const oe=c(x).split(",").map(Pe=>Pe.trim()).filter(Boolean),Ve=await Sq({cn:c(y),san:oe,days:c(k)});b(O,Ve,!0),await Si()}catch(oe){b(M,oe.message,!0)}finally{b(D,!1)}}async function Di(){b(we,""),b(ie,!0),b(Se,null);try{const oe=await xq({cn:c(V),days:c(se)});if(b(Se,oe,!0),c(Ge)&&c(He)&&!c(st).includes(c(V))){const Ve=Array.from(crypto.getRandomValues(new Uint8Array(16))).map(Pe=>Pe.toString(16).padStart(2,"0")).join("");try{await Ax(c(V),Ve)}catch{}}b(V,""),await Si()}catch(oe){b(we,oe.message,!0)}finally{b(ie,!1)}}async function bi(oe){if(confirm(`Revoke certificate for "${oe.cn}" (serial ${oe.serial})?`))try{await kq(oe.serial),await Si()}catch(Ve){b(At,Ve.message,!0)}}async function ki(){b(ct,""),b(wt,!0);try{await Iq(c(Le)),b(Le,""),b(bt,!1),await Si()}catch(oe){b(ct,oe.message,!0)}finally{b(wt,!1)}}async function Je(oe){if(confirm("Remove this trusted CA cert?"))try{await Eq(oe),await Si()}catch(Ve){b(At,Ve.message,!0)}}function Ut(oe){const Ve=new Date(oe).getTime()-Date.now();return Ve<0?"expired":Ve<30*864e5?"expiring":""}function wi(oe){return new Date(oe).toLocaleDateString()}var Fi=$J(),sn=mt(Fi),Mi=v(sn),zi=v(Mi);let Ai;var Qi=m(zi,2);let Oi;var Sn=m(Qi,2);let je;var Gt=m(Sn,2);let pi;var Ti=m(Gt,2),Li=m(Mi,2);{var mn=oe=>{var Ve=ed(),Pe=v(Ve);z(()=>A(Pe,c(a))),I(oe,Ve)};F(Li,oe=>{c(a)&&oe(mn)})}var Ii=m(Li,2);{var Vi=oe=>{var Ve=ed(),Pe=v(Ve);z(()=>A(Pe,c(At))),I(oe,Ve)};F(Ii,oe=>{c(At)&&oe(Vi)})}var Ui=m(Ii,2);{var tt=oe=>{var Ve=aJ(),Pe=v(Ve),De=m(v(Pe),2),gt=m(De,2),Bt=v(gt),yt=m(Pe,2);{var It=Tt=>{var ti=oJ(),Vt=v(ti),si=m(v(Vt)),gi=v(si),di=m(si,3),re=v(di),Be=m(di,3),qe=v(Be),lt=m(Be,2);{var Yt=Et=>{var ei=sJ(),N=m(mt(ei)),Z=v(N);z(()=>A(Z,`${c(i).chainCn??"present"??""} `)),I(Et,ei)};F(lt,Et=>{c(i).hasChain&&Et(Yt)})}var Ft=m(Vt,2),zt=v(Ft);z((Et,ei,N)=>{A(gi,c(i).cn),A(re,c(i).fingerprint),Dt(Be,1,Et,"svelte-9auejo"),A(qe,ei),Ri(zt,"href",`data:application/x-pem-file;charset=utf-8,${N??""}`)},[()=>hd(Ut(c(i).expires)),()=>wi(c(i).expires),()=>encodeURIComponent(c(i).crt)]),I(Tt,ti)},Ot=Tt=>{var ti=rJ();I(Tt,ti)};F(yt,Tt=>{c(i)?Tt(It):Tt(Ot,-1)})}z(()=>A(Bt,c(i)?"Regenerate CA":"Generate CA")),U("click",De,()=>{b(We,!0),b(vi,""),b(Nt,"pem"),b(Xe,""),b(pe,""),b(ot,""),b(Jt,""),b(jt,""),b(Pt,""),b(kt,!1),b(Lt,!1)}),U("click",gt,()=>{b(d,!0),b(p,"")}),I(oe,Ve)},ne=oe=>{var Ve=dJ(),Pe=v(Ve),De=m(v(Pe),2),gt=v(De),Bt=m(Pe,2);{var yt=Ot=>{var Tt=lJ(),ti=v(Tt),Vt=m(v(ti)),si=v(Vt),gi=m(Vt,3),di=v(gi),re=m(gi,3),Be=v(re);z((qe,lt)=>{A(si,c(n).cn),A(di,c(n).fingerprint),Dt(re,1,qe,"svelte-9auejo"),A(Be,lt)},[()=>hd(Ut(c(n).expires)),()=>wi(c(n).expires)]),I(Ot,Tt)},It=Ot=>{var Tt=cJ();I(Ot,Tt)};F(Bt,Ot=>{c(n)?Ot(yt):Ot(It,-1)})}z(()=>A(gt,c(n)?"Regenerate":"Generate server cert")),U("click",De,()=>{b(w,!0),b(M,""),b(O,null)}),I(oe,Ve)},Ze=oe=>{var Ve=gJ(),Pe=v(Ve),De=m(v(Pe),2),gt=m(Pe,2);{var Bt=It=>{var Ot=uJ();I(It,Ot)},yt=It=>{var Ot=fJ(),Tt=m(v(Ot));fi(Tt,21,()=>c(r),Wi,(ti,Vt)=>{var si=hJ(),gi=v(si),di=v(gi),re=m(gi),Be=v(re),qe=m(re),lt=v(qe),Yt=m(qe),Ft=v(Yt);z((zt,Et,ei)=>{A(di,c(Vt).cn),A(Be,`${zt??""}…`),Dt(qe,1,Et,"svelte-9auejo"),A(lt,ei)},[()=>c(Vt).fingerprint.slice(0,29),()=>hd(Ut(c(Vt).expires)),()=>wi(c(Vt).expires)]),U("click",Ft,()=>Je(c(Vt).fingerprint)),I(ti,si)}),I(It,Ot)};F(gt,It=>{c(r).length===0?It(Bt):It(yt,-1)})}U("click",De,()=>{b(bt,!0),b(ct,""),b(Le,"")}),I(oe,Ve)},Rt=oe=>{var Ve=IJ(),Pe=v(Ve),De=m(v(Pe),2),gt=m(Pe,2);{var Bt=It=>{var Ot=pJ();I(It,Ot)},yt=It=>{var Ot=LJ(),Tt=v(Ot),ti=v(Tt),Vt=m(v(ti),5);{var si=di=>{var re=_J();I(di,re)};F(Vt,di=>{c(He)&&di(si)})}var gi=m(Tt);fi(gi,21,()=>c(s),Wi,(di,re)=>{var Be=kJ(),qe=v(Be),lt=v(qe),Yt=m(qe),Ft=v(Yt),zt=m(Yt),Et=v(zt),ei=m(zt),N=v(ei),Z=m(ei),ce=v(Z);{var q=W=>{var Y=mJ();I(W,Y)},H=W=>{var Y=vJ();I(W,Y)},G=at(()=>Ut(c(re).expires)==="expired"),te=W=>{var Y=bJ();I(W,Y)},ye=at(()=>Ut(c(re).expires)==="expiring"),Q=W=>{var Y=yJ();I(W,Y)};F(ce,W=>{c(re).revoked?W(q):c(G)?W(H,1):c(ye)?W(te,2):W(Q,-1)})}var ae=m(Z);{var Oe=W=>{var Y=CJ(),ue=v(Y);{var Ie=dt=>{var it=wJ();I(dt,it)},Ce=at(()=>c(st).includes(c(re).cn)),ke=dt=>{var it=SJ();U("click",it,async()=>{const $e=Array.from(crypto.getRandomValues(new Uint8Array(16))).map(xt=>xt.toString(16).padStart(2,"0")).join("");try{await Ax(c(re).cn,$e),b(st,[...c(st),c(re).cn],!0)}catch(xt){b(At,xt.message,!0)}}),I(dt,it)};F(ue,dt=>{c(Ce)?dt(Ie):dt(ke,-1)})}I(W,Y)};F(ae,W=>{c(He)&&W(Oe)})}var de=m(ae),_e=v(de);{var Qe=W=>{var Y=xJ(),ue=mt(Y),Ie=m(ue,2),Ce=m(Ie,2),ke=m(Ce,2);z((dt,it,$e)=>{Ri(ue,"href",dt),Ri(ue,"download",`${c(re).cn??""}.p12`),Ri(Ie,"href",it),Ri(Ie,"download",`${c(re).cn??""}.crt`),Ri(Ce,"href",$e),Ri(Ce,"download",`${c(re).cn??""}.key`)},[()=>Jc(c(re).serial,"p12"),()=>Jc(c(re).serial,"crt"),()=>Jc(c(re).serial,"key")]),U("click",ke,()=>bi(c(re))),I(W,Y)};F(_e,W=>{c(re).revoked||W(Qe)})}z((W,Y,ue)=>{A(lt,c(re).cn),A(Ft,c(re).serial),A(Et,W),Dt(ei,1,Y,"svelte-9auejo"),A(N,ue)},[()=>new Date(c(re).issued).toLocaleDateString(),()=>hd(c(re).revoked?"":Ut(c(re).expires)),()=>wi(c(re).expires)]),I(di,Be)}),I(It,Ot)};F(gt,It=>{c(s).length===0?It(Bt):It(yt,-1)})}U("click",De,()=>{b(K,!0),b(we,""),b(Se,null),b(V,""),b(se,365),b(Ge,!1)}),I(oe,Ve)};F(Ui,oe=>{c(t)==="ca"?oe(tt):c(t)==="server"?oe(ne,1):c(t)==="trusted"?oe(Ze,2):c(t)==="clients"&&oe(Rt,3)})}var Wt=m(sn,2);{var ni=oe=>{var Ve=RJ(),Pe=v(Ve),De=m(v(Pe),2),gt=v(De);let Bt;var yt=m(gt,2);let It;var Ot=m(De,2);{var Tt=N=>{var Z=EJ(),ce=mt(Z),q=m(v(ce)),H=m(ce,2),G=m(v(H));Kt(q,()=>c(Xe),te=>b(Xe,te)),Kt(G,()=>c(pe),te=>b(pe,te)),I(N,Z)},ti=N=>{var Z=TJ(),ce=mt(Z),q=m(v(ce)),H=v(q),G=m(H,2);{var te=_e=>{var Qe=DJ(),W=v(Qe);z(()=>A(W,c(jt))),I(_e,Qe)};F(G,_e=>{c(jt)&&_e(te)})}var ye=m(ce,2),Q=m(v(ye)),ae=v(Q),Oe=m(ae,2),de=v(Oe);z(()=>{Ri(ae,"type",c(Lt)?"text":"password"),A(de,c(Lt)?"Hide":"Show")}),U("change",H,yi),Kt(ae,()=>c(Pt),_e=>b(Pt,_e)),U("click",Oe,()=>b(Lt,!c(Lt))),I(N,Z)};F(Ot,N=>{c(Nt)==="pem"?N(Tt):N(ti,-1)})}var Vt=m(Ot,2),si=v(Vt),gi=v(si),di=m(Vt,2);{var re=N=>{var Z=PJ(),ce=m(v(Z));Kt(ce,()=>c(ot),q=>b(ot,q)),I(N,Z)};F(di,N=>{c(kt)&&N(re)})}var Be=m(di,2);{var qe=N=>{var Z=MJ();I(N,Z)};F(Be,N=>{c(i)&&N(qe)})}var lt=m(Be,2);{var Yt=N=>{var Z=ed(),ce=v(Z);z(()=>A(ce,c(vi))),I(N,Z)};F(lt,N=>{c(vi)&&N(Yt)})}var Ft=m(lt,2),zt=v(Ft),Et=m(zt,2),ei=v(Et);z(()=>{Bt=Dt(gt,1,"svelte-9auejo",null,Bt,{active:c(Nt)==="pem"}),It=Dt(yt,1,"svelte-9auejo",null,It,{active:c(Nt)==="p12"}),A(gi,`${c(kt)?"▾":"▸"} ${c(kt)?"Hide chain field":"This CA is signed by an intermediate / root — add chain"}`),Et.disabled=c(St),A(ei,c(St)?"Importing…":"Import CA")}),U("click",gt,()=>b(Nt,"pem")),U("click",yt,()=>b(Nt,"p12")),U("click",si,()=>b(kt,!c(kt))),U("click",zt,()=>b(We,!1)),U("click",Et,ci),I(oe,Ve)};F(Wt,oe=>{c(We)&&oe(ni)})}var j=m(Wt,2);{var le=oe=>{var Ve=NJ(),Pe=v(Ve),De=m(v(Pe),2),gt=m(v(De)),Bt=m(De,2),yt=m(v(Bt)),It=m(Bt,2);{var Ot=gi=>{var di=ed(),re=v(di);z(()=>A(re,c(p))),I(gi,di)};F(It,gi=>{c(p)&&gi(Ot)})}var Tt=m(It,2),ti=v(Tt),Vt=m(ti,2),si=v(Vt);z(()=>{Vt.disabled=c(g)||!c(u),A(si,c(g)?"Generating…":"Generate")}),Kt(gt,()=>c(u),gi=>b(u,gi)),Kt(yt,()=>c(f),gi=>b(f,gi)),U("click",ti,()=>b(d,!1)),U("click",Vt,Ni),I(oe,Ve)};F(j,oe=>{c(d)&&oe(le)})}var Me=m(j,2);{var rt=oe=>{var Ve=FJ(),Pe=v(Ve),De=m(v(Pe),2),gt=m(v(De)),Bt=m(De,2),yt=m(v(Bt)),It=m(Bt,2),Ot=m(v(It)),Tt=m(It,2);{var ti=qe=>{var lt=ed(),Yt=v(lt);z(()=>A(Yt,c(M))),I(qe,lt)};F(Tt,qe=>{c(M)&&qe(ti)})}var Vt=m(Tt,2);{var si=qe=>{var lt=AJ(),Yt=m(v(lt),2),Ft=m(v(Yt)),zt=v(Ft),Et=m(Ft,3),ei=v(Et),N=m(Et,3),Z=v(N);z(()=>{A(zt,c(O).certPath),A(ei,c(O).keyPath),A(Z,c(O).fingerprint)}),I(qe,lt)};F(Vt,qe=>{c(O)&&qe(si)})}var gi=m(Vt,2),di=v(gi),re=m(di,2);{var Be=qe=>{var lt=OJ(),Yt=v(lt);z(()=>{lt.disabled=c(D)||!c(y),A(Yt,c(D)?"Generating…":"Generate")}),U("click",lt,Hi),I(qe,lt)};F(re,qe=>{c(O)||qe(Be)})}Kt(gt,()=>c(y),qe=>b(y,qe)),Kt(yt,()=>c(x),qe=>b(x,qe)),Kt(Ot,()=>c(k),qe=>b(k,qe)),U("click",di,()=>b(w,!1)),I(oe,Ve)};F(Me,oe=>{c(w)&&oe(rt)})}var vt=m(Me,2);{var J=oe=>{var Ve=VJ(),Pe=v(Ve),De=m(v(Pe),2);{var gt=yt=>{var It=BJ(),Ot=mt(It),Tt=m(v(Ot)),ti=m(Ot,2);{var Vt=Ft=>{var zt=WJ(),Et=mt(zt);fi(Et,21,()=>c(st),Wi,(ce,q)=>{var H=HJ(),G={};z(()=>{G!==(G=c(q))&&(H.value=(H.__value=c(q))??"")}),I(ce,H)});var ei=m(Et,4),N=v(ei),Z=m(N);z(ce=>A(Z,` Also create dynsec user "${(c(V)||"…")??""}"${ce??""}`),[()=>c(st).includes(c(V))?" (already exists)":""]),xs(N,()=>c(Ge),ce=>b(Ge,ce)),I(Ft,zt)};F(ti,Ft=>{c(He)&&Ft(Vt)})}var si=m(ti,2),gi=m(v(si)),di=m(si,2);{var re=Ft=>{var zt=ed(),Et=v(zt);z(()=>A(Et,c(we))),I(Ft,zt)};F(di,Ft=>{c(we)&&Ft(re)})}var Be=m(di,2),qe=v(Be),lt=m(qe,2),Yt=v(lt);z(()=>{lt.disabled=c(ie)||!c(V),A(Yt,c(ie)?"Issuing…":"Issue")}),Kt(Tt,()=>c(V),Ft=>b(V,Ft)),Kt(gi,()=>c(se),Ft=>b(se,Ft)),U("click",qe,()=>b(K,!1)),U("click",lt,Di),I(yt,It)},Bt=yt=>{var It=zJ(),Ot=mt(It),Tt=v(Ot),ti=m(v(Tt)),Vt=v(ti),si=m(Tt,2),gi=m(v(si)),di=v(gi),re=m(gi,3),Be=v(re),qe=m(re,3),lt=v(qe),Yt=m(qe,4),Ft=v(Yt),zt=v(Ft),Et=m(si,2),ei=v(Et),N=m(ei,2),Z=m(N,2),ce=m(Z,2),q=m(Ot,2),H=v(q);z((G,te,ye,Q,ae)=>{A(Vt,c(Se).cn),A(di,c(Se).serial),A(Be,c(Se).fingerprint),A(lt,G),A(zt,c(Se).passphrase),Ri(ei,"href",te),Ri(ei,"download",`${c(Se).cn??""}.p12`),Ri(N,"href",ye),Ri(N,"download",`${c(Se).cn??""}.crt`),Ri(Z,"href",Q),Ri(Z,"download",`${c(Se).cn??""}.key`),Ri(ce,"href",ae)},[()=>wi(c(Se).expires),()=>Jc(c(Se).serial,"p12"),()=>Jc(c(Se).serial,"crt"),()=>Jc(c(Se).serial,"key"),()=>Jc(c(Se).serial,"ca")]),U("click",H,()=>b(K,!1)),I(yt,It)};F(De,yt=>{c(Se)?yt(Bt,-1):yt(gt)})}I(oe,Ve)};F(vt,oe=>{c(K)&&oe(J)})}var he=m(vt,2);{var Ee=oe=>{var Ve=jJ(),Pe=v(Ve),De=m(v(Pe),2),gt=m(v(De)),Bt=m(De,2);{var yt=Vt=>{var si=ed(),gi=v(si);z(()=>A(gi,c(ct))),I(Vt,si)};F(Bt,Vt=>{c(ct)&&Vt(yt)})}var It=m(Bt,2),Ot=v(It),Tt=m(Ot,2),ti=v(Tt);z(()=>{Tt.disabled=c(wt)||!c(Le),A(ti,c(wt)?"Adding…":"Add")}),Kt(gt,()=>c(Le),Vt=>b(Le,Vt)),U("click",Ot,()=>b(bt,!1)),U("click",Tt,ki),I(oe,Ve)};F(he,oe=>{c(bt)&&oe(Ee)})}z(()=>{Ai=Dt(zi,1,"svelte-9auejo",null,Ai,{active:c(t)==="ca"}),Oi=Dt(Qi,1,"svelte-9auejo",null,Oi,{active:c(t)==="server"}),je=Dt(Sn,1,"svelte-9auejo",null,je,{active:c(t)==="trusted"}),pi=Dt(Gt,1,"svelte-9auejo",null,pi,{active:c(t)==="clients"})}),U("click",zi,()=>b(t,"ca")),U("click",Qi,()=>b(t,"server")),U("click",Sn,()=>b(t,"trusted")),U("click",Gt,()=>b(t,"clients")),U("click",Ti,Si),I(o,Fi),Hs()}Js(["click","change"]);var vS=T('<div class="err svelte-17yczfe"> </div>'),qJ=T('<div class="ok svelte-17yczfe">Saved.</div>'),GJ=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>'),KJ=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>'),XJ=T("<span> </span>"),YJ=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 QJ(o,e){Fs(e,!0);let t=P(Ci({})),i=P(""),n=P(!1),s=P(!1),r=P(""),a=P("~/.she/ssh/broker_id_ed25519"),d=P(""),u=P(!1),f=P(""),g=P(!1),p=P(""),w=P(Ci({}));Ys(async()=>{try{const[Je,Ut,wi]=await Promise.all([Dl(),lw(),fetch("/she/broker/ssh/pubkey").then(sn=>sn.json()).catch(()=>({publicKey:null}))]);b(w,Je,!0),Ut.sshKeyDefault&&b(a,Ut.sshKeyDefault,!0);const Fi=c(w).broker??{};b(t,Fi.ssh??{},!0),c(t).port||(c(t).port=22),c(t).identityFile||(c(t).identityFile=c(a)),wi.publicKey&&b(d,wi.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??{},Ut={...c(w),broker:{...Je,ssh:c(t)}};await Xp(Ut),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"}}),Ut=await Je.json();if(!Je.ok)throw new Error(Ut.error??Je.statusText);b(d,Ut.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"}}),Ut=await Je.json();if(!Je.ok)throw new Error(Ut.error??Je.statusText);b(p,Ut.ok?"✓ Connection successful":"✗ "+(Ut.error??"Failed"),!0)}catch(Je){b(p,"✗ "+Je.message)}finally{b(g,!1)}}function D(Je){navigator.clipboard.writeText(Je).catch(()=>{})}const M=at(()=>c(t).identityFile&&c(t).user&&c(t).host?`ssh-copy-id -i ${c(t).identityFile}.pub ${c(t).user}@${c(t).host}`:"");var O=YJ(),K=v(O);{var V=Je=>{var Ut=vS(),wi=v(Ut);z(()=>A(wi,c(i))),I(Je,Ut)};F(K,Je=>{c(i)&&Je(V)})}var se=m(K,2),ie=m(v(se),4),we=v(ie),Se=m(v(we)),Ge=m(we,2),He=m(v(Ge)),st=m(Ge,2),bt=m(v(st)),Le=m(st,2),wt=m(v(Le)),ct=m(ie,2);{var At=Je=>{var Ut=vS(),wi=v(Ut);z(()=>A(wi,c(r))),I(Je,Ut)};F(ct,Je=>{c(r)&&Je(At)})}var We=m(ct,2);{var Nt=Je=>{var Ut=qJ();I(Je,Ut)};F(We,Je=>{c(s)&&Je(Nt)})}var Xe=m(We,2),pe=v(Xe),ot=v(pe),kt=m(se,2),Jt=m(v(kt),2),jt=m(v(Jt)),Pt=v(jt),Lt=m(Jt,2);{var St=Je=>{var Ut=KJ(),wi=mt(Ut),Fi=m(v(wi)),sn=v(Fi),Mi=m(sn,2),zi=m(wi,2);{var Ai=je=>{var Gt=GJ(),pi=m(v(Gt)),Ti=v(pi),Li=m(Ti,2);z(()=>ZL(Ti,c(M))),U("click",Li,()=>D(c(M))),I(je,Gt)};F(zi,je=>{c(M)&&je(Ai)})}var Qi=m(zi,2),Oi=v(Qi),Sn=v(Oi);z(()=>{ZL(sn,c(d)),Oi.disabled=c(u),A(Sn,c(u)?"Generating…":"Regenerate keypair")}),U("click",Mi,()=>D(c(d))),U("click",Oi,x),I(Je,Ut)},vi=Je=>{var Ut=ZJ(),wi=v(Ut),Fi=v(wi);z(()=>{wi.disabled=c(u),A(Fi,c(u)?"Generating…":"Generate keypair")}),U("click",wi,x),I(Je,Ut)};F(Lt,Je=>{c(d)?Je(St):Je(vi,-1)})}var yi=m(Lt,2);{var ci=Je=>{var Ut=vS(),wi=v(Ut);z(()=>A(wi,c(f))),I(Je,Ut)};F(yi,Je=>{c(f)&&Je(ci)})}var Si=m(kt,2),Ni=m(v(Si),2),Hi=v(Ni),Di=v(Hi),bi=m(Hi,2);{var ki=Je=>{var Ut=XJ();let wi;var Fi=v(Ut);z(sn=>{wi=Dt(Ut,1,"test-result svelte-17yczfe",null,wi,sn),A(Fi,c(p))},[()=>({ok:c(p).startsWith("✓"),fail:c(p).startsWith("✗")})]),I(Je,Ut)};F(bi,Je=>{c(p)&&Je(ki)})}z(()=>{Ri(wt,"placeholder",c(a)),pe.disabled=c(n),A(ot,c(n)?"Saving…":"Save"),A(Pt,c(t).identityFile||c(a)),Hi.disabled=c(g)||!c(t).host,A(Di,c(g)?"Testing…":"Test SSH connection")}),Kt(Se,()=>c(t).host,Je=>c(t).host=Je),Kt(He,()=>c(t).port,Je=>c(t).port=Je),Kt(bt,()=>c(t).user,Je=>c(t).user=Je),Kt(wt,()=>c(t).identityFile,Je=>c(t).identityFile=Je),U("click",pe,y),U("click",Hi,k),I(o,O),Hs()}Js(["click"]);var JJ=T('<div class="err svelte-d31be1"> </div>'),eee=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>'),tee=T('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),iee=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>'),nee=T('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),see=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>`),oee=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>'),ree=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>'),aee=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 lee(o,e){Fs(e,!0);let t=P("intro"),i=P(""),n=P(!1),s=P("she-admin"),r=P(""),a=P("/etc/mosquitto"),d=P(null),u=P(!1),f=P(!1),g=P("she-admin"),p=P(""),w=P(!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(Le){b(i,Le.message,!0)}finally{b(n,!1)}}async function x(){b(n,!0),b(i,"");try{const Le=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)})}),wt=await Le.json();if(!Le.ok||!wt.ok)throw new Error(wt.error??"Bootstrap failed");b(d,wt,!0);const ct=await Dl(),At=ct.broker??{};await Xp({...ct,broker:{...At,dynsec:{adminUsername:wt.adminUsername,adminPassword:wt.adminPassword}}}),await eq().catch(()=>{}),b(t,"restart")}catch(Le){b(i,Le.message,!0)}finally{b(n,!1)}}async function k(){b(f,!0),b(i,"");try{await Q7(),await new Promise(Le=>setTimeout(Le,2e3)),b(u,!0),b(t,"done")}catch(Le){b(i,Le.message,!0)}finally{b(f,!1)}}async function D(){b(w,!0),b(i,"");try{const Le=await Dl(),wt=Le.broker??{};await Xp({...Le,broker:{...wt,dynsec:{adminUsername:c(g),adminPassword:c(p)}}}),b(t,"done")}catch(Le){b(i,Le.message,!0)}finally{b(w,!1)}}var M=aee(),O=v(M),K=m(v(O),2),V=m(O,2);{var se=Le=>{var wt=JJ(),ct=v(wt);z(()=>A(ct,c(i))),I(Le,wt)};F(V,Le=>{c(i)&&Le(se)})}var ie=m(V,2);{var we=Le=>{var wt=eee(),ct=m(v(wt),6),At=v(ct);z(()=>At.disabled=c(n)),U("click",At,()=>{b(t,"probe"),y()}),I(Le,wt)},Se=Le=>{var wt=tee(),ct=v(wt),At=v(ct);z(()=>A(At,c(n)?"Probing dynsec…":"Checking dynsec status…")),I(Le,wt)},Ge=Le=>{var wt=iee(),ct=m(v(wt),2),At=m(v(ct)),We=m(ct,2),Nt=m(v(We)),Xe=m(We,2),pe=m(v(Xe)),ot=m(Xe,2),kt=v(ot),Jt=v(kt);z(()=>{kt.disabled=c(n)||!c(s),A(Jt,c(n)?"Bootstrapping…":"Bootstrap dynsec")}),Kt(At,()=>c(s),jt=>b(s,jt)),Kt(Nt,()=>c(r),jt=>b(r,jt)),Kt(pe,()=>c(a),jt=>b(a,jt)),U("click",kt,x),I(Le,wt)},He=Le=>{var wt=see(),ct=m(v(wt),2),At=m(v(ct),3),We=v(At),Nt=m(ct,4),Xe=v(Nt),pe=v(Xe),ot=m(Xe,2),kt=m(Nt,2);{var Jt=jt=>{var Pt=nee();I(jt,Pt)};F(kt,jt=>{c(f)&&jt(Jt)})}z(()=>{A(We,c(d).confFilePath),Xe.disabled=c(f),A(pe,c(f)?"Restarting…":"Restart mosquitto now")}),U("click",Xe,k),U("click",ot,()=>{b(t,"done")}),I(Le,wt)},st=Le=>{var wt=oee(),ct=m(v(wt),4),At=v(ct);U("click",At,function(...We){var Nt;(Nt=e.onDone)==null||Nt.apply(this,We)}),I(Le,wt)},bt=Le=>{var wt=ree(),ct=m(v(wt),2),At=m(v(ct)),We=m(ct,2),Nt=m(v(We)),Xe=m(We,2),pe=v(Xe),ot=m(pe,2),kt=v(ot);z(()=>{ot.disabled=c(w)||!c(g)||!c(p),A(kt,c(w)?"Saving…":"Save credentials")}),Kt(At,()=>c(g),Jt=>b(g,Jt)),Kt(Nt,()=>c(p),Jt=>b(p,Jt)),U("click",pe,()=>b(t,"intro")),U("click",ot,D),I(Le,wt)};F(ie,Le=>{c(t)==="intro"?Le(we):c(t)==="probe"?Le(Se,1):c(t)==="config"?Le(Ge,2):c(t)==="restart"&&c(d)?Le(He,3):c(t)==="done"?Le(st,4):c(t)==="manual"&&Le(bt,5)})}U("click",K,()=>b(t,"manual")),I(o,M),Hs()}Js(["click"]);var cee=T('<div class="loading svelte-zuhcpo">Loading…</div>'),dee=T('<div class="error-banner svelte-zuhcpo"> </div>'),uee=T('<button class="deactivate-btn svelte-zuhcpo"> </button>'),hee=T('<div class="error-inline svelte-zuhcpo"> </div>'),fee=T('<div class="status-badge ok svelte-zuhcpo">Connected</div>'),gee=T('<button class="diag-btn svelte-zuhcpo"> </button>'),kD=T('<p class="diag-issue svelte-zuhcpo"> </p>'),pee=T('<p class="diag-ok-msg svelte-zuhcpo">✓ dynamic-security.json looks correct. Verify mosquitto restarted with the plugin loaded.</p>'),_ee=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),mee=T('<div><!></div> <button class="diag-btn svelte-zuhcpo" style="margin-top:6px"> </button>',1),LD=T('<button class="wizard-btn svelte-zuhcpo">Run Setup Wizard</button>'),vee=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),bee=T('<div class="status-badge err svelte-zuhcpo">Disconnected</div>'),yee=T('<div class="status-badge warn svelte-zuhcpo">Not configured</div> <!>',1),wee=T('<div style="margin-top: 20px;"><!></div>'),See=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),Cee=T('<div class="tab-content svelte-zuhcpo"><!></div>'),xee=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 kee(o,e){Fs(e,!0);let t=P(!1),i,n=P(!1),s=P(""),r=P(!1),a=P(null);const d="she-broker-tab";let u=P(Ci(localStorage.getItem(d)??"status"));Vn(()=>{localStorage.setItem(d,c(u))});let f=P(null),g=P(""),p=P(!0);async function w(){try{b(f,await lw(),!0),b(g,"")}catch(pe){b(g,pe.message??"Failed to load broker status",!0)}finally{b(p,!1)}}Ys(()=>{w();const pe=setInterval(w,1e4);return()=>clearInterval(pe)});async function y(){b(r,!0),b(a,null);try{b(a,await tq(),!0)}catch(pe){b(a,{ok:!1,dynSecPath:"",issues:[pe.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 J7(),await w()}catch(pe){b(s,pe.message??"Deactivate failed",!0)}finally{b(n,!1)}}}function k(pe){var kt;if(!((kt=c(f))!=null&&kt.sys))return"—";const ot=c(f).sys[pe];return ot?String(ot.val??"—"):"—"}var D=xee(),M=mt(D),O=v(M),K=v(O);let V;var se=m(K,2);let ie;var we=m(se,2);let Se;var Ge=m(we,2);let He;var st=m(Ge,2);let bt;var Le=m(O,2);{var wt=pe=>{var ot=Cee(),kt=v(ot);{var Jt=Lt=>{var St=cee();I(Lt,St)},jt=Lt=>{var St=dee(),vi=v(St);z(()=>A(vi,c(g))),I(Lt,St)},Pt=Lt=>{var St=See(),vi=mt(St),yi=v(vi),ci=v(yi),Si=m(v(ci),2);{var Ni=Ii=>{var Vi=uee(),Ui=v(Vi);z(()=>{Vi.disabled=c(n),A(Ui,c(n)?"Deactivating…":"Deactivate")}),U("click",Vi,x),I(Ii,Vi)};F(Si,Ii=>{c(f).dynsec.configured&&Ii(Ni)})}var Hi=m(ci,2);{var Di=Ii=>{var Vi=hee(),Ui=v(Vi);z(()=>A(Ui,c(s))),I(Ii,Vi)};F(Hi,Ii=>{c(s)&&Ii(Di)})}var bi=m(Hi,2);{var ki=Ii=>{var Vi=Ms(),Ui=mt(Vi);{var tt=Ze=>{var Rt=Ms(),Wt=mt(Rt);{var ni=le=>{var Me=fee();I(le,Me)},j=le=>{var Me=vee(),rt=m(mt(Me),4);{var vt=oe=>{var Ve=gee(),Pe=v(Ve);z(()=>{Ve.disabled=c(r),A(Pe,c(r)?"Running diagnostics…":"Run diagnostics")}),U("click",Ve,y),I(oe,Ve)},J=oe=>{var Ve=mee(),Pe=mt(Ve);let De;var gt=v(Pe);{var Bt=Tt=>{var ti=kD(),Vt=v(ti);z(()=>A(Vt,`⚠ ${c(a).error??""}`)),I(Tt,ti)},yt=Tt=>{var ti=_ee(),Vt=mt(ti),si=m(v(Vt)),gi=v(si),di=m(Vt,2),re=m(v(di)),Be=v(re),qe=m(di,2),lt=m(v(qe)),Yt=v(lt),Ft=m(qe,2),zt=m(v(Ft)),Et=v(zt),ei=m(Ft,2);fi(ei,17,()=>c(a).issues,Wi,(ce,q)=>{var H=kD(),G=v(H);z(()=>A(G,`⚠ ${c(q)??""}`)),I(ce,H)});var N=m(ei,2);{var Z=ce=>{var q=pee();I(ce,q)};F(N,ce=>{c(a).ok&&ce(Z)})}z(()=>{A(gi,c(a).dynSecPath),Dt(re,1,hd(c(a).adminClientExists?"ok":"fail"),"svelte-zuhcpo"),A(Be,c(a).adminClientExists?"✓ yes":"✗ no"),Dt(lt,1,hd(c(a).hasAdminRole?"ok":"fail"),"svelte-zuhcpo"),A(Yt,c(a).hasAdminRole?"✓ yes":"✗ no"),Dt(zt,1,hd(c(a).hasControlSendAcl?"ok":"fail"),"svelte-zuhcpo"),A(Et,c(a).hasControlSendAcl?"✓ present":"✗ missing")}),I(Tt,ti)};F(gt,Tt=>{c(a).error?Tt(Bt):Tt(yt,-1)})}var It=m(Pe,2),Ot=v(It);z(()=>{De=Dt(Pe,1,"diag-card svelte-zuhcpo",null,De,{"diag-ok":c(a).ok,"diag-fail":!c(a).ok}),It.disabled=c(r),A(Ot,c(r)?"Running…":"Re-run")}),U("click",It,y),I(oe,Ve)};F(rt,oe=>{c(a)?oe(J,-1):oe(vt)})}var he=m(rt,2);{var Ee=oe=>{var Ve=LD();U("click",Ve,()=>b(t,!0)),I(oe,Ve)};F(he,oe=>{c(t)||oe(Ee)})}I(le,Me)};F(Wt,le=>{c(f).dynsec.dynsecReady?le(ni):le(j,-1)})}I(Ze,Rt)},ne=Ze=>{var Rt=bee();I(Ze,Rt)};F(Ui,Ze=>{c(f).dynsec.connected?Ze(tt):Ze(ne,-1)})}I(Ii,Vi)},Je=Ii=>{var Vi=yee(),Ui=m(mt(Vi),2);{var tt=ne=>{var Ze=LD();U("click",Ze,()=>b(t,!0)),I(ne,Ze)};F(Ui,ne=>{c(t)||ne(tt)})}I(Ii,Vi)};F(bi,Ii=>{c(f).dynsec.configured?Ii(ki):Ii(Je,-1)})}var Ut=m(yi,2),wi=m(v(Ut),2),Fi=m(v(wi),2),sn=v(Fi),Mi=m(Fi,4),zi=v(Mi),Ai=m(Mi,4),Qi=v(Ai),Oi=m(Ai,4),Sn=v(Oi),je=m(Oi,4),Gt=v(je),pi=m(je,4),Ti=v(pi),Li=m(vi,2);{var mn=Ii=>{var Vi=wee(),Ui=v(Vi);lee(Ui,{onDone:()=>{b(t,!1),w()}}),I(Ii,Vi)};F(Li,Ii=>{c(t)&&(!c(f).dynsec.configured||!c(f).dynsec.dynsecReady)&&Ii(mn)})}z((Ii,Vi,Ui,tt,ne,Ze)=>{A(sn,Ii),A(zi,Vi),A(Qi,Ui),A(Sn,tt),A(Gt,ne),A(Ti,Ze)},[()=>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")]),I(Lt,St)};F(kt,Lt=>{c(p)?Lt(Jt):c(g)?Lt(jt,1):c(f)&&Lt(Pt,2)})}I(pe,ot)},ct=pe=>{{let ot=at(()=>{var kt;return((kt=c(f))==null?void 0:kt.dynsec.dynsecReady)??!1});KQ(pe,{get dynsecReady(){return c(ot)}})}},At=pe=>{nJ(pe,{})},We=pe=>{UJ(pe,{})},Nt=pe=>{QJ(pe,{})};F(Le,pe=>{c(u)==="status"?pe(wt):c(u)==="users"?pe(ct,1):c(u)==="listeners"?pe(At,2):c(u)==="certs"?pe(We,3):c(u)==="ssh"&&pe(Nt,4)})}var Xe=m(M,2);ks(Ku(Xe,{}),pe=>i=pe,()=>i),z(()=>{V=Dt(K,1,"svelte-zuhcpo",null,V,{active:c(u)==="status"}),ie=Dt(se,1,"svelte-zuhcpo",null,ie,{active:c(u)==="users"}),Se=Dt(we,1,"svelte-zuhcpo",null,Se,{active:c(u)==="listeners"}),He=Dt(Ge,1,"svelte-zuhcpo",null,He,{active:c(u)==="certs"}),bt=Dt(st,1,"svelte-zuhcpo",null,bt,{active:c(u)==="ssh"})}),U("click",K,()=>b(u,"status")),U("click",se,()=>b(u,"users")),U("click",we,()=>b(u,"listeners")),U("click",Ge,()=>b(u,"certs")),U("click",st,()=>b(u,"ssh")),I(o,D),Hs()}Js(["click"]);var Lee=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),Iee=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),Eee=T('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),Dee=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),Tee=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),Pee=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),Mee=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),Ree=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),Nee=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),Aee=T('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),Oee=T('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),Fee=T('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),Hee=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>'),Wee=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>'),Bee=T('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),zee=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),Vee=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),jee=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>'),$ee=T('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),Uee=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>'),qee=T('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),Gee=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>'),Kee=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>'),Xee=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>'),Yee=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>'),Qee=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>'),Jee=T("<!> <!> <!> <!>",1);function ete(o,e){Fs(e,!0);const t=["scripts","mqtt","matter","security","db","logs","config","packages"];function i(){const St=location.hash.slice(1);return t.includes(St)?St:"scripts"}let n=P(Ci(i())),s=P(null),r=P(!1),a=P(!1),d=P(!1),u=P(!1),f=P("none"),g=P(""),p=P(!1),w=P(""),y=P(""),x=P(!1),k=P(!1);b7(()=>{b(p,!0)});async function D(){b(y,""),b(x,!0);try{await S7(c(w)),b(w,""),b(p,!1)}catch(St){b(y,St.message??"Login failed",!0)}finally{b(x,!1)}}async function M(){if(c(f)==="proxy"&&c(g)){window.location.href=c(g);return}await C7(),b(p,!0)}let O=P(null),K=P(!1),V=P(!1),se=P(!1),ie=P(!1),we=P(Ci([])),Se=P(0),Ge=P(Ci([]));const He=at(()=>c(Ge).filter(St=>St.online).length),st=at(()=>c(Ge).length===0?"none":c(He)===c(Ge).length?"all":c(He)>0?"some":"offline");let bt=P(!1),Le=P(!1);async function wt(){if(!await c(O).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;b(K,!0);let St;try{St=(await Bg()).startedAt}catch{}try{await zN()}catch{}const vi=Date.now()+6e4;for(;Date.now()<vi;){await new Promise(yi=>setTimeout(yi,250));try{const yi=await Bg();if(St===void 0||yi.startedAt!==St){location.reload();return}}catch{}}location.reload()}async function ct(){b(d,!0);try{const St=await D7();c(s)&&b(s,{...c(s),latestVersion:St.latestVersion??void 0},!0)}catch{}finally{b(d,!1)}}async function At(){var yi,ci;if(!await c(O).show(`Update to v${(yi=c(s))==null?void 0:yi.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;b(a,!1),b(u,!0);const St=(ci=c(s))==null?void 0:ci.startedAt;try{await E7()}catch{}const vi=Date.now()+18e4;for(;Date.now()<vi;){await new Promise(Si=>setTimeout(Si,1e3));try{const Si=await Bg();if(St===void 0||Si.startedAt!==St){location.reload();return}}catch{b(u,!1),b(K,!0)}}location.reload()}function We(St){b(n,St,!0),location.hash=St}Ys(async()=>{location.hash||(location.hash=c(n));const St=()=>{b(n,i(),!0)};window.addEventListener("hashchange",St);try{const bi=await w7();b(f,bi.mode,!0),b(g,bi.proxyLogoutUrl??"",!0),c(f)==="password"&&(await fetch("/she/scripts")).status===401&&b(p,!0)}catch{}b(k,!0);async function vi(){try{b(s,await Bg(),!0)}catch{}try{const[bi,ki]=await Promise.all([$N(),Dl()]);b(we,Array.isArray(ki.pinnedPackages)?ki.pinnedPackages:[],!0),b(Se,Object.keys(bi).filter(Je=>!c(we).includes(Je)).length,!0)}catch{}}vi();const yi=setInterval(vi,5e3),ci=Pr("mqtt:status",bi=>{bi.connected===!1?(b(ie,!0),b(V,!1),b(se,!1)):(b(ie,!1),b(V,bi.ready===!1),b(se,bi.ready===!0))}),Si=Pr("matter:deviceList",bi=>{Array.isArray(bi.devices)&&b(Ge,bi.devices.map(ki=>({nodeId:String(ki.nodeId),online:!!ki.online})),!0)}),Ni=Pr("matter:deviceStatus",bi=>{if(bi.nodeId===void 0)return;const ki=String(bi.nodeId),Je=!!bi.online;b(Ge,c(Ge).map(Ut=>Ut.nodeId===ki?{...Ut,online:Je}:Ut),!0)}),Hi=eA();b(bt,Hi.some(bi=>bi.level==="error"),!0),b(Le,!c(bt)&&Hi.some(bi=>bi.level==="warn"),!0);const Di=Dk(bi=>{bi.level==="error"?(b(bt,!0),b(Le,!1)):bi.level==="warn"&&!c(bt)&&b(Le,!0)});return()=>{window.removeEventListener("hashchange",St),clearInterval(yi),ci(),Si(),Ni(),Di()}});var Nt=Jee();ds("click",DP,()=>{c(r)&&b(r,!1),c(a)&&b(a,!1)});var Xe=mt(Nt);{var pe=St=>{var vi=Kee(),yi=v(vi),ci=m(v(yi),2);let Si;var Ni=m(ci,2);let Hi;var Di=m(v(Ni),2);{var bi=H=>{var G=Lee();z(()=>Ri(G,"title",`${c(Se)??""} package update${c(Se)===1?"":"s"} available`)),I(H,G)};F(Di,H=>{c(Se)>0&&H(bi)})}var ki=m(Ni,2);let Je;var Ut=m(v(ki),2);{var wi=H=>{var G=Iee();I(H,G)},Fi=H=>{var G=Eee();I(H,G)},sn=H=>{var G=Dee();I(H,G)};F(Ut,H=>{c(ie)?H(wi):c(V)?H(Fi,1):c(se)&&H(sn,2)})}var Mi=m(ki,2);let zi;var Ai=m(Mi,2);let Qi;var Oi=m(v(Ai),2);{var Sn=H=>{var G=Tee();I(H,G)},je=H=>{var G=Pee();I(H,G)},Gt=H=>{var G=Mee();I(H,G)};F(Oi,H=>{c(st)==="all"?H(Sn):c(st)==="some"?H(je,1):c(st)==="offline"&&H(Gt,2)})}var pi=m(Ai,2);let Ti;var Li=m(pi,2);let mn;var Ii=m(v(Li),2);{var Vi=H=>{var G=Ree();I(H,G)},Ui=H=>{var G=Nee();I(H,G)};F(Ii,H=>{c(bt)?H(Vi):c(Le)&&H(Ui,1)})}var tt=m(Li,4),ne=m(v(tt),2),Ze=v(ne),Rt=v(Ze);Rt.nodeValue="v1.4.0 ";var Wt=m(Rt);{var ni=H=>{var G=Aee();I(H,G)};F(Wt,H=>{var G,te;(G=c(s))!=null&&G.latestVersion&&!((te=c(s))!=null&&te.docker)&&H(ni)})}var j=m(Ze,2);{var le=H=>{var G=Wee(),te=v(G),ye=m(v(te));ye.textContent="v1.4.0";var Q=m(ye,2);{var ae=Ce=>{var ke=Oee(),dt=m(mt(ke)),it=v(dt);z(()=>A(it,`v${c(s).latestVersion??""}`)),I(Ce,ke)},Oe=Ce=>{var ke=Fee();I(Ce,ke)};F(Q,Ce=>{var ke;(ke=c(s))!=null&&ke.latestVersion?Ce(ae):Ce(Oe,-1)})}var de=m(te,2),_e=v(de);{var Qe=Ce=>{var ke=Hee(),dt=m(v(ke));z(()=>A(dt,` Update to v${c(s).latestVersion??""}`)),U("click",ke,At),I(Ce,ke)};F(_e,Ce=>{var ke;(ke=c(s))!=null&&ke.latestVersion&&Ce(Qe)})}var W=m(_e,2),Y=v(W);let ue;var Ie=m(Y);z(()=>{W.disabled=c(d),ue=Dt(Y,0,"svelte-1n46o8q",null,ue,{spinning:c(d)}),A(Ie,` ${c(d)?"Checking…":"Check for updates"}`)}),U("click",G,Ce=>Ce.stopPropagation()),U("click",W,ct),I(H,G)};F(j,H=>{var G;c(a)&&!((G=c(s))!=null&&G.docker)&&H(le)})}var Me=m(ne,2),rt=v(Me),vt=m(rt,2);{var J=H=>{var G=qee(),te=v(G);{var ye=_e=>{var Qe=jee(),W=v(Qe);{var Y=ut=>{const ht=at(()=>Math.floor((Date.now()-c(s).startedAt)/1e3)),et=at(()=>Math.floor(c(ht)/86400)),Qt=at(()=>Math.floor(c(ht)%86400/3600)),oi=at(()=>Math.floor(c(ht)%3600/60));var an=Bee(),qi=m(mt(an)),pn=v(qi);z(()=>A(pn,`${c(et)>0?c(et)+"d ":""}${c(Qt)>0||c(et)>0?c(Qt)+"h ":""}${c(oi)??""}m`)),I(ut,an)};F(W,ut=>{c(s).startedAt&&ut(Y)})}var ue=m(W,3),Ie=v(ue),Ce=m(ue,3),ke=v(Ce),dt=m(Ce,3),it=v(dt),$e=m(dt,2);{var xt=ut=>{var ht=zee(),et=m(mt(ht)),Qt=v(et),oi=m(et,3),an=v(oi);z(()=>{A(Qt,c(s).matterNodes??0),A(an,c(s).matterEndpoints??0)}),I(ut,ht)};F($e,ut=>{c(s).matterEnabled&&ut(xt)})}var nt=m($e,2);{var be=ut=>{var ht=Vee(),et=m(mt(ht)),Qt=v(et),oi=m(et,3),an=v(oi);z(()=>{A(Qt,c(s).dbDocs??"—"),A(an,c(s).dbViews??"—")}),I(ut,ht)};F(nt,ut=>{c(s).dbEnabled&&ut(be)})}var Ae=m(nt,3),Ne=v(Ae),ze=m(Ae,3),Mt=v(ze),Te=m(ze,3),Ke=v(Te);z(()=>{A(Ie,c(s).scripts),A(ke,c(s).topics),A(it,c(s).mqttMsgPerSec??"—"),A(Ne,c(s).handlers??"—"),A(Mt,c(s).memMb!=null?c(s).memMb+" MB":"—"),A(Ke,c(s).cpuPercent!=null?c(s).cpuPercent+" %":"—")}),I(_e,Qe)},Q=_e=>{var Qe=$ee();I(_e,Qe)};F(te,_e=>{c(s)?_e(ye):_e(Q,-1)})}var ae=m(te,2),Oe=v(ae);{var de=_e=>{var Qe=Uee();U("click",Qe,()=>{b(r,!1),wt()}),I(_e,Qe)};F(Oe,_e=>{var Qe;(Qe=c(s))!=null&&Qe.docker||_e(de)})}U("click",G,_e=>_e.stopPropagation()),I(H,G)};F(vt,H=>{c(r)&&H(J)})}var he=m(Me,2);let Ee;var oe=m(he,2);{var Ve=H=>{var G=Gee();U("click",G,M),I(H,G)};F(oe,H=>{c(f)==="password"&&H(Ve)})}var Pe=m(yi,2),De=v(Pe);ks(Ku(De,{}),H=>b(O,H,!0),()=>c(O));var gt=m(De,2);let Bt;var yt=v(gt);{let H=at(()=>c(n)==="scripts");TK(yt,{get active(){return c(H)}})}var It=m(gt,2);let Ot;var Tt=v(It);fQ(Tt,{});var ti=m(It,2);let Vt;var si=v(ti);KY(si,{});var gi=m(ti,2);let di;var re=v(gi);fY(re,{});var Be=m(gi,2);let qe;var lt=v(Be);kee(lt,{});var Yt=m(Be,2);let Ft;var zt=v(Yt);CX(zt,{});var Et=m(Yt,2);let ei;var N=v(Et);pZ(N,{});var Z=m(Et,2);let ce;var q=v(Z);bZ(q,{}),z(()=>{Si=Dt(ci,1,"svelte-1n46o8q",null,Si,{active:c(n)==="scripts"}),Hi=Dt(Ni,1,"svelte-1n46o8q",null,Hi,{active:c(n)==="packages"}),Je=Dt(ki,1,"svelte-1n46o8q",null,Je,{active:c(n)==="mqtt"}),zi=Dt(Mi,1,"svelte-1n46o8q",null,zi,{active:c(n)==="security"}),Qi=Dt(Ai,1,"svelte-1n46o8q",null,Qi,{active:c(n)==="matter"}),Ti=Dt(pi,1,"svelte-1n46o8q",null,Ti,{active:c(n)==="db"}),mn=Dt(Li,1,"svelte-1n46o8q",null,mn,{active:c(n)==="logs"}),Ee=Dt(he,1,"nav-settings svelte-1n46o8q",null,Ee,{active:c(n)==="config"}),Bt=Dt(gt,1,"page-wrap svelte-1n46o8q",null,Bt,{hidden:c(n)!=="scripts"}),Ot=Dt(It,1,"page-wrap svelte-1n46o8q",null,Ot,{hidden:c(n)!=="packages"}),Vt=Dt(ti,1,"page-wrap svelte-1n46o8q",null,Vt,{hidden:c(n)!=="mqtt"}),di=Dt(gi,1,"page-wrap svelte-1n46o8q",null,di,{hidden:c(n)!=="matter"}),qe=Dt(Be,1,"page-wrap svelte-1n46o8q",null,qe,{hidden:c(n)!=="security"}),Ft=Dt(Yt,1,"page-wrap svelte-1n46o8q",null,Ft,{hidden:c(n)!=="db"}),ei=Dt(Et,1,"page-wrap svelte-1n46o8q",null,ei,{hidden:c(n)!=="config"}),ce=Dt(Z,1,"page-wrap svelte-1n46o8q",null,ce,{hidden:c(n)!=="logs"})}),U("click",ci,()=>We("scripts")),U("click",Ni,()=>We("packages")),U("click",ki,()=>We("mqtt")),U("click",Mi,()=>We("security")),U("click",Ai,()=>We("matter")),U("click",pi,()=>We("db")),U("click",Li,()=>{We("logs"),b(bt,!1),b(Le,!1)}),U("click",Ze,H=>{H.stopPropagation(),b(a,!c(a)),b(r,!1)}),U("click",rt,H=>{H.stopPropagation(),b(r,!c(r)),b(a,!1)}),U("click",he,()=>We("config")),I(St,vi)};F(Xe,St=>{c(k)&&!c(p)&&St(pe)})}var ot=m(Xe,2);{var kt=St=>{var vi=Xee(),yi=v(vi),ci=m(v(yi),4),Si=m(v(ci),2),Ni=m(ci,2);{var Hi=ki=>{var Je=Zee(),Ut=v(Je);z(()=>A(Ut,c(y))),I(ki,Je)};F(Ni,ki=>{c(y)&&ki(Hi)})}var Di=m(Ni,2),bi=v(Di);z(()=>{Si.disabled=c(x),Di.disabled=c(x)||!c(w),A(bi,c(x)?"Signing in…":"Sign in")}),ds("submit",yi,ki=>{ki.preventDefault(),D()}),Kt(Si,()=>c(w),ki=>b(w,ki)),I(St,vi)};F(ot,St=>{c(p)&&St(kt)})}var Jt=m(ot,2);{var jt=St=>{var vi=Yee();I(St,vi)};F(Jt,St=>{c(K)&&St(jt)})}var Pt=m(Jt,2);{var Lt=St=>{var vi=Qee();I(St,vi)};F(Pt,St=>{c(u)&&St(Lt)})}I(o,Nt),Hs()}Js(["click"]);HH(ete,{target:document.getElementById("app")});export{cM as t};
|